39 </variable> |
42 </variable> |
40 </externalVars> |
43 </externalVars> |
41 </interface> |
44 </interface> |
42 <body> |
45 <body> |
43 <FBD> |
46 <FBD> |
44 <inVariable localId="1" executionOrderId="0" height="25" width="55" negated="false"> |
47 <inVariable localId="1" executionOrderId="0" height="30" width="55" negated="false"> |
45 <position x="144" y="70"/> |
48 <position x="57" y="540"/> |
46 <connectionPointOut> |
49 <connectionPointOut> |
47 <relPosition x="55" y="12"/> |
50 <relPosition x="55" y="15"/> |
48 </connectionPointOut> |
51 </connectionPointOut> |
49 <expression>PyVar0</expression> |
52 <expression>PyVar0</expression> |
50 </inVariable> |
53 </inVariable> |
51 <block localId="3" typeName="ADD" executionOrderId="0" height="60" width="65"> |
54 <block localId="3" typeName="ADD" executionOrderId="0" height="60" width="67"> |
52 <position x="245" y="52"/> |
55 <position x="168" y="525"/> |
53 <inputVariables> |
56 <inputVariables> |
54 <variable formalParameter="IN1"> |
57 <variable formalParameter="IN1"> |
55 <connectionPointIn> |
58 <connectionPointIn> |
56 <relPosition x="0" y="30"/> |
59 <relPosition x="0" y="30"/> |
57 <connection refLocalId="1"> |
60 <connection refLocalId="1"> |
58 <position x="245" y="82"/> |
61 <position x="168" y="555"/> |
59 <position x="199" y="82"/> |
62 <position x="112" y="555"/> |
60 </connection> |
63 </connection> |
61 </connectionPointIn> |
64 </connectionPointIn> |
62 </variable> |
65 </variable> |
63 <variable formalParameter="IN2"> |
66 <variable formalParameter="IN2"> |
64 <connectionPointIn> |
67 <connectionPointIn> |
65 <relPosition x="0" y="50"/> |
68 <relPosition x="0" y="50"/> |
66 <connection refLocalId="4"> |
69 <connection refLocalId="4"> |
67 <position x="245" y="102"/> |
70 <position x="168" y="575"/> |
68 <position x="228" y="102"/> |
71 <position x="151" y="575"/> |
69 <position x="228" y="113"/> |
72 <position x="151" y="595"/> |
70 <position x="198" y="113"/> |
73 <position x="112" y="595"/> |
71 </connection> |
74 </connection> |
72 </connectionPointIn> |
75 </connectionPointIn> |
73 </variable> |
76 </variable> |
74 </inputVariables> |
77 </inputVariables> |
75 <inOutVariables/> |
78 <inOutVariables/> |
76 <outputVariables> |
79 <outputVariables> |
77 <variable formalParameter="OUT"> |
80 <variable formalParameter="OUT"> |
78 <connectionPointOut> |
81 <connectionPointOut> |
79 <relPosition x="65" y="30"/> |
82 <relPosition x="67" y="30"/> |
80 </connectionPointOut> |
83 </connectionPointOut> |
81 </variable> |
84 </variable> |
82 </outputVariables> |
85 </outputVariables> |
83 </block> |
86 </block> |
84 <inVariable localId="4" executionOrderId="0" height="25" width="73" negated="false"> |
87 <inVariable localId="4" executionOrderId="0" height="30" width="73" negated="false"> |
85 <position x="125" y="101"/> |
88 <position x="39" y="580"/> |
86 <connectionPointOut> |
89 <connectionPointOut> |
87 <relPosition x="73" y="12"/> |
90 <relPosition x="73" y="15"/> |
88 </connectionPointOut> |
91 </connectionPointOut> |
89 <expression>LocalVar0</expression> |
92 <expression>LocalVar0</expression> |
90 </inVariable> |
93 </inVariable> |
91 <outVariable localId="2" executionOrderId="0" height="25" width="55" negated="false"> |
94 <comment localId="5" height="459" width="788"> |
92 <position x="344" y="70"/> |
95 <position x="23" y="10"/> |
|
96 <content> |
|
97 <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). |
|
98 Beremiz reference runtime implementation supports PYRO and WAMP protocols. |
|
99 This example shows how to use Web Application Messaging Protocol (WAMP). |
|
100 |
|
101 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. |
|
102 |
|
103 WAMP is in a process to be published as official IETF standard. Draft specification is already available on IETF website. |
|
104 |
|
105 To use this example you need WAMP router and standalone running Beremiz_service. |
|
106 1. See README file in project's directory with detailed instructions for |
|
107 setup Crossbar.io, router for open Web Application Messaging Protocol (WAMP). |
|
108 2. Run crossbar |
|
109 3. Create service working directory and copy wampconf.json from project_files to created directory |
|
110 4. Run Beremiz_service: |
|
111 ./Beremiz_service.py -x 0 <working directory> |
|
112 ]]></xhtml:p> |
|
113 </content> |
|
114 </comment> |
|
115 <inOutVariable localId="2" executionOrderId="0" height="30" width="55" negatedOut="false" negatedIn="false"> |
|
116 <position x="270" y="540"/> |
93 <connectionPointIn> |
117 <connectionPointIn> |
94 <relPosition x="0" y="12"/> |
118 <relPosition x="0" y="15"/> |
95 <connection refLocalId="3" formalParameter="OUT"> |
119 <connection refLocalId="3" formalParameter="OUT"> |
96 <position x="344" y="82"/> |
120 <position x="270" y="555"/> |
97 <position x="310" y="82"/> |
121 <position x="235" y="555"/> |
98 </connection> |
122 </connection> |
99 </connectionPointIn> |
123 </connectionPointIn> |
|
124 <connectionPointOut> |
|
125 <relPosition x="55" y="15"/> |
|
126 </connectionPointOut> |
100 <expression>PyVar1</expression> |
127 <expression>PyVar1</expression> |
|
128 </inOutVariable> |
|
129 <outVariable localId="6" executionOrderId="0" height="30" width="55" negated="false"> |
|
130 <position x="362" y="540"/> |
|
131 <connectionPointIn> |
|
132 <relPosition x="0" y="15"/> |
|
133 <connection refLocalId="2"> |
|
134 <position x="362" y="555"/> |
|
135 <position x="325" y="555"/> |
|
136 </connection> |
|
137 </connectionPointIn> |
|
138 <expression>PyVar0</expression> |
101 </outVariable> |
139 </outVariable> |
102 </FBD> |
140 </FBD> |
103 </body> |
141 </body> |
104 </pou> |
142 </pou> |
105 </pous> |
143 </pous> |