Subscription ID Invalid Error

Hey guys,

Over the weekend I made some changes to my Kepware server in an effort to optimize some communications. I had a bunch of devices in the same communications channel and I wanted to seperate them, so I moved all of the devices to their own channels. This of course changed their OPC path but I set up an alias map which, according to Kepware, should make the old OPC tag path valid and should be completely transparent to the OPC clients connecting to the Kepware server.

After I finished setting everything up I tested the communications and everything was communicating fine, all of my tags in Ignition had values and as far as I can tell no tags are having problems updating values. However, I get the following two errors in the console every 15-30 seconds:

INFO | jvm 1 | 2013/02/18 00:40:35 | ERROR [CreateMonitoredItemsCall ] [00:40:35,306]: Call failed server-side with StatusCode: StatusCode[0x80280000, Severity=Bad, Subcode=Bad_SubscriptionIdInvalid]. Bad_SubscriptionIdInvalid INFO | jvm 1 | 2013/02/18 00:40:50 | WARN [CreateMonitoredItemsService ] [00:40:50,355]: Returning ServiceFault for request: [CreateMonitoredItemsRequest requestHandle=2141420]. StatusCode=StatusCode[0x80280000, Severity=Bad, Subcode=Bad_SubscriptionIdInvalid]

This started happening right after I set up the alias map in Kepware, so I’m pretty sure it’s related. Is there a way to track down what subscription ID it thinks is invalid and what it’s for? It’s possible that I missed something and I just can’t find it but I have no idea what it would be since everything looks fine and I’m not losing any data. Any help or ideas would be appreciated, thanks!

This is likely a problem with the UA client state being a little out of sync - try edit/saving your UA connection (forcing a reconnect) and they will likely disappear.

7.5.6 will have a UA module that has had work done in the UA client to try and resolve issues like this.

Ok, I gave that a shot and then I got the following error(s):

java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) INFO | jvm 1 | 2013/02/18 09:56:24 | at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) INFO | jvm 1 | 2013/02/18 09:56:24 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) INFO | jvm 1 | 2013/02/18 09:56:24 | at java.lang.Thread.run(Thread.java:662) INFO | jvm 1 | 2013/02/18 09:56:24 | WARN [AsyncRemoteServer ] [09:56:23,945]: Error receiving PublishResponse. INFO | jvm 1 | 2013/02/18 09:56:24 | StatusCode[0x80260000, Severity=Bad, Subcode=Bad_SessionClosed]: Bad_SessionClosed

Then I start getting the other subscription errors again.

I manually went through all of the tags that I moved in Kepware and changed the OPC path to match the new path and deleted the alias map entries. Everything is still communicating but I’m still getting those subscription ID errors so now I’m really confused.

OK, I restarted Ignitions’ OPC UA server and that seemed to take care of the issue for some reason. Restarting the connection to Kepware did not. Not sure why… but that seemed to take care of it. Thanks!