<?xml version='1.0' encoding='utf-8'?>
<project xmlns="http://www.plcopen.org/xml/tc6_0201" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xsi:schemaLocation="http://www.plcopen.org/xml/tc6_0201">
<fileHeader companyName="Unknown" productName="Generic PLC" productVersion="1" creationDateTime="2013-01-29T14:01:00" contentDescription="This example shows logging functionality in Beremiz. Here are shown two ways of logging: - from IEC PLC program; - from python extension. "/>
<contentHeader name="Logging example" modificationDateTime="2024-06-03T22:15:34">
<pou name="C_Pragma" pouType="functionBlock">
<xhtml:p><![CDATA[rtrig(CLK := TRIG);
short inval = GetFbVar(IN);
printf("C runtime OK #%d\n", inval);
<pou name="program0" pouType="program">
<variable name="LOGGER0">
<derived name="LOGLEVEL"/>
<simpleValue value="INFO"/>
<variable name="C_Pragma0">
<derived name="C_Pragma"/>
<inVariable localId="2" height="30" width="218" executionOrderId="0" negated="false">
<position x="859" y="365"/>
<relPosition x="218" y="15"/>
<expression>'C runtime log OK #'</expression>
<block localId="3" width="59" height="40" typeName="NOT" executionOrderId="0">
<position x="241" y="287"/>
<variable formalParameter="IN">
<relPosition x="0" y="30"/>
<connection refLocalId="14" formalParameter="Q">
<position x="241" y="317"/>
<position x="197" y="317"/>
<variable formalParameter="OUT">
<relPosition x="59" y="30"/>
<inOutVariable localId="4" height="30" width="60" executionOrderId="0" negatedOut="false" negatedIn="false">
<position x="57" y="302"/>
<relPosition x="0" y="15"/>
<connection refLocalId="3" formalParameter="OUT">
<position x="57" y="317"/>
<position x="37" y="317"/>
<position x="37" y="390"/>
<position x="314" y="390"/>
<position x="314" y="317"/>
<position x="300" y="317"/>
<relPosition x="60" y="15"/>
<expression>beat</expression>
<block localId="5" width="68" height="98" typeName="ADD" executionOrderId="0">
<position x="463" y="403"/>
<variable formalParameter="IN1">
<relPosition x="0" y="39"/>
<connection refLocalId="10" formalParameter="OUT">
<position x="463" y="442"/>
<position x="455" y="442"/>
<position x="439" y="442"/>
<variable formalParameter="IN2">
<relPosition x="0" y="78"/>
<connection refLocalId="6">
<position x="463" y="481"/>
<position x="438" y="481"/>
<variable formalParameter="OUT">
<relPosition x="68" y="39"/>
<inOutVariable localId="6" height="30" width="103" executionOrderId="0" negatedOut="false" negatedIn="false">
<position x="335" y="466"/>
<relPosition x="0" y="15"/>
<connection refLocalId="5" formalParameter="OUT">
<position x="335" y="481"/>
<position x="320" y="481"/>
<position x="320" y="518"/>
<position x="544" y="518"/>
<position x="544" y="442"/>
<position x="531" y="442"/>
<relPosition x="103" y="15"/>
<expression>count</expression>
<block localId="8" width="67" height="144" typeName="CONCAT" executionOrderId="0">
<position x="1127" y="329"/>
<variable formalParameter="IN1">
<relPosition x="0" y="51"/>
<connection refLocalId="2">
<position x="1127" y="380"/>
<position x="1077" y="380"/>
<variable formalParameter="IN2">
<relPosition x="0" y="113"/>
<connection refLocalId="9" formalParameter="OUT">
<position x="1127" y="442"/>
<position x="1080" y="442"/>
<variable formalParameter="OUT">
<relPosition x="67" y="51"/>
<block localId="9" width="119" height="40" typeName="INT_TO_STRING" executionOrderId="0">
<position x="961" y="412"/>
<variable formalParameter="IN">
<relPosition x="0" y="30"/>
<connection refLocalId="5" formalParameter="OUT">
<position x="961" y="442"/>
<position x="531" y="442"/>
<variable formalParameter="OUT">
<relPosition x="119" y="30"/>
<block localId="10" width="106" height="40" typeName="BOOL_TO_INT" executionOrderId="0">
<position x="333" y="412"/>
<variable formalParameter="IN" edge="rising">
<relPosition x="0" y="30"/>
<connection refLocalId="3" formalParameter="OUT">
<position x="333" y="442"/>
<position x="314" y="442"/>
<position x="314" y="317"/>
<position x="300" y="317"/>
<variable formalParameter="OUT">
<relPosition x="106" y="30"/>
<block localId="11" width="65" height="209" typeName="LOGGER" instanceName="LOGGER0" executionOrderId="0">
<position x="1307" y="266"/>
<variable formalParameter="TRIG">
<relPosition x="0" y="51"/>
<connection refLocalId="3" formalParameter="OUT">
<position x="1307" y="317"/>
<position x="300" y="317"/>
<variable formalParameter="MSG">
<relPosition x="0" y="114"/>
<connection refLocalId="8" formalParameter="OUT">
<position x="1307" y="380"/>
<position x="1194" y="380"/>
<variable formalParameter="LEVEL">
<relPosition x="0" y="177"/>
<connection refLocalId="12">
<position x="1307" y="443"/>
<position x="1280" y="443"/>
<inVariable localId="12" height="30" width="79" executionOrderId="0" negated="false">
<position x="1201" y="428"/>
<relPosition x="79" y="15"/>
<expression>lvl</expression>
<block localId="14" typeName="TOF" instanceName="Timer" executionOrderId="0" height="98" width="47">
<position x="150" y="278"/>
<variable formalParameter="IN">
<relPosition x="0" y="39"/>
<connection refLocalId="4">
<position x="150" y="317"/>
<position x="117" y="317"/>
<variable formalParameter="PT">
<relPosition x="0" y="78"/>
<connection refLocalId="1">
<position x="150" y="356"/>
<position x="117" y="356"/>
<variable formalParameter="Q">
<relPosition x="47" y="39"/>
<variable formalParameter="ET">
<relPosition x="47" y="78"/>
<inVariable localId="1" executionOrderId="0" height="30" width="61" negated="false">
<position x="56" y="341"/>
<relPosition x="61" y="15"/>
<expression>T#1s</expression>
<block localId="15" typeName="C_Pragma" instanceName="C_Pragma0" executionOrderId="0" width="74" height="60">
<position x="594" y="336"/>
<variable formalParameter="TRIG">
<relPosition x="0" y="30"/>
<connection refLocalId="3" formalParameter="OUT">
<position x="594" y="366"/>
<position x="447" y="366"/>
<position x="447" y="317"/>
<position x="300" y="317"/>
<variable formalParameter="IN">
<relPosition x="0" y="50"/>
<connection refLocalId="5" formalParameter="OUT">
<position x="594" y="386"/>
<position x="562" y="386"/>
<position x="562" y="442"/>
<position x="531" y="442"/>
<configuration name="config">
<resource name="resource1">
<task name="task0" priority="0" interval="T#100ms">
<pouInstance name="prg" typeName="program0"/>