Reference Manual

Turbo PMAC/PMAC2 Software Reference
Turbo PMAC Global I-Variables 107
Bit 19
Bit 18
Capture Flags
Amp Flags
Limit Flags
0
0
Direct
Direct
(don’t care)
0
1
Thru MACRO
Thru MACRO
(don’t care)
1
0
Direct
Thru MACRO
(don’t care)
1
1
Thru MACRO
Direct
(don’t care)
Typically, the position-capture flags will be on the same hardware channel as the position feedback
encoder for the motor. To use the hardware-captured position for a Turbo PMAC triggered-move
function such as a homing search move, Ixx25 must specify flags of the same hardware channel as the
position feedback encoder specified with Ixx03 through the encoder conversion table, whether digital
quadrature feedback, or interpolated sinusoidal feedback.
In the case of sinusoidal-encoder feedback through an Acc-51x high-resolution interpolator, if hardware
position-capture capability is desired, the position-capture flags will be specified as being on the Acc-51x
using Ixx25 and the amplifier flags will be specified as being on the output channel using Ixx42; the
overtravel-limit flags will probably be specified as being on the same channel as the outputs, using Ixx43.
For the position-capture function, variables I7mn2 and I7mn3 for Servo IC m Channel n of the channel
selected (or node-specific variables MI912 and MI913 on a MACRO Station) specify which edges of
which signals for the channel will cause the position-capture trigger.
The overtravel-limit inputs specified by Ixx25 or Ixx43 must read as 0 in order for Motor xx to be able to
command movement in the direction of the limit unless bit 17 of Ixx24 is set to 1 to disable their action.
With Delta Tau interface circuitry with optical isolation on the flags, this means that the switches must be
drawing current through the opto-isolators, whether sinking or sourcing.
Whether the address of the amplifier flags is specified with Ixx25 or Ixx42, the polarity of the amplifier-
fault input is determined by bit 23 of Ixx24 and the polarity of the amplifier-enable output must be
determined with the hardware interface.
Ixx26 Motor xx Home Offset
Range: -8,388,608 - 8,388,607
Units: 1/16 count
Default: 0
Ixx26 specifies the difference between the zero position of sensors for the motor and the motor’s own
zero “home” position. For a motor that establishes its position reference with a homing search move, this
is the difference between the home trigger position and the motor zero position. For a motor that
establishes its position reference with an absolute position read (Ixx10 > 0), this is the difference between
the absolute sensor’s zero position and the motor zero position.
In a homing search move, Ixx26 specifies the distance between the actual position at which the home
trigger is found, and the commanded end of the post-trigger move, where the motor will come to a stop.
The commanded end position of the post-trigger move is considered motor position zero. (It is possible
to use other offsets to create a different axis position zero for programming purposes.)
A difference between the trigger position and the motor zero position is particularly useful when using an
overtravel limit as a home flag (offsetting out of the limit before re-enabling the limit input as a limit). If
Ixx26 is large enough (greater than 1/2 times home speed times acceleration time), it permits a homing
search move without any reversal of direction.
In an absolute position read done on board reset, the $* command, or the $$* command, Ixx26 specifies
the difference between the position read from the sensor as specified by Ixx10 and Ixx95, and the actual
motor position set as a result of this read. Ixx26 is subtracted from the sensor position to calculate motor
position. This offset is particularly useful when the absolute sensor’s zero position is outside the range of
travel for the motor, as with an MLDT sensor.