--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/exemples/python/python@py_ext/pyfile.xml Mon Sep 13 22:23:14 2021 +0200
@@ -0,0 +1,69 @@
+<?xml version='1.0' encoding='utf-8'?>
+<PyFile xmlns:xhtml="http://www.w3.org/1999/xhtml">
+ <variables>
+ <variable name="Test_Python_Var" type="INT" initial="4"/>
+ <variable name="Second_Python_Var" type="INT" initial="5"/>
+ </variables>
+ <globals>
+ <xhtml:p><![CDATA[
+import time,sys,ctypes
+Python_to_C_Call = PLCBinary.Python_to_C_Call
+Python_to_C_Call.restype = ctypes.c_int
+Python_to_C_Call.argtypes = [ctypes.c_int, ctypes.POINTER(ctypes.c_int)]
+
+def MyPythonFunc(arg):
+ i = ctypes.c_int()
+ if(Python_to_C_Call(arg, i)):
+ res = i.value
+ print "toC:", arg, "from C:", res, "FBID:", FBID
+ else:
+ print "Failed Python_to_C_Call failed"
+ res = None
+ print "Python read PLC global :",PLCGlobals.Test_Python_Var
+ print "Python read PLC global Grumpf :",PLCGlobals.Grumpf
+ PLCGlobals.Second_Python_Var = 789
+ sys.stdout.flush()
+ return res
+
+async_error_test_code = """
+def badaboom():
+ tuple()[0]
+
+import wx
+def badaboomwx():
+ wx.CallAfter(badaboom)
+
+from threading import Timer
+a = Timer(3, badaboom)
+a.start()
+
+b = Timer(6, badaboomwx)
+b.start()
+"""
+]]></xhtml:p>
+ </globals>
+ <init>
+ <xhtml:p><![CDATA[
+global x, y
+x = 2
+y = 5
+print "py_runtime init:", x, ",", y
+]]></xhtml:p>
+ </init>
+ <cleanup>
+ <xhtml:p><![CDATA[
+print "py_runtime cleanup"
+]]></xhtml:p>
+ </cleanup>
+ <start>
+ <xhtml:p><![CDATA[
+global x, y
+print "py_runtime start", x * x + y * y
+]]></xhtml:p>
+ </start>
+ <stop>
+ <xhtml:p><![CDATA[
+print "py_runtime stop"
+]]></xhtml:p>
+ </stop>
+</PyFile>