-
Notifications
You must be signed in to change notification settings - Fork 2
Galils Under SECI
Dominic Oram edited this page Nov 3, 2020
·
29 revisions
- Galil homing routines as used in SECI: A page explaining the homing methods for Galils under SECI
- Galil move routines as used in SECI: A page explaining the move method for Galils under SECI
- Jogging a Galil axis in SECI: A page explaining the way an axis is jogged on a Galil under SECI
-
Move for
GPHI
on CRISP from 0 to 2.4: A page using the move information above to predict the values being sent for a move ofGPHI
which behaves very differently between SECI and IBEX
Motor Setup Pane
- Correct Motion tick box: will make the driver retry the motion if the position is not within the deadband of the setpoint; up to 10 times.
See more details on the table of motors - To see more details press Ctrl+Shift+F10
The notes below detail how some of the values used by the SECI Galil driver should be translated for use in the EPICS IOC for Galils.
Motor steps per unit and encoder steps per unit should be inverted (1/value
).
Displayed Position
- This is the position reported in the datarecord/encoder steps per unit + offset + user offset
Home Offset
- Used to drive axis to a position before running the home position - this can be ignored
Homeval
- Applied if a homing routine is defined as completed successfully - the value that is then sent to the controller is
Home Position - (User Offset + Offset)
Offset and User Offset
- Offsets are regularly added to or removed from the values being communicated. Changing an offset will not affect the value displayed to the user (on the 'user axis'), but will change what position this corresponds to along the 'real' axis.
- The limits are set relative to the user axis, so changing the offset will also affect how far you can move forwards/backwards before hitting the limit.
- The two offsets are usually combined together and applied as one:
- On sending a position:
Values sent to Galil = (user set point - (offset + user offset)) * motor steps per unit
- On readback:
Value displayed = (position reported in the Galil datarecord/Encoder steps per unit) + (user offset + offset)
- On sending a position:
Offset to apply in IBEX
- As the home value in IBEX should be 0, this should likely be set to
SECI Homeval - (offset + user offset)
- Note also that there is an option to not apply the home offset and so 0 is used in that situation for the
SECI Homeval
- See also Changing motor homing from SECI to IBEX convention
Backlash
- The two systems differ here - SECI will add the forward backlash to the value sent to the Galil if moving forward, or add the backward one if moving backwards.
- As such setting the Backlash acceleration to a proportion (1/10) of the standard acceleration and the backlash velocity to a proportion (1/10) of the standard velocity is probably wise.
- BDST (the backlash distance) likely needs to be set to whichever of the forward and backward backlashes are set. (Again there is a concern over sign, but just using whichever is propagated with the sign it has should be a reasonable start.) If neither are set, this value should be 0. If both are set, there is something very wrong with that stage, and it should be flagged, but as a default the backward backlash could be used.
- Sign thoughts: We think the sign in IBEX is opposite to the sign in SECI. The reasoning is easiest to see with a positive axis pointing up. Here the corrected movement we want is when it is going down, -ve direction, we want it to go past the set point and come back. To achieve this in SECI you need to add a -ve value to the backwards backlash (backlash is added to the setpoint). To achieve this in IBEX you must add a +ve backlash distance (in IBEX it is taken off the setpoint).
Auto On/Off
- This relates to the De-energise setting, it is also worth noting that when this is set to false then the motor off deadband has to be set to -1.
Deadbands
-
RDBD
is the retry deadband and equates to thepositional accuracy
- both are in the engineering units -
SPDB
is the setpoint deadband, and equates to the parameter of that name - both are in the engineering units
Jog Values
- Both
JAR
andJVEL
are set to the same values as standard move velocity and acceleration
Limits
- Within IBEX we will set the
HLM
andLLM
fields - SECI limits (user and soft limits) are software only, so are never sent to the controller.
- Where the soft limits are set, but the user limits are either set to infinity or 0, then the soft limits should be used
- Where the soft limits are set to infinity or 0 then the limits will be set to 0 and a message added to the 'things to be aware of' part of the system
- If the user limits are larger than the soft limits, but not infinite, then the soft limits will win as those are the final limits used within the move normally