examples/example.xml
author lbessard
Mon, 10 Sep 2007 09:00:50 +0200
changeset 88 bac6435df86f
parent 80 c798a68c5560
child 116 58b9b84e385f
permissions -rw-r--r--
Bug on optional attributes generation fixed
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://www.plcopen.org/xml/tc6.xsd"
         xmlns:xhtml="http://www.w3.org/1999/xhtml"
         xsi:schemaLocation="http://www.plcopen.org/xml/tc6.xsd http://www.plcopen.org/xml/tc6.xsd">
  <fileHeader companyName="Lolitech"
              productName="PLCOpenEditorExample"
              productVersion="1.0"
              creationDateTime="2006-09-07 18:52:43"/>
  <contentHeader name="Test">
    <coordinateInfo>
      <fbd>
        <scaling y="0" x="0"/>
      </fbd>
      <ld>
        <scaling y="0" x="0"/>
      </ld>
      <sfc>
        <scaling y="0" x="0"/>
      </sfc>
    </coordinateInfo>
  </contentHeader>
  <types>
    <dataTypes/>
    <pous>
      <pou name="FBDTest" pouType="functionBlock">
        <interface>
          <inputVars>
            <variable name="IN1">
              <type>
                <BOOL/>
              </type>
              <initialValue>
                <simpleValue value="false"/>
              </initialValue>
            </variable>
            <variable name="IN2">
              <type>
                <BOOL/>
              </type>
              <initialValue>
                <simpleValue value="true"/>
              </initialValue>
            </variable>
            <variable name="IN3">
              <type>
                <BOOL/>
              </type>
            </variable>
          </inputVars>
          <outputVars>
            <variable name="OUT">
              <type>
                <BOOL/>
              </type>
            </variable>
          </outputVars>
          <localVars>
            <variable name="SR1">
              <type>
                <derived name="SR"/>
              </type>
            </variable>
          </localVars>
        </interface>
        <body>
          <FBD>
            <inVariable localId="2" width="89" height="27">
              <position y="84" x="64"/>
              <connectionPointOut>
                <relPosition y="13" x="89"/>
              </connectionPointOut>
              <expression>IN1</expression>
            </inVariable>
            <inVariable localId="3" width="90" height="27">
              <position y="204" x="63"/>
              <connectionPointOut>
                <relPosition y="13" x="90"/>
              </connectionPointOut>
              <expression>IN2</expression>
            </inVariable>
            <outVariable localId="4" width="95" height="33">
              <position y="182" x="587"/>
              <connectionPointIn>
                <relPosition y="16" x="0"/>
                <connection refLocalId="11" formalParameter="Q1">
                  <position y="198" x="587"/>
                  <position y="198" x="523"/>
                </connection>
              </connectionPointIn>
              <expression>OUT</expression>
            </outVariable>
            <block localId="6" height="84" width="99" typeName="AND">
              <position y="105" x="235"/>
              <inputVariables>
                <variable formalParameter="IN1" edge="rising">
                  <connectionPointIn>
                    <relPosition y="36" x="0"/>
                    <connection refLocalId="2">
                      <position y="141" x="235"/>
                      <position y="141" x="190"/>
                      <position y="97" x="190"/>
                      <position y="97" x="153"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition y="68" x="0"/>
                    <connection refLocalId="3">
                      <position y="173" x="235"/>
                      <position y="173" x="190"/>
                      <position y="217" x="190"/>
                      <position y="217" x="153"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition y="36" x="99"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <inVariable localId="7" width="90" height="28">
              <position y="336" x="63"/>
              <connectionPointOut>
                <relPosition y="14" x="90"/>
              </connectionPointOut>
              <expression>IN3</expression>
            </inVariable>
            <block localId="8" height="87" width="99" typeName="OR">
              <position y="246" x="235"/>
              <inputVariables>
                <variable formalParameter="IN1" negated="true">
                  <connectionPointIn>
                    <relPosition y="36" x="0"/>
                    <connection refLocalId="3">
                      <position y="282" x="235"/>
                      <position y="282" x="190"/>
                      <position y="217" x="190"/>
                      <position y="217" x="153"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition y="69" x="0"/>
                    <connection refLocalId="7">
                      <position y="315" x="235"/>
                      <position y="315" x="191"/>
                      <position y="350" x="191"/>
                      <position y="350" x="153"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition y="36" x="99"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <comment localId="10" height="37" width="261">
              <position y="32" x="243"/>
              <content><![CDATA[POU used for testing PLCOpenEditor.]]></content>
            </comment>
            <block localId="11" height="97" width="105" instanceName="SR1" typeName="SR">
              <position y="159" x="418"/>
              <inputVariables>
                <variable formalParameter="S1" negated="true">
                  <connectionPointIn>
                    <relPosition y="39" x="0"/>
                    <connection refLocalId="6" formalParameter="OUT">
                      <position y="198" x="418"/>
                      <position y="198" x="376"/>
                      <position y="141" x="376"/>
                      <position y="141" x="334"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="R">
                  <connectionPointIn>
                    <relPosition y="77" x="0"/>
                    <connection refLocalId="8" formalParameter="OUT">
                      <position y="236" x="418"/>
                      <position y="236" x="376"/>
                      <position y="282" x="376"/>
                      <position y="282" x="334"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="Q1">
                  <connectionPointOut>
                    <relPosition y="39" x="105"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
          </FBD>
        </body>
      </pou>
      <pou name="LDTest" pouType="function">
        <interface>
          <returnType>
            <BOOL/>
          </returnType>
          <inputVars>
            <variable name="IN1">
              <type>
                <BOOL/>
              </type>
            </variable>
            <variable name="IN2">
              <type>
                <BOOL/>
              </type>
            </variable>
            <variable name="IN3">
              <type>
                <BOOL/>
              </type>
            </variable>
            <variable name="IN4">
              <type>
                <BOOL/>
              </type>
            </variable>
          </inputVars>
        </interface>
        <body>
          <LD>
            <comment localId="1" height="40" width="600">
              <position y="10" x="10"/>
              <content><![CDATA[Comment]]></content>
            </comment>
            <leftPowerRail localId="2" height="80" width="2">
              <position y="60" x="10"/>
              <connectionPointOut formalParameter="None">
                <relPosition y="20" x="2"/>
              </connectionPointOut>
              <connectionPointOut formalParameter="None">
                <relPosition y="60" x="2"/>
              </connectionPointOut>
            </leftPowerRail>
            <coil localId="3" width="21" storage="none" height="15" negated="false">
              <position y="72" x="265"/>
              <connectionPointIn>
                <relPosition y="8" x="0"/>
                <connection refLocalId="7">
                  <position y="80" x="265"/>
                  <position y="80" x="195"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="8" x="21"/>
              </connectionPointOut>
              <variable>LDTest</variable>
            </coil>
            <rightPowerRail localId="4" height="40" width="2">
              <position y="60" x="316"/>
              <connectionPointIn>
                <relPosition y="20" x="0"/>
                <connection refLocalId="3">
                  <position y="80" x="316"/>
                  <position y="80" x="286"/>
                </connection>
              </connectionPointIn>
            </rightPowerRail>
            <contact localId="5" width="21" height="15" edge="none" negated="true">
              <position y="72" x="42"/>
              <connectionPointIn>
                <relPosition y="8" x="0"/>
                <connection refLocalId="2">
                  <position y="80" x="42"/>
                  <position y="80" x="12"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="8" x="21"/>
              </connectionPointOut>
              <variable>IN1</variable>
            </contact>
            <contact localId="7" width="21" height="15" edge="none" negated="false">
              <position y="72" x="174"/>
              <connectionPointIn>
                <relPosition y="8" x="0"/>
                <connection refLocalId="5">
                  <position y="80" x="174"/>
                  <position y="80" x="63"/>
                </connection>
                <connection refLocalId="9">
                  <position y="80" x="174"/>
                  <position y="80" x="144"/>
                  <position y="120" x="144"/>
                  <position y="120" x="114"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="8" x="21"/>
              </connectionPointOut>
              <variable>IN2</variable>
            </contact>
            <contact localId="8" width="21" height="15" edge="none" negated="false">
              <position y="112" x="42"/>
              <connectionPointIn>
                <relPosition y="8" x="0"/>
                <connection refLocalId="2">
                  <position y="120" x="42"/>
                  <position y="120" x="12"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="8" x="21"/>
              </connectionPointOut>
              <variable>IN3</variable>
            </contact>
            <contact localId="9" width="21" height="15" edge="none" negated="true">
              <position y="112" x="93"/>
              <connectionPointIn>
                <relPosition y="8" x="0"/>
                <connection refLocalId="8">
                  <position y="120" x="93"/>
                  <position y="120" x="63"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="8" x="21"/>
              </connectionPointOut>
              <variable>IN4</variable>
            </contact>
          </LD>
        </body>
      </pou>
      <pou name="ILTest" pouType="function">
        <interface>
          <returnType>
            <REAL/>
          </returnType>
          <inputVars>
            <variable name="X1">
              <type>
                <REAL/>
              </type>
            </variable>
          </inputVars>
          <localVars>
            <variable name="Temp">
              <type>
                <REAL/>
              </type>
            </variable>
          </localVars>
          <inputVars>
            <variable name="X2">
              <type>
                <REAL/>
              </type>
            </variable>
            <variable name="Y1">
              <type>
                <REAL/>
              </type>
            </variable>
            <variable name="Y2">
              <type>
                <REAL/>
              </type>
            </variable>
            <variable name="TMax">
              <type>
                <REAL/>
              </type>
            </variable>
          </inputVars>
          <outputVars>
            <variable name="ERROR">
              <type>
                <BOOL/>
              </type>
            </variable>
          </outputVars>
        </interface>
        <body>
          <IL>
