exemples/svghmi_foreach/plc.xml
author Dino Kosic <44305363+kraskrom@users.noreply.github.com>
Mon, 02 Dec 2024 11:33:19 +0100
changeset 4056 4b2de1a0fbf9
parent 4026 a3cf9f635952
permissions -rw-r--r--
Extend HMI:JsonTable, create Edit CSV POU, create example, add some doc (#41)

* Extend Jsontable widget, create Edit CSV POU, create example for both

* Add doc for HMI:Image and HMI:JsonTable

* Expand example to include HMI:Image
<?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="2019-08-06T14:23:42"/>
  <contentHeader name="Unnamed" modificationDateTime="2024-10-09T11:37:00">
    <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="MainStuff" pouType="program">
        <interface>
          <localVars>
            <variable name="Pump0">
              <type>
                <derived name="PumpControl"/>
              </type>
            </variable>
            <variable name="Pump1">
              <type>
                <derived name="PumpControl"/>
              </type>
            </variable>
            <variable name="Pump2">
              <type>
                <derived name="PumpControl"/>
              </type>
            </variable>
            <variable name="Pump3">
              <type>
                <derived name="PumpControl"/>
              </type>
            </variable>
            <variable name="Pump4">
              <type>
                <derived name="PumpControl"/>
              </type>
            </variable>
            <variable name="Pump5">
              <type>
                <derived name="PumpControl"/>
              </type>
            </variable>
            <variable name="Pump6">
              <type>
                <derived name="PumpControl"/>
              </type>
            </variable>
            <variable name="Pump7">
              <type>
                <derived name="PumpControl"/>
              </type>
            </variable>
          </localVars>
        </interface>
        <body>
          <FBD>
            <block localId="4" typeName="PumpControl" instanceName="Pump0" executionOrderId="0" height="60" width="127">
              <position x="595" y="50"/>
              <inputVariables>
                <variable formalParameter="Pump">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="strin">
                  <connectionPointIn>
                    <relPosition x="0" y="50"/>
                    <connection refLocalId="12">
                      <position x="595" y="100"/>
                      <position x="520" y="100"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables/>
            </block>
            <block localId="1" typeName="PumpControl" instanceName="Pump1" executionOrderId="0" height="60" width="127">
              <position x="595" y="280"/>
              <inputVariables>
                <variable formalParameter="Pump">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="strin">
                  <connectionPointIn>
                    <relPosition x="0" y="50"/>
                    <connection refLocalId="13">
                      <position x="595" y="330"/>
                      <position x="525" y="330"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables/>
            </block>
            <block localId="2" typeName="PumpControl" instanceName="Pump2" executionOrderId="0" height="60" width="127">
              <position x="595" y="160"/>
              <inputVariables>
                <variable formalParameter="Pump">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="strin">
                  <connectionPointIn>
                    <relPosition x="0" y="50"/>
                    <connection refLocalId="5">
                      <position x="595" y="210"/>
                      <position x="520" y="210"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables/>
            </block>
            <block localId="3" typeName="PumpControl" instanceName="Pump3" executionOrderId="0" height="60" width="127">
              <position x="595" y="395"/>
              <inputVariables>
                <variable formalParameter="Pump">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="strin">
                  <connectionPointIn>
                    <relPosition x="0" y="50"/>
                    <connection refLocalId="14">
                      <position x="595" y="445"/>
                      <position x="525" y="445"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables/>
            </block>
            <block localId="6" typeName="PumpControl" instanceName="Pump4" executionOrderId="0" height="60" width="127">
              <position x="595" y="515"/>
              <inputVariables>
                <variable formalParameter="Pump">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="strin">
                  <connectionPointIn>
                    <relPosition x="0" y="50"/>
                    <connection refLocalId="15">
                      <position x="595" y="565"/>
                      <position x="520" y="565"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables/>
            </block>
            <block localId="7" typeName="PumpControl" instanceName="Pump5" executionOrderId="0" height="60" width="127">
              <position x="595" y="645"/>
              <inputVariables>
                <variable formalParameter="Pump">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                    <connection refLocalId="11">
                      <position x="595" y="675"/>
                      <position x="582" y="675"/>
                      <position x="582" y="665"/>
                      <position x="570" y="665"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="strin">
                  <connectionPointIn>
                    <relPosition x="0" y="50"/>
                    <connection refLocalId="16">
                      <position x="595" y="695"/>
                      <position x="525" y="695"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables/>
            </block>
            <block localId="8" typeName="PumpControl" instanceName="Pump6" executionOrderId="0" height="60" width="127">
              <position x="595" y="775"/>
              <inputVariables>
                <variable formalParameter="Pump">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="strin">
                  <connectionPointIn>
                    <relPosition x="0" y="50"/>
                    <connection refLocalId="17">
                      <position x="595" y="825"/>
                      <position x="530" y="825"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables/>
            </block>
            <block localId="9" typeName="PumpControl" instanceName="Pump7" executionOrderId="0" height="60" width="127">
              <position x="595" y="895"/>
              <inputVariables>
                <variable formalParameter="Pump">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                    <connection refLocalId="10">
                      <position x="595" y="925"/>
                      <position x="577" y="925"/>
                      <position x="577" y="905"/>
                      <position x="560" y="905"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="strin">
                  <connectionPointIn>
                    <relPosition x="0" y="50"/>
                    <connection refLocalId="18">
                      <position x="595" y="945"/>
                      <position x="530" y="945"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables/>
            </block>
            <inVariable localId="10" executionOrderId="0" height="27" width="20" negated="false">
              <position x="540" y="890"/>
              <connectionPointOut>
                <relPosition x="20" y="15"/>
              </connectionPointOut>
              <expression>0</expression>
            </inVariable>
            <inVariable localId="11" executionOrderId="0" height="27" width="20" negated="false">
              <position x="550" y="650"/>
              <connectionPointOut>
                <relPosition x="20" y="15"/>
              </connectionPointOut>
              <expression>0</expression>
            </inVariable>
            <inVariable localId="12" executionOrderId="0" height="30" width="35" negated="false">
              <position x="485" y="85"/>
              <connectionPointOut>
                <relPosition x="35" y="15"/>
              </connectionPointOut>
              <expression>'1'</expression>
            </inVariable>
            <inVariable localId="5" executionOrderId="0" height="30" width="35" negated="false">
              <position x="485" y="195"/>
              <connectionPointOut>
                <relPosition x="35" y="15"/>
              </connectionPointOut>
              <expression>'B'</expression>
            </inVariable>
            <inVariable localId="13" executionOrderId="0" height="30" width="50" negated="false">
              <position x="490" y="315"/>
              <connectionPointOut>
                <relPosition x="50" y="15"/>
              </connectionPointOut>
              <expression>'red'</expression>
            </inVariable>
            <inVariable localId="14" executionOrderId="0" height="30" width="70" negated="false">
              <position x="490" y="430"/>
              <connectionPointOut>
                <relPosition x="70" y="15"/>
              </connectionPointOut>
              <expression>'three'</expression>
            </inVariable>
            <inVariable localId="15" executionOrderId="0" height="30" width="35" negated="false">
              <position x="485" y="550"/>
              <connectionPointOut>
                <relPosition x="35" y="15"/>
              </connectionPointOut>
              <expression>'4'</expression>
            </inVariable>
            <inVariable localId="16" executionOrderId="0" height="30" width="35" negated="false">
              <position x="490" y="680"/>
              <connectionPointOut>
                <relPosition x="35" y="15"/>
              </connectionPointOut>
              <expression>'5'</expression>
            </inVariable>
            <inVariable localId="17" executionOrderId="0" height="30" width="35" negated="false">
              <position x="495" y="810"/>
              <connectionPointOut>
                <relPosition x="35" y="15"/>
              </connectionPointOut>
              <expression>'6'</expression>
            </inVariable>
            <inVariable localId="18" executionOrderId="0" height="30" width="60" negated="false">
              <position x="495" y="930"/>
              <connectionPointOut>
                <relPosition x="60" y="15"/>
              </connectionPointOut>
              <expression>'last'</expression>
            </inVariable>
          </FBD>
        </body>
      </pou>
      <pou name="PumpControl" pouType="functionBlock">
        <interface>
          <inputVars>
            <variable name="Pump">
              <type>
                <derived name="HMI_NODE"/>
              </type>
              <initialValue>
                <simpleValue value="1"/>
              </initialValue>
            </variable>
          </inputVars>
          <localVars>
            <variable name="strout">
              <type>
                <derived name="HMI_STRING"/>
              </type>
            </variable>
          </localVars>
          <inputVars>
            <variable name="strin">
              <type>
                <derived name="HMI_STRING"/>
              </type>
              <initialValue>
                <simpleValue value="blup"/>
              </initialValue>
            </variable>
          </inputVars>
        </interface>
        <body>
          <FBD>
            <block localId="10" typeName="CONCAT" executionOrderId="0" height="60" width="65">
              <position x="360" y="345"/>
              <inputVariables>
                <variable formalParameter="IN1">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                    <connection refLocalId="1">
                      <position x="360" y="375"/>
                      <position x="322" y="375"/>
                      <position x="322" y="370"/>
                      <position x="285" y="370"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition x="0" y="50"/>
                    <connection refLocalId="14">
                      <position x="360" y="395"/>
                      <position x="312" y="395"/>
                      <position x="312" y="405"/>
                      <position x="260" y="405"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="65" y="30"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <outVariable localId="11" executionOrderId="0" height="30" width="58" negated="false">
              <position x="495" y="355"/>
              <connectionPointIn>
                <relPosition x="0" y="15"/>
                <connection refLocalId="10" formalParameter="OUT">
                  <position x="495" y="370"/>
                  <position x="450" y="370"/>
                  <position x="450" y="375"/>
                  <position x="425" y="375"/>
                </connection>
              </connectionPointIn>
              <expression>strout</expression>
            </outVariable>
            <inVariable localId="14" executionOrderId="0" height="30" width="50" negated="false">
              <position x="210" y="390"/>
              <connectionPointOut>
                <relPosition x="50" y="15"/>
              </connectionPointOut>
              <expression>strin</expression>
            </inVariable>
            <inVariable localId="1" executionOrderId="0" height="30" width="75" negated="false">
              <position x="210" y="355"/>
              <connectionPointOut>
                <relPosition x="75" y="15"/>
              </connectionPointOut>
              <expression>'Pump '</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="MainStuff"/>
          </task>
        </resource>
      </configuration>
    </configurations>
  </instances>
</project>