Delta Tau GEO BRICK LV User Manual

Page of 440
Turbo PMAC User Manual 
Motor Compensation Tables and Constants 
147 
Untriggered vs. Triggered Time Base 
A time-base entry can be untriggered or triggered.  Untriggered time base entries are simpler, but do not 
have a means for starting the time-base tracking of the master encoder precisely at a specific position of 
the master.  The triggered time base entries use the hardware-capture feature of the Turbo PMAC Servo 
ICs to precisely latch the master position that is the starting point for the programmed motion sequence 
that is slaved to the master. 
Time-base entries are two-line entries.  The first line contains the method digit in bits 20 – 23 ($4 for 
untriggered, $9 for triggered frozen state, $B for triggered armed state, and $A for triggered running 
state), the bit-19 mode-switch bit for triggered entries (=0 for PMAC-style Servo ICs, =1 for PMAC2-
style Servo ICs), and the source address of the data to be differentiated in bits 0 – 18.)  The second line 
contains the time-base scale factor which multiplies the differentiated source data. 
Source Register – Untriggered 
In untriggered time base, usually the source data is the result of a previous conversion in the table – 
source address $3501 to $35C0 – typically the result of a 1/T interpolation of an incremental encoder.  
The 1/T interpolation can be important to reduce the quantization noise generated by the digital 
differentiation of the encoder data; the result has five bits of fraction, estimating the encoder position to 
1/32 of a count. 
The untriggered time base takes this source data, subtracts the previous cycle’s source data from it, 
multiplies the difference by two times the time-base scale factor, and stores this value as its result.  If the 
result is to be used as the time-base master for a coordinate system, variable Isx93 for the coordinate 
system should contain the address of this result.  In this case, the time-base scale factor should be set to a 
value of 131,072 divided by the real-time input frequency for the master (expressed in counts/msec), and 
the coordinate system motion programmed assuming that the master is always putting out this frequency. 
Source Register – Triggered 
In triggered time base, the source data is directly from the encoder channel in the Servo IC – the source 
address is the base address of that channel in the IC (e.g. $78000 for Servo IC 0 Channel 1, $78200 for 
Servo IC 2 Channel 1).  In this method, the time-base conversion calculates the 1/T interpolation itself, 
computing 8 bits of fractional data, and an intermediate result in units of 1/256 of a count.  This 
intermediate result is stored in the first line of the entry.  The extra fractional bits can reduce quantization 
errors further if the input signal is of very high quality. 
In the running state (method digit $A), the triggered time base takes this intermediate data, subtracts the 
previous cycle’s intermediate data, multiplies the difference by 2 times the time-base scale factor, and 
stores this value as its result.  In the frozen state (method digit $9), the result value is always 0.  In the 
armed state (method digit $B), if the trigger for the channel has not occurred, the result value is 0; 
however, if the trigger for the channel has occurred, the trigger-captured position is used as the previous 
cycle’s value to compute the result, and the state is automatically changed to “running.”   
Result Data 
If the result is to be used as the time-base master for a coordinate system, variable Isx93 for the 
coordinate system should contain the address of this result.  In this case, the time-base scale factor should 
be set to a value of 16,384 divided by the real-time input frequency for the master (expressed in 
counts/msec), and the coordinate system motion programmed assuming that the master is always putting 
out this frequency. 
Typically, a motion program will set the method digit to $9 immediately before computing the trajectory 
of the first move to be executed after the trigger.  The motion program automatically suspends further 
execution after computing this trajectory because this move cannot start actual execution due to the 
“frozen time base” (but note that there will be no calculation delays in starting the move on the trigger.