exemples/svghmi_jumps/plc.xml
author Edouard Tisserant
Fri, 09 Sep 2022 10:34:23 +0200
changeset 3601 26a2808038fd
permissions -rw-r--r--
SVGHMI: add an exemple that demonstrate use of Jump widget in different use cases.
<?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-09-05T09:02:48"/>
  <contentHeader name="Unnamed" modificationDateTime="2022-09-09T09:39:37">
    <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="LOGGER0">
              <type>
                <derived name="LOGGER"/>
              </type>
            </variable>
            <variable name="ENTERING_PAGE">
              <type>
                <derived name="HMI_BOOL"/>
              </type>
            </variable>
            <variable name="LEVEL">
              <type>
                <derived name="LOGLEVEL"/>
              </type>
              <initialValue>
                <simpleValue value="DEBUG"/>
              </initialValue>
            </variable>
          </localVars>
          <externalVars>
            <variable name="CURRENT_PAGE_0">
              <type>
                <derived name="HMI_STRING"/>
              </type>
            </variable>
          </externalVars>
          <localVars>
            <variable name="R_TRIG0">
              <type>
                <derived name="R_TRIG"/>
              </type>
            </variable>
            <variable name="ENABLE_JUMP">
              <type>
                <derived name="HMI_BOOL"/>
              </type>
            </variable>
            <variable name="FB_ZERO">
              <type>
                <derived name="my_functionBlock"/>
              </type>
            </variable>
            <variable name="FB_ONE">
              <type>
                <derived name="my_functionBlock"/>
              </type>
            </variable>
            <variable name="FB_TWO">
              <type>
                <derived name="my_functionBlock"/>
              </type>
            </variable>
            <variable name="FB_THREE">
              <type>
                <derived name="my_functionBlock"/>
              </type>
            </variable>
            <variable name="FB_FOUR">
              <type>
                <derived name="my_functionBlock"/>
              </type>
            </variable>
            <variable name="FB_FIVE">
              <type>
                <derived name="my_functionBlock"/>
              </type>
            </variable>
            <variable name="Enable0">
              <type>
                <derived name="HMI_BOOL"/>
              </type>
              <initialValue>
                <simpleValue value="TRUE"/>
              </initialValue>
            </variable>
            <variable name="Enable1">
              <type>
                <derived name="HMI_BOOL"/>
              </type>
            </variable>
            <variable name="Enable2">
              <type>
                <derived name="HMI_BOOL"/>
              </type>
              <initialValue>
                <simpleValue value="TRUE"/>
              </initialValue>
            </variable>
            <variable name="Enable3">
              <type>
                <derived name="HMI_BOOL"/>
              </type>
              <initialValue>
                <simpleValue value="TRUE"/>
              </initialValue>
            </variable>
            <variable name="Enable4">
              <type>
                <derived name="HMI_BOOL"/>
              </type>
            </variable>
            <variable name="Enable5">
              <type>
                <derived name="HMI_BOOL"/>
              </type>
              <initialValue>
                <simpleValue value="TRUE"/>
              </initialValue>
            </variable>
          </localVars>
        </interface>
        <body>
          <FBD>
            <block localId="1" typeName="LOGGER" instanceName="LOGGER0" executionOrderId="0" height="105" width="58">
              <position x="280" y="275"/>
              <inputVariables>
                <variable formalParameter="TRIG">
                  <connectionPointIn>
                    <relPosition x="0" y="35"/>
                    <connection refLocalId="7">
                      <position x="280" y="310"/>
                      <position x="189" y="310"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="MSG">
                  <connectionPointIn>
                    <relPosition x="0" y="60"/>
                    <connection refLocalId="11">
                      <position x="280" y="335"/>
                      <position x="212" y="335"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="LEVEL">
                  <connectionPointIn>
                    <relPosition x="0" y="90"/>
                    <connection refLocalId="8">
                      <position x="280" y="365"/>
                      <position x="190" y="365"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables/>
            </block>
            <inVariable localId="2" executionOrderId="0" height="24" width="114" negated="false">
              <position x="25" y="550"/>
              <connectionPointOut>
                <relPosition x="114" y="10"/>
              </connectionPointOut>
              <expression>ENTERING_PAGE</expression>
            </inVariable>
            <inVariable localId="4" executionOrderId="0" height="25" width="90" negated="false">
              <position x="160" y="575"/>
              <connectionPointOut>
                <relPosition x="90" y="10"/>
              </connectionPointOut>
              <expression>BOOL#FALSE</expression>
            </inVariable>
            <block localId="6" typeName="MOVE" executionOrderId="0" height="70" width="55">
              <position x="295" y="530"/>
              <inputVariables>
                <variable formalParameter="EN" edge="falling">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                    <connection refLocalId="13" formalParameter="Q">
                      <position x="295" y="560"/>
                      <position x="250" y="560"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN">
                  <connectionPointIn>
                    <relPosition x="0" y="55"/>
                    <connection refLocalId="4">
                      <position x="295" y="585"/>
                      <position x="250" y="585"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="ENO">
                  <connectionPointOut>
                    <relPosition x="55" y="30"/>
                  </connectionPointOut>
                </variable>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="55" y="55"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <inVariable localId="7" executionOrderId="0" height="24" width="114" negated="false">
              <position x="75" y="300"/>
              <connectionPointOut>
                <relPosition x="114" y="10"/>
              </connectionPointOut>
              <expression>ENTERING_PAGE</expression>
            </inVariable>
            <inVariable localId="8" executionOrderId="0" height="25" width="50" negated="false">
              <position x="140" y="355"/>
              <connectionPointOut>
                <relPosition x="50" y="10"/>
              </connectionPointOut>
              <expression>LEVEL</expression>
            </inVariable>
            <comment localId="9" height="40" width="640">
              <position x="15" y="210"/>
              <content>
                <xhtml:p><![CDATA[Acknowledge page jump being notified by HMI by setting ENTERING_PAGE to True]]></xhtml:p>
              </content>
            </comment>
            <inVariable localId="11" executionOrderId="0" height="25" width="122" negated="false">
              <position x="90" y="325"/>
              <connectionPointOut>
                <relPosition x="122" y="10"/>
              </connectionPointOut>
              <expression>CURRENT_PAGE_0</expression>
            </inVariable>
            <outVariable localId="12" executionOrderId="0" height="25" width="115" negated="false">
              <position x="385" y="575"/>
              <connectionPointIn>
                <relPosition x="0" y="10"/>
                <connection refLocalId="6" formalParameter="OUT">
                  <position x="385" y="585"/>
                  <position x="350" y="585"/>
                </connection>
              </connectionPointIn>
              <expression>ENTERING_PAGE</expression>
            </outVariable>
            <block localId="13" typeName="R_TRIG" instanceName="R_TRIG0" executionOrderId="0" height="40" width="60">
              <position x="190" y="530"/>
              <inputVariables>
                <variable formalParameter="CLK">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                    <connection refLocalId="2">
                      <position x="190" y="560"/>
                      <position x="139" y="560"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="Q">
                  <connectionPointOut>
                    <relPosition x="60" y="30"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <comment localId="3" height="60" width="640">
              <position x="15" y="440"/>
              <content>
                <xhtml:p><![CDATA[Reset ENTERING_PAGE 1 cycle after being set. 
Use EN pin of MOVE to ensure that variable is only assigned when being reset.]]></xhtml:p>
              </content>
            </comment>
            <block localId="14" typeName="my_functionBlock" instanceName="FB_ZERO" executionOrderId="0" height="70" width="191">
              <position x="170" y="16"/>
              <inputVariables>
                <variable formalParameter="SOME_STRING">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                    <connection refLocalId="24">
                      <position x="170" y="46"/>
                      <position x="125" y="46"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="SOME_INPUT">
                  <connectionPointIn>
                    <relPosition x="0" y="55"/>
                    <connection refLocalId="18">
                      <position x="170" y="71"/>
                      <position x="125" y="71"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="SOME_OUTPUT">
                  <connectionPointOut>
                    <relPosition x="191" y="30"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="5" typeName="my_functionBlock" instanceName="FB_ONE" executionOrderId="0" height="70" width="191">
              <position x="170" y="110"/>
              <inputVariables>
                <variable formalParameter="SOME_STRING">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                    <connection refLocalId="25">
                      <position x="170" y="140"/>
                      <position x="125" y="140"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="SOME_INPUT">
                  <connectionPointIn>
                    <relPosition x="0" y="55"/>
                    <connection refLocalId="19">
                      <position x="170" y="165"/>
                      <position x="125" y="165"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="SOME_OUTPUT">
                  <connectionPointOut>
                    <relPosition x="191" y="30"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="10" typeName="my_functionBlock" instanceName="FB_THREE" executionOrderId="0" height="70" width="191">
              <position x="515" y="110"/>
              <inputVariables>
                <variable formalParameter="SOME_STRING">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                    <connection refLocalId="27">
                      <position x="515" y="140"/>
                      <position x="475" y="140"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="SOME_INPUT">
                  <connectionPointIn>
                    <relPosition x="0" y="55"/>
                    <connection refLocalId="21">
                      <position x="515" y="165"/>
                      <position x="475" y="165"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="SOME_OUTPUT">
                  <connectionPointOut>
                    <relPosition x="191" y="30"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="15" typeName="my_functionBlock" instanceName="FB_TWO" executionOrderId="0" height="70" width="191">
              <position x="515" y="16"/>
              <inputVariables>
                <variable formalParameter="SOME_STRING">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                    <connection refLocalId="26">
                      <position x="515" y="46"/>
                      <position x="475" y="46"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="SOME_INPUT">
                  <connectionPointIn>
                    <relPosition x="0" y="55"/>
                    <connection refLocalId="20">
                      <position x="515" y="71"/>
                      <position x="475" y="71"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="SOME_OUTPUT">
                  <connectionPointOut>
                    <relPosition x="191" y="30"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="16" typeName="my_functionBlock" instanceName="FB_FIVE" executionOrderId="0" height="75" width="191">
              <position x="860" y="111"/>
              <inputVariables>
                <variable formalParameter="SOME_STRING">
                  <connectionPointIn>
                    <relPosition x="0" y="34"/>
                    <connection refLocalId="29">
                      <position x="860" y="145"/>
                      <position x="815" y="145"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="SOME_INPUT">
                  <connectionPointIn>
                    <relPosition x="0" y="59"/>
                    <connection refLocalId="23">
                      <position x="860" y="170"/>
                      <position x="815" y="170"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="SOME_OUTPUT">
                  <connectionPointOut>
                    <relPosition x="191" y="34"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="17" typeName="my_functionBlock" instanceName="FB_FOUR" executionOrderId="0" height="70" width="191">
              <position x="860" y="17"/>
              <inputVariables>
                <variable formalParameter="SOME_STRING">
                  <connectionPointIn>
                    <relPosition x="0" y="34"/>
                    <connection refLocalId="28">
                      <position x="860" y="51"/>
                      <position x="815" y="51"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="SOME_INPUT">
                  <connectionPointIn>
                    <relPosition x="0" y="59"/>
                    <connection refLocalId="22">
                      <position x="860" y="76"/>
                      <position x="815" y="76"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="SOME_OUTPUT">
                  <connectionPointOut>
                    <relPosition x="191" y="34"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <inVariable localId="18" executionOrderId="0" height="25" width="70" negated="false">
              <position x="55" y="61"/>
              <connectionPointOut>
                <relPosition x="70" y="10"/>
              </connectionPointOut>
              <expression>Enable0</expression>
            </inVariable>
            <inVariable localId="19" executionOrderId="0" height="25" width="70" negated="false">
              <position x="55" y="155"/>
              <connectionPointOut>
                <relPosition x="70" y="10"/>
              </connectionPointOut>
              <expression>Enable1</expression>
            </inVariable>
            <inVariable localId="20" executionOrderId="0" height="25" width="70" negated="false">
              <position x="405" y="61"/>
              <connectionPointOut>
                <relPosition x="70" y="10"/>
              </connectionPointOut>
              <expression>Enable2</expression>
            </inVariable>
            <inVariable localId="21" executionOrderId="0" height="25" width="70" negated="false">
              <position x="405" y="155"/>
              <connectionPointOut>
                <relPosition x="70" y="10"/>
              </connectionPointOut>
              <expression>Enable3</expression>
            </inVariable>
            <inVariable localId="22" executionOrderId="0" height="25" width="70" negated="false">
              <position x="745" y="66"/>
              <connectionPointOut>
                <relPosition x="70" y="10"/>
              </connectionPointOut>
              <expression>Enable4</expression>
            </inVariable>
            <inVariable localId="23" executionOrderId="0" height="25" width="70" negated="false">
              <position x="745" y="160"/>
              <connectionPointOut>
                <relPosition x="70" y="10"/>
              </connectionPointOut>
              <expression>Enable5</expression>
            </inVariable>
            <inVariable localId="24" executionOrderId="0" height="25" width="70" negated="false">
              <position x="55" y="36"/>
              <connectionPointOut>
                <relPosition x="70" y="10"/>
              </connectionPointOut>
              <expression>'VENUS'</expression>
            </inVariable>
            <inVariable localId="25" executionOrderId="0" height="25" width="75" negated="false">
              <position x="50" y="130"/>
              <connectionPointOut>
                <relPosition x="75" y="10"/>
              </connectionPointOut>
              <expression>'URANUS'</expression>
            </inVariable>
            <inVariable localId="26" executionOrderId="0" height="25" width="85" negated="false">
              <position x="390" y="36"/>
              <connectionPointOut>
                <relPosition x="85" y="10"/>
              </connectionPointOut>
              <expression>'JUPITER'</expression>
            </inVariable>
            <inVariable localId="27" executionOrderId="0" height="25" width="60" negated="false">
              <position x="415" y="130"/>
              <connectionPointOut>
                <relPosition x="60" y="10"/>
              </connectionPointOut>
              <expression>'MARS'</expression>
            </inVariable>
            <inVariable localId="28" executionOrderId="0" height="25" width="85" negated="false">
              <position x="730" y="41"/>
              <connectionPointOut>
                <relPosition x="85" y="10"/>
              </connectionPointOut>
              <expression>'NEPTUNE'</expression>
            </inVariable>
            <inVariable localId="29" executionOrderId="0" height="25" width="70" negated="false">
              <position x="745" y="135"/>
              <connectionPointOut>
                <relPosition x="70" y="10"/>
              </connectionPointOut>
              <expression>'EARTH'</expression>
            </inVariable>
          </FBD>
        </body>
      </pou>
      <pou name="my_functionBlock" pouType="functionBlock">
        <interface>
          <localVars>
            <variable name="MYNODE">
              <type>
                <derived name="HMI_NODE"/>
              </type>
              <documentation>
                <xhtml:p><![CDATA[Using HMI_NODE creates node un HMI tree]]></xhtml:p>
              </documentation>
            </variable>
            <variable name="SOME_INT">
              <type>
                <derived name="HMI_INT"/>
              </type>
            </variable>
          </localVars>
          <inputVars>
            <variable name="SOME_STRING">
              <type>
                <derived name="HMI_STRING"/>
              </type>
            </variable>
          </inputVars>
          <localVars>
            <variable name="SOME_BOOL">
              <type>
                <derived name="HMI_BOOL"/>
              </type>
            </variable>
            <variable name="SOME_REAL">
              <type>
                <derived name="HMI_REAL"/>
              </type>
            </variable>
          </localVars>
          <inputVars>
            <variable name="SOME_INPUT">
              <type>
                <BOOL/>
              </type>
            </variable>
          </inputVars>
          <outputVars>
            <variable name="SOME_OUTPUT">
              <type>
                <BOOL/>
              </type>
            </variable>
          </outputVars>
        </interface>
        <body>
          <FBD>
            <inVariable localId="1" executionOrderId="0" height="25" width="90" negated="false">
              <position x="100" y="70"/>
              <connectionPointOut>
                <relPosition x="90" y="10"/>
              </connectionPointOut>
              <expression>SOME_INPUT</expression>
            </inVariable>
            <outVariable localId="2" executionOrderId="0" height="25" width="100" negated="false">
              <position x="250" y="70"/>
              <connectionPointIn>
                <relPosition x="0" y="10"/>
                <connection refLocalId="1">
                  <position x="250" y="80"/>
                  <position x="190" y="80"/>
                </connection>
              </connectionPointIn>
              <expression>SOME_OUTPUT</expression>
            </outVariable>
            <outVariable localId="4" executionOrderId="0" height="25" width="85" negated="false">
              <position x="250" y="105"/>
              <connectionPointIn>
                <relPosition x="0" y="10"/>
                <connection refLocalId="1">
                  <position x="250" y="115"/>
                  <position x="225" y="115"/>
                  <position x="225" y="80"/>
                  <position x="190" y="80"/>
                </connection>
              </connectionPointIn>
              <expression>SOME_BOOL</expression>
            </outVariable>
          </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>