Edouard@1399: <?xml version='1.0' encoding='utf-8'?>
Edouard@1399: <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.plcopen.org/xml/tc6_0201">
Edouard@1399:   <fileHeader companyName="Beremiz" productName="Beremiz" productVersion="0.0" creationDateTime="2008-12-14T16:53:26"/>
edouard@4066:   <contentHeader name="Beremiz non-standard POUs library" modificationDateTime="2024-12-06T15:13:47">
laurent@366:     <coordinateInfo>
laurent@366:       <fbd>
Edouard@3707:         <scaling x="8" y="8"/>
laurent@366:       </fbd>
laurent@366:       <ld>
laurent@366:         <scaling x="0" y="0"/>
laurent@366:       </ld>
laurent@366:       <sfc>
laurent@366:         <scaling x="0" y="0"/>
laurent@366:       </sfc>
laurent@366:     </coordinateInfo>
laurent@366:   </contentHeader>
laurent@366:   <types>
laurent@366:     <dataTypes/>
laurent@366:     <pous>
edouard@4061:       <pou name="_csv_update" pouType="functionBlock">
Edouard@3707:         <interface>
Edouard@3707:           <externalVars>
Edouard@3707:             <variable name="pyext_csv_update">
Edouard@3707:               <type>
edouard@4061:                 <INT/>
edouard@4061:               </type>
edouard@4061:             </variable>
edouard@4061:           </externalVars>
edouard@4061:           <localVars>
edouard@4061:             <variable name="pyext_csv_update_tmp">
edouard@4061:               <type>
edouard@4061:                 <INT/>
edouard@4061:               </type>
edouard@4061:             </variable>
edouard@4061:           </localVars>
edouard@4061:           <outputVars>
edouard@4061:             <variable name="TRIG">
edouard@4061:               <type>
Edouard@3707:                 <BOOL/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
edouard@4061:           </outputVars>
edouard@4062:           <localVars>
edouard@4062:             <variable name="R_TRIG0">
edouard@4062:               <type>
edouard@4062:                 <derived name="R_TRIG"/>
edouard@4062:               </type>
edouard@4062:             </variable>
edouard@4062:           </localVars>
edouard@4061:         </interface>
edouard@4061:         <body>
edouard@4061:           <FBD>
edouard@4061:             <outVariable localId="2" executionOrderId="0" height="32" width="176" negated="false">
edouard@4062:               <position x="856" y="200"/>
edouard@4061:               <connectionPointIn>
edouard@4061:                 <relPosition x="0" y="16"/>
edouard@4061:                 <connection refLocalId="12" formalParameter="OUT">
edouard@4062:                   <position x="856" y="216"/>
edouard@4062:                   <position x="816" y="216"/>
edouard@4061:                 </connection>
edouard@4061:               </connectionPointIn>
edouard@4061:               <expression>pyext_csv_update_tmp</expression>
edouard@4061:             </outVariable>
edouard@4061:             <block localId="12" typeName="MOVE" executionOrderId="0" height="64" width="56">
edouard@4062:               <position x="760" y="160"/>
edouard@4062:               <inputVariables>
edouard@4062:                 <variable formalParameter="EN">
edouard@4062:                   <connectionPointIn>
edouard@4062:                     <relPosition x="0" y="32"/>
edouard@4062:                     <connection refLocalId="19" formalParameter="Q">
edouard@4062:                       <position x="760" y="192"/>
edouard@4062:                       <position x="664" y="192"/>
edouard@4061:                     </connection>
edouard@4061:                   </connectionPointIn>
edouard@4061:                 </variable>
edouard@4061:                 <variable formalParameter="IN">
edouard@4061:                   <connectionPointIn>
edouard@4061:                     <relPosition x="0" y="56"/>
edouard@4061:                     <connection refLocalId="17">
edouard@4062:                       <position x="760" y="216"/>
edouard@4061:                       <position x="568" y="216"/>
edouard@4061:                       <position x="568" y="240"/>
edouard@4061:                       <position x="408" y="240"/>
edouard@4061:                     </connection>
edouard@4061:                   </connectionPointIn>
edouard@4061:                 </variable>
edouard@4061:               </inputVariables>
edouard@4061:               <inOutVariables/>
edouard@4061:               <outputVariables>
edouard@4061:                 <variable formalParameter="ENO">
edouard@4061:                   <connectionPointOut>
edouard@4061:                     <relPosition x="56" y="32"/>
edouard@4061:                   </connectionPointOut>
edouard@4061:                 </variable>
edouard@4061:                 <variable formalParameter="OUT">
edouard@4061:                   <connectionPointOut>
edouard@4061:                     <relPosition x="56" y="56"/>
edouard@4061:                   </connectionPointOut>
edouard@4061:                 </variable>
edouard@4061:               </outputVariables>
edouard@4061:             </block>
edouard@4061:             <inVariable localId="1" executionOrderId="0" width="176" height="32" negated="false">
edouard@4061:               <position x="232" y="176"/>
edouard@4061:               <connectionPointOut>
edouard@4061:                 <relPosition x="176" y="16"/>
edouard@4061:               </connectionPointOut>
edouard@4061:               <expression>pyext_csv_update_tmp</expression>
edouard@4061:             </inVariable>
edouard@4061:             <outVariable localId="15" executionOrderId="0" width="48" height="32" negated="false">
edouard@4062:               <position x="760" y="112"/>
edouard@4061:               <connectionPointIn>
edouard@4061:                 <relPosition x="0" y="16"/>
edouard@4062:                 <connection refLocalId="19" formalParameter="Q">
edouard@4062:                   <position x="760" y="128"/>
edouard@4062:                   <position x="702" y="128"/>
edouard@4062:                   <position x="702" y="192"/>
edouard@4062:                   <position x="664" y="192"/>
edouard@4061:                 </connection>
edouard@4061:               </connectionPointIn>
edouard@4061:               <expression>TRIG</expression>
edouard@4061:             </outVariable>
edouard@4061:             <block localId="18" typeName="NE" executionOrderId="0" width="64" height="64">
edouard@4061:               <position x="456" y="160"/>
edouard@4061:               <inputVariables>
edouard@4061:                 <variable formalParameter="IN1">
edouard@4061:                   <connectionPointIn>
edouard@4061:                     <relPosition x="0" y="32"/>
edouard@4061:                     <connection refLocalId="1">
edouard@4061:                       <position x="456" y="192"/>
edouard@4061:                       <position x="408" y="192"/>
edouard@4061:                     </connection>
edouard@4061:                   </connectionPointIn>
edouard@4061:                 </variable>
edouard@4061:                 <variable formalParameter="IN2">
edouard@4061:                   <connectionPointIn>
edouard@4061:                     <relPosition x="0" y="56"/>
edouard@4061:                     <connection refLocalId="17">
edouard@4061:                       <position x="456" y="216"/>
edouard@4061:                       <position x="432" y="216"/>
edouard@4061:                       <position x="432" y="240"/>
edouard@4061:                       <position x="408" y="240"/>
edouard@4061:                     </connection>
edouard@4061:                   </connectionPointIn>
edouard@4061:                 </variable>
edouard@4061:               </inputVariables>
edouard@4061:               <inOutVariables/>
edouard@4061:               <outputVariables>
edouard@4061:                 <variable formalParameter="OUT">
edouard@4061:                   <connectionPointOut>
edouard@4061:                     <relPosition x="64" y="32"/>
edouard@4061:                   </connectionPointOut>
edouard@4061:                 </variable>
edouard@4061:               </outputVariables>
edouard@4061:             </block>
edouard@4061:             <inVariable localId="17" executionOrderId="0" width="176" height="32" negated="false">
edouard@4061:               <position x="232" y="224"/>
edouard@4061:               <connectionPointOut>
edouard@4061:                 <relPosition x="176" y="16"/>
edouard@4061:               </connectionPointOut>
edouard@4061:               <expression>pyext_csv_update</expression>
edouard@4061:             </inVariable>
edouard@4062:             <block localId="19" typeName="R_TRIG" instanceName="R_TRIG0" executionOrderId="0" width="64" height="48">
edouard@4062:               <position x="600" y="160"/>
edouard@4062:               <inputVariables>
edouard@4062:                 <variable formalParameter="CLK">
edouard@4062:                   <connectionPointIn>
edouard@4062:                     <relPosition x="0" y="32"/>
edouard@4062:                     <connection refLocalId="18" formalParameter="OUT">
edouard@4062:                       <position x="600" y="192"/>
edouard@4062:                       <position x="520" y="192"/>
edouard@4062:                     </connection>
edouard@4062:                   </connectionPointIn>
edouard@4062:                 </variable>
edouard@4062:               </inputVariables>
edouard@4062:               <inOutVariables/>
edouard@4062:               <outputVariables>
edouard@4062:                 <variable formalParameter="Q">
edouard@4062:                   <connectionPointOut>
edouard@4062:                     <relPosition x="64" y="32"/>
edouard@4062:                   </connectionPointOut>
edouard@4062:                 </variable>
edouard@4062:               </outputVariables>
edouard@4062:             </block>
edouard@4061:           </FBD>
edouard@4061:         </body>
edouard@4061:       </pou>
edouard@4061:       <pou name="csv_refresh" pouType="functionBlock">
edouard@4061:         <interface>
edouard@4061:           <externalVars>
edouard@4061:             <variable name="pyext_csv_update">
edouard@4061:               <type>
edouard@4061:                 <INT/>
edouard@4061:               </type>
edouard@4061:             </variable>
Edouard@3707:           </externalVars>
edouard@4061:           <inputVars>
edouard@4061:             <variable name="TRIG">
edouard@4061:               <type>
edouard@4061:                 <BOOL/>
edouard@4061:               </type>
edouard@4061:             </variable>
edouard@4061:           </inputVars>
edouard@4061:         </interface>
edouard@4061:         <body>
edouard@4061:           <FBD>
edouard@4061:             <outVariable localId="2" executionOrderId="0" height="32" width="146" negated="false">
edouard@4061:               <position x="808" y="312"/>
edouard@4061:               <connectionPointIn>
edouard@4061:                 <relPosition x="0" y="16"/>
edouard@4061:                 <connection refLocalId="12" formalParameter="OUT">
edouard@4061:                   <position x="808" y="328"/>
edouard@4061:                   <position x="760" y="328"/>
edouard@4061:                 </connection>
edouard@4061:               </connectionPointIn>
edouard@4061:               <expression>pyext_csv_update</expression>
edouard@4061:             </outVariable>
edouard@4061:             <block localId="12" typeName="MOVE" executionOrderId="0" height="64" width="56">
edouard@4061:               <position x="704" y="272"/>
edouard@4061:               <inputVariables>
edouard@4061:                 <variable formalParameter="EN">
edouard@4061:                   <connectionPointIn>
edouard@4061:                     <relPosition x="0" y="32"/>
edouard@4061:                     <connection refLocalId="13" formalParameter="ENO">
edouard@4061:                       <position x="704" y="304"/>
edouard@4061:                       <position x="664" y="304"/>
edouard@4061:                     </connection>
edouard@4061:                   </connectionPointIn>
edouard@4061:                 </variable>
edouard@4061:                 <variable formalParameter="IN">
edouard@4061:                   <connectionPointIn>
edouard@4061:                     <relPosition x="0" y="56"/>
edouard@4061:                     <connection refLocalId="13" formalParameter="OUT">
edouard@4061:                       <position x="704" y="328"/>
edouard@4061:                       <position x="664" y="328"/>
edouard@4061:                     </connection>
edouard@4061:                   </connectionPointIn>
edouard@4061:                 </variable>
edouard@4061:               </inputVariables>
edouard@4061:               <inOutVariables/>
edouard@4061:               <outputVariables>
edouard@4061:                 <variable formalParameter="ENO">
edouard@4061:                   <connectionPointOut>
edouard@4061:                     <relPosition x="56" y="32"/>
edouard@4061:                   </connectionPointOut>
edouard@4061:                 </variable>
edouard@4061:                 <variable formalParameter="OUT">
edouard@4061:                   <connectionPointOut>
edouard@4061:                     <relPosition x="56" y="56"/>
edouard@4061:                   </connectionPointOut>
edouard@4061:                 </variable>
edouard@4061:               </outputVariables>
edouard@4061:             </block>
edouard@4061:             <block localId="13" typeName="ADD" executionOrderId="0" width="64" height="96">
edouard@4061:               <position x="600" y="272"/>
edouard@4061:               <inputVariables>
edouard@4061:                 <variable formalParameter="EN" edge="rising">
edouard@4061:                   <connectionPointIn>
edouard@4061:                     <relPosition x="0" y="32"/>
edouard@4061:                     <connection refLocalId="15">
edouard@4061:                       <position x="600" y="304"/>
edouard@4061:                       <position x="336" y="304"/>
edouard@4061:                     </connection>
edouard@4061:                   </connectionPointIn>
edouard@4061:                 </variable>
edouard@4061:                 <variable formalParameter="IN1">
edouard@4061:                   <connectionPointIn>
edouard@4061:                     <relPosition x="0" y="56"/>
edouard@4061:                     <connection refLocalId="1">
edouard@4061:                       <position x="600" y="328"/>
edouard@4061:                       <position x="490" y="328"/>
edouard@4061:                     </connection>
edouard@4061:                   </connectionPointIn>
edouard@4061:                 </variable>
edouard@4061:                 <variable formalParameter="IN2">
edouard@4061:                   <connectionPointIn>
edouard@4061:                     <relPosition x="0" y="80"/>
edouard@4061:                     <connection refLocalId="14">
edouard@4061:                       <position x="600" y="352"/>
edouard@4061:                       <position x="528" y="352"/>
edouard@4061:                     </connection>
edouard@4061:                   </connectionPointIn>
edouard@4061:                 </variable>
edouard@4061:               </inputVariables>
edouard@4061:               <inOutVariables/>
edouard@4061:               <outputVariables>
edouard@4061:                 <variable formalParameter="ENO">
edouard@4061:                   <connectionPointOut>
edouard@4061:                     <relPosition x="64" y="32"/>
edouard@4061:                   </connectionPointOut>
edouard@4061:                 </variable>
edouard@4061:                 <variable formalParameter="OUT">
edouard@4061:                   <connectionPointOut>
edouard@4061:                     <relPosition x="64" y="56"/>
edouard@4061:                   </connectionPointOut>
edouard@4061:                 </variable>
edouard@4061:               </outputVariables>
edouard@4061:             </block>
edouard@4061:             <inVariable localId="1" executionOrderId="0" width="146" height="32" negated="false">
edouard@4061:               <position x="344" y="312"/>
edouard@4061:               <connectionPointOut>
edouard@4061:                 <relPosition x="146" y="16"/>
edouard@4061:               </connectionPointOut>
edouard@4061:               <expression>pyext_csv_update</expression>
edouard@4061:             </inVariable>
edouard@4061:             <inVariable localId="14" executionOrderId="0" width="24" height="32" negated="false">
edouard@4061:               <position x="504" y="336"/>
edouard@4061:               <connectionPointOut>
edouard@4061:                 <relPosition x="24" y="16"/>
edouard@4061:               </connectionPointOut>
edouard@4061:               <expression>1</expression>
edouard@4061:             </inVariable>
edouard@4061:             <inVariable localId="15" executionOrderId="0" width="48" height="32" negated="false">
edouard@4061:               <position x="288" y="288"/>
edouard@4061:               <connectionPointOut>
edouard@4061:                 <relPosition x="48" y="16"/>
edouard@4061:               </connectionPointOut>
edouard@4061:               <expression>TRIG</expression>
edouard@4061:             </inVariable>
edouard@4061:           </FBD>
edouard@4061:         </body>
edouard@4061:         <documentation>
edouard@4061:           <xhtml:p><![CDATA[Triggers CSV read FB to refresh output, without reloading CSV files]]></xhtml:p>
edouard@4061:         </documentation>
edouard@4061:       </pou>
edouard@4061:       <pou name="csv_read_by_string" pouType="functionBlock">
edouard@4061:         <interface>
Edouard@3707:           <outputVars>
Edouard@3707:             <variable name="ACK">
Edouard@3707:               <type>
Edouard@3707:                 <BOOL/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:             <variable name="RESULT">
Edouard@3707:               <type>
Edouard@3707:                 <string/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:           </outputVars>
Edouard@3707:           <inputVars>
Edouard@3707:             <variable name="FILE_NAME">
Edouard@3707:               <type>
Edouard@3707:                 <string/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:             <variable name="ROW">
Edouard@3707:               <type>
Edouard@3707:                 <string/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:             <variable name="COLUMN">
Edouard@3707:               <type>
Edouard@3707:                 <string/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:           </inputVars>
Edouard@3707:           <localVars>
Edouard@3707:             <variable name="OLDCODE">
Edouard@3707:               <type>
Edouard@3707:                 <string/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:             <variable name="py_eval">
Edouard@3707:               <type>
Edouard@3707:                 <derived name="python_eval"/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
edouard@4061:             <variable name="R_TRIG1">
Edouard@3707:               <type>
Edouard@3707:                 <derived name="R_TRIG"/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:             <variable name="SR0">
Edouard@3707:               <type>
Edouard@3707:                 <derived name="SR"/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
edouard@4061:             <variable name="_csv_update0">
edouard@4061:               <type>
edouard@4061:                 <derived name="_csv_update"/>
edouard@4061:               </type>
edouard@4061:             </variable>
Edouard@3707:           </localVars>
Edouard@3707:         </interface>
Edouard@3707:         <body>
Edouard@3707:           <FBD>
Edouard@3707:             <block localId="7" typeName="CONCAT" executionOrderId="0" height="192" width="64">
Edouard@3707:               <position x="360" y="112"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="8">
Edouard@3707:                       <position x="360" y="144"/>
Edouard@3707:                       <position x="320" y="144"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN2">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="9">
Edouard@3707:                       <position x="360" y="168"/>
Edouard@3707:                       <position x="152" y="168"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN3">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="80"/>
Edouard@3707:                     <connection refLocalId="10">
Edouard@3707:                       <position x="360" y="192"/>
Edouard@3707:                       <position x="320" y="192"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN4">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="104"/>
Edouard@3707:                     <connection refLocalId="11">
Edouard@3707:                       <position x="360" y="216"/>
Edouard@3707:                       <position x="152" y="216"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN5">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="128"/>
Edouard@3707:                     <connection refLocalId="12">
Edouard@3707:                       <position x="360" y="240"/>
Edouard@3707:                       <position x="320" y="240"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN6">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="152"/>
Edouard@3707:                     <connection refLocalId="13">
Edouard@3707:                       <position x="360" y="264"/>
Edouard@3707:                       <position x="152" y="264"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN7">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="176"/>
Edouard@3707:                     <connection refLocalId="14">
Edouard@3707:                       <position x="360" y="288"/>
Edouard@3707:                       <position x="320" y="288"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <inVariable localId="8" executionOrderId="0" height="24" width="160" negated="false">
Edouard@3707:               <position x="160" y="128"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="160" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>'CSVRdStr("'</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="9" executionOrderId="0" height="32" width="112" negated="false">
Edouard@3707:               <position x="40" y="152"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="112" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>FILE_NAME</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="10" executionOrderId="0" height="24" width="112" negated="false">
Edouard@3707:               <position x="208" y="184"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="112" y="8"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>'","'</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="11" executionOrderId="0" height="32" width="112" negated="false">
Edouard@3707:               <position x="40" y="200"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="112" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>ROW</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="12" executionOrderId="0" height="24" width="112" negated="false">
Edouard@3707:               <position x="208" y="224"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="112" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>'","'</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="13" executionOrderId="0" height="32" width="112" negated="false">
Edouard@3707:               <position x="40" y="248"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="112" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>COLUMN</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="14" executionOrderId="0" height="24" width="112" negated="false">
Edouard@3707:               <position x="208" y="272"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="112" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>'")'</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <block localId="16" typeName="NE" executionOrderId="0" height="64" width="64">
Edouard@3707:               <position x="208" y="408"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="22">
Edouard@3707:                       <position x="208" y="440"/>
Edouard@3707:                       <position x="168" y="440"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN2">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="21">
Edouard@3707:                       <position x="208" y="464"/>
Edouard@3707:                       <position x="168" y="464"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <block localId="18" typeName="SEL" executionOrderId="0" height="96" width="64">
Edouard@3707:               <position x="680" y="376"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="G">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="25">
Edouard@3707:                       <position x="680" y="408"/>
Edouard@3707:                       <position x="624" y="408"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN0">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="20">
Edouard@3707:                       <position x="680" y="432"/>
Edouard@3707:                       <position x="632" y="432"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="80"/>
Edouard@3707:                     <connection refLocalId="4">
Edouard@3707:                       <position x="680" y="456"/>
Edouard@3707:                       <position x="632" y="456"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <connector name="Code" localId="19" height="24" width="128">
Edouard@3707:               <position x="480" y="136"/>
Edouard@3707:               <connectionPointIn>
Edouard@3707:                 <relPosition x="0" y="8"/>
Edouard@3707:                 <connection refLocalId="7" formalParameter="OUT">
Edouard@3707:                   <position x="480" y="144"/>
Edouard@3707:                   <position x="424" y="144"/>
Edouard@3707:                 </connection>
Edouard@3707:               </connectionPointIn>
Edouard@3707:             </connector>
Edouard@3707:             <outVariable localId="17" executionOrderId="0" height="32" width="66" negated="false">
Edouard@3707:               <position x="784" y="392"/>
Edouard@3707:               <connectionPointIn>
Edouard@3707:                 <relPosition x="0" y="16"/>
Edouard@3707:                 <connection refLocalId="18" formalParameter="OUT">
Edouard@3707:                   <position x="784" y="408"/>
Edouard@3707:                   <position x="744" y="408"/>
Edouard@3707:                 </connection>
Edouard@3707:               </connectionPointIn>
Edouard@3707:               <expression>OLDCODE</expression>
Edouard@3707:             </outVariable>
Edouard@3707:             <inVariable localId="20" executionOrderId="0" height="32" width="72" negated="false">
Edouard@3707:               <position x="560" y="416"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="72" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>OLDCODE</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="21" executionOrderId="0" height="32" width="72" negated="false">
Edouard@3707:               <position x="96" y="448"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="72" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>OLDCODE</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <continuation name="Code" localId="4" height="24" width="128">
Edouard@3707:               <position x="504" y="448"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="128" y="8"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:             </continuation>
Edouard@3707:             <continuation name="Code" localId="22" height="24" width="128">
Edouard@3707:               <position x="40" y="424"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="128" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:             </continuation>
Edouard@3707:             <connector name="CodeChange" localId="23" height="24" width="120">
Edouard@3707:               <position x="328" y="432"/>
Edouard@3707:               <connectionPointIn>
Edouard@3707:                 <relPosition x="0" y="8"/>
Edouard@3707:                 <connection refLocalId="16" formalParameter="OUT">
Edouard@3707:                   <position x="328" y="440"/>
Edouard@3707:                   <position x="272" y="440"/>
Edouard@3707:                 </connection>
Edouard@3707:               </connectionPointIn>
Edouard@3707:             </connector>
Edouard@3707:             <continuation name="CodeChange" localId="25" height="24" width="120">
Edouard@3707:               <position x="504" y="392"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="120" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:             </continuation>
Edouard@3707:             <comment localId="26" height="40" width="232">
Edouard@3707:               <position x="48" y="40"/>
Edouard@3707:               <content>
Edouard@3707:                 <xhtml:p><![CDATA[Generate python code line]]></xhtml:p>
Edouard@3707:               </content>
Edouard@3707:             </comment>
Edouard@3707:             <comment localId="27" height="48" width="312">
Edouard@3707:               <position x="40" y="328"/>
Edouard@3707:               <content>
Edouard@3707:                 <xhtml:p><![CDATA[Detect changes in generated code line]]></xhtml:p>
Edouard@3707:               </content>
Edouard@3707:             </comment>
Edouard@3707:             <comment localId="28" height="48" width="520">
Edouard@3707:               <position x="48" y="512"/>
Edouard@3707:               <content>
Edouard@3707:                 <xhtml:p><![CDATA[Execute python code on change or globally when CSV is updated]]></xhtml:p>
Edouard@3707:               </content>
Edouard@3707:             </comment>
Edouard@3707:             <block localId="1" width="104" height="80" typeName="python_eval" instanceName="py_eval" executionOrderId="0">
Edouard@3707:               <position x="552" y="600"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="TRIG">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="15" formalParameter="OUT">
Edouard@3707:                       <position x="552" y="632"/>
Edouard@3707:                       <position x="360" y="632"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="CODE">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="64"/>
Edouard@3707:                     <connection refLocalId="2">
Edouard@3707:                       <position x="552" y="664"/>
edouard@4061:                       <position x="540" y="664"/>
edouard@4061:                       <position x="540" y="656"/>
edouard@4061:                       <position x="528" y="656"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="ACK">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="104" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="RESULT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="104" y="64"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <outVariable localId="5" height="24" width="40" executionOrderId="0" negated="false">
Edouard@3707:               <position x="1216" y="632"/>
Edouard@3707:               <connectionPointIn>
Edouard@3707:                 <relPosition x="0" y="8"/>
Edouard@3707:                 <connection refLocalId="38" formalParameter="Q1">
Edouard@3707:                   <position x="1216" y="640"/>
Edouard@3707:                   <position x="1168" y="640"/>
Edouard@3707:                 </connection>
Edouard@3707:               </connectionPointIn>
Edouard@3707:               <expression>ACK</expression>
Edouard@3707:             </outVariable>
Edouard@3707:             <outVariable localId="6" height="24" width="64" executionOrderId="0" negated="false">
Edouard@3707:               <position x="688" y="704"/>
Edouard@3707:               <connectionPointIn>
Edouard@3707:                 <relPosition x="0" y="8"/>
Edouard@3707:                 <connection refLocalId="1" formalParameter="RESULT">
Edouard@3707:                   <position x="688" y="712"/>
Edouard@3707:                   <position x="672" y="712"/>
Edouard@3707:                   <position x="672" y="664"/>
Edouard@3707:                   <position x="656" y="664"/>
Edouard@3707:                 </connection>
Edouard@3707:               </connectionPointIn>
Edouard@3707:               <expression>RESULT</expression>
Edouard@3707:             </outVariable>
Edouard@3707:             <continuation name="Code" localId="2" height="24" width="128">
Edouard@3707:               <position x="400" y="648"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="128" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:             </continuation>
edouard@4061:             <continuation name="CodeChange" localId="24" height="32" width="120">
edouard@4061:               <position x="24" y="640"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="120" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:             </continuation>
Edouard@3707:             <block localId="15" typeName="OR" executionOrderId="0" height="64" width="64">
Edouard@3707:               <position x="296" y="600"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
edouard@4061:                     <connection refLocalId="40" formalParameter="TRIG">
Edouard@3707:                       <position x="296" y="632"/>
edouard@4061:                       <position x="264" y="632"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN2">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="24">
Edouard@3707:                       <position x="296" y="656"/>
edouard@4061:                       <position x="144" y="656"/>
edouard@4061:                     </connection>
edouard@4061:                   </connectionPointIn>
edouard@4061:                 </variable>
edouard@4061:               </inputVariables>
edouard@4061:               <inOutVariables/>
edouard@4061:               <outputVariables>
edouard@4061:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <block localId="33" typeName="LEFT" executionOrderId="0" height="64" width="56">
Edouard@3707:               <position x="736" y="632"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="1" formalParameter="RESULT">
Edouard@3707:                       <position x="736" y="664"/>
Edouard@3707:                       <position x="656" y="664"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="L">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="35">
Edouard@3707:                       <position x="736" y="688"/>
Edouard@3707:                       <position x="712" y="688"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="56" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <block localId="34" typeName="NE" executionOrderId="0" height="64" width="64">
Edouard@3707:               <position x="880" y="632"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="33" formalParameter="OUT">
Edouard@3707:                       <position x="880" y="664"/>
Edouard@3707:                       <position x="792" y="664"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN2">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="36">
Edouard@3707:                       <position x="880" y="688"/>
Edouard@3707:                       <position x="856" y="688"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <inVariable localId="35" executionOrderId="0" height="24" width="24" negated="false">
Edouard@3707:               <position x="688" y="672"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="24" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>1</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="36" executionOrderId="0" height="24" width="40" negated="false">
Edouard@3707:               <position x="816" y="672"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="40" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>'#'</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <block localId="37" typeName="R_TRIG" instanceName="R_TRIG1" executionOrderId="0" height="48" width="64">
Edouard@3707:               <position x="880" y="576"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="CLK">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="1" formalParameter="ACK">
Edouard@3707:                       <position x="880" y="608"/>
Edouard@3707:                       <position x="688" y="608"/>
Edouard@3707:                       <position x="688" y="632"/>
Edouard@3707:                       <position x="656" y="632"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="Q">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <block localId="38" typeName="SR" instanceName="SR0" executionOrderId="0" height="64" width="48">
Edouard@3707:               <position x="1120" y="608"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="S1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="39" formalParameter="OUT">
Edouard@3707:                       <position x="1120" y="640"/>
Edouard@3707:                       <position x="1056" y="640"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="R" edge="rising">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="15" formalParameter="OUT">
Edouard@3707:                       <position x="1120" y="664"/>
Edouard@3707:                       <position x="1088" y="664"/>
Edouard@3707:                       <position x="1088" y="736"/>
Edouard@3707:                       <position x="376" y="736"/>
Edouard@3707:                       <position x="376" y="632"/>
Edouard@3707:                       <position x="360" y="632"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="Q1">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="48" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <block localId="39" typeName="AND" executionOrderId="0" height="64" width="64">
Edouard@3707:               <position x="992" y="608"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="37" formalParameter="Q">
Edouard@3707:                       <position x="992" y="640"/>
Edouard@3707:                       <position x="976" y="640"/>
Edouard@3707:                       <position x="976" y="608"/>
Edouard@3707:                       <position x="944" y="608"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN2">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="34" formalParameter="OUT">
Edouard@3707:                       <position x="992" y="664"/>
Edouard@3707:                       <position x="944" y="664"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
edouard@4061:             <block localId="40" typeName="_csv_update" instanceName="_csv_update0" executionOrderId="0" width="104" height="48">
edouard@4061:               <position x="160" y="600"/>
edouard@4061:               <inputVariables/>
edouard@4061:               <inOutVariables/>
edouard@4061:               <outputVariables>
edouard@4061:                 <variable formalParameter="TRIG">
edouard@4061:                   <connectionPointOut>
edouard@4061:                     <relPosition x="104" y="32"/>
edouard@4061:                   </connectionPointOut>
edouard@4061:                 </variable>
edouard@4061:               </outputVariables>
edouard@4061:             </block>
Edouard@3707:           </FBD>
Edouard@3707:         </body>
Edouard@3707:       </pou>
Edouard@3707:       <pou name="csv_reload" pouType="functionBlock">
Edouard@3707:         <interface>
Edouard@3707:           <outputVars>
Edouard@3707:             <variable name="ACK">
Edouard@3707:               <type>
Edouard@3707:                 <BOOL/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:             <variable name="RESULT">
Edouard@3707:               <type>
Edouard@3707:                 <string/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:           </outputVars>
Edouard@3707:           <localVars>
Edouard@3707:             <variable name="py_eval">
Edouard@3707:               <type>
Edouard@3707:                 <derived name="python_eval"/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:           </localVars>
Edouard@3707:           <inputVars>
Edouard@3707:             <variable name="TRIG">
Edouard@3707:               <type>
Edouard@3707:                 <BOOL/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:           </inputVars>
Edouard@3707:           <localVars>
edouard@4061:             <variable name="csv_refresh0">
edouard@4061:               <type>
edouard@4061:                 <derived name="csv_refresh"/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:           </localVars>
Edouard@3707:         </interface>
Edouard@3707:         <body>
Edouard@3707:           <FBD>
Edouard@3707:             <block localId="1" width="104" height="80" typeName="python_eval" instanceName="py_eval" executionOrderId="0">
edouard@4061:               <position x="336" y="96"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="TRIG">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="3">
edouard@4061:                       <position x="336" y="128"/>
edouard@4061:                       <position x="326" y="128"/>
edouard@4061:                       <position x="326" y="128"/>
edouard@4061:                       <position x="304" y="128"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="CODE">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="64"/>
Edouard@3707:                     <connection refLocalId="8">
edouard@4061:                       <position x="336" y="160"/>
edouard@4061:                       <position x="224" y="160"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="ACK">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="104" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="RESULT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="104" y="64"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
edouard@4061:             <inVariable localId="3" height="32" width="56" executionOrderId="0" negated="false">
edouard@4061:               <position x="248" y="112"/>
edouard@4061:               <connectionPointOut>
edouard@4061:                 <relPosition x="56" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>TRIG</expression>
Edouard@3707:             </inVariable>
edouard@4061:             <outVariable localId="5" height="32" width="40" executionOrderId="0" negated="false">
edouard@4061:               <position x="568" y="112"/>
Edouard@3707:               <connectionPointIn>
Edouard@3707:                 <relPosition x="0" y="16"/>
Edouard@3707:                 <connection refLocalId="1" formalParameter="ACK">
edouard@4061:                   <position x="568" y="128"/>
edouard@4061:                   <position x="440" y="128"/>
Edouard@3707:                 </connection>
Edouard@3707:               </connectionPointIn>
Edouard@3707:               <expression>ACK</expression>
Edouard@3707:             </outVariable>
edouard@4061:             <outVariable localId="6" height="32" width="64" executionOrderId="0" negated="false">
edouard@4061:               <position x="488" y="144"/>
Edouard@3707:               <connectionPointIn>
Edouard@3707:                 <relPosition x="0" y="16"/>
Edouard@3707:                 <connection refLocalId="1" formalParameter="RESULT">
edouard@4061:                   <position x="488" y="160"/>
edouard@4061:                   <position x="440" y="160"/>
Edouard@3707:                 </connection>
Edouard@3707:               </connectionPointIn>
Edouard@3707:               <expression>RESULT</expression>
Edouard@3707:             </outVariable>
edouard@4061:             <inVariable localId="8" executionOrderId="0" height="32" width="176" negated="false">
edouard@4061:               <position x="48" y="144"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="176" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>'pyext_csv_reload()'</expression>
Edouard@3707:             </inVariable>
edouard@4061:             <block localId="15" typeName="csv_refresh" instanceName="csv_refresh0" executionOrderId="0" width="104" height="64">
edouard@4061:               <position x="568" y="32"/>
edouard@4061:               <inputVariables>
edouard@4061:                 <variable formalParameter="TRIG">
edouard@4061:                   <connectionPointIn>
edouard@4061:                     <relPosition x="0" y="40"/>
Edouard@3707:                     <connection refLocalId="1" formalParameter="ACK">
edouard@4061:                       <position x="568" y="72"/>
edouard@4061:                       <position x="472" y="72"/>
edouard@4061:                       <position x="472" y="128"/>
edouard@4061:                       <position x="440" y="128"/>
edouard@4061:                     </connection>
edouard@4061:                   </connectionPointIn>
edouard@4061:                 </variable>
edouard@4061:               </inputVariables>
edouard@4061:               <inOutVariables/>
edouard@4061:               <outputVariables/>
edouard@4061:             </block>
Edouard@3707:           </FBD>
Edouard@3707:         </body>
edouard@4061:         <documentation>
edouard@4061:           <xhtml:p><![CDATA[Purge CSV files cache and refresh CSV read FBs outputs, consequently reloading CSV files]]></xhtml:p>
edouard@4061:         </documentation>
Edouard@3707:       </pou>
Edouard@3707:       <pou name="csv_read_by_int" pouType="functionBlock">
Edouard@3707:         <interface>
Edouard@3707:           <outputVars>
Edouard@3707:             <variable name="ACK">
Edouard@3707:               <type>
Edouard@3707:                 <BOOL/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:             <variable name="RESULT">
Edouard@3707:               <type>
Edouard@3707:                 <string/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:           </outputVars>
Edouard@3707:           <inputVars>
Edouard@3707:             <variable name="FILE_NAME">
Edouard@3707:               <type>
Edouard@3707:                 <string/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:             <variable name="ROW">
Edouard@3707:               <type>
Edouard@3707:                 <INT/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:             <variable name="COLUMN">
Edouard@3707:               <type>
Edouard@3707:                 <INT/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:           </inputVars>
Edouard@3707:           <localVars>
Edouard@3707:             <variable name="OLDCODE">
Edouard@3707:               <type>
Edouard@3707:                 <string/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:             <variable name="py_eval0">
Edouard@3707:               <type>
Edouard@3707:                 <derived name="python_eval"/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
edouard@4061:             <variable name="R_TRIG2">
Edouard@3707:               <type>
Edouard@3707:                 <derived name="R_TRIG"/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
Edouard@3707:             <variable name="SR0">
Edouard@3707:               <type>
Edouard@3707:                 <derived name="SR"/>
Edouard@3707:               </type>
Edouard@3707:             </variable>
edouard@4061:             <variable name="_csv_update0">
edouard@4061:               <type>
edouard@4061:                 <derived name="_csv_update"/>
edouard@4061:               </type>
edouard@4061:             </variable>
Edouard@3707:           </localVars>
Edouard@3707:         </interface>
Edouard@3707:         <body>
Edouard@3707:           <FBD>
Edouard@3707:             <block localId="7" typeName="CONCAT" executionOrderId="0" height="192" width="64">
Edouard@3707:               <position x="520" y="112"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="8">
Edouard@3707:                       <position x="520" y="144"/>
Edouard@3707:                       <position x="480" y="144"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN2">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="9">
Edouard@3707:                       <position x="520" y="168"/>
Edouard@3707:                       <position x="312" y="168"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN3">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="80"/>
Edouard@3707:                     <connection refLocalId="10">
Edouard@3707:                       <position x="520" y="192"/>
Edouard@3707:                       <position x="480" y="192"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN4">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="104"/>
Edouard@3707:                     <connection refLocalId="31" formalParameter="OUT">
Edouard@3707:                       <position x="520" y="216"/>
Edouard@3707:                       <position x="320" y="216"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN5">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="128"/>
Edouard@3707:                     <connection refLocalId="12">
Edouard@3707:                       <position x="520" y="240"/>
Edouard@3707:                       <position x="480" y="240"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN6">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="152"/>
Edouard@3707:                     <connection refLocalId="2" formalParameter="OUT">
Edouard@3707:                       <position x="520" y="264"/>
Edouard@3707:                       <position x="320" y="264"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN7">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="176"/>
Edouard@3707:                     <connection refLocalId="14">
Edouard@3707:                       <position x="520" y="288"/>
Edouard@3707:                       <position x="480" y="288"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <inVariable localId="8" executionOrderId="0" height="24" width="160" negated="false">
Edouard@3707:               <position x="320" y="128"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="160" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>'CSVRdInt("'</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="9" executionOrderId="0" height="32" width="112" negated="false">
Edouard@3707:               <position x="200" y="152"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="112" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>FILE_NAME</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="10" executionOrderId="0" height="24" width="112" negated="false">
Edouard@3707:               <position x="368" y="184"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="112" y="8"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>'",'</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="11" executionOrderId="0" height="32" width="112" negated="false">
Edouard@3707:               <position x="40" y="200"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="112" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>ROW</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="12" executionOrderId="0" height="24" width="112" negated="false">
Edouard@3707:               <position x="368" y="224"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="112" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>','</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="13" executionOrderId="0" height="32" width="112" negated="false">
Edouard@3707:               <position x="40" y="248"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="112" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>COLUMN</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="14" executionOrderId="0" height="24" width="112" negated="false">
Edouard@3707:               <position x="368" y="272"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="112" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>')'</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <continuation name="Code" localId="4" height="24" width="128">
Edouard@3707:               <position x="504" y="496"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="128" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:             </continuation>
Edouard@3707:             <block localId="16" typeName="NE" executionOrderId="0" height="64" width="64">
Edouard@3707:               <position x="208" y="456"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="22">
Edouard@3707:                       <position x="208" y="488"/>
Edouard@3707:                       <position x="188" y="488"/>
Edouard@3707:                       <position x="188" y="480"/>
Edouard@3707:                       <position x="168" y="480"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN2">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="21">
Edouard@3707:                       <position x="208" y="512"/>
Edouard@3707:                       <position x="168" y="512"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <outVariable localId="17" executionOrderId="0" height="32" width="66" negated="false">
Edouard@3707:               <position x="784" y="440"/>
Edouard@3707:               <connectionPointIn>
Edouard@3707:                 <relPosition x="0" y="16"/>
Edouard@3707:                 <connection refLocalId="18" formalParameter="OUT">
Edouard@3707:                   <position x="784" y="456"/>
Edouard@3707:                   <position x="744" y="456"/>
Edouard@3707:                 </connection>
Edouard@3707:               </connectionPointIn>
Edouard@3707:               <expression>OLDCODE</expression>
Edouard@3707:             </outVariable>
Edouard@3707:             <block localId="18" typeName="SEL" executionOrderId="0" height="96" width="64">
Edouard@3707:               <position x="680" y="424"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="G">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="25">
Edouard@3707:                       <position x="680" y="456"/>
Edouard@3707:                       <position x="652" y="456"/>
Edouard@3707:                       <position x="652" y="448"/>
Edouard@3707:                       <position x="624" y="448"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN0">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="20">
Edouard@3707:                       <position x="680" y="480"/>
Edouard@3707:                       <position x="632" y="480"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="80"/>
Edouard@3707:                     <connection refLocalId="4">
Edouard@3707:                       <position x="680" y="504"/>
Edouard@3707:                       <position x="656" y="504"/>
Edouard@3707:                       <position x="656" y="512"/>
Edouard@3707:                       <position x="632" y="512"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <inVariable localId="20" executionOrderId="0" height="32" width="72" negated="false">
Edouard@3707:               <position x="560" y="464"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="72" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>OLDCODE</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="21" executionOrderId="0" height="32" width="72" negated="false">
Edouard@3707:               <position x="96" y="496"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="72" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>OLDCODE</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <continuation name="Code" localId="22" height="24" width="128">
Edouard@3707:               <position x="40" y="472"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="128" y="8"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:             </continuation>
Edouard@3707:             <connector name="CodeChange" localId="23" height="24" width="120">
Edouard@3707:               <position x="328" y="480"/>
Edouard@3707:               <connectionPointIn>
Edouard@3707:                 <relPosition x="0" y="16"/>
Edouard@3707:                 <connection refLocalId="16" formalParameter="OUT">
Edouard@3707:                   <position x="328" y="496"/>
Edouard@3707:                   <position x="300" y="496"/>
Edouard@3707:                   <position x="300" y="488"/>
Edouard@3707:                   <position x="272" y="488"/>
Edouard@3707:                 </connection>
Edouard@3707:               </connectionPointIn>
Edouard@3707:             </connector>
Edouard@3707:             <continuation name="CodeChange" localId="25" height="24" width="120">
Edouard@3707:               <position x="504" y="440"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="120" y="8"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:             </continuation>
Edouard@3707:             <comment localId="27" height="48" width="312">
Edouard@3707:               <position x="40" y="376"/>
Edouard@3707:               <content>
Edouard@3707:                 <xhtml:p><![CDATA[Detect changes in generated code line]]></xhtml:p>
Edouard@3707:               </content>
Edouard@3707:             </comment>
Edouard@3707:             <comment localId="28" height="48" width="520">
Edouard@3707:               <position x="48" y="560"/>
Edouard@3707:               <content>
Edouard@3707:                 <xhtml:p><![CDATA[Execute python code on change or globally when CSV is updated]]></xhtml:p>
Edouard@3707:               </content>
Edouard@3707:             </comment>
Edouard@3707:             <comment localId="29" height="40" width="232">
Edouard@3707:               <position x="64" y="32"/>
Edouard@3707:               <content>
Edouard@3707:                 <xhtml:p><![CDATA[Generate python code line]]></xhtml:p>
Edouard@3707:               </content>
Edouard@3707:             </comment>
Edouard@3707:             <connector name="Code" localId="30" height="24" width="128">
Edouard@3707:               <position x="632" y="128"/>
Edouard@3707:               <connectionPointIn>
Edouard@3707:                 <relPosition x="0" y="16"/>
Edouard@3707:                 <connection refLocalId="7" formalParameter="OUT">
Edouard@3707:                   <position x="632" y="144"/>
Edouard@3707:                   <position x="584" y="144"/>
Edouard@3707:                 </connection>
Edouard@3707:               </connectionPointIn>
Edouard@3707:             </connector>
Edouard@3707:             <block localId="31" typeName="INT_TO_STRING" executionOrderId="0" height="48" width="120">
Edouard@3707:               <position x="200" y="184"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="11">
Edouard@3707:                       <position x="200" y="216"/>
Edouard@3707:                       <position x="152" y="216"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="120" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <block localId="2" typeName="INT_TO_STRING" executionOrderId="0" height="48" width="120">
Edouard@3707:               <position x="200" y="232"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="13">
Edouard@3707:                       <position x="200" y="264"/>
Edouard@3707:                       <position x="152" y="264"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="120" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <block localId="40" width="104" height="80" typeName="python_eval" instanceName="py_eval0" executionOrderId="0">
Edouard@3707:               <position x="552" y="640"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="TRIG">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="15" formalParameter="OUT">
Edouard@3707:                       <position x="552" y="672"/>
Edouard@3707:                       <position x="360" y="672"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="CODE">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="64"/>
Edouard@3707:                     <connection refLocalId="41">
Edouard@3707:                       <position x="552" y="704"/>
Edouard@3707:                       <position x="528" y="704"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="ACK">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="104" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="RESULT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="104" y="64"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <continuation name="Code" localId="41" height="24" width="128">
Edouard@3707:               <position x="400" y="688"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="128" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:             </continuation>
Edouard@3707:             <outVariable localId="43" height="24" width="40" executionOrderId="0" negated="false">
edouard@4061:               <position x="1216" y="664"/>
Edouard@3707:               <connectionPointIn>
Edouard@3707:                 <relPosition x="0" y="16"/>
Edouard@3707:                 <connection refLocalId="38" formalParameter="Q1">
edouard@4061:                   <position x="1216" y="680"/>
Edouard@3707:                   <position x="1168" y="680"/>
Edouard@3707:                 </connection>
Edouard@3707:               </connectionPointIn>
Edouard@3707:               <expression>ACK</expression>
Edouard@3707:             </outVariable>
Edouard@3707:             <outVariable localId="44" height="24" width="64" executionOrderId="0" negated="false">
Edouard@3707:               <position x="688" y="744"/>
Edouard@3707:               <connectionPointIn>
Edouard@3707:                 <relPosition x="0" y="8"/>
Edouard@3707:                 <connection refLocalId="40" formalParameter="RESULT">
Edouard@3707:                   <position x="688" y="752"/>
Edouard@3707:                   <position x="672" y="752"/>
Edouard@3707:                   <position x="672" y="704"/>
Edouard@3707:                   <position x="656" y="704"/>
Edouard@3707:                 </connection>
Edouard@3707:               </connectionPointIn>
Edouard@3707:               <expression>RESULT</expression>
Edouard@3707:             </outVariable>
Edouard@3707:             <block localId="15" typeName="OR" executionOrderId="0" height="64" width="64">
Edouard@3707:               <position x="296" y="640"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
edouard@4061:                     <connection refLocalId="1" formalParameter="TRIG">
Edouard@3707:                       <position x="296" y="672"/>
edouard@4061:                       <position x="264" y="672"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN2">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="45">
Edouard@3707:                       <position x="296" y="696"/>
edouard@4061:                       <position x="144" y="696"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
edouard@4061:             <continuation name="CodeChange" localId="45" height="32" width="120">
edouard@4061:               <position x="24" y="680"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="120" y="16"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:             </continuation>
Edouard@3707:             <block localId="33" typeName="LEFT" executionOrderId="0" height="64" width="56">
Edouard@3707:               <position x="736" y="672"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="40" formalParameter="RESULT">
Edouard@3707:                       <position x="736" y="704"/>
Edouard@3707:                       <position x="656" y="704"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="L">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="35">
Edouard@3707:                       <position x="736" y="728"/>
Edouard@3707:                       <position x="724" y="728"/>
Edouard@3707:                       <position x="724" y="720"/>
Edouard@3707:                       <position x="712" y="720"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="56" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <block localId="34" typeName="NE" executionOrderId="0" height="64" width="64">
Edouard@3707:               <position x="880" y="672"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="33" formalParameter="OUT">
Edouard@3707:                       <position x="880" y="704"/>
Edouard@3707:                       <position x="792" y="704"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN2">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="36">
Edouard@3707:                       <position x="880" y="728"/>
Edouard@3707:                       <position x="868" y="728"/>
Edouard@3707:                       <position x="868" y="720"/>
Edouard@3707:                       <position x="856" y="720"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <inVariable localId="35" executionOrderId="0" height="24" width="24" negated="false">
Edouard@3707:               <position x="688" y="712"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="24" y="8"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>1</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <inVariable localId="36" executionOrderId="0" height="24" width="40" negated="false">
Edouard@3707:               <position x="816" y="712"/>
Edouard@3707:               <connectionPointOut>
Edouard@3707:                 <relPosition x="40" y="8"/>
Edouard@3707:               </connectionPointOut>
Edouard@3707:               <expression>'#'</expression>
Edouard@3707:             </inVariable>
Edouard@3707:             <block localId="37" typeName="R_TRIG" instanceName="R_TRIG2" executionOrderId="0" height="48" width="64">
Edouard@3707:               <position x="880" y="616"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="CLK">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="40" formalParameter="ACK">
Edouard@3707:                       <position x="880" y="648"/>
Edouard@3707:                       <position x="688" y="648"/>
Edouard@3707:                       <position x="688" y="672"/>
Edouard@3707:                       <position x="656" y="672"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="Q">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <block localId="38" typeName="SR" instanceName="SR0" executionOrderId="0" height="64" width="48">
Edouard@3707:               <position x="1120" y="648"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="S1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="39" formalParameter="OUT">
Edouard@3707:                       <position x="1120" y="680"/>
Edouard@3707:                       <position x="1056" y="680"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="R" edge="rising">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="15" formalParameter="OUT">
Edouard@3707:                       <position x="1120" y="704"/>
Edouard@3707:                       <position x="1088" y="704"/>
Edouard@3707:                       <position x="1088" y="776"/>
Edouard@3707:                       <position x="376" y="776"/>
Edouard@3707:                       <position x="376" y="672"/>
Edouard@3707:                       <position x="360" y="672"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="Q1">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="48" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
Edouard@3707:             <block localId="39" typeName="AND" executionOrderId="0" height="64" width="64">
Edouard@3707:               <position x="992" y="648"/>
Edouard@3707:               <inputVariables>
Edouard@3707:                 <variable formalParameter="IN1">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="32"/>
Edouard@3707:                     <connection refLocalId="37" formalParameter="Q">
Edouard@3707:                       <position x="992" y="680"/>
Edouard@3707:                       <position x="976" y="680"/>
Edouard@3707:                       <position x="976" y="648"/>
Edouard@3707:                       <position x="944" y="648"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:                 <variable formalParameter="IN2">
Edouard@3707:                   <connectionPointIn>
Edouard@3707:                     <relPosition x="0" y="56"/>
Edouard@3707:                     <connection refLocalId="34" formalParameter="OUT">
Edouard@3707:                       <position x="992" y="704"/>
Edouard@3707:                       <position x="944" y="704"/>
Edouard@3707:                     </connection>
Edouard@3707:                   </connectionPointIn>
Edouard@3707:                 </variable>
Edouard@3707:               </inputVariables>
Edouard@3707:               <inOutVariables/>
Edouard@3707:               <outputVariables>
Edouard@3707:                 <variable formalParameter="OUT">
Edouard@3707:                   <connectionPointOut>
Edouard@3707:                     <relPosition x="64" y="32"/>
Edouard@3707:                   </connectionPointOut>
Edouard@3707:                 </variable>
Edouard@3707:               </outputVariables>
Edouard@3707:             </block>
edouard@4061:             <block localId="1" typeName="_csv_update" instanceName="_csv_update0" executionOrderId="0" width="104" height="48">
edouard@4061:               <position x="160" y="640"/>
edouard@4061:               <inputVariables/>
edouard@4061:               <inOutVariables/>
edouard@4061:               <outputVariables>
edouard@4061:                 <variable formalParameter="TRIG">
edouard@4061:                   <connectionPointOut>
edouard@4061:                     <relPosition x="104" y="32"/>
edouard@4061:                   </connectionPointOut>
edouard@4061:                 </variable>
edouard@4061:               </outputVariables>
edouard@4061:             </block>
Edouard@3707:           </FBD>
Edouard@3707:         </body>
Edouard@3707:       </pou>
44305363+kraskrom@4056:       <pou name="csv_write_by_int" pouType="functionBlock">
44305363+kraskrom@4056:         <interface>
44305363+kraskrom@4056:           <outputVars>
44305363+kraskrom@4056:             <variable name="ACK">
44305363+kraskrom@4056:               <type>
44305363+kraskrom@4056:                 <BOOL/>
44305363+kraskrom@4056:               </type>
44305363+kraskrom@4056:             </variable>
edouard@4066:             <variable name="ERROR">
edouard@4066:               <type>
edouard@4066:                 <BOOL/>
edouard@4066:               </type>
edouard@4066:             </variable>
44305363+kraskrom@4056:             <variable name="RESULT">
44305363+kraskrom@4056:               <type>
44305363+kraskrom@4056:                 <string/>
44305363+kraskrom@4056:               </type>
44305363+kraskrom@4056:             </variable>
44305363+kraskrom@4056:           </outputVars>
44305363+kraskrom@4056:           <inputVars>
44305363+kraskrom@4056:             <variable name="FILE_NAME">
44305363+kraskrom@4056:               <type>
44305363+kraskrom@4056:                 <string/>
44305363+kraskrom@4056:               </type>
44305363+kraskrom@4056:             </variable>
44305363+kraskrom@4056:             <variable name="ROW">
44305363+kraskrom@4056:               <type>
44305363+kraskrom@4056:                 <INT/>
44305363+kraskrom@4056:               </type>
44305363+kraskrom@4056:             </variable>
44305363+kraskrom@4056:             <variable name="COLUMN">
44305363+kraskrom@4056:               <type>
44305363+kraskrom@4056:                 <INT/>
44305363+kraskrom@4056:               </type>
44305363+kraskrom@4056:             </variable>
44305363+kraskrom@4056:             <variable name="CONTENT">
44305363+kraskrom@4056:               <type>
44305363+kraskrom@4056:                 <string/>
44305363+kraskrom@4056:               </type>
44305363+kraskrom@4056:             </variable>
44305363+kraskrom@4056:             <variable name="SAVE">
44305363+kraskrom@4056:               <type>
edouard@4060:                 <BOOL/>
44305363+kraskrom@4056:               </type>
44305363+kraskrom@4056:             </variable>
44305363+kraskrom@4056:           </inputVars>
44305363+kraskrom@4056:           <localVars>
44305363+kraskrom@4056:             <variable name="py_eval0">
44305363+kraskrom@4056:               <type>
44305363+kraskrom@4056:                 <derived name="python_eval"/>
44305363+kraskrom@4056:               </type>
44305363+kraskrom@4056:             </variable>
44305363+kraskrom@4056:             <variable name="R_TRIG1">
44305363+kraskrom@4056:               <type>
44305363+kraskrom@4056:                 <derived name="R_TRIG"/>
44305363+kraskrom@4056:               </type>
44305363+kraskrom@4056:             </variable>
44305363+kraskrom@4056:             <variable name="R_TRIG2">
44305363+kraskrom@4056:               <type>
44305363+kraskrom@4056:                 <derived name="R_TRIG"/>
44305363+kraskrom@4056:               </type>
44305363+kraskrom@4056:             </variable>
edouard@4061:             <variable name="csv_refresh0">
edouard@4061:               <type>
edouard@4061:                 <derived name="csv_refresh"/>
edouard@4061:               </type>
edouard@4061:             </variable>
44305363+kraskrom@4056:           </localVars>
44305363+kraskrom@4056:         </interface>
44305363+kraskrom@4056:         <body>
44305363+kraskrom@4056:           <FBD>
edouard@4060:             <block localId="7" typeName="CONCAT" executionOrderId="0" height="240" width="72">
edouard@4060:               <position x="680" y="88"/>
44305363+kraskrom@4056:               <inputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="IN1">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="32"/>
44305363+kraskrom@4056:                     <connection refLocalId="8">
edouard@4060:                       <position x="680" y="120"/>
edouard@4060:                       <position x="512" y="120"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:                 <variable formalParameter="IN2">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="56"/>
44305363+kraskrom@4056:                     <connection refLocalId="9">
edouard@4060:                       <position x="680" y="144"/>
edouard@4060:                       <position x="152" y="144"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:                 <variable formalParameter="IN3">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="80"/>
44305363+kraskrom@4056:                     <connection refLocalId="10">
edouard@4060:                       <position x="680" y="168"/>
edouard@4060:                       <position x="616" y="168"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:                 <variable formalParameter="IN4">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="104"/>
44305363+kraskrom@4056:                     <connection refLocalId="31" formalParameter="OUT">
edouard@4060:                       <position x="680" y="192"/>
edouard@4060:                       <position x="320" y="192"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:                 <variable formalParameter="IN5">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="128"/>
44305363+kraskrom@4056:                     <connection refLocalId="12">
edouard@4060:                       <position x="680" y="216"/>
edouard@4060:                       <position x="616" y="216"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:                 <variable formalParameter="IN6">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="152"/>
44305363+kraskrom@4056:                     <connection refLocalId="2" formalParameter="OUT">
edouard@4060:                       <position x="680" y="240"/>
edouard@4060:                       <position x="320" y="240"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:                 <variable formalParameter="IN7">
44305363+kraskrom@4056:                   <connectionPointIn>
edouard@4060:                     <relPosition x="0" y="176"/>
44305363+kraskrom@4056:                     <connection refLocalId="51">
edouard@4060:                       <position x="680" y="264"/>
edouard@4060:                       <position x="616" y="264"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:                 <variable formalParameter="IN8">
44305363+kraskrom@4056:                   <connectionPointIn>
edouard@4060:                     <relPosition x="0" y="200"/>
44305363+kraskrom@4056:                     <connection refLocalId="52">
edouard@4060:                       <position x="680" y="288"/>
edouard@4060:                       <position x="448" y="288"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:                 <variable formalParameter="IN9">
44305363+kraskrom@4056:                   <connectionPointIn>
edouard@4060:                     <relPosition x="0" y="224"/>
44305363+kraskrom@4056:                     <connection refLocalId="14">
edouard@4060:                       <position x="680" y="312"/>
edouard@4060:                       <position x="616" y="312"/>
edouard@4060:                     </connection>
edouard@4060:                   </connectionPointIn>
edouard@4060:                 </variable>
edouard@4060:               </inputVariables>
edouard@4060:               <inOutVariables/>
edouard@4060:               <outputVariables>
edouard@4060:                 <variable formalParameter="OUT">
edouard@4060:                   <connectionPointOut>
edouard@4060:                     <relPosition x="72" y="32"/>
44305363+kraskrom@4056:                   </connectionPointOut>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </outputVariables>
44305363+kraskrom@4056:             </block>
44305363+kraskrom@4056:             <inVariable localId="8" executionOrderId="0" height="24" width="160" negated="false">
edouard@4060:               <position x="352" y="112"/>
edouard@4060:               <connectionPointOut>
edouard@4060:                 <relPosition x="160" y="8"/>
44305363+kraskrom@4056:               </connectionPointOut>
44305363+kraskrom@4056:               <expression>'CSVWrInt("'</expression>
44305363+kraskrom@4056:             </inVariable>
44305363+kraskrom@4056:             <inVariable localId="9" executionOrderId="0" height="32" width="112" negated="false">
edouard@4060:               <position x="40" y="128"/>
44305363+kraskrom@4056:               <connectionPointOut>
44305363+kraskrom@4056:                 <relPosition x="112" y="16"/>
44305363+kraskrom@4056:               </connectionPointOut>
44305363+kraskrom@4056:               <expression>FILE_NAME</expression>
44305363+kraskrom@4056:             </inVariable>
44305363+kraskrom@4056:             <inVariable localId="10" executionOrderId="0" height="24" width="112" negated="false">
edouard@4060:               <position x="504" y="152"/>
edouard@4060:               <connectionPointOut>
edouard@4060:                 <relPosition x="112" y="16"/>
edouard@4060:               </connectionPointOut>
edouard@4060:               <expression>'",'</expression>
edouard@4060:             </inVariable>
edouard@4060:             <inVariable localId="11" executionOrderId="0" height="32" width="112" negated="false">
edouard@4060:               <position x="40" y="176"/>
edouard@4060:               <connectionPointOut>
edouard@4060:                 <relPosition x="112" y="16"/>
edouard@4060:               </connectionPointOut>
edouard@4060:               <expression>ROW</expression>
edouard@4060:             </inVariable>
edouard@4060:             <inVariable localId="12" executionOrderId="0" height="24" width="112" negated="false">
edouard@4060:               <position x="504" y="208"/>
44305363+kraskrom@4056:               <connectionPointOut>
44305363+kraskrom@4056:                 <relPosition x="112" y="8"/>
44305363+kraskrom@4056:               </connectionPointOut>
edouard@4060:               <expression>','</expression>
edouard@4060:             </inVariable>
edouard@4060:             <inVariable localId="13" executionOrderId="0" height="32" width="112" negated="false">
edouard@4060:               <position x="40" y="224"/>
44305363+kraskrom@4056:               <connectionPointOut>
44305363+kraskrom@4056:                 <relPosition x="112" y="16"/>
44305363+kraskrom@4056:               </connectionPointOut>
edouard@4060:               <expression>COLUMN</expression>
edouard@4060:             </inVariable>
edouard@4060:             <inVariable localId="51" executionOrderId="0" height="24" width="112" negated="false">
edouard@4060:               <position x="504" y="256"/>
edouard@4060:               <connectionPointOut>
edouard@4060:                 <relPosition x="112" y="8"/>
edouard@4060:               </connectionPointOut>
edouard@4060:               <expression>',"'</expression>
edouard@4060:             </inVariable>
edouard@4060:             <inVariable localId="52" executionOrderId="0" height="32" width="112" negated="false">
edouard@4060:               <position x="336" y="272"/>
44305363+kraskrom@4056:               <connectionPointOut>
44305363+kraskrom@4056:                 <relPosition x="112" y="16"/>
44305363+kraskrom@4056:               </connectionPointOut>
edouard@4060:               <expression>CONTENT</expression>
edouard@4060:             </inVariable>
edouard@4060:             <inVariable localId="14" executionOrderId="0" height="24" width="112" negated="false">
edouard@4060:               <position x="504" y="304"/>
44305363+kraskrom@4056:               <connectionPointOut>
44305363+kraskrom@4056:                 <relPosition x="112" y="16"/>
44305363+kraskrom@4056:               </connectionPointOut>
edouard@4060:               <expression>'")'</expression>
edouard@4060:             </inVariable>
44305363+kraskrom@4056:             <comment localId="28" height="48" width="520">
edouard@4060:               <position x="48" y="400"/>
44305363+kraskrom@4056:               <content>
44305363+kraskrom@4056:                 <xhtml:p><![CDATA[Execute python code on change or globally when CSV is updated]]></xhtml:p>
44305363+kraskrom@4056:               </content>
44305363+kraskrom@4056:             </comment>
44305363+kraskrom@4056:             <comment localId="29" height="40" width="232">
44305363+kraskrom@4056:               <position x="64" y="32"/>
44305363+kraskrom@4056:               <content>
44305363+kraskrom@4056:                 <xhtml:p><![CDATA[Generate python code line]]></xhtml:p>
44305363+kraskrom@4056:               </content>
44305363+kraskrom@4056:             </comment>
44305363+kraskrom@4056:             <connector name="Code" localId="30" height="24" width="128">
edouard@4060:               <position x="856" y="112"/>
44305363+kraskrom@4056:               <connectionPointIn>
edouard@4060:                 <relPosition x="0" y="8"/>
44305363+kraskrom@4056:                 <connection refLocalId="7" formalParameter="OUT">
edouard@4060:                   <position x="856" y="120"/>
edouard@4060:                   <position x="752" y="120"/>
44305363+kraskrom@4056:                 </connection>
44305363+kraskrom@4056:               </connectionPointIn>
44305363+kraskrom@4056:             </connector>
44305363+kraskrom@4056:             <block localId="31" typeName="INT_TO_STRING" executionOrderId="0" height="48" width="120">
edouard@4060:               <position x="200" y="160"/>
44305363+kraskrom@4056:               <inputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="IN">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="32"/>
44305363+kraskrom@4056:                     <connection refLocalId="11">
edouard@4060:                       <position x="200" y="192"/>
edouard@4060:                       <position x="152" y="192"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </inputVariables>
44305363+kraskrom@4056:               <inOutVariables/>
44305363+kraskrom@4056:               <outputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="OUT">
44305363+kraskrom@4056:                   <connectionPointOut>
44305363+kraskrom@4056:                     <relPosition x="120" y="32"/>
44305363+kraskrom@4056:                   </connectionPointOut>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </outputVariables>
44305363+kraskrom@4056:             </block>
44305363+kraskrom@4056:             <block localId="2" typeName="INT_TO_STRING" executionOrderId="0" height="48" width="120">
edouard@4060:               <position x="200" y="208"/>
44305363+kraskrom@4056:               <inputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="IN">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="32"/>
44305363+kraskrom@4056:                     <connection refLocalId="13">
edouard@4060:                       <position x="200" y="240"/>
edouard@4060:                       <position x="152" y="240"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </inputVariables>
44305363+kraskrom@4056:               <inOutVariables/>
44305363+kraskrom@4056:               <outputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="OUT">
44305363+kraskrom@4056:                   <connectionPointOut>
44305363+kraskrom@4056:                     <relPosition x="120" y="32"/>
44305363+kraskrom@4056:                   </connectionPointOut>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </outputVariables>
44305363+kraskrom@4056:             </block>
44305363+kraskrom@4056:             <block localId="40" width="104" height="80" typeName="python_eval" instanceName="py_eval0" executionOrderId="0">
edouard@4060:               <position x="552" y="480"/>
44305363+kraskrom@4056:               <inputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="TRIG">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="32"/>
edouard@4060:                     <connection refLocalId="46" formalParameter="Q">
edouard@4060:                       <position x="552" y="512"/>
edouard@4060:                       <position x="360" y="512"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:                 <variable formalParameter="CODE">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="64"/>
44305363+kraskrom@4056:                     <connection refLocalId="41">
edouard@4060:                       <position x="552" y="544"/>
edouard@4060:                       <position x="520" y="544"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </inputVariables>
44305363+kraskrom@4056:               <inOutVariables/>
44305363+kraskrom@4056:               <outputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="ACK">
44305363+kraskrom@4056:                   <connectionPointOut>
44305363+kraskrom@4056:                     <relPosition x="104" y="32"/>
44305363+kraskrom@4056:                   </connectionPointOut>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:                 <variable formalParameter="RESULT">
44305363+kraskrom@4056:                   <connectionPointOut>
44305363+kraskrom@4056:                     <relPosition x="104" y="64"/>
44305363+kraskrom@4056:                   </connectionPointOut>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </outputVariables>
44305363+kraskrom@4056:             </block>
44305363+kraskrom@4056:             <continuation name="Code" localId="41" height="24" width="128">
edouard@4060:               <position x="392" y="528"/>
44305363+kraskrom@4056:               <connectionPointOut>
44305363+kraskrom@4056:                 <relPosition x="128" y="16"/>
44305363+kraskrom@4056:               </connectionPointOut>
44305363+kraskrom@4056:             </continuation>
edouard@4060:             <inVariable localId="42" height="24" width="64" executionOrderId="0" negated="false">
edouard@4060:               <position x="208" y="496"/>
edouard@4060:               <connectionPointOut>
edouard@4060:                 <relPosition x="64" y="16"/>
edouard@4060:               </connectionPointOut>
edouard@4060:               <expression>SAVE</expression>
44305363+kraskrom@4056:             </inVariable>
edouard@4061:             <outVariable localId="43" height="32" width="40" executionOrderId="0" negated="false">
edouard@4066:               <position x="736" y="400"/>
44305363+kraskrom@4056:               <connectionPointIn>
44305363+kraskrom@4056:                 <relPosition x="0" y="16"/>
edouard@4066:                 <connection refLocalId="40" formalParameter="ACK">
edouard@4066:                   <position x="736" y="416"/>
edouard@4066:                   <position x="688" y="416"/>
edouard@4066:                   <position x="688" y="512"/>
edouard@4066:                   <position x="656" y="512"/>
44305363+kraskrom@4056:                 </connection>
44305363+kraskrom@4056:               </connectionPointIn>
44305363+kraskrom@4056:               <expression>ACK</expression>
44305363+kraskrom@4056:             </outVariable>
44305363+kraskrom@4056:             <outVariable localId="44" height="24" width="64" executionOrderId="0" negated="false">
edouard@4060:               <position x="688" y="584"/>
44305363+kraskrom@4056:               <connectionPointIn>
44305363+kraskrom@4056:                 <relPosition x="0" y="8"/>
44305363+kraskrom@4056:                 <connection refLocalId="40" formalParameter="RESULT">
edouard@4060:                   <position x="688" y="592"/>
edouard@4060:                   <position x="672" y="592"/>
edouard@4060:                   <position x="672" y="544"/>
edouard@4060:                   <position x="656" y="544"/>
44305363+kraskrom@4056:                 </connection>
44305363+kraskrom@4056:               </connectionPointIn>
44305363+kraskrom@4056:               <expression>RESULT</expression>
44305363+kraskrom@4056:             </outVariable>
edouard@4060:             <block localId="46" typeName="R_TRIG" instanceName="R_TRIG1" executionOrderId="0" height="48" width="64">
edouard@4060:               <position x="296" y="480"/>
edouard@4060:               <inputVariables>
edouard@4060:                 <variable formalParameter="CLK">
edouard@4060:                   <connectionPointIn>
edouard@4060:                     <relPosition x="0" y="32"/>
edouard@4060:                     <connection refLocalId="42">
edouard@4060:                       <position x="296" y="512"/>
edouard@4060:                       <position x="272" y="512"/>
edouard@4060:                     </connection>
edouard@4060:                   </connectionPointIn>
edouard@4060:                 </variable>
edouard@4060:               </inputVariables>
edouard@4060:               <inOutVariables/>
edouard@4060:               <outputVariables>
edouard@4060:                 <variable formalParameter="Q">
44305363+kraskrom@4056:                   <connectionPointOut>
44305363+kraskrom@4056:                     <relPosition x="64" y="32"/>
44305363+kraskrom@4056:                   </connectionPointOut>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </outputVariables>
44305363+kraskrom@4056:             </block>
44305363+kraskrom@4056:             <block localId="33" typeName="LEFT" executionOrderId="0" height="64" width="56">
edouard@4060:               <position x="736" y="512"/>
44305363+kraskrom@4056:               <inputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="IN">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="32"/>
44305363+kraskrom@4056:                     <connection refLocalId="40" formalParameter="RESULT">
edouard@4060:                       <position x="736" y="544"/>
edouard@4060:                       <position x="656" y="544"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:                 <variable formalParameter="L">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="56"/>
44305363+kraskrom@4056:                     <connection refLocalId="35">
edouard@4060:                       <position x="736" y="568"/>
edouard@4060:                       <position x="724" y="568"/>
edouard@4060:                       <position x="724" y="560"/>
edouard@4060:                       <position x="712" y="560"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </inputVariables>
44305363+kraskrom@4056:               <inOutVariables/>
44305363+kraskrom@4056:               <outputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="OUT">
44305363+kraskrom@4056:                   <connectionPointOut>
44305363+kraskrom@4056:                     <relPosition x="56" y="32"/>
44305363+kraskrom@4056:                   </connectionPointOut>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </outputVariables>
44305363+kraskrom@4056:             </block>
edouard@4066:             <block localId="34" typeName="EQ" executionOrderId="0" height="72" width="64">
edouard@4060:               <position x="880" y="512"/>
44305363+kraskrom@4056:               <inputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="IN1">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="32"/>
44305363+kraskrom@4056:                     <connection refLocalId="33" formalParameter="OUT">
edouard@4060:                       <position x="880" y="544"/>
edouard@4060:                       <position x="792" y="544"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:                 <variable formalParameter="IN2">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="56"/>
44305363+kraskrom@4056:                     <connection refLocalId="36">
edouard@4060:                       <position x="880" y="568"/>
edouard@4060:                       <position x="848" y="568"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </inputVariables>
44305363+kraskrom@4056:               <inOutVariables/>
44305363+kraskrom@4056:               <outputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="OUT">
44305363+kraskrom@4056:                   <connectionPointOut>
44305363+kraskrom@4056:                     <relPosition x="64" y="32"/>
44305363+kraskrom@4056:                   </connectionPointOut>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </outputVariables>
44305363+kraskrom@4056:             </block>
44305363+kraskrom@4056:             <inVariable localId="35" executionOrderId="0" height="24" width="24" negated="false">
edouard@4060:               <position x="688" y="552"/>
44305363+kraskrom@4056:               <connectionPointOut>
44305363+kraskrom@4056:                 <relPosition x="24" y="8"/>
44305363+kraskrom@4056:               </connectionPointOut>
44305363+kraskrom@4056:               <expression>1</expression>
44305363+kraskrom@4056:             </inVariable>
edouard@4066:             <inVariable localId="36" executionOrderId="0" height="32" width="40" negated="false">
edouard@4066:               <position x="808" y="552"/>
edouard@4066:               <connectionPointOut>
edouard@4066:                 <relPosition x="40" y="16"/>
44305363+kraskrom@4056:               </connectionPointOut>
44305363+kraskrom@4056:               <expression>'#'</expression>
44305363+kraskrom@4056:             </inVariable>
44305363+kraskrom@4056:             <block localId="37" typeName="R_TRIG" instanceName="R_TRIG2" executionOrderId="0" height="48" width="64">
edouard@4066:               <position x="736" y="456"/>
44305363+kraskrom@4056:               <inputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="CLK">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="32"/>
44305363+kraskrom@4056:                     <connection refLocalId="40" formalParameter="ACK">
edouard@4066:                       <position x="736" y="488"/>
edouard@4060:                       <position x="688" y="488"/>
edouard@4060:                       <position x="688" y="512"/>
edouard@4060:                       <position x="656" y="512"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </inputVariables>
44305363+kraskrom@4056:               <inOutVariables/>
44305363+kraskrom@4056:               <outputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="Q">
44305363+kraskrom@4056:                   <connectionPointOut>
44305363+kraskrom@4056:                     <relPosition x="64" y="32"/>
44305363+kraskrom@4056:                   </connectionPointOut>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </outputVariables>
44305363+kraskrom@4056:             </block>
edouard@4066:             <block localId="39" typeName="AND" executionOrderId="0" height="72" width="64">
edouard@4066:               <position x="984" y="456"/>
44305363+kraskrom@4056:               <inputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="IN1">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="32"/>
44305363+kraskrom@4056:                     <connection refLocalId="37" formalParameter="Q">
edouard@4066:                       <position x="984" y="488"/>
edouard@4066:                       <position x="800" y="488"/>
edouard@4066:                     </connection>
edouard@4066:                   </connectionPointIn>
edouard@4066:                 </variable>
edouard@4066:                 <variable formalParameter="IN2" negated="true">
44305363+kraskrom@4056:                   <connectionPointIn>
44305363+kraskrom@4056:                     <relPosition x="0" y="56"/>
44305363+kraskrom@4056:                     <connection refLocalId="34" formalParameter="OUT">
edouard@4066:                       <position x="984" y="512"/>
edouard@4066:                       <position x="974" y="512"/>
edouard@4066:                       <position x="974" y="544"/>
edouard@4060:                       <position x="944" y="544"/>
44305363+kraskrom@4056:                     </connection>
44305363+kraskrom@4056:                   </connectionPointIn>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </inputVariables>
44305363+kraskrom@4056:               <inOutVariables/>
44305363+kraskrom@4056:               <outputVariables>
44305363+kraskrom@4056:                 <variable formalParameter="OUT">
44305363+kraskrom@4056:                   <connectionPointOut>
44305363+kraskrom@4056:                     <relPosition x="64" y="32"/>
44305363+kraskrom@4056:                   </connectionPointOut>
44305363+kraskrom@4056:                 </variable>
44305363+kraskrom@4056:               </outputVariables>
44305363+kraskrom@4056:             </block>
edouard@4061:             <block localId="53" typeName="csv_refresh" instanceName="csv_refresh0" executionOrderId="0" width="104" height="48">
edouard@4066:               <position x="1112" y="456"/>
edouard@4061:               <inputVariables>
edouard@4061:                 <variable formalParameter="TRIG">
edouard@4061:                   <connectionPointIn>
edouard@4061:                     <relPosition x="0" y="32"/>
edouard@4066:                     <connection refLocalId="39" formalParameter="OUT">
edouard@4066:                       <position x="1112" y="488"/>
edouard@4066:                       <position x="1048" y="488"/>
edouard@4061:                     </connection>
edouard@4061:                   </connectionPointIn>
edouard@4061:                 </variable>
edouard@4061:               </inputVariables>
edouard@4061:               <inOutVariables/>
edouard@4061:               <outputVariables/>
edouard@4061:             </block>
edouard@4066:             <outVariable localId="54" executionOrderId="0" width="56" height="32" negated="false">
edouard@4066:               <position x="1096" y="528"/>
edouard@4066:               <connectionPointIn>
edouard@4066:                 <relPosition x="0" y="16"/>
edouard@4066:                 <connection refLocalId="34" formalParameter="OUT">
edouard@4066:                   <position x="1096" y="544"/>
edouard@4066:                   <position x="944" y="544"/>
edouard@4066:                 </connection>
edouard@4066:               </connectionPointIn>
edouard@4066:               <expression>ERROR</expression>
edouard@4066:             </outVariable>
44305363+kraskrom@4056:           </FBD>
44305363+kraskrom@4056:         </body>
44305363+kraskrom@4056:       </pou>
laurent@366:       <pou name="python_eval" pouType="functionBlock">
laurent@366:         <interface>
laurent@366:           <inputVars>
laurent@366:             <variable name="TRIG">
laurent@366:               <type>
laurent@366:                 <BOOL/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="CODE">
laurent@366:               <type>
laurent@366:                 <string/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:           </inputVars>
laurent@366:           <outputVars>
laurent@366:             <variable name="ACK">
laurent@366:               <type>
laurent@366:                 <BOOL/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="RESULT">
laurent@366:               <type>
laurent@366:                 <string/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:           </outputVars>
laurent@366:           <localVars>
laurent@366:             <variable name="STATE">
laurent@366:               <type>
laurent@366:                 <DWORD/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="BUFFER">
laurent@366:               <type>
laurent@366:                 <string/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="PREBUFFER">
laurent@366:               <type>
laurent@366:                 <string/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="TRIGM1">
laurent@366:               <type>
laurent@366:                 <BOOL/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="TRIGGED">
laurent@366:               <type>
laurent@366:                 <BOOL/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:           </localVars>
laurent@366:         </interface>
laurent@366:         <body>
laurent@366:           <ST>
Edouard@1399:             <xhtml:p><![CDATA[{extern void __PythonEvalFB(int, PYTHON_EVAL*);__PythonEvalFB(0, data__);}]]></xhtml:p>
laurent@366:           </ST>
laurent@366:         </body>
laurent@366:       </pou>
laurent@366:       <pou name="python_poll" pouType="functionBlock">
laurent@366:         <interface>
laurent@366:           <inputVars>
laurent@366:             <variable name="TRIG">
laurent@366:               <type>
laurent@366:                 <BOOL/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="CODE">
laurent@366:               <type>
laurent@366:                 <string/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:           </inputVars>
laurent@366:           <outputVars>
laurent@366:             <variable name="ACK">
laurent@366:               <type>
laurent@366:                 <BOOL/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="RESULT">
laurent@366:               <type>
laurent@366:                 <string/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:           </outputVars>
laurent@366:           <localVars>
laurent@366:             <variable name="STATE">
laurent@366:               <type>
laurent@366:                 <DWORD/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="BUFFER">
laurent@366:               <type>
laurent@366:                 <string/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="PREBUFFER">
laurent@366:               <type>
laurent@366:                 <string/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="TRIGM1">
laurent@366:               <type>
laurent@366:                 <BOOL/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="TRIGGED">
laurent@366:               <type>
laurent@366:                 <BOOL/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:           </localVars>
laurent@366:         </interface>
laurent@366:         <body>
laurent@366:           <ST>
Edouard@1399:             <xhtml:p><![CDATA[{extern void __PythonEvalFB(int, PYTHON_EVAL*);__PythonEvalFB(1,(PYTHON_EVAL*)(void*)data__);}]]></xhtml:p>
laurent@366:           </ST>
laurent@366:         </body>
laurent@366:       </pou>
Edouard@1399:       <pou name="python_gear" pouType="functionBlock">
laurent@366:         <interface>
laurent@366:           <inputVars>
laurent@366:             <variable name="N">
laurent@366:               <type>
Edouard@1399:                 <UINT/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="TRIG">
laurent@366:               <type>
laurent@366:                 <BOOL/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="CODE">
laurent@366:               <type>
laurent@366:                 <string/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:           </inputVars>
laurent@366:           <outputVars>
laurent@366:             <variable name="ACK">
laurent@366:               <type>
laurent@366:                 <BOOL/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="RESULT">
laurent@366:               <type>
laurent@366:                 <string/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:           </outputVars>
laurent@366:           <localVars>
laurent@366:             <variable name="py_eval">
laurent@366:               <type>
laurent@366:                 <derived name="python_eval"/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:             <variable name="COUNTER">
laurent@366:               <type>
Edouard@1399:                 <UINT/>
laurent@366:               </type>
laurent@366:             </variable>
laurent@366:           </localVars>
laurent@366:         </interface>
laurent@366:         <body>
laurent@366:           <FBD>
laurent@366:             <block localId="1" width="125" height="110" typeName="python_eval" instanceName="py_eval">
laurent@366:               <position x="525" y="580"/>
laurent@366:               <inputVariables>
laurent@366:                 <variable formalParameter="TRIG">
laurent@366:                   <connectionPointIn>
laurent@366:                     <relPosition x="0" y="40"/>
laurent@366:                     <connection refLocalId="7" formalParameter="OUT">
laurent@366:                       <position x="525" y="620"/>
laurent@366:                       <position x="495" y="620"/>
laurent@366:                       <position x="495" y="575"/>
laurent@366:                       <position x="465" y="575"/>
laurent@366:                     </connection>
laurent@366:                   </connectionPointIn>
laurent@366:                 </variable>
laurent@366:                 <variable formalParameter="CODE">
laurent@366:                   <connectionPointIn>
laurent@366:                     <relPosition x="0" y="85"/>
laurent@366:                     <connection refLocalId="4">
laurent@366:                       <position x="525" y="665"/>
laurent@366:                       <position x="370" y="665"/>
laurent@366:                     </connection>
laurent@366:                   </connectionPointIn>
laurent@366:                 </variable>
laurent@366:               </inputVariables>
laurent@366:               <inOutVariables/>
laurent@366:               <outputVariables>
laurent@366:                 <variable formalParameter="ACK">
laurent@366:                   <connectionPointOut>
laurent@366:                     <relPosition x="125" y="40"/>
laurent@366:                   </connectionPointOut>
laurent@366:                 </variable>
laurent@366:                 <variable formalParameter="RESULT">
laurent@366:                   <connectionPointOut>
laurent@366:                     <relPosition x="125" y="85"/>
laurent@366:                   </connectionPointOut>
laurent@366:                 </variable>
laurent@366:               </outputVariables>
laurent@366:             </block>
laurent@366:             <inVariable localId="2" height="35" width="25">
laurent@366:               <position x="435" y="270"/>
laurent@366:               <connectionPointOut>
laurent@366:                 <relPosition x="25" y="15"/>
laurent@366:               </connectionPointOut>
laurent@366:               <expression>N</expression>
laurent@366:             </inVariable>
laurent@366:             <inVariable localId="3" height="35" width="55">
laurent@366:               <position x="275" y="585"/>
laurent@366:               <connectionPointOut>
laurent@366:                 <relPosition x="55" y="15"/>
laurent@366:               </connectionPointOut>
laurent@366:               <expression>TRIG</expression>
laurent@366:             </inVariable>
laurent@366:             <inVariable localId="4" height="35" width="55">
laurent@366:               <position x="315" y="650"/>
laurent@366:               <connectionPointOut>
laurent@366:                 <relPosition x="55" y="15"/>
laurent@366:               </connectionPointOut>
laurent@366:               <expression>CODE</expression>
laurent@366:             </inVariable>
laurent@366:             <outVariable localId="5" height="35" width="45">
laurent@366:               <position x="740" y="605"/>
laurent@366:               <connectionPointIn>
laurent@366:                 <relPosition x="0" y="15"/>
laurent@366:                 <connection refLocalId="1" formalParameter="ACK">
laurent@366:                   <position x="740" y="620"/>
laurent@366:                   <position x="650" y="620"/>
laurent@366:                 </connection>
laurent@366:               </connectionPointIn>
laurent@366:               <expression>ACK</expression>
laurent@366:             </outVariable>
laurent@366:             <outVariable localId="6" height="35" width="75">
laurent@366:               <position x="740" y="650"/>
laurent@366:               <connectionPointIn>
laurent@366:                 <relPosition x="0" y="15"/>
laurent@366:                 <connection refLocalId="1" formalParameter="RESULT">
laurent@366:                   <position x="740" y="665"/>
laurent@366:                   <position x="650" y="665"/>
laurent@366:                 </connection>
laurent@366:               </connectionPointIn>
laurent@366:               <expression>RESULT</expression>
laurent@366:             </outVariable>
laurent@366:             <block localId="7" width="80" height="65" typeName="AND">
laurent@366:               <position x="385" y="545"/>
laurent@366:               <inputVariables>
laurent@366:                 <variable formalParameter="IN1">
laurent@366:                   <connectionPointIn>
laurent@366:                     <relPosition x="0" y="30"/>
laurent@366:                     <connection refLocalId="13" formalParameter="OUT">
laurent@366:                       <position x="385" y="575"/>
laurent@366:                       <position x="335" y="575"/>
laurent@366:                       <position x="335" y="455"/>
laurent@366:                       <position x="625" y="455"/>
laurent@366:                       <position x="625" y="285"/>
laurent@366:                       <position x="615" y="285"/>
laurent@366:                     </connection>
laurent@366:                   </connectionPointIn>
laurent@366:                 </variable>
laurent@366:                 <variable formalParameter="IN2">
laurent@366:                   <connectionPointIn>
laurent@366:                     <relPosition x="0" y="55"/>
laurent@366:                     <connection refLocalId="3">
laurent@366:                       <position x="385" y="600"/>
laurent@366:                       <position x="330" y="600"/>
laurent@366:                     </connection>
laurent@366:                   </connectionPointIn>
laurent@366:                 </variable>
laurent@366:               </inputVariables>
laurent@366:               <inOutVariables/>
laurent@366:               <outputVariables>
laurent@366:                 <variable formalParameter="OUT">
laurent@366:                   <connectionPointOut>
laurent@366:                     <relPosition x="80" y="30"/>
laurent@366:                   </connectionPointOut>
laurent@366:                 </variable>
laurent@366:               </outputVariables>
laurent@366:             </block>
laurent@366:             <inVariable localId="9" height="35" width="85">
laurent@366:               <position x="240" y="330"/>
laurent@366:               <connectionPointOut>
laurent@366:                 <relPosition x="85" y="15"/>
laurent@366:               </connectionPointOut>
laurent@366:               <expression>COUNTER</expression>
laurent@366:             </inVariable>
laurent@366:             <block localId="10" width="80" height="65" typeName="ADD">
laurent@366:               <position x="380" y="330"/>
laurent@366:               <inputVariables>
laurent@366:                 <variable formalParameter="IN1">
laurent@366:                   <connectionPointIn>
laurent@366:                     <relPosition x="0" y="30"/>
laurent@366:                     <connection refLocalId="9">
laurent@366:                       <position x="380" y="360"/>
laurent@366:                       <position x="352" y="360"/>
laurent@366:                       <position x="352" y="345"/>
laurent@366:                       <position x="325" y="345"/>
laurent@366:                     </connection>
laurent@366:                   </connectionPointIn>
laurent@366:                 </variable>
laurent@366:                 <variable formalParameter="IN2">
laurent@366:                   <connectionPointIn>
laurent@366:                     <relPosition x="0" y="55"/>
laurent@366:                     <connection refLocalId="11">
laurent@366:                       <position x="380" y="385"/>
laurent@366:                       <position x="325" y="385"/>
laurent@366:                     </connection>
laurent@366:                   </connectionPointIn>
laurent@366:                 </variable>
laurent@366:               </inputVariables>
laurent@366:               <inOutVariables/>
laurent@366:               <outputVariables>
laurent@366:                 <variable formalParameter="OUT">
laurent@366:                   <connectionPointOut>
laurent@366:                     <relPosition x="80" y="30"/>
laurent@366:                   </connectionPointOut>
laurent@366:                 </variable>
laurent@366:               </outputVariables>
laurent@366:             </block>
Edouard@1399:             <inVariable localId="11" height="35" width="85" executionOrderId="0" negated="false">
laurent@366:               <position x="240" y="370"/>
laurent@366:               <connectionPointOut>
Edouard@1399:                 <relPosition x="85" y="17"/>
Edouard@1399:               </connectionPointOut>
Edouard@1399:               <expression>1</expression>
laurent@366:             </inVariable>
laurent@366:             <block localId="13" width="80" height="65" typeName="EQ">
laurent@366:               <position x="535" y="255"/>
laurent@366:               <inputVariables>
laurent@366:                 <variable formalParameter="IN1">
laurent@366:                   <connectionPointIn>
laurent@366:                     <relPosition x="0" y="30"/>
laurent@366:                     <connection refLocalId="2">
laurent@366:                       <position x="535" y="285"/>
laurent@366:                       <position x="460" y="285"/>
laurent@366:                     </connection>
laurent@366:                   </connectionPointIn>
laurent@366:                 </variable>
laurent@366:                 <variable formalParameter="IN2">
laurent@366:                   <connectionPointIn>
laurent@366:                     <relPosition x="0" y="55"/>
laurent@366:                     <connection refLocalId="10" formalParameter="OUT">
laurent@366:                       <position x="535" y="310"/>
laurent@366:                       <position x="497" y="310"/>
laurent@366:                       <position x="497" y="360"/>
laurent@366:                       <position x="460" y="360"/>
laurent@366:                     </connection>
laurent@366:                   </connectionPointIn>
laurent@366:                 </variable>
laurent@366:               </inputVariables>
laurent@366:               <inOutVariables/>
laurent@366:               <outputVariables>
laurent@366:                 <variable formalParameter="OUT">
laurent@366:                   <connectionPointOut>
laurent@366:                     <relPosition x="80" y="30"/>
laurent@366:                   </connectionPointOut>
laurent@366:                 </variable>
laurent@366:               </outputVariables>
laurent@366:             </block>
laurent@366:             <block localId="15" width="80" height="135" typeName="SEL">
laurent@366:               <position x="785" y="245"/>
laurent@366:               <inputVariables>
laurent@366:                 <variable formalParameter="G">
laurent@366:                   <connectionPointIn>
laurent@366:                     <relPosition x="0" y="40"/>
laurent@366:                     <connection refLocalId="13" formalParameter="OUT">
laurent@366:                       <position x="785" y="285"/>
laurent@366:                       <position x="615" y="285"/>
laurent@366:                     </connection>
laurent@366:                   </connectionPointIn>
laurent@366:                 </variable>
laurent@366:                 <variable formalParameter="IN0">
laurent@366:                   <connectionPointIn>
laurent@366:                     <relPosition x="0" y="75"/>
laurent@366:                     <connection refLocalId="10" formalParameter="OUT">
laurent@366:                       <position x="785" y="320"/>
laurent@366:                       <position x="650" y="320"/>
laurent@366:                       <position x="650" y="360"/>
laurent@366:                       <position x="460" y="360"/>
laurent@366:                     </connection>
laurent@366:                   </connectionPointIn>
laurent@366:                 </variable>
laurent@366:                 <variable formalParameter="IN1">
laurent@366:                   <connectionPointIn>
laurent@366:                     <relPosition x="0" y="115"/>
laurent@366:                     <connection refLocalId="16">
laurent@366:                       <position x="785" y="360"/>
laurent@366:                       <position x="760" y="360"/>
laurent@366:                     </connection>
laurent@366:                   </connectionPointIn>
laurent@366:                 </variable>
laurent@366:               </inputVariables>
laurent@366:               <inOutVariables/>
laurent@366:               <outputVariables>
laurent@366:                 <variable formalParameter="OUT">
laurent@366:                   <connectionPointOut>
laurent@366:                     <relPosition x="80" y="40"/>
laurent@366:                   </connectionPointOut>
laurent@366:                 </variable>
laurent@366:               </outputVariables>
laurent@366:             </block>
Edouard@1399:             <inVariable localId="16" height="35" width="85" executionOrderId="0" negated="false">
laurent@366:               <position x="675" y="345"/>
laurent@366:               <connectionPointOut>
Edouard@1399:                 <relPosition x="85" y="17"/>
Edouard@1399:               </connectionPointOut>
Edouard@1399:               <expression>0</expression>
laurent@366:             </inVariable>
laurent@366:             <outVariable localId="17" height="35" width="85">
laurent@366:               <position x="905" y="270"/>
laurent@366:               <connectionPointIn>
laurent@366:                 <relPosition x="0" y="15"/>
laurent@366:                 <connection refLocalId="15" formalParameter="OUT">
laurent@366:                   <position x="905" y="285"/>
laurent@366:                   <position x="865" y="285"/>
laurent@366:                 </connection>
laurent@366:               </connectionPointIn>
laurent@366:               <expression>COUNTER</expression>
laurent@366:             </outVariable>
laurent@366:           </FBD>
laurent@366:         </body>
laurent@366:       </pou>
laurent@366:     </pous>
laurent@366:   </types>
laurent@366:   <instances>
Edouard@3707:     <configurations>
Edouard@3707:       <configuration name="configuration0">
Edouard@3707:         <globalVars>
Edouard@3707:           <variable name="pyext_csv_update">
Edouard@3707:             <type>
edouard@4061:               <INT/>
Edouard@3707:             </type>
Edouard@3707:             <initialValue>
edouard@4061:               <simpleValue value="0"/>
Edouard@3707:             </initialValue>
Edouard@3707:           </variable>
Edouard@3707:         </globalVars>
Edouard@3707:       </configuration>
Edouard@3707:     </configurations>
laurent@366:   </instances>
laurent@366: </project>