<![CDATA[
     LD   Y1
     SUB  Y2     (* Substract Y2 from Y1 *)
     ST   Temp   (* Store Y1-Y2 in Temp *)
     MUL  Temp   (* Multiply by Temp to square *)
     ADD( X1     (* Defer ADD *)
     SUB  X2     (* Substract X1 from X2 *)
     ST   Temp   (* Store X1-X2 in Temp *)
     MUL  Temp   (* Multiply by Temp to square *)
     )
     SQRT        (* Call Square root fun *)
     ST   ILTest (* Setup function result *)
     GT   TMax   (* Greater than TMax ? *)
     JMPC ERR    (* Yes, Jump to Error *)
     S    ERROR  (* Set ERROR *)
     RET         (* Normal return *)
ERR: RET         (* Error return, ENO not set *)
]]>
          </IL>
        </body>
      </pou>
      <pou name="SFCTest" pouType="program">
        <interface>
          <inputVars>
            <variable name="IN1">
              <type>
                <BOOL/>
              </type>
            </variable>
            <variable name="IN2">
              <type>
                <BOOL/>
              </type>
            </variable>
            <variable name="IN3">
              <type>
                <BOOL/>
              </type>
            </variable>
            <variable name="IN4">
              <type>
                <BOOL/>
              </type>
            </variable>
            <variable name="IN5">
              <type>
                <BOOL/>
              </type>
            </variable>
          </inputVars>
          <localVars>
            <variable name="SR1">
              <type>
                <derived name="SR"/>
              </type>
            </variable>
          </localVars>
        </interface>
        <actions>
          <action name="ACT1">
            <body>
              <ST>
