Applies To:
  • CitectSCADA 5.xx

Summary:
Using OPC with array returns error 'Array has been overrun'.

Example:

The problem happened using TagRead() with the S7 string:

S7:[S7_PB_Verb1|VFD1|CP_L2_1:]DB32,40.0,1

 

Solution:
A new entry OPC1 has been added to protdir.txt. This option is used to support using Cicode function TagRead() and TagWrite() for tag with " [ " in their address. Details as following:

OPC:

Using Cicode function TagRead() and TagWrite() for Citect Array where " [ " is only at the end of Tag address and must be used with !A together. For example:

Variable Tag Name: Status_Flags
Address: device(1967).analog-output(1).status-flags!A[4]

  Using this option, driver supports both INI array and Citect array provided " [ " is not in tag address(device address in opc server).

OPC1:

Using Cicode function TagRead() and TagWrite() for tag with " [ " in their address. For example:

Variable Tag Name: String1 (Single tag)
Address: S7:[S7_PB_Verb1|VFD1|CP_L2_1:]DB32,40.0,1

Or:

Variable Tag Name: Status1 (INI Array tag)
Address: Status_Array[52] (no exclamation mark is used)

In this case, driver just supports INI array.

 

Keywords:
 

Attachments