<?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="function">
<interface>
<returnType>
<BOOL/>
</returnType>
<inputVars>
<variable name="IN1">
<type>
<BOOL/>
</type>
<initialValue>
<simpleValue value="false"/>
</initialValue>
</variable>
<variable name="IN2">
<type>
<BOOL/>
</type>
<initialValue>
<arrayValue>
<value>
<simpleValue value="4"/>
</value>
<value>
<arrayValue>
<value>
<simpleValue value="0"/>
</value>
<value>
<simpleValue value="1"/>
</value>
</arrayValue>
</value>
</arrayValue>
</initialValue>
</variable>
<variable name="IN3">
<type>
<BOOL/>
</type>
</variable>
</inputVars>
</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">
<position y="198" x="587"/>
<position y="198" x="517"/>
</connection>
</connectionPointIn>
<expression>FBDTest</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">
<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">
<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>
</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="ENO">
<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 *)
)
CAL SQRT (* Call Square root fun *)
ST ILTest (* Setup function result *)
GT TMax (* Greater than TMax ? *)
JMPC ERR (* Yes, Jump to Error *)
S ENO (* Set ENO *)
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>
<INT/>
</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 := ON;
END_IF;
IF (Gate = CLOSED) AND
(Pump = ON) AND (Temp > 200.0) THEN
Control_State := Active;
ELSE
Control_State := Hold;
PumpSpeed := 10.0;
END_IF;
</ST>
</body>
</pou>
</pous>
</types>
<instances>
<configurations>
<configuration name="ConfigTest">
<resource name="ResourceTest">
<task interval="10ms" 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>