<![CDATA[
IF IN1 THEN
  IN2 := 1;
ELSE
  IN3 := 1;
END_IF;
]]>
              </ST>
            </body>
          </action>
        </actions>
        <transitions>
          <transition name="TR1">
            <body>
              <ST><![CDATA[:= AND(IN1, IN2, IN3);]]></ST>
            </body>
          </transition>
          <transition name="TR2">
            <body>
              <FBD>
                <inVariable localId="2" width="54" height="27">
                  <position y="59" x="27"/>
                  <connectionPointOut>
                    <relPosition y="13" x="54"/>
                  </connectionPointOut>
                  <expression>IN1</expression>
                </inVariable>
                <inVariable localId="3" width="53" height="27">
                  <position y="140" x="28"/>
                  <connectionPointOut>
                    <relPosition y="13" x="53"/>
                  </connectionPointOut>
                  <expression>IN2</expression>
                </inVariable>
                <outVariable localId="4" width="57" height="27">
                  <position y="82" x="340"/>
                  <connectionPointIn>
                    <relPosition y="13" x="0"/>
                    <connection refLocalId="5" formalParameter="Q1">
                      <position y="95" x="340"/>
                      <position y="95" x="261"/>
                    </connection>
                  </connectionPointIn>
                  <expression>TR2</expression>
                </outVariable>
                <block localId="5" height="70" width="100" instanceName="SR1" typeName="SR">
                  <position y="63" x="161"/>
                  <inputVariables>
                    <variable formalParameter="S1">
                      <connectionPointIn>
                        <relPosition y="32" x="0"/>
                        <connection refLocalId="2">
                          <position y="95" x="161"/>
                          <position y="95" x="121"/>
                          <position y="72" x="121"/>
                          <position y="72" x="81"/>
                        </connection>
                      </connectionPointIn>
                    </variable>
                    <variable formalParameter="R">
                      <connectionPointIn>
                        <relPosition y="57" x="0"/>
                        <connection refLocalId="3">
                          <position y="120" x="161"/>
                          <position y="120" x="121"/>
                          <position y="153" x="121"/>
                          <position y="153" x="81"/>
                        </connection>
                      </connectionPointIn>
                    </variable>
                  </inputVariables>
                  <inOutVariables/>
                  <outputVariables>
                    <variable formalParameter="Q1">
                      <connectionPointOut>
                        <relPosition y="32" x="100"/>
                      </connectionPointOut>
                    </variable>
                  </outputVariables>
                </block>
              </FBD>
            </body>
          </transition>
          <transition name="TR3">
            <body>
              <LD>
                <leftPowerRail localId="1" height="98" width="2">
                  <position y="20" x="31"/>
                  <connectionPointOut formalParameter="None">
                    <relPosition y="20" x="2"/>
                  </connectionPointOut>
                  <connectionPointOut formalParameter="None">
                    <relPosition y="64" x="2"/>
                  </connectionPointOut>
                </leftPowerRail>
                <contact localId="2" width="21" height="15" edge="none" negated="false">
                  <position y="32" x="72"/>
                  <connectionPointIn>
                    <relPosition y="8" x="0"/>
                    <connection refLocalId="1">
                      <position y="40" x="72"/>
                      <position y="40" x="33"/>
                    </connection>
                  </connectionPointIn>
                  <connectionPointOut>
                    <relPosition y="8" x="21"/>
                  </connectionPointOut>
                  <variable>IN2</variable>
                </contact>
                <contact localId="3" width="21" height="15" edge="rising" negated="false">
                  <position y="76" x="72"/>
                  <connectionPointIn>
                    <relPosition y="8" x="0"/>
                    <connection refLocalId="1">
                      <position y="84" x="72"/>
                      <position y="84" x="33"/>
                    </connection>
                  </connectionPointIn>
                  <connectionPointOut>
                    <relPosition y="8" x="21"/>
                  </connectionPointOut>
                  <variable>IN5</variable>
                </contact>
                <coil localId="4" width="21" storage="none" height="15" negated="true">
                  <position y="32" x="208"/>
                  <connectionPointIn>
                    <relPosition y="8" x="0"/>
                    <connection refLocalId="2">
                      <position y="40" x="208"/>
                      <position y="40" x="93"/>
                    </connection>
                    <connection refLocalId="3">
                      <position y="40" x="208"/>
                      <position y="40" x="131"/>
                      <position y="84" x="131"/>
                      <position y="84" x="93"/>
                    </connection>
                  </connectionPointIn>
                  <connectionPointOut>
                    <relPosition y="8" x="21"/>
                  </connectionPointOut>
                  <variable>TR3</variable>
                </coil>
                <rightPowerRail localId="5" height="40" width="2">
                  <position y="19" x="271"/>
                  <connectionPointIn>
                    <relPosition y="21" x="0"/>
                    <connection refLocalId="4">
                      <position y="40" x="271"/>
                      <position y="40" x="229"/>
                    </connection>
                  </connectionPointIn>
                </rightPowerRail>
              </LD>
            </body>
          </transition>
          <transition name="TR4">
            <body>
              <IL>
