User's Manual

PMAC User Manual
148 Computational Features
Value Assignment
Values assigned to an I-variable may be either a constant or an expression. The commands to do this are
on-line (immediate) if no buffer is open when sent, or buffered program commands if a buffer is open.
Examples:
I120 = 45
I120 = (I120+P25*3)
Limited Range
For I-variables with limited range, an attempt to assign an out-of-range value does not cause an error.
The value is rolled over automatically to within the range by modulo arithmetic (truncation). For
example, I3 has a range of 0 to 3 (four possible values). The command I3=5 would actually assign a
value of 5 modulo 4 = 1 to the variable.
Power-Down Storage
On PMACs with battery-backed RAM, most of the I-variable values can be stored in a 2K x 8 EEPROM
IC with the SAVE command. These values are safe here even in the event of a battery-backed RAM
failure, so the basic setup of the board is not lost. After a new value is given to one of these I-variables,
the SAVE command must be issued in order for this value to survive a power-down or reset.
The I-variables that are not saved to EEPROM are held in battery-backed RAM. These variables do not
require a SAVE command to be held through a power-down or reset, and the previous value is not
retained anywhere. These variables are: I19-I44, Ix13, Ix14.
On PMACs with flash memory backup (those with Option 4A, 5A, or 5B), all of the I-variable values can
be stored in the flash memory with the SAVE command. If there is an EEPROM IC on the board, it is not
used. After a new value is given to any I-variable, the SAVE command must be issued in order for this
value to survive a power-down or reset.
Default Values
Default values for all I-variables are contained in the manufacturer-supplied firmware. They can be used
individually with the I{constant}=* command, or in a range with the
I{constant}..{constant}=* command. Upon board re-initialization by the $$$*** command
or by a reset with E51 in the non-default setting, all default settings are copied from the firmware into
active memory. The last saved values are not lost; they are just not used. See the I-variable description
section for the functions of individual variables.