author | lbessard |
Wed, 14 Jan 2009 19:47:06 +0100 | |
changeset 303 | b4583cb86f18 |
parent 213 | 4931959ea256 |
child 392 | 546053de1426 |
permissions | -rw-r--r-- |
0 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
2 |
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|
3 |
xmlns="http://www.plcopen.org/xml/tc6.xsd" |
|
4 |
xmlns:xhtml="http://www.w3.org/1999/xhtml" |
|
5 |
xsi:schemaLocation="http://www.plcopen.org/xml/tc6.xsd http://www.plcopen.org/xml/tc6.xsd"> |
|
151 | 6 |
<fileHeader companyName="Lolitech" |
145 | 7 |
companyURL="www.lolitech.net" |
0 | 8 |
productName="PLCOpenEditorExample" |
151 | 9 |
productVersion="1.0" |
145 | 10 |
productRelease="rc1" |
151 | 11 |
creationDateTime="2006-09-07 18:52:43" |
12 |
contentDescription="Example of PLCOpenEditor usage"/> |
|
145 | 13 |
<contentHeader name="Test" |
151 | 14 |
version="1" |
213 | 15 |
modificationDateTime="2008-06-19 11:14:11" |
145 | 16 |
author="Laurent Bessard" |
151 | 17 |
language="en-US"> |
0 | 18 |
<coordinateInfo> |
213 | 19 |
<pageSize x="1050" y="1485"/> |
0 | 20 |
<fbd> |
151 | 21 |
<scaling x="8" y="8"/> |
0 | 22 |
</fbd> |
23 |
<ld> |
|
151 | 24 |
<scaling x="0" y="0"/> |
0 | 25 |
</ld> |
26 |
<sfc> |
|
151 | 27 |
<scaling x="0" y="0"/> |
0 | 28 |
</sfc> |
29 |
</coordinateInfo> |
|
30 |
</contentHeader> |
|
31 |
<types> |
|
126 | 32 |
<dataTypes> |
33 |
<dataType name="MyType"> |
|
34 |
<baseType> |
|
35 |
<array> |
|
151 | 36 |
<dimension lower="1" upper="16"/> |
37 |
<dimension lower="1" upper="2"/> |
|
126 | 38 |
<baseType> |
39 |
<INT/> |
|
40 |
</baseType> |
|
41 |
</array> |
|
42 |
</baseType> |
|
43 |
<initialValue> |
|
44 |
<arrayValue> |
|
145 | 45 |
<value repetitionValue="8"> |
46 |
<arrayValue> |
|
47 |
<value> |
|
48 |
<simpleValue value="-100"/> |
|
49 |
</value> |
|
50 |
<value> |
|
51 |
<simpleValue value="100"/> |
|
52 |
</value> |
|
53 |
</arrayValue> |
|
126 | 54 |
</value> |
145 | 55 |
<value repetitionValue="8"> |
56 |
<arrayValue> |
|
57 |
<value> |
|
58 |
<simpleValue value="100"/> |
|
59 |
</value> |
|
60 |
<value> |
|
61 |
<simpleValue value="-100"/> |
|
62 |
</value> |
|
63 |
</arrayValue> |
|
126 | 64 |
</value> |
65 |
</arrayValue> |
|
66 |
</initialValue> |
|
67 |
</dataType> |
|
68 |
<dataType name="MyType2"> |
|
69 |
<baseType> |
|
70 |
<BYTE/> |
|
71 |
</baseType> |
|
72 |
<initialValue> |
|
73 |
<simpleValue value="0"/> |
|
74 |
</initialValue> |
|
75 |
</dataType> |
|
76 |
<dataType name="MyType3"> |
|
77 |
<baseType> |
|
78 |
<enum> |
|
79 |
<values> |
|
80 |
<value name="OPEN"/> |
|
81 |
<value name="CLOSED"/> |
|
82 |
</values> |
|
83 |
</enum> |
|
84 |
</baseType> |
|
85 |
<initialValue> |
|
86 |
<simpleValue value="CLOSED"/> |
|
87 |
</initialValue> |
|
88 |
</dataType> |
|
89 |
<dataType name="MyType4"> |
|
90 |
<baseType> |
|
91 |
<subrangeSigned> |
|
151 | 92 |
<range lower="-4500" upper="4500"/> |
126 | 93 |
<baseType> |
94 |
<DINT/> |
|
95 |
</baseType> |
|
96 |
</subrangeSigned> |
|
97 |
</baseType> |
|
98 |
<initialValue> |
|
99 |
<simpleValue value="0"/> |
|
100 |
</initialValue> |
|
101 |
</dataType> |
|
102 |
</dataTypes> |
|
0 | 103 |
<pous> |
13
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
104 |
<pou name="FBDTest" pouType="functionBlock"> |
0 | 105 |
<interface> |
106 |
<inputVars> |
|
107 |
<variable name="IN1"> |
|
108 |
<type> |
|
109 |
<BOOL/> |
|
110 |
</type> |
|
111 |
<initialValue> |
|
112 |
<simpleValue value="false"/> |
|
113 |
</initialValue> |
|
114 |
</variable> |
|
115 |
<variable name="IN2"> |
|
116 |
<type> |
|
117 |
<BOOL/> |
|
118 |
</type> |
|
119 |
<initialValue> |
|
58 | 120 |
<simpleValue value="true"/> |
0 | 121 |
</initialValue> |
122 |
</variable> |
|
123 |
<variable name="IN3"> |
|
124 |
<type> |
|
125 |
<BOOL/> |
|
126 |
</type> |
|
127 |
</variable> |
|
128 |
</inputVars> |
|
13
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
129 |
<outputVars> |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
130 |
<variable name="OUT"> |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
131 |
<type> |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
132 |
<BOOL/> |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
133 |
</type> |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
134 |
</variable> |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
135 |
</outputVars> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
136 |
<localVars> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
137 |
<variable name="SR1"> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
138 |
<type> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
139 |
<derived name="SR"/> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
140 |
</type> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
141 |
</variable> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
142 |
</localVars> |
0 | 143 |
</interface> |
144 |
<body> |
|
145 |
<FBD> |
|
151 | 146 |
<inVariable localId="2" height="32" width="88"> |
147 |
<position x="64" y="80"/> |
|
148 |
<connectionPointOut> |
|
149 |
<relPosition x="88" y="16"/> |
|
0 | 150 |
</connectionPointOut> |
151 |
<expression>IN1</expression> |
|
152 |
</inVariable> |
|
151 | 153 |
<inVariable localId="3" height="32" width="88"> |
154 |
<position x="64" y="200"/> |
|
155 |
<connectionPointOut> |
|
156 |
<relPosition x="88" y="16"/> |
|
0 | 157 |
</connectionPointOut> |
158 |
<expression>IN2</expression> |
|
159 |
</inVariable> |
|
151 | 160 |
<outVariable localId="4" height="32" width="96" executionOrderId="2"> |
161 |
<position x="584" y="176"/> |
|
162 |
<connectionPointIn> |
|
163 |
<relPosition x="0" y="16"/> |
|
27 | 164 |
<connection refLocalId="11" formalParameter="Q1"> |
151 | 165 |
<position x="584" y="192"/> |
166 |
<position x="528" y="192"/> |
|
0 | 167 |
</connection> |
168 |
</connectionPointIn> |
|
13
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
169 |
<expression>OUT</expression> |
0 | 170 |
</outVariable> |
151 | 171 |
<block localId="6" width="104" height="88" typeName="AND" executionOrderId="3"> |
172 |
<position x="232" y="104"/> |
|
0 | 173 |
<inputVariables> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
174 |
<variable formalParameter="IN1" edge="rising"> |
0 | 175 |
<connectionPointIn> |
151 | 176 |
<relPosition x="0" y="40"/> |
0 | 177 |
<connection refLocalId="2"> |
151 | 178 |
<position x="232" y="144"/> |
179 |
<position x="192" y="144"/> |
|
180 |
<position x="192" y="96"/> |
|
181 |
<position x="152" y="96"/> |
|
0 | 182 |
</connection> |
183 |
</connectionPointIn> |
|
184 |
</variable> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
185 |
<variable formalParameter="IN2"> |
0 | 186 |
<connectionPointIn> |
151 | 187 |
<relPosition x="0" y="72"/> |
0 | 188 |
<connection refLocalId="3"> |
151 | 189 |
<position x="232" y="176"/> |
190 |
<position x="192" y="176"/> |
|
191 |
<position x="192" y="216"/> |
|
192 |
<position x="152" y="216"/> |
|
0 | 193 |
</connection> |
194 |
</connectionPointIn> |
|
195 |
</variable> |
|
196 |
</inputVariables> |
|
197 |
<inOutVariables/> |
|
198 |
<outputVariables> |
|
80 | 199 |
<variable formalParameter="OUT"> |
0 | 200 |
<connectionPointOut> |
151 | 201 |
<relPosition x="104" y="40"/> |
0 | 202 |
</connectionPointOut> |
203 |
</variable> |
|
204 |
</outputVariables> |
|
205 |
</block> |
|
151 | 206 |
<inVariable localId="7" height="32" width="88"> |
207 |
<position x="64" y="336"/> |
|
208 |
<connectionPointOut> |
|
209 |
<relPosition x="88" y="16"/> |
|
0 | 210 |
</connectionPointOut> |
211 |
<expression>IN3</expression> |
|
212 |
</inVariable> |
|
151 | 213 |
<block localId="8" width="104" height="88" typeName="OR" executionOrderId="4"> |
214 |
<position x="232" y="240"/> |
|
0 | 215 |
<inputVariables> |
216 |
<variable formalParameter="IN1" negated="true"> |
|
217 |
<connectionPointIn> |
|
151 | 218 |
<relPosition x="0" y="40"/> |
0 | 219 |
<connection refLocalId="3"> |
151 | 220 |
<position x="232" y="280"/> |
221 |
<position x="192" y="280"/> |
|
222 |
<position x="192" y="216"/> |
|
223 |
<position x="152" y="216"/> |
|
0 | 224 |
</connection> |
225 |
</connectionPointIn> |
|
226 |
</variable> |
|
227 |
<variable formalParameter="IN2"> |
|
228 |
<connectionPointIn> |
|
151 | 229 |
<relPosition x="0" y="72"/> |
0 | 230 |
<connection refLocalId="7"> |
151 | 231 |
<position x="232" y="312"/> |
232 |
<position x="192" y="312"/> |
|
233 |
<position x="192" y="352"/> |
|
234 |
<position x="152" y="352"/> |
|
0 | 235 |
</connection> |
236 |
</connectionPointIn> |
|
237 |
</variable> |
|
238 |
</inputVariables> |
|
239 |
<inOutVariables/> |
|
240 |
<outputVariables> |
|
241 |
<variable formalParameter="OUT"> |
|
242 |
<connectionPointOut> |
|
151 | 243 |
<relPosition x="104" y="40"/> |
0 | 244 |
</connectionPointOut> |
245 |
</variable> |
|
246 |
</outputVariables> |
|
247 |
</block> |
|
213 | 248 |
<comment localId="10" height="48" width="376"> |
151 | 249 |
<position x="240" y="24"/> |
250 |
<content> |
|
251 |
<![CDATA[POU used for testing PLCOpenEditor.]]> |
|
252 |
</content> |
|
0 | 253 |
</comment> |
151 | 254 |
<block localId="11" width="104" height="96" typeName="SR" instanceName="SR1" executionOrderId="1"> |
255 |
<position x="424" y="152"/> |
|
0 | 256 |
<inputVariables> |
80 | 257 |
<variable formalParameter="S1" negated="true"> |
0 | 258 |
<connectionPointIn> |
151 | 259 |
<relPosition x="0" y="40"/> |
27 | 260 |
<connection refLocalId="6" formalParameter="OUT"> |
151 | 261 |
<position x="424" y="192"/> |
262 |
<position x="376" y="192"/> |
|
263 |
<position x="376" y="144"/> |
|
264 |
<position x="336" y="144"/> |
|
0 | 265 |
</connection> |
266 |
</connectionPointIn> |
|
267 |
</variable> |
|
268 |
<variable formalParameter="R"> |
|
269 |
<connectionPointIn> |
|
151 | 270 |
<relPosition x="0" y="80"/> |
27 | 271 |
<connection refLocalId="8" formalParameter="OUT"> |
151 | 272 |
<position x="424" y="232"/> |
273 |
<position x="376" y="232"/> |
|
274 |
<position x="376" y="280"/> |
|
275 |
<position x="336" y="280"/> |
|
0 | 276 |
</connection> |
277 |
</connectionPointIn> |
|
278 |
</variable> |
|
279 |
</inputVariables> |
|
280 |
<inOutVariables/> |
|
281 |
<outputVariables> |
|
282 |
<variable formalParameter="Q1"> |
|
283 |
<connectionPointOut> |
|
151 | 284 |
<relPosition x="104" y="40"/> |
0 | 285 |
</connectionPointOut> |
286 |
</variable> |
|
287 |
</outputVariables> |
|
288 |
</block> |
|
289 |
</FBD> |
|
290 |
</body> |
|
291 |
</pou> |
|
292 |
<pou name="LDTest" pouType="function"> |
|
293 |
<interface> |
|
294 |
<returnType> |
|
295 |
<BOOL/> |
|
296 |
</returnType> |
|
297 |
<inputVars> |
|
298 |
<variable name="IN1"> |
|
299 |
<type> |
|
300 |
<BOOL/> |
|
301 |
</type> |
|
302 |
</variable> |
|
303 |
<variable name="IN2"> |
|
304 |
<type> |
|
305 |
<BOOL/> |
|
306 |
</type> |
|
307 |
</variable> |
|
308 |
<variable name="IN3"> |
|
309 |
<type> |
|
310 |
<BOOL/> |
|
311 |
</type> |
|
312 |
</variable> |
|
313 |
<variable name="IN4"> |
|
314 |
<type> |
|
315 |
<BOOL/> |
|
316 |
</type> |
|
317 |
</variable> |
|
318 |
</inputVars> |
|
319 |
</interface> |
|
320 |
<body> |
|
321 |
<LD> |
|
322 |
<comment localId="1" height="40" width="600"> |
|
151 | 323 |
<position x="10" y="10"/> |
324 |
<content> |
|
325 |
<![CDATA[Comment]]> |
|
326 |
</content> |
|
0 | 327 |
</comment> |
142 | 328 |
<leftPowerRail localId="2" height="80" width="3"> |
151 | 329 |
<position x="10" y="60"/> |
142 | 330 |
<connectionPointOut formalParameter=""> |
151 | 331 |
<relPosition x="3" y="20"/> |
142 | 332 |
</connectionPointOut> |
333 |
<connectionPointOut formalParameter=""> |
|
151 | 334 |
<relPosition x="3" y="60"/> |
0 | 335 |
</connectionPointOut> |
336 |
</leftPowerRail> |
|
151 | 337 |
<coil localId="3" height="15" width="21"> |
338 |
<position x="265" y="72"/> |
|
339 |
<connectionPointIn> |
|
340 |
<relPosition x="0" y="8"/> |
|
0 | 341 |
<connection refLocalId="7"> |
151 | 342 |
<position x="265" y="80"/> |
343 |
<position x="195" y="80"/> |
|
344 |
</connection> |
|
345 |
</connectionPointIn> |
|
346 |
<connectionPointOut> |
|
347 |
<relPosition x="21" y="8"/> |
|
0 | 348 |
</connectionPointOut> |
349 |
<variable>LDTest</variable> |
|
350 |
</coil> |
|
142 | 351 |
<rightPowerRail localId="4" height="40" width="3"> |
151 | 352 |
<position x="323" y="60"/> |
353 |
<connectionPointIn> |
|
354 |
<relPosition x="0" y="20"/> |
|
0 | 355 |
<connection refLocalId="3"> |
151 | 356 |
<position x="323" y="80"/> |
357 |
<position x="286" y="80"/> |
|
0 | 358 |
</connection> |
359 |
</connectionPointIn> |
|
360 |
</rightPowerRail> |
|
151 | 361 |
<contact localId="5" height="15" width="21" negated="true"> |
362 |
<position x="42" y="72"/> |
|
363 |
<connectionPointIn> |
|
364 |
<relPosition x="0" y="8"/> |
|
0 | 365 |
<connection refLocalId="2"> |
151 | 366 |
<position x="42" y="80"/> |
367 |
<position x="13" y="80"/> |
|
368 |
</connection> |
|
369 |
</connectionPointIn> |
|
370 |
<connectionPointOut> |
|
371 |
<relPosition x="21" y="8"/> |
|
0 | 372 |
</connectionPointOut> |
373 |
<variable>IN1</variable> |
|
374 |
</contact> |
|
151 | 375 |
<contact localId="7" height="15" width="21"> |
376 |
<position x="174" y="72"/> |
|
377 |
<connectionPointIn> |
|
378 |
<relPosition x="0" y="8"/> |
|
0 | 379 |
<connection refLocalId="5"> |
151 | 380 |
<position x="174" y="80"/> |
381 |
<position x="63" y="80"/> |
|
0 | 382 |
</connection> |
383 |
<connection refLocalId="9"> |
|
151 | 384 |
<position x="174" y="80"/> |
385 |
<position x="144" y="80"/> |
|
386 |
<position x="144" y="120"/> |
|
387 |
<position x="114" y="120"/> |
|
388 |
</connection> |
|
389 |
</connectionPointIn> |
|
390 |
<connectionPointOut> |
|
391 |
<relPosition x="21" y="8"/> |
|
0 | 392 |
</connectionPointOut> |
393 |
<variable>IN2</variable> |
|
394 |
</contact> |
|
151 | 395 |
<contact localId="8" height="15" width="21"> |
396 |
<position x="42" y="112"/> |
|
397 |
<connectionPointIn> |
|
398 |
<relPosition x="0" y="8"/> |
|
0 | 399 |
<connection refLocalId="2"> |
151 | 400 |
<position x="42" y="120"/> |
401 |
<position x="13" y="120"/> |
|
402 |
</connection> |
|
403 |
</connectionPointIn> |
|
404 |
<connectionPointOut> |
|
405 |
<relPosition x="21" y="8"/> |
|
0 | 406 |
</connectionPointOut> |
407 |
<variable>IN3</variable> |
|
408 |
</contact> |
|
151 | 409 |
<contact localId="9" height="15" width="21" negated="true"> |
410 |
<position x="93" y="112"/> |
|
411 |
<connectionPointIn> |
|
412 |
<relPosition x="0" y="8"/> |
|
0 | 413 |
<connection refLocalId="8"> |
151 | 414 |
<position x="93" y="120"/> |
415 |
<position x="63" y="120"/> |
|
416 |
</connection> |
|
417 |
</connectionPointIn> |
|
418 |
<connectionPointOut> |
|
419 |
<relPosition x="21" y="8"/> |
|
0 | 420 |
</connectionPointOut> |
421 |
<variable>IN4</variable> |
|
422 |
</contact> |
|
423 |
</LD> |
|
424 |
</body> |
|
425 |
</pou> |
|
426 |
<pou name="ILTest" pouType="function"> |
|
427 |
<interface> |
|
428 |
<returnType> |
|
429 |
<REAL/> |
|
430 |
</returnType> |
|
1 | 431 |
<inputVars> |
70 | 432 |
<variable name="X1"> |
1 | 433 |
<type> |
434 |
<REAL/> |
|
435 |
</type> |
|
436 |
</variable> |
|
437 |
</inputVars> |
|
0 | 438 |
<localVars> |
439 |
<variable name="Temp"> |
|
440 |
<type> |
|
441 |
<REAL/> |
|
442 |
</type> |
|
443 |
</variable> |
|
444 |
</localVars> |
|
445 |
<inputVars> |
|
446 |
<variable name="X2"> |
|
447 |
<type> |
|
448 |
<REAL/> |
|
449 |
</type> |
|
450 |
</variable> |
|
451 |
<variable name="Y1"> |
|
452 |
<type> |
|
453 |
<REAL/> |
|
454 |
</type> |
|
455 |
</variable> |
|
456 |
<variable name="Y2"> |
|
457 |
<type> |
|
458 |
<REAL/> |
|
459 |
</type> |
|
460 |
</variable> |
|
461 |
<variable name="TMax"> |
|
462 |
<type> |
|
463 |
<REAL/> |
|
464 |
</type> |
|
465 |
</variable> |
|
466 |
</inputVars> |
|
467 |
<outputVars> |
|
13
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
468 |
<variable name="ERROR"> |
0 | 469 |
<type> |
470 |
<BOOL/> |
|
471 |
</type> |
|
472 |
</variable> |
|
473 |
</outputVars> |
|
474 |
</interface> |
|
475 |
<body> |
|
476 |
<IL> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
477 |
<![CDATA[ |
13
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
478 |
LD Y1 |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
479 |
SUB Y2 (* Substract Y2 from Y1 *) |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
480 |
ST Temp (* Store Y1-Y2 in Temp *) |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
481 |
MUL Temp (* Multiply by Temp to square *) |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
482 |
ADD( X1 (* Defer ADD *) |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
483 |
SUB X2 (* Substract X1 from X2 *) |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
484 |
ST Temp (* Store X1-X2 in Temp *) |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
485 |
MUL Temp (* Multiply by Temp to square *) |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
486 |
) |
17 | 487 |
SQRT (* Call Square root fun *) |
13
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
488 |
ST ILTest (* Setup function result *) |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
489 |
GT TMax (* Greater than TMax ? *) |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
490 |
JMPC ERR (* Yes, Jump to Error *) |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
491 |
S ERROR (* Set ERROR *) |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
492 |
RET (* Normal return *) |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
493 |
ERR: RET (* Error return, ENO not set *) |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
494 |
]]> |
0 | 495 |
</IL> |
496 |
</body> |
|
497 |
</pou> |
|
498 |
<pou name="SFCTest" pouType="program"> |
|
499 |
<interface> |
|
500 |
<inputVars> |
|
501 |
<variable name="IN1"> |
|
502 |
<type> |
|
503 |
<BOOL/> |
|
504 |
</type> |
|
505 |
</variable> |
|
506 |
<variable name="IN2"> |
|
507 |
<type> |
|
508 |
<BOOL/> |
|
509 |
</type> |
|
510 |
</variable> |
|
511 |
<variable name="IN3"> |
|
512 |
<type> |
|
513 |
<BOOL/> |
|
514 |
</type> |
|
515 |
</variable> |
|
516 |
<variable name="IN4"> |
|
517 |
<type> |
|
518 |
<BOOL/> |
|
519 |
</type> |
|
520 |
</variable> |
|
521 |
<variable name="IN5"> |
|
522 |
<type> |
|
523 |
<BOOL/> |
|
524 |
</type> |
|
525 |
</variable> |
|
526 |
</inputVars> |
|
68
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
527 |
<localVars> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
528 |
<variable name="SR1"> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
529 |
<type> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
530 |
<derived name="SR"/> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
531 |
</type> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
532 |
</variable> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
533 |
</localVars> |
0 | 534 |
</interface> |
535 |
<actions> |
|
536 |
<action name="ACT1"> |
|
537 |
<body> |
|
538 |
<ST> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
539 |
<![CDATA[ |
1 | 540 |
IF IN1 THEN |
2 | 541 |
IN2 := 1; |
1 | 542 |
ELSE |
2 | 543 |
IN3 := 1; |
1 | 544 |
END_IF; |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
545 |
]]> |
0 | 546 |
</ST> |
547 |
</body> |
|
548 |
</action> |
|
549 |
</actions> |
|
550 |
<transitions> |
|
551 |
<transition name="TR1"> |
|
552 |
<body> |
|
151 | 553 |
<ST> |
554 |
<![CDATA[:= AND(IN1, IN2, IN3);]]> |
|
555 |
</ST> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
556 |
</body> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
557 |
</transition> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
558 |
<transition name="TR2"> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
559 |
<body> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
560 |
<FBD> |
151 | 561 |
<inVariable localId="2" height="27" width="54"> |
562 |
<position x="27" y="59"/> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
563 |
<connectionPointOut> |
151 | 564 |
<relPosition x="54" y="13"/> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
565 |
</connectionPointOut> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
566 |
<expression>IN1</expression> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
567 |
</inVariable> |
151 | 568 |
<inVariable localId="3" height="27" width="53"> |
569 |
<position x="28" y="140"/> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
570 |
<connectionPointOut> |
151 | 571 |
<relPosition x="53" y="13"/> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
572 |
</connectionPointOut> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
573 |
<expression>IN2</expression> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
574 |
</inVariable> |
151 | 575 |
<outVariable localId="4" height="27" width="57"> |
576 |
<position x="340" y="82"/> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
577 |
<connectionPointIn> |
151 | 578 |
<relPosition x="0" y="13"/> |
68
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
579 |
<connection refLocalId="5" formalParameter="Q1"> |
151 | 580 |
<position x="340" y="95"/> |
581 |
<position x="261" y="95"/> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
582 |
</connection> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
583 |
</connectionPointIn> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
584 |
<expression>TR2</expression> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
585 |
</outVariable> |
151 | 586 |
<block localId="5" width="100" height="70" typeName="SR" instanceName="SR1"> |
587 |
<position x="161" y="63"/> |
|
68
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
588 |
<inputVariables> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
589 |
<variable formalParameter="S1"> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
590 |
<connectionPointIn> |
151 | 591 |
<relPosition x="0" y="32"/> |
68
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
592 |
<connection refLocalId="2"> |
151 | 593 |
<position x="161" y="95"/> |
594 |
<position x="121" y="95"/> |
|
595 |
<position x="121" y="72"/> |
|
596 |
<position x="81" y="72"/> |
|
68
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
597 |
</connection> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
598 |
</connectionPointIn> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
599 |
</variable> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
600 |
<variable formalParameter="R"> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
601 |
<connectionPointIn> |
151 | 602 |
<relPosition x="0" y="57"/> |
68
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
603 |
<connection refLocalId="3"> |
151 | 604 |
<position x="161" y="120"/> |
605 |
<position x="121" y="120"/> |
|
606 |
<position x="121" y="153"/> |
|
607 |
<position x="81" y="153"/> |
|
68
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
608 |
</connection> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
609 |
</connectionPointIn> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
610 |
</variable> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
611 |
</inputVariables> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
612 |
<inOutVariables/> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
613 |
<outputVariables> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
614 |
<variable formalParameter="Q1"> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
615 |
<connectionPointOut> |
151 | 616 |
<relPosition x="100" y="32"/> |
68
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
617 |
</connectionPointOut> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
618 |
</variable> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
619 |
</outputVariables> |
66308e07402c
Adding support for allowing declarations of function block into POU interface
lbessard
parents:
67
diff
changeset
|
620 |
</block> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
621 |
</FBD> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
622 |
</body> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
623 |
</transition> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
624 |
<transition name="TR3"> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
625 |
<body> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
626 |
<LD> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
627 |
<leftPowerRail localId="1" height="98" width="2"> |
151 | 628 |
<position x="31" y="20"/> |
80 | 629 |
<connectionPointOut formalParameter="None"> |
151 | 630 |
<relPosition x="2" y="20"/> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
631 |
</connectionPointOut> |
80 | 632 |
<connectionPointOut formalParameter="None"> |
151 | 633 |
<relPosition x="2" y="64"/> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
634 |
</connectionPointOut> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
635 |
</leftPowerRail> |
151 | 636 |
<contact localId="2" height="15" width="21"> |
637 |
<position x="72" y="32"/> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
638 |
<connectionPointIn> |
151 | 639 |
<relPosition x="0" y="8"/> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
640 |
<connection refLocalId="1"> |
151 | 641 |
<position x="72" y="40"/> |
642 |
<position x="33" y="40"/> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
643 |
</connection> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
644 |
</connectionPointIn> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
645 |
<connectionPointOut> |
151 | 646 |
<relPosition x="21" y="8"/> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
647 |
</connectionPointOut> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
648 |
<variable>IN2</variable> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
649 |
</contact> |
151 | 650 |
<contact localId="3" height="15" width="21" edge="rising"> |
651 |
<position x="72" y="76"/> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
652 |
<connectionPointIn> |
151 | 653 |
<relPosition x="0" y="8"/> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
654 |
<connection refLocalId="1"> |
151 | 655 |
<position x="72" y="84"/> |
656 |
<position x="33" y="84"/> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
657 |
</connection> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
658 |
</connectionPointIn> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
659 |
<connectionPointOut> |
151 | 660 |
<relPosition x="21" y="8"/> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
661 |
</connectionPointOut> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
662 |
<variable>IN5</variable> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
663 |
</contact> |
151 | 664 |
<coil localId="4" height="15" width="21" negated="true"> |
665 |
<position x="208" y="32"/> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
666 |
<connectionPointIn> |
151 | 667 |
<relPosition x="0" y="8"/> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
668 |
<connection refLocalId="2"> |
151 | 669 |
<position x="208" y="40"/> |
670 |
<position x="93" y="40"/> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
671 |
</connection> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
672 |
<connection refLocalId="3"> |
151 | 673 |
<position x="208" y="40"/> |
674 |
<position x="131" y="40"/> |
|
675 |
<position x="131" y="84"/> |
|
676 |
<position x="93" y="84"/> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
677 |
</connection> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
678 |
</connectionPointIn> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
679 |
<connectionPointOut> |
151 | 680 |
<relPosition x="21" y="8"/> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
681 |
</connectionPointOut> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
682 |
<variable>TR3</variable> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
683 |
</coil> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
684 |
<rightPowerRail localId="5" height="40" width="2"> |
151 | 685 |
<position x="271" y="19"/> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
686 |
<connectionPointIn> |
151 | 687 |
<relPosition x="0" y="21"/> |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
688 |
<connection refLocalId="4"> |
151 | 689 |
<position x="271" y="40"/> |
690 |
<position x="229" y="40"/> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
691 |
</connection> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
692 |
</connectionPointIn> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
693 |
</rightPowerRail> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
694 |
</LD> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
695 |
</body> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
696 |
</transition> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
697 |
<transition name="TR4"> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
698 |
<body> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
699 |
<IL> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
700 |
<![CDATA[ |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
701 |
LD IN3 |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
702 |
AND IN4 |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
703 |
]]> |
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
704 |
</IL> |
0 | 705 |
</body> |
706 |
</transition> |
|
707 |
</transitions> |
|
708 |
<body> |
|
709 |
<SFC> |
|
158 | 710 |
<step localId="1" height="38" width="69" name="Start" initialStep="true"> |
711 |
<position x="71" y="39"/> |
|
712 |
<connectionPointOut formalParameter=""> |
|
713 |
<relPosition x="34" y="38"/> |
|
0 | 714 |
</connectionPointOut> |
715 |
</step> |
|
716 |
<transition localId="2" height="2" width="20"> |
|
151 | 717 |
<position x="95" y="102"/> |
718 |
<connectionPointIn> |
|
719 |
<relPosition x="10" y="0"/> |
|
0 | 720 |
<connection refLocalId="1"> |
151 | 721 |
<position x="105" y="102"/> |
722 |
<position x="105" y="77"/> |
|
723 |
</connection> |
|
724 |
</connectionPointIn> |
|
725 |
<connectionPointOut> |
|
726 |
<relPosition x="10" y="2"/> |
|
0 | 727 |
</connectionPointOut> |
728 |
<condition> |
|
729 |
<reference name="TR1"/> |
|
730 |
</condition> |
|
731 |
</transition> |
|
158 | 732 |
<step localId="3" height="27" width="52" name="Init"> |
733 |
<position x="79" y="129"/> |
|
734 |
<connectionPointIn> |
|
735 |
<relPosition x="26" y="0"/> |
|
0 | 736 |
<connection refLocalId="2"> |
151 | 737 |
<position x="105" y="129"/> |
738 |
<position x="105" y="104"/> |
|
0 | 739 |
</connection> |
740 |
</connectionPointIn> |
|
158 | 741 |
<connectionPointOut formalParameter=""> |
742 |
<relPosition x="26" y="27"/> |
|
743 |
</connectionPointOut> |
|
744 |
<connectionPointOutAction formalParameter=""> |
|
745 |
<relPosition x="52" y="13"/> |
|
0 | 746 |
</connectionPointOutAction> |
747 |
</step> |
|
2 | 748 |
<selectionDivergence localId="4" height="1" width="391"> |
151 | 749 |
<position x="105" y="181"/> |
750 |
<connectionPointIn> |
|
751 |
<relPosition x="0" y="0"/> |
|
0 | 752 |
<connection refLocalId="3"> |
151 | 753 |
<position x="105" y="181"/> |
754 |
<position x="105" y="156"/> |
|
0 | 755 |
</connection> |
756 |
</connectionPointIn> |
|
158 | 757 |
<connectionPointOut formalParameter=""> |
151 | 758 |
<relPosition x="0" y="1"/> |
0 | 759 |
</connectionPointOut> |
158 | 760 |
<connectionPointOut formalParameter=""> |
151 | 761 |
<relPosition x="228" y="1"/> |
2 | 762 |
</connectionPointOut> |
158 | 763 |
<connectionPointOut formalParameter=""> |
151 | 764 |
<relPosition x="391" y="1"/> |
0 | 765 |
</connectionPointOut> |
766 |
</selectionDivergence> |
|
767 |
<transition localId="5" height="2" width="20"> |
|
151 | 768 |
<position x="95" y="207"/> |
769 |
<connectionPointIn> |
|
770 |
<relPosition x="10" y="0"/> |
|
0 | 771 |
<connection refLocalId="4"> |
151 | 772 |
<position x="105" y="207"/> |
773 |
<position x="105" y="182"/> |
|
774 |
</connection> |
|
775 |
</connectionPointIn> |
|
776 |
<connectionPointOut> |
|
777 |
<relPosition x="10" y="2"/> |
|
0 | 778 |
</connectionPointOut> |
779 |
<condition> |
|
80 | 780 |
<inline name="None"> |
151 | 781 |
<ST> |
782 |
<![CDATA[IN2 AND IN3]]> |
|
783 |
</ST> |
|
0 | 784 |
</inline> |
785 |
</condition> |
|
786 |
</transition> |
|
158 | 787 |
<step localId="6" height="37" width="63" name="Step1"> |
788 |
<position x="74" y="262"/> |
|
789 |
<connectionPointIn> |
|
790 |
<relPosition x="31" y="0"/> |
|
2 | 791 |
<connection refLocalId="21"> |
151 | 792 |
<position x="105" y="262"/> |
793 |
<position x="105" y="237"/> |
|
0 | 794 |
</connection> |
795 |
</connectionPointIn> |
|
158 | 796 |
<connectionPointOut formalParameter=""> |
797 |
<relPosition x="31" y="37"/> |
|
0 | 798 |
</connectionPointOut> |
799 |
</step> |
|
151 | 800 |
<transition localId="7" height="2" width="20" priority="1"> |
801 |
<position x="323" y="207"/> |
|
802 |
<connectionPointIn> |
|
803 |
<relPosition x="10" y="0"/> |
|
0 | 804 |
<connection refLocalId="4"> |
151 | 805 |
<position x="333" y="207"/> |
806 |
<position x="333" y="182"/> |
|
807 |
</connection> |
|
808 |
</connectionPointIn> |
|
809 |
<connectionPointOut> |
|
810 |
<relPosition x="10" y="2"/> |
|
0 | 811 |
</connectionPointOut> |
812 |
<condition> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
813 |
<reference name="TR2"/> |
0 | 814 |
</condition> |
815 |
</transition> |
|
158 | 816 |
<step localId="8" height="35" width="57" name="Step2"> |
817 |
<position x="305" y="234"/> |
|
818 |
<connectionPointIn> |
|
819 |
<relPosition x="28" y="0"/> |
|
0 | 820 |
<connection refLocalId="7"> |
151 | 821 |
<position x="333" y="234"/> |
822 |
<position x="333" y="209"/> |
|
0 | 823 |
</connection> |
824 |
</connectionPointIn> |
|
158 | 825 |
<connectionPointOut formalParameter=""> |
826 |
<relPosition x="28" y="35"/> |
|
0 | 827 |
</connectionPointOut> |
828 |
</step> |
|
829 |
<transition localId="9" height="2" width="20"> |
|
151 | 830 |
<position x="486" y="207"/> |
831 |
<connectionPointIn> |
|
832 |
<relPosition x="10" y="0"/> |
|
0 | 833 |
<connection refLocalId="4"> |
151 | 834 |
<position x="496" y="207"/> |
835 |
<position x="496" y="182"/> |
|
836 |
</connection> |
|
837 |
</connectionPointIn> |
|
838 |
<connectionPointOut> |
|
839 |
<relPosition x="10" y="2"/> |
|
0 | 840 |
</connectionPointOut> |
841 |
<condition> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
842 |
<reference name="TR4"/> |
0 | 843 |
</condition> |
844 |
</transition> |
|
158 | 845 |
<step localId="10" height="36" width="60" name="Step3"> |
846 |
<position x="466" y="234"/> |
|
847 |
<connectionPointIn> |
|
848 |
<relPosition x="30" y="0"/> |
|
0 | 849 |
<connection refLocalId="9"> |
151 | 850 |
<position x="496" y="234"/> |
851 |
<position x="496" y="209"/> |
|
0 | 852 |
</connection> |
853 |
</connectionPointIn> |
|
158 | 854 |
<connectionPointOut formalParameter=""> |
855 |
<relPosition x="30" y="36"/> |
|
856 |
</connectionPointOut> |
|
857 |
<connectionPointOutAction formalParameter=""> |
|
858 |
<relPosition x="60" y="18"/> |
|
0 | 859 |
</connectionPointOutAction> |
860 |
</step> |
|
861 |
<transition localId="11" height="2" width="20"> |
|
158 | 862 |
<position x="95" y="362"/> |
151 | 863 |
<connectionPointIn> |
864 |
<relPosition x="10" y="0"/> |
|
2 | 865 |
<connection refLocalId="23"> |
158 | 866 |
<position x="105" y="362"/> |
867 |
<position x="105" y="337"/> |
|
151 | 868 |
</connection> |
869 |
</connectionPointIn> |
|
870 |
<connectionPointOut> |
|
871 |
<relPosition x="10" y="2"/> |
|
0 | 872 |
</connectionPointOut> |
873 |
<condition> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
874 |
<reference name="TR3"/> |
0 | 875 |
</condition> |
876 |
</transition> |
|
877 |
<jumpStep localId="12" height="13" width="12" targetName="Start"> |
|
158 | 878 |
<position x="99" y="389"/> |
151 | 879 |
<connectionPointIn> |
880 |
<relPosition x="6" y="0"/> |
|
0 | 881 |
<connection refLocalId="11"> |
158 | 882 |
<position x="105" y="389"/> |
883 |
<position x="105" y="364"/> |
|
0 | 884 |
</connection> |
885 |
</connectionPointIn> |
|
886 |
</jumpStep> |
|
887 |
<actionBlock localId="13" height="30" width="100"> |
|
158 | 888 |
<position x="175" y="127"/> |
151 | 889 |
<connectionPointIn> |
890 |
<relPosition x="0" y="15"/> |
|
0 | 891 |
<connection refLocalId="3"> |
158 | 892 |
<position x="175" y="142"/> |
893 |
<position x="131" y="142"/> |
|
0 | 894 |
</connection> |
895 |
</connectionPointIn> |
|
116
58b9b84e385f
Adding support in xmlclass for timezone in datetime and for not paying attention to xml comments
lbessard
parents:
80
diff
changeset
|
896 |
<action> |
0 | 897 |
<reference name="ACT1"/> |
898 |
</action> |
|
899 |
</actionBlock> |
|
900 |
<transition localId="14" height="2" width="20"> |
|
158 | 901 |
<position x="323" y="294"/> |
151 | 902 |
<connectionPointIn> |
903 |
<relPosition x="10" y="0"/> |
|
0 | 904 |
<connection refLocalId="8"> |
158 | 905 |
<position x="333" y="294"/> |
906 |
<position x="333" y="269"/> |
|
151 | 907 |
</connection> |
908 |
</connectionPointIn> |
|
909 |
<connectionPointOut> |
|
910 |
<relPosition x="10" y="2"/> |
|
0 | 911 |
</connectionPointOut> |
912 |
<condition> |
|
158 | 913 |
<inline name=""> |
151 | 914 |
<ST> |
915 |
<![CDATA[IN5]]> |
|
916 |
</ST> |
|
0 | 917 |
</inline> |
918 |
</condition> |
|
919 |
</transition> |
|
920 |
<transition localId="15" height="2" width="20"> |
|
151 | 921 |
<position x="486" y="346"/> |
922 |
<connectionPointIn> |
|
923 |
<relPosition x="10" y="0"/> |
|
0 | 924 |
<connection refLocalId="10"> |
151 | 925 |
<position x="496" y="346"/> |
158 | 926 |
<position x="496" y="270"/> |
151 | 927 |
</connection> |
928 |
</connectionPointIn> |
|
929 |
<connectionPointOut> |
|
930 |
<relPosition x="10" y="2"/> |
|
0 | 931 |
</connectionPointOut> |
932 |
<condition> |
|
158 | 933 |
<inline name=""> |
151 | 934 |
<ST> |
935 |
<![CDATA[IN5]]> |
|
936 |
</ST> |
|
0 | 937 |
</inline> |
938 |
</condition> |
|
939 |
</transition> |
|
2 | 940 |
<selectionConvergence localId="16" height="1" width="163"> |
151 | 941 |
<position x="333" y="373"/> |
942 |
<connectionPointIn> |
|
943 |
<relPosition x="0" y="0"/> |
|
0 | 944 |
<connection refLocalId="14"> |
151 | 945 |
<position x="333" y="373"/> |
158 | 946 |
<position x="333" y="296"/> |
151 | 947 |
</connection> |
948 |
</connectionPointIn> |
|
949 |
<connectionPointIn> |
|
950 |
<relPosition x="163" y="0"/> |
|
0 | 951 |
<connection refLocalId="15"> |
151 | 952 |
<position x="496" y="373"/> |
953 |
<position x="496" y="348"/> |
|
954 |
</connection> |
|
955 |
</connectionPointIn> |
|
956 |
<connectionPointOut> |
|
957 |
<relPosition x="80" y="1"/> |
|
0 | 958 |
</connectionPointOut> |
959 |
</selectionConvergence> |
|
960 |
<jumpStep localId="19" height="13" width="12" targetName="Init"> |
|
151 | 961 |
<position x="407" y="399"/> |
962 |
<connectionPointIn> |
|
963 |
<relPosition x="6" y="0"/> |
|
0 | 964 |
<connection refLocalId="16"> |
151 | 965 |
<position x="413" y="399"/> |
966 |
<position x="413" y="374"/> |
|
0 | 967 |
</connection> |
968 |
</connectionPointIn> |
|
969 |
</jumpStep> |
|
158 | 970 |
<actionBlock localId="20" height="90" width="237"> |
971 |
<position x="582" y="237"/> |
|
151 | 972 |
<connectionPointIn> |
973 |
<relPosition x="0" y="15"/> |
|
0 | 974 |
<connection refLocalId="10"> |
158 | 975 |
<position x="582" y="252"/> |
976 |
<position x="526" y="252"/> |
|
0 | 977 |
</connection> |
978 |
</connectionPointIn> |
|
116
58b9b84e385f
Adding support in xmlclass for timezone in datetime and for not paying attention to xml comments
lbessard
parents:
80
diff
changeset
|
979 |
<action indicator="IN5"> |
0 | 980 |
<reference name="ACT1"/> |
981 |
</action> |
|
2 | 982 |
<action qualifier="D" duration="T#10s"> |
0 | 983 |
<reference name="IN1"/> |
984 |
</action> |
|
46 | 985 |
<action qualifier="P"> |
986 |
<inline> |
|
151 | 987 |
<ST> |
988 |
<![CDATA[IN2 := TRUE;]]> |
|
989 |
</ST> |
|
46 | 990 |
</inline> |
991 |
</action> |
|
0 | 992 |
</actionBlock> |
2 | 993 |
<simultaneousDivergence localId="21" height="3" width="118"> |
151 | 994 |
<position x="105" y="234"/> |
995 |
<connectionPointIn> |
|
996 |
<relPosition x="0" y="0"/> |
|
2 | 997 |
<connection refLocalId="5"> |
151 | 998 |
<position x="105" y="234"/> |
999 |
<position x="105" y="209"/> |
|
2 | 1000 |
</connection> |
1001 |
</connectionPointIn> |
|
80 | 1002 |
<connectionPointOut formalParameter="None"> |
151 | 1003 |
<relPosition x="0" y="3"/> |
2 | 1004 |
</connectionPointOut> |
80 | 1005 |
<connectionPointOut formalParameter="None"> |
151 | 1006 |
<relPosition x="118" y="3"/> |
2 | 1007 |
</connectionPointOut> |
1008 |
</simultaneousDivergence> |
|
158 | 1009 |
<step localId="22" height="36" width="61" name="Step4"> |
1010 |
<position x="193" y="261"/> |
|
1011 |
<connectionPointIn> |
|
1012 |
<relPosition x="30" y="0"/> |
|
2 | 1013 |
<connection refLocalId="21"> |
158 | 1014 |
<position x="223" y="261"/> |
151 | 1015 |
<position x="223" y="237"/> |
2 | 1016 |
</connection> |
1017 |
</connectionPointIn> |
|
158 | 1018 |
<connectionPointOut formalParameter=""> |
1019 |
<relPosition x="30" y="36"/> |
|
2 | 1020 |
</connectionPointOut> |
1021 |
</step> |
|
1022 |
<simultaneousConvergence localId="23" height="3" width="118"> |
|
158 | 1023 |
<position x="105" y="334"/> |
151 | 1024 |
<connectionPointIn> |
1025 |
<relPosition x="0" y="0"/> |
|
2 | 1026 |
<connection refLocalId="6"> |
158 | 1027 |
<position x="105" y="334"/> |
1028 |
<position x="105" y="299"/> |
|
151 | 1029 |
</connection> |
1030 |
</connectionPointIn> |
|
1031 |
<connectionPointIn> |
|
1032 |
<relPosition x="118" y="0"/> |
|
2 | 1033 |
<connection refLocalId="22"> |
158 | 1034 |
<position x="223" y="334"/> |
1035 |
<position x="223" y="297"/> |
|
151 | 1036 |
</connection> |
1037 |
</connectionPointIn> |
|
1038 |
<connectionPointOut> |
|
1039 |
<relPosition x="0" y="3"/> |
|
2 | 1040 |
</connectionPointOut> |
1041 |
</simultaneousConvergence> |
|
0 | 1042 |
</SFC> |
1043 |
</body> |
|
1044 |
</pou> |
|
1045 |
<pou name="STTest" pouType="functionBlock"> |
|
1046 |
<interface> |
|
1047 |
<inputVars> |
|
1048 |
<variable name="Collision"> |
|
1049 |
<type> |
|
1050 |
<BOOL/> |
|
1051 |
</type> |
|
1052 |
</variable> |
|
1053 |
<variable name="Gate"> |
|
1054 |
<type> |
|
1055 |
<BOOL/> |
|
1056 |
</type> |
|
1057 |
</variable> |
|
1058 |
<variable name="Pump"> |
|
1059 |
<type> |
|
1060 |
<BOOL/> |
|
1061 |
</type> |
|
1062 |
</variable> |
|
1063 |
<variable name="Temp"> |
|
1064 |
<type> |
|
17 | 1065 |
<REAL/> |
0 | 1066 |
</type> |
1067 |
</variable> |
|
1068 |
</inputVars> |
|
1069 |
<outputVars> |
|
1070 |
<variable name="Speed"> |
|
1071 |
<type> |
|
1072 |
<INT/> |
|
1073 |
</type> |
|
1074 |
</variable> |
|
1075 |
<variable name="PumpSpeed"> |
|
1076 |
<type> |
|
1077 |
<INT/> |
|
1078 |
</type> |
|
1079 |
</variable> |
|
1080 |
<variable name="Brakes"> |
|
1081 |
<type> |
|
1082 |
<BOOL/> |
|
1083 |
</type> |
|
1084 |
</variable> |
|
1085 |
<variable name="Control_State"> |
|
1086 |
<type> |
|
1087 |
<BOOL/> |
|
1088 |
</type> |
|
1089 |
</variable> |
|
1090 |
</outputVars> |
|
1091 |
</interface> |
|
1092 |
<body> |
|
1093 |
<ST> |
|
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
1094 |
<![CDATA[ |
1 | 1095 |
IF Collision THEN |
2 | 1096 |
Speed := 0; |
13
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
1097 |
Brakes := TRUE; |
1 | 1098 |
END_IF; |
0 | 1099 |
|
126 | 1100 |
IF (Gate = open) AND |
13
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
1101 |
(Pump = TRUE) AND (Temp > 200.0) THEN |
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
1102 |
Control_State := TRUE; |
1 | 1103 |
ELSE |
13
69075340d6a9
Adding support for forbidding insertion of function block into function
lbessard
parents:
2
diff
changeset
|
1104 |
Control_State := FALSE; |
56
7187e1c00975
Adding support for Undo/Redo and Unsaved File On Close detection
lbessard
parents:
47
diff
changeset
|
1105 |
|
2 | 1106 |
PumpSpeed := 10.0; |
1 | 1107 |
END_IF; |
67
3a1b0afdaf84
Adding support for automatically generate function blocks in interface when a block is added
lbessard
parents:
58
diff
changeset
|
1108 |
]]> |
0 | 1109 |
</ST> |
1110 |
</body> |
|
1111 |
</pou> |
|
1112 |
</pous> |
|
1113 |
</types> |
|
1114 |
<instances> |
|
1115 |
<configurations> |
|
1116 |
<configuration name="ConfigTest"> |
|
1117 |
<resource name="ResourceTest"> |
|
151 | 1118 |
<task name="Toto" single="Tutu" priority="6"> |
1119 |
<pouInstance name="Program1" type="SFCTest"/> |
|
0 | 1120 |
</task> |
1121 |
<globalVars> |
|
56
7187e1c00975
Adding support for Undo/Redo and Unsaved File On Close detection
lbessard
parents:
47
diff
changeset
|
1122 |
<variable name="Titi" address="%MW30"> |
0 | 1123 |
<type> |
1124 |
<INT/> |
|
1125 |
</type> |
|
1126 |
</variable> |
|
1127 |
</globalVars> |
|
1128 |
</resource> |
|
1129 |
<globalVars> |
|
56
7187e1c00975
Adding support for Undo/Redo and Unsaved File On Close detection
lbessard
parents:
47
diff
changeset
|
1130 |
<variable name="Toto" address="%MW10"> |
0 | 1131 |
<type> |
1132 |
<INT/> |
|
1133 |
</type> |
|
1134 |
</variable> |
|
56
7187e1c00975
Adding support for Undo/Redo and Unsaved File On Close detection
lbessard
parents:
47
diff
changeset
|
1135 |
<variable name="Tutu" address="%MX20"> |
0 | 1136 |
<type> |
1137 |
<BOOL/> |
|
1138 |
</type> |
|
1139 |
</variable> |
|
1140 |
</globalVars> |
|
1141 |
</configuration> |
|
1142 |
</configurations> |
|
1143 |
</instances> |
|
1144 |
</project> |