--- a/runtime/PLCObject.py Mon Sep 16 13:45:04 2019 +0200
+++ b/runtime/PLCObject.py Wed Sep 18 11:03:56 2019 +0200
@@ -319,12 +319,15 @@
- def PythonRuntimeCall(self, methodname, use_evaluator=True):
+ def PythonRuntimeCall(self, methodname, use_evaluator=True, reverse_order=False): Calls init, start, stop or cleanup method provided by
runtime python files, loaded when new PLC uploaded
- for method in self.python_runtime_vars.get("_runtime_%s" % methodname, []):
+ methods = self.python_runtime_vars.get("_runtime_%s" % methodname, []) + methods = reversed(methods) _res, exp = self.evaluator(method)
@@ -395,7 +398,7 @@
if self.python_runtime_vars is not None:
self.PythonThreadCommand("Finish")
- self.PythonRuntimeCall("cleanup", use_evaluator=False)
+ self.PythonRuntimeCall("cleanup", use_evaluator=False, reverse_order=True) self.python_runtime_vars = None
@@ -438,7 +441,7 @@
self.PythonRuntimeCall("start")
- self.PythonRuntimeCall("stop")
+ self.PythonRuntimeCall("stop", reverse_order=True)