81 <relPosition x="59" y="30"/> |
79 <relPosition x="59" y="30"/> |
82 </connectionPointOut> |
80 </connectionPointOut> |
83 </variable> |
81 </variable> |
84 </outputVariables> |
82 </outputVariables> |
85 </block> |
83 </block> |
86 <inOutVariable localId="4" height="27" width="41"> |
84 <inOutVariable localId="4" height="27" width="51" executionOrderId="0" negatedOut="false" negatedIn="false"> |
87 <position x="138" y="81"/> |
85 <position x="66" y="286"/> |
88 <connectionPointIn> |
86 <connectionPointIn> |
89 <relPosition x="0" y="13"/> |
87 <relPosition x="0" y="13"/> |
90 <connection refLocalId="3" formalParameter="OUT"> |
88 <connection refLocalId="3" formalParameter="OUT"> |
91 <position x="138" y="94"/> |
89 <position x="66" y="299"/> |
92 <position x="123" y="94"/> |
90 <position x="37" y="299"/> |
93 <position x="123" y="124"/> |
91 <position x="37" y="372"/> |
94 <position x="282" y="124"/> |
92 <position x="314" y="372"/> |
95 <position x="282" y="94"/> |
93 <position x="314" y="299"/> |
96 <position x="272" y="94"/> |
94 <position x="300" y="299"/> |
97 </connection> |
95 </connection> |
98 </connectionPointIn> |
96 </connectionPointIn> |
99 <connectionPointOut> |
97 <connectionPointOut> |
100 <relPosition x="41" y="13"/> |
98 <relPosition x="51" y="13"/> |
101 </connectionPointOut> |
99 </connectionPointOut> |
102 <expression>beat</expression> |
100 <expression>beat</expression> |
103 </inOutVariable> |
101 </inOutVariable> |
104 <block localId="5" width="68" height="80" typeName="ADD"> |
102 <block localId="5" width="68" height="98" typeName="ADD" executionOrderId="0"> |
105 <position x="482" y="209"/> |
103 <position x="463" y="385"/> |
106 <inputVariables> |
104 <inputVariables> |
107 <variable formalParameter="IN1"> |
105 <variable formalParameter="IN1"> |
108 <connectionPointIn> |
106 <connectionPointIn> |
109 <relPosition x="0" y="35"/> |
107 <relPosition x="0" y="39"/> |
110 <connection refLocalId="10" formalParameter="OUT"> |
108 <connection refLocalId="10" formalParameter="OUT"> |
111 <position x="482" y="244"/> |
109 <position x="463" y="424"/> |
112 <position x="459" y="244"/> |
110 <position x="452" y="424"/> |
113 <position x="459" y="230"/> |
111 <position x="452" y="424"/> |
114 <position x="449" y="230"/> |
112 <position x="454" y="424"/> |
|
113 <position x="454" y="424"/> |
|
114 <position x="444" y="424"/> |
115 </connection> |
115 </connection> |
116 </connectionPointIn> |
116 </connectionPointIn> |
117 </variable> |
117 </variable> |
118 <variable formalParameter="IN2"> |
118 <variable formalParameter="IN2"> |
119 <connectionPointIn> |
119 <connectionPointIn> |
120 <relPosition x="0" y="65"/> |
120 <relPosition x="0" y="78"/> |
121 <connection refLocalId="6"> |
121 <connection refLocalId="6"> |
122 <position x="482" y="274"/> |
122 <position x="463" y="463"/> |
123 <position x="397" y="274"/> |
123 <position x="444" y="463"/> |
124 </connection> |
124 </connection> |
125 </connectionPointIn> |
125 </connectionPointIn> |
126 </variable> |
126 </variable> |
127 </inputVariables> |
127 </inputVariables> |
128 <inOutVariables/> |
128 <inOutVariables/> |
129 <outputVariables> |
129 <outputVariables> |
130 <variable formalParameter="OUT"> |
130 <variable formalParameter="OUT"> |
131 <connectionPointOut> |
131 <connectionPointOut> |
132 <relPosition x="68" y="35"/> |
132 <relPosition x="68" y="39"/> |
133 </connectionPointOut> |
133 </connectionPointOut> |
134 </variable> |
134 </variable> |
135 </outputVariables> |
135 </outputVariables> |
136 </block> |
136 </block> |
137 <inOutVariable localId="6" height="27" width="48"> |
137 <inOutVariable localId="6" height="27" width="103" executionOrderId="0" negatedOut="false" negatedIn="false"> |
138 <position x="349" y="261"/> |
138 <position x="341" y="450"/> |
139 <connectionPointIn> |
139 <connectionPointIn> |
140 <relPosition x="0" y="13"/> |
140 <relPosition x="0" y="13"/> |
141 <connection refLocalId="5" formalParameter="OUT"> |
141 <connection refLocalId="5" formalParameter="OUT"> |
142 <position x="349" y="274"/> |
142 <position x="341" y="463"/> |
143 <position x="339" y="274"/> |
143 <position x="320" y="463"/> |
144 <position x="339" y="306"/> |
144 <position x="320" y="500"/> |
145 <position x="563" y="306"/> |
145 <position x="544" y="500"/> |
146 <position x="563" y="244"/> |
146 <position x="544" y="424"/> |
147 <position x="550" y="244"/> |
147 <position x="531" y="424"/> |
148 </connection> |
148 </connection> |
149 </connectionPointIn> |
149 </connectionPointIn> |
150 <connectionPointOut> |
150 <connectionPointOut> |
151 <relPosition x="48" y="13"/> |
151 <relPosition x="103" y="13"/> |
152 </connectionPointOut> |
152 </connectionPointOut> |
153 <expression>count</expression> |
153 <expression>count</expression> |
154 </inOutVariable> |
154 </inOutVariable> |
155 <block localId="8" width="67" height="60" typeName="CONCAT"> |
155 <block localId="8" width="67" height="144" typeName="CONCAT" executionOrderId="0"> |
156 <position x="868" y="174"/> |
156 <position x="727" y="311"/> |
157 <inputVariables> |
157 <inputVariables> |
158 <variable formalParameter="IN1"> |
158 <variable formalParameter="IN1"> |
159 <connectionPointIn> |
159 <connectionPointIn> |
160 <relPosition x="0" y="30"/> |
160 <relPosition x="0" y="51"/> |
161 <connection refLocalId="2"> |
161 <connection refLocalId="2"> |
162 <position x="868" y="204"/> |
162 <position x="727" y="362"/> |
163 <position x="843" y="204"/> |
163 <position x="677" y="362"/> |
164 <position x="843" y="201"/> |
|
165 <position x="817" y="201"/> |
|
166 </connection> |
164 </connection> |
167 </connectionPointIn> |
165 </connectionPointIn> |
168 </variable> |
166 </variable> |
169 <variable formalParameter="IN2"> |
167 <variable formalParameter="IN2"> |
170 <connectionPointIn> |
168 <connectionPointIn> |
171 <relPosition x="0" y="50"/> |
169 <relPosition x="0" y="113"/> |
172 <connection refLocalId="9" formalParameter="OUT"> |
170 <connection refLocalId="9" formalParameter="OUT"> |
173 <position x="868" y="224"/> |
171 <position x="727" y="424"/> |
174 <position x="765" y="224"/> |
172 <position x="677" y="424"/> |
175 <position x="765" y="232"/> |
173 </connection> |
176 <position x="712" y="232"/> |
174 </connectionPointIn> |
177 </connection> |
175 </variable> |
178 </connectionPointIn> |
176 </inputVariables> |
179 </variable> |
177 <inOutVariables/> |
180 </inputVariables> |
178 <outputVariables> |
181 <inOutVariables/> |
179 <variable formalParameter="OUT"> |
182 <outputVariables> |
180 <connectionPointOut> |
183 <variable formalParameter="OUT"> |
181 <relPosition x="67" y="51"/> |
184 <connectionPointOut> |
182 </connectionPointOut> |
185 <relPosition x="67" y="30"/> |
183 </variable> |
186 </connectionPointOut> |
184 </outputVariables> |
187 </variable> |
185 </block> |
188 </outputVariables> |
186 <block localId="9" width="116" height="40" typeName="INT_TO_STRING" executionOrderId="0"> |
189 </block> |
187 <position x="561" y="394"/> |
190 <block localId="9" width="116" height="40" typeName="INT_TO_STRING"> |
|
191 <position x="596" y="202"/> |
|
192 <inputVariables> |
188 <inputVariables> |
193 <variable formalParameter="IN"> |
189 <variable formalParameter="IN"> |
194 <connectionPointIn> |
190 <connectionPointIn> |
195 <relPosition x="0" y="30"/> |
191 <relPosition x="0" y="30"/> |
196 <connection refLocalId="5" formalParameter="OUT"> |
192 <connection refLocalId="5" formalParameter="OUT"> |
197 <position x="596" y="232"/> |
193 <position x="561" y="424"/> |
198 <position x="573" y="232"/> |
194 <position x="531" y="424"/> |
199 <position x="573" y="244"/> |
|
200 <position x="550" y="244"/> |
|
201 </connection> |
195 </connection> |
202 </connectionPointIn> |
196 </connectionPointIn> |
203 </variable> |
197 </variable> |
204 </inputVariables> |
198 </inputVariables> |
205 <inOutVariables/> |
199 <inOutVariables/> |
235 <relPosition x="105" y="30"/> |
227 <relPosition x="105" y="30"/> |
236 </connectionPointOut> |
228 </connectionPointOut> |
237 </variable> |
229 </variable> |
238 </outputVariables> |
230 </outputVariables> |
239 </block> |
231 </block> |
240 <block localId="11" width="65" height="80" typeName="LOGGER" instanceName="LOGGER0"> |
232 <block localId="11" width="65" height="209" typeName="LOGGER" instanceName="LOGGER0" executionOrderId="0"> |
241 <position x="1100" y="98"/> |
233 <position x="907" y="248"/> |
242 <inputVariables> |
234 <inputVariables> |
243 <variable formalParameter="TRIG"> |
235 <variable formalParameter="TRIG"> |
244 <connectionPointIn> |
236 <connectionPointIn> |
245 <relPosition x="0" y="30"/> |
237 <relPosition x="0" y="52"/> |
246 <connection refLocalId="3" formalParameter="OUT"> |
238 <connection refLocalId="3" formalParameter="OUT"> |
247 <position x="1100" y="128"/> |
239 <position x="907" y="300"/> |
248 <position x="631" y="128"/> |
240 <position x="300" y="300"/> |
249 <position x="631" y="94"/> |
|
250 <position x="272" y="94"/> |
|
251 </connection> |
241 </connection> |
252 </connectionPointIn> |
242 </connectionPointIn> |
253 </variable> |
243 </variable> |
254 <variable formalParameter="MSG"> |
244 <variable formalParameter="MSG"> |
255 <connectionPointIn> |
245 <connectionPointIn> |
256 <relPosition x="0" y="50"/> |
246 <relPosition x="0" y="112"/> |
257 <connection refLocalId="8" formalParameter="OUT"> |
247 <connection refLocalId="8" formalParameter="OUT"> |
258 <position x="1100" y="148"/> |
248 <position x="907" y="360"/> |
259 <position x="963" y="148"/> |
249 <position x="794" y="360"/> |
260 <position x="963" y="204"/> |
|
261 <position x="935" y="204"/> |
|
262 </connection> |
250 </connection> |
263 </connectionPointIn> |
251 </connectionPointIn> |
264 </variable> |
252 </variable> |
265 <variable formalParameter="LEVEL"> |
253 <variable formalParameter="LEVEL"> |
266 <connectionPointIn> |
254 <connectionPointIn> |
267 <relPosition x="0" y="70"/> |
255 <relPosition x="0" y="177"/> |
268 <connection refLocalId="12"> |
256 <connection refLocalId="12"> |
269 <position x="1100" y="168"/> |
257 <position x="907" y="425"/> |
270 <position x="1090" y="168"/> |
258 <position x="879" y="425"/> |
271 <position x="1090" y="168"/> |
|
272 <position x="1057" y="168"/> |
|
273 </connection> |
259 </connection> |
274 </connectionPointIn> |
260 </connectionPointIn> |
275 </variable> |
261 </variable> |
276 </inputVariables> |
262 </inputVariables> |
277 <inOutVariables/> |
263 <inOutVariables/> |
278 <outputVariables/> |
264 <outputVariables/> |
279 </block> |
265 </block> |
280 <inVariable localId="12" height="27" width="79"> |
266 <inVariable localId="12" height="27" width="79" executionOrderId="0" negated="false"> |
281 <position x="978" y="155"/> |
267 <position x="800" y="412"/> |
282 <connectionPointOut> |
268 <connectionPointOut> |
283 <relPosition x="79" y="13"/> |
269 <relPosition x="79" y="13"/> |
284 </connectionPointOut> |
270 </connectionPointOut> |
285 <expression>WARNING</expression> |
271 <expression>lvl</expression> |
286 </inVariable> |
272 </inVariable> |
|
273 <block localId="14" typeName="TOF" instanceName="Timer" executionOrderId="0" height="98" width="45"> |
|
274 <position x="150" y="260"/> |
|
275 <inputVariables> |
|
276 <variable formalParameter="IN"> |
|
277 <connectionPointIn> |
|
278 <relPosition x="0" y="39"/> |
|
279 <connection refLocalId="4"> |
|
280 <position x="150" y="299"/> |
|
281 <position x="117" y="299"/> |
|
282 </connection> |
|
283 </connectionPointIn> |
|
284 </variable> |
|
285 <variable formalParameter="PT"> |
|
286 <connectionPointIn> |
|
287 <relPosition x="0" y="78"/> |
|
288 <connection refLocalId="1"> |
|
289 <position x="150" y="338"/> |
|
290 <position x="117" y="338"/> |
|
291 </connection> |
|
292 </connectionPointIn> |
|
293 </variable> |
|
294 </inputVariables> |
|
295 <inOutVariables/> |
|
296 <outputVariables> |
|
297 <variable formalParameter="Q"> |
|
298 <connectionPointOut> |
|
299 <relPosition x="45" y="39"/> |
|
300 </connectionPointOut> |
|
301 </variable> |
|
302 <variable formalParameter="ET"> |
|
303 <connectionPointOut> |
|
304 <relPosition x="45" y="78"/> |
|
305 </connectionPointOut> |
|
306 </variable> |
|
307 </outputVariables> |
|
308 </block> |
|
309 <inVariable localId="1" executionOrderId="0" height="24" width="52" negated="false"> |
|
310 <position x="65" y="326"/> |
|
311 <connectionPointOut> |
|
312 <relPosition x="52" y="12"/> |
|
313 </connectionPointOut> |
|
314 <expression>T#3s</expression> |
|
315 </inVariable> |
|
316 <comment localId="15" height="212" width="675"> |
|
317 <position x="27" y="16"/> |
|
318 <content> |
|
319 <xhtml:p><![CDATA[This example shows logging functionality in Beremiz. |
|
320 Here are shown two ways of logging: |
|
321 - from IEC PLC program; |
|
322 - from python extension. |
|
323 |
|
324 In IEC PLC program every third second (beat) new message is generated and put in PLC log. |
|
325 See function blocks below. |
|
326 |
|
327 Every 15 seconds status of PLC program is put in PLC log from python extension. |
|
328 For more information about logging from python look at 0.x: py_ext_0 implementation in project tree. |
|
329 ]]></xhtml:p> |
|
330 </content> |
|
331 </comment> |
287 </FBD> |
332 </FBD> |
288 </body> |
333 </body> |
289 </pou> |
334 </pou> |
290 </pous> |
335 </pous> |
291 </types> |
336 </types> |
292 <instances> |
337 <instances> |
293 <configurations> |
338 <configurations> |
294 <configuration name="config"> |
339 <configuration name="config"> |
295 <resource name="resource1"> |
340 <resource name="resource1"> |
296 <task name="blob" interval="T#100ms" priority="0"> |
341 <task name="task0" priority="0" interval="T#100ms"> |
297 <pouInstance name="blub" typeName="program0"/> |
342 <pouInstance name="prg" typeName="program0"/> |
298 </task> |
343 </task> |
299 </resource> |
344 </resource> |
300 </configuration> |
345 </configuration> |
301 </configurations> |
346 </configurations> |
302 </instances> |
347 </instances> |