26 <dataTypes/> |
19 <dataTypes/> |
27 <pous> |
20 <pous> |
28 <pou name="main_pytest" pouType="program"> |
21 <pou name="main_pytest" pouType="program"> |
29 <interface> |
22 <interface> |
30 <localVars> |
23 <localVars> |
31 <variable name="python1"> |
24 <variable name="getCheckBoxState"> |
32 <type> |
25 <type> |
33 <derived name="python_poll"/> |
26 <derived name="python_poll"/> |
34 </type> |
27 </type> |
35 </variable> |
28 </variable> |
36 <variable name="counter"> |
29 <variable name="counter"> |
37 <type> |
30 <type> |
38 <INT/> |
31 <INT/> |
39 </type> |
32 </type> |
40 </variable> |
33 </variable> |
41 <variable name="Block1"> |
34 <variable name="setSpinCtrlValue"> |
42 <type> |
35 <type> |
43 <derived name="python_poll"/> |
36 <derived name="python_poll"/> |
44 </type> |
37 </type> |
45 </variable> |
38 </variable> |
46 </localVars> |
39 </localVars> |
47 </interface> |
40 </interface> |
48 <body> |
41 <body> |
49 <FBD> |
42 <FBD> |
50 <block localId="24" width="125" height="90" typeName="python_poll" instanceName="python1"> |
43 <block localId="24" width="125" height="90" typeName="python_poll" instanceName="getCheckBoxState" executionOrderId="0"> |
51 <position x="480" y="115"/> |
44 <position x="480" y="215"/> |
52 <inputVariables> |
45 <inputVariables> |
53 <variable formalParameter="TRIG"> |
46 <variable formalParameter="TRIG"> |
54 <connectionPointIn> |
47 <connectionPointIn> |
55 <relPosition x="0" y="35"/> |
48 <relPosition x="0" y="35"/> |
56 <connection refLocalId="25"> |
49 <connection refLocalId="25"> |
57 <position x="480" y="150"/> |
50 <position x="480" y="250"/> |
58 <position x="420" y="150"/> |
51 <position x="420" y="250"/> |
59 </connection> |
52 </connection> |
60 </connectionPointIn> |
53 </connectionPointIn> |
61 </variable> |
54 </variable> |
62 <variable formalParameter="CODE"> |
55 <variable formalParameter="CODE"> |
63 <connectionPointIn> |
56 <connectionPointIn> |
64 <relPosition x="0" y="70"/> |
57 <relPosition x="0" y="70"/> |
65 <connection refLocalId="26"> |
58 <connection refLocalId="26"> |
66 <position x="480" y="185"/> |
59 <position x="480" y="285"/> |
67 <position x="420" y="185"/> |
60 <position x="420" y="285"/> |
68 </connection> |
61 </connection> |
69 </connectionPointIn> |
62 </connectionPointIn> |
70 </variable> |
63 </variable> |
71 </inputVariables> |
64 </inputVariables> |
72 <inOutVariables/> |
65 <inOutVariables/> |
81 <relPosition x="125" y="70"/> |
74 <relPosition x="125" y="70"/> |
82 </connectionPointOut> |
75 </connectionPointOut> |
83 </variable> |
76 </variable> |
84 </outputVariables> |
77 </outputVariables> |
85 </block> |
78 </block> |
86 <inVariable localId="25" height="30" width="100"> |
79 <inVariable localId="25" height="30" width="100" executionOrderId="0" negated="false"> |
87 <position x="320" y="135"/> |
80 <position x="320" y="235"/> |
88 <connectionPointOut> |
81 <connectionPointOut> |
89 <relPosition x="100" y="15"/> |
82 <relPosition x="100" y="15"/> |
90 </connectionPointOut> |
83 </connectionPointOut> |
91 <expression>BOOL#TRUE</expression> |
84 <expression>BOOL#TRUE</expression> |
92 </inVariable> |
85 </inVariable> |
93 <inVariable localId="26" height="30" width="400"> |
86 <inVariable localId="26" height="30" width="400" executionOrderId="0" negated="false"> |
94 <position x="20" y="170"/> |
87 <position x="20" y="270"/> |
95 <connectionPointOut> |
88 <connectionPointOut> |
96 <relPosition x="400" y="15"/> |
89 <relPosition x="400" y="15"/> |
97 </connectionPointOut> |
90 </connectionPointOut> |
98 <expression>'int(HMIFrame.checkbox_1.GetValue())'</expression> |
91 <expression>'int(HMIFrame.checkbox_1.GetValue())'</expression> |
99 </inVariable> |
92 </inVariable> |
100 <inVariable localId="27" height="30" width="40"> |
93 <inVariable localId="27" height="30" width="40" executionOrderId="0" negated="false"> |
101 <position x="510" y="355"/> |
94 <position x="535" y="505"/> |
102 <connectionPointOut> |
95 <connectionPointOut> |
103 <relPosition x="40" y="15"/> |
96 <relPosition x="40" y="15"/> |
104 </connectionPointOut> |
97 </connectionPointOut> |
105 <expression>')'</expression> |
98 <expression>')'</expression> |
106 </inVariable> |
99 </inVariable> |
107 <inVariable localId="28" height="30" width="330"> |
100 <inVariable localId="28" height="30" width="330" executionOrderId="0" negated="false"> |
108 <position x="125" y="265"/> |
101 <position x="150" y="415"/> |
109 <connectionPointOut> |
102 <connectionPointOut> |
110 <relPosition x="330" y="15"/> |
103 <relPosition x="330" y="15"/> |
111 </connectionPointOut> |
104 </connectionPointOut> |
112 <expression>'HMIFrame.spin_ctrl_1.SetValue('</expression> |
105 <expression>'HMIFrame.spin_ctrl_1.SetValue('</expression> |
113 </inVariable> |
106 </inVariable> |
114 <block localId="30" width="145" height="60" typeName="STRING_TO_INT"> |
107 <block localId="30" width="145" height="85" typeName="STRING_TO_INT" executionOrderId="0"> |
115 <position x="670" y="135"/> |
108 <position x="670" y="215"/> |
116 <inputVariables> |
109 <inputVariables> |
117 <variable formalParameter="EN"> |
110 <variable formalParameter="EN"> |
118 <connectionPointIn> |
111 <connectionPointIn> |
119 <relPosition x="0" y="30"/> |
112 <relPosition x="0" y="35"/> |
120 <connection refLocalId="24" formalParameter="ACK"> |
113 <connection refLocalId="24" formalParameter="ACK"> |
121 <position x="670" y="165"/> |
114 <position x="670" y="250"/> |
122 <position x="640" y="165"/> |
115 <position x="605" y="250"/> |
123 <position x="640" y="150"/> |
|
124 <position x="605" y="150"/> |
|
125 </connection> |
116 </connection> |
126 </connectionPointIn> |
117 </connectionPointIn> |
127 </variable> |
118 </variable> |
128 <variable formalParameter="IN"> |
119 <variable formalParameter="IN"> |
129 <connectionPointIn> |
120 <connectionPointIn> |
130 <relPosition x="0" y="50"/> |
121 <relPosition x="0" y="70"/> |
131 <connection refLocalId="24" formalParameter="RESULT"> |
122 <connection refLocalId="24" formalParameter="RESULT"> |
132 <position x="670" y="185"/> |
123 <position x="670" y="285"/> |
133 <position x="605" y="185"/> |
124 <position x="605" y="285"/> |
134 </connection> |
125 </connection> |
135 </connectionPointIn> |
126 </connectionPointIn> |
136 </variable> |
127 </variable> |
137 </inputVariables> |
128 </inputVariables> |
138 <inOutVariables/> |
129 <inOutVariables/> |
139 <outputVariables> |
130 <outputVariables> |
140 <variable formalParameter="ENO"> |
131 <variable formalParameter="ENO"> |
141 <connectionPointOut> |
132 <connectionPointOut> |
142 <relPosition x="145" y="30"/> |
133 <relPosition x="145" y="35"/> |
143 </connectionPointOut> |
134 </connectionPointOut> |
144 </variable> |
135 </variable> |
145 <variable formalParameter="OUT"> |
136 <variable formalParameter="OUT"> |
146 <connectionPointOut> |
137 <connectionPointOut> |
147 <relPosition x="145" y="50"/> |
138 <relPosition x="145" y="70"/> |
148 </connectionPointOut> |
139 </connectionPointOut> |
149 </variable> |
140 </variable> |
150 </outputVariables> |
141 </outputVariables> |
151 </block> |
142 </block> |
152 <block localId="32" width="80" height="80" typeName="ADD"> |
143 <block localId="32" width="80" height="80" typeName="ADD" executionOrderId="0"> |
153 <position x="110" y="300"/> |
144 <position x="135" y="450"/> |
154 <inputVariables> |
145 <inputVariables> |
155 <variable formalParameter="EN"> |
146 <variable formalParameter="EN"> |
156 <connectionPointIn> |
147 <connectionPointIn> |
157 <relPosition x="0" y="30"/> |
148 <relPosition x="0" y="30"/> |
158 <connection refLocalId="38" formalParameter="OUT"> |
149 <connection refLocalId="38" formalParameter="OUT"> |
159 <position x="110" y="330"/> |
150 <position x="135" y="480"/> |
|
151 <position x="100" y="480"/> |
160 <position x="100" y="330"/> |
152 <position x="100" y="330"/> |
161 <position x="100" y="230"/> |
153 <position x="1140" y="330"/> |
162 <position x="1140" y="230"/> |
154 <position x="1140" y="250"/> |
163 <position x="1140" y="165"/> |
155 <position x="1130" y="250"/> |
164 <position x="1130" y="165"/> |
|
165 </connection> |
156 </connection> |
166 </connectionPointIn> |
157 </connectionPointIn> |
167 </variable> |
158 </variable> |
168 <variable formalParameter="IN1"> |
159 <variable formalParameter="IN1"> |
169 <connectionPointIn> |
160 <connectionPointIn> |
170 <relPosition x="0" y="50"/> |
161 <relPosition x="0" y="50"/> |
171 <connection refLocalId="39"> |
162 <connection refLocalId="39"> |
172 <position x="110" y="350"/> |
163 <position x="135" y="500"/> |
173 <position x="65" y="350"/> |
164 <position x="90" y="500"/> |
174 </connection> |
165 </connection> |
175 </connectionPointIn> |
166 </connectionPointIn> |
176 </variable> |
167 </variable> |
177 <variable formalParameter="IN2"> |
168 <variable formalParameter="IN2"> |
178 <connectionPointIn> |
169 <connectionPointIn> |
179 <relPosition x="0" y="70"/> |
170 <relPosition x="0" y="70"/> |
180 <connection refLocalId="33"> |
171 <connection refLocalId="33"> |
181 <position x="110" y="370"/> |
172 <position x="135" y="520"/> |
182 <position x="100" y="370"/> |
173 <position x="125" y="520"/> |
183 <position x="100" y="390"/> |
174 <position x="125" y="540"/> |
184 <position x="315" y="390"/> |
175 <position x="340" y="540"/> |
185 <position x="315" y="350"/> |
176 <position x="340" y="500"/> |
186 <position x="295" y="350"/> |
177 <position x="320" y="500"/> |
187 </connection> |
178 </connection> |
188 </connectionPointIn> |
179 </connectionPointIn> |
189 </variable> |
180 </variable> |
190 </inputVariables> |
181 </inputVariables> |
191 <inOutVariables/> |
182 <inOutVariables/> |
200 <relPosition x="80" y="50"/> |
191 <relPosition x="80" y="50"/> |
201 </connectionPointOut> |
192 </connectionPointOut> |
202 </variable> |
193 </variable> |
203 </outputVariables> |
194 </outputVariables> |
204 </block> |
195 </block> |
205 <block localId="34" width="80" height="100" typeName="CONCAT"> |
196 <block localId="34" width="80" height="100" typeName="CONCAT" executionOrderId="0"> |
206 <position x="580" y="280"/> |
197 <position x="605" y="430"/> |
207 <inputVariables> |
198 <inputVariables> |
208 <variable formalParameter="EN"> |
199 <variable formalParameter="EN"> |
209 <connectionPointIn> |
200 <connectionPointIn> |
210 <relPosition x="0" y="30"/> |
201 <relPosition x="0" y="30"/> |
211 <connection refLocalId="35" formalParameter="ENO"> |
202 <connection refLocalId="35" formalParameter="ENO"> |
212 <position x="580" y="310"/> |
203 <position x="605" y="460"/> |
213 <position x="495" y="310"/> |
204 <position x="520" y="460"/> |
214 <position x="495" y="330"/> |
205 <position x="520" y="480"/> |
215 <position x="475" y="330"/> |
206 <position x="500" y="480"/> |
216 </connection> |
207 </connection> |
217 </connectionPointIn> |
208 </connectionPointIn> |
218 </variable> |
209 </variable> |
219 <variable formalParameter="IN1"> |
210 <variable formalParameter="IN1"> |
220 <connectionPointIn> |
211 <connectionPointIn> |
221 <relPosition x="0" y="50"/> |
212 <relPosition x="0" y="50"/> |
222 <connection refLocalId="28"> |
213 <connection refLocalId="28"> |
223 <position x="580" y="330"/> |
214 <position x="605" y="480"/> |
224 <position x="537" y="330"/> |
215 <position x="562" y="480"/> |
225 <position x="537" y="280"/> |
216 <position x="562" y="430"/> |
226 <position x="455" y="280"/> |
217 <position x="480" y="430"/> |
227 </connection> |
218 </connection> |
228 </connectionPointIn> |
219 </connectionPointIn> |
229 </variable> |
220 </variable> |
230 <variable formalParameter="IN2"> |
221 <variable formalParameter="IN2"> |
231 <connectionPointIn> |
222 <connectionPointIn> |
232 <relPosition x="0" y="70"/> |
223 <relPosition x="0" y="70"/> |
233 <connection refLocalId="35" formalParameter="OUT"> |
224 <connection refLocalId="35" formalParameter="OUT"> |
234 <position x="580" y="350"/> |
225 <position x="605" y="500"/> |
235 <position x="475" y="350"/> |
226 <position x="500" y="500"/> |
236 </connection> |
227 </connection> |
237 </connectionPointIn> |
228 </connectionPointIn> |
238 </variable> |
229 </variable> |
239 <variable formalParameter="IN3"> |
230 <variable formalParameter="IN3"> |
240 <connectionPointIn> |
231 <connectionPointIn> |
241 <relPosition x="0" y="90"/> |
232 <relPosition x="0" y="90"/> |
242 <connection refLocalId="27"> |
233 <connection refLocalId="27"> |
243 <position x="580" y="370"/> |
234 <position x="605" y="520"/> |
244 <position x="550" y="370"/> |
235 <position x="575" y="520"/> |
245 </connection> |
236 </connection> |
246 </connectionPointIn> |
237 </connectionPointIn> |
247 </variable> |
238 </variable> |
248 </inputVariables> |
239 </inputVariables> |
249 <inOutVariables/> |
240 <inOutVariables/> |
258 <relPosition x="80" y="50"/> |
249 <relPosition x="80" y="50"/> |
259 </connectionPointOut> |
250 </connectionPointOut> |
260 </variable> |
251 </variable> |
261 </outputVariables> |
252 </outputVariables> |
262 </block> |
253 </block> |
263 <inOutVariable localId="33" height="35" width="85"> |
254 <inOutVariable localId="33" height="35" width="85" executionOrderId="0" negatedOut="false" negatedIn="false"> |
264 <position x="210" y="335"/> |
255 <position x="235" y="485"/> |
265 <connectionPointIn> |
256 <connectionPointIn> |
266 <relPosition x="0" y="15"/> |
257 <relPosition x="0" y="15"/> |
267 <connection refLocalId="32" formalParameter="OUT"> |
258 <connection refLocalId="32" formalParameter="OUT"> |
268 <position x="210" y="350"/> |
259 <position x="235" y="500"/> |
269 <position x="190" y="350"/> |
260 <position x="215" y="500"/> |
270 </connection> |
261 </connection> |
271 </connectionPointIn> |
262 </connectionPointIn> |
272 <connectionPointOut> |
263 <connectionPointOut> |
273 <relPosition x="85" y="15"/> |
264 <relPosition x="85" y="15"/> |
274 </connectionPointOut> |
265 </connectionPointOut> |
275 <expression>counter</expression> |
266 <expression>counter</expression> |
276 </inOutVariable> |
267 </inOutVariable> |
277 <block localId="35" width="145" height="60" typeName="INT_TO_STRING"> |
268 <block localId="35" width="145" height="60" typeName="INT_TO_STRING" executionOrderId="0"> |
278 <position x="330" y="300"/> |
269 <position x="355" y="450"/> |
279 <inputVariables> |
270 <inputVariables> |
280 <variable formalParameter="EN"> |
271 <variable formalParameter="EN"> |
281 <connectionPointIn> |
272 <connectionPointIn> |
282 <relPosition x="0" y="30"/> |
273 <relPosition x="0" y="30"/> |
283 <connection refLocalId="32" formalParameter="ENO"> |
274 <connection refLocalId="32" formalParameter="ENO"> |
284 <position x="330" y="330"/> |
275 <position x="355" y="480"/> |
285 <position x="190" y="330"/> |
276 <position x="215" y="480"/> |
286 </connection> |
277 </connection> |
287 </connectionPointIn> |
278 </connectionPointIn> |
288 </variable> |
279 </variable> |
289 <variable formalParameter="IN"> |
280 <variable formalParameter="IN"> |
290 <connectionPointIn> |
281 <connectionPointIn> |
291 <relPosition x="0" y="50"/> |
282 <relPosition x="0" y="50"/> |
292 <connection refLocalId="33"> |
283 <connection refLocalId="33"> |
293 <position x="330" y="350"/> |
284 <position x="355" y="500"/> |
294 <position x="295" y="350"/> |
285 <position x="320" y="500"/> |
295 </connection> |
286 </connection> |
296 </connectionPointIn> |
287 </connectionPointIn> |
297 </variable> |
288 </variable> |
298 </inputVariables> |
289 </inputVariables> |
299 <inOutVariables/> |
290 <inOutVariables/> |
308 <relPosition x="145" y="50"/> |
299 <relPosition x="145" y="50"/> |
309 </connectionPointOut> |
300 </connectionPointOut> |
310 </variable> |
301 </variable> |
311 </outputVariables> |
302 </outputVariables> |
312 </block> |
303 </block> |
313 <block localId="36" width="125" height="90" typeName="python_poll" instanceName="Block1"> |
304 <block localId="36" width="125" height="90" typeName="python_poll" instanceName="setSpinCtrlValue" executionOrderId="0"> |
314 <position x="710" y="275"/> |
305 <position x="735" y="425"/> |
315 <inputVariables> |
306 <inputVariables> |
316 <variable formalParameter="TRIG"> |
307 <variable formalParameter="TRIG"> |
317 <connectionPointIn> |
308 <connectionPointIn> |
318 <relPosition x="0" y="35"/> |
309 <relPosition x="0" y="35"/> |
319 <connection refLocalId="34" formalParameter="ENO"> |
310 <connection refLocalId="34" formalParameter="ENO"> |
320 <position x="710" y="310"/> |
311 <position x="735" y="460"/> |
321 <position x="660" y="310"/> |
312 <position x="685" y="460"/> |
322 </connection> |
313 </connection> |
323 </connectionPointIn> |
314 </connectionPointIn> |
324 </variable> |
315 </variable> |
325 <variable formalParameter="CODE"> |
316 <variable formalParameter="CODE"> |
326 <connectionPointIn> |
317 <connectionPointIn> |
327 <relPosition x="0" y="70"/> |
318 <relPosition x="0" y="70"/> |
328 <connection refLocalId="34" formalParameter="OUT"> |
319 <connection refLocalId="34" formalParameter="OUT"> |
329 <position x="710" y="345"/> |
320 <position x="735" y="495"/> |
330 <position x="690" y="345"/> |
321 <position x="715" y="495"/> |
331 <position x="690" y="330"/> |
322 <position x="715" y="480"/> |
332 <position x="660" y="330"/> |
323 <position x="685" y="480"/> |
333 </connection> |
324 </connection> |
334 </connectionPointIn> |
325 </connectionPointIn> |
335 </variable> |
326 </variable> |
336 </inputVariables> |
327 </inputVariables> |
337 <inOutVariables/> |
328 <inOutVariables/> |
370 <relPosition x="125" y="30"/> |
359 <relPosition x="125" y="30"/> |
371 </connectionPointOut> |
360 </connectionPointOut> |
372 </variable> |
361 </variable> |
373 </outputVariables> |
362 </outputVariables> |
374 </block> |
363 </block> |
375 <block localId="38" width="80" height="65" typeName="AND"> |
364 <block localId="38" width="80" height="95" typeName="AND" executionOrderId="0"> |
376 <position x="1050" y="135"/> |
365 <position x="1050" y="210"/> |
377 <inputVariables> |
366 <inputVariables> |
378 <variable formalParameter="IN1"> |
367 <variable formalParameter="IN1"> |
379 <connectionPointIn> |
368 <connectionPointIn> |
380 <relPosition x="0" y="30"/> |
369 <relPosition x="0" y="40"/> |
381 <connection refLocalId="30" formalParameter="ENO"> |
370 <connection refLocalId="30" formalParameter="ENO"> |
382 <position x="1050" y="165"/> |
371 <position x="1050" y="250"/> |
383 <position x="815" y="165"/> |
372 <position x="815" y="250"/> |
384 </connection> |
373 </connection> |
385 </connectionPointIn> |
374 </connectionPointIn> |
386 </variable> |
375 </variable> |
387 <variable formalParameter="IN2"> |
376 <variable formalParameter="IN2"> |
388 <connectionPointIn> |
377 <connectionPointIn> |
389 <relPosition x="0" y="55"/> |
378 <relPosition x="0" y="75"/> |
390 <connection refLocalId="37" formalParameter="OUT"> |
379 <connection refLocalId="37" formalParameter="OUT"> |
391 <position x="1050" y="190"/> |
380 <position x="1050" y="285"/> |
392 <position x="1025" y="190"/> |
381 <position x="995" y="285"/> |
393 <position x="1025" y="200"/> |
382 </connection> |
394 <position x="995" y="200"/> |
383 </connectionPointIn> |
395 </connection> |
384 </variable> |
396 </connectionPointIn> |
385 </inputVariables> |
397 </variable> |
386 <inOutVariables/> |
398 </inputVariables> |
387 <outputVariables> |
399 <inOutVariables/> |
388 <variable formalParameter="OUT"> |
400 <outputVariables> |
389 <connectionPointOut> |
401 <variable formalParameter="OUT"> |
390 <relPosition x="80" y="40"/> |
402 <connectionPointOut> |
391 </connectionPointOut> |
403 <relPosition x="80" y="30"/> |
392 </variable> |
404 </connectionPointOut> |
393 </outputVariables> |
405 </variable> |
394 </block> |
406 </outputVariables> |
395 <inVariable localId="39" height="30" width="60" executionOrderId="0" negated="false"> |
407 </block> |
396 <position x="30" y="485"/> |
408 <inVariable localId="39" height="30" width="60"> |
|
409 <position x="5" y="335"/> |
|
410 <connectionPointOut> |
397 <connectionPointOut> |
411 <relPosition x="60" y="15"/> |
398 <relPosition x="60" y="15"/> |
412 </connectionPointOut> |
399 </connectionPointOut> |
413 <expression>INT#1</expression> |
400 <expression>INT#1</expression> |
414 </inVariable> |
401 </inVariable> |
|
402 <comment localId="101" height="115" width="680"> |
|
403 <position x="10" y="30"/> |
|
404 <content> |
|
405 <xhtml:p><![CDATA[This example shows how IEC program in PLC can interact with UI created using wxGlade. |
|
406 |
|
407 "WxGlade GUI" is extension to build user interface for PLC using wxGlade. |
|
408 To edit user interface click on "WxGlade" icon in extension settings.]]></xhtml:p> |
|
409 </content> |
|
410 </comment> |
415 </FBD> |
411 </FBD> |
416 </body> |
412 </body> |
417 </pou> |
413 </pou> |
418 </pous> |
414 </pous> |
419 </types> |
415 </types> |