author | Laurent Bessard |
Fri, 06 Dec 2013 13:24:28 +0100 | |
changeset 1383 | 45935812f930 |
parent 1145 | 203f4eff3313 |
child 1401 | 611fded24ce4 |
permissions | -rw-r--r-- |
1099 | 1 |
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
1125 | 2 |
<PyFile> |
1099 | 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 | 6 |
</variables> |
7 |
<globals> |
|
1125 | 8 |
<![CDATA[ |
9 |
import time,sys,ctypes |
|
1099 | 10 |
Python_to_C_Call = PLCBinary.Python_to_C_Call |
11 |
Python_to_C_Call.restype = ctypes.c_int |
|
12 |
Python_to_C_Call.argtypes = [ctypes.c_int, ctypes.POINTER(ctypes.c_int)] |
|
13 |
||
14 |
def MyPythonFunc(arg): |
|
15 |
i = ctypes.c_int() |
|
16 |
if(Python_to_C_Call(arg, i)): |
|
17 |
res = i.value |
|
18 |
print "toC:", arg, "from C:", res, "FBID:", FBID |
|
19 |
else: |
|
20 |
print "Failed Python_to_C_Call failed" |
|
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 |
203f4eff3313
Fixed PLC global var access from python. Added test in tests/python
Edouard Tisserant
parents:
1125
diff
changeset
|
23 |
PLCGlobals.Second_Python_Var = 789 |
1099 | 24 |
sys.stdout.flush() |
25 |
return res |
|
26 |
||
27 |
async_error_test_code = """ |
|
28 |
def badaboom(): |
|
29 |
tuple()[0] |
|
30 |
||
31 |
import wx |
|
32 |
def badaboomwx(): |
|
33 |
wx.CallAfter(badaboom) |
|
34 |
||
35 |
from threading import Timer |
|
36 |
a = Timer(3, badaboom) |
|
37 |
a.start() |
|
38 |
||
39 |
b = Timer(6, badaboomwx) |
|
40 |
b.start() |
|
41 |
""" |
|
42 |
]]> |
|
43 |
</globals> |
|
1125 | 44 |
<init> |
45 |
<![CDATA[ |
|
46 |
global x, y |
|
47 |
x = 2 |
|
48 |
y = 5 |
|
49 |
print "py_runtime init:", x, ",", y |
|
50 |
]]> |
|
51 |
</init> |
|
52 |
<cleanup> |
|
53 |
<![CDATA[ |
|
54 |
print "py_runtime cleanup" |
|
55 |
]]> |
|
56 |
</cleanup> |
|
57 |
<start> |
|
58 |
<![CDATA[ |
|
59 |
global x, y |
|
60 |
print "py_runtime start", x * x + y * y |
|
61 |
]]> |
|
62 |
</start> |
|
63 |
<stop> |
|
64 |
<![CDATA[ |
|
65 |
print "py_runtime stop" |
|
66 |
]]> |
|
67 |
</stop> |
|
68 |
</PyFile> |