tests/wamp/plc.xml
author Edouard Tisserant
Fri, 26 Mar 2021 14:53:35 +0100
branchsvghmi
changeset 3205 62753288be74
parent 2298 10cfc280927c
permissions -rw-r--r--
SVGHMI: Add list of HMI tree path in a JS array, so that we can use it for multiple purpose :
- display name of edited variable in keypads (currently wrong in relative pages)
- have some variable that hold basename of current relative page HMI_NODE's path
- propose some list of names in DropDown when selecting a relative page to jump to, without having to instancite many jump widgets.
<?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="Beremiz" productName="Beremiz" productVersion="1" creationDateTime="2015-02-05T11:44:55" contentDescription=" &#10;&#10;"/>
  <contentHeader name="WAMPTest" modificationDateTime="2018-08-27T11:11:30">
    <coordinateInfo>
      <fbd>
        <scaling x="0" y="0"/>
      </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="LocalVar0">
              <type>
                <DINT/>
              </type>
              <initialValue>
                <simpleValue value="1"/>
              </initialValue>
            </variable>
          </localVars>
          <externalVars>
            <variable name="PyVar0">
              <type>
                <DINT/>
              </type>
            </variable>
            <variable name="PyVar1">
              <type>
                <DINT/>
              </type>
            </variable>
          </externalVars>
        </interface>
        <body>
          <FBD>
            <inVariable localId="1" executionOrderId="0" height="30" width="55" negated="false">
              <position x="57" y="540"/>
              <connectionPointOut>
                <relPosition x="55" y="15"/>
              </connectionPointOut>
              <expression>PyVar0</expression>
            </inVariable>
            <block localId="3" typeName="ADD" executionOrderId="0" height="60" width="67">
              <position x="168" y="525"/>
              <inputVariables>
                <variable formalParameter="IN1">
                  <connectionPointIn>
                    <relPosition x="0" y="30"/>
                    <connection refLocalId="1">
                      <position x="168" y="555"/>
                      <position x="112" y="555"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition x="0" y="50"/>
                    <connection refLocalId="4">
                      <position x="168" y="575"/>
                      <position x="151" y="575"/>
                      <position x="151" y="595"/>
                      <position x="112" y="595"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="67" y="30"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <inVariable localId="4" executionOrderId="0" height="30" width="73" negated="false">
              <position x="39" y="580"/>
              <connectionPointOut>
                <relPosition x="73" y="15"/>
              </connectionPointOut>
              <expression>LocalVar0</expression>
            </inVariable>
            <comment localId="5" height="459" width="788">
              <position x="23" y="10"/>
              <content>
                <xhtml:p><![CDATA[Communication between Beremiz and PLC runtime isn't bound to any specific protocol and could be extended by writing corresponding connector (see 'connectors' directory).
Beremiz reference runtime implementation supports PYRO and WAMP protocols.
This example shows how to use Web Application Messaging Protocol (WAMP).

WAMP can be used to build distributed systems out of application components which are loosely coupled and communicate in real-time. No direct connection between IDE and PLC are necessary.

WAMP is in a process to be published as official IETF standard. Draft specification is already available on IETF website.
	
To use this example you need WAMP router and standalone running Beremiz_service.
1. See README file in project's directory with detailed instructions for
setup Crossbar.io, router for open Web Application Messaging Protocol (WAMP).
2. Run crossbar
3. Create service working directory and copy wampconf.json from project_files to created directory
4. Run Beremiz_service:
./Beremiz_service.py -x 0 <working directory>
]]></xhtml:p>
              </content>
            </comment>
            <inOutVariable localId="2" executionOrderId="0" height="30" width="55" negatedOut="false" negatedIn="false">
              <position x="270" y="540"/>
              <connectionPointIn>
                <relPosition x="0" y="15"/>
                <connection refLocalId="3" formalParameter="OUT">
                  <position x="270" y="555"/>
                  <position x="235" y="555"/>
                </connection>
              </connectionPointIn>
              <connectionPointOut>
                <relPosition x="55" y="15"/>
              </connectionPointOut>
              <expression>PyVar1</expression>
            </inOutVariable>
            <outVariable localId="6" executionOrderId="0" height="30" width="55" negated="false">
              <position x="362" y="540"/>
              <connectionPointIn>
                <relPosition x="0" y="15"/>
                <connection refLocalId="2">
                  <position x="362" y="555"/>
                  <position x="325" y="555"/>
                </connection>
              </connectionPointIn>
              <expression>PyVar0</expression>
            </outVariable>
          </FBD>
        </body>
      </pou>
    </pous>
  </types>
  <instances>
    <configurations>
      <configuration name="config">
        <resource name="resource1">
          <task name="Task0" priority="0" interval="T#100ms">
            <pouInstance name="Instance0" typeName="program0"/>
          </task>
        </resource>
      </configuration>
    </configurations>
  </instances>
</project>