Reference Manual

PMAC 2 Software Reference
PMAC On-Line Command Specification 219
All other buffers except for fixed motion programs (PROG) and PLC programs must be
deleted before PMAC will accept this command. There can be no rotary motion program,
leadscrew compensation table, transformation matrix, data gathering or stimulus buffers in
PMAC memory (any buffer created with a DEFINE command) for this command to be
accepted. It is usually best to reinitialize the card with a $$$*** command before sending
the DEFINE UBUFFER command.
The address of the end of unreserved memory is held in register X:$0F3F. This register must
hold the address $A000, signifying no defined buffers, in order for PMAC to be able to create
a user buffer. Immediately after the user buffer has successfully been defined, this register
will hold the address of the start of the buffer (the end of the user buffer is always at $9FFF).
However, after other buffers have been defined, the end of unreserved memory will not
match the beginning of the user buffer.
To free up this memory for other uses, the DEFINE UBUFFER 0 command should be used
(there is no DELETE UBUFFER command). It may be more convenient simply to re-
initialize the board with a $$$*** command.
Example
RHX:$0F3F ; Look for end of unreserved memory
008A3D ; Reply indicates some reserved
$$$*** ; Re-initialize card to clear memory
RHX:$0F3F ; Check end of unreserved memory
00A000 ; Reply indicates none reserved
DEFINE UBUFFER 256 ; Reserve memory for buffer
RHX:$0F3F ; Check for beginning of buffer
009F00 ; Reply confirms 256 words reserved
M1000->D:$9F00 ; Define M-variable to first word
M1010->Y:$9F80,12,1 ; Define M- variable to a middle word
M1023->X:$9FFF,24,S ; Define M- variable to last word
See Also
User Buffer, M-Variables (Computational Features)
On-line commands $$$***, R[H]{address}, W{address}
DELETE BLCOMP
Function
Erase backlash compensation table
Scope
Motor specific
Syntax
DELETE BLCOMP
DEL BLCOMP
Remarks
This command causes PMAC to erase the compensation table for the addressed motor,
freeing that memory for other use.
Note:
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, 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.
Example
#2 DEL BLCOMP ; Erase table belonging to Motor 2
ERR003............. ; PMAC rejects this command
#1 DEL BLCOMP ; Erase table belonging to Motor 1
#2 DEL BLCOMP ; Erase table belonging to Motor 2