Applies To: |
|
Summary: |
When configuring array items for tag based
drivers such as OPC (or OPC1), whilst accessing some of the array
items or individually indexed array items through the Cicode
TagRead and TagWrite functions an error would sometimes appear
informing the user that an "Array has been overrun" had
occurred. The suggestion given in KB Q3462 was implemented but it does not fully solve the "Array has been overrun" error. Below is an example of the OPC Variable tags configured in the Project: Tag Name | Tag Address | Data Type --------------------------------------------------------------------------------- ABIntegerArray_0 | ABIntegerArray[0] | INT ABIntegerArray | ABIntegerArray,L10!A[10] | INT Below is an example of the different Protdir settings and results of the TagRead/TagWrite commands: Scenario 1 Set the protdir option to be 0x2080cf (OPTION OFF). I am not be able to TagRead(ABIntegerArray_0). TagRead(ABIntegerArray[n]) does work for all elements. Scenario 2 Set the protdir option to be 0x2880cf (OPTION ON). TagRead(ABIntegerArray_0) works. TagRead(ABIntegerArray[n]) will not work for n = 1 and above. Only the first item will work. How do you resolve this issue? |
Solution: |
Citect has confirmed this to be a problem
in CitectHMI/SCADA versions 5.xx. This problem has been fixed in
version 6.00. This has been resolved and consequently the protdir option 0x08000 described in KB article Q3462 is now not required and will be ignored if set for a particular driver. |
Keywords: |
array overrun, array tags, OPC |
Related Links
Attachments