Reference Manual

Turbo PMAC/PMAC2 Software Reference
Turbo PMAC On-line Command Specification 301
This command establishes a backlash compensation table for the addressed motor. The next
{entries} constants sent to Turbo PMAC will be placed into this table. The last item on the command
line {count length}, specifies the span of the backlash table in encoder counts of the motor. In use,
if the motor position goes outside of the range 0 to count-length, the position is rolled over to within this
range before the compensation 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 as constants separated by spaces and or
carriage return characters. 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 from the table at motor zero position is zero by definition.
The correction is the amount subtracted (added in the negative direction) from the nominal commanded
position when the motor is moving in the negative direction to get the corrected position. The correction
from the backlash table is added to the Ixx86 constant backlash parameter before adjusting the motor
position. Corrections from any leadscrew compensation tables that have this motor as the target motor
are always active in both directions.
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 zero.
Note:
Turbo PMAC will reject this command, reporting an ERR003 if I6=1 or 3, if any
BLCOMP buffer exists for a lower numbered motor, or if any TBUF, ROTARY,
LOOKAHEAD or GATHER buffer exists. Any of these buffers must be deleted
first. BLCOMP buffers must be defined from high-numbered motor to low-
numbered motor, and deleted from low-numbered motor to high-numbered motor.
I51 must be set to 1 to enable the table.
Example:
#32 DEFINE BLCOMP 100, 100000
See Also:
Backlash Compensation (Setting Up a Motor)
Leadscrew Compensation (Setting Up a Motor)
I-variables Ixx85, Ixx86, Ixx87
On-line commands DEFINE COMP, DELETE BLCOMP
DEFINE CCBUF
Function: Define extended cutter-compensation buffer
Scope: Coordinate-system specific
Syntax: DEFINE CCBUF {constant}
DEF CCBUF {constant}
where:
{constant} is a positive integer constant representing the size of the buffer in programmed moves
This command establishes an extended cutter-radius compensation move buffer for the addressed
coordinate system. This buffer is required only if it is desired to maintain the compensation through one
or more moves perpendicular to the plane of compensation (e.g. Z-axis moves during XY-plane
compensation). The {constant} value in the command specifies the number of moves that can be
stored in this extended buffer. This number must be at least as large as the number of consecutive