--- 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>