test.xml
changeset 28 fc23e1f415d8
parent 27 dae55dd9ee14
--- a/test.xml	Mon Jul 09 11:10:14 2007 +0200
+++ b/test.xml	Tue Jul 10 09:52:53 2007 +0200
@@ -3,14 +3,11 @@
          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 contentDescription=""
-              companyName="test"
-              companyURL=""
-              productName="test"
-              productRelease=""
-              productVersion="test"
-              creationDateTime="2007-07-09 08:54:39"/>
-  <contentHeader name="test">
+  <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"/>
@@ -25,9 +22,875 @@
   </contentHeader>
   <types>
     <dataTypes/>
-    <pous/>
+    <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>
+        </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="517"/>
+                </connection>
+              </connectionPointIn>
+              <expression>OUT</expression>
+            </outVariable>
+            <block localId="6" height="84" width="99" typeName="AND">
+              <position y="105" x="235"/>
+              <inputVariables>
+                <variable formalParameter="" 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="">
+                  <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="" negated="true">
+                  <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>POU qui sert a tester PLCOpenEditor.</content>
+            </comment>
+            <block localId="11" height="91" width="97" instanceName="SR1" typeName="SR">
+              <position y="161" x="420"/>
+              <inputVariables>
+                <variable formalParameter="S1">
+                  <connectionPointIn>
+                    <relPosition y="37" x="0"/>
+                    <connection refLocalId="6" formalParameter="OUT">
+                      <position y="198" x="420"/>
+                      <position y="198" x="369"/>
+                      <position y="141" x="369"/>
+                      <position y="141" x="334"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+                <variable formalParameter="R">
+                  <connectionPointIn>
+                    <relPosition y="72" x="0"/>
+                    <connection refLocalId="8" formalParameter="OUT">
+                      <position y="233" x="420"/>
+                      <position y="233" x="369"/>
+                      <position y="282" x="369"/>
+                      <position y="282" x="334"/>
+                    </connection>
+                  </connectionPointIn>
+                </variable>
+              </inputVariables>
+              <inOutVariables/>
+              <outputVariables>
+                <variable formalParameter="Q1">
+                  <connectionPointOut>
+                    <relPosition y="37" x="97"/>
+                  </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>Commentaire</content>
+            </comment>
+            <leftPowerRail localId="2" height="80" width="2">
+              <position y="60" x="10"/>
+              <connectionPointOut formalParameter="">
+                <relPosition y="20" x="2"/>
+              </connectionPointOut>
+              <connectionPointOut formalParameter="">
+                <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>
+              <initialValue>
+                <simpleValue value="1.0"/>
+              </initialValue>
+            </variable>
+          </inputVars>
+          <localVars>
+            <variable name="Temp">
+              <type>
+                <REAL/>
+              </type>
+            </variable>
+          </localVars>
+          <inputVars>
+            <variable name="X2">
+              <type>
+                <REAL/>
+              </type>
+              <initialValue>
+                <simpleValue value="0.0"/>
+              </initialValue>
+            </variable>
+            <variable name="Y1">
+              <type>
+                <REAL/>
+              </type>
+              <initialValue>
+                <simpleValue value="1.0"/>
+              </initialValue>
+            </variable>
+            <variable name="Y2">
+              <type>
+                <REAL/>
+              </type>
+              <initialValue>
+                <simpleValue value="0.0"/>
+              </initialValue>
+            </variable>
+            <variable name="TMax">
+              <type>
+                <REAL/>
+              </type>
+            </variable>
+          </inputVars>
+          <outputVars>
+            <variable name="ERROR">
+              <type>
+                <BOOL/>
+              </type>
+            </variable>
+          </outputVars>
+        </interface>
+        <body>
+          <IL>
+     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>
+        </interface>
+        <actions>
+          <action name="ACT1">
+            <body>
+              <ST>
+IF IN1 THEN
+  IN2 := 1;
+ELSE
+  IN3 := 1;
+END_IF;
+              </ST>
+            </body>
+          </action>
+        </actions>
+        <transitions>
+          <transition name="TR1">
+            <body>
+              <ST>:= AND(IN1, IN2, IN3);</ST>
+            </body>
+          </transition>
+        </transitions>
+        <body>
+          <SFC>
+            <step localId="1" height="31" width="46" initialStep="true" name="Start">
+              <position y="46" x="82"/>
+              <connectionPointOut formalParameter="">
+                <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="">
+                <relPosition y="27" x="14"/>
+              </connectionPointOut>
+              <connectionPointOutAction formalParameter="">
+                <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="">
+                <relPosition y="1" x="0"/>
+              </connectionPointOut>
+              <connectionPointOut formalParameter="">
+                <relPosition y="1" x="228"/>
+              </connectionPointOut>
+              <connectionPointOut formalParameter="">
+                <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="">
+                  <ST>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="">
+                <relPosition y="27" x="24"/>
+              </connectionPointOut>
+            </step>
+            <transition localId="7" height="2" 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>
+                <inline name="">
+                  <ST>IN3</ST>
+                </inline>
+              </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="">
+                <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>
+                <inline name="">
+                  <ST>IN4</ST>
+                </inline>
+              </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="">
+                <relPosition y="27" x="24"/>
+              </connectionPointOut>
+              <connectionPointOutAction formalParameter="">
+                <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>
+                <inline name="">
+                  <ST>IN5</ST>
+                </inline>
+              </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="">
+                  <ST>IN5</ST>
+                </inline>
+              </condition>
+            </transition>
+            <transition localId="15" height="2" width="20">
+              <position y="316" x="486"/>
+              <connectionPointIn>
+                <relPosition y="0" x="10"/>
+                <connection refLocalId="10">
+                  <position y="316" x="496"/>
+                  <position y="261" x="496"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition y="2" x="10"/>
+              </connectionPointOut>
+              <condition>
+                <inline name="">
+                  <ST>IN5</ST>
+                </inline>
+              </condition>
+            </transition>
+            <selectionConvergence localId="16" height="1" width="163">
+              <position y="343" x="333"/>
+              <connectionPointIn>
+                <relPosition y="0" x="0"/>
+                <connection refLocalId="14">
+                  <position y="343" x="333"/>
+                  <position y="288" x="333"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointIn>
+                <relPosition y="0" x="163"/>
+                <connection refLocalId="15">
+                  <position y="343" x="496"/>
+                  <position y="318" x="496"/>
+                </connection>
+              </connectionPointIn>
+              <connectionPointOut>
+                <relPosition y="1" x="80"/>
+              </connectionPointOut>
+            </selectionConvergence>
+            <jumpStep localId="19" height="13" width="12" targetName="Init">
+              <position y="369" x="407"/>
+              <connectionPointIn>
+                <relPosition y="0" x="6"/>
+                <connection refLocalId="16">
+                  <position y="369" x="413"/>
+                  <position y="344" x="413"/>
+                </connection>
+              </connectionPointIn>
+            </jumpStep>
+            <actionBlock localId="20" height="60" width="181">
+              <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>
+            </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="">
+                <relPosition y="3" x="0"/>
+              </connectionPointOut>
+              <connectionPointOut formalParameter="">
+                <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="">
+                <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>
+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/>
+    <configurations>
+      <configuration name="ConfigTest">
+        <resource name="ResourceTest">
+          <task interval="01:00:00.100000" name="Toto" priority="6">
+            <pouInstance type="SFCTest" name="Program1"/>
+          </task>
+          <globalVars>
+            <variable name="Titi" address="M30">
+              <type>
+                <INT/>
+              </type>
+            </variable>
+          </globalVars>
+        </resource>
+        <globalVars>
+          <variable name="Toto" address="M10">
+            <type>
+              <INT/>
+            </type>
+          </variable>
+          <variable name="Tutu" address="M20">
+            <type>
+              <BOOL/>
+            </type>
+          </variable>
+        </globalVars>
+      </configuration>
+      <configuration name="ConfigTest2"/>
+    </configurations>
   </instances>
 </project>