I have this little piece of code that ignition keeps throwing an error on. It doesn’t like line 3 for whatever reason but the code works so I am not sure what its issue is. Does someone see something that I don’t see?
Edit:
I should say that this code takes the first and last values of a chart (this code sits in the propertychange of a chart). Finds the difference and sends that value to a label.
Dataset = event.source.Data
row = Dataset.getRowCount()-1
end = Dataset.getValueAt(row,1)
start = Dataset.getValueAt(0,1)
change = end - start
event.source.parent.getComponent('Label and Label (1)').Value = change
com.inductiveautomation.ignition.common.script.JythonExecException: Traceback (most recent call last):
File "<event:propertyChange>", line 3, in <module>
at com.inductiveautomation.ignition.client.gateway_interface.OptimizedDataSet.getValueAt(OptimizedDataSet.java:122)
at com.inductiveautomation.factorypmi.application.binding.util.NonSerializingDataset.getValueAt(NonSerializingDataset.java:66)
at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
java.lang.ArrayIndexOutOfBoundsException: java.lang.ArrayIndexOutOfBoundsException: 25920
at org.python.core.Py.JavaError(Py.java:495)
at org.python.core.Py.JavaError(Py.java:488)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:188)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204)
at org.python.core.PyObject.__call__(PyObject.java:422)
at org.python.core.PyObject.__call__(PyObject.java:426)
at org.python.core.PyMethod.__call__(PyMethod.java:139)
at org.python.pycode._pyx40.f$0(<event:propertyChange>:6)
at org.python.pycode._pyx40.call_function(<event:propertyChange>)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1275)
at com.inductiveautomation.ignition.common.script.ScriptManager.runCode(ScriptManager.java:636)
at com.inductiveautomation.factorypmi.application.binding.action.ActionAdapter.runActions(ActionAdapter.java:180)
at com.inductiveautomation.factorypmi.application.binding.action.ActionAdapter.access$000(ActionAdapter.java:40)
at com.inductiveautomation.factorypmi.application.binding.action.ActionAdapter$ActionRunner.run(ActionAdapter.java:286)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: org.python.core.PyException: Traceback (most recent call last):
File "<event:propertyChange>", line 3, in <module>
at com.inductiveautomation.ignition.client.gateway_interface.OptimizedDataSet.getValueAt(OptimizedDataSet.java:122)
at com.inductiveautomation.factorypmi.application.binding.util.NonSerializingDataset.getValueAt(NonSerializingDataset.java:66)
at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
java.lang.ArrayIndexOutOfBoundsException: java.lang.ArrayIndexOutOfBoundsException: 25920
... 30 common frames omitted
Caused by: java.lang.ArrayIndexOutOfBoundsException: 25920
at com.inductiveautomation.ignition.client.gateway_interface.OptimizedDataSet.getValueAt(OptimizedDataSet.java:122)
at com.inductiveautomation.factorypmi.application.binding.util.NonSerializingDataset.getValueAt(NonSerializingDataset.java:66)
at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186)
... 27 common frames omitted