Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Plant SCADA

Arrays Support

  • Last UpdatedJul 07, 2025
  • 3 minute read

To associate a Plant SCADA variable tag with an OPC array, follow the OPC array address string with a delimiter like "!", the capital letter "A" (which when combined like this instructs the Plant SCADA OPC driver that the address is for an array), and follow both with the array size as an integer enclosed within square brackets, like this:

<OPCArrayName>!A[<OPCArrayLength>]

Note: Replace the placeholders <OPCArrayName> and <OPCArrayLength> in the Address box with the actual valid values of the OPC Array Name and Length you want to use, as defined in the OPC server.

In the following example with an OPC tag defined on a BACnet OPC server, five register addresses are associated with the Plant SCADA variable tag named Status_Flags:

  • Variable Tag Name: Status_Flags

  • Address: device(7196).analog-output(1).status!A[5]

You can access individual elements of an OPC array in Plant SCADA by specifying the Plant SCADA tag name and an index number representing the individual element of the array. For example, to refer to the third variable of the array in the above example (Status_Flags), use this syntax in Plant SCADA:

Variable Tag: Status_Flags[2]

Note: OPC arrays use zero-based indexing. For example, a five register array would contain individual elements indexed as 0, 1, 2, 3, and 4.

The OPC address checking in Plant SCADA always ensures that the !A[<n>] suffix is used, otherwise the tag is not recognized as an OPC array, regardless of whether OPC or OPC1 variant is used. Therefore the format '!A[<n>]' must be followed in a tag address if the tag is defined as an array tag.

For example:

With access path: DB1,DINT0,10!A[10

Without access path: S7:[OPCFLR]DB1,DINT0,10!A[10]

The OPC1 protocol is used to support Cicode functions TagRead() and TagWrite() for tags with a left square bracket "[" in their address.

However, if there is no left square bracket "["in the OPC address string, you can use the array length specifier at the end of the address string, and so you should declare OPC as the I/O device protocol used in the I/O device setup procedure.

warning2

UNINTENDED EQUIPMENT OPERATION

Ensure that the OPC address format used is compliant for the OPC Server with which you are communicating.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

Array offset support

The array tag address can include an optional array offset.

The maximum size of an array tag is limited to 256 bytes due to the underlying infrastructure of Plant SCADA. For example, if the tag data type is integer (2 bytes), Plant SCADA only allows the array tag to be configured with 128 elements. However, special array offset syntax can be used to address a sub-array with the particular offset and range within a large array. For example:

<OPCArrayName>\<OFFSET>!A[<OPCArrayLength>]

When Plant SCADA writes to an OPC array, the whole array is read from the driver cache, modified, then written back to the OPC server. However, the driver cache is not updated with the newer data until the server performs its housekeeping tasks and notifies the driver that the array value has been changed. During this time, it is possible for another write request to have been issued with a now out-of-date copy of the original array data from the not-yet-updated driver cache. If subsequently written back to the server, any changes made in the first request of this scenario might be lost inadvertently if they are overwritten by the original duplicated data in the second write back.

To try and minimize this, the OPC driver in Plant SCADA is forced to do a synchronized read before data is modified. However it still has the possibility of losing data if that data is changed by other OPC clients between the time the data is read out and written back. For this reason, it is not recommended that OPC arrays be used in Plant SCADA while other OPC clients might be accessing the same data.

warning2

UNINTENDED EQUIPMENT OPERATION

Do not use OPC arrays in Plant SCADA while other OPC clients have access to the same data.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

In This Topic
TitleResults for “How to create a CRG?”Also Available in