tests/projects/wamp/plc.xml
changeset 3427 f748161de54b
parent 3416 53c66c4aefa3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/projects/wamp/plc.xml	Sun Feb 13 21:21:14 2022 +0100
@@ -0,0 +1,156 @@
+<?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>