Applies To:
  • CitectSCADA 4.xx, 5.xx

Summary:
The DDE addressing format that allows an external program (such as a spreadsheet) to access Citect variables uses the format citect|variable!tagname.

A variable tag array addressing memory in an AB PLC5, for example, may be defined in the variable tags definition similarly to:

Variable Tag Name:    Array
Data Type:                  Digital
I/O Device Name:       PLC
Address:                    N7:1/1[10]

This would give a 10 element digital array referencing PLC memory locations N7:1/1 to N7:1/10.

To refer to the second element of the array (N7:1/2) within Citect we'd use Array[2] as the tag name.

A DDE construct of citect|variable!array[2] to address the second element of an array would be handy, but this is not supported by the DDE mechanism. This is not a Citect error, it is just a limitation in the DDE protocol.

 

Solution:
Create additional variable tags that point directly to the PLC memory address of the array element, then use these additional tag names to form the DDE address. For example, a variable tag defined as:

Variable Tag Name:    DdeA2
Data Type:                  Digital
I/O Device Name:       PLC
Address:                    N7:1/2

A DDE reference of citect|variable!ddea2 will reference the same PLC information as Array[2] in the example. The additional tags do not add to the point count since no new I/O is being defined.

In a large array setup this will be a little tedious to setup, but it will get around the limitation.


Keywords:
 

Attachments