Each entry of an array is referred to by an index.
You can extract individual variables (from the array) by specifying
the tag name and index:
<Tag Name>[Index]
For example, to refer to the third variable of the
array in the above example (Conveyor 3), use the following
syntax:
Variable Tag
Conveyor_Speed[2]
The index of the first entry of an array is always
0 (zero). In this example, Conveyor_Speed[0] is the first entry of
the array (Conveyor 1), and Conveyor_Speed[4] is the last entry
(Conveyor 5).
Note the following when using arrays:
Do not define large arrays,
because each time an individual array entry is requested,
CitectSCADA reads the
entire array from the I/O Device. With large arrays, system
performance could be reduced.
The size of the array needs to be
less than the maximum request
lengthThe maximum number of data bits that can be read
from the I/O device in a single request. For example, if the
maximum request length is 2048 bits, the maximum number of integers
that can be read is: 2048/16 = 128. of the
protocolMessaging format consisting of a set of messages
and guidelines used for communication between the server and an I/O
device. The communication protocol determines how and the I/O
device communicate; the type of data to exchange; rules governing
communication initiation and termination; and error
detection.. The I/O Device description help topic
(for your I/O Device) displays the maximum request length of the
protocol.
declare digital arrays on a 16
bit boundary. CitectSCADA
rounds each digital array down to the nearest 16 bit boundary.
Consequently, digitals in the array are changed. For example, if
you declare an array Test to start at bit 35, and CitectSCADA starts the array at bit 32.
The index to the array also starts at bit 32; Test[0] refers to bit
32, not bit 35.
Each individual array entry has
its own data value for the field, valid and override elements, but
the entries within an array share the override and control mode
elements, quality and timestamps. Reading the quality or timestamp
for an indexed array entry will return the quality or timestamp for
the entire array. Writing to the value for an indexed array entry
will change the timestamps and quality for the entire array.
Changing the override mode and the control mode for an array entry
will change it for the entire array.