User's Manual

PMAC User Manual
Computational Features 145
Second is to adjust the jobs at a priority level to give them less emphasis. Large PLC programs can be
split into a few shorter PLC programs. This increases the frequency of housekeeping and
communications by giving more breaks in PLC scans. Motion program WHILE(condition)WAIT
statements could be done as follows:
WHILE(condition)
DWELL20
ENDWHILE
This will give more time to other RTI jobs such as Move Planning and PLC/PLCC0.
Numerical Values
PMAC can store and process numerical values in many forms, with both fixed-point and floating-point
values. The Motorola 56000 DSP that acts as the PMAC CPU is a fixed-point processor with built-in 24-
bit and 48-bit arithmetic capability (plus a 56-bit accumulator). However, the PMAC firmware
implements a full set of floating-point routines.
Internal Formats
The internal servo, interpolation, and commutation routines all operate with fixed-point arithmetic, 24-bit
and 48-bit, for maximum speed. The user motion and PLC programs, use floating-point arithmetic for
maximum range and generality. Even when reading from and/or writing to fixed-point registers, the
intermediate formats are all floating-point values. The only exception to this rule is the new compiled
PLC programs; in a statement containing only L-variables and integer constants, the intermediate format
is signed 24-bit integer. Refer to the section on compiled PLCs under the Writing a PLC Program section
of this manual for more details.
The general floating-point format is 48 bits long, with a 36-bit mantissa and a 12-bit exponent. This
provides a range of +
2
+2047
, or +3.233 x 10
+616
, which should provide sufficient range for any foreseeable
uses on the card.
Receiving Values
Constant values sent from the host as part of command lines are sent as ASCII text, either as decimal
values or hexadecimal values. Hexadecimal values must be preceded by a $ character; they must be
unsigned, and they cannot include fractional values. Decimal values can be positive or negative, and can
include fractional values. The PMAC value interpreter does not support exponential notation, and it is
limited to passing through values in the range +
2
+35
, or +3.43 x 10
+10
. Values outside this range are
truncated to the maximum or minimum values of the range.