Hi Jesse,
I have not yet started to use the CS motors, so I can’t help with those.
We are using the 2slit.db for slits, with template file entries like this:
# BMD slits in vacuum
file "$(OPTICS)/db/2slit.db"
{
pattern
{P, SLIT, mXp, mXn}
{13BMD:, BMDV, m31, m32}
{13BMD:, BMDH, m30, m29}
}
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of Jesse Hopkins via Tech-talk
Sent: Tuesday, October 15, 2024 1:35 PM
To: EPICS Tech Talk <tech-talk at aps.anl.gov>
Subject: Help setting up coordinated motions for Galil controller
Hi folks,
At my beamline we're working on switching over to the Galil DMC41x3 controllers for a lot of our basic motion controls. I have a couple of controllers set up, and I'm trying to figure out how to set up coordinated motion, in particular
gap and center pseudo motors for a couple of sets of slits (and, eventually, some optics such as monochromator and mirrors).
It seems like the most straightforward approach for this would be to use the Galil coordinate system (CS) motors, motors I-P, and define appropriate forward/back transforms for the motors of interest. However, I can't figure out the right
way to do those definitions. I defined the basic CS and kinematics as in the GalilTestApp from the git, and as far as I can tell there doesn't seem to be any additional setup that needs to be done on the database side (but I may well be wrong about this).
I tried opening the CS motor kinematics window (e.g. "Motor I kinematics", which opens the galil_csmotor_kinematics screen), which provides access to the 8 reverse transforms and one forward transform for that motor, but I can't seem to set the values of the
transform. For example, I try to set the motor I forward transform as (A-B)/2 (slit center position) and get the following message:
Tue Oct 15 10:54:41 CDT 2024
textEntryValueChanged: Invalid value:
Name: 18ID_DMC_E04:I_FTRANSFORM_SP
Value: "(A-B)/2"
I've tried various other permutations, such as I=(A-B)/2, or simply just A, for example, and always get the same error message. I also tried using the epics PVs rather than the channel and got the same message. I figure I must be missing
something pretty fundamental about how to set this up, and I'm hoping someone can point me in the right direction.
I'm running the IOC with the following:
DMC controller firmware: 1.3h
Another option might be to do this using something like the slit soft motor support in the synApps Optics module. Is this what most people are still doing, or is there another standard approach for this these days?
----
Jesse Hopkins, PhD
Deputy Director
BioCAT, Sector 18
Advanced Photon Source
|