Edouard@1439: <?xml version='1.0' encoding='utf-8'?>
Edouard@1439: <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">
Edouard@1439:   <fileHeader companyName="Beremiz" productName="Beremiz" productVersion="1" creationDateTime="2015-02-05T11:44:55" contentDescription=" &#10;&#10;"/>
andrej@2298:   <contentHeader name="WAMPTest" modificationDateTime="2018-08-27T11:11:30">
Edouard@1439:     <coordinateInfo>
Edouard@1439:       <fbd>
Edouard@1439:         <scaling x="0" y="0"/>
Edouard@1439:       </fbd>
Edouard@1439:       <ld>
Edouard@1439:         <scaling x="0" y="0"/>
Edouard@1439:       </ld>
Edouard@1439:       <sfc>
Edouard@1439:         <scaling x="0" y="0"/>
Edouard@1439:       </sfc>
Edouard@1439:     </coordinateInfo>
Edouard@1439:   </contentHeader>
Edouard@1439:   <types>
Edouard@1439:     <dataTypes/>
Edouard@1439:     <pous>
Edouard@1439:       <pou name="program0" pouType="program">
Edouard@1439:         <interface>
Edouard@1439:           <localVars>
Edouard@1439:             <variable name="LocalVar0">
Edouard@1439:               <type>
Edouard@1439:                 <DINT/>
Edouard@1439:               </type>
andrej@2290:               <initialValue>
andrej@2290:                 <simpleValue value="1"/>
andrej@2290:               </initialValue>
Edouard@1439:             </variable>
Edouard@1439:           </localVars>
Edouard@1439:           <externalVars>
Edouard@1439:             <variable name="PyVar0">
Edouard@1439:               <type>
Edouard@1439:                 <DINT/>
Edouard@1439:               </type>
Edouard@1439:             </variable>
Edouard@1439:             <variable name="PyVar1">
Edouard@1439:               <type>
Edouard@1439:                 <DINT/>
Edouard@1439:               </type>
Edouard@1439:             </variable>
Edouard@1439:           </externalVars>
Edouard@1439:         </interface>
Edouard@1439:         <body>
Edouard@1439:           <FBD>
andrej@2290:             <inVariable localId="1" executionOrderId="0" height="30" width="55" negated="false">
andrej@2290:               <position x="57" y="540"/>
Edouard@1439:               <connectionPointOut>
andrej@2290:                 <relPosition x="55" y="15"/>
Edouard@1439:               </connectionPointOut>
Edouard@1439:               <expression>PyVar0</expression>
Edouard@1439:             </inVariable>
andrej@2290:             <block localId="3" typeName="ADD" executionOrderId="0" height="60" width="67">
andrej@2290:               <position x="168" y="525"/>
Edouard@1439:               <inputVariables>
Edouard@1439:                 <variable formalParameter="IN1">
Edouard@1439:                   <connectionPointIn>
Edouard@1439:                     <relPosition x="0" y="30"/>
Edouard@1439:                     <connection refLocalId="1">
andrej@2290:                       <position x="168" y="555"/>
andrej@2290:                       <position x="112" y="555"/>
Edouard@1439:                     </connection>
Edouard@1439:                   </connectionPointIn>
Edouard@1439:                 </variable>
Edouard@1439:                 <variable formalParameter="IN2">
Edouard@1439:                   <connectionPointIn>
Edouard@1439:                     <relPosition x="0" y="50"/>
Edouard@1439:                     <connection refLocalId="4">
andrej@2290:                       <position x="168" y="575"/>
andrej@2290:                       <position x="151" y="575"/>
andrej@2290:                       <position x="151" y="595"/>
andrej@2290:                       <position x="112" y="595"/>
Edouard@1439:                     </connection>
Edouard@1439:                   </connectionPointIn>
Edouard@1439:                 </variable>
Edouard@1439:               </inputVariables>
Edouard@1439:               <inOutVariables/>
Edouard@1439:               <outputVariables>
Edouard@1439:                 <variable formalParameter="OUT">
Edouard@1439:                   <connectionPointOut>
andrej@2290:                     <relPosition x="67" y="30"/>
Edouard@1439:                   </connectionPointOut>
Edouard@1439:                 </variable>
Edouard@1439:               </outputVariables>
Edouard@1439:             </block>
andrej@2290:             <inVariable localId="4" executionOrderId="0" height="30" width="73" negated="false">
andrej@2290:               <position x="39" y="580"/>
Edouard@1439:               <connectionPointOut>
andrej@2290:                 <relPosition x="73" y="15"/>
Edouard@1439:               </connectionPointOut>
Edouard@1439:               <expression>LocalVar0</expression>
Edouard@1439:             </inVariable>
andrej@2298:             <comment localId="5" height="459" width="788">
andrej@2290:               <position x="23" y="10"/>
andrej@2290:               <content>
andrej@2290:                 <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).
andrej@2290: Beremiz reference runtime implementation supports PYRO and WAMP protocols.
andrej@2290: This example shows how to use Web Application Messaging Protocol (WAMP).
andrej@2290: 
andrej@2290: 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.
andrej@2290: 
andrej@2290: WAMP is in a process to be published as official IETF standard. Draft specification is already available on IETF website.
andrej@2290: 	
andrej@2290: To use this example you need WAMP router and standalone running Beremiz_service.
andrej@2290: 1. See README file in project's directory with detailed instructions for
andrej@2290: setup Crossbar.io, router for open Web Application Messaging Protocol (WAMP).
andrej@2290: 2. Run crossbar
andrej@2290: 3. Create service working directory and copy wampconf.json from project_files to created directory
andrej@2290: 4. Run Beremiz_service:
andrej@2290: ./Beremiz_service.py -x 0 <working directory>
andrej@2290: ]]></xhtml:p>
andrej@2290:               </content>
andrej@2290:             </comment>
andrej@2290:             <inOutVariable localId="2" executionOrderId="0" height="30" width="55" negatedOut="false" negatedIn="false">
andrej@2290:               <position x="270" y="540"/>
Edouard@1439:               <connectionPointIn>
andrej@2290:                 <relPosition x="0" y="15"/>
Edouard@1439:                 <connection refLocalId="3" formalParameter="OUT">
andrej@2290:                   <position x="270" y="555"/>
andrej@2290:                   <position x="235" y="555"/>
Edouard@1439:                 </connection>
Edouard@1439:               </connectionPointIn>
andrej@2290:               <connectionPointOut>
andrej@2290:                 <relPosition x="55" y="15"/>
andrej@2290:               </connectionPointOut>
Edouard@1439:               <expression>PyVar1</expression>
andrej@2290:             </inOutVariable>
andrej@2290:             <outVariable localId="6" executionOrderId="0" height="30" width="55" negated="false">
andrej@2290:               <position x="362" y="540"/>
andrej@2290:               <connectionPointIn>
andrej@2290:                 <relPosition x="0" y="15"/>
andrej@2290:                 <connection refLocalId="2">
andrej@2290:                   <position x="362" y="555"/>
andrej@2290:                   <position x="325" y="555"/>
andrej@2290:                 </connection>
andrej@2290:               </connectionPointIn>
andrej@2290:               <expression>PyVar0</expression>
Edouard@1439:             </outVariable>
Edouard@1439:           </FBD>
Edouard@1439:         </body>
Edouard@1439:       </pou>
Edouard@1439:     </pous>
Edouard@1439:   </types>
Edouard@1439:   <instances>
Edouard@1439:     <configurations>
Edouard@1439:       <configuration name="config">
Edouard@1439:         <resource name="resource1">
Edouard@1439:           <task name="Task0" priority="0" interval="T#100ms">
Edouard@1439:             <pouInstance name="Instance0" typeName="program0"/>
Edouard@1439:           </task>
Edouard@1439:         </resource>
Edouard@1439:       </configuration>
Edouard@1439:     </configurations>
Edouard@1439:   </instances>
Edouard@1439: </project>