Ignition 8.0.12
I have a project function. I call this function from a timer script. but i get an error on the gateway.
the function works fine when I call it from somewhere in the project.
please help
the error is the following:
com.inductiveautomation.ignition.common.script.JythonExecException: Traceback (most recent call last): File "", line 27, in checkValues at java.base/java.util.concurrent.CompletableFuture.timedGet(Unknown Source) at java.base/java.util.concurrent.CompletableFuture.get(Unknown Source) at com.inductiveautomation.ignition.gateway.script.LegacyGatewayTagUtilities.read(LegacyGatewayTagUtilities.java:459) at com.inductiveautomation.ignition.common.script.builtin.LegacyTagUtilities.read(LegacyTagUtilities.java:168) at jdk.internal.reflect.GeneratedMethodAccessor13.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) java.util.concurrent.TimeoutException: java.util.concurrent.TimeoutException
at org.python.core.Py.JavaError(Py.java:552)
at org.python.core.Py.JavaError(Py.java:543)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:190)
at com.inductiveautomation.ignition.common.script.ScriptManager$ReflectedInstanceFunction.__call__(ScriptManager.java:521)
at org.python.core.PyObject.__call__(PyObject.java:480)
at org.python.core.PyObject.__call__(PyObject.java:484)
at org.python.pycode._pyx2262.checkValues$2(:35)
at org.python.pycode._pyx2262.call_function()
at org.python.core.PyTableCode.call(PyTableCode.java:171)
at org.python.core.PyBaseCode.call(PyBaseCode.java:308)
at org.python.core.PyFunction.function___call__(PyFunction.java:471)
at org.python.core.PyFunction.__call__(PyFunction.java:466)
at org.python.core.PyFunction.__call__(PyFunction.java:456)
at org.python.core.PyFunction.__call__(PyFunction.java:451)
at com.inductiveautomation.ignition.common.script.ScriptManager.runFunction(ScriptManager.java:815)
at com.inductiveautomation.ignition.gateway.project.ProjectScriptLifecycle$TrackingProjectScriptManager.runFunction(ProjectScriptLifecycle.java:687)
at com.inductiveautomation.ignition.gateway.script.GatewayTagUtilities.lambda$readAsyncImpl$1(GatewayTagUtilities.java:138)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.python.core.PyException: Traceback (most recent call last): File "", line 27, in checkValues at java.base/java.util.concurrent.CompletableFuture.timedGet(Unknown Source) at java.base/java.util.concurrent.CompletableFuture.get(Unknown Source) at com.inductiveautomation.ignition.gateway.script.LegacyGatewayTagUtilities.read(LegacyGatewayTagUtilities.java:459) at com.inductiveautomation.ignition.common.script.builtin.LegacyTagUtilities.read(LegacyTagUtilities.java:168) at jdk.internal.reflect.GeneratedMethodAccessor13.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) java.util.concurrent.TimeoutException: java.util.concurrent.TimeoutException
... 24 common frames omitted
Caused by: java.util.concurrent.TimeoutException: null
at java.base/java.util.concurrent.CompletableFuture.timedGet(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.get(Unknown Source)
at com.inductiveautomation.ignition.gateway.script.LegacyGatewayTagUtilities.read(LegacyGatewayTagUtilities.java:459)
at com.inductiveautomation.ignition.common.script.builtin.LegacyTagUtilities.read(LegacyTagUtilities.java:168)
at jdk.internal.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:188)
... 21 common frames omitted
the function:
def activePowerCalc():
def checkValues(asyncReturn):
total=0
i=0
lista=[]
label=[]
value=[]
for qv in asyncReturn:
lista.append([qv.value,paths[i]])
total+=qv.value
i=i+1
listaSorted=sorted(lista, reverse=True)
listaSorted=listaSorted[0:5]
for i in listaSorted:
stationCode=i[1][5:8]
stationNamePath='[BB2]'+stationCode+'/_'+stationCode+'/Description'
stationName=system.tag.read(stationNamePath).value
label.append(stationName)
value.append(i[0])
hdr = ['Label','Value']
fullDS = zip(label,value)
data=system.dataset.toDataSet(hdr,fullDS)
system.tag.write('[BB2]_Dashboard/_power',data)
paths=[
"[BB2]D01/ST01/PM_0001/PR2/MPPT",
"[BB2]D02/ST01/PM_0001/PR2/MPPT",
"[BB2]D03/ST01/PM_0001/PR2/MPPT",
"[BB2]D04/ST01/PM_0001/PR2/MPPT",
"[BB2]D05/ST01/PM_0001/PR2/MPPT",
"[BB2]D09/ST01/PM_0001/PR2/MPPT",
"[BB2]D10/ST01/PM_0001/PR2/MPPT",
"[BB2]D13/ST01/PM_0001/PR2/MPPT",
"[BB2]D14/ST01/PM_0001/PR2/MPPT",
]
system.tag.readAsync(paths, checkValues)```