Delta Tau GEO BRICK LV User Manual

Page of 440
Turbo PMAC User Manual 
Synchronizing Turbo PMAC to External Events
 
349
 
Step 2: Interpolation 
Once decoded and counted, the value from the signal is brought into the encoder conversion table once 
per servo cycle, exactly as a position feedback signal would be.  Using the 1/T conversion method here is 
highly recommended; because this method gives a very good sub-count interpolation of the signal (using 
timers associated with the counter) that significantly enhances the smoothness of the time base 
information.  Make sure that the conversion table is set up to process the counter from the input signal 
this way.  The factory-default configuration for the encoder conversion table is for 1/T conversion of the 
present encoder counters.  See the description of the encoder conversion table for more details. 
Step 3: Time Base Calculation 
A separate entry in the encoder conversion table takes the interpolated position information from the 
above step, subtracts out the interpolated position information from the previous servo cycle, and 
multiplies this difference by a scale factor to produce the time base value for the servo cycle.  (This time 
base value is then a multiplying factor in the position update calculations, so the amount of update is 
proportional to the number of counts received from the time base signal in the last servo cycle.) 
The two set-up items in this step are the source of information (the interpolated position register) and the 
scale factor.  Both of these are entries (I-variables) in the encoder conversion table.  See the description of 
the table for more details on how to enter these. 
The equation for the time base conversion is: 
% value = (100.0 * SCALE_FACTOR * INPUT_FREQ) / 2
N
 
where the % value (also known as feedrate override value) is what controls the rate of position update – 
when it equals 100.0, programs and moves operate in “real time” (i.e. at the times and speeds specified in 
the program).   
SCALE_FACTOR is the integer value that must be determined to set up time base following properly.  
INPUT_FREQ is the count rate (as determined by the signal and I7mn0) in counts/millisecond.  N is 
equal to 17 for normal (untriggered) time base (2
17
 is 131,072); N is 14 for triggered time base (2
14
 is 
16,384) – see below for details of triggered time base. 
To set the scale factor, decide on a real-time input count frequency – the rate of input counts at which the 
program and moves should execute at the specified rate.  Since this is the rate at which the value will be 
100.0, solve for the scale factor as:  
SCALE_FACTOR = 2
N
 / (REAL_TIME_INPUT_FREQ) 
Since the scale factor must be an integer, and we are dividing into a power of 2, make the real time input 
frequency a power of 2 in units of counts/msec.  For instance, if there is a system where the typical full-
speed input count frequency is 60,000 counts/second, define the real-time input frequency to be 64 
counts/msec.  This would then make the scale factor for untriggered time base equal to 131,072 / 64 = 
2,048. 
So far, all we have is a value in a register proportional to the master frequency.  Now we must make use 
of this value to control our motion program. 
Step 4: Using the Time-Base Calculation 
Time base values work on a coordinate system.  Each coordinate system has an I-variable that tells it 
where to look for its time base information.  This variable is Isx93 for Coordinate System x.  The default 
values for Isx93 are the addresses of registers that are under software control, not the control of an 
external frequency.  For a coordinate system that you wish to be under external time-base control, you 
must put the address of the scaled time-base value determined above in the encoder conversion table.