Delta Tau GEO BRICK LV Reference Manual

Page of 760
Turbo PMAC/PMAC2 Software Reference
 
Turbo PMAC Global I-Variables 
 41 
The hardware Phase clock period (frequency) is controlled by jumpers E98 and E29-E33 on a Turbo 
PMAC, variables I7000 and I7001 on a Turbo PMAC2 that is not Ultralite, or variables I6800 and I6801 
on a Turbo PMAC2 Ultralite. 
Most Turbo PMAC users will leave I7 at the default value of 0, so that phase update algorithms are 
executed every phase clock cycle.  There are two reasons to extend the phase update cycle by setting I7 
greater than 0. 
First, if the Turbo PMAC is doing direct PWM control of motors over the MACRO ring, it is advisable to 
set I7 to 1 so that the MACRO ring, which operates on the hardware phase clock, cycles twice per 
software phase cycle.  This will eliminate one phase cycle delay in the closing of the current loops, which 
permits higher gains and higher performance.  For example, the hardware phase clock could be set to 18 
kHz, but with I7=1, the current loop would be closed at a reasonable 9 kHz. 
Second, if many multiplexed A/D converters from the on-board Option 12, or Acc-36 boards, are used for 
servo feedback, I7 can be set greater than zero to ensure that each A/D converter is processed once per 
servo cycle.  One pair of multiplexed ADCs is processed each hardware phase clock cycle.   
For example, if 8 pairs of multiplexed ADCs needed to be processed each 440 
sec (2.25 kHz) servo 
cycle, and the software phase update were desired to be at 220 
sec (4.5 kHz), the phase clock update 
would be set to 18 kHz (18/8 = 2.25) to get through all 8 ADC pairs each servo cycle, I7 would be set to 3 
(18/[3+1] = 4.5) to get the software phase update at 4.5 kHz, and the servo cycle clock divider would be 
set to divide-by-8 (E3-E6 on Turbo PMAC, I7002=7 on non-Ultralite Turbo PMAC2, I6802=7 on Turbo 
PMAC2 Ultralite). 
There must be an integer number of software phase updates in a Servo clock period.  For example if the 
Servo clock frequency is ¼ the Phase clock frequency (I7002 or I6802 = 3), the legitimate values of I7 are 
0, which provides 4 software phase updates per servo clock period; 1, which provides 2 updates per 
period; and 3, which provides 1 update per period.  Note that this rule means that the software phase 
update period must never be longer than the servo clock period. 
I8 
Real-Time Interrupt Period  
Range:   
0 to 255 
Units:   
Servo Clock Cycles 
Default: 
I8 controls how often certain time-critical tasks, such as PLC 0, PLCC 0, and checking for motion 
program move planning, are performed.  These tasks are performed every (I8+1) servo cycles, at a 
priority level called the “real-time interrupt” (RTI).  A value of 2 means that these tasks are performed 
after every third servo interrupt, 3 means every fourth interrupt, and so on.  The vast majority of users can 
leave this at the default value.  In some advanced applications that push PMAC's speed capabilities, 
tradeoffs between performance of these tasks and the calculation time they take may have to be evaluated 
in setting this parameter. 
Turbo PMAC cannot compute more than one programmed move block, or more than one internal move 
segment if the coordinate system is in segmentation mode (Isx13 > 0), per real-time interrupt.  If very 
high programmed move block rates (small move times), or very high segmentation rates (small 
segmentation times) are desired, it is best to make I8 as small as possible (preferably 0).  This will ensure 
that the calculations are done every move or segment, and that they are started as early as possible in the 
move or segment to maximize the likelihood of completing the calculations in time. 
If move or segment calculations are not completed in time, Turbo PMAC will abort the program 
automatically with a run-time error.