Delta Tau GEO BRICK LV Reference Manual

Page of 760
Turbo PMAC/PMAC2 Software Reference
 
Turbo PMAC On-line Command Specification 
 303 
Note: 
Turbo PMAC will reject this command, reporting an ERR003 if I6=1 or 3, if any 
COMP buffer exists for a lower numbered motor, or if any TCOMP, BLCOMP, 
TBUF, ROTARY, LOOKAHEAD, or GATHER buffer exists.  Any of these 
buffers must be deleted first.  COMP buffers must be defined from high-numbered 
motor to low-numbered motor, and deleted from low-numbered motor to high-
numbered motor. 
It is possible to directly specify a source motor (with #{source}), or source and target motors (with 
#{source},#{target}), in this command.  Either or both of them may be different from the motor 
to which the table "belongs".  (In other words, just because a table belongs to a motor does not necessarily 
mean that it affects or is affected by that motor’s position.) 
The table can operate as a function of either the desired (commanded) or actual position of the source 
motor.  If a D is entered immediately after the source motor number (which must be explicitly declared 
here), the table operates as a function of the desired position of the source motor; if no D is entered, the 
table operates as a function of the actual position of the source motor. 
The last item on the command line, 
{count length}
, specifies the span of the compensation table in 
encoder counts of the source motor.  In use, if the source motor position goes outside of the range 0 to 
count-length, the source position is rolled over to within this range before the correction is computed.  
The spacing between entries in the table is 
{count length}
 divided by 
{entries}
On succeeding lines will be given the actual entries of the table.  The units of these entries are 1/16 count, 
and the entries must be integer values.  The first entry is the correction at one spacing from the motor zero 
position (as determined by the most recent home search move or power-up/reset), the second entry is the 
correction two spacings away, and so on.  The correction is the amount added to the nominal position to 
get the corrected position.  The correction at the zero position is zero by definition. 
The last entry in the table represents the correction at {count length} distance from the motor’s zero 
position.  Since the table has the capability to roll over, this entry also represents the correction at the 
motor’s zero position.  If it is set to a non-zero value, the correction at zero will also be non-zero. 
Example: 
#1 DEFINE COMP 4,2000 
; Create table for motor 1 
ERR003 
; Turbo PMAC rejects this command 
DELETE GATHER 
; Clear other buffers to allow loading 
DELETE ROTARY 
#8DEFINE COMP 500,20000 
; Uses motor 8 as source and target, 500 entries,  
 
; spacing of 40 counts 
#7DEFINE COMP 256,#3D,32768 
; Belongs to motor 7, uses #3 desired position as  
 
; source, #7 as target, 256 entries, spacing of 128 counts 
#6 DEFINE COMP 400,#5,#4,40000 
; Belongs to motor 6, uses #5 as source, #4 as target, 
 
; 400 entries, spacing of 100 counts 
#5 DEFINE COMP 200,#1D,#1,30000 
; Belongs to motor 5, uses #1 desired position as  
 
; source and target, 200 entries, spacing of 150 count 
I51=1 
; Enable compensation tables 
See Also: 
Leadscrew compensation (Setting Up a Motor) 
I-variable I51 
On-line commands {constant}LIST COMPLIST COMP DEFDELETE COMPDELETE 
GATHERDELETE ROTARY, SIZE 
DEFINE COMP (two-dimensional) 
Function: 
Define two-dimensional position compensation table