--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/exemples/csv_read/plc.xml Thu Dec 22 02:47:20 2022 +0100
@@ -0,0 +1,341 @@
+<?xml version='1.0' encoding='utf-8'?>
+<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201">
+ <fileHeader companyName="Unknown" productName="Unnamed" productVersion="1" creationDateTime="2022-12-09T12:13:26"/>
+ <contentHeader name="Unnamed" modificationDateTime="2022-12-16T11:30:15">
+ <coordinateInfo>
+ <fbd>
+ <scaling x="5" y="5"/>
+ </fbd>
+ <ld>
+ <scaling x="0" y="0"/>
+ </ld>
+ <sfc>
+ <scaling x="0" y="0"/>
+ </sfc>
+ </coordinateInfo>
+ </contentHeader>
+ <types>
+ <dataTypes/>
+ <pous>
+ <pou name="program0" pouType="program">
+ <interface>
+ <localVars>
+ <variable name="CSV_NAME_0">
+ <type>
+ <derived name="HMI_STRING"/>
+ </type>
+ <initialValue>
+ <simpleValue value="'my_int_csv.csv'"/>
+ </initialValue>
+ </variable>
+ <variable name="CSV_NAME_1">
+ <type>
+ <derived name="HMI_STRING"/>
+ </type>
+ <initialValue>
+ <simpleValue value="'my_str_csv.csv'"/>
+ </initialValue>
+ </variable>
+ <variable name="CSV_ROWSTR">
+ <type>
+ <derived name="HMI_STRING"/>
+ </type>
+ <initialValue>
+ <simpleValue value="'Recipe 5'"/>
+ </initialValue>
+ </variable>
+ <variable name="CSV_COLSTR">
+ <type>
+ <derived name="HMI_STRING"/>
+ </type>
+ <initialValue>
+ <simpleValue value="'Ingredient D'"/>
+ </initialValue>
+ </variable>
+ <variable name="CSV_ROWIDX">
+ <type>
+ <derived name="HMI_INT"/>
+ </type>
+ <initialValue>
+ <simpleValue value="5"/>
+ </initialValue>
+ </variable>
+ <variable name="CSV_COLIDX">
+ <type>
+ <derived name="HMI_INT"/>
+ </type>
+ <initialValue>
+ <simpleValue value="4"/>
+ </initialValue>
+ </variable>
+ <variable name="csv_read_by_string0">
+ <type>
+ <derived name="csv_read_by_string"/>
+ </type>
+ </variable>
+ <variable name="csv_read_by_int0">
+ <type>
+ <derived name="csv_read_by_int"/>
+ </type>
+ </variable>
+ <variable name="csv_reload0">
+ <type>
+ <derived name="csv_reload"/>
+ </type>
+ </variable>
+ <variable name="CSV_RES_0">
+ <type>
+ <derived name="HMI_STRING"/>
+ </type>
+ </variable>
+ <variable name="CSV_RES_1">
+ <type>
+ <derived name="HMI_STRING"/>
+ </type>
+ </variable>
+ <variable name="CSV_ACK_0">
+ <type>
+ <derived name="HMI_BOOL"/>
+ </type>
+ </variable>
+ <variable name="CSV_ACK_1">
+ <type>
+ <derived name="HMI_BOOL"/>
+ </type>
+ </variable>
+ <variable name="CSV_RELOAD_BTN">
+ <type>
+ <derived name="HMI_BOOL"/>
+ </type>
+ </variable>
+ </localVars>
+ </interface>
+ <body>
+ <FBD>
+ <block localId="1" typeName="csv_read_by_string" instanceName="csv_read_by_string0" executionOrderId="0" height="100" width="154">
+ <position x="450" y="170"/>
+ <inputVariables>
+ <variable formalParameter="FILE_NAME">
+ <connectionPointIn>
+ <relPosition x="0" y="35"/>
+ <connection refLocalId="7">
+ <position x="450" y="205"/>
+ <position x="390" y="205"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="ROW">
+ <connectionPointIn>
+ <relPosition x="0" y="60"/>
+ <connection refLocalId="8">
+ <position x="450" y="230"/>
+ <position x="390" y="230"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="COLUMN">
+ <connectionPointIn>
+ <relPosition x="0" y="85"/>
+ <connection refLocalId="9">
+ <position x="450" y="255"/>
+ <position x="390" y="255"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="ACK">
+ <connectionPointOut>
+ <relPosition x="154" y="35"/>
+ </connectionPointOut>
+ </variable>
+ <variable formalParameter="RESULT">
+ <connectionPointOut>
+ <relPosition x="154" y="60"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <block localId="2" typeName="csv_read_by_int" instanceName="csv_read_by_int0" executionOrderId="0" height="100" width="155">
+ <position x="450" y="40"/>
+ <inputVariables>
+ <variable formalParameter="FILE_NAME">
+ <connectionPointIn>
+ <relPosition x="0" y="35"/>
+ <connection refLocalId="4">
+ <position x="450" y="75"/>
+ <position x="390" y="75"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="ROW">
+ <connectionPointIn>
+ <relPosition x="0" y="60"/>
+ <connection refLocalId="5">
+ <position x="450" y="100"/>
+ <position x="390" y="100"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ <variable formalParameter="COLUMN">
+ <connectionPointIn>
+ <relPosition x="0" y="85"/>
+ <connection refLocalId="6">
+ <position x="450" y="125"/>
+ <position x="390" y="125"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="ACK">
+ <connectionPointOut>
+ <relPosition x="155" y="35"/>
+ </connectionPointOut>
+ </variable>
+ <variable formalParameter="RESULT">
+ <connectionPointOut>
+ <relPosition x="155" y="60"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <block localId="3" typeName="csv_reload" instanceName="csv_reload0" executionOrderId="0" height="60" width="135">
+ <position x="470" y="334"/>
+ <inputVariables>
+ <variable formalParameter="TRIG">
+ <connectionPointIn>
+ <relPosition x="0" y="31"/>
+ <connection refLocalId="14">
+ <position x="470" y="365"/>
+ <position x="425" y="365"/>
+ </connection>
+ </connectionPointIn>
+ </variable>
+ </inputVariables>
+ <inOutVariables/>
+ <outputVariables>
+ <variable formalParameter="ACK">
+ <connectionPointOut>
+ <relPosition x="135" y="31"/>
+ </connectionPointOut>
+ </variable>
+ <variable formalParameter="RESULT">
+ <connectionPointOut>
+ <relPosition x="135" y="51"/>
+ </connectionPointOut>
+ </variable>
+ </outputVariables>
+ </block>
+ <inVariable localId="4" executionOrderId="0" height="30" width="110" negated="false">
+ <position x="280" y="60"/>
+ <connectionPointOut>
+ <relPosition x="110" y="15"/>
+ </connectionPointOut>
+ <expression>CSV_NAME_0</expression>
+ </inVariable>
+ <inVariable localId="5" executionOrderId="0" height="25" width="110" negated="false">
+ <position x="280" y="90"/>
+ <connectionPointOut>
+ <relPosition x="110" y="10"/>
+ </connectionPointOut>
+ <expression>CSV_ROWIDX</expression>
+ </inVariable>
+ <inVariable localId="6" executionOrderId="0" height="25" width="110" negated="false">
+ <position x="280" y="115"/>
+ <connectionPointOut>
+ <relPosition x="110" y="10"/>
+ </connectionPointOut>
+ <expression>CSV_COLIDX</expression>
+ </inVariable>
+ <inVariable localId="7" executionOrderId="0" height="30" width="110" negated="false">
+ <position x="280" y="190"/>
+ <connectionPointOut>
+ <relPosition x="110" y="15"/>
+ </connectionPointOut>
+ <expression>CSV_NAME_1</expression>
+ </inVariable>
+ <inVariable localId="8" executionOrderId="0" height="25" width="110" negated="false">
+ <position x="280" y="220"/>
+ <connectionPointOut>
+ <relPosition x="110" y="10"/>
+ </connectionPointOut>
+ <expression>CSV_ROWSTR</expression>
+ </inVariable>
+ <inVariable localId="9" executionOrderId="0" height="25" width="110" negated="false">
+ <position x="280" y="245"/>
+ <connectionPointOut>
+ <relPosition x="110" y="10"/>
+ </connectionPointOut>
+ <expression>CSV_COLSTR</expression>
+ </inVariable>
+ <outVariable localId="10" executionOrderId="0" height="25" width="82" negated="false">
+ <position x="645" y="90"/>
+ <connectionPointIn>
+ <relPosition x="0" y="10"/>
+ <connection refLocalId="2" formalParameter="RESULT">
+ <position x="645" y="100"/>
+ <position x="605" y="100"/>
+ </connection>
+ </connectionPointIn>
+ <expression>CSV_RES_0</expression>
+ </outVariable>
+ <outVariable localId="11" executionOrderId="0" height="25" width="82" negated="false">
+ <position x="645" y="65"/>
+ <connectionPointIn>
+ <relPosition x="0" y="10"/>
+ <connection refLocalId="2" formalParameter="ACK">
+ <position x="645" y="75"/>
+ <position x="605" y="75"/>
+ </connection>
+ </connectionPointIn>
+ <expression>CSV_ACK_0</expression>
+ </outVariable>
+ <outVariable localId="12" executionOrderId="0" height="25" width="82" negated="false">
+ <position x="645" y="195"/>
+ <connectionPointIn>
+ <relPosition x="0" y="10"/>
+ <connection refLocalId="1" formalParameter="ACK">
+ <position x="645" y="205"/>
+ <position x="604" y="205"/>
+ </connection>
+ </connectionPointIn>
+ <expression>CSV_ACK_1</expression>
+ </outVariable>
+ <outVariable localId="13" executionOrderId="0" height="25" width="82" negated="false">
+ <position x="645" y="220"/>
+ <connectionPointIn>
+ <relPosition x="0" y="10"/>
+ <connection refLocalId="1" formalParameter="RESULT">
+ <position x="645" y="230"/>
+ <position x="604" y="230"/>
+ </connection>
+ </connectionPointIn>
+ <expression>CSV_RES_1</expression>
+ </outVariable>
+ <inVariable localId="14" executionOrderId="0" height="25" width="125" negated="false">
+ <position x="300" y="355"/>
+ <connectionPointOut>
+ <relPosition x="125" y="10"/>
+ </connectionPointOut>
+ <expression>CSV_RELOAD_BTN</expression>
+ </inVariable>
+ </FBD>
+ </body>
+ </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>