Delta Tau GEO BRICK LV Reference Manual

Page of 760
Turbo PMAC/PMAC2 Software Reference
 
Turbo PMAC Global I-Variables 
 110 
Example: 
The following motion program segment shows how the in-position function could be used in a program to 
set an output after coming in-position at a programmed point.  M140 represents Motor 1’s in-position 
status bit (see suggested M-variable definitions). 
X10 
; Commanded move 
DWELL0 
; Stop lookahead in motion programs 
WHILE (M140=0) WAIT 
; Loop while not in position 
M1=1 
; Set output 
Ixx29  Motor xx Output/First Phase Offset 
Range:   
-32,768 - 32,767 
Units:   
16-bit DAC/ADC bit equivalent 
Default: 
Ixx29 serves as an output or feedback offset for Motor xx; its exact use depends on the mode of operation 
as described below.  In any of the modes, it effectively serves as the digital equivalent of an offset pot. 
Mode 1:  When Turbo PMAC is not commutating Motor xx (Ixx01 Bit 0 = 0), Ixx29 serves as the offset 
for the single command output value, usually a DAC command.  Ixx29 is added to the output command 
value before it is written to the command output register.   
Mode 2:  When Turbo PMAC (PMAC-style Servo ICs only) is not commutating Motor xx (Ixx01 Bit 0 = 
0) but is in sign-and-magnitude output mode (Ixx96 = 1), Ixx29 is the offset of the command output value 
before the absolute value is taken (Ixx79 is the offset after the absolute value is taken).  Ixx29 is typically 
left at zero in this mode, because it cannot compensate for real circuitry offsets. 
Mode 3:  When Turbo PMAC is commutating Motor xx (Ixx01 Bit 0 = 1) but not closing the current loop 
(Ixx82 = 0), Ixx29 serves as the offset for the first of two phase command output values (Phase A), for the 
address specified by Ixx02; Ixx79 serves the same purpose for the second phase (Phase B).  Ixx29 is 
added to the output command value before it is written to the command output register. 
When commutating from a PMAC-style Servo IC, Phase A is output on the higher-numbered of the two 
DACs (e.g. DAC2); Phase B on the lower-numbered (e.g. DAC1).  When commutating from a PMAC2-
style Servo IC, Phase A is output on the A-channel DAC (e.g. DAC1A), Phase B on the B-channel DAC 
(e.g. DAC1B). 
As an output command offset, Ixx29 is always in units of a 16-bit register, even if the actual output device 
is of a different resolution.  For example, if a value of 60 had to be written into an 18-bit DAC to create a 
true zero command, this would be equivalent to a value of 60/4=15 in a 16-bit DAC, so Ixx29 would be 
set to 15 to cancel the offset. 
Mode 4:  When Turbo PMAC is commutating (Ixx01 Bit 0 = 1) and closing the current loop for Motor xx 
(Ixx82 > 0), Ixx29 serves as an offset that is added to the phase current reading from the ADC for the first 
phase (Phase A), at the address specified by Ixx82 minus 1.  Ixx79 performs the same function for the 
second phase.  The sum of the ADC reading and Ixx29 is used in the digital current loop algorithms.   
As an input feedback offset, Ixx29 is always in units of a 16-bit ADC, even if the actual ADC is of a 
different resolution.  For example, if a 12-bit ADC reported a value of -5 when no current was flowing in 
the phase, this would be equivalent to a value of -5*16=-80 in a 16-bit ADC, so Ixx29 would be set to 80 
to compensate for this offset.