|
1 <?xml version='1.0' encoding='utf-8'?> |
|
2 <project xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.plcopen.org/xml/tc6_0201"> |
|
3 <fileHeader companyName="Beremiz" productName="Unnamed" productVersion="1" creationDateTime="2012-09-04T16:16:33"/> |
|
4 <contentHeader name="traffic_lights" modificationDateTime="2023-08-01T20:50:25"> |
|
5 <coordinateInfo> |
|
6 <fbd> |
|
7 <scaling x="0" y="0"/> |
|
8 </fbd> |
|
9 <ld> |
|
10 <scaling x="0" y="0"/> |
|
11 </ld> |
|
12 <sfc> |
|
13 <scaling x="0" y="0"/> |
|
14 </sfc> |
|
15 </coordinateInfo> |
|
16 </contentHeader> |
|
17 <types> |
|
18 <dataTypes/> |
|
19 <pous> |
|
20 <pou name="traffic_light_sequence" pouType="functionBlock"> |
|
21 <interface> |
|
22 <inputVars> |
|
23 <variable name="SWITCH_BUTTON"> |
|
24 <type> |
|
25 <BOOL/> |
|
26 </type> |
|
27 </variable> |
|
28 <variable name="PEDESTRIAN_BUTTON"> |
|
29 <type> |
|
30 <BOOL/> |
|
31 </type> |
|
32 </variable> |
|
33 </inputVars> |
|
34 <outputVars> |
|
35 <variable name="RED_LIGHT"> |
|
36 <type> |
|
37 <BOOL/> |
|
38 </type> |
|
39 </variable> |
|
40 <variable name="ORANGE_LIGHT"> |
|
41 <type> |
|
42 <BOOL/> |
|
43 </type> |
|
44 </variable> |
|
45 <variable name="GREEN_LIGHT"> |
|
46 <type> |
|
47 <BOOL/> |
|
48 </type> |
|
49 </variable> |
|
50 <variable name="PEDESTRIAN_RED_LIGHT"> |
|
51 <type> |
|
52 <BOOL/> |
|
53 </type> |
|
54 </variable> |
|
55 <variable name="PEDESTRIAN_GREEN_LIGHT"> |
|
56 <type> |
|
57 <BOOL/> |
|
58 </type> |
|
59 </variable> |
|
60 </outputVars> |
|
61 <localVars> |
|
62 <variable name="TON1"> |
|
63 <type> |
|
64 <derived name="TON"/> |
|
65 </type> |
|
66 </variable> |
|
67 <variable name="TON2"> |
|
68 <type> |
|
69 <derived name="TON"/> |
|
70 </type> |
|
71 </variable> |
|
72 <variable name="ALLOW_CARS"> |
|
73 <type> |
|
74 <BOOL/> |
|
75 </type> |
|
76 </variable> |
|
77 <variable name="WARN_CARS"> |
|
78 <type> |
|
79 <BOOL/> |
|
80 </type> |
|
81 </variable> |
|
82 <variable name="STOP_CARS"> |
|
83 <type> |
|
84 <BOOL/> |
|
85 </type> |
|
86 </variable> |
|
87 <variable name="ALLOW_PEDESTRIANS"> |
|
88 <type> |
|
89 <BOOL/> |
|
90 </type> |
|
91 </variable> |
|
92 <variable name="STOP_PEDESTRIANS"> |
|
93 <type> |
|
94 <BOOL/> |
|
95 </type> |
|
96 </variable> |
|
97 <variable name="TON3"> |
|
98 <type> |
|
99 <derived name="TON"/> |
|
100 </type> |
|
101 </variable> |
|
102 <variable name="R_TRIG0"> |
|
103 <type> |
|
104 <derived name="R_TRIG"/> |
|
105 </type> |
|
106 </variable> |
|
107 <variable name="R_TRIG1"> |
|
108 <type> |
|
109 <derived name="R_TRIG"/> |
|
110 </type> |
|
111 </variable> |
|
112 <variable name="SR0"> |
|
113 <type> |
|
114 <derived name="SR"/> |
|
115 </type> |
|
116 </variable> |
|
117 </localVars> |
|
118 </interface> |
|
119 <actions> |
|
120 <action name="BLINK_ORANGE_LIGHT"> |
|
121 <body> |
|
122 <LD> |
|
123 <leftPowerRail localId="1" height="40" width="3"> |
|
124 <position x="54" y="123"/> |
|
125 <connectionPointOut formalParameter=""> |
|
126 <relPosition x="3" y="20"/> |
|
127 </connectionPointOut> |
|
128 </leftPowerRail> |
|
129 <contact localId="2" height="15" width="21" negated="true"> |
|
130 <position x="121" y="135"/> |
|
131 <connectionPointIn> |
|
132 <relPosition x="0" y="8"/> |
|
133 <connection refLocalId="1"> |
|
134 <position x="121" y="143"/> |
|
135 <position x="56" y="143"/> |
|
136 </connection> |
|
137 </connectionPointIn> |
|
138 <connectionPointOut> |
|
139 <relPosition x="21" y="8"/> |
|
140 </connectionPointOut> |
|
141 <variable>ORANGE_LIGHT</variable> |
|
142 </contact> |
|
143 <block localId="3" width="97" height="102" typeName="TON" instanceName="TON1"> |
|
144 <position x="216" y="103"/> |
|
145 <inputVariables> |
|
146 <variable formalParameter="IN"> |
|
147 <connectionPointIn> |
|
148 <relPosition x="0" y="40"/> |
|
149 <connection refLocalId="2"> |
|
150 <position x="216" y="143"/> |
|
151 <position x="142" y="143"/> |
|
152 </connection> |
|
153 </connectionPointIn> |
|
154 </variable> |
|
155 <variable formalParameter="PT"> |
|
156 <connectionPointIn> |
|
157 <relPosition x="0" y="81"/> |
|
158 <connection refLocalId="4"> |
|
159 <position x="216" y="184"/> |
|
160 <position x="151" y="184"/> |
|
161 </connection> |
|
162 </connectionPointIn> |
|
163 </variable> |
|
164 </inputVariables> |
|
165 <inOutVariables/> |
|
166 <outputVariables> |
|
167 <variable formalParameter="Q"> |
|
168 <connectionPointOut> |
|
169 <relPosition x="97" y="40"/> |
|
170 </connectionPointOut> |
|
171 </variable> |
|
172 <variable formalParameter="ET"> |
|
173 <connectionPointOut> |
|
174 <relPosition x="97" y="81"/> |
|
175 </connectionPointOut> |
|
176 </variable> |
|
177 </outputVariables> |
|
178 </block> |
|
179 <inVariable localId="4" height="37" width="76" negated="false"> |
|
180 <position x="75" y="166"/> |
|
181 <connectionPointOut> |
|
182 <relPosition x="76" y="18"/> |
|
183 </connectionPointOut> |
|
184 <expression>T#500ms</expression> |
|
185 </inVariable> |
|
186 <block localId="5" width="97" height="106" typeName="TON" instanceName="TON2"> |
|
187 <position x="216" y="251"/> |
|
188 <inputVariables> |
|
189 <variable formalParameter="IN"> |
|
190 <connectionPointIn> |
|
191 <relPosition x="0" y="41"/> |
|
192 <connection refLocalId="14"> |
|
193 <position x="216" y="292"/> |
|
194 <position x="155" y="292"/> |
|
195 </connection> |
|
196 </connectionPointIn> |
|
197 </variable> |
|
198 <variable formalParameter="PT"> |
|
199 <connectionPointIn> |
|
200 <relPosition x="0" y="84"/> |
|
201 <connection refLocalId="15"> |
|
202 <position x="216" y="335"/> |
|
203 <position x="162" y="335"/> |
|
204 </connection> |
|
205 </connectionPointIn> |
|
206 </variable> |
|
207 </inputVariables> |
|
208 <inOutVariables/> |
|
209 <outputVariables> |
|
210 <variable formalParameter="Q"> |
|
211 <connectionPointOut> |
|
212 <relPosition x="97" y="41"/> |
|
213 </connectionPointOut> |
|
214 </variable> |
|
215 <variable formalParameter="ET"> |
|
216 <connectionPointOut> |
|
217 <relPosition x="97" y="84"/> |
|
218 </connectionPointOut> |
|
219 </variable> |
|
220 </outputVariables> |
|
221 </block> |
|
222 <coil localId="6" height="15" width="21" storage="reset"> |
|
223 <position x="517" y="284"/> |
|
224 <connectionPointIn> |
|
225 <relPosition x="0" y="8"/> |
|
226 <connection refLocalId="10" formalParameter="Q"> |
|
227 <position x="517" y="292"/> |
|
228 <position x="427" y="292"/> |
|
229 </connection> |
|
230 </connectionPointIn> |
|
231 <connectionPointOut> |
|
232 <relPosition x="21" y="8"/> |
|
233 </connectionPointOut> |
|
234 <variable>ORANGE_LIGHT</variable> |
|
235 </coil> |
|
236 <rightPowerRail localId="7" height="40" width="3"> |
|
237 <position x="598" y="123"/> |
|
238 <connectionPointIn> |
|
239 <relPosition x="0" y="20"/> |
|
240 <connection refLocalId="8"> |
|
241 <position x="598" y="143"/> |
|
242 <position x="530" y="143"/> |
|
243 </connection> |
|
244 </connectionPointIn> |
|
245 </rightPowerRail> |
|
246 <coil localId="8" height="15" width="21" storage="set"> |
|
247 <position x="509" y="135"/> |
|
248 <connectionPointIn> |
|
249 <relPosition x="0" y="8"/> |
|
250 <connection refLocalId="11" formalParameter="Q"> |
|
251 <position x="509" y="143"/> |
|
252 <position x="428" y="143"/> |
|
253 </connection> |
|
254 </connectionPointIn> |
|
255 <connectionPointOut> |
|
256 <relPosition x="21" y="8"/> |
|
257 </connectionPointOut> |
|
258 <variable>ORANGE_LIGHT</variable> |
|
259 </coil> |
|
260 <comment localId="9" height="52" width="318"> |
|
261 <position x="51" y="11"/> |
|
262 <content> |
|
263 <xhtml:p><![CDATA[This action makes the orange light blink]]></xhtml:p> |
|
264 </content> |
|
265 </comment> |
|
266 <block localId="10" width="58" height="40" typeName="R_TRIG" instanceName="R_TRIG0"> |
|
267 <position x="370" y="262"/> |
|
268 <inputVariables> |
|
269 <variable formalParameter="CLK"> |
|
270 <connectionPointIn> |
|
271 <relPosition x="0" y="30"/> |
|
272 <connection refLocalId="5" formalParameter="Q"> |
|
273 <position x="370" y="292"/> |
|
274 <position x="313" y="292"/> |
|
275 </connection> |
|
276 </connectionPointIn> |
|
277 </variable> |
|
278 </inputVariables> |
|
279 <inOutVariables/> |
|
280 <outputVariables> |
|
281 <variable formalParameter="Q"> |
|
282 <connectionPointOut> |
|
283 <relPosition x="58" y="30"/> |
|
284 </connectionPointOut> |
|
285 </variable> |
|
286 </outputVariables> |
|
287 </block> |
|
288 <block localId="11" width="58" height="40" typeName="R_TRIG" instanceName="R_TRIG1"> |
|
289 <position x="371" y="113"/> |
|
290 <inputVariables> |
|
291 <variable formalParameter="CLK"> |
|
292 <connectionPointIn> |
|
293 <relPosition x="0" y="30"/> |
|
294 <connection refLocalId="3" formalParameter="Q"> |
|
295 <position x="371" y="143"/> |
|
296 <position x="313" y="143"/> |
|
297 </connection> |
|
298 </connectionPointIn> |
|
299 </variable> |
|
300 </inputVariables> |
|
301 <inOutVariables/> |
|
302 <outputVariables> |
|
303 <variable formalParameter="Q"> |
|
304 <connectionPointOut> |
|
305 <relPosition x="58" y="30"/> |
|
306 </connectionPointOut> |
|
307 </variable> |
|
308 </outputVariables> |
|
309 </block> |
|
310 <rightPowerRail localId="12" height="40" width="3"> |
|
311 <position x="597" y="272"/> |
|
312 <connectionPointIn> |
|
313 <relPosition x="0" y="20"/> |
|
314 <connection refLocalId="6"> |
|
315 <position x="597" y="292"/> |
|
316 <position x="538" y="292"/> |
|
317 </connection> |
|
318 </connectionPointIn> |
|
319 </rightPowerRail> |
|
320 <leftPowerRail localId="13" height="40" width="3"> |
|
321 <position x="67" y="272"/> |
|
322 <connectionPointOut formalParameter=""> |
|
323 <relPosition x="3" y="20"/> |
|
324 </connectionPointOut> |
|
325 </leftPowerRail> |
|
326 <contact localId="14" height="15" width="21"> |
|
327 <position x="134" y="284"/> |
|
328 <connectionPointIn> |
|
329 <relPosition x="0" y="8"/> |
|
330 <connection refLocalId="13"> |
|
331 <position x="134" y="292"/> |
|
332 <position x="69" y="292"/> |
|
333 </connection> |
|
334 </connectionPointIn> |
|
335 <connectionPointOut> |
|
336 <relPosition x="21" y="8"/> |
|
337 </connectionPointOut> |
|
338 <variable>ORANGE_LIGHT</variable> |
|
339 </contact> |
|
340 <inVariable localId="15" height="36" width="77" negated="false"> |
|
341 <position x="85" y="317"/> |
|
342 <connectionPointOut> |
|
343 <relPosition x="77" y="18"/> |
|
344 </connectionPointOut> |
|
345 <expression>T#500ms</expression> |
|
346 </inVariable> |
|
347 </LD> |
|
348 </body> |
|
349 </action> |
|
350 </actions> |
|
351 <transitions> |
|
352 <transition name="STOP"> |
|
353 <body> |
|
354 <FBD> |
|
355 <block localId="42" width="59" height="53" typeName="NOT" executionOrderId="0"> |
|
356 <position x="237" y="31"/> |
|
357 <inputVariables> |
|
358 <variable formalParameter="IN"> |
|
359 <connectionPointIn> |
|
360 <relPosition x="0" y="36"/> |
|
361 <connection refLocalId="43"> |
|
362 <position x="237" y="67"/> |
|
363 <position x="202" y="67"/> |
|
364 </connection> |
|
365 </connectionPointIn> |
|
366 </variable> |
|
367 </inputVariables> |
|
368 <inOutVariables/> |
|
369 <outputVariables> |
|
370 <variable formalParameter="OUT"> |
|
371 <connectionPointOut> |
|
372 <relPosition x="59" y="36"/> |
|
373 </connectionPointOut> |
|
374 </variable> |
|
375 </outputVariables> |
|
376 </block> |
|
377 <inVariable localId="43" height="39" width="164" executionOrderId="0" negated="false"> |
|
378 <position x="38" y="48"/> |
|
379 <connectionPointOut> |
|
380 <relPosition x="164" y="19"/> |
|
381 </connectionPointOut> |
|
382 <expression>SWITCH_BUTTON</expression> |
|
383 </inVariable> |
|
384 <outVariable localId="44" height="40" width="46" executionOrderId="0" negated="false"> |
|
385 <position x="351" y="47"/> |
|
386 <connectionPointIn> |
|
387 <relPosition x="0" y="20"/> |
|
388 <connection refLocalId="42" formalParameter="OUT"> |
|
389 <position x="351" y="67"/> |
|
390 <position x="296" y="67"/> |
|
391 </connection> |
|
392 </connectionPointIn> |
|
393 <expression>STOP</expression> |
|
394 </outVariable> |
|
395 </FBD> |
|
396 </body> |
|
397 </transition> |
|
398 </transitions> |
|
399 <body> |
|
400 <SFC> |
|
401 <step localId="1" height="37" width="121" name="Standstill" initialStep="true"> |
|
402 <position x="509" y="31"/> |
|
403 <connectionPointIn> |
|
404 <relPosition x="60" y="0"/> |
|
405 <connection refLocalId="39"> |
|
406 <position x="569" y="31"/> |
|
407 <position x="569" y="11"/> |
|
408 <position x="963" y="11"/> |
|
409 <position x="963" y="1151"/> |
|
410 <position x="776" y="1151"/> |
|
411 <position x="776" y="1097"/> |
|
412 </connection> |
|
413 </connectionPointIn> |
|
414 <connectionPointOut formalParameter=""> |
|
415 <relPosition x="60" y="37"/> |
|
416 </connectionPointOut> |
|
417 <connectionPointOutAction formalParameter=""> |
|
418 <relPosition x="121" y="18"/> |
|
419 </connectionPointOutAction> |
|
420 </step> |
|
421 <transition localId="2" height="2" width="20"> |
|
422 <position x="559" y="222"/> |
|
423 <connectionPointIn> |
|
424 <relPosition x="10" y="0"/> |
|
425 <connection refLocalId="1"> |
|
426 <position x="569" y="222"/> |
|
427 <position x="569" y="68"/> |
|
428 </connection> |
|
429 </connectionPointIn> |
|
430 <connectionPointOut> |
|
431 <relPosition x="10" y="2"/> |
|
432 </connectionPointOut> |
|
433 <condition> |
|
434 <inline name=""> |
|
435 <ST> |
|
436 <xhtml:p><![CDATA[SWITCH_BUTTON]]></xhtml:p> |
|
437 </ST> |
|
438 </inline> |
|
439 </condition> |
|
440 </transition> |
|
441 <step localId="3" height="30" width="118" name="ORANGE"> |
|
442 <position x="510" y="250"/> |
|
443 <connectionPointIn> |
|
444 <relPosition x="59" y="0"/> |
|
445 <connection refLocalId="2"> |
|
446 <position x="569" y="250"/> |
|
447 <position x="569" y="224"/> |
|
448 </connection> |
|
449 </connectionPointIn> |
|
450 <connectionPointOut formalParameter=""> |
|
451 <relPosition x="59" y="30"/> |
|
452 </connectionPointOut> |
|
453 <connectionPointOutAction formalParameter=""> |
|
454 <relPosition x="118" y="15"/> |
|
455 </connectionPointOutAction> |
|
456 </step> |
|
457 <transition localId="6" height="2" width="20"> |
|
458 <position x="559" y="376"/> |
|
459 <connectionPointIn> |
|
460 <relPosition x="10" y="0"/> |
|
461 <connection refLocalId="15"> |
|
462 <position x="569" y="376"/> |
|
463 <position x="569" y="336"/> |
|
464 </connection> |
|
465 </connectionPointIn> |
|
466 <connectionPointOut> |
|
467 <relPosition x="10" y="2"/> |
|
468 </connectionPointOut> |
|
469 <condition> |
|
470 <inline name=""> |
|
471 <ST> |
|
472 <xhtml:p><![CDATA[STOP_CARS]]></xhtml:p> |
|
473 </ST> |
|
474 </inline> |
|
475 </condition> |
|
476 </transition> |
|
477 <actionBlock localId="8" width="231" height="162"> |
|
478 <position x="711" y="34"/> |
|
479 <connectionPointIn> |
|
480 <relPosition x="0" y="15"/> |
|
481 <connection refLocalId="1"> |
|
482 <position x="711" y="49"/> |
|
483 <position x="630" y="49"/> |
|
484 </connection> |
|
485 </connectionPointIn> |
|
486 <action localId="0" qualifier="P"> |
|
487 <relPosition x="0" y="0"/> |
|
488 <inline> |
|
489 <ST> |
|
490 <xhtml:p><![CDATA[ORANGE_LIGHT := 1;]]></xhtml:p> |
|
491 </ST> |
|
492 </inline> |
|
493 </action> |
|
494 <action localId="0"> |
|
495 <relPosition x="0" y="0"/> |
|
496 <reference name="BLINK_ORANGE_LIGHT"/> |
|
497 </action> |
|
498 <action localId="0" qualifier="R"> |
|
499 <relPosition x="0" y="0"/> |
|
500 <reference name="PEDESTRIAN_RED_LIGHT"/> |
|
501 </action> |
|
502 <action localId="0" qualifier="R"> |
|
503 <relPosition x="0" y="0"/> |
|
504 <reference name="PEDESTRIAN_GREEN_LIGHT"/> |
|
505 </action> |
|
506 <action localId="0" qualifier="R"> |
|
507 <relPosition x="0" y="0"/> |
|
508 <reference name="RED_LIGHT"/> |
|
509 </action> |
|
510 <action localId="0" qualifier="R"> |
|
511 <relPosition x="0" y="0"/> |
|
512 <reference name="GREEN_LIGHT"/> |
|
513 </action> |
|
514 </actionBlock> |
|
515 <actionBlock localId="9" width="232" height="125"> |
|
516 <position x="711" y="250"/> |
|
517 <connectionPointIn> |
|
518 <relPosition x="0" y="15"/> |
|
519 <connection refLocalId="3"> |
|
520 <position x="711" y="265"/> |
|
521 <position x="628" y="265"/> |
|
522 </connection> |
|
523 </connectionPointIn> |
|
524 <action localId="0" qualifier="R"> |
|
525 <relPosition x="0" y="0"/> |
|
526 <reference name="GREEN_LIGHT"/> |
|
527 </action> |
|
528 <action localId="0" qualifier="S"> |
|
529 <relPosition x="0" y="0"/> |
|
530 <reference name="ORANGE_LIGHT"/> |
|
531 </action> |
|
532 <action localId="0" qualifier="S"> |
|
533 <relPosition x="0" y="0"/> |
|
534 <reference name="PEDESTRIAN_RED_LIGHT"/> |
|
535 </action> |
|
536 <action localId="0" qualifier="D" duration="T#2s"> |
|
537 <relPosition x="0" y="0"/> |
|
538 <reference name="STOP_CARS"/> |
|
539 </action> |
|
540 </actionBlock> |
|
541 <step localId="10" height="34" width="92" name="RED"> |
|
542 <position x="523" y="411"/> |
|
543 <connectionPointIn> |
|
544 <relPosition x="46" y="0"/> |
|
545 <connection refLocalId="6"> |
|
546 <position x="569" y="411"/> |
|
547 <position x="569" y="378"/> |
|
548 </connection> |
|
549 </connectionPointIn> |
|
550 <connectionPointOut formalParameter=""> |
|
551 <relPosition x="46" y="34"/> |
|
552 </connectionPointOut> |
|
553 <connectionPointOutAction formalParameter=""> |
|
554 <relPosition x="92" y="17"/> |
|
555 </connectionPointOutAction> |
|
556 </step> |
|
557 <actionBlock localId="11" width="235" height="103"> |
|
558 <position x="710" y="413"/> |
|
559 <connectionPointIn> |
|
560 <relPosition x="0" y="15"/> |
|
561 <connection refLocalId="10"> |
|
562 <position x="710" y="428"/> |
|
563 <position x="615" y="428"/> |
|
564 </connection> |
|
565 </connectionPointIn> |
|
566 <action localId="0" qualifier="R"> |
|
567 <relPosition x="0" y="0"/> |
|
568 <reference name="ORANGE_LIGHT"/> |
|
569 </action> |
|
570 <action localId="0" qualifier="S"> |
|
571 <relPosition x="0" y="0"/> |
|
572 <reference name="RED_LIGHT"/> |
|
573 </action> |
|
574 <action localId="0" qualifier="D" duration="T#2s"> |
|
575 <relPosition x="0" y="0"/> |
|
576 <reference name="ALLOW_PEDESTRIANS"/> |
|
577 </action> |
|
578 </actionBlock> |
|
579 <transition localId="12" height="2" width="20"> |
|
580 <position x="559" y="533"/> |
|
581 <connectionPointIn> |
|
582 <relPosition x="10" y="0"/> |
|
583 <connection refLocalId="7"> |
|
584 <position x="569" y="533"/> |
|
585 <position x="569" y="487"/> |
|
586 </connection> |
|
587 </connectionPointIn> |
|
588 <connectionPointOut> |
|
589 <relPosition x="10" y="2"/> |
|
590 </connectionPointOut> |
|
591 <condition> |
|
592 <inline name=""> |
|
593 <ST> |
|
594 <xhtml:p><![CDATA[ALLOW_PEDESTRIANS]]></xhtml:p> |
|
595 </ST> |
|
596 </inline> |
|
597 </condition> |
|
598 </transition> |
|
599 <selectionDivergence localId="15" height="1" width="154"> |
|
600 <position x="415" y="335"/> |
|
601 <connectionPointIn> |
|
602 <relPosition x="154" y="0"/> |
|
603 <connection refLocalId="3"> |
|
604 <position x="569" y="335"/> |
|
605 <position x="569" y="280"/> |
|
606 </connection> |
|
607 </connectionPointIn> |
|
608 <connectionPointOut formalParameter=""> |
|
609 <relPosition x="0" y="1"/> |
|
610 </connectionPointOut> |
|
611 <connectionPointOut formalParameter=""> |
|
612 <relPosition x="154" y="1"/> |
|
613 </connectionPointOut> |
|
614 </selectionDivergence> |
|
615 <transition localId="16" height="2" width="20"> |
|
616 <position x="405" y="377"/> |
|
617 <connectionPointIn> |
|
618 <relPosition x="10" y="0"/> |
|
619 <connection refLocalId="15"> |
|
620 <position x="415" y="377"/> |
|
621 <position x="415" y="336"/> |
|
622 </connection> |
|
623 </connectionPointIn> |
|
624 <connectionPointOut> |
|
625 <relPosition x="10" y="2"/> |
|
626 </connectionPointOut> |
|
627 <condition> |
|
628 <reference name="STOP"/> |
|
629 </condition> |
|
630 </transition> |
|
631 <jumpStep localId="17" height="13" width="12" targetName="Standstill"> |
|
632 <position x="409" y="418"/> |
|
633 <connectionPointIn> |
|
634 <relPosition x="6" y="0"/> |
|
635 <connection refLocalId="16"> |
|
636 <position x="415" y="418"/> |
|
637 <position x="415" y="379"/> |
|
638 </connection> |
|
639 </connectionPointIn> |
|
640 </jumpStep> |
|
641 <transition localId="4" height="2" width="20"> |
|
642 <position x="400" y="528"/> |
|
643 <connectionPointIn> |
|
644 <relPosition x="10" y="0"/> |
|
645 <connection refLocalId="7"> |
|
646 <position x="410" y="528"/> |
|
647 <position x="410" y="487"/> |
|
648 </connection> |
|
649 </connectionPointIn> |
|
650 <connectionPointOut> |
|
651 <relPosition x="10" y="2"/> |
|
652 </connectionPointOut> |
|
653 <condition> |
|
654 <reference name="STOP"/> |
|
655 </condition> |
|
656 </transition> |
|
657 <jumpStep localId="5" height="13" width="12" targetName="Standstill"> |
|
658 <position x="404" y="553"/> |
|
659 <connectionPointIn> |
|
660 <relPosition x="6" y="0"/> |
|
661 <connection refLocalId="4"> |
|
662 <position x="410" y="553"/> |
|
663 <position x="410" y="530"/> |
|
664 </connection> |
|
665 </connectionPointIn> |
|
666 </jumpStep> |
|
667 <selectionDivergence localId="7" height="1" width="159"> |
|
668 <position x="410" y="486"/> |
|
669 <connectionPointIn> |
|
670 <relPosition x="159" y="0"/> |
|
671 <connection refLocalId="10"> |
|
672 <position x="569" y="486"/> |
|
673 <position x="569" y="445"/> |
|
674 </connection> |
|
675 </connectionPointIn> |
|
676 <connectionPointOut formalParameter=""> |
|
677 <relPosition x="0" y="1"/> |
|
678 </connectionPointOut> |
|
679 <connectionPointOut formalParameter=""> |
|
680 <relPosition x="159" y="1"/> |
|
681 </connectionPointOut> |
|
682 </selectionDivergence> |
|
683 <step localId="18" height="32" width="177" name="PEDESTRIAN_GREEN"> |
|
684 <position x="481" y="572"/> |
|
685 <connectionPointIn> |
|
686 <relPosition x="88" y="0"/> |
|
687 <connection refLocalId="12"> |
|
688 <position x="569" y="572"/> |
|
689 <position x="569" y="535"/> |
|
690 </connection> |
|
691 </connectionPointIn> |
|
692 <connectionPointOut formalParameter=""> |
|
693 <relPosition x="88" y="32"/> |
|
694 </connectionPointOut> |
|
695 <connectionPointOutAction formalParameter=""> |
|
696 <relPosition x="177" y="16"/> |
|
697 </connectionPointOutAction> |
|
698 </step> |
|
699 <actionBlock localId="19" width="247" height="110"> |
|
700 <position x="708" y="573"/> |
|
701 <connectionPointIn> |
|
702 <relPosition x="0" y="15"/> |
|
703 <connection refLocalId="18"> |
|
704 <position x="708" y="588"/> |
|
705 <position x="658" y="588"/> |
|
706 </connection> |
|
707 </connectionPointIn> |
|
708 <action localId="0" qualifier="S"> |
|
709 <relPosition x="0" y="0"/> |
|
710 <reference name="PEDESTRIAN_GREEN_LIGHT"/> |
|
711 </action> |
|
712 <action localId="0" qualifier="R"> |
|
713 <relPosition x="0" y="0"/> |
|
714 <reference name="PEDESTRIAN_RED_LIGHT"/> |
|
715 </action> |
|
716 <action localId="0" qualifier="D" duration="T#10s"> |
|
717 <relPosition x="0" y="0"/> |
|
718 <reference name="STOP_PEDESTRIANS"/> |
|
719 </action> |
|
720 </actionBlock> |
|
721 <transition localId="20" height="2" width="20"> |
|
722 <position x="400" y="653"/> |
|
723 <connectionPointIn> |
|
724 <relPosition x="10" y="0"/> |
|
725 <connection refLocalId="22"> |
|
726 <position x="410" y="653"/> |
|
727 <position x="410" y="626"/> |
|
728 </connection> |
|
729 </connectionPointIn> |
|
730 <connectionPointOut> |
|
731 <relPosition x="10" y="2"/> |
|
732 </connectionPointOut> |
|
733 <condition> |
|
734 <inline name=""> |
|
735 <ST> |
|
736 <xhtml:p><![CDATA[NOT SWITCH_BUTTON]]></xhtml:p> |
|
737 </ST> |
|
738 </inline> |
|
739 </condition> |
|
740 </transition> |
|
741 <jumpStep localId="21" height="13" width="12" targetName="Standstill"> |
|
742 <position x="404" y="694"/> |
|
743 <connectionPointIn> |
|
744 <relPosition x="6" y="0"/> |
|
745 <connection refLocalId="20"> |
|
746 <position x="410" y="694"/> |
|
747 <position x="410" y="655"/> |
|
748 </connection> |
|
749 </connectionPointIn> |
|
750 </jumpStep> |
|
751 <selectionDivergence localId="22" height="1" width="159"> |
|
752 <position x="410" y="625"/> |
|
753 <connectionPointIn> |
|
754 <relPosition x="159" y="0"/> |
|
755 <connection refLocalId="18"> |
|
756 <position x="569" y="625"/> |
|
757 <position x="569" y="615"/> |
|
758 <position x="569" y="615"/> |
|
759 <position x="569" y="604"/> |
|
760 </connection> |
|
761 </connectionPointIn> |
|
762 <connectionPointOut formalParameter=""> |
|
763 <relPosition x="0" y="1"/> |
|
764 </connectionPointOut> |
|
765 <connectionPointOut formalParameter=""> |
|
766 <relPosition x="159" y="1"/> |
|
767 </connectionPointOut> |
|
768 </selectionDivergence> |
|
769 <transition localId="23" height="2" width="20"> |
|
770 <position x="559" y="709"/> |
|
771 <connectionPointIn> |
|
772 <relPosition x="10" y="0"/> |
|
773 <connection refLocalId="22"> |
|
774 <position x="569" y="709"/> |
|
775 <position x="569" y="626"/> |
|
776 </connection> |
|
777 </connectionPointIn> |
|
778 <connectionPointOut> |
|
779 <relPosition x="10" y="2"/> |
|
780 </connectionPointOut> |
|
781 <condition> |
|
782 <inline name=""> |
|
783 <ST> |
|
784 <xhtml:p><![CDATA[STOP_PEDESTRIANS]]></xhtml:p> |
|
785 </ST> |
|
786 </inline> |
|
787 </condition> |
|
788 </transition> |
|
789 <step localId="24" height="30" width="148" name="PEDESTRIAN_RED"> |
|
790 <position x="495" y="748"/> |
|
791 <connectionPointIn> |
|
792 <relPosition x="74" y="0"/> |
|
793 <connection refLocalId="23"> |
|
794 <position x="569" y="748"/> |
|
795 <position x="569" y="711"/> |
|
796 </connection> |
|
797 </connectionPointIn> |
|
798 <connectionPointOut formalParameter=""> |
|
799 <relPosition x="74" y="30"/> |
|
800 </connectionPointOut> |
|
801 <connectionPointOutAction formalParameter=""> |
|
802 <relPosition x="148" y="15"/> |
|
803 </connectionPointOutAction> |
|
804 </step> |
|
805 <actionBlock localId="25" width="239" height="110"> |
|
806 <position x="708" y="748"/> |
|
807 <connectionPointIn> |
|
808 <relPosition x="0" y="15"/> |
|
809 <connection refLocalId="24"> |
|
810 <position x="708" y="763"/> |
|
811 <position x="643" y="763"/> |
|
812 </connection> |
|
813 </connectionPointIn> |
|
814 <action localId="0" qualifier="S"> |
|
815 <relPosition x="0" y="0"/> |
|
816 <reference name="PEDESTRIAN_RED_LIGHT"/> |
|
817 </action> |
|
818 <action localId="0" qualifier="R"> |
|
819 <relPosition x="0" y="0"/> |
|
820 <reference name="PEDESTRIAN_GREEN_LIGHT"/> |
|
821 </action> |
|
822 <action localId="0" qualifier="D" duration="T#2s"> |
|
823 <relPosition x="0" y="0"/> |
|
824 <reference name="ALLOW_CARS"/> |
|
825 </action> |
|
826 </actionBlock> |
|
827 <transition localId="26" height="2" width="20"> |
|
828 <position x="400" y="857"/> |
|
829 <connectionPointIn> |
|
830 <relPosition x="10" y="0"/> |
|
831 <connection refLocalId="28"> |
|
832 <position x="410" y="857"/> |
|
833 <position x="410" y="816"/> |
|
834 </connection> |
|
835 </connectionPointIn> |
|
836 <connectionPointOut> |
|
837 <relPosition x="10" y="2"/> |
|
838 </connectionPointOut> |
|
839 <condition> |
|
840 <connectionPointIn> |
|
841 <connection refLocalId="48"> |
|
842 <position x="400" y="858"/> |
|
843 <position x="290" y="858"/> |
|
844 </connection> |
|
845 </connectionPointIn> |
|
846 </condition> |
|
847 </transition> |
|
848 <jumpStep localId="27" height="13" width="12" targetName="Standstill"> |
|
849 <position x="404" y="898"/> |
|
850 <connectionPointIn> |
|
851 <relPosition x="6" y="0"/> |
|
852 <connection refLocalId="26"> |
|
853 <position x="410" y="898"/> |
|
854 <position x="410" y="859"/> |
|
855 </connection> |
|
856 </connectionPointIn> |
|
857 </jumpStep> |
|
858 <selectionDivergence localId="28" height="1" width="159"> |
|
859 <position x="410" y="815"/> |
|
860 <connectionPointIn> |
|
861 <relPosition x="159" y="0"/> |
|
862 <connection refLocalId="24"> |
|
863 <position x="569" y="815"/> |
|
864 <position x="569" y="778"/> |
|
865 </connection> |
|
866 </connectionPointIn> |
|
867 <connectionPointOut formalParameter=""> |
|
868 <relPosition x="0" y="1"/> |
|
869 </connectionPointOut> |
|
870 <connectionPointOut formalParameter=""> |
|
871 <relPosition x="159" y="1"/> |
|
872 </connectionPointOut> |
|
873 </selectionDivergence> |
|
874 <transition localId="29" height="2" width="20"> |
|
875 <position x="559" y="879"/> |
|
876 <connectionPointIn> |
|
877 <relPosition x="10" y="0"/> |
|
878 <connection refLocalId="28"> |
|
879 <position x="569" y="879"/> |
|
880 <position x="569" y="816"/> |
|
881 </connection> |
|
882 </connectionPointIn> |
|
883 <connectionPointOut> |
|
884 <relPosition x="10" y="2"/> |
|
885 </connectionPointOut> |
|
886 <condition> |
|
887 <inline name=""> |
|
888 <ST> |
|
889 <xhtml:p><![CDATA[ALLOW_CARS]]></xhtml:p> |
|
890 </ST> |
|
891 </inline> |
|
892 </condition> |
|
893 </transition> |
|
894 <step localId="30" height="33" width="92" name="GREEN"> |
|
895 <position x="523" y="930"/> |
|
896 <connectionPointIn> |
|
897 <relPosition x="46" y="0"/> |
|
898 <connection refLocalId="29"> |
|
899 <position x="569" y="930"/> |
|
900 <position x="569" y="881"/> |
|
901 </connection> |
|
902 </connectionPointIn> |
|
903 <connectionPointOut formalParameter=""> |
|
904 <relPosition x="46" y="33"/> |
|
905 </connectionPointOut> |
|
906 <connectionPointOutAction formalParameter=""> |
|
907 <relPosition x="92" y="16"/> |
|
908 </connectionPointOutAction> |
|
909 </step> |
|
910 <actionBlock localId="31" width="227" height="110"> |
|
911 <position x="709" y="931"/> |
|
912 <connectionPointIn> |
|
913 <relPosition x="0" y="15"/> |
|
914 <connection refLocalId="30"> |
|
915 <position x="709" y="946"/> |
|
916 <position x="615" y="946"/> |
|
917 </connection> |
|
918 </connectionPointIn> |
|
919 <action localId="0" qualifier="S"> |
|
920 <relPosition x="0" y="0"/> |
|
921 <reference name="GREEN_LIGHT"/> |
|
922 </action> |
|
923 <action localId="0" qualifier="R"> |
|
924 <relPosition x="0" y="0"/> |
|
925 <reference name="RED_LIGHT"/> |
|
926 </action> |
|
927 <action localId="0" qualifier="D" duration="T#20s"> |
|
928 <relPosition x="0" y="0"/> |
|
929 <reference name="WARN_CARS"/> |
|
930 </action> |
|
931 </actionBlock> |
|
932 <block localId="32" width="89" height="94" typeName="TON" instanceName="TON3"> |
|
933 <position x="308" y="1053"/> |
|
934 <inputVariables> |
|
935 <variable formalParameter="IN"> |
|
936 <connectionPointIn> |
|
937 <relPosition x="0" y="38"/> |
|
938 <connection refLocalId="44" formalParameter="Q1"> |
|
939 <position x="308" y="1091"/> |
|
940 <position x="291" y="1091"/> |
|
941 <position x="291" y="1065"/> |
|
942 <position x="275" y="1065"/> |
|
943 </connection> |
|
944 </connectionPointIn> |
|
945 </variable> |
|
946 <variable formalParameter="PT"> |
|
947 <connectionPointIn> |
|
948 <relPosition x="0" y="75"/> |
|
949 <connection refLocalId="34"> |
|
950 <position x="308" y="1128"/> |
|
951 <position x="270" y="1128"/> |
|
952 </connection> |
|
953 </connectionPointIn> |
|
954 </variable> |
|
955 </inputVariables> |
|
956 <inOutVariables/> |
|
957 <outputVariables> |
|
958 <variable formalParameter="Q"> |
|
959 <connectionPointOut> |
|
960 <relPosition x="89" y="38"/> |
|
961 </connectionPointOut> |
|
962 </variable> |
|
963 <variable formalParameter="ET"> |
|
964 <connectionPointOut> |
|
965 <relPosition x="89" y="75"/> |
|
966 </connectionPointOut> |
|
967 </variable> |
|
968 </outputVariables> |
|
969 </block> |
|
970 <inVariable localId="33" height="36" width="168" negated="false"> |
|
971 <position x="15" y="1047"/> |
|
972 <connectionPointOut> |
|
973 <relPosition x="168" y="18"/> |
|
974 </connectionPointOut> |
|
975 <expression>PEDESTRIAN_BUTTON</expression> |
|
976 </inVariable> |
|
977 <inVariable localId="34" height="33" width="53" negated="false"> |
|
978 <position x="217" y="1112"/> |
|
979 <connectionPointOut> |
|
980 <relPosition x="53" y="16"/> |
|
981 </connectionPointOut> |
|
982 <expression>T#2s</expression> |
|
983 </inVariable> |
|
984 <block localId="35" width="67" height="60" typeName="OR"> |
|
985 <position x="459" y="1061"/> |
|
986 <inputVariables> |
|
987 <variable formalParameter="IN1"> |
|
988 <connectionPointIn> |
|
989 <relPosition x="0" y="30"/> |
|
990 <connection refLocalId="32" formalParameter="Q"> |
|
991 <position x="459" y="1091"/> |
|
992 <position x="397" y="1091"/> |
|
993 </connection> |
|
994 </connectionPointIn> |
|
995 </variable> |
|
996 <variable formalParameter="IN2"> |
|
997 <connectionPointIn> |
|
998 <relPosition x="0" y="50"/> |
|
999 <connection refLocalId="36"> |
|
1000 <position x="459" y="1111"/> |
|
1001 <position x="427" y="1111"/> |
|
1002 <position x="427" y="1195"/> |
|
1003 <position x="260" y="1195"/> |
|
1004 </connection> |
|
1005 </connectionPointIn> |
|
1006 </variable> |
|
1007 </inputVariables> |
|
1008 <inOutVariables/> |
|
1009 <outputVariables> |
|
1010 <variable formalParameter="OUT"> |
|
1011 <connectionPointOut> |
|
1012 <relPosition x="67" y="30"/> |
|
1013 </connectionPointOut> |
|
1014 </variable> |
|
1015 </outputVariables> |
|
1016 </block> |
|
1017 <inVariable localId="36" height="30" width="97" negated="false"> |
|
1018 <position x="163" y="1182"/> |
|
1019 <connectionPointOut> |
|
1020 <relPosition x="97" y="15"/> |
|
1021 </connectionPointOut> |
|
1022 <expression>WARN_CARS</expression> |
|
1023 </inVariable> |
|
1024 <transition localId="37" height="2" width="20"> |
|
1025 <position x="559" y="1090"/> |
|
1026 <connectionPointIn> |
|
1027 <relPosition x="10" y="0"/> |
|
1028 <connection refLocalId="38"> |
|
1029 <position x="569" y="1090"/> |
|
1030 <position x="569" y="1060"/> |
|
1031 </connection> |
|
1032 </connectionPointIn> |
|
1033 <connectionPointOut> |
|
1034 <relPosition x="10" y="2"/> |
|
1035 </connectionPointOut> |
|
1036 <condition> |
|
1037 <connectionPointIn> |
|
1038 <connection refLocalId="35" formalParameter="OUT"> |
|
1039 <position x="559" y="1091"/> |
|
1040 <position x="526" y="1091"/> |
|
1041 </connection> |
|
1042 </connectionPointIn> |
|
1043 </condition> |
|
1044 </transition> |
|
1045 <selectionDivergence localId="38" height="1" width="207"> |
|
1046 <position x="569" y="1059"/> |
|
1047 <connectionPointIn> |
|
1048 <relPosition x="0" y="0"/> |
|
1049 <connection refLocalId="30"> |
|
1050 <position x="569" y="1059"/> |
|
1051 <position x="569" y="963"/> |
|
1052 </connection> |
|
1053 </connectionPointIn> |
|
1054 <connectionPointOut formalParameter=""> |
|
1055 <relPosition x="0" y="1"/> |
|
1056 </connectionPointOut> |
|
1057 <connectionPointOut formalParameter=""> |
|
1058 <relPosition x="207" y="1"/> |
|
1059 </connectionPointOut> |
|
1060 </selectionDivergence> |
|
1061 <transition localId="39" height="2" width="20"> |
|
1062 <position x="766" y="1095"/> |
|
1063 <connectionPointIn> |
|
1064 <relPosition x="10" y="0"/> |
|
1065 <connection refLocalId="38"> |
|
1066 <position x="776" y="1095"/> |
|
1067 <position x="776" y="1060"/> |
|
1068 </connection> |
|
1069 </connectionPointIn> |
|
1070 <connectionPointOut> |
|
1071 <relPosition x="10" y="2"/> |
|
1072 </connectionPointOut> |
|
1073 <condition> |
|
1074 <inline name=""> |
|
1075 <ST> |
|
1076 <xhtml:p><![CDATA[NOT SWITCH_BUTTON]]></xhtml:p> |
|
1077 </ST> |
|
1078 </inline> |
|
1079 </condition> |
|
1080 </transition> |
|
1081 <jumpStep localId="41" height="13" width="12" targetName="ORANGE"> |
|
1082 <position x="563" y="1137"/> |
|
1083 <connectionPointIn> |
|
1084 <relPosition x="6" y="0"/> |
|
1085 <connection refLocalId="37"> |
|
1086 <position x="569" y="1137"/> |
|
1087 <position x="569" y="1092"/> |
|
1088 </connection> |
|
1089 </connectionPointIn> |
|
1090 </jumpStep> |
|
1091 <block localId="44" width="51" height="60" typeName="SR" instanceName="SR0"> |
|
1092 <position x="224" y="1035"/> |
|
1093 <inputVariables> |
|
1094 <variable formalParameter="S1"> |
|
1095 <connectionPointIn> |
|
1096 <relPosition x="0" y="30"/> |
|
1097 <connection refLocalId="33"> |
|
1098 <position x="224" y="1065"/> |
|
1099 <position x="183" y="1065"/> |
|
1100 </connection> |
|
1101 </connectionPointIn> |
|
1102 </variable> |
|
1103 <variable formalParameter="R"> |
|
1104 <connectionPointIn> |
|
1105 <relPosition x="0" y="50"/> |
|
1106 <connection refLocalId="32" formalParameter="Q"> |
|
1107 <position x="224" y="1085"/> |
|
1108 <position x="203" y="1085"/> |
|
1109 <position x="203" y="1167"/> |
|
1110 <position x="416" y="1167"/> |
|
1111 <position x="416" y="1091"/> |
|
1112 <position x="397" y="1091"/> |
|
1113 </connection> |
|
1114 </connectionPointIn> |
|
1115 </variable> |
|
1116 </inputVariables> |
|
1117 <inOutVariables/> |
|
1118 <outputVariables> |
|
1119 <variable formalParameter="Q1"> |
|
1120 <connectionPointOut> |
|
1121 <relPosition x="51" y="30"/> |
|
1122 </connectionPointOut> |
|
1123 </variable> |
|
1124 </outputVariables> |
|
1125 </block> |
|
1126 <comment localId="45" height="767" width="753"> |
|
1127 <position x="973" y="21"/> |
|
1128 <content> |
|
1129 <xhtml:p><![CDATA[*** Description of SFC action qualifiers *** |
|
1130 |
|
1131 N : non-stored - The action code body is executed or the Boolean variable is set as |
|
1132 long as the step is active. |
|
1133 |
|
1134 R : overriding reset – When the step has previously been executed with the S |
|
1135 (including DS, DS, and SL) qualifier, the R qualifier will stop the execution of the |
|
1136 code or reset the Boolean variable. |
|
1137 |
|
1138 S : set (stored) - The action code body is executed or the Boolean variable is set. |
|
1139 This state is stored as soon as the step becomes active. It can only be reset |
|
1140 explicitly by associating the same action to a different step using the qualifier 'R'. |
|
1141 |
|
1142 L : time limited - The action code body is executed or the Boolean variable is set as |
|
1143 long as the step is active but maximal for the fixed time interval. |
|
1144 |
|
1145 D : time delayed - The action code body is executed or the Boolean variable is set |
|
1146 after the fixed delay time has elapsed. The action remains active as long as the step |
|
1147 is active. If the step is active shorter than the fixed delay time the action does not |
|
1148 become active. |
|
1149 |
|
1150 P : pulse - As soon as the step is active the action code body is executed or the |
|
1151 Boolean variable is set for one operating cycle. (Note: The code body will then |
|
1152 execute for one additional operating cycle with the Step.X variable FALSE.) |
|
1153 |
|
1154 SD : stored and time delayed - the action code body is executed or the Boolean |
|
1155 variable is stored and set when the fixed delay time has elapsed after the step |
|
1156 activation, even if the step becomes inactive. The action remains active until it is |
|
1157 reset. If the step is active shorter than the fixed delay time the action becomes active |
|
1158 anyway. |
|
1159 |
|
1160 DS : delayed and stored - The action code body is executed or the Boolean variable |
|
1161 is set when the fixed delay time has elapsed after the step activation. The action |
|
1162 remains active until it is reset. If the step is active shorter than the fixed delay time |
|
1163 the action does not become active. |
|
1164 |
|
1165 SL : stored and time limited - The action code body is executed or the Boolean |
|
1166 variable is set and stored for a fixed time interval as soon as the step is active. If the |
|
1167 step is active shorter than the time interval the action is active for the whole time |
|
1168 interval anyway. If the action is reset during the time interval the action becomes |
|
1169 inactive as soon as the action is reset. |
|
1170 ]]></xhtml:p> |
|
1171 </content> |
|
1172 </comment> |
|
1173 <comment localId="46" height="224" width="375"> |
|
1174 <position x="8" y="326"/> |
|
1175 <content> |
|
1176 <xhtml:p><![CDATA[Conditions can be written in any IEC 61131-3 language. |
|
1177 They can be implemented in defferent ways: |
|
1178 - reference to external implementation; |
|
1179 - inline implementation; |
|
1180 - written in FBD or LD on SFC diagram and connected to the condition. |
|
1181 |
|
1182 See below examples of all these types.]]></xhtml:p> |
|
1183 </content> |
|
1184 </comment> |
|
1185 <leftPowerRail localId="47" height="40" width="3"> |
|
1186 <position x="189" y="838"/> |
|
1187 <connectionPointOut formalParameter=""> |
|
1188 <relPosition x="3" y="20"/> |
|
1189 </connectionPointOut> |
|
1190 </leftPowerRail> |
|
1191 <contact localId="48" height="15" width="21" negated="true"> |
|
1192 <position x="269" y="850"/> |
|
1193 <connectionPointIn> |
|
1194 <relPosition x="0" y="8"/> |
|
1195 <connection refLocalId="47"> |
|
1196 <position x="269" y="858"/> |
|
1197 <position x="192" y="858"/> |
|
1198 </connection> |
|
1199 </connectionPointIn> |
|
1200 <connectionPointOut> |
|
1201 <relPosition x="21" y="8"/> |
|
1202 </connectionPointOut> |
|
1203 <variable>SWITCH_BUTTON</variable> |
|
1204 </contact> |
|
1205 <comment localId="13" height="86" width="379"> |
|
1206 <position x="9" y="28"/> |
|
1207 <content> |
|
1208 <xhtml:p><![CDATA[Sequential function chart (SFC) is commonly used to describe state machines.]]></xhtml:p> |
|
1209 </content> |
|
1210 </comment> |
|
1211 </SFC> |
|
1212 </body> |
|
1213 </pou> |
|
1214 <pou name="main_program" pouType="program"> |
|
1215 <interface> |
|
1216 <localVars> |
|
1217 <variable name="trafic_light_sequence0"> |
|
1218 <type> |
|
1219 <derived name="traffic_light_sequence"/> |
|
1220 </type> |
|
1221 </variable> |
|
1222 <variable name="SwitchButton"> |
|
1223 <type> |
|
1224 <derived name="HMI_BOOL"/> |
|
1225 </type> |
|
1226 </variable> |
|
1227 <variable name="PedestrianButton"> |
|
1228 <type> |
|
1229 <derived name="HMI_BOOL"/> |
|
1230 </type> |
|
1231 </variable> |
|
1232 <variable name="RedLight"> |
|
1233 <type> |
|
1234 <derived name="HMI_BOOL"/> |
|
1235 </type> |
|
1236 </variable> |
|
1237 <variable name="OrangeLight"> |
|
1238 <type> |
|
1239 <derived name="HMI_BOOL"/> |
|
1240 </type> |
|
1241 </variable> |
|
1242 <variable name="GreenLight"> |
|
1243 <type> |
|
1244 <derived name="HMI_BOOL"/> |
|
1245 </type> |
|
1246 </variable> |
|
1247 <variable name="PedestrianRedLight"> |
|
1248 <type> |
|
1249 <derived name="HMI_BOOL"/> |
|
1250 </type> |
|
1251 </variable> |
|
1252 <variable name="PedestrianGreenLight"> |
|
1253 <type> |
|
1254 <derived name="HMI_BOOL"/> |
|
1255 </type> |
|
1256 </variable> |
|
1257 <variable name="Block1"> |
|
1258 <type> |
|
1259 <derived name="python_eval"/> |
|
1260 </type> |
|
1261 </variable> |
|
1262 </localVars> |
|
1263 </interface> |
|
1264 <body> |
|
1265 <FBD> |
|
1266 <block localId="1" width="350" height="836" typeName="traffic_light_sequence" instanceName="trafic_light_sequence0" executionOrderId="0"> |
|
1267 <position x="494" y="462"/> |
|
1268 <inputVariables> |
|
1269 <variable formalParameter="SWITCH_BUTTON"> |
|
1270 <connectionPointIn> |
|
1271 <relPosition x="0" y="101"/> |
|
1272 <connection refLocalId="103"> |
|
1273 <position x="494" y="563"/> |
|
1274 <position x="470" y="563"/> |
|
1275 <position x="470" y="564"/> |
|
1276 <position x="446" y="564"/> |
|
1277 </connection> |
|
1278 </connectionPointIn> |
|
1279 </variable> |
|
1280 <variable formalParameter="PEDESTRIAN_BUTTON"> |
|
1281 <connectionPointIn> |
|
1282 <relPosition x="0" y="264"/> |
|
1283 <connection refLocalId="104"> |
|
1284 <position x="494" y="726"/> |
|
1285 <position x="466" y="726"/> |
|
1286 <position x="466" y="727"/> |
|
1287 <position x="438" y="727"/> |
|
1288 </connection> |
|
1289 </connectionPointIn> |
|
1290 </variable> |
|
1291 </inputVariables> |
|
1292 <inOutVariables/> |
|
1293 <outputVariables> |
|
1294 <variable formalParameter="RED_LIGHT"> |
|
1295 <connectionPointOut> |
|
1296 <relPosition x="350" y="101"/> |
|
1297 </connectionPointOut> |
|
1298 </variable> |
|
1299 <variable formalParameter="ORANGE_LIGHT"> |
|
1300 <connectionPointOut> |
|
1301 <relPosition x="350" y="264"/> |
|
1302 </connectionPointOut> |
|
1303 </variable> |
|
1304 <variable formalParameter="GREEN_LIGHT"> |
|
1305 <connectionPointOut> |
|
1306 <relPosition x="350" y="427"/> |
|
1307 </connectionPointOut> |
|
1308 </variable> |
|
1309 <variable formalParameter="PEDESTRIAN_RED_LIGHT"> |
|
1310 <connectionPointOut> |
|
1311 <relPosition x="350" y="590"/> |
|
1312 </connectionPointOut> |
|
1313 </variable> |
|
1314 <variable formalParameter="PEDESTRIAN_GREEN_LIGHT"> |
|
1315 <connectionPointOut> |
|
1316 <relPosition x="350" y="753"/> |
|
1317 </connectionPointOut> |
|
1318 </variable> |
|
1319 </outputVariables> |
|
1320 </block> |
|
1321 <comment localId="24" height="287" width="1008"> |
|
1322 <position x="22" y="13"/> |
|
1323 <content> |
|
1324 <xhtml:p><![CDATA[This example implements control of traffic lights. |
|
1325 |
|
1326 Basically it shows following features of Beremiz: |
|
1327 - web interface (SCADA) using integrated web server in SVGHMI extension; |
|
1328 - interaction with web UI; |
|
1329 - functional blocks in SFC language. |
|
1330 |
|
1331 |
|
1332 |
|
1333 |
|
1334 SVGHMI is extensions to build web interface to PLC. It has *integrated* web-server. So it's NOT necessary to install Apache, lighttpd or nginx for that!!! |
|
1335 |
|
1336 As the program is running in PLC, web UI will be available at http://localhost:8009/. |
|
1337 |
|
1338 Web interface is build as SVG file in Inkscape. To edit SVG file click 'Inkscape' button in 0x: SVGHMI extension. |
|
1339 Inkscape is a free and open-source vector graphics editor. It's not part of Beremiz and needs to be installed separately. |
|
1340 ]]></xhtml:p> |
|
1341 </content> |
|
1342 </comment> |
|
1343 <comment localId="102" height="134" width="734"> |
|
1344 <position x="21" y="303"/> |
|
1345 <content> |
|
1346 <xhtml:p><![CDATA[In this example FB like 'Button', 'Led' and 'Text' are used. |
|
1347 Back_id and sele_id inputs of these blocks are IDs of graphic primitives in SVG file. |
|
1348 This is the way how elements in SVG are bound to elements in PLC program. |
|
1349 You can find out or edit these IDs in Inkscape.]]></xhtml:p> |
|
1350 </content> |
|
1351 </comment> |
|
1352 <inVariable localId="103" executionOrderId="0" height="27" width="106" negated="false"> |
|
1353 <position x="340" y="551"/> |
|
1354 <connectionPointOut> |
|
1355 <relPosition x="106" y="13"/> |
|
1356 </connectionPointOut> |
|
1357 <expression>SwitchButton</expression> |
|
1358 </inVariable> |
|
1359 <inVariable localId="104" executionOrderId="0" height="27" width="138" negated="false"> |
|
1360 <position x="300" y="714"/> |
|
1361 <connectionPointOut> |
|
1362 <relPosition x="138" y="13"/> |
|
1363 </connectionPointOut> |
|
1364 <expression>PedestrianButton</expression> |
|
1365 </inVariable> |
|
1366 <outVariable localId="105" executionOrderId="0" height="27" width="74" negated="false"> |
|
1367 <position x="891" y="551"/> |
|
1368 <connectionPointIn> |
|
1369 <relPosition x="0" y="13"/> |
|
1370 <connection refLocalId="1" formalParameter="RED_LIGHT"> |
|
1371 <position x="891" y="564"/> |
|
1372 <position x="867" y="564"/> |
|
1373 <position x="867" y="563"/> |
|
1374 <position x="844" y="563"/> |
|
1375 </connection> |
|
1376 </connectionPointIn> |
|
1377 <expression>RedLight</expression> |
|
1378 </outVariable> |
|
1379 <outVariable localId="106" executionOrderId="0" height="27" width="98" negated="false"> |
|
1380 <position x="880" y="714"/> |
|
1381 <connectionPointIn> |
|
1382 <relPosition x="0" y="13"/> |
|
1383 <connection refLocalId="1" formalParameter="ORANGE_LIGHT"> |
|
1384 <position x="880" y="727"/> |
|
1385 <position x="862" y="727"/> |
|
1386 <position x="862" y="726"/> |
|
1387 <position x="844" y="726"/> |
|
1388 </connection> |
|
1389 </connectionPointIn> |
|
1390 <expression>OrangeLight</expression> |
|
1391 </outVariable> |
|
1392 <outVariable localId="107" executionOrderId="0" height="27" width="90" negated="false"> |
|
1393 <position x="881" y="876"/> |
|
1394 <connectionPointIn> |
|
1395 <relPosition x="0" y="13"/> |
|
1396 <connection refLocalId="1" formalParameter="GREEN_LIGHT"> |
|
1397 <position x="881" y="889"/> |
|
1398 <position x="844" y="889"/> |
|
1399 </connection> |
|
1400 </connectionPointIn> |
|
1401 <expression>GreenLight</expression> |
|
1402 </outVariable> |
|
1403 <outVariable localId="108" executionOrderId="0" height="27" width="154" negated="false"> |
|
1404 <position x="882" y="1040"/> |
|
1405 <connectionPointIn> |
|
1406 <relPosition x="0" y="13"/> |
|
1407 <connection refLocalId="1" formalParameter="PEDESTRIAN_RED_LIGHT"> |
|
1408 <position x="882" y="1053"/> |
|
1409 <position x="863" y="1053"/> |
|
1410 <position x="863" y="1052"/> |
|
1411 <position x="844" y="1052"/> |
|
1412 </connection> |
|
1413 </connectionPointIn> |
|
1414 <expression>PedestrianRedLight</expression> |
|
1415 </outVariable> |
|
1416 <outVariable localId="109" executionOrderId="0" height="27" width="170" negated="false"> |
|
1417 <position x="873" y="1203"/> |
|
1418 <connectionPointIn> |
|
1419 <relPosition x="0" y="13"/> |
|
1420 <connection refLocalId="1" formalParameter="PEDESTRIAN_GREEN_LIGHT"> |
|
1421 <position x="873" y="1216"/> |
|
1422 <position x="858" y="1216"/> |
|
1423 <position x="858" y="1215"/> |
|
1424 <position x="844" y="1215"/> |
|
1425 </connection> |
|
1426 </connectionPointIn> |
|
1427 <expression>PedestrianGreenLight</expression> |
|
1428 </outVariable> |
|
1429 <inVariable localId="9" height="30" width="490" executionOrderId="0" negated="false"> |
|
1430 <position x="874" y="644"/> |
|
1431 <connectionPointOut> |
|
1432 <relPosition x="490" y="15"/> |
|
1433 </connectionPointOut> |
|
1434 <expression>'sys.stdout.write("ALL GREEN LIGHTS\n"), sys.stdout.flush()'</expression> |
|
1435 </inVariable> |
|
1436 <block localId="8" width="125" height="80" typeName="python_eval" instanceName="Block1" executionOrderId="0"> |
|
1437 <position x="1425" y="594"/> |
|
1438 <inputVariables> |
|
1439 <variable formalParameter="TRIG"> |
|
1440 <connectionPointIn> |
|
1441 <relPosition x="0" y="35"/> |
|
1442 <connection refLocalId="1" formalParameter="RED_LIGHT"> |
|
1443 <position x="1425" y="629"/> |
|
1444 <position x="866" y="629"/> |
|
1445 <position x="866" y="563"/> |
|
1446 <position x="844" y="563"/> |
|
1447 </connection> |
|
1448 </connectionPointIn> |
|
1449 </variable> |
|
1450 <variable formalParameter="CODE"> |
|
1451 <connectionPointIn> |
|
1452 <relPosition x="0" y="65"/> |
|
1453 <connection refLocalId="9"> |
|
1454 <position x="1425" y="659"/> |
|
1455 <position x="1356" y="659"/> |
|
1456 </connection> |
|
1457 </connectionPointIn> |
|
1458 </variable> |
|
1459 </inputVariables> |
|
1460 <inOutVariables/> |
|
1461 <outputVariables> |
|
1462 <variable formalParameter="ACK"> |
|
1463 <connectionPointOut> |
|
1464 <relPosition x="125" y="35"/> |
|
1465 </connectionPointOut> |
|
1466 </variable> |
|
1467 <variable formalParameter="RESULT"> |
|
1468 <connectionPointOut> |
|
1469 <relPosition x="125" y="65"/> |
|
1470 </connectionPointOut> |
|
1471 </variable> |
|
1472 </outputVariables> |
|
1473 </block> |
|
1474 </FBD> |
|
1475 </body> |
|
1476 </pou> |
|
1477 </pous> |
|
1478 </types> |
|
1479 <instances> |
|
1480 <configurations> |
|
1481 <configuration name="config"> |
|
1482 <resource name="resource1"> |
|
1483 <task name="test_task" interval="T#100ms" priority="0"> |
|
1484 <pouInstance name="main_instance" typeName="main_program"/> |
|
1485 </task> |
|
1486 </resource> |
|
1487 </configuration> |
|
1488 </configurations> |
|
1489 </instances> |
|
1490 </project> |