beremiz

WAMP: Support Client Certificate authentication (WAMPS-CRT://...) for IDE

URI scheme according to selected authentication:
WAMP:// unencrypted http, use generated PSK for CRA authentication
WAMP-ANNON:// unencrypted http, no authentication
WAMPS:// https with verified host name, use generated PSK for CRA authentication
WAMPS-ANNON:// https with verified host name, no authentication
WAMPS-INSECURE:// https with no verification, no authentication
WAMPS-NOVERIFY:// https with no verification, use generated PSK for CRA authentication
WAMPS-CRT:// https with verified host name, client certificate authentication

Tests updated accordingly.
<?xml version='1.0' encoding='utf-8'?>
<project xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:ns1="http://www.plcopen.org/xml/tc6_0201">
<fileHeader companyName="Unknown" productName="Unnamed" productVersion="1" creationDateTime="2025-02-04T11:16:08"/>
<contentHeader name="Unnamed" modificationDateTime="2025-02-05T14:31:39">
<coordinateInfo>
<fbd>
<scaling x="8" y="8"/>
</fbd>
<ld>
<scaling x="8" y="8"/>
</ld>
<sfc>
<scaling x="8" y="8"/>
</sfc>
</coordinateInfo>
</contentHeader>
<types>
<dataTypes/>
<pous>
<pou name="move_A" pouType="functionBlock">
<interface>
<inOutVars>
<variable name="Product_Name">
<type>
<string/>
</type>
</variable>
<variable name="Product_Image">
<type>
<INT/>
</type>
</variable>
<variable name="Step_1_Bake_Time">
<type>
<DINT/>
</type>
</variable>
<variable name="Step_1_Bake_Temp">
<type>
<DINT/>
</type>
</variable>
<variable name="Step_2_Bake_Time">
<type>
<DINT/>
</type>
</variable>
<variable name="Step_2_Bake_Temp">
<type>
<DINT/>
</type>
</variable>
</inOutVars>
</interface>
<body>
<ST>
<xhtml:p><![CDATA[(* Nothing to do here *)
RETURN;
]]></xhtml:p>
</ST>
</body>
<documentation>
<xhtml:p><![CDATA[Copy type A parameters from input to output]]></xhtml:p>
</documentation>
</pou>
<pou name="machine_A" pouType="functionBlock">
<interface>
<inputVars>
<variable name="Step_1_Bake_Time">
<type>
<DINT/>
</type>
</variable>
<variable name="Step_1_Bake_Temp">
<type>
<DINT/>
</type>
</variable>
<variable name="Step_2_Bake_Time">
<type>
<DINT/>
</type>
</variable>
<variable name="Step_2_Bake_Temp">
<type>
<DINT/>
</type>
</variable>
</inputVars>
<localVars>
<variable name="local_dint">
<type>
<DINT/>
</type>
</variable>
</localVars>
</interface>
<body>
<FBD>
<inVariable localId="2" executionOrderId="0" width="144" height="32" negated="false">
<position x="232" y="168"/>
<connectionPointOut>
<relPosition x="144" y="16"/>
</connectionPointOut>
<expression>Step_2_Bake_Temp</expression>
</inVariable>
<outVariable localId="1" executionOrderId="0" width="96" height="32" negated="false">
<position x="424" y="168"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="2">
<position x="424" y="184"/>
<position x="376" y="184"/>
</connection>
</connectionPointIn>
<expression>local_dint</expression>
</outVariable>
<comment localId="3" height="100" width="332">
<position x="200" y="48"/>
<content>
<xhtml:p><![CDATA[TODO]]></xhtml:p>
</content>
</comment>
</FBD>
</body>
<documentation>
<xhtml:p><![CDATA[]]></xhtml:p>
</documentation>
</pou>
<pou name="write_csv_A" pouType="functionBlock">
<interface>
<inputVars>
<variable name="CSV_NAME">
<type>
<string/>
</type>
<documentation>
<xhtml:p><![CDATA[ CSV file name]]></xhtml:p>
</documentation>
</variable>
<variable name="SAVE">
<type>
<BOOL/>
</type>
<documentation>
<xhtml:p><![CDATA[Triggers CSV file read on rising edge]]></xhtml:p>
</documentation>
</variable>
</inputVars>
<outputVars>
<variable name="ERROR">
<type>
<BOOL/>
</type>
<documentation>
<xhtml:p><![CDATA[Write operation failed]]></xhtml:p>
</documentation>
</variable>
<variable name="ACK">
<type>
<BOOL/>
</type>
<documentation>
<xhtml:p><![CDATA[Output is valid]]></xhtml:p>
</documentation>
</variable>
</outputVars>
<inputVars>
<variable name="Product_Name">
<type>
<string/>
</type>
</variable>
<variable name="Product_Image">
<type>
<INT/>
</type>
</variable>
<variable name="Step_1_Bake_Time">
<type>
<DINT/>
</type>
</variable>
<variable name="Step_1_Bake_Temp">
<type>
<DINT/>
</type>
</variable>
<variable name="Step_2_Bake_Time">
<type>
<DINT/>
</type>
</variable>
<variable name="Step_2_Bake_Temp">
<type>
<DINT/>
</type>
</variable>
</inputVars>
<localVars>
<variable name="csv_write_by_string0">
<type>
<derived name="csv_write_by_string"/>
</type>
</variable>
<variable name="csv_write_by_string1">
<type>
<derived name="csv_write_by_string"/>
</type>
</variable>
<variable name="csv_write_by_string2">
<type>
<derived name="csv_write_by_string"/>
</type>
</variable>
<variable name="csv_write_by_string3">
<type>
<derived name="csv_write_by_string"/>
</type>
</variable>
<variable name="csv_write_by_string4">
<type>
<derived name="csv_write_by_string"/>
</type>
</variable>
<variable name="csv_write_by_string5">
<type>
<derived name="csv_write_by_string"/>
</type>
</variable>
</localVars>
</interface>
<body>
<FBD>
<block localId="2" typeName="csv_write_by_string" instanceName="csv_write_by_string0" executionOrderId="0" width="165" height="176">
<position x="632" y="168"/>
<inputVariables>
<variable formalParameter="FILE_NAME">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="3">
<position x="632" y="200"/>
<position x="592" y="200"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="ROW">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="4">
<position x="632" y="232"/>
<position x="592" y="232"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="COLUMN">
<connectionPointIn>
<relPosition x="0" y="96"/>
<connection refLocalId="1">
<position x="632" y="264"/>
<position x="592" y="264"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="CONTENT">
<connectionPointIn>
<relPosition x="0" y="128"/>
<connection refLocalId="5">
<position x="632" y="296"/>
<position x="240" y="296"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="SAVE">
<connectionPointIn>
<relPosition x="0" y="160"/>
<connection refLocalId="56">
<position x="632" y="328"/>
<position x="592" y="328"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ACK">
<connectionPointOut>
<relPosition x="165" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="ERROR">
<connectionPointOut>
<relPosition x="165" y="64"/>
</connectionPointOut>
</variable>
<variable formalParameter="RESULT">
<connectionPointOut>
<relPosition x="165" y="96"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="3" executionOrderId="0" width="88" height="32" negated="false">
<position x="504" y="184"/>
<connectionPointOut>
<relPosition x="88" y="16"/>
</connectionPointOut>
<expression>CSV_NAME</expression>
</inVariable>
<inVariable localId="4" executionOrderId="0" width="128" height="32" negated="false">
<position x="464" y="216"/>
<connectionPointOut>
<relPosition x="128" y="16"/>
</connectionPointOut>
<expression>'Product_Name'</expression>
</inVariable>
<inVariable localId="1" executionOrderId="0" width="152" height="32" negated="false">
<position x="440" y="248"/>
<connectionPointOut>
<relPosition x="152" y="16"/>
</connectionPointOut>
<expression>'Parameter_Value'</expression>
</inVariable>
<inVariable localId="7" executionOrderId="0" width="88" height="32" negated="false">
<position x="504" y="424"/>
<connectionPointOut>
<relPosition x="88" y="16"/>
</connectionPointOut>
<expression>CSV_NAME</expression>
</inVariable>
<inVariable localId="8" executionOrderId="0" width="136" height="32" negated="false">
<position x="456" y="456"/>
<connectionPointOut>
<relPosition x="136" y="16"/>
</connectionPointOut>
<expression>'Product_Image'</expression>
</inVariable>
<inVariable localId="9" executionOrderId="0" width="152" height="32" negated="false">
<position x="440" y="488"/>
<connectionPointOut>
<relPosition x="152" y="16"/>
</connectionPointOut>
<expression>'Parameter_Value'</expression>
</inVariable>
<inVariable localId="13" executionOrderId="0" width="88" height="32" negated="false">
<position x="504" y="664"/>
<connectionPointOut>
<relPosition x="88" y="16"/>
</connectionPointOut>
<expression>CSV_NAME</expression>
</inVariable>
<inVariable localId="14" executionOrderId="0" width="160" height="32" negated="false">
<position x="432" y="696"/>
<connectionPointOut>
<relPosition x="160" y="16"/>
</connectionPointOut>
<expression>'Step_1_Bake_Time'</expression>
</inVariable>
<inVariable localId="15" executionOrderId="0" width="152" height="32" negated="false">
<position x="440" y="728"/>
<connectionPointOut>
<relPosition x="152" y="16"/>
</connectionPointOut>
<expression>'Parameter_Value'</expression>
</inVariable>
<inVariable localId="19" executionOrderId="0" width="88" height="32" negated="false">
<position x="504" y="912"/>
<connectionPointOut>
<relPosition x="88" y="16"/>
</connectionPointOut>
<expression>CSV_NAME</expression>
</inVariable>
<inVariable localId="20" executionOrderId="0" width="160" height="32" negated="false">
<position x="432" y="944"/>
<connectionPointOut>
<relPosition x="160" y="16"/>
</connectionPointOut>
<expression>'Step_1_Bake_Temp'</expression>
</inVariable>
<inVariable localId="21" executionOrderId="0" width="152" height="32" negated="false">
<position x="440" y="976"/>
<connectionPointOut>
<relPosition x="152" y="16"/>
</connectionPointOut>
<expression>'Parameter_Value'</expression>
</inVariable>
<inVariable localId="25" executionOrderId="0" width="88" height="32" negated="false">
<position x="504" y="1160"/>
<connectionPointOut>
<relPosition x="88" y="16"/>
</connectionPointOut>
<expression>CSV_NAME</expression>
</inVariable>
<inVariable localId="26" executionOrderId="0" width="160" height="32" negated="false">
<position x="432" y="1192"/>
<connectionPointOut>
<relPosition x="160" y="16"/>
</connectionPointOut>
<expression>'Step_2_Bake_Time'</expression>
</inVariable>
<inVariable localId="27" executionOrderId="0" width="152" height="32" negated="false">
<position x="440" y="1224"/>
<connectionPointOut>
<relPosition x="152" y="16"/>
</connectionPointOut>
<expression>'Parameter_Value'</expression>
</inVariable>
<inVariable localId="31" executionOrderId="0" width="88" height="32" negated="false">
<position x="504" y="1408"/>
<connectionPointOut>
<relPosition x="88" y="16"/>
</connectionPointOut>
<expression>CSV_NAME</expression>
</inVariable>
<inVariable localId="32" executionOrderId="0" width="160" height="32" negated="false">
<position x="432" y="1440"/>
<connectionPointOut>
<relPosition x="160" y="16"/>
</connectionPointOut>
<expression>'Step_2_Bake_Temp'</expression>
</inVariable>
<inVariable localId="33" executionOrderId="0" width="152" height="32" negated="false">
<position x="440" y="1472"/>
<connectionPointOut>
<relPosition x="152" y="16"/>
</connectionPointOut>
<expression>'Parameter_Value'</expression>
</inVariable>
<outVariable localId="42" executionOrderId="0" width="72" height="32" negated="false">
<position x="1424" y="384"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="43" formalParameter="OUT">
<position x="1424" y="400"/>
<position x="1392" y="400"/>
</connection>
</connectionPointIn>
<expression>ERROR</expression>
</outVariable>
<block localId="43" typeName="OR" executionOrderId="0" width="72" height="168">
<position x="1320" y="368"/>
<inputVariables>
<variable formalParameter="IN1">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="45">
<position x="1320" y="400"/>
<position x="1290" y="400"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN2">
<connectionPointIn>
<relPosition x="0" y="56"/>
<connection refLocalId="47">
<position x="1320" y="424"/>
<position x="1290" y="424"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN3">
<connectionPointIn>
<relPosition x="0" y="80"/>
<connection refLocalId="49">
<position x="1320" y="448"/>
<position x="1290" y="448"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN4">
<connectionPointIn>
<relPosition x="0" y="104"/>
<connection refLocalId="51">
<position x="1320" y="472"/>
<position x="1290" y="472"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN5">
<connectionPointIn>
<relPosition x="0" y="128"/>
<connection refLocalId="53">
<position x="1320" y="496"/>
<position x="1290" y="496"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN6">
<connectionPointIn>
<relPosition x="0" y="152"/>
<connection refLocalId="55">
<position x="1320" y="520"/>
<position x="1290" y="520"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="72" y="32"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<connector name="Connection0" localId="44" width="125" height="27">
<position x="875" y="216"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="2" formalParameter="ERROR">
<position x="875" y="232"/>
<position x="797" y="232"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection0" localId="45" width="125" height="27">
<position x="1165" y="384"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection1" localId="46" width="125" height="27">
<position x="875" y="456"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="11" formalParameter="ERROR">
<position x="875" y="472"/>
<position x="797" y="472"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection1" localId="47" width="125" height="27">
<position x="1165" y="408"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection2" localId="48" width="125" height="27">
<position x="875" y="696"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="12" formalParameter="ERROR">
<position x="875" y="712"/>
<position x="797" y="712"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection2" localId="49" width="125" height="27">
<position x="1165" y="432"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection3" localId="50" width="125" height="27">
<position x="875" y="944"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="18" formalParameter="ERROR">
<position x="875" y="960"/>
<position x="797" y="960"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection3" localId="51" width="125" height="27">
<position x="1165" y="456"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection4" localId="52" width="125" height="27">
<position x="875" y="1192"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="24" formalParameter="ERROR">
<position x="875" y="1208"/>
<position x="797" y="1208"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection4" localId="53" width="125" height="27">
<position x="1165" y="480"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection5" localId="54" width="125" height="27">
<position x="875" y="1440"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="30" formalParameter="ERROR">
<position x="875" y="1456"/>
<position x="797" y="1456"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection5" localId="55" width="125" height="27">
<position x="1165" y="504"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<inVariable localId="5" executionOrderId="0" width="112" height="32" negated="false">
<position x="128" y="280"/>
<connectionPointOut>
<relPosition x="112" y="16"/>
</connectionPointOut>
<expression>Product_Name</expression>
</inVariable>
<inVariable localId="56" executionOrderId="0" width="48" height="32" negated="false">
<position x="544" y="312"/>
<connectionPointOut>
<relPosition x="48" y="16"/>
</connectionPointOut>
<expression>SAVE</expression>
</inVariable>
<inVariable localId="34" executionOrderId="0" width="152" height="48" negated="false">
<position x="120" y="1496"/>
<connectionPointOut>
<relPosition x="152" y="24"/>
</connectionPointOut>
<expression>Step_2_Bake_Temp</expression>
</inVariable>
<inVariable localId="28" executionOrderId="0" width="152" height="32" negated="false">
<position x="120" y="1256"/>
<connectionPointOut>
<relPosition x="152" y="16"/>
</connectionPointOut>
<expression>Step_2_Bake_Time</expression>
</inVariable>
<inVariable localId="22" executionOrderId="0" width="144" height="38" negated="false">
<position x="128" y="1008"/>
<connectionPointOut>
<relPosition x="144" y="16"/>
</connectionPointOut>
<expression>Step_1_Bake_Temp</expression>
</inVariable>
<inVariable localId="16" executionOrderId="0" width="144" height="40" negated="false">
<position x="128" y="760"/>
<connectionPointOut>
<relPosition x="144" y="16"/>
</connectionPointOut>
<expression>Step_1_Bake_Time</expression>
</inVariable>
<inVariable localId="10" executionOrderId="0" width="120" height="32" negated="false">
<position x="128" y="520"/>
<connectionPointOut>
<relPosition x="120" y="16"/>
</connectionPointOut>
<expression>Product_Image</expression>
</inVariable>
<inVariable localId="6" executionOrderId="0" width="48" height="32" negated="false">
<position x="544" y="552"/>
<connectionPointOut>
<relPosition x="48" y="16"/>
</connectionPointOut>
<expression>SAVE</expression>
</inVariable>
<block localId="11" typeName="csv_write_by_string" instanceName="csv_write_by_string1" executionOrderId="0" width="165" height="176">
<position x="632" y="408"/>
<inputVariables>
<variable formalParameter="FILE_NAME">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="7">
<position x="632" y="440"/>
<position x="592" y="440"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="ROW">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="8">
<position x="632" y="472"/>
<position x="592" y="472"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="COLUMN">
<connectionPointIn>
<relPosition x="0" y="96"/>
<connection refLocalId="9">
<position x="632" y="504"/>
<position x="592" y="504"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="CONTENT">
<connectionPointIn>
<relPosition x="0" y="128"/>
<connection refLocalId="57" formalParameter="OUT">
<position x="632" y="536"/>
<position x="421" y="536"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="SAVE">
<connectionPointIn>
<relPosition x="0" y="160"/>
<connection refLocalId="6">
<position x="632" y="568"/>
<position x="592" y="568"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ACK">
<connectionPointOut>
<relPosition x="165" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="ERROR">
<connectionPointOut>
<relPosition x="165" y="64"/>
</connectionPointOut>
</variable>
<variable formalParameter="RESULT">
<connectionPointOut>
<relPosition x="165" y="96"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<block localId="12" typeName="csv_write_by_string" instanceName="csv_write_by_string2" executionOrderId="0" width="165" height="176">
<position x="632" y="648"/>
<inputVariables>
<variable formalParameter="FILE_NAME">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="13">
<position x="632" y="680"/>
<position x="592" y="680"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="ROW">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="14">
<position x="632" y="712"/>
<position x="592" y="712"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="COLUMN">
<connectionPointIn>
<relPosition x="0" y="96"/>
<connection refLocalId="15">
<position x="632" y="744"/>
<position x="592" y="744"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="CONTENT">
<connectionPointIn>
<relPosition x="0" y="128"/>
<connection refLocalId="58" formalParameter="OUT">
<position x="632" y="776"/>
<position x="432" y="776"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="SAVE">
<connectionPointIn>
<relPosition x="0" y="160"/>
<connection refLocalId="17">
<position x="632" y="808"/>
<position x="592" y="808"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ACK">
<connectionPointOut>
<relPosition x="165" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="ERROR">
<connectionPointOut>
<relPosition x="165" y="64"/>
</connectionPointOut>
</variable>
<variable formalParameter="RESULT">
<connectionPointOut>
<relPosition x="165" y="96"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="17" executionOrderId="0" width="48" height="32" negated="false">
<position x="544" y="792"/>
<connectionPointOut>
<relPosition x="48" y="16"/>
</connectionPointOut>
<expression>SAVE</expression>
</inVariable>
<block localId="18" typeName="csv_write_by_string" instanceName="csv_write_by_string3" executionOrderId="0" width="165" height="176">
<position x="632" y="896"/>
<inputVariables>
<variable formalParameter="FILE_NAME">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="19">
<position x="632" y="928"/>
<position x="592" y="928"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="ROW">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="20">
<position x="632" y="960"/>
<position x="592" y="960"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="COLUMN">
<connectionPointIn>
<relPosition x="0" y="96"/>
<connection refLocalId="21">
<position x="632" y="992"/>
<position x="592" y="992"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="CONTENT">
<connectionPointIn>
<relPosition x="0" y="128"/>
<connection refLocalId="36" formalParameter="OUT">
<position x="632" y="1024"/>
<position x="432" y="1024"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="SAVE">
<connectionPointIn>
<relPosition x="0" y="160"/>
<connection refLocalId="23">
<position x="632" y="1056"/>
<position x="592" y="1056"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ACK">
<connectionPointOut>
<relPosition x="165" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="ERROR">
<connectionPointOut>
<relPosition x="165" y="64"/>
</connectionPointOut>
</variable>
<variable formalParameter="RESULT">
<connectionPointOut>
<relPosition x="165" y="96"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="23" executionOrderId="0" width="48" height="32" negated="false">
<position x="544" y="1040"/>
<connectionPointOut>
<relPosition x="48" y="16"/>
</connectionPointOut>
<expression>SAVE</expression>
</inVariable>
<block localId="24" typeName="csv_write_by_string" instanceName="csv_write_by_string4" executionOrderId="0" width="165" height="176">
<position x="632" y="1144"/>
<inputVariables>
<variable formalParameter="FILE_NAME">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="25">
<position x="632" y="1176"/>
<position x="592" y="1176"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="ROW">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="26">
<position x="632" y="1208"/>
<position x="592" y="1208"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="COLUMN">
<connectionPointIn>
<relPosition x="0" y="96"/>
<connection refLocalId="27">
<position x="632" y="1240"/>
<position x="592" y="1240"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="CONTENT">
<connectionPointIn>
<relPosition x="0" y="128"/>
<connection refLocalId="37" formalParameter="OUT">
<position x="632" y="1272"/>
<position x="432" y="1272"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="SAVE">
<connectionPointIn>
<relPosition x="0" y="160"/>
<connection refLocalId="29">
<position x="632" y="1304"/>
<position x="592" y="1304"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ACK">
<connectionPointOut>
<relPosition x="165" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="ERROR">
<connectionPointOut>
<relPosition x="165" y="64"/>
</connectionPointOut>
</variable>
<variable formalParameter="RESULT">
<connectionPointOut>
<relPosition x="165" y="96"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="29" executionOrderId="0" width="48" height="32" negated="false">
<position x="544" y="1288"/>
<connectionPointOut>
<relPosition x="48" y="16"/>
</connectionPointOut>
<expression>SAVE</expression>
</inVariable>
<block localId="30" typeName="csv_write_by_string" instanceName="csv_write_by_string5" executionOrderId="0" width="165" height="176">
<position x="632" y="1392"/>
<inputVariables>
<variable formalParameter="FILE_NAME">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="31">
<position x="632" y="1424"/>
<position x="592" y="1424"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="ROW">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="32">
<position x="632" y="1456"/>
<position x="592" y="1456"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="COLUMN">
<connectionPointIn>
<relPosition x="0" y="96"/>
<connection refLocalId="33">
<position x="632" y="1488"/>
<position x="592" y="1488"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="CONTENT">
<connectionPointIn>
<relPosition x="0" y="128"/>
<connection refLocalId="38" formalParameter="OUT">
<position x="632" y="1520"/>
<position x="432" y="1520"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="SAVE">
<connectionPointIn>
<relPosition x="0" y="160"/>
<connection refLocalId="35">
<position x="632" y="1552"/>
<position x="592" y="1552"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ACK">
<connectionPointOut>
<relPosition x="165" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="ERROR">
<connectionPointOut>
<relPosition x="165" y="64"/>
</connectionPointOut>
</variable>
<variable formalParameter="RESULT">
<connectionPointOut>
<relPosition x="165" y="96"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="35" executionOrderId="0" width="48" height="32" negated="false">
<position x="544" y="1536"/>
<connectionPointOut>
<relPosition x="48" y="16"/>
</connectionPointOut>
<expression>SAVE</expression>
</inVariable>
<block localId="57" typeName="INT_TO_STRING" executionOrderId="0" width="117" height="43">
<position x="304" y="504"/>
<inputVariables>
<variable formalParameter="IN">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="10">
<position x="304" y="536"/>
<position x="248" y="536"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="117" y="32"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<block localId="58" typeName="DINT_TO_STRING" executionOrderId="0" width="128" height="48">
<position x="304" y="744"/>
<inputVariables>
<variable formalParameter="IN">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="16">
<position x="304" y="776"/>
<position x="272" y="776"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="128" y="32"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<block localId="36" typeName="DINT_TO_STRING" executionOrderId="0" width="128" height="48">
<position x="304" y="992"/>
<inputVariables>
<variable formalParameter="IN">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="22">
<position x="304" y="1024"/>
<position x="272" y="1024"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="128" y="32"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<block localId="37" typeName="DINT_TO_STRING" executionOrderId="0" width="128" height="48">
<position x="304" y="1240"/>
<inputVariables>
<variable formalParameter="IN">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="28">
<position x="304" y="1272"/>
<position x="272" y="1272"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="128" y="32"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<block localId="38" typeName="DINT_TO_STRING" executionOrderId="0" width="128" height="48">
<position x="304" y="1488"/>
<inputVariables>
<variable formalParameter="IN">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="34">
<position x="304" y="1520"/>
<position x="272" y="1520"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="128" y="32"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<outVariable localId="39" executionOrderId="0" width="75" height="35" negated="false">
<position x="1427" y="184"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="40" formalParameter="OUT">
<position x="1427" y="200"/>
<position x="1400" y="200"/>
</connection>
</connectionPointIn>
<expression>ACK</expression>
</outVariable>
<block localId="40" typeName="AND" executionOrderId="0" width="80" height="168">
<position x="1320" y="168"/>
<inputVariables>
<variable formalParameter="IN1">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="66">
<position x="1320" y="200"/>
<position x="1290" y="200"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN2">
<connectionPointIn>
<relPosition x="0" y="56"/>
<connection refLocalId="68">
<position x="1320" y="224"/>
<position x="1290" y="224"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN3">
<connectionPointIn>
<relPosition x="0" y="80"/>
<connection refLocalId="70">
<position x="1320" y="248"/>
<position x="1290" y="248"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN4">
<connectionPointIn>
<relPosition x="0" y="104"/>
<connection refLocalId="72">
<position x="1320" y="272"/>
<position x="1290" y="272"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN5">
<connectionPointIn>
<relPosition x="0" y="128"/>
<connection refLocalId="74">
<position x="1320" y="296"/>
<position x="1290" y="296"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN6">
<connectionPointIn>
<relPosition x="0" y="152"/>
<connection refLocalId="76">
<position x="1320" y="320"/>
<position x="1290" y="320"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="80" y="32"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<connector name="Connection6" localId="65" width="125" height="27">
<position x="875" y="184"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="2" formalParameter="ACK">
<position x="875" y="200"/>
<position x="797" y="200"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection6" localId="66" width="125" height="27">
<position x="1165" y="184"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection7" localId="67" width="125" height="27">
<position x="875" y="424"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="11" formalParameter="ACK">
<position x="875" y="440"/>
<position x="797" y="440"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection7" localId="68" width="125" height="27">
<position x="1165" y="208"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection8" localId="69" width="125" height="27">
<position x="875" y="664"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="12" formalParameter="ACK">
<position x="875" y="680"/>
<position x="797" y="680"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection8" localId="70" width="125" height="27">
<position x="1165" y="232"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection9" localId="71" width="125" height="27">
<position x="875" y="912"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="18" formalParameter="ACK">
<position x="875" y="928"/>
<position x="797" y="928"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection9" localId="72" width="125" height="27">
<position x="1165" y="256"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection10" localId="73" width="133" height="27">
<position x="875" y="1160"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="24" formalParameter="ACK">
<position x="875" y="1176"/>
<position x="797" y="1176"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection10" localId="74" width="133" height="27">
<position x="1157" y="280"/>
<connectionPointOut>
<relPosition x="133" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection11" localId="75" width="133" height="27">
<position x="827" y="1408"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="30" formalParameter="ACK">
<position x="827" y="1424"/>
<position x="797" y="1424"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection11" localId="76" width="133" height="27">
<position x="1157" y="304"/>
<connectionPointOut>
<relPosition x="133" y="16"/>
</connectionPointOut>
</continuation>
</FBD>
</body>
<documentation>
<xhtml:p><![CDATA[Read CSV file of type A]]></xhtml:p>
</documentation>
</pou>
<pou name="program0" pouType="program">
<interface>
<localVars>
<variable name="SAVE_BT">
<type>
<derived name="HMI_BOOL"/>
</type>
</variable>
<variable name="SAVE_AS_BT">
<type>
<derived name="HMI_BOOL"/>
</type>
</variable>
<variable name="RD_SUCCESS">
<type>
<derived name="HMI_BOOL"/>
</type>
</variable>
<variable name="SAVE_ACK">
<type>
<derived name="HMI_BOOL"/>
</type>
</variable>
<variable name="SAVE_SUCCESS">
<type>
<derived name="HMI_BOOL"/>
</type>
</variable>
<variable name="CURRENT_CSV">
<type>
<derived name="HMI_STRING"/>
</type>
<initialValue>
<simpleValue value="test.csv"/>
</initialValue>
</variable>
<variable name="SAVE_AS_CSV">
<type>
<derived name="HMI_STRING"/>
</type>
<initialValue>
<simpleValue value="test2.csv"/>
</initialValue>
</variable>
<variable name="Product_Name">
<type>
<derived name="HMI_STRING"/>
</type>
<initialValue>
<simpleValue value="'unknown'"/>
</initialValue>
</variable>
<variable name="Product_Image">
<type>
<derived name="HMI_INT"/>
</type>
<initialValue>
<simpleValue value="0"/>
</initialValue>
</variable>
<variable name="Step_1_Bake_Time">
<type>
<derived name="HMI_DINT"/>
</type>
<initialValue>
<simpleValue value="60"/>
</initialValue>
</variable>
<variable name="Step_1_Bake_Temp">
<type>
<derived name="HMI_DINT"/>
</type>
<initialValue>
<simpleValue value="120"/>
</initialValue>
</variable>
<variable name="Step_2_Bake_Time">
<type>
<derived name="HMI_DINT"/>
</type>
<initialValue>
<simpleValue value="90"/>
</initialValue>
</variable>
<variable name="Step_2_Bake_Temp">
<type>
<derived name="HMI_DINT"/>
</type>
<initialValue>
<simpleValue value="180"/>
</initialValue>
</variable>
<variable name="read_csv_A0">
<type>
<derived name="read_csv_A"/>
</type>
</variable>
<variable name="write_csv_A0">
<type>
<derived name="write_csv_A"/>
</type>
</variable>
<variable name="machine_A0">
<type>
<derived name="machine_A"/>
</type>
</variable>
<variable name="move_A0">
<type>
<derived name="move_A"/>
</type>
</variable>
</localVars>
</interface>
<body>
<FBD>
<block localId="1" typeName="read_csv_A" instanceName="read_csv_A0" executionOrderId="0" width="208" height="416">
<position x="272" y="232"/>
<inputVariables>
<variable formalParameter="CSV_NAME">
<connectionPointIn>
<relPosition x="0" y="48"/>
<connection refLocalId="10">
<position x="272" y="280"/>
<position x="200" y="280"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="SUCCESS">
<connectionPointOut>
<relPosition x="208" y="48"/>
</connectionPointOut>
</variable>
<variable formalParameter="Product_Name">
<connectionPointOut>
<relPosition x="208" y="104"/>
</connectionPointOut>
</variable>
<variable formalParameter="Product_Image">
<connectionPointOut>
<relPosition x="208" y="160"/>
</connectionPointOut>
</variable>
<variable formalParameter="Step_1_Bake_Time">
<connectionPointOut>
<relPosition x="208" y="216"/>
</connectionPointOut>
</variable>
<variable formalParameter="Step_1_Bake_Temp">
<connectionPointOut>
<relPosition x="208" y="272"/>
</connectionPointOut>
</variable>
<variable formalParameter="Step_2_Bake_Time">
<connectionPointOut>
<relPosition x="208" y="328"/>
</connectionPointOut>
</variable>
<variable formalParameter="Step_2_Bake_Temp">
<connectionPointOut>
<relPosition x="208" y="384"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<block localId="2" typeName="write_csv_A" instanceName="write_csv_A0" executionOrderId="0" width="184" height="472">
<position x="1216" y="176"/>
<inputVariables>
<variable formalParameter="CSV_NAME">
<connectionPointIn>
<relPosition x="0" y="48"/>
<connection refLocalId="12" formalParameter="OUT">
<position x="1216" y="224"/>
<position x="1184" y="224"/>
<position x="1184" y="136"/>
<position x="1138" y="136"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="SAVE">
<connectionPointIn>
<relPosition x="0" y="104"/>
<connection refLocalId="16" formalParameter="OUT">
<position x="1216" y="280"/>
<position x="1164" y="280"/>
<position x="1164" y="256"/>
<position x="1138" y="256"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Product_Name">
<connectionPointIn>
<relPosition x="0" y="160"/>
<connection refLocalId="3">
<position x="1216" y="336"/>
<position x="1064" y="336"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Product_Image">
<connectionPointIn>
<relPosition x="0" y="216"/>
<connection refLocalId="4">
<position x="1216" y="392"/>
<position x="1072" y="392"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Step_1_Bake_Time">
<connectionPointIn>
<relPosition x="0" y="272"/>
<connection refLocalId="5">
<position x="1216" y="448"/>
<position x="1088" y="448"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Step_1_Bake_Temp">
<connectionPointIn>
<relPosition x="0" y="328"/>
<connection refLocalId="6">
<position x="1216" y="504"/>
<position x="1088" y="504"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Step_2_Bake_Time">
<connectionPointIn>
<relPosition x="0" y="384"/>
<connection refLocalId="7">
<position x="1216" y="560"/>
<position x="1088" y="560"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Step_2_Bake_Temp">
<connectionPointIn>
<relPosition x="0" y="440"/>
<connection refLocalId="8">
<position x="1216" y="616"/>
<position x="1088" y="616"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ERROR" negated="true">
<connectionPointOut>
<relPosition x="184" y="48"/>
</connectionPointOut>
</variable>
<variable formalParameter="ACK">
<connectionPointOut>
<relPosition x="184" y="104"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inOutVariable localId="3" executionOrderId="0" width="112" height="32" negatedOut="false" negatedIn="false">
<position x="952" y="320"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="23" formalParameter="Product_Name">
<position x="952" y="336"/>
<position x="842" y="336"/>
</connection>
</connectionPointIn>
<connectionPointOut>
<relPosition x="112" y="16"/>
</connectionPointOut>
<expression>Product_Name</expression>
</inOutVariable>
<inOutVariable localId="4" executionOrderId="0" width="120" height="32" negatedOut="false" negatedIn="false">
<position x="952" y="376"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="23" formalParameter="Product_Image">
<position x="952" y="392"/>
<position x="842" y="392"/>
</connection>
</connectionPointIn>
<connectionPointOut>
<relPosition x="120" y="16"/>
</connectionPointOut>
<expression>Product_Image</expression>
</inOutVariable>
<inOutVariable localId="5" executionOrderId="0" width="144" height="32" negatedOut="false" negatedIn="false">
<position x="944" y="432"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="23" formalParameter="Step_1_Bake_Time">
<position x="944" y="448"/>
<position x="842" y="448"/>
</connection>
</connectionPointIn>
<connectionPointOut>
<relPosition x="144" y="16"/>
</connectionPointOut>
<expression>Step_1_Bake_Time</expression>
</inOutVariable>
<inOutVariable localId="6" executionOrderId="0" width="144" height="32" negatedOut="false" negatedIn="false">
<position x="944" y="488"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="23" formalParameter="Step_1_Bake_Temp">
<position x="944" y="504"/>
<position x="842" y="504"/>
</connection>
</connectionPointIn>
<connectionPointOut>
<relPosition x="144" y="16"/>
</connectionPointOut>
<expression>Step_1_Bake_Temp</expression>
</inOutVariable>
<inOutVariable localId="7" executionOrderId="0" width="144" height="32" negatedOut="false" negatedIn="false">
<position x="944" y="544"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="23" formalParameter="Step_2_Bake_Time">
<position x="944" y="560"/>
<position x="842" y="560"/>
</connection>
</connectionPointIn>
<connectionPointOut>
<relPosition x="144" y="16"/>
</connectionPointOut>
<expression>Step_2_Bake_Time</expression>
</inOutVariable>
<inOutVariable localId="8" executionOrderId="0" width="144" height="32" negatedOut="false" negatedIn="false">
<position x="944" y="600"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="23" formalParameter="Step_2_Bake_Temp">
<position x="944" y="616"/>
<position x="842" y="616"/>
</connection>
</connectionPointIn>
<connectionPointOut>
<relPosition x="144" y="16"/>
</connectionPointOut>
<expression>Step_2_Bake_Temp</expression>
</inOutVariable>
<inVariable localId="9" executionOrderId="0" width="104" height="32" negated="false">
<position x="920" y="240"/>
<connectionPointOut>
<relPosition x="104" y="16"/>
</connectionPointOut>
<expression>SAVE_BT</expression>
</inVariable>
<inVariable localId="10" executionOrderId="0" width="104" height="32" negated="false">
<position x="96" y="264"/>
<connectionPointOut>
<relPosition x="104" y="16"/>
</connectionPointOut>
<expression>CURRENT_CSV</expression>
</inVariable>
<inVariable localId="11" executionOrderId="0" width="128" height="32" negated="false">
<position x="896" y="120"/>
<connectionPointOut>
<relPosition x="128" y="16"/>
</connectionPointOut>
<expression>SAVE_AS_BT</expression>
</inVariable>
<block localId="12" typeName="SEL" executionOrderId="0" width="66" height="120">
<position x="1072" y="99"/>
<inputVariables>
<variable formalParameter="G">
<connectionPointIn>
<relPosition x="0" y="37"/>
<connection refLocalId="11">
<position x="1072" y="136"/>
<position x="1024" y="136"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN0">
<connectionPointIn>
<relPosition x="0" y="69"/>
<connection refLocalId="13">
<position x="1072" y="168"/>
<position x="1024" y="168"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN1">
<connectionPointIn>
<relPosition x="0" y="101"/>
<connection refLocalId="14">
<position x="1072" y="200"/>
<position x="1024" y="200"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="66" y="37"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="13" executionOrderId="0" width="104" height="32" negated="false">
<position x="920" y="152"/>
<connectionPointOut>
<relPosition x="104" y="16"/>
</connectionPointOut>
<expression>CURRENT_CSV</expression>
</inVariable>
<inVariable localId="14" executionOrderId="0" width="104" height="32" negated="false">
<position x="920" y="184"/>
<connectionPointOut>
<relPosition x="104" y="16"/>
</connectionPointOut>
<expression>SAVE_AS_CSV</expression>
</inVariable>
<inVariable localId="15" executionOrderId="0" width="128" height="32" negated="false">
<position x="896" y="272"/>
<connectionPointOut>
<relPosition x="128" y="16"/>
</connectionPointOut>
<expression>SAVE_AS_BT</expression>
</inVariable>
<block localId="16" typeName="OR" executionOrderId="0" width="66" height="80">
<position x="1072" y="223"/>
<inputVariables>
<variable formalParameter="IN1">
<connectionPointIn>
<relPosition x="0" y="33"/>
<connection refLocalId="9">
<position x="1072" y="256"/>
<position x="1024" y="256"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN2">
<connectionPointIn>
<relPosition x="0" y="65"/>
<connection refLocalId="15">
<position x="1072" y="288"/>
<position x="1024" y="288"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="66" y="33"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="17" executionOrderId="0" width="144" height="32" negated="false">
<position x="656" y="768"/>
<connectionPointOut>
<relPosition x="144" y="16"/>
</connectionPointOut>
<expression>Step_1_Bake_Time</expression>
</inVariable>
<inVariable localId="18" executionOrderId="0" width="144" height="32" negated="false">
<position x="656" y="824"/>
<connectionPointOut>
<relPosition x="144" y="16"/>
</connectionPointOut>
<expression>Step_1_Bake_Temp</expression>
</inVariable>
<inVariable localId="19" executionOrderId="0" width="144" height="32" negated="false">
<position x="656" y="880"/>
<connectionPointOut>
<relPosition x="144" y="16"/>
</connectionPointOut>
<expression>Step_2_Bake_Time</expression>
</inVariable>
<inVariable localId="20" executionOrderId="0" width="144" height="32" negated="false">
<position x="656" y="936"/>
<connectionPointOut>
<relPosition x="144" y="16"/>
</connectionPointOut>
<expression>Step_2_Bake_Temp</expression>
</inVariable>
<block localId="21" typeName="machine_A" instanceName="machine_A0" executionOrderId="0" width="146" height="248">
<position x="864" y="736"/>
<inputVariables>
<variable formalParameter="Step_1_Bake_Time">
<connectionPointIn>
<relPosition x="0" y="48"/>
<connection refLocalId="17">
<position x="864" y="784"/>
<position x="800" y="784"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Step_1_Bake_Temp">
<connectionPointIn>
<relPosition x="0" y="104"/>
<connection refLocalId="18">
<position x="864" y="840"/>
<position x="800" y="840"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Step_2_Bake_Time">
<connectionPointIn>
<relPosition x="0" y="160"/>
<connection refLocalId="19">
<position x="864" y="896"/>
<position x="800" y="896"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Step_2_Bake_Temp">
<connectionPointIn>
<relPosition x="0" y="216"/>
<connection refLocalId="20">
<position x="864" y="952"/>
<position x="800" y="952"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables/>
</block>
<outVariable localId="22" executionOrderId="0" width="96" height="32" negated="false">
<position x="568" y="168"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="1" formalParameter="SUCCESS">
<position x="568" y="184"/>
<position x="528" y="184"/>
<position x="528" y="280"/>
<position x="480" y="280"/>
</connection>
</connectionPointIn>
<expression>RD_SUCCESS</expression>
</outVariable>
<block localId="23" typeName="move_A" instanceName="move_A0" executionOrderId="0" width="274" height="416">
<position x="568" y="232"/>
<inputVariables>
<variable formalParameter="EN" edge="rising">
<connectionPointIn>
<relPosition x="0" y="48"/>
<connection refLocalId="1" formalParameter="SUCCESS">
<position x="568" y="280"/>
<position x="480" y="280"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Product_Name">
<connectionPointIn>
<relPosition x="0" y="104"/>
<connection refLocalId="1" formalParameter="Product_Name">
<position x="568" y="336"/>
<position x="480" y="336"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Product_Image">
<connectionPointIn>
<relPosition x="0" y="160"/>
<connection refLocalId="1" formalParameter="Product_Image">
<position x="568" y="392"/>
<position x="480" y="392"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Step_1_Bake_Time">
<connectionPointIn>
<relPosition x="0" y="216"/>
<connection refLocalId="1" formalParameter="Step_1_Bake_Time">
<position x="568" y="448"/>
<position x="480" y="448"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Step_1_Bake_Temp">
<connectionPointIn>
<relPosition x="0" y="272"/>
<connection refLocalId="1" formalParameter="Step_1_Bake_Temp">
<position x="568" y="504"/>
<position x="480" y="504"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Step_2_Bake_Time">
<connectionPointIn>
<relPosition x="0" y="328"/>
<connection refLocalId="1" formalParameter="Step_2_Bake_Time">
<position x="568" y="560"/>
<position x="480" y="560"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="Step_2_Bake_Temp">
<connectionPointIn>
<relPosition x="0" y="384"/>
<connection refLocalId="1" formalParameter="Step_2_Bake_Temp">
<position x="568" y="616"/>
<position x="480" y="616"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ENO">
<connectionPointOut>
<relPosition x="274" y="48"/>
</connectionPointOut>
</variable>
<variable formalParameter="Product_Name">
<connectionPointOut>
<relPosition x="274" y="104"/>
</connectionPointOut>
</variable>
<variable formalParameter="Product_Image">
<connectionPointOut>
<relPosition x="274" y="160"/>
</connectionPointOut>
</variable>
<variable formalParameter="Step_1_Bake_Time">
<connectionPointOut>
<relPosition x="274" y="216"/>
</connectionPointOut>
</variable>
<variable formalParameter="Step_1_Bake_Temp">
<connectionPointOut>
<relPosition x="274" y="272"/>
</connectionPointOut>
</variable>
<variable formalParameter="Step_2_Bake_Time">
<connectionPointOut>
<relPosition x="274" y="328"/>
</connectionPointOut>
</variable>
<variable formalParameter="Step_2_Bake_Temp">
<connectionPointOut>
<relPosition x="274" y="384"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<outVariable localId="24" executionOrderId="0" width="112" height="32" negated="false">
<position x="1456" y="208"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="2" formalParameter="ERROR">
<position x="1456" y="224"/>
<position x="1400" y="224"/>
</connection>
</connectionPointIn>
<expression>SAVE_SUCCESS</expression>
</outVariable>
<outVariable localId="25" executionOrderId="0" width="80" height="32" negated="false">
<position x="1456" y="264"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="2" formalParameter="ACK">
<position x="1456" y="280"/>
<position x="1400" y="280"/>
</connection>
</connectionPointIn>
<expression>SAVE_ACK</expression>
</outVariable>
</FBD>
</body>
</pou>
<pou name="read_csv_A" pouType="functionBlock">
<interface>
<inputVars>
<variable name="CSV_NAME">
<type>
<string/>
</type>
<documentation>
<xhtml:p><![CDATA[ CSV file name]]></xhtml:p>
</documentation>
</variable>
</inputVars>
<outputVars>
<variable name="SUCCESS">
<type>
<BOOL/>
</type>
<documentation>
<xhtml:p><![CDATA[TRUE if data comes from file FALSE if default values]]></xhtml:p>
</documentation>
</variable>
<variable name="Product_Name">
<type>
<string/>
</type>
<initialValue>
<simpleValue value="'unknown'"/>
</initialValue>
</variable>
<variable name="Product_Image">
<type>
<INT/>
</type>
<initialValue>
<simpleValue value="0"/>
</initialValue>
</variable>
<variable name="Step_1_Bake_Time">
<type>
<DINT/>
</type>
<initialValue>
<simpleValue value="60"/>
</initialValue>
</variable>
<variable name="Step_1_Bake_Temp">
<type>
<DINT/>
</type>
<initialValue>
<simpleValue value="120"/>
</initialValue>
</variable>
<variable name="Step_2_Bake_Time">
<type>
<DINT/>
</type>
<initialValue>
<simpleValue value="90"/>
</initialValue>
</variable>
<variable name="Step_2_Bake_Temp">
<type>
<DINT/>
</type>
<initialValue>
<simpleValue value="180"/>
</initialValue>
</variable>
</outputVars>
<localVars>
<variable name="csv_read_by_string0">
<type>
<derived name="csv_read_by_string"/>
</type>
</variable>
<variable name="csv_read_by_string1">
<type>
<derived name="csv_read_by_string"/>
</type>
</variable>
<variable name="csv_read_by_string2">
<type>
<derived name="csv_read_by_string"/>
</type>
</variable>
<variable name="csv_read_by_string3">
<type>
<derived name="csv_read_by_string"/>
</type>
</variable>
<variable name="csv_read_by_string4">
<type>
<derived name="csv_read_by_string"/>
</type>
</variable>
<variable name="csv_read_by_string5">
<type>
<derived name="csv_read_by_string"/>
</type>
</variable>
</localVars>
</interface>
<body>
<FBD>
<block localId="2" typeName="csv_read_by_string" instanceName="csv_read_by_string0" executionOrderId="0" width="160" height="112">
<position x="312" y="88"/>
<inputVariables>
<variable formalParameter="FILE_NAME">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="3">
<position x="312" y="120"/>
<position x="272" y="120"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="ROW">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="4">
<position x="312" y="152"/>
<position x="272" y="152"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="COLUMN">
<connectionPointIn>
<relPosition x="0" y="96"/>
<connection refLocalId="1">
<position x="312" y="184"/>
<position x="272" y="184"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ACK">
<connectionPointOut>
<relPosition x="160" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="RESULT">
<connectionPointOut>
<relPosition x="160" y="64"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="3" executionOrderId="0" width="88" height="32" negated="false">
<position x="184" y="104"/>
<connectionPointOut>
<relPosition x="88" y="16"/>
</connectionPointOut>
<expression>CSV_NAME</expression>
</inVariable>
<inVariable localId="4" executionOrderId="0" width="128" height="32" negated="false">
<position x="144" y="136"/>
<connectionPointOut>
<relPosition x="128" y="16"/>
</connectionPointOut>
<expression>'Product_Name'</expression>
</inVariable>
<inVariable localId="1" executionOrderId="0" width="152" height="32" negated="false">
<position x="120" y="168"/>
<connectionPointOut>
<relPosition x="152" y="16"/>
</connectionPointOut>
<expression>'Parameter_Value'</expression>
</inVariable>
<outVariable localId="5" executionOrderId="0" width="123" height="35" negated="false">
<position x="720" y="136"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="2" formalParameter="RESULT">
<position x="720" y="152"/>
<position x="472" y="152"/>
</connection>
</connectionPointIn>
<expression>Product_Name</expression>
</outVariable>
<block localId="6" typeName="csv_read_by_string" instanceName="csv_read_by_string1" executionOrderId="0" width="160" height="112">
<position x="312" y="248"/>
<inputVariables>
<variable formalParameter="FILE_NAME">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="7">
<position x="312" y="280"/>
<position x="272" y="280"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="ROW">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="8">
<position x="312" y="312"/>
<position x="272" y="312"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="COLUMN">
<connectionPointIn>
<relPosition x="0" y="96"/>
<connection refLocalId="9">
<position x="312" y="344"/>
<position x="272" y="344"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ACK">
<connectionPointOut>
<relPosition x="160" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="RESULT">
<connectionPointOut>
<relPosition x="160" y="64"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="7" executionOrderId="0" width="88" height="32" negated="false">
<position x="184" y="264"/>
<connectionPointOut>
<relPosition x="88" y="16"/>
</connectionPointOut>
<expression>CSV_NAME</expression>
</inVariable>
<inVariable localId="8" executionOrderId="0" width="136" height="32" negated="false">
<position x="136" y="296"/>
<connectionPointOut>
<relPosition x="136" y="16"/>
</connectionPointOut>
<expression>'Product_Image'</expression>
</inVariable>
<inVariable localId="9" executionOrderId="0" width="152" height="32" negated="false">
<position x="120" y="328"/>
<connectionPointOut>
<relPosition x="152" y="16"/>
</connectionPointOut>
<expression>'Parameter_Value'</expression>
</inVariable>
<outVariable localId="10" executionOrderId="0" width="120" height="32" negated="false">
<position x="720" y="296"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="11" formalParameter="OUT">
<position x="720" y="312"/>
<position x="651" y="312"/>
</connection>
</connectionPointIn>
<expression>Product_Image</expression>
</outVariable>
<block localId="11" typeName="STRING_TO_INT" executionOrderId="0" width="123" height="80">
<position x="528" y="247"/>
<inputVariables>
<variable formalParameter="EN">
<connectionPointIn>
<relPosition x="0" y="33"/>
<connection refLocalId="6" formalParameter="ACK">
<position x="528" y="280"/>
<position x="472" y="280"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN">
<connectionPointIn>
<relPosition x="0" y="65"/>
<connection refLocalId="6" formalParameter="RESULT">
<position x="528" y="312"/>
<position x="472" y="312"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ENO">
<connectionPointOut>
<relPosition x="123" y="33"/>
</connectionPointOut>
</variable>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="123" y="65"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<block localId="12" typeName="csv_read_by_string" instanceName="csv_read_by_string2" executionOrderId="0" width="160" height="112">
<position x="312" y="408"/>
<inputVariables>
<variable formalParameter="FILE_NAME">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="13">
<position x="312" y="440"/>
<position x="272" y="440"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="ROW">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="14">
<position x="312" y="472"/>
<position x="272" y="472"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="COLUMN">
<connectionPointIn>
<relPosition x="0" y="96"/>
<connection refLocalId="15">
<position x="312" y="504"/>
<position x="272" y="504"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ACK">
<connectionPointOut>
<relPosition x="160" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="RESULT">
<connectionPointOut>
<relPosition x="160" y="64"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="13" executionOrderId="0" width="88" height="32" negated="false">
<position x="184" y="424"/>
<connectionPointOut>
<relPosition x="88" y="16"/>
</connectionPointOut>
<expression>CSV_NAME</expression>
</inVariable>
<inVariable localId="14" executionOrderId="0" width="160" height="32" negated="false">
<position x="112" y="456"/>
<connectionPointOut>
<relPosition x="160" y="16"/>
</connectionPointOut>
<expression>'Step_1_Bake_Time'</expression>
</inVariable>
<inVariable localId="15" executionOrderId="0" width="152" height="32" negated="false">
<position x="120" y="488"/>
<connectionPointOut>
<relPosition x="152" y="16"/>
</connectionPointOut>
<expression>'Parameter_Value'</expression>
</inVariable>
<outVariable localId="16" executionOrderId="0" width="141" height="35" negated="false">
<position x="720" y="456"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="17" formalParameter="OUT">
<position x="720" y="472"/>
<position x="656" y="472"/>
</connection>
</connectionPointIn>
<expression>Step_1_Bake_Time</expression>
</outVariable>
<block localId="17" typeName="STRING_TO_DINT" executionOrderId="0" width="128" height="80">
<position x="528" y="407"/>
<inputVariables>
<variable formalParameter="EN">
<connectionPointIn>
<relPosition x="0" y="33"/>
<connection refLocalId="12" formalParameter="ACK">
<position x="528" y="440"/>
<position x="472" y="440"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN">
<connectionPointIn>
<relPosition x="0" y="65"/>
<connection refLocalId="12" formalParameter="RESULT">
<position x="528" y="472"/>
<position x="472" y="472"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ENO">
<connectionPointOut>
<relPosition x="128" y="33"/>
</connectionPointOut>
</variable>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="128" y="65"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<block localId="18" typeName="csv_read_by_string" instanceName="csv_read_by_string3" executionOrderId="0" width="160" height="112">
<position x="312" y="576"/>
<inputVariables>
<variable formalParameter="FILE_NAME">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="19">
<position x="312" y="608"/>
<position x="272" y="608"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="ROW">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="20">
<position x="312" y="640"/>
<position x="272" y="640"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="COLUMN">
<connectionPointIn>
<relPosition x="0" y="96"/>
<connection refLocalId="21">
<position x="312" y="672"/>
<position x="272" y="672"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ACK">
<connectionPointOut>
<relPosition x="160" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="RESULT">
<connectionPointOut>
<relPosition x="160" y="64"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="19" executionOrderId="0" width="88" height="32" negated="false">
<position x="184" y="592"/>
<connectionPointOut>
<relPosition x="88" y="16"/>
</connectionPointOut>
<expression>CSV_NAME</expression>
</inVariable>
<inVariable localId="20" executionOrderId="0" width="160" height="32" negated="false">
<position x="112" y="624"/>
<connectionPointOut>
<relPosition x="160" y="16"/>
</connectionPointOut>
<expression>'Step_1_Bake_Temp'</expression>
</inVariable>
<inVariable localId="21" executionOrderId="0" width="152" height="32" negated="false">
<position x="120" y="656"/>
<connectionPointOut>
<relPosition x="152" y="16"/>
</connectionPointOut>
<expression>'Parameter_Value'</expression>
</inVariable>
<outVariable localId="22" executionOrderId="0" width="144" height="38" negated="false">
<position x="720" y="624"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="23" formalParameter="OUT">
<position x="720" y="640"/>
<position x="656" y="640"/>
</connection>
</connectionPointIn>
<expression>Step_1_Bake_Temp</expression>
</outVariable>
<block localId="24" typeName="csv_read_by_string" instanceName="csv_read_by_string4" executionOrderId="0" width="160" height="112">
<position x="312" y="744"/>
<inputVariables>
<variable formalParameter="FILE_NAME">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="25">
<position x="312" y="776"/>
<position x="272" y="776"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="ROW">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="26">
<position x="312" y="808"/>
<position x="272" y="808"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="COLUMN">
<connectionPointIn>
<relPosition x="0" y="96"/>
<connection refLocalId="27">
<position x="312" y="840"/>
<position x="272" y="840"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ACK">
<connectionPointOut>
<relPosition x="160" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="RESULT">
<connectionPointOut>
<relPosition x="160" y="64"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="25" executionOrderId="0" width="88" height="32" negated="false">
<position x="184" y="760"/>
<connectionPointOut>
<relPosition x="88" y="16"/>
</connectionPointOut>
<expression>CSV_NAME</expression>
</inVariable>
<inVariable localId="26" executionOrderId="0" width="160" height="32" negated="false">
<position x="112" y="792"/>
<connectionPointOut>
<relPosition x="160" y="16"/>
</connectionPointOut>
<expression>'Step_2_Bake_Time'</expression>
</inVariable>
<inVariable localId="27" executionOrderId="0" width="152" height="32" negated="false">
<position x="120" y="824"/>
<connectionPointOut>
<relPosition x="152" y="16"/>
</connectionPointOut>
<expression>'Parameter_Value'</expression>
</inVariable>
<outVariable localId="28" executionOrderId="0" width="150" height="44" negated="false">
<position x="720" y="784"/>
<connectionPointIn>
<relPosition x="0" y="24"/>
<connection refLocalId="29" formalParameter="OUT">
<position x="720" y="808"/>
<position x="656" y="808"/>
</connection>
</connectionPointIn>
<expression>Step_2_Bake_Time</expression>
</outVariable>
<block localId="30" typeName="csv_read_by_string" instanceName="csv_read_by_string5" executionOrderId="0" width="160" height="112">
<position x="312" y="912"/>
<inputVariables>
<variable formalParameter="FILE_NAME">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="31">
<position x="312" y="944"/>
<position x="272" y="944"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="ROW">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="32">
<position x="312" y="976"/>
<position x="272" y="976"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="COLUMN">
<connectionPointIn>
<relPosition x="0" y="96"/>
<connection refLocalId="33">
<position x="312" y="1008"/>
<position x="272" y="1008"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ACK">
<connectionPointOut>
<relPosition x="160" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="RESULT">
<connectionPointOut>
<relPosition x="160" y="64"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<inVariable localId="31" executionOrderId="0" width="88" height="32" negated="false">
<position x="184" y="928"/>
<connectionPointOut>
<relPosition x="88" y="16"/>
</connectionPointOut>
<expression>CSV_NAME</expression>
</inVariable>
<inVariable localId="32" executionOrderId="0" width="160" height="32" negated="false">
<position x="112" y="960"/>
<connectionPointOut>
<relPosition x="160" y="16"/>
</connectionPointOut>
<expression>'Step_2_Bake_Temp'</expression>
</inVariable>
<inVariable localId="33" executionOrderId="0" width="152" height="32" negated="false">
<position x="120" y="992"/>
<connectionPointOut>
<relPosition x="152" y="16"/>
</connectionPointOut>
<expression>'Parameter_Value'</expression>
</inVariable>
<outVariable localId="34" executionOrderId="0" width="147" height="41" negated="false">
<position x="720" y="960"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="35" formalParameter="OUT">
<position x="720" y="976"/>
<position x="656" y="976"/>
</connection>
</connectionPointIn>
<expression>Step_2_Bake_Temp</expression>
</outVariable>
<block localId="23" typeName="STRING_TO_DINT" executionOrderId="0" width="128" height="80">
<position x="528" y="576"/>
<inputVariables>
<variable formalParameter="EN">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="18" formalParameter="ACK">
<position x="528" y="608"/>
<position x="472" y="608"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="18" formalParameter="RESULT">
<position x="528" y="640"/>
<position x="472" y="640"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ENO">
<connectionPointOut>
<relPosition x="128" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="128" y="64"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<block localId="29" typeName="STRING_TO_DINT" executionOrderId="0" width="128" height="80">
<position x="528" y="744"/>
<inputVariables>
<variable formalParameter="EN">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="24" formalParameter="ACK">
<position x="528" y="776"/>
<position x="472" y="776"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN">
<connectionPointIn>
<relPosition x="0" y="64"/>
<connection refLocalId="24" formalParameter="RESULT">
<position x="528" y="808"/>
<position x="472" y="808"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ENO">
<connectionPointOut>
<relPosition x="128" y="32"/>
</connectionPointOut>
</variable>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="128" y="64"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<block localId="35" typeName="STRING_TO_DINT" executionOrderId="0" width="128" height="80">
<position x="528" y="913"/>
<inputVariables>
<variable formalParameter="EN">
<connectionPointIn>
<relPosition x="0" y="31"/>
<connection refLocalId="30" formalParameter="ACK">
<position x="528" y="944"/>
<position x="472" y="944"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN">
<connectionPointIn>
<relPosition x="0" y="63"/>
<connection refLocalId="30" formalParameter="RESULT">
<position x="528" y="976"/>
<position x="472" y="976"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="ENO">
<connectionPointOut>
<relPosition x="128" y="31"/>
</connectionPointOut>
</variable>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="128" y="63"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<outVariable localId="42" executionOrderId="0" width="72" height="32" negated="false">
<position x="1264" y="104"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="43" formalParameter="OUT">
<position x="1264" y="120"/>
<position x="1229" y="120"/>
</connection>
</connectionPointIn>
<expression>SUCCESS</expression>
</outVariable>
<block localId="43" typeName="AND" executionOrderId="0" width="69" height="168">
<position x="1160" y="88"/>
<inputVariables>
<variable formalParameter="IN1">
<connectionPointIn>
<relPosition x="0" y="32"/>
<connection refLocalId="45">
<position x="1160" y="120"/>
<position x="1130" y="120"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN2">
<connectionPointIn>
<relPosition x="0" y="56"/>
<connection refLocalId="47">
<position x="1160" y="144"/>
<position x="1130" y="144"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN3">
<connectionPointIn>
<relPosition x="0" y="80"/>
<connection refLocalId="49">
<position x="1160" y="168"/>
<position x="1130" y="168"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN4">
<connectionPointIn>
<relPosition x="0" y="104"/>
<connection refLocalId="51">
<position x="1160" y="192"/>
<position x="1130" y="192"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN5">
<connectionPointIn>
<relPosition x="0" y="128"/>
<connection refLocalId="53">
<position x="1160" y="216"/>
<position x="1130" y="216"/>
</connection>
</connectionPointIn>
</variable>
<variable formalParameter="IN6">
<connectionPointIn>
<relPosition x="0" y="152"/>
<connection refLocalId="55">
<position x="1160" y="240"/>
<position x="1130" y="240"/>
</connection>
</connectionPointIn>
</variable>
</inputVariables>
<inOutVariables/>
<outputVariables>
<variable formalParameter="OUT">
<connectionPointOut>
<relPosition x="69" y="32"/>
</connectionPointOut>
</variable>
</outputVariables>
</block>
<connector name="Connection0" localId="44" width="125" height="27">
<position x="715" y="104"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="2" formalParameter="ACK">
<position x="715" y="120"/>
<position x="472" y="120"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection0" localId="45" width="125" height="27">
<position x="1005" y="104"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection1" localId="46" width="125" height="27">
<position x="715" y="264"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="11" formalParameter="ENO">
<position x="715" y="280"/>
<position x="651" y="280"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection1" localId="47" width="125" height="27">
<position x="1005" y="128"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection2" localId="48" width="125" height="27">
<position x="715" y="424"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="17" formalParameter="ENO">
<position x="715" y="440"/>
<position x="656" y="440"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection2" localId="49" width="125" height="27">
<position x="1005" y="152"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection3" localId="50" width="125" height="27">
<position x="715" y="592"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="23" formalParameter="ENO">
<position x="715" y="608"/>
<position x="656" y="608"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection3" localId="51" width="125" height="27">
<position x="1005" y="176"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection4" localId="52" width="125" height="27">
<position x="715" y="760"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="29" formalParameter="ENO">
<position x="715" y="776"/>
<position x="656" y="776"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection4" localId="53" width="125" height="27">
<position x="1005" y="200"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
<connector name="Connection5" localId="54" width="125" height="27">
<position x="715" y="928"/>
<connectionPointIn>
<relPosition x="0" y="16"/>
<connection refLocalId="35" formalParameter="ENO">
<position x="715" y="944"/>
<position x="656" y="944"/>
</connection>
</connectionPointIn>
</connector>
<continuation name="Connection5" localId="55" width="125" height="27">
<position x="1005" y="224"/>
<connectionPointOut>
<relPosition x="125" y="16"/>
</connectionPointOut>
</continuation>
</FBD>
</body>
<documentation>
<xhtml:p><![CDATA[Read CSV file of type A]]></xhtml:p>
</documentation>
</pou>
</pous>
</types>
<instances>
<configurations>
<configuration name="config">
<resource name="resource1">
<task name="task0" priority="0" interval="T#20ms">
<pouInstance name="instance0" typeName="program0"/>
</task>
</resource>
</configuration>
</configurations>
</instances>
</project>