NativeLib.xml
author Edouard Tisserant
Wed, 01 Dec 2021 09:54:02 +0100
branchRuntimeLists
changeset 3394 9ea29ac18837
parent 1050 56bef276055e
permissions -rw-r--r--
RUNTIME: Variable trace now uses limited list and buffer instead of flags in instance tree that was requiring systematical instance tree traversal, and worst size buffer. Forcing and retain still use tree traversal.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.plcopen.org/xml/tc6.xsd"
         xsi:schemaLocation="http://www.plcopen.org/xml/tc6.xsd"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <fileHeader companyName="Unknown"
              productName="Unnamed"
              productVersion="1"
              creationDateTime="2013-01-29T14:01:00"/>
  <contentHeader name="Unnamed"
                 modificationDateTime="2013-02-26T15:59:13">
    <coordinateInfo>
      <fbd>
        <scaling x="0" y="0"/>
      </fbd>
      <ld>
        <scaling x="0" y="0"/>
      </ld>
      <sfc>
        <scaling x="0" y="0"/>
      </sfc>
    </coordinateInfo>
  </contentHeader>
  <types>
    <dataTypes>
      <dataType name="LOGLEVEL">
        <baseType>
          <enum>
            <values>
              <value name="CRITICAL"/>
              <value name="WARNING"/>
              <value name="INFO"/>
              <value name="DEBUG"/>
            </values>
          </enum>
        </baseType>
        <initialValue>
          <simpleValue value="INFO"/>
        </initialValue>
      </dataType>
    </dataTypes>
    <pous>
      <pou name="LOGGER" pouType="functionBlock">
        <interface>
          <inputVars>
            <variable name="TRIG">
              <type>
                <BOOL/>
              </type>
            </variable>
            <variable name="MSG">
              <type>
                <string/>
              </type>
            </variable>
            <variable name="LEVEL">
              <type>
                <derived name="LOGLEVEL"/>
              </type>
              <initialValue>
                <simpleValue value="INFO"/>
              </initialValue>
            </variable>
          </inputVars>
          <localVars>
            <variable name="TRIG0">
              <type>
                <BOOL/>
              </type>
            </variable>
          </localVars>
        </interface>
        <body>
          <ST>
<![CDATA[IF TRIG AND NOT TRIG0 THEN
{{
 LogMessage(GetFbVar(LEVEL),(char*)GetFbVar(MSG, .body),GetFbVar(MSG, .len));
}}
END_IF;
TRIG0:=TRIG;
]]>
          </ST>
        </body>
      </pou>
    </pous>
  </types>
  <instances>
    <configurations/>
  </instances>
</project>