Mark C:
Thanks for the update. The fix to the adl did the trick, and now I can set the CS motor kinetics! I did run into a limitation that perhaps you can comment on. It seems like there's no way to set the value of the CS motors. What I was hoping would happen is that, similar to changing the motor position, setting the motor position would propagate through the backward kinematics to set the real motor positions. For example, if I set the slit center position value from 1 to 2, the respective slit blade set positions would be updated to make that true (I hope I'm being clear here, moving the CS motor works fine, but resetting the position value without changing the position doesn't work). This is important for my use case with the slits as it is typically most convenient for us to set the slit center zero position on the beam, which may not be the physical center of slit depending on how things are set up. Is there a way I can make this work (besides having to individually set the ?
Mark R:
You are of course correct about sscans. I was able to get the 2slit.db definitions to work pretty easily, which is great. It would be convenient for our purposes to have a real motor record available (for interfacing to other software and existing displays). I tried the 2slit_soft.vdb definitions but that gives a bunch of errors when I start up. I don't suppose you or anyone else on this list has a thought about what's going wrong here? Below is the relevant section of the IOC startup:
dbLoadRecords("/opt/epics/synApps_6_3/support/optics-R2-14/opticsApp/Db/2slit_soft.vdb","P=18ID_DMC_E04:,SLIT=XenocsUS_V,mXp=25,mXn=26")
Can't set "18ID_DMC_E04:XenocsUS_Vxp.DTYP" to "Soft Channel" no such device support for 'motor' record type : Illegal choice
ERROR at or before ')' in file "/opt/epics/synApps_6_3/support/optics-R2-14/opticsApp/Db/2slit_soft.vdb" line 116
Can't set "18ID_DMC_E04:XenocsUS_Vxn.DTYP" to "Soft Channel" no such device support for 'motor' record type : Illegal choice
ERRORCan't set "18ID_DMC_E04:XenocsUS_Vsize.DTYP" to "Soft Channel" no such device support for 'motor' record type : Illegal choice
ERRORCan't set "18ID_DMC_E04:XenocsUS_Vcenter.DTYP" to "Soft Channel" no such device support for 'motor' record type : Illegal choice
ERRORERROR failed to load '/opt/epics/synApps_6_3/support/optics-R2-14/opticsApp/Db/2slit_soft.vdb'
...
# Start the IOC
iocInit()
Starting iocInit
############################################################################
## EPICS R7.0.8
## Rev. 2024-03-01T16:24-0600
## Rev. Date build date/time:
############################################################################
ERROR: 18ID_DMC_E04:XenocsUS_Vxp.OUT: can't initialize link type 12 with "18ID_DMC_E04:XenocsUS_VtFwd.A PP MS" (type 1)
ERROR: 18ID_DMC_E04:XenocsUS_Vxn.OUT: can't initialize link type 12 with "18ID_DMC_E04:XenocsUS_VtFwd.B PP MS" (type 1)
ERROR: 18ID_DMC_E04:XenocsUS_Vsize.OUT: can't initialize link type 12 with "18ID_DMC_E04:XenocsUS_VtFwd.C PP MS" (type 1)
ERROR: 18ID_DMC_E04:XenocsUS_Vcenter.OUT: can't initialize link type 12 with "18ID_DMC_E04:XenocsUS_VtFwd.D PP MS" (type 1)
devMotorAsyn::init_record 18ID_DMC_E04:XenocsUS_Vxp bad link invalid INST_IO Must be asyn(<port> <addr> <timeout>)userParams
2024/10/16 11:02:22.425 devMotorAsyn::build_trans: 18ID_DMC_E04:XenocsUS_Vxp error calling queueRequest, asynManager::queueRequest asynUser not associated with a port
2024/10/16 11:02:22.425 devMotorAsyn::build_trans: 18ID_DMC_E04:XenocsUS_Vxp error calling queueRequest, asynManager::queueRequest asynUser not associated with a port
devMotorAsyn::init_record 18ID_DMC_E04:XenocsUS_Vxn bad link invalid INST_IO Must be asyn(<port> <addr> <timeout>)userParams
followed by many more error messages in the same vein as the "error calling queueRequest".
Thanks to everyone for their help!
All the best.
- Jesse
----
Jesse Hopkins, PhD
Deputy Director
BioCAT, Sector 18
Advanced Photon Source