Laurent@1383: <?xml version='1.0' encoding='utf-8'?> Laurent@1383: <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"> andrej@1546: <fileHeader companyName="Beremiz" productName="Unnamed" productVersion="1" creationDateTime="2012-09-04T16:16:33"/> andrej@2346: <contentHeader name="traffic_lights" modificationDateTime="2018-09-26T17:49:02"> Laurent@1383: <coordinateInfo> Laurent@1383: <fbd> Laurent@1383: <scaling x="0" y="0"/> Laurent@1383: </fbd> Laurent@1383: <ld> Laurent@1383: <scaling x="0" y="0"/> Laurent@1383: </ld> Laurent@1383: <sfc> Laurent@1383: <scaling x="0" y="0"/> Laurent@1383: </sfc> Laurent@1383: </coordinateInfo> Laurent@1383: </contentHeader> Laurent@1383: <types> Laurent@1383: <dataTypes/> Laurent@1383: <pous> Laurent@1383: <pou name="traffic_light_sequence" pouType="functionBlock"> Laurent@1383: <interface> Laurent@1383: <inputVars> Laurent@1383: <variable name="SWITCH_BUTTON"> Laurent@1383: <type> Laurent@1383: <BOOL/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="PEDESTRIAN_BUTTON"> Laurent@1383: <type> Laurent@1383: <BOOL/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: </inputVars> Laurent@1383: <outputVars> Laurent@1383: <variable name="RED_LIGHT"> Laurent@1383: <type> Laurent@1383: <BOOL/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="ORANGE_LIGHT"> Laurent@1383: <type> Laurent@1383: <BOOL/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="GREEN_LIGHT"> Laurent@1383: <type> Laurent@1383: <BOOL/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="PEDESTRIAN_RED_LIGHT"> Laurent@1383: <type> Laurent@1383: <BOOL/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="PEDESTRIAN_GREEN_LIGHT"> Laurent@1383: <type> Laurent@1383: <BOOL/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: </outputVars> Laurent@1383: <localVars> Laurent@1383: <variable name="TON1"> Laurent@1383: <type> Laurent@1383: <derived name="TON"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="TON2"> Laurent@1383: <type> Laurent@1383: <derived name="TON"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="ALLOW_CARS"> Laurent@1383: <type> Laurent@1383: <BOOL/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="WARN_CARS"> Laurent@1383: <type> Laurent@1383: <BOOL/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="STOP_CARS"> Laurent@1383: <type> Laurent@1383: <BOOL/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="ALLOW_PEDESTRIANS"> Laurent@1383: <type> Laurent@1383: <BOOL/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="STOP_PEDESTRIANS"> Laurent@1383: <type> Laurent@1383: <BOOL/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="TON3"> Laurent@1383: <type> Laurent@1383: <derived name="TON"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="R_TRIG0"> Laurent@1383: <type> Laurent@1383: <derived name="R_TRIG"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="R_TRIG1"> Laurent@1383: <type> Laurent@1383: <derived name="R_TRIG"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="SR0"> Laurent@1383: <type> Laurent@1383: <derived name="SR"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: </localVars> Laurent@1383: </interface> Laurent@1383: <actions> Laurent@1383: <action name="BLINK_ORANGE_LIGHT"> Laurent@1383: <body> Laurent@1383: <LD> andrej@2296: <leftPowerRail localId="1" height="40" width="3"> Laurent@1383: <position x="54" y="123"/> Laurent@1383: <connectionPointOut formalParameter=""> andrej@2296: <relPosition x="3" y="20"/> Laurent@1383: </connectionPointOut> Laurent@1383: </leftPowerRail> Laurent@1383: <contact localId="2" height="15" width="21" negated="true"> Laurent@1383: <position x="121" y="135"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="8"/> Laurent@1383: <connection refLocalId="1"> Laurent@1383: <position x="121" y="143"/> Laurent@1383: <position x="56" y="143"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="21" y="8"/> Laurent@1383: </connectionPointOut> Laurent@1383: <variable>ORANGE_LIGHT</variable> Laurent@1383: </contact> Laurent@1383: <block localId="3" width="97" height="102" typeName="TON" instanceName="TON1"> Laurent@1383: <position x="216" y="103"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="IN"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="40"/> Laurent@1383: <connection refLocalId="2"> Laurent@1383: <position x="216" y="143"/> Laurent@1383: <position x="142" y="143"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="PT"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="81"/> Laurent@1383: <connection refLocalId="4"> Laurent@1383: <position x="216" y="184"/> Laurent@1383: <position x="151" y="184"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables> Laurent@1383: <variable formalParameter="Q"> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="97" y="40"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="ET"> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="97" y="81"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: </outputVariables> Laurent@1383: </block> andrej@2346: <inVariable localId="4" height="37" width="76" negated="false"> andrej@2346: <position x="75" y="166"/> Laurent@1383: <connectionPointOut> andrej@2346: <relPosition x="76" y="18"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>T#500ms</expression> Laurent@1383: </inVariable> Laurent@1383: <block localId="5" width="97" height="106" typeName="TON" instanceName="TON2"> Laurent@1383: <position x="216" y="251"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="IN"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="41"/> Laurent@1383: <connection refLocalId="14"> Laurent@1383: <position x="216" y="292"/> Laurent@1383: <position x="155" y="292"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="PT"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="84"/> Laurent@1383: <connection refLocalId="15"> Laurent@1383: <position x="216" y="335"/> Laurent@1383: <position x="162" y="335"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables> Laurent@1383: <variable formalParameter="Q"> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="97" y="41"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="ET"> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="97" y="84"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: </outputVariables> Laurent@1383: </block> Laurent@1383: <coil localId="6" height="15" width="21" storage="reset"> Laurent@1383: <position x="517" y="284"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="8"/> Laurent@1383: <connection refLocalId="10" formalParameter="Q"> Laurent@1383: <position x="517" y="292"/> Laurent@1383: <position x="427" y="292"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="21" y="8"/> Laurent@1383: </connectionPointOut> Laurent@1383: <variable>ORANGE_LIGHT</variable> Laurent@1383: </coil> andrej@2296: <rightPowerRail localId="7" height="40" width="3"> Laurent@1383: <position x="598" y="123"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="20"/> Laurent@1383: <connection refLocalId="8"> Laurent@1383: <position x="598" y="143"/> Laurent@1383: <position x="530" y="143"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </rightPowerRail> Laurent@1383: <coil localId="8" height="15" width="21" storage="set"> Laurent@1383: <position x="509" y="135"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="8"/> Laurent@1383: <connection refLocalId="11" formalParameter="Q"> Laurent@1383: <position x="509" y="143"/> Laurent@1383: <position x="428" y="143"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="21" y="8"/> Laurent@1383: </connectionPointOut> Laurent@1383: <variable>ORANGE_LIGHT</variable> Laurent@1383: </coil> andrej@2296: <comment localId="9" height="52" width="318"> andrej@2296: <position x="51" y="11"/> Laurent@1383: <content> Laurent@1383: <xhtml:p><![CDATA[This action makes the orange light blink]]></xhtml:p> Laurent@1383: </content> Laurent@1383: </comment> andrej@2296: <block localId="10" width="58" height="40" typeName="R_TRIG" instanceName="R_TRIG0"> Laurent@1383: <position x="370" y="262"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="CLK"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="30"/> Laurent@1383: <connection refLocalId="5" formalParameter="Q"> Laurent@1383: <position x="370" y="292"/> Laurent@1383: <position x="313" y="292"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables> Laurent@1383: <variable formalParameter="Q"> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="58" y="30"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: </outputVariables> Laurent@1383: </block> andrej@2296: <block localId="11" width="58" height="40" typeName="R_TRIG" instanceName="R_TRIG1"> Laurent@1383: <position x="371" y="113"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="CLK"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="30"/> Laurent@1383: <connection refLocalId="3" formalParameter="Q"> Laurent@1383: <position x="371" y="143"/> Laurent@1383: <position x="313" y="143"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables> Laurent@1383: <variable formalParameter="Q"> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="58" y="30"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: </outputVariables> Laurent@1383: </block> andrej@2296: <rightPowerRail localId="12" height="40" width="3"> Laurent@1383: <position x="597" y="272"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="20"/> Laurent@1383: <connection refLocalId="6"> Laurent@1383: <position x="597" y="292"/> Laurent@1383: <position x="538" y="292"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </rightPowerRail> andrej@2296: <leftPowerRail localId="13" height="40" width="3"> Laurent@1383: <position x="67" y="272"/> Laurent@1383: <connectionPointOut formalParameter=""> andrej@2296: <relPosition x="3" y="20"/> Laurent@1383: </connectionPointOut> Laurent@1383: </leftPowerRail> Laurent@1383: <contact localId="14" height="15" width="21"> Laurent@1383: <position x="134" y="284"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="8"/> Laurent@1383: <connection refLocalId="13"> Laurent@1383: <position x="134" y="292"/> Laurent@1383: <position x="69" y="292"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="21" y="8"/> Laurent@1383: </connectionPointOut> Laurent@1383: <variable>ORANGE_LIGHT</variable> Laurent@1383: </contact> andrej@2346: <inVariable localId="15" height="36" width="77" negated="false"> andrej@2346: <position x="85" y="317"/> Laurent@1383: <connectionPointOut> andrej@2346: <relPosition x="77" y="18"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>T#500ms</expression> Laurent@1383: </inVariable> Laurent@1383: </LD> Laurent@1383: </body> Laurent@1383: </action> Laurent@1383: </actions> Laurent@1383: <transitions> Laurent@1383: <transition name="STOP"> Laurent@1383: <body> Laurent@1383: <FBD> andrej@2346: <block localId="42" width="59" height="53" typeName="NOT" executionOrderId="0"> andrej@2346: <position x="237" y="31"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="IN"> Laurent@1383: <connectionPointIn> andrej@2346: <relPosition x="0" y="36"/> Laurent@1383: <connection refLocalId="43"> andrej@2346: <position x="237" y="67"/> andrej@2346: <position x="202" y="67"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables> Laurent@1383: <variable formalParameter="OUT"> Laurent@1383: <connectionPointOut> andrej@2346: <relPosition x="59" y="36"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: </outputVariables> Laurent@1383: </block> andrej@2346: <inVariable localId="43" height="39" width="164" executionOrderId="0" negated="false"> andrej@2346: <position x="38" y="48"/> Laurent@1383: <connectionPointOut> andrej@2346: <relPosition x="164" y="19"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>SWITCH_BUTTON</expression> Laurent@1383: </inVariable> andrej@2346: <outVariable localId="44" height="40" width="46" executionOrderId="0" negated="false"> andrej@2346: <position x="351" y="47"/> andrej@2346: <connectionPointIn> andrej@2346: <relPosition x="0" y="20"/> Laurent@1383: <connection refLocalId="42" formalParameter="OUT"> andrej@2346: <position x="351" y="67"/> andrej@2346: <position x="296" y="67"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <expression>STOP</expression> Laurent@1383: </outVariable> Laurent@1383: </FBD> Laurent@1383: </body> Laurent@1383: </transition> Laurent@1383: </transitions> Laurent@1383: <body> Laurent@1383: <SFC> andrej@2346: <step localId="1" height="37" width="121" name="Standstill" initialStep="true"> andrej@2346: <position x="509" y="31"/> andrej@2346: <connectionPointIn> andrej@2346: <relPosition x="60" y="0"/> Laurent@1383: <connection refLocalId="39"> Laurent@1383: <position x="569" y="31"/> Laurent@1383: <position x="569" y="11"/> andrej@2346: <position x="963" y="11"/> andrej@2346: <position x="963" y="1151"/> Laurent@1383: <position x="776" y="1151"/> Laurent@1383: <position x="776" y="1097"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut formalParameter=""> andrej@2346: <relPosition x="60" y="37"/> Laurent@1383: </connectionPointOut> Laurent@1383: <connectionPointOutAction formalParameter=""> andrej@2346: <relPosition x="121" y="18"/> Laurent@1383: </connectionPointOutAction> Laurent@1383: </step> Laurent@1383: <transition localId="2" height="2" width="20"> andrej@2346: <position x="559" y="222"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="10" y="0"/> Laurent@1383: <connection refLocalId="1"> andrej@2346: <position x="569" y="222"/> Laurent@1383: <position x="569" y="68"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="10" y="2"/> Laurent@1383: </connectionPointOut> Laurent@1383: <condition> Laurent@1383: <inline name=""> Laurent@1383: <ST> Laurent@1383: <xhtml:p><![CDATA[SWITCH_BUTTON]]></xhtml:p> Laurent@1383: </ST> Laurent@1383: </inline> Laurent@1383: </condition> Laurent@1383: </transition> andrej@2346: <step localId="3" height="30" width="118" name="ORANGE"> andrej@2346: <position x="510" y="250"/> andrej@2346: <connectionPointIn> andrej@2346: <relPosition x="59" y="0"/> Laurent@1383: <connection refLocalId="2"> andrej@2346: <position x="569" y="250"/> andrej@2346: <position x="569" y="224"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut formalParameter=""> andrej@2346: <relPosition x="59" y="30"/> Laurent@1383: </connectionPointOut> Laurent@1383: <connectionPointOutAction formalParameter=""> andrej@2346: <relPosition x="118" y="15"/> Laurent@1383: </connectionPointOutAction> Laurent@1383: </step> Laurent@1383: <transition localId="6" height="2" width="20"> Laurent@1383: <position x="559" y="376"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="10" y="0"/> Laurent@1383: <connection refLocalId="15"> Laurent@1383: <position x="569" y="376"/> Laurent@1383: <position x="569" y="336"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="10" y="2"/> Laurent@1383: </connectionPointOut> Laurent@1383: <condition> Laurent@1383: <inline name=""> Laurent@1383: <ST> Laurent@1383: <xhtml:p><![CDATA[STOP_CARS]]></xhtml:p> Laurent@1383: </ST> Laurent@1383: </inline> Laurent@1383: </condition> Laurent@1383: </transition> Laurent@1383: <actionBlock localId="8" width="231" height="162"> Laurent@1383: <position x="711" y="34"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="15"/> Laurent@1383: <connection refLocalId="1"> Laurent@1383: <position x="711" y="49"/> andrej@2346: <position x="630" y="49"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <action localId="0" qualifier="P"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <inline> Laurent@1383: <ST> Laurent@1383: <xhtml:p><![CDATA[ORANGE_LIGHT := 1;]]></xhtml:p> Laurent@1383: </ST> Laurent@1383: </inline> Laurent@1383: </action> Laurent@1383: <action localId="0"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="BLINK_ORANGE_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="R"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="PEDESTRIAN_RED_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="R"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="PEDESTRIAN_GREEN_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="R"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="RED_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="R"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="GREEN_LIGHT"/> Laurent@1383: </action> Laurent@1383: </actionBlock> andrej@1546: <actionBlock localId="9" width="232" height="125"> Laurent@1383: <position x="711" y="250"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="15"/> Laurent@1383: <connection refLocalId="3"> Laurent@1383: <position x="711" y="265"/> andrej@2346: <position x="628" y="265"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <action localId="0" qualifier="R"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="GREEN_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="S"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="ORANGE_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="S"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="PEDESTRIAN_RED_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="D" duration="T#2s"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="STOP_CARS"/> Laurent@1383: </action> Laurent@1383: </actionBlock> andrej@2346: <step localId="10" height="34" width="92" name="RED"> andrej@2346: <position x="523" y="411"/> andrej@2346: <connectionPointIn> andrej@2346: <relPosition x="46" y="0"/> Laurent@1383: <connection refLocalId="6"> Laurent@1383: <position x="569" y="411"/> Laurent@1383: <position x="569" y="378"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut formalParameter=""> andrej@2346: <relPosition x="46" y="34"/> Laurent@1383: </connectionPointOut> Laurent@1383: <connectionPointOutAction formalParameter=""> andrej@2346: <relPosition x="92" y="17"/> Laurent@1383: </connectionPointOutAction> Laurent@1383: </step> andrej@1546: <actionBlock localId="11" width="235" height="103"> Laurent@1383: <position x="710" y="413"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="15"/> Laurent@1383: <connection refLocalId="10"> Laurent@1383: <position x="710" y="428"/> andrej@2346: <position x="615" y="428"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <action localId="0" qualifier="R"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="ORANGE_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="S"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="RED_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="D" duration="T#2s"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="ALLOW_PEDESTRIANS"/> Laurent@1383: </action> Laurent@1383: </actionBlock> Laurent@1383: <transition localId="12" height="2" width="20"> Laurent@1383: <position x="559" y="533"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="10" y="0"/> Laurent@1383: <connection refLocalId="7"> Laurent@1383: <position x="569" y="533"/> Laurent@1383: <position x="569" y="487"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="10" y="2"/> Laurent@1383: </connectionPointOut> Laurent@1383: <condition> Laurent@1383: <inline name=""> Laurent@1383: <ST> Laurent@1383: <xhtml:p><![CDATA[ALLOW_PEDESTRIANS]]></xhtml:p> Laurent@1383: </ST> Laurent@1383: </inline> Laurent@1383: </condition> Laurent@1383: </transition> Laurent@1383: <selectionDivergence localId="15" height="1" width="154"> Laurent@1383: <position x="415" y="335"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="154" y="0"/> Laurent@1383: <connection refLocalId="3"> Laurent@1383: <position x="569" y="335"/> andrej@2346: <position x="569" y="280"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut formalParameter=""> Laurent@1383: <relPosition x="0" y="1"/> Laurent@1383: </connectionPointOut> Laurent@1383: <connectionPointOut formalParameter=""> Laurent@1383: <relPosition x="154" y="1"/> Laurent@1383: </connectionPointOut> Laurent@1383: </selectionDivergence> Laurent@1383: <transition localId="16" height="2" width="20"> Laurent@1383: <position x="405" y="377"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="10" y="0"/> Laurent@1383: <connection refLocalId="15"> Laurent@1383: <position x="415" y="377"/> Laurent@1383: <position x="415" y="336"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="10" y="2"/> Laurent@1383: </connectionPointOut> Laurent@1383: <condition> Laurent@1383: <reference name="STOP"/> Laurent@1383: </condition> Laurent@1383: </transition> Laurent@1383: <jumpStep localId="17" height="13" width="12" targetName="Standstill"> Laurent@1383: <position x="409" y="418"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="6" y="0"/> Laurent@1383: <connection refLocalId="16"> Laurent@1383: <position x="415" y="418"/> Laurent@1383: <position x="415" y="379"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </jumpStep> Laurent@1383: <transition localId="4" height="2" width="20"> Laurent@1383: <position x="400" y="528"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="10" y="0"/> Laurent@1383: <connection refLocalId="7"> Laurent@1383: <position x="410" y="528"/> Laurent@1383: <position x="410" y="487"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="10" y="2"/> Laurent@1383: </connectionPointOut> Laurent@1383: <condition> Laurent@1383: <reference name="STOP"/> Laurent@1383: </condition> Laurent@1383: </transition> Laurent@1383: <jumpStep localId="5" height="13" width="12" targetName="Standstill"> andrej@2346: <position x="404" y="553"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="6" y="0"/> Laurent@1383: <connection refLocalId="4"> andrej@2346: <position x="410" y="553"/> Laurent@1383: <position x="410" y="530"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </jumpStep> Laurent@1383: <selectionDivergence localId="7" height="1" width="159"> Laurent@1383: <position x="410" y="486"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="159" y="0"/> Laurent@1383: <connection refLocalId="10"> Laurent@1383: <position x="569" y="486"/> Laurent@1383: <position x="569" y="445"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut formalParameter=""> Laurent@1383: <relPosition x="0" y="1"/> Laurent@1383: </connectionPointOut> Laurent@1383: <connectionPointOut formalParameter=""> Laurent@1383: <relPosition x="159" y="1"/> Laurent@1383: </connectionPointOut> Laurent@1383: </selectionDivergence> andrej@2346: <step localId="18" height="32" width="177" name="PEDESTRIAN_GREEN"> andrej@2346: <position x="481" y="572"/> andrej@2346: <connectionPointIn> andrej@2346: <relPosition x="88" y="0"/> Laurent@1383: <connection refLocalId="12"> andrej@2346: <position x="569" y="572"/> Laurent@1383: <position x="569" y="535"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut formalParameter=""> andrej@2346: <relPosition x="88" y="32"/> Laurent@1383: </connectionPointOut> Laurent@1383: <connectionPointOutAction formalParameter=""> andrej@2346: <relPosition x="177" y="16"/> Laurent@1383: </connectionPointOutAction> Laurent@1383: </step> andrej@2296: <actionBlock localId="19" width="247" height="110"> Laurent@1383: <position x="708" y="573"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="15"/> Laurent@1383: <connection refLocalId="18"> Laurent@1383: <position x="708" y="588"/> andrej@2346: <position x="658" y="588"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <action localId="0" qualifier="S"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="PEDESTRIAN_GREEN_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="R"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="PEDESTRIAN_RED_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="D" duration="T#10s"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="STOP_PEDESTRIANS"/> Laurent@1383: </action> Laurent@1383: </actionBlock> Laurent@1383: <transition localId="20" height="2" width="20"> Laurent@1383: <position x="400" y="653"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="10" y="0"/> Laurent@1383: <connection refLocalId="22"> Laurent@1383: <position x="410" y="653"/> Laurent@1383: <position x="410" y="626"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="10" y="2"/> Laurent@1383: </connectionPointOut> Laurent@1383: <condition> andrej@1546: <inline name=""> andrej@1546: <ST> andrej@1546: <xhtml:p><![CDATA[NOT SWITCH_BUTTON]]></xhtml:p> andrej@1546: </ST> andrej@1546: </inline> Laurent@1383: </condition> Laurent@1383: </transition> Laurent@1383: <jumpStep localId="21" height="13" width="12" targetName="Standstill"> Laurent@1383: <position x="404" y="694"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="6" y="0"/> Laurent@1383: <connection refLocalId="20"> Laurent@1383: <position x="410" y="694"/> Laurent@1383: <position x="410" y="655"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </jumpStep> Laurent@1383: <selectionDivergence localId="22" height="1" width="159"> Laurent@1383: <position x="410" y="625"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="159" y="0"/> Laurent@1383: <connection refLocalId="18"> Laurent@1383: <position x="569" y="625"/> andrej@2346: <position x="569" y="615"/> andrej@2346: <position x="569" y="615"/> andrej@2346: <position x="569" y="604"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut formalParameter=""> Laurent@1383: <relPosition x="0" y="1"/> Laurent@1383: </connectionPointOut> Laurent@1383: <connectionPointOut formalParameter=""> Laurent@1383: <relPosition x="159" y="1"/> Laurent@1383: </connectionPointOut> Laurent@1383: </selectionDivergence> Laurent@1383: <transition localId="23" height="2" width="20"> Laurent@1383: <position x="559" y="709"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="10" y="0"/> Laurent@1383: <connection refLocalId="22"> Laurent@1383: <position x="569" y="709"/> Laurent@1383: <position x="569" y="626"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="10" y="2"/> Laurent@1383: </connectionPointOut> Laurent@1383: <condition> Laurent@1383: <inline name=""> Laurent@1383: <ST> Laurent@1383: <xhtml:p><![CDATA[STOP_PEDESTRIANS]]></xhtml:p> Laurent@1383: </ST> Laurent@1383: </inline> Laurent@1383: </condition> Laurent@1383: </transition> andrej@2296: <step localId="24" height="30" width="148" name="PEDESTRIAN_RED"> andrej@2346: <position x="495" y="748"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="74" y="0"/> Laurent@1383: <connection refLocalId="23"> andrej@2346: <position x="569" y="748"/> Laurent@1383: <position x="569" y="711"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut formalParameter=""> andrej@2296: <relPosition x="74" y="30"/> Laurent@1383: </connectionPointOut> Laurent@1383: <connectionPointOutAction formalParameter=""> andrej@2296: <relPosition x="148" y="15"/> Laurent@1383: </connectionPointOutAction> Laurent@1383: </step> andrej@2296: <actionBlock localId="25" width="239" height="110"> Laurent@1383: <position x="708" y="748"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="15"/> Laurent@1383: <connection refLocalId="24"> Laurent@1383: <position x="708" y="763"/> andrej@2346: <position x="643" y="763"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <action localId="0" qualifier="S"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="PEDESTRIAN_RED_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="R"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="PEDESTRIAN_GREEN_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="D" duration="T#2s"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="ALLOW_CARS"/> Laurent@1383: </action> Laurent@1383: </actionBlock> Laurent@1383: <transition localId="26" height="2" width="20"> Laurent@1383: <position x="400" y="857"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="10" y="0"/> Laurent@1383: <connection refLocalId="28"> Laurent@1383: <position x="410" y="857"/> Laurent@1383: <position x="410" y="816"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="10" y="2"/> Laurent@1383: </connectionPointOut> Laurent@1383: <condition> andrej@1546: <connectionPointIn> andrej@1546: <connection refLocalId="48"> andrej@1546: <position x="400" y="858"/> andrej@1546: <position x="290" y="858"/> andrej@1546: </connection> andrej@1546: </connectionPointIn> Laurent@1383: </condition> Laurent@1383: </transition> Laurent@1383: <jumpStep localId="27" height="13" width="12" targetName="Standstill"> Laurent@1383: <position x="404" y="898"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="6" y="0"/> Laurent@1383: <connection refLocalId="26"> Laurent@1383: <position x="410" y="898"/> Laurent@1383: <position x="410" y="859"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </jumpStep> Laurent@1383: <selectionDivergence localId="28" height="1" width="159"> Laurent@1383: <position x="410" y="815"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="159" y="0"/> Laurent@1383: <connection refLocalId="24"> Laurent@1383: <position x="569" y="815"/> andrej@2346: <position x="569" y="778"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut formalParameter=""> Laurent@1383: <relPosition x="0" y="1"/> Laurent@1383: </connectionPointOut> Laurent@1383: <connectionPointOut formalParameter=""> Laurent@1383: <relPosition x="159" y="1"/> Laurent@1383: </connectionPointOut> Laurent@1383: </selectionDivergence> Laurent@1383: <transition localId="29" height="2" width="20"> Laurent@1383: <position x="559" y="879"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="10" y="0"/> Laurent@1383: <connection refLocalId="28"> Laurent@1383: <position x="569" y="879"/> Laurent@1383: <position x="569" y="816"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="10" y="2"/> Laurent@1383: </connectionPointOut> Laurent@1383: <condition> Laurent@1383: <inline name=""> Laurent@1383: <ST> Laurent@1383: <xhtml:p><![CDATA[ALLOW_CARS]]></xhtml:p> Laurent@1383: </ST> Laurent@1383: </inline> Laurent@1383: </condition> Laurent@1383: </transition> andrej@2346: <step localId="30" height="33" width="92" name="GREEN"> andrej@2346: <position x="523" y="930"/> andrej@2346: <connectionPointIn> andrej@2346: <relPosition x="46" y="0"/> Laurent@1383: <connection refLocalId="29"> andrej@2346: <position x="569" y="930"/> Laurent@1383: <position x="569" y="881"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut formalParameter=""> andrej@2346: <relPosition x="46" y="33"/> Laurent@1383: </connectionPointOut> Laurent@1383: <connectionPointOutAction formalParameter=""> andrej@2346: <relPosition x="92" y="16"/> Laurent@1383: </connectionPointOutAction> Laurent@1383: </step> andrej@1546: <actionBlock localId="31" width="227" height="110"> Laurent@1383: <position x="709" y="931"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="15"/> Laurent@1383: <connection refLocalId="30"> Laurent@1383: <position x="709" y="946"/> andrej@2346: <position x="615" y="946"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <action localId="0" qualifier="S"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="GREEN_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="R"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="RED_LIGHT"/> Laurent@1383: </action> Laurent@1383: <action localId="0" qualifier="D" duration="T#20s"> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <reference name="WARN_CARS"/> Laurent@1383: </action> Laurent@1383: </actionBlock> Laurent@1383: <block localId="32" width="89" height="94" typeName="TON" instanceName="TON3"> Laurent@1383: <position x="308" y="1053"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="IN"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="38"/> Laurent@1383: <connection refLocalId="44" formalParameter="Q1"> Laurent@1383: <position x="308" y="1091"/> Laurent@1383: <position x="291" y="1091"/> Laurent@1383: <position x="291" y="1065"/> andrej@2346: <position x="275" y="1065"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="PT"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="75"/> Laurent@1383: <connection refLocalId="34"> Laurent@1383: <position x="308" y="1128"/> Laurent@1383: <position x="270" y="1128"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables> Laurent@1383: <variable formalParameter="Q"> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="89" y="38"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="ET"> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="89" y="75"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: </outputVariables> Laurent@1383: </block> andrej@2346: <inVariable localId="33" height="36" width="168" negated="false"> andrej@2346: <position x="15" y="1047"/> andrej@2346: <connectionPointOut> andrej@2346: <relPosition x="168" y="18"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>PEDESTRIAN_BUTTON</expression> Laurent@1383: </inVariable> andrej@2346: <inVariable localId="34" height="33" width="53" negated="false"> andrej@2346: <position x="217" y="1112"/> andrej@2346: <connectionPointOut> andrej@2346: <relPosition x="53" y="16"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>T#2s</expression> Laurent@1383: </inVariable> Laurent@1383: <block localId="35" width="67" height="60" typeName="OR"> Laurent@1383: <position x="459" y="1061"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="IN1"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="30"/> Laurent@1383: <connection refLocalId="32" formalParameter="Q"> Laurent@1383: <position x="459" y="1091"/> Laurent@1383: <position x="397" y="1091"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="IN2"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="50"/> Laurent@1383: <connection refLocalId="36"> Laurent@1383: <position x="459" y="1111"/> Laurent@1383: <position x="427" y="1111"/> Laurent@1383: <position x="427" y="1195"/> Laurent@1383: <position x="260" y="1195"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables> Laurent@1383: <variable formalParameter="OUT"> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="67" y="30"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: </outputVariables> Laurent@1383: </block> andrej@2296: <inVariable localId="36" height="30" width="97" negated="false"> Laurent@1383: <position x="163" y="1182"/> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="97" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>WARN_CARS</expression> Laurent@1383: </inVariable> Laurent@1383: <transition localId="37" height="2" width="20"> Laurent@1383: <position x="559" y="1090"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="10" y="0"/> Laurent@1383: <connection refLocalId="38"> Laurent@1383: <position x="569" y="1090"/> Laurent@1383: <position x="569" y="1060"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="10" y="2"/> Laurent@1383: </connectionPointOut> Laurent@1383: <condition> Laurent@1383: <connectionPointIn> Laurent@1383: <connection refLocalId="35" formalParameter="OUT"> Laurent@1383: <position x="559" y="1091"/> Laurent@1383: <position x="526" y="1091"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </condition> Laurent@1383: </transition> Laurent@1383: <selectionDivergence localId="38" height="1" width="207"> Laurent@1383: <position x="569" y="1059"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="0"/> Laurent@1383: <connection refLocalId="30"> Laurent@1383: <position x="569" y="1059"/> andrej@2346: <position x="569" y="963"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut formalParameter=""> Laurent@1383: <relPosition x="0" y="1"/> Laurent@1383: </connectionPointOut> Laurent@1383: <connectionPointOut formalParameter=""> Laurent@1383: <relPosition x="207" y="1"/> Laurent@1383: </connectionPointOut> Laurent@1383: </selectionDivergence> Laurent@1383: <transition localId="39" height="2" width="20"> Laurent@1383: <position x="766" y="1095"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="10" y="0"/> Laurent@1383: <connection refLocalId="38"> Laurent@1383: <position x="776" y="1095"/> Laurent@1383: <position x="776" y="1060"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: <connectionPointOut> Laurent@1383: <relPosition x="10" y="2"/> Laurent@1383: </connectionPointOut> Laurent@1383: <condition> Laurent@1383: <inline name=""> Laurent@1383: <ST> Laurent@1383: <xhtml:p><![CDATA[NOT SWITCH_BUTTON]]></xhtml:p> Laurent@1383: </ST> Laurent@1383: </inline> Laurent@1383: </condition> Laurent@1383: </transition> Laurent@1383: <jumpStep localId="41" height="13" width="12" targetName="ORANGE"> Laurent@1383: <position x="563" y="1137"/> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="6" y="0"/> Laurent@1383: <connection refLocalId="37"> Laurent@1383: <position x="569" y="1137"/> Laurent@1383: <position x="569" y="1092"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </jumpStep> andrej@2296: <block localId="44" width="51" height="60" typeName="SR" instanceName="SR0"> Laurent@1383: <position x="224" y="1035"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="S1"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="30"/> Laurent@1383: <connection refLocalId="33"> Laurent@1383: <position x="224" y="1065"/> andrej@2346: <position x="183" y="1065"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="R"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="50"/> Laurent@1383: <connection refLocalId="32" formalParameter="Q"> Laurent@1383: <position x="224" y="1085"/> Laurent@1383: <position x="203" y="1085"/> Laurent@1383: <position x="203" y="1167"/> Laurent@1383: <position x="416" y="1167"/> Laurent@1383: <position x="416" y="1091"/> Laurent@1383: <position x="397" y="1091"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables> Laurent@1383: <variable formalParameter="Q1"> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="51" y="30"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: </outputVariables> Laurent@1383: </block> andrej@2346: <comment localId="45" height="767" width="753"> andrej@2346: <position x="973" y="21"/> andrej@1546: <content> andrej@1546: <xhtml:p><![CDATA[*** Description of SFC action qualifiers *** andrej@1546: andrej@1546: N : non-stored - The action code body is executed or the Boolean variable is set as andrej@1546: long as the step is active. andrej@1546: andrej@1546: R : overriding reset – When the step has previously been executed with the S andrej@1546: (including DS, DS, and SL) qualifier, the R qualifier will stop the execution of the andrej@1546: code or reset the Boolean variable. andrej@1546: andrej@1546: S : set (stored) - The action code body is executed or the Boolean variable is set. andrej@1546: This state is stored as soon as the step becomes active. It can only be reset andrej@1546: explicitly by associating the same action to a different step using the qualifier 'R'. andrej@1546: andrej@1546: L : time limited - The action code body is executed or the Boolean variable is set as andrej@1546: long as the step is active but maximal for the fixed time interval. andrej@1546: andrej@1546: D : time delayed - The action code body is executed or the Boolean variable is set andrej@1546: after the fixed delay time has elapsed. The action remains active as long as the step andrej@1546: is active. If the step is active shorter than the fixed delay time the action does not andrej@1546: become active. andrej@1546: andrej@1546: P : pulse - As soon as the step is active the action code body is executed or the andrej@1546: Boolean variable is set for one operating cycle. (Note: The code body will then andrej@1546: execute for one additional operating cycle with the Step.X variable FALSE.) andrej@1546: andrej@1546: SD : stored and time delayed - the action code body is executed or the Boolean andrej@1546: variable is stored and set when the fixed delay time has elapsed after the step andrej@1546: activation, even if the step becomes inactive. The action remains active until it is andrej@1546: reset. If the step is active shorter than the fixed delay time the action becomes active andrej@1546: anyway. andrej@1546: andrej@1546: DS : delayed and stored - The action code body is executed or the Boolean variable andrej@1546: is set when the fixed delay time has elapsed after the step activation. The action andrej@1546: remains active until it is reset. If the step is active shorter than the fixed delay time andrej@1546: the action does not become active. andrej@1546: andrej@1546: SL : stored and time limited - The action code body is executed or the Boolean andrej@1546: variable is set and stored for a fixed time interval as soon as the step is active. If the andrej@1546: step is active shorter than the time interval the action is active for the whole time andrej@1546: interval anyway. If the action is reset during the time interval the action becomes andrej@1546: inactive as soon as the action is reset. andrej@1546: ]]></xhtml:p> andrej@1546: </content> andrej@1546: </comment> andrej@2296: <comment localId="46" height="224" width="375"> andrej@1546: <position x="8" y="326"/> andrej@1546: <content> andrej@1546: <xhtml:p><![CDATA[Conditions can be written in any IEC 61131-3 language. andrej@1546: They can be implemented in defferent ways: andrej@1546: - reference to external implementation; andrej@1546: - inline implementation; andrej@1546: - written in FBD or LD on SFC diagram and connected to the condition. andrej@1546: andrej@1546: See below examples of all these types.]]></xhtml:p> andrej@1546: </content> andrej@1546: </comment> andrej@1546: <leftPowerRail localId="47" height="40" width="3"> andrej@1546: <position x="189" y="838"/> andrej@1546: <connectionPointOut formalParameter=""> andrej@1546: <relPosition x="3" y="20"/> andrej@1546: </connectionPointOut> andrej@1546: </leftPowerRail> andrej@1546: <contact localId="48" height="15" width="21" negated="true"> andrej@1546: <position x="269" y="850"/> andrej@1546: <connectionPointIn> andrej@1546: <relPosition x="0" y="8"/> andrej@1546: <connection refLocalId="47"> andrej@1546: <position x="269" y="858"/> andrej@1546: <position x="192" y="858"/> andrej@1546: </connection> andrej@1546: </connectionPointIn> andrej@1546: <connectionPointOut> andrej@1546: <relPosition x="21" y="8"/> andrej@1546: </connectionPointOut> andrej@1546: <variable>SWITCH_BUTTON</variable> andrej@1546: </contact> andrej@2296: <comment localId="13" height="86" width="379"> andrej@1546: <position x="9" y="28"/> andrej@1546: <content> andrej@2346: <xhtml:p><![CDATA[Sequential function chart (SFC) is commonly used to describe state machines.]]></xhtml:p> andrej@1546: </content> andrej@1546: </comment> Laurent@1383: </SFC> Laurent@1383: </body> Laurent@1383: </pou> Laurent@1383: <pou name="main_program" pouType="program"> Laurent@1383: <interface> Laurent@1383: <localVars> Laurent@1383: <variable name="trafic_light_sequence0"> Laurent@1383: <type> Laurent@1383: <derived name="traffic_light_sequence"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="SwitchButton"> Laurent@1383: <type> Laurent@1383: <derived name="Button"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="PedestrianButton"> Laurent@1383: <type> Laurent@1383: <derived name="Button"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="RedLight"> Laurent@1383: <type> Laurent@1383: <derived name="Led"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="OrangeLight"> Laurent@1383: <type> Laurent@1383: <derived name="Led"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="GreenLight"> Laurent@1383: <type> Laurent@1383: <derived name="Led"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="PedestrianRedLight"> Laurent@1383: <type> Laurent@1383: <derived name="Led"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: <variable name="PedestrianGreenLight"> Laurent@1383: <type> Laurent@1383: <derived name="Led"/> Laurent@1383: </type> Laurent@1383: </variable> Laurent@1383: </localVars> Laurent@1383: </interface> Laurent@1383: <body> Laurent@1383: <FBD> andrej@2296: <block localId="1" width="350" height="836" typeName="traffic_light_sequence" instanceName="trafic_light_sequence0" executionOrderId="0"> andrej@2346: <position x="494" y="462"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="SWITCH_BUTTON"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="101"/> Laurent@1383: <connection refLocalId="2" formalParameter="state_out"> andrej@2346: <position x="494" y="563"/> andrej@2346: <position x="349" y="563"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="PEDESTRIAN_BUTTON"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="264"/> Laurent@1383: <connection refLocalId="3" formalParameter="state_out"> andrej@2346: <position x="494" y="726"/> andrej@2346: <position x="402" y="726"/> andrej@2346: <position x="402" y="777"/> andrej@2346: <position x="351" y="777"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables> Laurent@1383: <variable formalParameter="RED_LIGHT"> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="350" y="101"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="ORANGE_LIGHT"> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="350" y="264"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="GREEN_LIGHT"> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="350" y="427"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="PEDESTRIAN_RED_LIGHT"> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="350" y="590"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="PEDESTRIAN_GREEN_LIGHT"> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="350" y="753"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: </outputVariables> Laurent@1383: </block> andrej@2346: <block localId="2" width="159" height="183" typeName="Button" instanceName="SwitchButton" executionOrderId="0"> andrej@2346: <position x="190" y="527"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="back_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="36"/> Laurent@1383: <connection refLocalId="5"> andrej@2346: <position x="190" y="563"/> andrej@2346: <position x="137" y="563"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="sele_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="68"/> Laurent@1383: <connection refLocalId="6"> andrej@2346: <position x="190" y="595"/> andrej@2346: <position x="136" y="595"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="toggle"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="100"/> Laurent@1383: <connection refLocalId="4"> andrej@2346: <position x="190" y="627"/> andrej@2346: <position x="136" y="627"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="set_state"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="132"/> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="state_in"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="164"/> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables> Laurent@1383: <variable formalParameter="state_out"> Laurent@1383: <connectionPointOut> andrej@2346: <relPosition x="159" y="36"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: </outputVariables> Laurent@1383: </block> andrej@2346: <block localId="3" width="159" height="198" typeName="Button" instanceName="PedestrianButton" executionOrderId="0"> andrej@2346: <position x="192" y="740"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="back_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="37"/> Laurent@1383: <connection refLocalId="7"> andrej@2346: <position x="192" y="777"/> andrej@2346: <position x="160" y="777"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="sele_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="72"/> Laurent@1383: <connection refLocalId="8"> andrej@2346: <position x="192" y="812"/> andrej@2346: <position x="159" y="812"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="toggle"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="107"/> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="set_state"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="142"/> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="state_in"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="177"/> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables> Laurent@1383: <variable formalParameter="state_out"> Laurent@1383: <connectionPointOut> andrej@2346: <relPosition x="159" y="37"/> Laurent@1383: </connectionPointOut> Laurent@1383: </variable> Laurent@1383: </outputVariables> Laurent@1383: </block> andrej@2296: <inVariable localId="4" height="30" width="18" executionOrderId="0" negated="false"> andrej@2346: <position x="118" y="612"/> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="18" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>1</expression> Laurent@1383: </inVariable> andrej@2346: <inVariable localId="5" height="30" width="106" executionOrderId="0" negated="false"> andrej@2346: <position x="31" y="548"/> andrej@2346: <connectionPointOut> andrej@2346: <relPosition x="106" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'SWITCH_OFF'</expression> Laurent@1383: </inVariable> andrej@2296: <inVariable localId="6" height="30" width="105" executionOrderId="0" negated="false"> andrej@2346: <position x="31" y="580"/> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="105" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'SWITCH_ON'</expression> Laurent@1383: </inVariable> andrej@2346: <inVariable localId="7" height="30" width="138" executionOrderId="0" negated="false"> andrej@2346: <position x="22" y="762"/> andrej@2346: <connectionPointOut> andrej@2346: <relPosition x="138" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'PEDESTRIAN_OFF'</expression> Laurent@1383: </inVariable> andrej@2296: <inVariable localId="8" height="30" width="137" executionOrderId="0" negated="false"> andrej@2346: <position x="22" y="797"/> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="137" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'PEDESTRIAN_ON'</expression> Laurent@1383: </inVariable> andrej@1546: <block localId="9" width="115" height="133" typeName="Led" instanceName="RedLight" executionOrderId="0"> andrej@2346: <position x="1057" y="451"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="back_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="38"/> Laurent@1383: <connection refLocalId="10"> andrej@2346: <position x="1057" y="489"/> andrej@2346: <position x="1013" y="489"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="sele_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="75"/> Laurent@1383: <connection refLocalId="11"> andrej@2346: <position x="1057" y="526"/> andrej@2346: <position x="1010" y="526"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="state_in"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="112"/> Laurent@1383: <connection refLocalId="1" formalParameter="RED_LIGHT"> andrej@2346: <position x="1057" y="563"/> andrej@2346: <position x="844" y="563"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables/> Laurent@1383: </block> andrej@2346: <inVariable localId="10" height="30" width="82" executionOrderId="0" negated="false"> andrej@2346: <position x="931" y="474"/> andrej@2346: <connectionPointOut> andrej@2346: <relPosition x="82" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'RED_OFF'</expression> Laurent@1383: </inVariable> andrej@2296: <inVariable localId="11" height="30" width="79" executionOrderId="0" negated="false"> andrej@2346: <position x="931" y="511"/> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="79" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'RED_ON'</expression> Laurent@1383: </inVariable> andrej@1546: <block localId="12" width="115" height="133" typeName="Led" instanceName="OrangeLight" executionOrderId="0"> andrej@2346: <position x="1058" y="614"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="back_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="38"/> Laurent@1383: <connection refLocalId="13"> andrej@2346: <position x="1058" y="652"/> andrej@2346: <position x="1010" y="652"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="sele_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="75"/> Laurent@1383: <connection refLocalId="14"> andrej@2346: <position x="1058" y="689"/> andrej@2346: <position x="1010" y="689"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="state_in"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="112"/> Laurent@1383: <connection refLocalId="1" formalParameter="ORANGE_LIGHT"> andrej@2346: <position x="1058" y="726"/> andrej@2346: <position x="844" y="726"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables/> Laurent@1383: </block> andrej@2296: <inVariable localId="13" height="30" width="111" executionOrderId="0" negated="false"> andrej@2346: <position x="899" y="637"/> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="111" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'ORANGE_OFF'</expression> Laurent@1383: </inVariable> andrej@2296: <inVariable localId="14" height="30" width="106" executionOrderId="0" negated="false"> andrej@2346: <position x="904" y="674"/> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="106" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'ORANGE_ON'</expression> Laurent@1383: </inVariable> andrej@1546: <block localId="15" width="115" height="133" typeName="Led" instanceName="GreenLight" executionOrderId="0"> andrej@2346: <position x="1058" y="777"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="back_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="38"/> Laurent@1383: <connection refLocalId="16"> andrej@2346: <position x="1058" y="815"/> andrej@2346: <position x="1010" y="815"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="sele_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="75"/> Laurent@1383: <connection refLocalId="17"> andrej@2346: <position x="1058" y="852"/> andrej@2346: <position x="1010" y="852"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="state_in"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="112"/> Laurent@1383: <connection refLocalId="1" formalParameter="GREEN_LIGHT"> andrej@2346: <position x="1058" y="889"/> andrej@2346: <position x="844" y="889"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables/> Laurent@1383: </block> andrej@2296: <inVariable localId="16" height="30" width="111" executionOrderId="0" negated="false"> andrej@2346: <position x="899" y="800"/> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="111" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'GREEN_OFF'</expression> Laurent@1383: </inVariable> andrej@2296: <inVariable localId="17" height="30" width="106" executionOrderId="0" negated="false"> andrej@2346: <position x="904" y="837"/> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="106" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'GREEN_ON'</expression> Laurent@1383: </inVariable> andrej@1546: <block localId="18" width="115" height="133" typeName="Led" instanceName="PedestrianRedLight" executionOrderId="0"> andrej@2346: <position x="1059" y="940"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="back_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="38"/> Laurent@1383: <connection refLocalId="19"> andrej@2346: <position x="1059" y="978"/> andrej@2346: <position x="1020" y="978"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="sele_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="75"/> Laurent@1383: <connection refLocalId="20"> andrej@2346: <position x="1059" y="1015"/> andrej@2346: <position x="1020" y="1015"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="state_in"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="112"/> Laurent@1383: <connection refLocalId="1" formalParameter="PEDESTRIAN_RED_LIGHT"> andrej@2346: <position x="1059" y="1052"/> andrej@2346: <position x="844" y="1052"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables/> Laurent@1383: </block> andrej@2296: <inVariable localId="19" height="30" width="171" executionOrderId="0" negated="false"> andrej@2346: <position x="849" y="963"/> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="171" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'PEDESTRIAN_RED_OFF'</expression> Laurent@1383: </inVariable> andrej@2296: <inVariable localId="20" height="30" width="166" executionOrderId="0" negated="false"> andrej@2346: <position x="854" y="1000"/> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="166" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'PEDESTRIAN_RED_ON'</expression> Laurent@1383: </inVariable> andrej@1546: <block localId="21" width="115" height="133" typeName="Led" instanceName="PedestrianGreenLight" executionOrderId="0"> andrej@2346: <position x="1059" y="1103"/> Laurent@1383: <inputVariables> Laurent@1383: <variable formalParameter="back_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="38"/> Laurent@1383: <connection refLocalId="22"> andrej@2346: <position x="1059" y="1141"/> andrej@2346: <position x="1035" y="1141"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="sele_id"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="75"/> Laurent@1383: <connection refLocalId="23"> andrej@2346: <position x="1059" y="1178"/> andrej@2346: <position x="1035" y="1178"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: <variable formalParameter="state_in"> Laurent@1383: <connectionPointIn> Laurent@1383: <relPosition x="0" y="112"/> Laurent@1383: <connection refLocalId="1" formalParameter="PEDESTRIAN_GREEN_LIGHT"> andrej@2346: <position x="1059" y="1215"/> andrej@2346: <position x="844" y="1215"/> Laurent@1383: </connection> Laurent@1383: </connectionPointIn> Laurent@1383: </variable> Laurent@1383: </inputVariables> Laurent@1383: <inOutVariables/> Laurent@1383: <outputVariables/> Laurent@1383: </block> andrej@2296: <inVariable localId="22" height="30" width="190" executionOrderId="0" negated="false"> andrej@2346: <position x="845" y="1126"/> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="190" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'PEDESTRIAN_GREEN_OFF'</expression> Laurent@1383: </inVariable> andrej@2296: <inVariable localId="23" height="30" width="185" executionOrderId="0" negated="false"> andrej@2346: <position x="850" y="1163"/> Laurent@1383: <connectionPointOut> andrej@2296: <relPosition x="185" y="15"/> Laurent@1383: </connectionPointOut> Laurent@1383: <expression>'PEDESTRIAN_GREEN_ON'</expression> Laurent@1383: </inVariable> andrej@2296: <comment localId="24" height="287" width="1008"> andrej@1546: <position x="22" y="13"/> andrej@1546: <content> andrej@1546: <xhtml:p><![CDATA[This example implements control of traffic lights. andrej@1546: andrej@1546: Basically it shows following features of Beremiz: andrej@1546: - web interface (SCADA) using integrated web server in svgui extension; andrej@1546: - interaction with web UI; andrej@1546: - functional blocks in SFC language. andrej@1546: andrej@1546: andrej@1546: andrej@1546: andrej@1546: SVGUI 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!!! andrej@1546: andrej@1546: As the program is running in PLC, web UI will be available at http://localhost:8009/. andrej@1546: andrej@1546: Web interface is build as SVG file in Inkscape. To edit SVG file click 'Inkscape' button in 0x: svgui extension. andrej@1546: Inkscape is a free and open-source vector graphics editor. It's not part of Beremiz and needs to be installed separately. andrej@1546: ]]></xhtml:p> andrej@1546: </content> andrej@1546: </comment> andrej@2346: <comment localId="102" height="134" width="734"> andrej@2346: <position x="21" y="303"/> andrej@1546: <content> andrej@1546: <xhtml:p><![CDATA[In this example FB like 'Button', 'Led' and 'Text' are used. andrej@2346: Back_id and sele_id inputs of these blocks are IDs of graphic primitives in SVG file. andrej@2346: This is the way how elements in SVG are bound to elements in PLC program. andrej@2346: You can find out or edit these IDs in Inkscape.]]></xhtml:p> andrej@1546: </content> andrej@1546: </comment> Laurent@1383: </FBD> Laurent@1383: </body> Laurent@1383: </pou> Laurent@1383: </pous> Laurent@1383: </types> Laurent@1383: <instances> Laurent@1383: <configurations> Laurent@1383: <configuration name="config"> Laurent@1383: <resource name="resource1"> Laurent@1383: <task name="test_task" interval="T#100ms" priority="0"> Laurent@1383: <pouInstance name="main_instance" typeName="main_program"/> Laurent@1383: </task> Laurent@1383: </resource> Laurent@1383: </configuration> Laurent@1383: </configurations> Laurent@1383: </instances> Laurent@1383: </project>