Delta Tau GEO BRICK LV User Manual

Page of 440
Turbo PMAC User Manual 
Setting Up the Servo Loop 
189 
Active Calculation of Corrections 
The position compensation is performed inside the servo loop (every servo cycle) to obtain the maximum 
speed and accuracy.  Turbo PMAC takes the position of the source motor and finds the matching position 
in the table.  Typically this is between two entries in a 1D table, or four entries in a 2D table, so Turbo 
PMAC linearly interpolates (weighted average) between these entries to obtain the correction for the 
current servo cycle.  It then adds this correction to the desired position of the target motor.  The entries of 
corrections in the table must be integer values, with units of 1/16 count (so, for an example, an entry of 48 
represents 3 counts) of the target motor.  
 
The net correction for a target motor is stored each servo cycle in a specific register for the motor.  For 
Motor 1, this is the register at D:$000090.  The suggested M-variable for this register for Motor xx is 
Mxx69.  The units of this register are 1/(Ixx08*32) counts, the same as other motor position registers.  If 
I51 is set to 1, this register is zeroed every servo cycle, and then the result of each table whose target 
motor is this motor is added to this register.  If I51 is set to 0, it is permissible to write values directly to 
this register.  Regardless of the setting of I51, the value in this register is added into the net desired 
position value for the motor every servo cycle. 
It is important to understand that the table corrections are calculated as a function of the uncorrected 
motor position, whether using desired or actual position.  For a table that uses the same motor as source 
and target, the corrected position is by definition different from the uncorrected position.  Since the 
compensations vary with position, the compensation at a given corrected position will not be exactly the 
same in general as the compensation at the uncorrected position of the same numerical value.  The 
differences are small, but may be noticeable if you are looking at the net compensation register.  This is 
important to understand if you are verifying the resulting correction of a table. 
Reporting Table Information 
The header information for a position compensation table – entered with the DEFINE COMP command – 
can be queried with the LIST COMP DEF command.  The contents of the table can be queried with the 
LIST COMP command 
Deleting Tables 
The DELETE COMP command erases the position compensation table assigned to the presently addressed 
motor (whether or not that motor is a source or target of the table).  Position compensation tables must be 
deleted in order from those assigned to lower-numbered motors to those assigned to higher-numbered 
motors.