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?