--- a/py_ext/pous.xml Thu Nov 28 14:46:50 2024 +0100
+++ b/py_ext/pous.xml Mon Dec 02 11:33:19 2024 +0100
@@ -1657,6 +1657,810 @@
</FBD>
</body>
</pou>
+ <pou name="csv_write_by_int" pouType="functionBlock">
+ <interface>
+ <externalVars>
+ <variable name="pyext_csv_update">
+ <type>
+ <BOOL/>
+ </type>
+ </variable>
+ </externalVars>
+ <outputVars>
+ <variable name="ACK">
+ <type>
+ <BOOL/>
+ </type>
+ </variable>
+ <variable name="RESULT">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ </outputVars>
+ <inputVars>
+ <variable name="FILE_NAME">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ <variable name="ROW">
+ <type>
+ <INT/>
+ </type>
+ </variable>
+ <variable name="COLUMN">
+ <type>
+ <INT/>
+ </type>
+ </variable>
+ <variable name="CONTENT">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ <variable name="SAVE">
+ <type>
+ <INT/>
+ </type>
+ </variable>
+ </inputVars>
+ <localVars>
+ <variable name="OLDCODE">
+ <type>
+ <string/>
+ </type>
+ </variable>
+ <variable name="py_eval0">
+ <type>
+ <derived name="python_eval"/>
+ </type>
+ </variable>
+ <variable name="R_TRIG1">
+ <type>
+ <derived name="R_TRIG"/>
+ </type>
+ </variable>
+ <variable name="R_TRIG2">
+ <type>
+ <derived name="R_TRIG"/>
+ </type>
+ </variable>
+ <variable name="SR0">
+ <type>
+ <derived name="SR"/>
+ </type>
+ </variable>
+ </localVars>
+ </interface>
+ <body>
+ <FBD>
+ <block localId="7" typeName="CONCAT" executionOrderId="0" height="192" width="64">
+ <position x="520" y="112"/>
+ <inputVariables>
+ <variable formalParameter="IN1">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="8">
+ <position x="520" y="144"/>
+ <position x="480" y="144"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN2">
+ <connectionPointIn>
+ <relPosition x="0" y="56"/>
+ <connection refLocalId="9">
+ <position x="520" y="168"/>
+ <position x="312" y="168"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN3">
+ <connectionPointIn>
+ <relPosition x="0" y="80"/>
+ <connection refLocalId="10">
+ <position x="520" y="192"/>
+ <position x="480" y="192"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN4">
+ <connectionPointIn>
+ <relPosition x="0" y="104"/>
+ <connection refLocalId="31" formalParameter="OUT">
+ <position x="520" y="216"/>
+ <position x="320" y="216"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN5">
+ <connectionPointIn>
+ <relPosition x="0" y="128"/>
+ <connection refLocalId="12">
+ <position x="520" y="240"/>
+ <position x="480" y="240"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN6">
+ <connectionPointIn>
+ <relPosition x="0" y="152"/>
+ <connection refLocalId="2" formalParameter="OUT">
+ <position x="520" y="264"/>
+ <position x="320" y="264"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN7">
+ <connectionPointIn>
+ <relPosition x="0" y="128"/>
+ <connection refLocalId="51">
+ <position x="520" y="240"/>
+ <position x="480" y="240"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN8">
+ <connectionPointIn>
+ <relPosition x="0" y="128"/>
+ <connection refLocalId="52">
+ <position x="520" y="240"/>
+ <position x="480" y="240"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN9">
+ <connectionPointIn>
+ <relPosition x="0" y="128"/>
+ <connection refLocalId="53">
+ <position x="520" y="240"/>
+ <position x="480" y="240"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN10">
+ <connectionPointIn>
+ <relPosition x="0" y="152"/>
+ <connection refLocalId="55" formalParameter="OUT">
+ <position x="520" y="264"/>
+ <position x="320" y="264"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN11">
+ <connectionPointIn>
+ <relPosition x="0" y="176"/>
+ <connection refLocalId="14">
+ <position x="520" y="288"/>
+ <position x="480" y="288"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="64" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <inVariable localId="8" executionOrderId="0" height="24" width="160" negated="false">
+ <position x="320" y="128"/>
+ <connectionPointOut>
+ <relPosition x="160" y="16"/>
+ </connectionPointOut>
+ <expression>'CSVWrInt("'</expression>
+ </inVariable>
+ <inVariable localId="9" executionOrderId="0" height="32" width="112" negated="false">
+ <position x="200" y="152"/>
+ <connectionPointOut>
+ <relPosition x="112" y="16"/>
+ </connectionPointOut>
+ <expression>FILE_NAME</expression>
+ </inVariable>
+ <inVariable localId="10" executionOrderId="0" height="24" width="112" negated="false">
+ <position x="368" y="184"/>
+ <connectionPointOut>
+ <relPosition x="112" y="8"/>
+ </connectionPointOut>
+ <expression>'",'</expression>
+ </inVariable>
+ <inVariable localId="11" executionOrderId="0" height="32" width="112" negated="false">
+ <position x="40" y="200"/>
+ <connectionPointOut>
+ <relPosition x="112" y="16"/>
+ </connectionPointOut>
+ <expression>ROW</expression>
+ </inVariable>
+ <inVariable localId="12" executionOrderId="0" height="24" width="112" negated="false">
+ <position x="368" y="224"/>
+ <connectionPointOut>
+ <relPosition x="112" y="16"/>
+ </connectionPointOut>
+ <expression>','</expression>
+ </inVariable>
+ <inVariable localId="13" executionOrderId="0" height="32" width="112" negated="false">
+ <position x="40" y="248"/>
+ <connectionPointOut>
+ <relPosition x="112" y="16"/>
+ </connectionPointOut>
+ <expression>COLUMN</expression>
+ </inVariable>
+ <inVariable localId="51" executionOrderId="0" height="24" width="112" negated="false">
+ <position x="368" y="224"/>
+ <connectionPointOut>
+ <relPosition x="112" y="16"/>
+ </connectionPointOut>
+ <expression>',"'</expression>
+ </inVariable>
+ <inVariable localId="52" executionOrderId="0" height="32" width="112" negated="false">
+ <position x="40" y="248"/>
+ <connectionPointOut>
+ <relPosition x="112" y="16"/>
+ </connectionPointOut>
+ <expression>CONTENT</expression>
+ </inVariable>
+ <inVariable localId="53" executionOrderId="0" height="24" width="112" negated="false">
+ <position x="368" y="224"/>
+ <connectionPointOut>
+ <relPosition x="112" y="16"/>
+ </connectionPointOut>
+ <expression>'",'</expression>
+ </inVariable>
+ <inVariable localId="54" executionOrderId="0" height="32" width="112" negated="false">
+ <position x="40" y="248"/>
+ <connectionPointOut>
+ <relPosition x="112" y="16"/>
+ </connectionPointOut>
+ <expression>SAVE</expression>
+ </inVariable>
+ <inVariable localId="14" executionOrderId="0" height="24" width="112" negated="false">
+ <position x="368" y="272"/>
+ <connectionPointOut>
+ <relPosition x="112" y="16"/>
+ </connectionPointOut>
+ <expression>')'</expression>
+ </inVariable>
+ <continuation name="Code" localId="4" height="24" width="128">
+ <position x="504" y="496"/>
+ <connectionPointOut>
+ <relPosition x="128" y="16"/>
+ </connectionPointOut>
+ </continuation>
+ <block localId="16" typeName="NE" executionOrderId="0" height="64" width="64">
+ <position x="208" y="456"/>
+ <inputVariables>
+ <variable formalParameter="IN1">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="22">
+ <position x="208" y="488"/>
+ <position x="188" y="488"/>
+ <position x="188" y="480"/>
+ <position x="168" y="480"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN2">
+ <connectionPointIn>
+ <relPosition x="0" y="56"/>
+ <connection refLocalId="21">
+ <position x="208" y="512"/>
+ <position x="168" y="512"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="64" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <outVariable localId="17" executionOrderId="0" height="32" width="66" negated="false">
+ <position x="784" y="440"/>
+ <connectionPointIn>
+ <relPosition x="0" y="16"/>
+ <connection refLocalId="18" formalParameter="OUT">
+ <position x="784" y="456"/>
+ <position x="744" y="456"/>
+ </connection>
+ </connectionPointIn>
+ <expression>OLDCODE</expression>
+ </outVariable>
+ <block localId="18" typeName="SEL" executionOrderId="0" height="96" width="64">
+ <position x="680" y="424"/>
+ <inputVariables>
+ <variable formalParameter="G">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="25">
+ <position x="680" y="456"/>
+ <position x="652" y="456"/>
+ <position x="652" y="448"/>
+ <position x="624" y="448"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN0">
+ <connectionPointIn>
+ <relPosition x="0" y="56"/>
+ <connection refLocalId="20">
+ <position x="680" y="480"/>
+ <position x="632" y="480"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN1">
+ <connectionPointIn>
+ <relPosition x="0" y="80"/>
+ <connection refLocalId="4">
+ <position x="680" y="504"/>
+ <position x="656" y="504"/>
+ <position x="656" y="512"/>
+ <position x="632" y="512"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="64" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <inVariable localId="20" executionOrderId="0" height="32" width="72" negated="false">
+ <position x="560" y="464"/>
+ <connectionPointOut>
+ <relPosition x="72" y="16"/>
+ </connectionPointOut>
+ <expression>OLDCODE</expression>
+ </inVariable>
+ <inVariable localId="21" executionOrderId="0" height="32" width="72" negated="false">
+ <position x="96" y="496"/>
+ <connectionPointOut>
+ <relPosition x="72" y="16"/>
+ </connectionPointOut>
+ <expression>OLDCODE</expression>
+ </inVariable>
+ <continuation name="Code" localId="22" height="24" width="128">
+ <position x="40" y="472"/>
+ <connectionPointOut>
+ <relPosition x="128" y="8"/>
+ </connectionPointOut>
+ </continuation>
+ <connector name="CodeChange" localId="23" height="24" width="120">
+ <position x="328" y="480"/>
+ <connectionPointIn>
+ <relPosition x="0" y="16"/>
+ <connection refLocalId="16" formalParameter="OUT">
+ <position x="328" y="496"/>
+ <position x="300" y="496"/>
+ <position x="300" y="488"/>
+ <position x="272" y="488"/>
+ </connection>
+ </connectionPointIn>
+ </connector>
+ <continuation name="CodeChange" localId="25" height="24" width="120">
+ <position x="504" y="440"/>
+ <connectionPointOut>
+ <relPosition x="120" y="8"/>
+ </connectionPointOut>
+ </continuation>
+ <comment localId="27" height="48" width="312">
+ <position x="40" y="376"/>
+ <content>
+ <xhtml:p><![CDATA[Detect changes in generated code line]]></xhtml:p>
+ </content>
+ </comment>
+ <comment localId="28" height="48" width="520">
+ <position x="48" y="560"/>
+ <content>
+ <xhtml:p><![CDATA[Execute python code on change or globally when CSV is updated]]></xhtml:p>
+ </content>
+ </comment>
+ <comment localId="29" height="40" width="232">
+ <position x="64" y="32"/>
+ <content>
+ <xhtml:p><![CDATA[Generate python code line]]></xhtml:p>
+ </content>
+ </comment>
+ <connector name="Code" localId="30" height="24" width="128">
+ <position x="632" y="128"/>
+ <connectionPointIn>
+ <relPosition x="0" y="16"/>
+ <connection refLocalId="7" formalParameter="OUT">
+ <position x="632" y="144"/>
+ <position x="584" y="144"/>
+ </connection>
+ </connectionPointIn>
+ </connector>
+ <block localId="31" typeName="INT_TO_STRING" executionOrderId="0" height="48" width="120">
+ <position x="200" y="184"/>
+ <inputVariables>
+ <variable formalParameter="IN">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="11">
+ <position x="200" y="216"/>
+ <position x="152" y="216"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="120" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <block localId="2" typeName="INT_TO_STRING" executionOrderId="0" height="48" width="120">
+ <position x="200" y="232"/>
+ <inputVariables>
+ <variable formalParameter="IN">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="13">
+ <position x="200" y="264"/>
+ <position x="152" y="264"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="120" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <block localId="55" typeName="INT_TO_STRING" executionOrderId="0" height="48" width="120">
+ <position x="200" y="232"/>
+ <inputVariables>
+ <variable formalParameter="IN">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="54">
+ <position x="200" y="264"/>
+ <position x="152" y="264"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="120" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <block localId="40" width="104" height="80" typeName="python_eval" instanceName="py_eval0" executionOrderId="0">
+ <position x="552" y="640"/>
+ <inputVariables>
+ <variable formalParameter="TRIG">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="15" formalParameter="OUT">
+ <position x="552" y="672"/>
+ <position x="360" y="672"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="CODE">
+ <connectionPointIn>
+ <relPosition x="0" y="64"/>
+ <connection refLocalId="41">
+ <position x="552" y="704"/>
+ <position x="528" y="704"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="ACK">
+ <connectionPointOut>
+ <relPosition x="104" y="32"/>
+ </connectionPointOut>
+ </variable>
+ <variable formalParameter="RESULT">
+ <connectionPointOut>
+ <relPosition x="104" y="64"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <continuation name="Code" localId="41" height="24" width="128">
+ <position x="400" y="688"/>
+ <connectionPointOut>
+ <relPosition x="128" y="16"/>
+ </connectionPointOut>
+ </continuation>
+ <inVariable localId="42" height="24" width="152" executionOrderId="0" negated="false">
+ <position x="32" y="656"/>
+ <connectionPointOut>
+ <relPosition x="152" y="16"/>
+ </connectionPointOut>
+ <expression>pyext_csv_update</expression>
+ </inVariable>
+ <outVariable localId="43" height="24" width="40" executionOrderId="0" negated="false">
+ <position x="1216" y="672"/>
+ <connectionPointIn>
+ <relPosition x="0" y="16"/>
+ <connection refLocalId="38" formalParameter="Q1">
+ <position x="1216" y="688"/>
+ <position x="1192" y="688"/>
+ <position x="1192" y="680"/>
+ <position x="1168" y="680"/>
+ </connection>
+ </connectionPointIn>
+ <expression>ACK</expression>
+ </outVariable>
+ <outVariable localId="44" height="24" width="64" executionOrderId="0" negated="false">
+ <position x="688" y="744"/>
+ <connectionPointIn>
+ <relPosition x="0" y="8"/>
+ <connection refLocalId="40" formalParameter="RESULT">
+ <position x="688" y="752"/>
+ <position x="672" y="752"/>
+ <position x="672" y="704"/>
+ <position x="656" y="704"/>
+ </connection>
+ </connectionPointIn>
+ <expression>RESULT</expression>
+ </outVariable>
+ <block localId="15" typeName="OR" executionOrderId="0" height="64" width="64">
+ <position x="296" y="640"/>
+ <inputVariables>
+ <variable formalParameter="IN1">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="46" formalParameter="Q">
+ <position x="296" y="672"/>
+ <position x="272" y="672"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN2">
+ <connectionPointIn>
+ <relPosition x="0" y="56"/>
+ <connection refLocalId="45">
+ <position x="296" y="696"/>
+ <position x="240" y="696"/>
+ <position x="240" y="704"/>
+ <position x="184" y="704"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="64" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <continuation name="CodeChange" localId="45" height="24" width="120">
+ <position x="64" y="688"/>
+ <connectionPointOut>
+ <relPosition x="120" y="16"/>
+ </connectionPointOut>
+ </continuation>
+ <block localId="46" typeName="R_TRIG" instanceName="R_TRIG1" executionOrderId="0" height="48" width="64">
+ <position x="208" y="640"/>
+ <inputVariables>
+ <variable formalParameter="CLK">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="42">
+ <position x="208" y="672"/>
+ <position x="184" y="672"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="Q">
+ <connectionPointOut>
+ <relPosition x="64" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <block localId="33" typeName="LEFT" executionOrderId="0" height="64" width="56">
+ <position x="736" y="672"/>
+ <inputVariables>
+ <variable formalParameter="IN">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="40" formalParameter="RESULT">
+ <position x="736" y="704"/>
+ <position x="656" y="704"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="L">
+ <connectionPointIn>
+ <relPosition x="0" y="56"/>
+ <connection refLocalId="35">
+ <position x="736" y="728"/>
+ <position x="724" y="728"/>
+ <position x="724" y="720"/>
+ <position x="712" y="720"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="56" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <block localId="34" typeName="NE" executionOrderId="0" height="64" width="64">
+ <position x="880" y="672"/>
+ <inputVariables>
+ <variable formalParameter="IN1">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="33" formalParameter="OUT">
+ <position x="880" y="704"/>
+ <position x="792" y="704"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN2">
+ <connectionPointIn>
+ <relPosition x="0" y="56"/>
+ <connection refLocalId="36">
+ <position x="880" y="728"/>
+ <position x="868" y="728"/>
+ <position x="868" y="720"/>
+ <position x="856" y="720"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="64" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <inVariable localId="35" executionOrderId="0" height="24" width="24" negated="false">
+ <position x="688" y="712"/>
+ <connectionPointOut>
+ <relPosition x="24" y="8"/>
+ </connectionPointOut>
+ <expression>1</expression>
+ </inVariable>
+ <inVariable localId="36" executionOrderId="0" height="24" width="40" negated="false">
+ <position x="816" y="712"/>
+ <connectionPointOut>
+ <relPosition x="40" y="8"/>
+ </connectionPointOut>
+ <expression>'#'</expression>
+ </inVariable>
+ <block localId="37" typeName="R_TRIG" instanceName="R_TRIG2" executionOrderId="0" height="48" width="64">
+ <position x="880" y="616"/>
+ <inputVariables>
+ <variable formalParameter="CLK">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="40" formalParameter="ACK">
+ <position x="880" y="648"/>
+ <position x="688" y="648"/>
+ <position x="688" y="672"/>
+ <position x="656" y="672"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="Q">
+ <connectionPointOut>
+ <relPosition x="64" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <block localId="38" typeName="SR" instanceName="SR0" executionOrderId="0" height="64" width="48">
+ <position x="1120" y="648"/>
+ <inputVariables>
+ <variable formalParameter="S1">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="39" formalParameter="OUT">
+ <position x="1120" y="680"/>
+ <position x="1056" y="680"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="R" edge="rising">
+ <connectionPointIn>
+ <relPosition x="0" y="56"/>
+ <connection refLocalId="15" formalParameter="OUT">
+ <position x="1120" y="704"/>
+ <position x="1088" y="704"/>
+ <position x="1088" y="776"/>
+ <position x="376" y="776"/>
+ <position x="376" y="672"/>
+ <position x="360" y="672"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="Q1">
+ <connectionPointOut>
+ <relPosition x="48" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <block localId="39" typeName="AND" executionOrderId="0" height="64" width="64">
+ <position x="992" y="648"/>
+ <inputVariables>
+ <variable formalParameter="IN1">
+ <connectionPointIn>
+ <relPosition x="0" y="32"/>
+ <connection refLocalId="37" formalParameter="Q">
+ <position x="992" y="680"/>
+ <position x="976" y="680"/>
+ <position x="976" y="648"/>
+ <position x="944" y="648"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="IN2">
+ <connectionPointIn>
+ <relPosition x="0" y="56"/>
+ <connection refLocalId="34" formalParameter="OUT">
+ <position x="992" y="704"/>
+ <position x="944" y="704"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="OUT">
+ <connectionPointOut>
+ <relPosition x="64" y="32"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ </FBD>
+ </body>
+ </pou>
<pou name="python_eval" pouType="functionBlock">
<interface>
<inputVars>