I have come across an issue when trying to read tags using the:
Once you have read a tag with this function it’s value ceases to be available to the SQLTags Browser until you restart the OPC modules on the gateway.
let me know if you want more info on this.
What kind of device were you using?
Also: is this a COM or UA OPC server you are talking about?
UA OPC. The default one created when Ignition is installed.
What kind of device are you connected to? I cannot replicate this problem locally so any details that would differentiate between my setup and yours will be helpful at this point.
The PLC in question was a ContolLogix 1756-L55. (with a “beefy” memory upgrade)
We had an array of 64 fairly complex UDT’s “mapped” through ignition (around 11,008 tags - thanks to the UDT having a couple of 82 character STRING elements + 8 others) at the time which may have contributed to the situation. We have since revised the way we deal with this and the problem seems to have been rectified.
Thanks to the system.opc.readValues() and writeValue() functions we now only monitor a couple of “hot” flags that indicate which elements in the array have been updated/read. The “Tag Changed” event is now used as a trigger to perform a “once-off” read of the affected UDT array element only then write a handshake back to indicate we have colected the data.
Is there any better way that we could have done this? - Bearing in mind that as we are part of the “I.S.” department we don’t get much say in what happens within the PLC code itself.