Delta Tau GEO BRICK LV 用户手册
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.
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.
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.
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
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.
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.