tests/logging/plc.xml
changeset 1525 36e912fac70f
parent 1014 e2f7d6c95db0
child 2296 a2ab363f9e90
equal deleted inserted replaced
1524:70fc5688741e 1525:36e912fac70f
     1 <?xml version="1.0" encoding="UTF-8"?>
     1 <?xml version='1.0' encoding='utf-8'?>
     2 <project xmlns="http://www.plcopen.org/xml/tc6.xsd"
     2 <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">
     3          xsi:schemaLocation="http://www.plcopen.org/xml/tc6.xsd"
     3   <fileHeader companyName="Unknown" productName="Generic PLC" productVersion="1" creationDateTime="2013-01-29T14:01:00" contentDescription="This example shows logging functionality in Beremiz.&#10;Here are shown two ways of logging:&#10;- from IEC PLC program;&#10;- from python extension.&#10;"/>
     4          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4   <contentHeader name="Logging example" modificationDateTime="2016-09-09T17:54:15">
     5          xmlns:xhtml="http://www.w3.org/1999/xhtml">
       
     6   <fileHeader companyName="Unknown"
       
     7               productName="Unnamed"
       
     8               productVersion="1"
       
     9               creationDateTime="2013-01-29T14:01:00"/>
       
    10   <contentHeader name="Unnamed"
       
    11                  modificationDateTime="2013-04-04T11:06:06">
       
    12     <coordinateInfo>
     5     <coordinateInfo>
    13       <fbd>
     6       <fbd>
    14         <scaling x="0" y="0"/>
     7         <scaling x="0" y="0"/>
    15       </fbd>
     8       </fbd>
    16       <ld>
     9       <ld>
    45             <variable name="lvl">
    38             <variable name="lvl">
    46               <type>
    39               <type>
    47                 <derived name="LOGLEVEL"/>
    40                 <derived name="LOGLEVEL"/>
    48               </type>
    41               </type>
    49               <initialValue>
    42               <initialValue>
    50                 <simpleValue value="WARNING"/>
    43                 <simpleValue value="INFO"/>
    51               </initialValue>
    44               </initialValue>
       
    45             </variable>
       
    46             <variable name="Timer">
       
    47               <type>
       
    48                 <derived name="TOF"/>
       
    49               </type>
    52             </variable>
    50             </variable>
    53           </localVars>
    51           </localVars>
    54         </interface>
    52         </interface>
    55         <body>
    53         <body>
    56           <FBD>
    54           <FBD>
    57             <inVariable localId="2" height="27" width="85">
    55             <inVariable localId="2" height="30" width="170" executionOrderId="0" negated="false">
    58               <position x="732" y="188"/>
    56               <position x="507" y="347"/>
    59               <connectionPointOut>
    57               <connectionPointOut>
    60                 <relPosition x="85" y="13"/>
    58                 <relPosition x="170" y="15"/>
    61               </connectionPointOut>
    59               </connectionPointOut>
    62               <expression>'Moooooo'</expression>
    60               <expression>'IEC side logging: beat #'</expression>
    63             </inVariable>
    61             </inVariable>
    64             <block localId="3" width="59" height="40" typeName="NOT">
    62             <block localId="3" width="59" height="40" typeName="NOT" executionOrderId="0">
    65               <position x="213" y="64"/>
    63               <position x="241" y="269"/>
    66               <inputVariables>
    64               <inputVariables>
    67                 <variable formalParameter="IN">
    65                 <variable formalParameter="IN">
    68                   <connectionPointIn>
    66                   <connectionPointIn>
    69                     <relPosition x="0" y="30"/>
    67                     <relPosition x="0" y="30"/>
    70                     <connection refLocalId="4">
    68                     <connection refLocalId="14" formalParameter="Q">
    71                       <position x="213" y="94"/>
    69                       <position x="241" y="299"/>
    72                       <position x="179" y="94"/>
    70                       <position x="195" y="299"/>
    73                     </connection>
    71                     </connection>
    74                   </connectionPointIn>
    72                   </connectionPointIn>
    75                 </variable>
    73                 </variable>
    76               </inputVariables>
    74               </inputVariables>
    77               <inOutVariables/>
    75               <inOutVariables/>
    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/>
   209                     <relPosition x="116" y="30"/>
   203                     <relPosition x="116" y="30"/>
   210                   </connectionPointOut>
   204                   </connectionPointOut>
   211                 </variable>
   205                 </variable>
   212               </outputVariables>
   206               </outputVariables>
   213             </block>
   207             </block>
   214             <block localId="10" width="105" height="40" typeName="BOOL_TO_INT">
   208             <block localId="10" width="105" height="40" typeName="BOOL_TO_INT" executionOrderId="0">
   215               <position x="344" y="200"/>
   209               <position x="339" y="394"/>
   216               <inputVariables>
   210               <inputVariables>
   217                 <variable formalParameter="IN" edge="rising">
   211                 <variable formalParameter="IN" edge="rising">
   218                   <connectionPointIn>
   212                   <connectionPointIn>
   219                     <relPosition x="0" y="30"/>
   213                     <relPosition x="0" y="30"/>
   220                     <connection refLocalId="3" formalParameter="OUT">
   214                     <connection refLocalId="3" formalParameter="OUT">
   221                       <position x="344" y="230"/>
   215                       <position x="339" y="424"/>
   222                       <position x="242" y="230"/>
   216                       <position x="314" y="424"/>
   223                       <position x="242" y="163"/>
   217                       <position x="314" y="299"/>
   224                       <position x="282" y="163"/>
   218                       <position x="300" y="299"/>
   225                       <position x="282" y="94"/>
       
   226                       <position x="272" y="94"/>
       
   227                     </connection>
   219                     </connection>
   228                   </connectionPointIn>
   220                   </connectionPointIn>
   229                 </variable>
   221                 </variable>
   230               </inputVariables>
   222               </inputVariables>
   231               <inOutVariables/>
   223               <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>