I’m using a Click PLC Modbus TCP device. I’ve verified that my application and tags from my project are able to write to this PLC. Right now though, I have question marks over my tags, with the error “Uncertain_InitialValue” and my server logs have a bunch of errors of this nature -

An example of one of the OPC tags I have is here -

Checking the OPC Quick Client for the same tag on the Gateway page, it seems to read fine -

Any idea what is happening? Currently the SocketIODelegate error is all over my server logs.

This means the device is closing the connection for some reason. The 2 most common reasons I see this happen are either:

  • you’re not reading values from it quick enough. most Modbus devices close a connection after 10 seconds of inactivity.
  • you’re reading an address it considers invalid and instead of returning the appropriate error code it’s just closing the connection.

Easiest way to troubleshoot is to disable all your tags on this device, make sure you’re using a fast enough tag group, then start enabling them 1 by 1 to figure out if even 1 tag works, then if multiple work, and which, if any, tag eventually causes the connection to start closing again.

So when we imported our tags from 7.9 to 8.0, apparently we did not import tag group definitions (not sure if that’s even possible?) So the OPC tags were referencing a group that did not exist. Just putting them to the tag group default fixed the issue.