<![CDATA[
    LD  IN3
    AND IN4
]]>
              </IL>
            </body>
          </transition>
        </transitions>
        <body>
          <SFC>
            <step localId="1" height="31" width="46" initialStep="true" name="Start">
              <position y="46" x="82"/>
              <connectionPointOut formalParameter="None">
                <relPosition y="31" x="23"/>
              </connectionPointOut>
            </step>
            <transition localId="2" height="2" width="20">
              <position y="102" x="95"/>
              <connectionPointIn>
                <relPosition y="0" x="10"/>
                <connection refLocalId="1">
                  <position y="102" x="105"/>
                  <position y="77" x="105"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="2" x="10"/>
              </connectionPointOut>
              <condition>
                <reference name="TR1"/>
              </condition>
            </transition>
            <step localId="3" height="27" width="29" initialStep="false" name="Init">
              <position y="129" x="91"/>
              <connectionPointIn>
                <relPosition y="0" x="14"/>
                <connection refLocalId="2">
                  <position y="129" x="105"/>
                  <position y="104" x="105"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut formalParameter="None">
                <relPosition y="27" x="14"/>
              </connectionPointOut>
              <connectionPointOutAction formalParameter="None">
                <relPosition y="13" x="29"/>
              </connectionPointOutAction>
            </step>
            <selectionDivergence localId="4" height="1" width="391">
              <position y="181" x="105"/>
              <connectionPointIn>
                <relPosition y="0" x="0"/>
                <connection refLocalId="3">
                  <position y="181" x="105"/>
                  <position y="156" x="105"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut formalParameter="None">
                <relPosition y="1" x="0"/>
              </connectionPointOut>
              <connectionPointOut formalParameter="None">
                <relPosition y="1" x="228"/>
              </connectionPointOut>
              <connectionPointOut formalParameter="None">
                <relPosition y="1" x="391"/>
              </connectionPointOut>
            </selectionDivergence>
            <transition localId="5" height="2" width="20">
              <position y="207" x="95"/>
              <connectionPointIn>
                <relPosition y="0" x="10"/>
                <connection refLocalId="4">
                  <position y="207" x="105"/>
                  <position y="182" x="105"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="2" x="10"/>
              </connectionPointOut>
              <condition>
                <inline name="None">
                  <ST><![CDATA[IN2 AND IN3]]></ST>
                </inline>
              </condition>
            </transition>
            <step localId="6" height="27" width="48" initialStep="false" name="Step1">
              <position y="262" x="81"/>
              <connectionPointIn>
                <relPosition y="0" x="24"/>
                <connection refLocalId="21">
                  <position y="262" x="105"/>
                  <position y="237" x="105"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut formalParameter="None">
                <relPosition y="27" x="24"/>
              </connectionPointOut>
            </step>
            <transition localId="7" height="2" priority="1" width="20">
              <position y="207" x="323"/>
              <connectionPointIn>
                <relPosition y="0" x="10"/>
                <connection refLocalId="4">
                  <position y="207" x="333"/>
                  <position y="182" x="333"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="2" x="10"/>
              </connectionPointOut>
              <condition>
                <reference name="TR2"/>
              </condition>
            </transition>
            <step localId="8" height="27" width="48" initialStep="false" name="Step2">
              <position y="234" x="309"/>
              <connectionPointIn>
                <relPosition y="0" x="24"/>
                <connection refLocalId="7">
                  <position y="234" x="333"/>
                  <position y="209" x="333"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut formalParameter="None">
                <relPosition y="27" x="24"/>
              </connectionPointOut>
            </step>
            <transition localId="9" height="2" width="20">
              <position y="207" x="486"/>
              <connectionPointIn>
                <relPosition y="0" x="10"/>
                <connection refLocalId="4">
                  <position y="207" x="496"/>
                  <position y="182" x="496"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="2" x="10"/>
              </connectionPointOut>
              <condition>
                <reference name="TR4"/>
              </condition>
            </transition>
            <step localId="10" height="27" width="48" initialStep="false" name="Step3">
              <position y="234" x="472"/>
              <connectionPointIn>
                <relPosition y="0" x="24"/>
                <connection refLocalId="9">
                  <position y="234" x="496"/>
                  <position y="209" x="496"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut formalParameter="None">
                <relPosition y="27" x="24"/>
              </connectionPointOut>
              <connectionPointOutAction formalParameter="None">
                <relPosition y="13" x="48"/>
              </connectionPointOutAction>
            </step>
            <transition localId="11" height="2" width="20">
              <position y="342" x="95"/>
              <connectionPointIn>
                <relPosition y="0" x="10"/>
                <connection refLocalId="23">
                  <position y="342" x="105"/>
                  <position y="317" x="105"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="2" x="10"/>
              </connectionPointOut>
              <condition>
                <reference name="TR3"/>
              </condition>
            </transition>
            <jumpStep localId="12" height="13" width="12" targetName="Start">
              <position y="369" x="99"/>
              <connectionPointIn>
                <relPosition y="0" x="6"/>
                <connection refLocalId="11">
                  <position y="369" x="105"/>
                  <position y="344" x="105"/>
                </connection>
              </connectionPointIn>
            </jumpStep>
            <actionBlock localId="13" height="30" width="100">
              <position y="127" x="145"/>
              <connectionPointIn>
                <relPosition y="15" x="0"/>
                <connection refLocalId="3">
                  <position y="142" x="145"/>
                  <position y="142" x="120"/>
                </connection>
              </connectionPointIn>
              <action qualifier="N">
                <reference name="ACT1"/>
              </action>
            </actionBlock>
            <transition localId="14" height="2" width="20">
              <position y="286" x="323"/>
              <connectionPointIn>
                <relPosition y="0" x="10"/>
                <connection refLocalId="8">
                  <position y="286" x="333"/>
                  <position y="261" x="333"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="2" x="10"/>
              </connectionPointOut>
              <condition>
                <inline name="None">
                  <ST><![CDATA[IN5]]></ST>
                </inline>
              </condition>
            </transition>
            <transition localId="15" height="2" width="20">
              <position y="346" x="486"/>
              <connectionPointIn>
                <relPosition y="0" x="10"/>
                <connection refLocalId="10">
                  <position y="346" x="496"/>
                  <position y="261" x="496"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="2" x="10"/>
              </connectionPointOut>
              <condition>
                <inline name="None">
                  <ST><![CDATA[IN5]]></ST>
                </inline>
              </condition>
            </transition>
            <selectionConvergence localId="16" height="1" width="163">
              <position y="373" x="333"/>
              <connectionPointIn>
                <relPosition y="0" x="0"/>
                <connection refLocalId="14">
                  <position y="373" x="333"/>
                  <position y="288" x="333"/>
                </connection>
              </connectionPointIn>
              <connectionPointIn>
                <relPosition y="0" x="163"/>
                <connection refLocalId="15">
                  <position y="373" x="496"/>
                  <position y="348" x="496"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="1" x="80"/>
              </connectionPointOut>
            </selectionConvergence>
            <jumpStep localId="19" height="13" width="12" targetName="Init">
              <position y="399" x="407"/>
              <connectionPointIn>
                <relPosition y="0" x="6"/>
                <connection refLocalId="16">
                  <position y="399" x="413"/>
                  <position y="374" x="413"/>
                </connection>
              </connectionPointIn>
            </jumpStep>
            <actionBlock localId="20" height="90" width="173">
              <position y="232" x="545"/>
              <connectionPointIn>
                <relPosition y="15" x="0"/>
                <connection refLocalId="10">
                  <position y="247" x="545"/>
                  <position y="247" x="520"/>
                </connection>
              </connectionPointIn>
              <action indicator="IN5" qualifier="N">
                <reference name="ACT1"/>
              </action>
              <action qualifier="D" duration="T#10s">
                <reference name="IN1"/>
              </action>
              <action qualifier="P">
                <inline>
                  <ST><![CDATA[IN2 := TRUE;]]></ST>
                </inline>
              </action>
            </actionBlock>
            <simultaneousDivergence localId="21" height="3" width="118">
              <position y="234" x="105"/>
              <connectionPointIn>
                <relPosition y="0" x="0"/>
                <connection refLocalId="5">
                  <position y="234" x="105"/>
                  <position y="209" x="105"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut formalParameter="None">
                <relPosition y="3" x="0"/>
              </connectionPointOut>
              <connectionPointOut formalParameter="None">
                <relPosition y="3" x="118"/>
              </connectionPointOut>
            </simultaneousDivergence>
            <step localId="22" height="27" width="48" initialStep="false" name="Step4">
              <position y="262" x="199"/>
              <connectionPointIn>
                <relPosition y="0" x="24"/>
                <connection refLocalId="21">
                  <position y="262" x="223"/>
                  <position y="237" x="223"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut formalParameter="None">
                <relPosition y="27" x="24"/>
              </connectionPointOut>
            </step>
            <simultaneousConvergence localId="23" height="3" width="118">
              <position y="314" x="105"/>
              <connectionPointIn>
                <relPosition y="0" x="0"/>
                <connection refLocalId="6">
                  <position y="314" x="105"/>
                  <position y="289" x="105"/>
                </connection>
              </connectionPointIn>
              <connectionPointIn>
                <relPosition y="0" x="118"/>
                <connection refLocalId="22">
                  <position y="314" x="223"/>
                  <position y="289" x="223"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition y="3" x="0"/>
              </connectionPointOut>
            </simultaneousConvergence>
          </SFC>
        </body>
      </pou>
      <pou name="STTest" pouType="functionBlock">
        <interface>
          <inputVars>
            <variable name="Collision">
              <type>
                <BOOL/>
              </type>
            </variable>
            <variable name="Gate">
              <type>
                <BOOL/>
              </type>
            </variable>
            <variable name="Pump">
              <type>
                <BOOL/>
              </type>
            </variable>
            <variable name="Temp">
              <type>
                <REAL/>
              </type>
            </variable>
          </inputVars>
          <outputVars>
            <variable name="Speed">
              <type>
                <INT/>
              </type>
            </variable>
            <variable name="PumpSpeed">
              <type>
                <INT/>
              </type>
            </variable>
            <variable name="Brakes">
              <type>
                <BOOL/>
              </type>
            </variable>
            <variable name="Control_State">
              <type>
                <BOOL/>
              </type>
            </variable>
          </outputVars>
        </interface>
        <body>
          <ST>
<![CDATA[
IF Collision THEN
  Speed := 0;
  Brakes := TRUE;
END_IF;

IF (Gate = TRUE) AND
    (Pump = TRUE) AND (Temp > 200.0) THEN
  Control_State := TRUE;
ELSE
  Control_State := FALSE;

  PumpSpeed := 10.0;
END_IF;
]]>
          </ST>
        </body>
      </pou>
    </pous>
  </types>
  <instances>
    <configurations>
      <configuration name="ConfigTest">
        <resource name="ResourceTest">
          <task name="Toto" priority="6" single="Tutu">
            <pouInstance type="SFCTest" name="Program1"/>
          </task>
          <globalVars>
            <variable name="Titi" address="%MW30">
              <type>
                <INT/>
              </type>
            </variable>
          </globalVars>
        </resource>
        <globalVars>
          <variable name="Toto" address="%MW10">
            <type>
              <INT/>
            </type>
          </variable>
          <variable name="Tutu" address="%MX20">
            <type>
              <BOOL/>
            </type>
          </variable>
        </globalVars>
      </configuration>
    </configurations>
  </instances>
</project>