<?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="autom_ihm_rmll"
creationDateTime="2008-06-28 15:43:31"/>
<contentHeader name="autom_ihm_rmll"
modificationDateTime="2008-08-20 00:50:31">
<pageSize x="700" y="1000"/>
<pou name="main" pouType="program">
<variable name="ctrl_gauge1">
<derived name="control_gauge"/>
<derived name="Transform"/>
<variable name="level" address="%IW1.0.3.8196.0">
<variable name="pump_out" address="%QX1.0.3.8192.0">
<variable name="sink_out" address="%QX1.0.3.8193.0">
<variable name="full_in">
<variable name="empty_in" address="%IX1.0.3.8195.0">
<variable name="controleur">
<derived name="automate"/>
<block localId="1" width="144" height="104" typeName="control_gauge" instanceName="ctrl_gauge1">
<position x="480" y="256"/>
<variable formalParameter="Xin">
<relPosition x="0" y="32"/>
<connection refLocalId="5" formalParameter="X">
<position x="480" y="288"/>
<position x="176" y="288"/>
<variable formalParameter="Yin">
<relPosition x="0" y="64"/>
<connection refLocalId="5" formalParameter="Y">
<position x="480" y="320"/>
<position x="176" y="320"/>
<variable formalParameter="Consigne">
<relPosition x="0" y="88"/>
<connection refLocalId="17" formalParameter="OUT">
<position x="480" y="344"/>
<position x="452" y="344"/>
<position x="452" y="376"/>
<position x="424" y="376"/>
<variable formalParameter="Xout">
<relPosition x="144" y="32"/>
<variable formalParameter="Yout">
<relPosition x="144" y="64"/>
<block localId="3" width="128" height="88" typeName="Button" instanceName="fill">
<position x="56" y="696"/>
<variable formalParameter="Show">
<relPosition x="0" y="32"/>
<variable formalParameter="Enable">
<relPosition x="0" y="56"/>
<variable formalParameter="Toggle">
<relPosition x="0" y="72"/>
<variable formalParameter="State">
<relPosition x="128" y="32"/>
<block localId="4" width="128" height="88" typeName="Button" instanceName="empty">
<position x="200" y="608"/>
<variable formalParameter="Show">
<relPosition x="0" y="32"/>
<variable formalParameter="Enable">
<relPosition x="0" y="56"/>
<variable formalParameter="Toggle">
<relPosition x="0" y="72"/>
<variable formalParameter="State">
<relPosition x="128" y="32"/>
<block localId="5" width="120" height="264" typeName="Transform" instanceName="gauge">
<position x="56" y="248"/>
<variable formalParameter="Show">
<relPosition x="0" y="40"/>
<variable formalParameter="Enable">
<relPosition x="0" y="72"/>
<variable formalParameter="SetX">
<relPosition x="0" y="104"/>
<connection refLocalId="1" formalParameter="Xout">
<position x="56" y="352"/>
<position x="32" y="352"/>
<position x="32" y="200"/>
<position x="634" y="200"/>
<position x="634" y="288"/>
<position x="624" y="288"/>
<variable formalParameter="SetY">
<relPosition x="0" y="136"/>
<connection refLocalId="1" formalParameter="Yout">
<position x="56" y="384"/>
<position x="32" y="384"/>
<position x="32" y="536"/>
<position x="634" y="536"/>
<position x="634" y="320"/>
<position x="624" y="320"/>
<variable formalParameter="SetXScale">
<relPosition x="0" y="176"/>
<variable formalParameter="SetYScale">
<relPosition x="0" y="208"/>
<variable formalParameter="SetAngle">
<relPosition x="0" y="240"/>
<variable formalParameter="X">
<relPosition x="120" y="40"/>
<variable formalParameter="Y">
<relPosition x="120" y="72"/>
<inVariable localId="6" height="32" width="64">
<position x="232" y="416"/>
<relPosition x="64" y="16"/>
<expression>level</expression>
<inVariable localId="7" height="32" width="88">
<position x="120" y="800"/>
<relPosition x="88" y="16"/>
<expression>full_in</expression>
<inVariable localId="8" height="32" width="96">
<position x="112" y="888"/>
<relPosition x="96" y="16"/>
<expression>empty_in</expression>
<outVariable localId="9" height="32" width="96">
<position x="544" y="624"/>
<relPosition x="0" y="16"/>
<connection refLocalId="12" formalParameter="pump">
<position x="544" y="640"/>
<position x="496" y="640"/>
<expression>pump_out</expression>
<outVariable localId="10" height="32" width="96">
<position x="544" y="712"/>
<relPosition x="0" y="16"/>
<connection refLocalId="12" formalParameter="sink">
<position x="544" y="728"/>
<position x="496" y="728"/>
<expression>sink_out</expression>
<block localId="12" width="136" height="368" typeName="automate" instanceName="controleur">
<position x="360" y="576"/>
<variable formalParameter="do_empty">
<relPosition x="0" y="64"/>
<connection refLocalId="4" formalParameter="State">
<position x="360" y="640"/>
<position x="328" y="640"/>
<variable formalParameter="do_fill">
<relPosition x="0" y="152"/>
<connection refLocalId="3" formalParameter="State">
<position x="360" y="728"/>
<position x="184" y="728"/>
<variable formalParameter="full">
<relPosition x="0" y="240"/>
<connection refLocalId="7">
<position x="360" y="816"/>
<position x="208" y="816"/>
<variable formalParameter="empty">
<relPosition x="0" y="328"/>
<connection refLocalId="8">
<position x="360" y="904"/>
<position x="208" y="904"/>
<variable formalParameter="pump">
<relPosition x="136" y="64"/>
<variable formalParameter="sink">
<relPosition x="136" y="152"/>
<inVariable localId="13" height="32" width="80">
<position x="224" y="360"/>
<relPosition x="80" y="16"/>
<expression>INT#100</expression>
<block localId="17" width="80" height="64" typeName="SUB">
<position x="344" y="344"/>
<variable formalParameter="IN1">
<relPosition x="0" y="32"/>
<connection refLocalId="13">
<position x="344" y="376"/>
<position x="304" y="376"/>
<variable formalParameter="IN2">
<relPosition x="0" y="56"/>
<connection refLocalId="6">
<position x="344" y="400"/>
<position x="320" y="400"/>
<position x="320" y="432"/>
<position x="296" y="432"/>
<variable formalParameter="OUT">
<relPosition x="80" y="32"/>
<pou name="control_gauge" pouType="functionBlock">
<variable name="Consigne">
<variable name="Initialized">
<simpleValue value="false"/>
<![CDATA[IF NOT INITIALIZED THEN
XOUT := XTMP * INT_TO_REAL(CONSIGNE) / 100.0;
YOUT := YTMP * INT_TO_REAL(CONSIGNE) / 100.0;]]>
<pou name="automate" pouType="functionBlock">
<variable name="do_empty">
<variable name="do_fill">
<step localId="1" height="40" width="64" name="Start" initialStep="true">
<position x="256" y="176"/>
<connectionPointOut formalParameter="">
<relPosition x="32" y="40"/>
<connectionPointOutAction formalParameter="">
<relPosition x="64" y="24"/>
</connectionPointOutAction>
<step localId="2" height="32" width="80" name="vidange">
<position x="624" y="344"/>
<relPosition x="40" y="0"/>
<connection refLocalId="5">
<position x="664" y="344"/>
<position x="664" y="304"/>
<connectionPointOut formalParameter="">
<relPosition x="40" y="32"/>
<connectionPointOutAction formalParameter="">
<relPosition x="80" y="16"/>
</connectionPointOutAction>
<selectionDivergence localId="3" height="1" width="528">
<position x="136" y="256"/>
<relPosition x="152" y="0"/>
<connection refLocalId="1">
<position x="288" y="256"/>
<position x="288" y="216"/>
<connectionPointOut formalParameter="">
<relPosition x="0" y="1"/>
<connectionPointOut formalParameter="">
<relPosition x="528" y="1"/>
<inVariable localId="4" height="32" width="96">
<position x="368" y="272"/>
<relPosition x="96" y="16"/>
<expression>do_empty</expression>
<transition localId="5" height="16" width="32">
<position x="648" y="288"/>
<relPosition x="16" y="0"/>
<connection refLocalId="3">
<position x="664" y="288"/>
<position x="664" y="257"/>
<relPosition x="16" y="16"/>
<connection refLocalId="19" formalParameter="OUT">
<position x="648" y="296"/>
<position x="616" y="296"/>
<transition localId="7" height="16" width="32">
<position x="120" y="304"/>
<relPosition x="16" y="0"/>
<connection refLocalId="3">
<position x="136" y="304"/>
<position x="136" y="257"/>
<relPosition x="16" y="16"/>
<![CDATA[do_fill AND NOT full]]>
<step localId="8" height="32" width="128" name="remplissage">
<position x="72" y="360"/>
<relPosition x="64" y="0"/>
<connection refLocalId="7">
<position x="136" y="360"/>
<position x="136" y="320"/>
<connectionPointOut formalParameter="">
<relPosition x="64" y="32"/>
<connectionPointOutAction formalParameter="">
<relPosition x="128" y="16"/>
</connectionPointOutAction>
<transition localId="9" height="16" width="32">
<position x="648" y="416"/>
<relPosition x="16" y="0"/>
<connection refLocalId="2">
<position x="664" y="416"/>
<position x="664" y="376"/>
<relPosition x="16" y="16"/>
<connection refLocalId="16">
<position x="648" y="424"/>
<position x="600" y="424"/>
<transition localId="10" height="16" width="32">
<position x="120" y="424"/>
<relPosition x="16" y="0"/>
<connection refLocalId="8">
<position x="136" y="424"/>
<position x="136" y="392"/>
<relPosition x="16" y="16"/>
<actionBlock localId="13" height="32" width="112">
<position x="232" y="360"/>
<relPosition x="0" y="16"/>
<connection refLocalId="8">
<position x="232" y="376"/>
<position x="200" y="376"/>
<actionBlock localId="14" height="32" width="112">
<position x="736" y="344"/>
<relPosition x="0" y="16"/>
<connection refLocalId="2">
<position x="736" y="360"/>
<position x="704" y="360"/>
<inVariable localId="16" height="32" width="64">
<position x="536" y="408"/>
<relPosition x="64" y="16"/>
<expression>empty</expression>
<selectionConvergence localId="17" height="1" width="528">
<position x="136" y="512"/>
<relPosition x="0" y="0"/>
<connection refLocalId="10">
<position x="136" y="512"/>
<position x="136" y="440"/>
<relPosition x="528" y="0"/>
<connection refLocalId="9">
<position x="664" y="512"/>
<position x="664" y="432"/>
<relPosition x="264" y="1"/>
<actionBlock localId="18" height="32" width="200">
<position x="368" y="184"/>
<relPosition x="0" y="16"/>
<connection refLocalId="1">
<position x="368" y="200"/>
<position x="320" y="200"/>
<![CDATA[pump:=0; sink:=0;]]>
<block localId="19" width="80" height="64" typeName="AND">
<position x="536" y="264"/>
<variable formalParameter="IN1">
<relPosition x="0" y="32"/>
<connection refLocalId="4">
<position x="536" y="296"/>
<position x="500" y="296"/>
<position x="500" y="288"/>
<position x="464" y="288"/>
<variable formalParameter="IN2" negated="true">
<relPosition x="0" y="56"/>
<connection refLocalId="21">
<position x="536" y="320"/>
<position x="500" y="320"/>
<position x="500" y="336"/>
<position x="464" y="336"/>
<variable formalParameter="OUT">
<relPosition x="80" y="32"/>
<inVariable localId="21" height="32" width="96">
<position x="368" y="320"/>
<relPosition x="96" y="16"/>
<expression>empty</expression>
<jumpStep localId="22" height="16" width="16" targetName="Start">
<position x="392" y="552"/>
<relPosition x="8" y="0"/>
<connection refLocalId="17">
<position x="400" y="552"/>
<position x="400" y="513"/>
<configuration name="conf">
<task name="matache" interval="00:00:00.100000" priority="0">
<pouInstance name="moninst" type="main"/>
<variable name="full_in" address="%IX1.0.3.8194.0">
<variable name="fulfuck" address="%IX1.0.3.8194.0">