Dear tech-talk,
I got a request to implement a homing procedure for a setup with a Maxnet controller via the omsAsyn motor module.
The implemented homing procedure [1] of the EPICS module does not seem to work, probably because there is no home switch. There are only limit switches.
The homing procedure should be:
1. Move into lower limit switch 2. Define this position as 0 (at least) in the EPICS motor coordinates.
We tried to figure out a solution based on the command reference [2], but were not that successful. This is our current connection and init command: omsMAXnetConfig("MCONTROL0", 5, "MAXNET0", 20, 200, "AZ;LTL;LMH;ABL;PSO;AT;LTL;LMH;ABL;PSO;AU;LTL;LMH;ABL;PSO;“).
As a workaround, the student using the setup developed a Python script using the motor record to do:
1. Read out and store .HLM and .LLM 2. Depending on .DIR trigger either .HOMF or .HOMR 3. Wait until .LLS is active 4. Store .RBV 5. Switch to calibration mode via .SET=1 6. Set .VAL to 0 7. Restore .HLM and .LLM from 1. 8. .SET=0
So the question is, if there is a better approach by either directly using Maxnet controller commands or with the motor record itself (is there a „Zero“ command?)
Cheers Eddy
|