Delta Tau GEO BRICK LV Reference Manual

Page of 760
Turbo PMAC/PMAC2 Software Reference
 
Turbo PMAC On-line Command Specification 
 305 
It is strongly recommended that both source motors and the target motor is specified in this command to 
prevent possible confusion. 
The table can operate as a function of either the desired (commanded) or actual position of the source 
motors.  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.  If the target motor is also one of 
the source motors, it is recommended that desired position be used, especially in high-gain systems, to 
prevent interaction with the servo dynamics. 
The last two items on the command line, {RowSpan} and {ColumnSpan}, specify the span of the 
compensation table for the two source motors, row and column respectively, expressed in encoder counts 
of those motors.  In use, if the source motor position goes outside of the range 0 to {Span}, the source 
position is rolled over to within this range along this axis before the correction is computed. 
The count spacing between columns in the table is {RowSpan} divided by {Columns}. The count 
spacing between rows in the table is {ColumnSpan} divided by {Rows}.  Note carefully the 
interaction between the row parameters and the column parameters. 
On succeeding command lines will be given the actual correction entries of the table, given as integer 
numerical constants in text form.  The units of these entries are 1/16 count, and the entries must be integer 
values.  The first entry is the correction at one column spacing from the zero position of the RowMotor
and the zero position of the ColumnMotor.  The second entry is the correction at two column spacings 
from the zero position of the RowMotor, and the zero position of the ColumnMotor, and so on.  Entry 
number Columns is the correction at RowSpan counts of the RowMotor, and at the zero position of the 
ColumnMotor (this entry should be zero to use the table along the edge, to match the implied zero 
correction at the origin).  These entries should be considered as constituting Row 0 of the table. 
The next entry (entry Columns+1, the first entry of Row 1) is the correction at the zero position of the 
RowMotor, and one row spacing of the ColumnMotor.  The following entry is the correction at one 
column spacing of the RowMotor and one row spacing of the ColumnMotor.  The entry after this is 
the correction at two column spacing of the RowMotor and one row spacings of the ColumnMotor., 
and so on.  The last entry of Row 1 (entry 2*Columns+1) is the correction at one row spacing of the 
RowMotor, and RowSpan counts of the ColumnMotor
Subsequent rows are added in this fashion, with the corrections of the entries for Row n being at n row 
spacings from the zero position of the ColumnMotor.  The last row (row Rows) contains corrections at 
ColumnSpan counts of the ColumnMotor
The size of the table is limited only by available data buffer space in Turbo PMAC’s memory. 
The following chart shows the order of entries into a 2D table with r rows and c columns, covering a span 
along the row motor of RowSpan, and along the column motor of ColSpan: 
 
Column Motor 
Position v 
 
Col 0 
 
Col 1 
 
Col 2 
 
(Col j) 
 
Col c 
Row Motor 
Position > 
 
RowSpan/c 
2*RowSpan/c 
 
RowSpan 
Row 0 
[0] 
E
E
… 
E
Row 1 
ColSpan/r 
E
c+1
 
E
c+2
 
E
c+3
 
… 
E
2c+1
 
Row 2 
2*ColSpan/r 
E
2c+2
 
E
2c+3
 
E
2c+4
 
… 
E
3c+2
 
(Row i) 
 
… 
… 
… 
(E
ic+I+j
… 
Row r 
ColSpan 
E
rc+r
 
E
rc+r+1
 
E
rc+r+2
 
 
E
rc+r+c
 
There are several important details to note in the entry of a 2D table: 
 
The number of rows and number of columns is separated by a period, not a comma.