Delta Tau GEO BRICK LV User Manual

Page of 440
 
Turbo PMAC User Manual 
232 
 
Executing Individual Motor Moves 
The “jog-until-trigger” function for a motor is specified by adding a ^{constant} specifier to the end 
of a regular “definite” jog command for the motor, where this {constant} is the distance to be traveled 
relative to the trigger position before stopping, in encoder counts.  It cannot be used with the J+ and J- 
indefinite jog commands. 
This makes the jog command for a jog-until trigger something like J=10000^100 , J=*^-50 or 
J:50000^0.  The value before the ^ is the destination position or distance (depending on the type of jog 
command) to be traveled in the absence of a trigger.  If this first value is represented by a * symbol, 
PMAC looks in a pre-defined motor register (suggested M-variable Mxx72) for the position or distance.  
The second value is the distance to be traveled relative to the position at the time of the trigger.  This 
value is always expressed as a distance, regardless of the type of jog command.  Both values are 
expressed in encoder counts. 
The trigger condition for the motor is set up just as for homing search moves, explained above. 
Turbo PMAC will use the jog parameters Ixx19-Ixx22 in force at the time of the command for the pre-
trigger move, and the values of these parameters in force at the time of the trigger for the post-trigger 
move. 
The captured value of the sensor position at the trigger is stored in a dedicated register (Y:$D8 for Motor 
1, Y:$158 for Motor 2, etc.) if later access is needed.  The units are in counts; for incremental encoders, 
they are relative to the power-up/reset position. 
Turbo PMAC sets the motor home-search-in-progress status bit (bit 10 of the first motor status word 
returned on a ? command) true (1) at the beginning of a jog-until-trigger move.  The bit is set false (0) 
either when the trigger is found, or at the end of the move.   
Turbo PMAC also sets the motor trigger move status bit (bit 7 of the second motor status word returned 
on a ? command) true at the beginning of a jog-until-trigger move, and keeps it true at least until the end 
of the move.  If a trigger is found during the move, this bit is set false at the end of the post-trigger move; 
however, if the pre-trigger move finishes without finding a trigger, the bit is left true at the end of the 
move.  Therefore, this bit can be used at the end of the move to tell whether the trigger was found 
successfully or not.  The motor “desired-velocity-zero” status bit can be used to determine the end of the 
move. 
Motion Program Move-Until-Trigger 
The move-until-trigger construct can be used from within a motion program.  In this version it is a variant 
of the RAPID move mode.  These moves execute exactly like on-line jog-until-trigger moves, but they are 
described a little differently. 
A program move-until trigger is commanded with the {axis}{data}^{data} syntax.  Basic 
examples are X50^-2 and Y(P1)^(P2).  The first value is the destination of the axis if no trigger is 
found, expressed in the engineering units for the axis.  This value can be a position or a distance, 
depending on whether the axis is in absolute or incremental mode, respectively.  The second value is the 
distance from the trigger-captured position to the end of the post-trigger move, expressed in the 
engineering units for the axis.  The motion program must be in RAPID mode for the triggering to operate; 
otherwise just the pre-trigger move will be executed to the specified endpoint. 
The commanded acceleration for the move is specified by Ixx19, Ixx20, and Ixx21, as for other trigger 
moves.  The magnitude of the velocity for the move is specified by maximum velocity parameter Ixx16 if 
Ixx90 is at the default value of 1, or by jog speed parameter Ixx22 if Ixx90 is 0.  The trigger conditions 
and capture methods are specified as for other triggered moves, as described above.  Status bits are set as 
for on-line jog-until-trigger moves.