Quit Communicating Over Night

When I got to work this morning I noticed nearly all transaction groups had ‘stale’ data. On the status page for OPC servers I noticed the following error:

java.lang.Exception: No OPC server named “” exists.
com.inductiveautomation.ignition.gateway.opc.OPCManagerImpl.findServer(OPCManagerImpl.java:351)
com.inductiveautomation.ignition.gateway.opc.OPCManagerImpl.read(OPCManagerImpl.java:394)
com.inductiveautomation.factorysql.evaluation.data.StandardSubscriptionManager.execute(StandardSubscriptionManager.java:101)
com.inductiveautomation.factorysql.evaluation.data.StandardSubscriptionManager.executePostTrigger(StandardSubscriptionManager.java:89)
com.inductiveautomation.factorysql.groups.AbstractItemExecutionGroup$2.preEvaluate(AbstractItemExecutionGroup.java:563)
com.inductiveautomation.factorysql.evaluation.itemexecutors.ExecutorCollection.evaluate(ExecutorCollection.java:70)
com.inductiveautomation.factorysql.evaluation.itemexecutors.ExecutorCollection.preEvaluate(ExecutorCollection.java:59)
com.inductiveautomation.factorysql.groups.AbstractItemExecutionGroup.onTriggerPreEvaluation(AbstractItemExecutionGroup.java:641)
com.inductiveautomation.factorysql.groups.AbstractGroup.evaluate(AbstractGroup.java:407)
com.inductiveautomation.factorysql.groups.AbstractGroup$1.run(AbstractGroup.java:354)
com.inductiveautomation.factorysql.evaluation.GeneralGroupExecutor.run(GeneralGroupExecutor.java:28)
com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$SelfSchedulingRunner.run(BasicExecutionEngine.java:470)
com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$TrackedTask.run(BasicExecutionEngine.java:552)
java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
java.util.concurrent.FutureTask.run(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

I’m not sure where where an OPC server named “” came from. The server I am using “IgnitionOPCUA” shows no errors (“Connected”). Also, on the status page, toward the bottom there looks like a list of events for operations. For all data here is a typical result:

[IgnitionOPCUA][KanbanPLC]Line02.PartData.PartData[0].ConditionStatus 3 No data available 2011-03-15 07:36:31

The network is up and working. I was only able to get it to start working by going to the ‘Configure Devices’ page and clicking ‘refresh browse’. It looks like comms between the SQL Bridge module and the OPC server quit. Any ideas why and how to prevent it in the future?

Hi,

That error certainly is strange, and we’ll look into why it reported like that. In regards to the actual communication problem, first off- what version of Ignition are you running? There were several issues surrounding device reconnections fixed in 7.2.4. Let me know if you’re currently using that version.

Regards,

I believe I’m running 7.1.9. It certainly may have to do with ‘reconnection’ as the network may have been down briefly overnight. Should I upgrade?

Well, the problems that were solved shouldn’t have been present in 7.1.9, unless perhaps changes were made to the controller in the mean time.

I still have to look more into that stack trace- upgrading might help, but if this isn’t happening frequently you might want to wait a few days.

Regards,

I’ll wait for your advice on upgrading. One thing though: You said “unless perhaps changes were made to the controller in the mean time.” Are you referring to changes in the PLC? This does happen from time to time, especially now as we’re still in the developement phase of the project. Will this effect comms? I’ve noticed that changes (addition/subtraction) of tags in the PLC require me to ‘browse’ the device for those tags to become ‘visible’ to the SQL Bridge.

Hi,

Yes, that’s exactly what I was referring to. Changing the tags in the PLC can throw things off until you do a “refresh browse”, as you described. Version 7.2 has additional logic to automatically detect changes in the PLC and perform this step automatically for you.

I would say go ahead and upgrade. I suspect that the PLC changes are at the root of your problem. I’ve looked into that error but can’t immediately see the cause, if it happens again try grabbing the “wrapper.log” files in the install directory and email them to support@inductiveautomation.com as soon as you can. I think there must have been a different root error, and this one was simply covering it up.

Regards,