Operands for Instructions
7.10
The operands for PACSystems instructions can be in the following forms:
■ Constants
■ Variables that are located in any of the PACSystems memory areas (%I, %Q, %M, %T,
%G, %S, %SA, %SB, %SC, %R, %W, %L, %P, %AI, %AQ)
■ Symbolic variables, including I/O variables
■ Parameters of a Parameterized block or C block
■ Power flow
■ Data flow
■ Computed references such as indirect references or bit-in-word references
■ BOOL arrays
An operand's type and length must be compatible with that of the parameter it is being
passed into. PACSystems instructions and functions have the following operand restrictions:
■
Constants cannot be used as operands to output parameters because output values
cannot be written to constants.
■
Variables located in %S memory cannot be used as operands to output parameters
because %S memory is read-only.
■
Variables located in %S, %SA, %SB, and %SC memories cannot be used as operands to
numerical parameters such as INTs, DINTs, REALs, LREALs, etc.
■
Data flow is prohibited on some input parameters of some functions. This occurs when
the function, during the course of its execution, actually writes a value to the input
parameter. Data flow is prohibited in these cases because data flow is stored in a
temporary memory and any updated value assigned to it would be inaccessible to the
user application.
■
The arguments to EN, OK, and many other BOOLEAN input and output parameters are
restricted to be power flow.
■
Restrictions on using Parameterized block or External block parameters as operands to
instructions or functions are documented in Parameterized Blocks on page 101.
■
References in discrete memory (I, Q, M, and T) must be byte-aligned.
GFK-2816F
August 2015
Chapter 7. CPU Program Data
141