I have an array variable called TestArray in my PLC that is defined as a DINT array of 200 elements (DINT in Rx3i speak is a double word integer). In the PLC, TestArray is set to publish on OPC as "External Read/Write". EG An external source can write to it
In a fresh install of 8.1.2, I created an OPC connection to the PLC, and in a new project I created an OPC tag pointing to the variable. Ignition reported this as an Integer Array, Read only was false and the array has 200 elements.
The project is set to Comm Read/Write
I can change the value of elements in the PLC and see the value change in Ignition.
However, when I try and write a new value from Ignition I get an error dialog box:
Error writing to TestArray[1].value: Bad("Bad_WriteNotSupported: The server not does support writing the combination of value")
We can verify this with Wireshark, but it probably means the server does not support writing with the indexRange parameter specified, which is required if you are attempting to write to an element of an array in OPC UA and not the entire array itself.
If this is the case you’ll end up having to write the entire array at once via scripting.
If you get the Wireshark capture of Ignition performing the write (with security disabled for the connection) we can verify there’s at least not some bug on the Ignition side and this is indeed the indexRange parameter being rejected.
I wouldn’t hold out for a firmware update fixing this… probably just figure out how to write the whole array from scripting.