I have had a pretty persistent problem. Where Ignition seems to pick out one of my Soft Logix machines and exhibits the below behavior. Or they pick ignition. I know that Soft Logix isn’t officially supported. I am using Allen-Bradley ControlLogix (Legacy), driver. The affected machines seem to be the ones I have that run ver 16.xx and not the ones that are ver 19.xx although I couldn’t swear it.
The new IA drivers(21+) seem to work with my versions of Soft Logix as well. But, if I recall there were problems getting string datatypes. I am thinking about looking into trying that again. When I initially tried it I was super new to ignition. But, can you add the same device twice? With two different drivers? I can’t lose the one that is in production lol. This is so intermittent as well it would not a very good test. And who is to say when the problem would resurface. Restarting the gateway solves the problem or simply “re-saving” the device in the gateway web app. And returns my gateway back to its nice and stable sub 10%CPU. MySQL, as I have it, is already really CPU intensive on this machine. Which is a whole other problem I have…
Do real systems integrators implement logic of some sort or another to recognize this and reset? is that possible?
Everything seems normal with the device. Scan times and transaction groups all seem to be fine with the device. It’s just eating CPU?
As always I really appreciate any help or guidance!
Thread [drivers-controllogixdriver-D06-2] id=166, (RUNNABLE)
java.base@11.0.4/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.base@11.0.4/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.base@11.0.4/java.lang.Thread.run(Unknown Source)
Thread [drivers-controllogixdriver-D06-1] id=164, (WAITING for java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@23f9258c)
java.base@11.0.4/jdk.internal.misc.Unsafe.park(Native Method)
java.base@11.0.4/java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.base@11.0.4/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.base@11.0.4/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.base@11.0.4/java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.base@11.0.4/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.base@11.0.4/java.lang.Thread.run(Unknown Source)
Thread [drivers-request-cycle-D06] id=136475, (WAITING for java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@2e135dc6)
java.base@11.0.4/jdk.internal.misc.Unsafe.park(Native Method)
java.base@11.0.4/java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.base@11.0.4/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
com.inductiveautomation.xopc.driver.api.BlockingRequestQueue.waitForNext(BlockingRequestQueue.java:126)
com.inductiveautomation.xopc.driver.api.BlockingRequestQueue.take(BlockingRequestQueue.java:114)
com.inductiveautomation.xopc.driver.api.BasicRequestCycle.run(BasicRequestCycle.java:127)
java.base@11.0.4/java.lang.Thread.run(Unknown Source)
After re-saving device connection: