Delta Tau GEO BRICK LV Reference Manual

Page of 760
Turbo PMAC/PMAC2 Software Reference
 
Turbo PMAC Global I-Variables 
 123 
For |I|T limiting, with the instantaneous current limit Ixx69 at 24,576, the magnetization current Ixx77 at 
0, the continuous current limit at 8192 (Ixx57 = -8192), the time permitted with maximum current at 3 
seconds, and the servo update rate at 4 kHz, Ixx58 would be set as: 
6000
3
4000
)
25
.
0
2
0
.
0
2
75
.
0
(
58
Ixx
 
Ixx59  Motor xx User-Written Servo/Phase Enable 
Range:   
0 - 3 
Units:   
none 
Default: 
Ixx59 controls whether the built-in servo and commutation routines, or user-written servo and 
commutation routines, are used for Motor xx.  The following table shows the possible values of Ixx59 and 
their effects: 
Ixx59 
Servo Algorithm 
Commutation Algorithm 
Built-in (PID or ESA) 
Built-in 
User-written 
Built-in 
Built-in (PID or ESA) 
User-written 
User-written 
User-written 
Any user-written servo or commutation (phase) algorithms will have been coded and cross-assembled in a 
host computer, and downloaded into PMAC’s program memory.  These algorithms are retained by the 
battery on battery-backed RAM versions, or saved into flash memory on flash-backed versions. 
Ixx00 must be 1 in order for the user-written servo to execute.  Ixx01 must be 1 or 3 in order for the user-
written commutation to execute.  The servo algorithm can be changed immediately between the built-in 
algorithm and a user-written algorithm by changing Ixx59.  PMAC only selects the phasing algorithm to 
be used at power-on reset, so in order to change the commutation algorithm, Ixx59 must be changed, this 
new value stored to non-volatile memory with the SAVE command, and the board reset. 
It is possible to use the user-written algorithms for purposes other than servo or commutation, making 
them essentially very fast and efficient PLC programs.  This is very useful for fast, position-based 
outputs.  Simply load the code, activate an extra “motor” with Ixx00 and/or Ixx01, and set Ixx59 for this 
pseudo-motor to use this algorithm. 
Ixx60  Motor xx Servo Cycle Period Extension Period 
Range:   
0 - 255 
Units:   
Servo Interrupt Periods 
Default: 
Ixx60 permits an extension of the servo update time for Motor xx beyond a single servo interrupt period. 
The servo loop will be closed every (Ixx60 + 1) servo interrupts.  With the default value of zero, the loop 
will be closed every servo interrupt.  An extended servo update time can be useful for motors with slow 
dynamics, and/or limited feedback resolution.  It can also be useful if the control loop is used for a slow 
process-control function. 
On Turbo PMAC boards, the servo interrupt period is controlled by hardware settings (jumpers E3-E6, 
E29-E33, and E98). On Turbo PMAC2 boards, it is controlled by I-variables (I7000, I7001, and I7002 for 
non-Ultralite boards; I6800, I6801, and I6802 for Ultralite boards). 
Other update times, including trajectory update and phase update, are not affected by Ixx60.  I10 does not 
need to be changed with Ixx60. 
The filtered motor velocity values reported with the V and <CTRL-V> commands are not affected by 
Ixx60.  They still will report in counts per servo interrupt.  However, the raw actual velocity register will 
store velocity in terms of counts per servo loop closure.