exemples/python/python@py_ext/pyfile.xml
author Edouard Tisserant
Thu, 23 Dec 2021 11:36:37 +0100
branchRuntimeLists
changeset 3399 95e0b926a8c3
parent 3351 88dbdebd10fc
child 3814 ab0afe798428
permissions -rw-r--r--
SVGHMI: optimization of C part : stop traversing the whole HMI tree, use dual linked list for subscriptions and single linked list for changes from HMI. Intermediate commit, still crashing in some cases.
1401
611fded24ce4 Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python
Edouard Tisserant
parents: 1145
diff changeset
     1
<?xml version='1.0' encoding='utf-8'?>
611fded24ce4 Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python
Edouard Tisserant
parents: 1145
diff changeset
     2
<PyFile xmlns:xhtml="http://www.w3.org/1999/xhtml">
1099
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
     3
  <variables>
1145
203f4eff3313 Fixed PLC global var access from python. Added test in tests/python
Edouard Tisserant
parents: 1125
diff changeset
     4
    <variable name="Test_Python_Var" type="INT" initial="4"/>
203f4eff3313 Fixed PLC global var access from python. Added test in tests/python
Edouard Tisserant
parents: 1125
diff changeset
     5
    <variable name="Second_Python_Var" type="INT" initial="5"/>
1099
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
     6
  </variables>
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
     7
  <globals>
1401
611fded24ce4 Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python
Edouard Tisserant
parents: 1145
diff changeset
     8
    <xhtml:p><![CDATA[
1125
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
     9
import time,sys,ctypes
1099
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    10
Python_to_C_Call = PLCBinary.Python_to_C_Call
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    11
Python_to_C_Call.restype = ctypes.c_int
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    12
Python_to_C_Call.argtypes = [ctypes.c_int, ctypes.POINTER(ctypes.c_int)]
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    13
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    14
def MyPythonFunc(arg):
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    15
    i = ctypes.c_int()
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    16
    if(Python_to_C_Call(arg, i)):
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    17
        res = i.value
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    18
        print "toC:", arg, "from C:", res, "FBID:", FBID
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    19
    else:
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    20
        print "Failed Python_to_C_Call failed"
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    21
        res = None
1145
203f4eff3313 Fixed PLC global var access from python. Added test in tests/python
Edouard Tisserant
parents: 1125
diff changeset
    22
    print "Python read PLC global :",PLCGlobals.Test_Python_Var
2680
6bfed6757495 tests/python : add some STRING PLC Python globals with OnChange.
Edouard Tisserant
parents: 1401
diff changeset
    23
    print "Python read PLC global Grumpf :",PLCGlobals.Grumpf
1145
203f4eff3313 Fixed PLC global var access from python. Added test in tests/python
Edouard Tisserant
parents: 1125
diff changeset
    24
    PLCGlobals.Second_Python_Var = 789
1099
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    25
    sys.stdout.flush()
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    26
    return res
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    27
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    28
async_error_test_code = """
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    29
def badaboom():
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    30
    tuple()[0]
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    31
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    32
import wx
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    33
def badaboomwx():
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    34
    wx.CallAfter(badaboom)
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    35
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    36
from threading import Timer
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    37
a = Timer(3, badaboom)
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    38
a.start()
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    39
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    40
b = Timer(6, badaboomwx)
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    41
b.start()
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    42
"""
1401
611fded24ce4 Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python
Edouard Tisserant
parents: 1145
diff changeset
    43
]]></xhtml:p>
1099
d9c28879e55b Updated python test
Laurent Bessard
parents:
diff changeset
    44
  </globals>
1125
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    45
  <init>
1401
611fded24ce4 Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python
Edouard Tisserant
parents: 1145
diff changeset
    46
    <xhtml:p><![CDATA[
1125
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    47
global x, y
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    48
x = 2
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    49
y = 5
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    50
print "py_runtime init:", x, ",", y
1401
611fded24ce4 Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python
Edouard Tisserant
parents: 1145
diff changeset
    51
]]></xhtml:p>
1125
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    52
  </init>
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    53
  <cleanup>
1401
611fded24ce4 Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python
Edouard Tisserant
parents: 1145
diff changeset
    54
    <xhtml:p><![CDATA[
1125
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    55
print "py_runtime cleanup"
1401
611fded24ce4 Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python
Edouard Tisserant
parents: 1145
diff changeset
    56
]]></xhtml:p>
1125
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    57
  </cleanup>
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    58
  <start>
1401
611fded24ce4 Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python
Edouard Tisserant
parents: 1145
diff changeset
    59
    <xhtml:p><![CDATA[
1125
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    60
global x, y
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    61
print "py_runtime start", x * x + y * y
1401
611fded24ce4 Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python
Edouard Tisserant
parents: 1145
diff changeset
    62
]]></xhtml:p>
1125
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    63
  </start>
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    64
  <stop>
1401
611fded24ce4 Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python
Edouard Tisserant
parents: 1145
diff changeset
    65
    <xhtml:p><![CDATA[
1125
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    66
print "py_runtime stop"
1401
611fded24ce4 Pair with matiec a51a3bb4d613. Re-enable resource add/remove, updated CFLAGS, disabled broken global FG test in tests/python
Edouard Tisserant
parents: 1145
diff changeset
    67
]]></xhtml:p>
1125
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    68
  </stop>
1b1472e76f07 Updated python example
Laurent Bessard
parents: 1099
diff changeset
    69
</PyFile>