Manual
3-16 Detailed Descriptions of ACL Commands
The amount of download memory not in use can be determined via the ESC.S2: command.
The amount consumed by any particular Download Sequence can be determined via
ESC.S5;n:, where n is the id. See Chapter 6.
Each two-letter ACL mnemonic consumes one byte of download memory. The parameters
to the AA and MA commands consume two bytes each if they are integers in the range 0
through 16383, and otherwise five bytes each. All other parameters consume two bytes each
if they are integers in the range -8192 to 8191, and otherwise five bytes each. Two bytes are
allocated to overhead in each Download Sequence.
For example, assume a Download Sequence is to consist only of MR commands with small
parameter values. Then each command consumes five bytes (one for the mnemonic and two
each for the X and Y parameters). If the Download Sequence contains five MR commands it
will need 2 + (5 x 5) = 27 bytes of download memory.
During downloading if an illegal ACL mnemonic (i.e. an unrecognized command) occurs an
error is logged and the command and its parameters are ignored. The System does not check
for the correct number of parameters with each ACL command, nor does it check the ranges
of the parameters.
If any parameter is above 65535.9999 it is stored as 65535.9999, and if below -32768.0000
it is stored as -32768.0000. No error is logged at the time the parameter is stored, but if the
stored value is outside the allowable range for the particular command an ACL error will
occur when the Download Sequence is executed. (Some of these errors may be missed -- see
below.) Similarly, if too few or too many parameters are stored, an ACL error occurs when
the sequence is executed.
Stored values can be interpreted in two ways, depending on what the ACL command is
expecting. If the command expects -32768 through 32767 then values in the range
32768.0000 through 65535.9999 are interpreted as the specified value minus 65536. If the
command expects 0 to 65535 then values below zero are interpreted as the specified value
plus 65536. Because of this relaxed range checking it is a good idea to thoroughly debug
your ACL sequences before downloading them.
To erase a Download Sequence and make its memory available for re-use, simply send the
BD command and immediately follow it with the ED command. For example: BD 13; ED;
erases Download Sequence 13. If the new Download Sequence is to have the same number
as the old, it is unnecessary to first erase the old.
If the Automove System is reset or turned off or the power fails while a sequence is being
downloaded, the download memory will be left in an invalid state. The next time you turn on
the System it will enter the Emergency Stopped state. If you clear the Stop and execute the
Download Sequence anyway, an ACL error may occur when the sequence is invoked, or the
last command of the sequence may behave strangely, or part of the download memory may
become unavailable. The first two problems can be corrected by simply re-downloading the
sequence that was interrupted.
If you believe you have erased all of the existing Download Sequences but the
ESC.S
command still shows that some download memory is in use, then either: one or more
sequences are still defined; or, the BD command was interrupted by a reset or power failure.
To erase the entire download memory and reclaim the lost space, use the
ESC.!7: command;
see Chapter 6.