OPC Monitored Items

I am using Ignition Vision and an Omron NX102 PLC functioning as an OPC-UA server to supply Ignition with tag values. The NX102 built-in OPC server has a stated limit of 2000 monitored items, and I'm using slightly over 85% of that cap.

This morning, I opened up the Vision Client after starting the Gateway (this is still in development, so the Gateway is restarted often), and many of my components in Ignition were reading errors. The diagnostic readout showed that the OPC tags associated were giving an error that I was over the monitored item count.

I have a gauge on one view that I use to show this count, and I located the MonitoredItemCount member in the OPC structure for the current subscription (changes every restart of the Gateway). I bound the new subscription's member to the gauge, and it read 1752. When I did this, all the tags in my client refreshed, and the errors went away.

I'm admittedly a little green with OPC, so maybe there's something I'm missing about how that interacts with Ignition, or this could be on the Omron side too. Just wondering if anyone has any insight on what could have caused something like this. I'd like to figure it out before putting this into production and getting a call someday when the Gateway restarts and the tags error out again.

I would suspect a session timeout on the Omron side was still holding the items from before the restart, and therefore rejected the post-restart subscription requests. Which were then poked/prodded when you added the one item a bit later.

Vendors put limits in these on-PLC OPC servers to protect the device against overload (OPC servers are pretty heavy-weight tasks for true real time environments), but those limits have side effects. If you can limit using the OPC connection, you should.

FWIW, I'd be delighted to have more NX testing of my EtherNet/IP client driver, which supports the NJ/NX family:

/shameless plug

On a clean gateway restart the Session is closed and Subscriptions deleted along with it.

At this point there's probably no way to figure out what happened, but if it's something you can reproduce then some options open up (Wireshark, loggers, ....).

2 Likes