tests/projects/iec61131_lang_test/plc.xml
author Edouard Tisserant <edouard.tisserant@gmail.com>
Fri, 12 May 2023 18:09:55 +0200
changeset 3800 a5a6ee271e65
parent 3749 fda6c1a37662
permissions -rw-r--r--
WIP python3 support for runtime
<?xml version='1.0' encoding='utf-8'?>
<project xmlns:ns1="http://www.plcopen.org/xml/tc6_0201" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.plcopen.org/xml/tc6_0201">
  <fileHeader companyName="Unknown" productName="Unnamed" productVersion="1" creationDateTime="2023-03-11T14:33:27"/>
  <contentHeader name="Unnamed" modificationDateTime="2023-03-27T09:12:21">
    <coordinateInfo>
      <fbd>
        <scaling x="8" y="8"/>
      </fbd>
      <ld>
        <scaling x="0" y="0"/>
      </ld>
      <sfc>
        <scaling x="0" y="0"/>
      </sfc>
    </coordinateInfo>
  </contentHeader>
  <types>
    <dataTypes/>
    <pous>
      <pou name="CONVERSION_TEST" pouType="functionBlock">
        <interface>
          <outputVars>
            <variable name="RESULT">
              <type>
                <string/>
              </type>
            </variable>
          </outputVars>
        </interface>
        <body>
          <ST>
            <xhtml:p><![CDATA[
(* Code generated by gen_vonversion.py, 
   fixed by hand for corner cases *)

(* 240 conversions from literals tested *)

(* Tested types
   BOOL, SINT, USINT, BYTE, STRING, INT, UINT,
   WORD, DINT, UDINT, DWORD, LINT, ULINT, LWORD, 
   REAL, LREAL *)

(* TODO: test TIME, TOD, DATE and DT *)
(* TODO: similar test with values that tiggers overflow *)

RESULT := 'BOOL_TO_SINT'; 
IF BOOL_TO_SINT(BOOL#TRUE) <> SINT#1 THEN RETURN; END_IF;


RESULT := 'BOOL_TO_USINT'; 
IF BOOL_TO_USINT(BOOL#TRUE) <> USINT#1 THEN RETURN; END_IF;


RESULT := 'BOOL_TO_BYTE'; 
IF BOOL_TO_BYTE(BOOL#TRUE) <> BYTE#1 THEN RETURN; END_IF;


RESULT := 'BOOL_TO_STRING'; 
IF BOOL_TO_STRING(BOOL#TRUE) <> 'TRUE' THEN RETURN; END_IF;


RESULT := 'BOOL_TO_INT'; 
IF BOOL_TO_INT(BOOL#TRUE) <> INT#1 THEN RETURN; END_IF;


RESULT := 'BOOL_TO_UINT'; 
IF BOOL_TO_UINT(BOOL#TRUE) <> UINT#1 THEN RETURN; END_IF;


RESULT := 'BOOL_TO_WORD'; 
IF BOOL_TO_WORD(BOOL#TRUE) <> WORD#1 THEN RETURN; END_IF;


RESULT := 'BOOL_TO_DINT'; 
IF BOOL_TO_DINT(BOOL#TRUE) <> DINT#1 THEN RETURN; END_IF;


RESULT := 'BOOL_TO_UDINT'; 
IF BOOL_TO_UDINT(BOOL#TRUE) <> UDINT#1 THEN RETURN; END_IF;


RESULT := 'BOOL_TO_DWORD'; 
IF BOOL_TO_DWORD(BOOL#TRUE) <> DWORD#1 THEN RETURN; END_IF;


RESULT := 'BOOL_TO_LINT'; 
IF BOOL_TO_LINT(BOOL#TRUE) <> LINT#1 THEN RETURN; END_IF;


RESULT := 'BOOL_TO_ULINT'; 
IF BOOL_TO_ULINT(BOOL#TRUE) <> ULINT#1 THEN RETURN; END_IF;


RESULT := 'BOOL_TO_LWORD'; 
IF BOOL_TO_LWORD(BOOL#TRUE) <> LWORD#1 THEN RETURN; END_IF;


RESULT := 'BOOL_TO_REAL'; 
IF BOOL_TO_REAL(BOOL#TRUE) <> REAL#1.0 THEN RETURN; END_IF;


RESULT := 'BOOL_TO_LREAL'; 
IF BOOL_TO_LREAL(BOOL#TRUE) <> LREAL#1.0 THEN RETURN; END_IF;


RESULT := 'SINT_TO_BOOL'; 
IF SINT_TO_BOOL(SINT#42) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'SINT_TO_USINT'; 
IF SINT_TO_USINT(SINT#42) <> USINT#42 THEN RETURN; END_IF;


RESULT := 'SINT_TO_BYTE'; 
IF SINT_TO_BYTE(SINT#42) <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'SINT_TO_STRING'; 
IF SINT_TO_STRING(SINT#42) <> '42' THEN RETURN; END_IF;


RESULT := 'SINT_TO_INT'; 
IF SINT_TO_INT(SINT#42) <> INT#42 THEN RETURN; END_IF;


RESULT := 'SINT_TO_UINT'; 
IF SINT_TO_UINT(SINT#42) <> UINT#42 THEN RETURN; END_IF;


RESULT := 'SINT_TO_WORD'; 
IF SINT_TO_WORD(SINT#42) <> WORD#42 THEN RETURN; END_IF;


RESULT := 'SINT_TO_DINT'; 
IF SINT_TO_DINT(SINT#42) <> DINT#42 THEN RETURN; END_IF;


RESULT := 'SINT_TO_UDINT'; 
IF SINT_TO_UDINT(SINT#42) <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'SINT_TO_DWORD'; 
IF SINT_TO_DWORD(SINT#42) <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'SINT_TO_LINT'; 
IF SINT_TO_LINT(SINT#42) <> LINT#42 THEN RETURN; END_IF;


RESULT := 'SINT_TO_ULINT'; 
IF SINT_TO_ULINT(SINT#42) <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'SINT_TO_LWORD'; 
IF SINT_TO_LWORD(SINT#42) <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'SINT_TO_REAL'; 
IF SINT_TO_REAL(SINT#42) <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'SINT_TO_LREAL'; 
IF SINT_TO_LREAL(SINT#42) <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'USINT_TO_BOOL'; 
IF USINT_TO_BOOL(USINT#42) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'USINT_TO_SINT'; 
IF USINT_TO_SINT(USINT#42) <> SINT#42 THEN RETURN; END_IF;


RESULT := 'USINT_TO_BYTE'; 
IF USINT_TO_BYTE(USINT#42) <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'USINT_TO_STRING'; 
IF USINT_TO_STRING(USINT#42) <> '42' THEN RETURN; END_IF;


RESULT := 'USINT_TO_INT'; 
IF USINT_TO_INT(USINT#42) <> INT#42 THEN RETURN; END_IF;


RESULT := 'USINT_TO_UINT'; 
IF USINT_TO_UINT(USINT#42) <> UINT#42 THEN RETURN; END_IF;


RESULT := 'USINT_TO_WORD'; 
IF USINT_TO_WORD(USINT#42) <> WORD#42 THEN RETURN; END_IF;


RESULT := 'USINT_TO_DINT'; 
IF USINT_TO_DINT(USINT#42) <> DINT#42 THEN RETURN; END_IF;


RESULT := 'USINT_TO_UDINT'; 
IF USINT_TO_UDINT(USINT#42) <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'USINT_TO_DWORD'; 
IF USINT_TO_DWORD(USINT#42) <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'USINT_TO_LINT'; 
IF USINT_TO_LINT(USINT#42) <> LINT#42 THEN RETURN; END_IF;


RESULT := 'USINT_TO_ULINT'; 
IF USINT_TO_ULINT(USINT#42) <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'USINT_TO_LWORD'; 
IF USINT_TO_LWORD(USINT#42) <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'USINT_TO_REAL'; 
IF USINT_TO_REAL(USINT#42) <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'USINT_TO_LREAL'; 
IF USINT_TO_LREAL(USINT#42) <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'BYTE_TO_BOOL'; 
IF BYTE_TO_BOOL(BYTE#42) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'BYTE_TO_SINT'; 
IF BYTE_TO_SINT(BYTE#42) <> SINT#42 THEN RETURN; END_IF;


RESULT := 'BYTE_TO_USINT'; 
IF BYTE_TO_USINT(BYTE#42) <> USINT#42 THEN RETURN; END_IF;


RESULT := 'BYTE_TO_STRING'; 
IF BYTE_TO_STRING(BYTE#42) <> '16#2a' THEN RETURN; END_IF;


RESULT := 'BYTE_TO_INT'; 
IF BYTE_TO_INT(BYTE#42) <> INT#42 THEN RETURN; END_IF;


RESULT := 'BYTE_TO_UINT'; 
IF BYTE_TO_UINT(BYTE#42) <> UINT#42 THEN RETURN; END_IF;


RESULT := 'BYTE_TO_WORD'; 
IF BYTE_TO_WORD(BYTE#42) <> WORD#42 THEN RETURN; END_IF;


RESULT := 'BYTE_TO_DINT'; 
IF BYTE_TO_DINT(BYTE#42) <> DINT#42 THEN RETURN; END_IF;


RESULT := 'BYTE_TO_UDINT'; 
IF BYTE_TO_UDINT(BYTE#42) <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'BYTE_TO_DWORD'; 
IF BYTE_TO_DWORD(BYTE#42) <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'BYTE_TO_LINT'; 
IF BYTE_TO_LINT(BYTE#42) <> LINT#42 THEN RETURN; END_IF;


RESULT := 'BYTE_TO_ULINT'; 
IF BYTE_TO_ULINT(BYTE#42) <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'BYTE_TO_LWORD'; 
IF BYTE_TO_LWORD(BYTE#42) <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'BYTE_TO_REAL'; 
IF BYTE_TO_REAL(BYTE#42) <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'BYTE_TO_LREAL'; 
IF BYTE_TO_LREAL(BYTE#42) <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'STRING_TO_BOOL'; 
IF STRING_TO_BOOL('42') <> BOOL#FALSE THEN RETURN; END_IF;


RESULT := 'STRING_TO_SINT'; 
IF STRING_TO_SINT('42') <> SINT#42 THEN RETURN; END_IF;


RESULT := 'STRING_TO_USINT'; 
IF STRING_TO_USINT('42') <> USINT#42 THEN RETURN; END_IF;


RESULT := 'STRING_TO_BYTE'; 
IF STRING_TO_BYTE('42') <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'STRING_TO_INT'; 
IF STRING_TO_INT('42') <> INT#42 THEN RETURN; END_IF;


RESULT := 'STRING_TO_UINT'; 
IF STRING_TO_UINT('42') <> UINT#42 THEN RETURN; END_IF;


RESULT := 'STRING_TO_WORD'; 
IF STRING_TO_WORD('42') <> WORD#42 THEN RETURN; END_IF;


RESULT := 'STRING_TO_DINT'; 
IF STRING_TO_DINT('42') <> DINT#42 THEN RETURN; END_IF;


RESULT := 'STRING_TO_UDINT'; 
IF STRING_TO_UDINT('42') <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'STRING_TO_DWORD'; 
IF STRING_TO_DWORD('42') <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'STRING_TO_LINT'; 
IF STRING_TO_LINT('42') <> LINT#42 THEN RETURN; END_IF;


RESULT := 'STRING_TO_ULINT'; 
IF STRING_TO_ULINT('42') <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'STRING_TO_LWORD'; 
IF STRING_TO_LWORD('42') <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'STRING_TO_REAL'; 
IF STRING_TO_REAL('42') <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'STRING_TO_LREAL'; 
IF STRING_TO_LREAL('42') <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'INT_TO_BOOL'; 
IF INT_TO_BOOL(INT#42) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'INT_TO_SINT'; 
IF INT_TO_SINT(INT#42) <> SINT#42 THEN RETURN; END_IF;


RESULT := 'INT_TO_USINT'; 
IF INT_TO_USINT(INT#42) <> USINT#42 THEN RETURN; END_IF;


RESULT := 'INT_TO_BYTE'; 
IF INT_TO_BYTE(INT#42) <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'INT_TO_STRING'; 
IF INT_TO_STRING(INT#42) <> '42' THEN RETURN; END_IF;


RESULT := 'INT_TO_UINT'; 
IF INT_TO_UINT(INT#42) <> UINT#42 THEN RETURN; END_IF;


RESULT := 'INT_TO_WORD'; 
IF INT_TO_WORD(INT#42) <> WORD#42 THEN RETURN; END_IF;


RESULT := 'INT_TO_DINT'; 
IF INT_TO_DINT(INT#42) <> DINT#42 THEN RETURN; END_IF;


RESULT := 'INT_TO_UDINT'; 
IF INT_TO_UDINT(INT#42) <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'INT_TO_DWORD'; 
IF INT_TO_DWORD(INT#42) <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'INT_TO_LINT'; 
IF INT_TO_LINT(INT#42) <> LINT#42 THEN RETURN; END_IF;


RESULT := 'INT_TO_ULINT'; 
IF INT_TO_ULINT(INT#42) <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'INT_TO_LWORD'; 
IF INT_TO_LWORD(INT#42) <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'INT_TO_REAL'; 
IF INT_TO_REAL(INT#42) <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'INT_TO_LREAL'; 
IF INT_TO_LREAL(INT#42) <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'UINT_TO_BOOL'; 
IF UINT_TO_BOOL(UINT#42) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'UINT_TO_SINT'; 
IF UINT_TO_SINT(UINT#42) <> SINT#42 THEN RETURN; END_IF;


RESULT := 'UINT_TO_USINT'; 
IF UINT_TO_USINT(UINT#42) <> USINT#42 THEN RETURN; END_IF;


RESULT := 'UINT_TO_BYTE'; 
IF UINT_TO_BYTE(UINT#42) <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'UINT_TO_STRING'; 
IF UINT_TO_STRING(UINT#42) <> '42' THEN RETURN; END_IF;


RESULT := 'UINT_TO_INT'; 
IF UINT_TO_INT(UINT#42) <> INT#42 THEN RETURN; END_IF;


RESULT := 'UINT_TO_WORD'; 
IF UINT_TO_WORD(UINT#42) <> WORD#42 THEN RETURN; END_IF;


RESULT := 'UINT_TO_DINT'; 
IF UINT_TO_DINT(UINT#42) <> DINT#42 THEN RETURN; END_IF;


RESULT := 'UINT_TO_UDINT'; 
IF UINT_TO_UDINT(UINT#42) <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'UINT_TO_DWORD'; 
IF UINT_TO_DWORD(UINT#42) <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'UINT_TO_LINT'; 
IF UINT_TO_LINT(UINT#42) <> LINT#42 THEN RETURN; END_IF;


RESULT := 'UINT_TO_ULINT'; 
IF UINT_TO_ULINT(UINT#42) <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'UINT_TO_LWORD'; 
IF UINT_TO_LWORD(UINT#42) <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'UINT_TO_REAL'; 
IF UINT_TO_REAL(UINT#42) <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'UINT_TO_LREAL'; 
IF UINT_TO_LREAL(UINT#42) <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'WORD_TO_BOOL'; 
IF WORD_TO_BOOL(WORD#42) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'WORD_TO_SINT'; 
IF WORD_TO_SINT(WORD#42) <> SINT#42 THEN RETURN; END_IF;


RESULT := 'WORD_TO_USINT'; 
IF WORD_TO_USINT(WORD#42) <> USINT#42 THEN RETURN; END_IF;


RESULT := 'WORD_TO_BYTE'; 
IF WORD_TO_BYTE(WORD#42) <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'WORD_TO_STRING'; 
IF WORD_TO_STRING(WORD#42) <> '16#2a' THEN RETURN; END_IF;


RESULT := 'WORD_TO_INT'; 
IF WORD_TO_INT(WORD#42) <> INT#42 THEN RETURN; END_IF;


RESULT := 'WORD_TO_UINT'; 
IF WORD_TO_UINT(WORD#42) <> UINT#42 THEN RETURN; END_IF;


RESULT := 'WORD_TO_DINT'; 
IF WORD_TO_DINT(WORD#42) <> DINT#42 THEN RETURN; END_IF;


RESULT := 'WORD_TO_UDINT'; 
IF WORD_TO_UDINT(WORD#42) <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'WORD_TO_DWORD'; 
IF WORD_TO_DWORD(WORD#42) <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'WORD_TO_LINT'; 
IF WORD_TO_LINT(WORD#42) <> LINT#42 THEN RETURN; END_IF;


RESULT := 'WORD_TO_ULINT'; 
IF WORD_TO_ULINT(WORD#42) <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'WORD_TO_LWORD'; 
IF WORD_TO_LWORD(WORD#42) <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'WORD_TO_REAL'; 
IF WORD_TO_REAL(WORD#42) <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'WORD_TO_LREAL'; 
IF WORD_TO_LREAL(WORD#42) <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'DINT_TO_BOOL'; 
IF DINT_TO_BOOL(DINT#42) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'DINT_TO_SINT'; 
IF DINT_TO_SINT(DINT#42) <> SINT#42 THEN RETURN; END_IF;


RESULT := 'DINT_TO_USINT'; 
IF DINT_TO_USINT(DINT#42) <> USINT#42 THEN RETURN; END_IF;


RESULT := 'DINT_TO_BYTE'; 
IF DINT_TO_BYTE(DINT#42) <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'DINT_TO_STRING'; 
IF DINT_TO_STRING(DINT#42) <> '42' THEN RETURN; END_IF;


RESULT := 'DINT_TO_INT'; 
IF DINT_TO_INT(DINT#42) <> INT#42 THEN RETURN; END_IF;


RESULT := 'DINT_TO_UINT'; 
IF DINT_TO_UINT(DINT#42) <> UINT#42 THEN RETURN; END_IF;


RESULT := 'DINT_TO_WORD'; 
IF DINT_TO_WORD(DINT#42) <> WORD#42 THEN RETURN; END_IF;


RESULT := 'DINT_TO_UDINT'; 
IF DINT_TO_UDINT(DINT#42) <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'DINT_TO_DWORD'; 
IF DINT_TO_DWORD(DINT#42) <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'DINT_TO_LINT'; 
IF DINT_TO_LINT(DINT#42) <> LINT#42 THEN RETURN; END_IF;


RESULT := 'DINT_TO_ULINT'; 
IF DINT_TO_ULINT(DINT#42) <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'DINT_TO_LWORD'; 
IF DINT_TO_LWORD(DINT#42) <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'DINT_TO_REAL'; 
IF DINT_TO_REAL(DINT#42) <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'DINT_TO_LREAL'; 
IF DINT_TO_LREAL(DINT#42) <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'UDINT_TO_BOOL'; 
IF UDINT_TO_BOOL(UDINT#42) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'UDINT_TO_SINT'; 
IF UDINT_TO_SINT(UDINT#42) <> SINT#42 THEN RETURN; END_IF;


RESULT := 'UDINT_TO_USINT'; 
IF UDINT_TO_USINT(UDINT#42) <> USINT#42 THEN RETURN; END_IF;


RESULT := 'UDINT_TO_BYTE'; 
IF UDINT_TO_BYTE(UDINT#42) <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'UDINT_TO_STRING'; 
IF UDINT_TO_STRING(UDINT#42) <> '42' THEN RETURN; END_IF;


RESULT := 'UDINT_TO_INT'; 
IF UDINT_TO_INT(UDINT#42) <> INT#42 THEN RETURN; END_IF;


RESULT := 'UDINT_TO_UINT'; 
IF UDINT_TO_UINT(UDINT#42) <> UINT#42 THEN RETURN; END_IF;


RESULT := 'UDINT_TO_WORD'; 
IF UDINT_TO_WORD(UDINT#42) <> WORD#42 THEN RETURN; END_IF;


RESULT := 'UDINT_TO_DINT'; 
IF UDINT_TO_DINT(UDINT#42) <> DINT#42 THEN RETURN; END_IF;


RESULT := 'UDINT_TO_DWORD'; 
IF UDINT_TO_DWORD(UDINT#42) <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'UDINT_TO_LINT'; 
IF UDINT_TO_LINT(UDINT#42) <> LINT#42 THEN RETURN; END_IF;


RESULT := 'UDINT_TO_ULINT'; 
IF UDINT_TO_ULINT(UDINT#42) <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'UDINT_TO_LWORD'; 
IF UDINT_TO_LWORD(UDINT#42) <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'UDINT_TO_REAL'; 
IF UDINT_TO_REAL(UDINT#42) <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'UDINT_TO_LREAL'; 
IF UDINT_TO_LREAL(UDINT#42) <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'DWORD_TO_BOOL'; 
IF DWORD_TO_BOOL(DWORD#42) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'DWORD_TO_SINT'; 
IF DWORD_TO_SINT(DWORD#42) <> SINT#42 THEN RETURN; END_IF;


RESULT := 'DWORD_TO_USINT'; 
IF DWORD_TO_USINT(DWORD#42) <> USINT#42 THEN RETURN; END_IF;


RESULT := 'DWORD_TO_BYTE'; 
IF DWORD_TO_BYTE(DWORD#42) <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'DWORD_TO_STRING'; 
IF DWORD_TO_STRING(DWORD#42) <> '16#2a' THEN RETURN; END_IF;


RESULT := 'DWORD_TO_INT'; 
IF DWORD_TO_INT(DWORD#42) <> INT#42 THEN RETURN; END_IF;


RESULT := 'DWORD_TO_UINT'; 
IF DWORD_TO_UINT(DWORD#42) <> UINT#42 THEN RETURN; END_IF;


RESULT := 'DWORD_TO_WORD'; 
IF DWORD_TO_WORD(DWORD#42) <> WORD#42 THEN RETURN; END_IF;


RESULT := 'DWORD_TO_DINT'; 
IF DWORD_TO_DINT(DWORD#42) <> DINT#42 THEN RETURN; END_IF;


RESULT := 'DWORD_TO_UDINT'; 
IF DWORD_TO_UDINT(DWORD#42) <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'DWORD_TO_LINT'; 
IF DWORD_TO_LINT(DWORD#42) <> LINT#42 THEN RETURN; END_IF;


RESULT := 'DWORD_TO_ULINT'; 
IF DWORD_TO_ULINT(DWORD#42) <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'DWORD_TO_LWORD'; 
IF DWORD_TO_LWORD(DWORD#42) <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'DWORD_TO_REAL'; 
IF DWORD_TO_REAL(DWORD#42) <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'DWORD_TO_LREAL'; 
IF DWORD_TO_LREAL(DWORD#42) <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'LINT_TO_BOOL'; 
IF LINT_TO_BOOL(LINT#42) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'LINT_TO_SINT'; 
IF LINT_TO_SINT(LINT#42) <> SINT#42 THEN RETURN; END_IF;


RESULT := 'LINT_TO_USINT'; 
IF LINT_TO_USINT(LINT#42) <> USINT#42 THEN RETURN; END_IF;


RESULT := 'LINT_TO_BYTE'; 
IF LINT_TO_BYTE(LINT#42) <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'LINT_TO_STRING'; 
IF LINT_TO_STRING(LINT#42) <> '42' THEN RETURN; END_IF;


RESULT := 'LINT_TO_INT'; 
IF LINT_TO_INT(LINT#42) <> INT#42 THEN RETURN; END_IF;


RESULT := 'LINT_TO_UINT'; 
IF LINT_TO_UINT(LINT#42) <> UINT#42 THEN RETURN; END_IF;


RESULT := 'LINT_TO_WORD'; 
IF LINT_TO_WORD(LINT#42) <> WORD#42 THEN RETURN; END_IF;


RESULT := 'LINT_TO_DINT'; 
IF LINT_TO_DINT(LINT#42) <> DINT#42 THEN RETURN; END_IF;


RESULT := 'LINT_TO_UDINT'; 
IF LINT_TO_UDINT(LINT#42) <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'LINT_TO_DWORD'; 
IF LINT_TO_DWORD(LINT#42) <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'LINT_TO_ULINT'; 
IF LINT_TO_ULINT(LINT#42) <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'LINT_TO_LWORD'; 
IF LINT_TO_LWORD(LINT#42) <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'LINT_TO_REAL'; 
IF LINT_TO_REAL(LINT#42) <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'LINT_TO_LREAL'; 
IF LINT_TO_LREAL(LINT#42) <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'ULINT_TO_BOOL'; 
IF ULINT_TO_BOOL(ULINT#42) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'ULINT_TO_SINT'; 
IF ULINT_TO_SINT(ULINT#42) <> SINT#42 THEN RETURN; END_IF;


RESULT := 'ULINT_TO_USINT'; 
IF ULINT_TO_USINT(ULINT#42) <> USINT#42 THEN RETURN; END_IF;


RESULT := 'ULINT_TO_BYTE'; 
IF ULINT_TO_BYTE(ULINT#42) <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'ULINT_TO_STRING'; 
IF ULINT_TO_STRING(ULINT#42) <> '42' THEN RETURN; END_IF;


RESULT := 'ULINT_TO_INT'; 
IF ULINT_TO_INT(ULINT#42) <> INT#42 THEN RETURN; END_IF;


RESULT := 'ULINT_TO_UINT'; 
IF ULINT_TO_UINT(ULINT#42) <> UINT#42 THEN RETURN; END_IF;


RESULT := 'ULINT_TO_WORD'; 
IF ULINT_TO_WORD(ULINT#42) <> WORD#42 THEN RETURN; END_IF;


RESULT := 'ULINT_TO_DINT'; 
IF ULINT_TO_DINT(ULINT#42) <> DINT#42 THEN RETURN; END_IF;


RESULT := 'ULINT_TO_UDINT'; 
IF ULINT_TO_UDINT(ULINT#42) <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'ULINT_TO_DWORD'; 
IF ULINT_TO_DWORD(ULINT#42) <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'ULINT_TO_LINT'; 
IF ULINT_TO_LINT(ULINT#42) <> LINT#42 THEN RETURN; END_IF;


RESULT := 'ULINT_TO_LWORD'; 
IF ULINT_TO_LWORD(ULINT#42) <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'ULINT_TO_REAL'; 
IF ULINT_TO_REAL(ULINT#42) <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'ULINT_TO_LREAL'; 
IF ULINT_TO_LREAL(ULINT#42) <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'LWORD_TO_BOOL'; 
IF LWORD_TO_BOOL(LWORD#42) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'LWORD_TO_SINT'; 
IF LWORD_TO_SINT(LWORD#42) <> SINT#42 THEN RETURN; END_IF;


RESULT := 'LWORD_TO_USINT'; 
IF LWORD_TO_USINT(LWORD#42) <> USINT#42 THEN RETURN; END_IF;


RESULT := 'LWORD_TO_BYTE'; 
IF LWORD_TO_BYTE(LWORD#42) <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'LWORD_TO_STRING'; 
IF LWORD_TO_STRING(LWORD#42) <> '16#2a' THEN RETURN; END_IF;


RESULT := 'LWORD_TO_INT'; 
IF LWORD_TO_INT(LWORD#42) <> INT#42 THEN RETURN; END_IF;


RESULT := 'LWORD_TO_UINT'; 
IF LWORD_TO_UINT(LWORD#42) <> UINT#42 THEN RETURN; END_IF;


RESULT := 'LWORD_TO_WORD'; 
IF LWORD_TO_WORD(LWORD#42) <> WORD#42 THEN RETURN; END_IF;


RESULT := 'LWORD_TO_DINT'; 
IF LWORD_TO_DINT(LWORD#42) <> DINT#42 THEN RETURN; END_IF;


RESULT := 'LWORD_TO_UDINT'; 
IF LWORD_TO_UDINT(LWORD#42) <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'LWORD_TO_DWORD'; 
IF LWORD_TO_DWORD(LWORD#42) <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'LWORD_TO_LINT'; 
IF LWORD_TO_LINT(LWORD#42) <> LINT#42 THEN RETURN; END_IF;


RESULT := 'LWORD_TO_ULINT'; 
IF LWORD_TO_ULINT(LWORD#42) <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'LWORD_TO_REAL'; 
IF LWORD_TO_REAL(LWORD#42) <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'LWORD_TO_LREAL'; 
IF LWORD_TO_LREAL(LWORD#42) <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'REAL_TO_BOOL'; 
IF REAL_TO_BOOL(REAL#42.0) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'REAL_TO_SINT'; 
IF REAL_TO_SINT(REAL#42.0) <> SINT#42 THEN RETURN; END_IF;


RESULT := 'REAL_TO_USINT'; 
IF REAL_TO_USINT(REAL#42.0) <> USINT#42 THEN RETURN; END_IF;


RESULT := 'REAL_TO_BYTE'; 
IF REAL_TO_BYTE(REAL#42.0) <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'REAL_TO_STRING'; 
IF REAL_TO_STRING(REAL#42.0) <> '42' THEN RETURN; END_IF;


RESULT := 'REAL_TO_INT'; 
IF REAL_TO_INT(REAL#42.0) <> INT#42 THEN RETURN; END_IF;


RESULT := 'REAL_TO_UINT'; 
IF REAL_TO_UINT(REAL#42.0) <> UINT#42 THEN RETURN; END_IF;


RESULT := 'REAL_TO_WORD'; 
IF REAL_TO_WORD(REAL#42.0) <> WORD#42 THEN RETURN; END_IF;


RESULT := 'REAL_TO_DINT'; 
IF REAL_TO_DINT(REAL#42.0) <> DINT#42 THEN RETURN; END_IF;


RESULT := 'REAL_TO_UDINT'; 
IF REAL_TO_UDINT(REAL#42.0) <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'REAL_TO_DWORD'; 
IF REAL_TO_DWORD(REAL#42.0) <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'REAL_TO_LINT'; 
IF REAL_TO_LINT(REAL#42.0) <> LINT#42 THEN RETURN; END_IF;


RESULT := 'REAL_TO_ULINT'; 
IF REAL_TO_ULINT(REAL#42.0) <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'REAL_TO_LWORD'; 
IF REAL_TO_LWORD(REAL#42.0) <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'REAL_TO_LREAL'; 
IF REAL_TO_LREAL(REAL#42.0) <> LREAL#42.0 THEN RETURN; END_IF;


RESULT := 'LREAL_TO_BOOL'; 
IF LREAL_TO_BOOL(LREAL#42.0) <> BOOL#TRUE THEN RETURN; END_IF;


RESULT := 'LREAL_TO_SINT'; 
IF LREAL_TO_SINT(LREAL#42.0) <> SINT#42 THEN RETURN; END_IF;


RESULT := 'LREAL_TO_USINT'; 
IF LREAL_TO_USINT(LREAL#42.0) <> USINT#42 THEN RETURN; END_IF;


RESULT := 'LREAL_TO_BYTE'; 
IF LREAL_TO_BYTE(LREAL#42.0) <> BYTE#42 THEN RETURN; END_IF;


RESULT := 'LREAL_TO_STRING'; 
IF LREAL_TO_STRING(LREAL#42.0) <> '42' THEN RETURN; END_IF;


RESULT := 'LREAL_TO_INT'; 
IF LREAL_TO_INT(LREAL#42.0) <> INT#42 THEN RETURN; END_IF;


RESULT := 'LREAL_TO_UINT'; 
IF LREAL_TO_UINT(LREAL#42.0) <> UINT#42 THEN RETURN; END_IF;


RESULT := 'LREAL_TO_WORD'; 
IF LREAL_TO_WORD(LREAL#42.0) <> WORD#42 THEN RETURN; END_IF;


RESULT := 'LREAL_TO_DINT'; 
IF LREAL_TO_DINT(LREAL#42.0) <> DINT#42 THEN RETURN; END_IF;


RESULT := 'LREAL_TO_UDINT'; 
IF LREAL_TO_UDINT(LREAL#42.0) <> UDINT#42 THEN RETURN; END_IF;


RESULT := 'LREAL_TO_DWORD'; 
IF LREAL_TO_DWORD(LREAL#42.0) <> DWORD#42 THEN RETURN; END_IF;


RESULT := 'LREAL_TO_LINT'; 
IF LREAL_TO_LINT(LREAL#42.0) <> LINT#42 THEN RETURN; END_IF;


RESULT := 'LREAL_TO_ULINT'; 
IF LREAL_TO_ULINT(LREAL#42.0) <> ULINT#42 THEN RETURN; END_IF;


RESULT := 'LREAL_TO_LWORD'; 
IF LREAL_TO_LWORD(LREAL#42.0) <> LWORD#42 THEN RETURN; END_IF;


RESULT := 'LREAL_TO_REAL'; 
IF LREAL_TO_REAL(LREAL#42.0) <> REAL#42.0 THEN RETURN; END_IF;


RESULT := 'OK'; 

]]></xhtml:p>
          </ST>
        </body>
      </pou>
      <pou name="main_test" pouType="program">
        <interface>
          <localVars>
            <variable name="RUN">
              <type>
                <BOOL/>
              </type>
              <initialValue>
                <simpleValue value="TRUE"/>
              </initialValue>
            </variable>
            <variable name="RESULT">
              <type>
                <string/>
              </type>
            </variable>
            <variable name="CONVERSION_TEST0">
              <type>
                <derived name="CONVERSION_TEST"/>
              </type>
            </variable>
            <variable name="R_TRIG0">
              <type>
                <derived name="R_TRIG"/>
              </type>
            </variable>
            <variable name="LOGGER0">
              <type>
                <derived name="LOGGER"/>
              </type>
            </variable>
            <variable name="TEMPO_TEST0">
              <type>
                <derived name="TEMPO_TEST"/>
              </type>
            </variable>
            <variable name="LOGGER1">
              <type>
                <derived name="LOGGER"/>
              </type>
            </variable>
            <variable name="SR0">
              <type>
                <derived name="SR"/>
              </type>
            </variable>
            <variable name="SR1">
              <type>
                <derived name="SR"/>
              </type>
            </variable>
            <variable name="LOGGER2">
              <type>
                <derived name="LOGGER"/>
              </type>
            </variable>
          </localVars>
        </interface>
        <body>
          <FBD>
            <block localId="4" typeName="CONVERSION_TEST" instanceName="CONVERSION_TEST0" executionOrderId="0" height="72" width="136">
              <position x="320" y="280"/>
              <inputVariables>
                <variable formalParameter="EN">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="5" formalParameter="Q">
                      <position x="320" y="312"/>
                      <position x="264" y="312"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="ENO">
                  <connectionPointOut>
                    <relPosition x="136" y="32"/>
                  </connectionPointOut>
                </variable>
                <variable formalParameter="RESULT">
                  <connectionPointOut>
                    <relPosition x="136" y="56"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="5" typeName="R_TRIG" instanceName="R_TRIG0" executionOrderId="0" height="48" width="64">
              <position x="200" y="280"/>
              <inputVariables>
                <variable formalParameter="CLK">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="6">
                      <position x="200" y="312"/>
                      <position x="168" y="312"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="Q">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <inVariable localId="6" executionOrderId="0" height="32" width="48" negated="false">
              <position x="120" y="296"/>
              <connectionPointOut>
                <relPosition x="48" y="16"/>
              </connectionPointOut>
              <expression>TRUE</expression>
            </inVariable>
            <block localId="8" typeName="LOGGER" instanceName="LOGGER0" executionOrderId="0" height="112" width="64">
              <position x="848" y="304"/>
              <inputVariables>
                <variable formalParameter="TRIG">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="4" formalParameter="ENO">
                      <position x="848" y="336"/>
                      <position x="760" y="336"/>
                      <position x="760" y="312"/>
                      <position x="456" y="312"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="MSG">
                  <connectionPointIn>
                    <relPosition x="0" y="64"/>
                    <connection refLocalId="11" formalParameter="OUT">
                      <position x="848" y="368"/>
                      <position x="736" y="368"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="LEVEL">
                  <connectionPointIn>
                    <relPosition x="0" y="96"/>
                    <connection refLocalId="10">
                      <position x="848" y="400"/>
                      <position x="816" y="400"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables/>
            </block>
            <inVariable localId="9" executionOrderId="0" height="32" width="128" negated="false">
              <position x="512" y="352"/>
              <connectionPointOut>
                <relPosition x="128" y="16"/>
              </connectionPointOut>
              <expression>'CONVERSION: '</expression>
            </inVariable>
            <inVariable localId="10" executionOrderId="0" height="32" width="56" negated="false">
              <position x="760" y="384"/>
              <connectionPointOut>
                <relPosition x="56" y="16"/>
              </connectionPointOut>
              <expression>DEBUG</expression>
            </inVariable>
            <block localId="11" typeName="CONCAT" executionOrderId="0" height="64" width="64">
              <position x="672" y="336"/>
              <inputVariables>
                <variable formalParameter="IN1">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="9">
                      <position x="672" y="368"/>
                      <position x="640" y="368"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition x="0" y="56"/>
                    <connection refLocalId="4" formalParameter="RESULT">
                      <position x="672" y="392"/>
                      <position x="480" y="392"/>
                      <position x="480" y="336"/>
                      <position x="456" y="336"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <comment localId="12" height="40" width="248">
              <position x="88" y="216"/>
              <content>
                <xhtml:p><![CDATA[Execute only on first cycle]]></xhtml:p>
              </content>
            </comment>
            <comment localId="1" height="40" width="248">
              <position x="576" y="216"/>
              <content>
                <xhtml:p><![CDATA[Log when just executed]]></xhtml:p>
              </content>
            </comment>
            <block localId="13" typeName="TEMPO_TEST" instanceName="TEMPO_TEST0" executionOrderId="0" height="64" width="96">
              <position x="336" y="600"/>
              <inputVariables>
                <variable formalParameter="RUN">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="16">
                      <position x="336" y="632"/>
                      <position x="248" y="632"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="VALID">
                  <connectionPointOut>
                    <relPosition x="96" y="32"/>
                  </connectionPointOut>
                </variable>
                <variable formalParameter="RESULT">
                  <connectionPointOut>
                    <relPosition x="96" y="56"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="2" typeName="LOGGER" instanceName="LOGGER1" executionOrderId="0" height="112" width="64">
              <position x="824" y="624"/>
              <inputVariables>
                <variable formalParameter="TRIG">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="13" formalParameter="VALID">
                      <position x="824" y="656"/>
                      <position x="736" y="656"/>
                      <position x="736" y="632"/>
                      <position x="432" y="632"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="MSG">
                  <connectionPointIn>
                    <relPosition x="0" y="64"/>
                    <connection refLocalId="14" formalParameter="OUT">
                      <position x="824" y="688"/>
                      <position x="712" y="688"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="LEVEL">
                  <connectionPointIn>
                    <relPosition x="0" y="96"/>
                    <connection refLocalId="7">
                      <position x="824" y="720"/>
                      <position x="792" y="720"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables/>
            </block>
            <inVariable localId="3" executionOrderId="0" height="32" width="128" negated="false">
              <position x="488" y="672"/>
              <connectionPointOut>
                <relPosition x="128" y="16"/>
              </connectionPointOut>
              <expression>'TEMPO: '</expression>
            </inVariable>
            <inVariable localId="7" executionOrderId="0" height="32" width="56" negated="false">
              <position x="736" y="704"/>
              <connectionPointOut>
                <relPosition x="56" y="16"/>
              </connectionPointOut>
              <expression>DEBUG</expression>
            </inVariable>
            <block localId="14" typeName="CONCAT" executionOrderId="0" height="64" width="64">
              <position x="648" y="656"/>
              <inputVariables>
                <variable formalParameter="IN1">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="3">
                      <position x="648" y="688"/>
                      <position x="616" y="688"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition x="0" y="56"/>
                    <connection refLocalId="13" formalParameter="RESULT">
                      <position x="648" y="712"/>
                      <position x="464" y="712"/>
                      <position x="464" y="656"/>
                      <position x="432" y="656"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <comment localId="15" height="40" width="248">
              <position x="536" y="536"/>
              <content>
                <xhtml:p><![CDATA[Log when valid]]></xhtml:p>
              </content>
            </comment>
            <inVariable localId="16" executionOrderId="0" height="32" width="48" negated="false">
              <position x="200" y="616"/>
              <connectionPointOut>
                <relPosition x="48" y="16"/>
              </connectionPointOut>
              <expression>TRUE</expression>
            </inVariable>
            <block localId="17" typeName="AND" executionOrderId="0" height="64" width="64">
              <position x="1016" y="568"/>
              <inputVariables>
                <variable formalParameter="IN1">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="13" formalParameter="VALID">
                      <position x="1016" y="600"/>
                      <position x="736" y="600"/>
                      <position x="736" y="632"/>
                      <position x="432" y="632"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition x="0" y="56"/>
                    <connection refLocalId="18" formalParameter="OUT">
                      <position x="1016" y="624"/>
                      <position x="990" y="624"/>
                      <position x="990" y="752"/>
                      <position x="976" y="752"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="18" typeName="EQ" executionOrderId="0" height="64" width="64">
              <position x="912" y="720"/>
              <inputVariables>
                <variable formalParameter="IN1">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="13" formalParameter="RESULT">
                      <position x="912" y="752"/>
                      <position x="464" y="752"/>
                      <position x="464" y="656"/>
                      <position x="432" y="656"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition x="0" y="56"/>
                    <connection refLocalId="19">
                      <position x="912" y="776"/>
                      <position x="864" y="776"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <inVariable localId="19" executionOrderId="0" height="32" width="48" negated="false">
              <position x="816" y="760"/>
              <connectionPointOut>
                <relPosition x="48" y="16"/>
              </connectionPointOut>
              <expression>'OK'</expression>
            </inVariable>
            <block localId="20" typeName="SR" instanceName="SR0" executionOrderId="0" height="64" width="48">
              <position x="1120" y="568"/>
              <inputVariables>
                <variable formalParameter="S1">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="17" formalParameter="OUT">
                      <position x="1120" y="600"/>
                      <position x="1080" y="600"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="R">
                  <connectionPointIn>
                    <relPosition x="0" y="56"/>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="Q1">
                  <connectionPointOut>
                    <relPosition x="48" y="32"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="21" typeName="AND" executionOrderId="0" height="64" width="64">
              <position x="1296" y="496"/>
              <inputVariables>
                <variable formalParameter="IN1">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="23" formalParameter="Q1">
                      <position x="1296" y="528"/>
                      <position x="1256" y="528"/>
                      <position x="1256" y="272"/>
                      <position x="1192" y="272"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition x="0" y="56"/>
                    <connection refLocalId="20" formalParameter="Q1">
                      <position x="1296" y="552"/>
                      <position x="1232" y="552"/>
                      <position x="1232" y="600"/>
                      <position x="1168" y="600"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="22" typeName="AND" executionOrderId="0" height="64" width="64">
              <position x="1040" y="240"/>
              <inputVariables>
                <variable formalParameter="IN1">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="4" formalParameter="ENO">
                      <position x="1040" y="272"/>
                      <position x="760" y="272"/>
                      <position x="760" y="312"/>
                      <position x="456" y="312"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition x="0" y="56"/>
                    <connection refLocalId="24" formalParameter="OUT">
                      <position x="1040" y="296"/>
                      <position x="1014" y="296"/>
                      <position x="1014" y="424"/>
                      <position x="1000" y="424"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="23" typeName="SR" instanceName="SR1" executionOrderId="0" height="64" width="48">
              <position x="1144" y="240"/>
              <inputVariables>
                <variable formalParameter="S1">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="22" formalParameter="OUT">
                      <position x="1144" y="272"/>
                      <position x="1104" y="272"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="R">
                  <connectionPointIn>
                    <relPosition x="0" y="56"/>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="Q1">
                  <connectionPointOut>
                    <relPosition x="48" y="32"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="24" typeName="EQ" executionOrderId="0" height="64" width="64">
              <position x="936" y="392"/>
              <inputVariables>
                <variable formalParameter="IN1">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="4" formalParameter="RESULT">
                      <position x="936" y="424"/>
                      <position x="480" y="424"/>
                      <position x="480" y="336"/>
                      <position x="456" y="336"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition x="0" y="56"/>
                    <connection refLocalId="25">
                      <position x="936" y="448"/>
                      <position x="888" y="448"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <inVariable localId="25" executionOrderId="0" height="32" width="48" negated="false">
              <position x="840" y="432"/>
              <connectionPointOut>
                <relPosition x="48" y="16"/>
              </connectionPointOut>
              <expression>'OK'</expression>
            </inVariable>
            <inVariable localId="26" executionOrderId="0" height="32" width="56" negated="false">
              <position x="1464" y="576"/>
              <connectionPointOut>
                <relPosition x="56" y="16"/>
              </connectionPointOut>
              <expression>DEBUG</expression>
            </inVariable>
            <block localId="27" typeName="LOGGER" instanceName="LOGGER2" executionOrderId="0" height="112" width="64">
              <position x="1552" y="496"/>
              <inputVariables>
                <variable formalParameter="TRIG">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="21" formalParameter="OUT">
                      <position x="1552" y="528"/>
                      <position x="1360" y="528"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="MSG">
                  <connectionPointIn>
                    <relPosition x="0" y="64"/>
                    <connection refLocalId="28">
                      <position x="1552" y="560"/>
                      <position x="1512" y="560"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="LEVEL">
                  <connectionPointIn>
                    <relPosition x="0" y="96"/>
                    <connection refLocalId="26">
                      <position x="1552" y="592"/>
                      <position x="1520" y="592"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables/>
            </block>
            <inVariable localId="28" executionOrderId="0" height="32" width="128" negated="false">
              <position x="1384" y="544"/>
              <connectionPointOut>
                <relPosition x="128" y="16"/>
              </connectionPointOut>
              <expression>'ALL TESTS OK'</expression>
            </inVariable>
            <comment localId="29" height="144" width="504">
              <position x="80" y="32"/>
              <content>
                <xhtml:p><![CDATA[This tests some IEC-61131 languages and standard library.

BEREMIZ_TEST_CYCLES CFLAG is used here. 
- pre-defined PLC cycles all run with no pause
- time is emulated]]></xhtml:p>
              </content>
            </comment>
          </FBD>
        </body>
      </pou>
      <pou name="TEMPO_TEST" pouType="functionBlock">
        <interface>
          <inputVars>
            <variable name="RUN">
              <type>
                <BOOL/>
              </type>
            </variable>
          </inputVars>
          <outputVars>
            <variable name="VALID">
              <type>
                <BOOL/>
              </type>
            </variable>
            <variable name="RESULT">
              <type>
                <string/>
              </type>
            </variable>
          </outputVars>
          <localVars>
            <variable name="TON0">
              <type>
                <derived name="TON"/>
              </type>
            </variable>
            <variable name="R_TRIG0">
              <type>
                <derived name="R_TRIG"/>
              </type>
            </variable>
            <variable name="R_TRIG1">
              <type>
                <derived name="R_TRIG"/>
              </type>
            </variable>
            <variable name="RTC1">
              <type>
                <derived name="RTC"/>
              </type>
            </variable>
            <variable name="START_TIME">
              <type>
                <DT/>
              </type>
            </variable>
            <variable name="MEASURED_DURATION">
              <type>
                <TIME/>
              </type>
            </variable>
          </localVars>
        </interface>
        <body>
          <FBD>
            <block localId="2" typeName="TON" instanceName="TON0" executionOrderId="0" height="64" width="48">
              <position x="296" y="440"/>
              <inputVariables>
                <variable formalParameter="IN">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="9">
                      <position x="296" y="472"/>
                      <position x="256" y="472"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="PT">
                  <connectionPointIn>
                    <relPosition x="0" y="56"/>
                    <connection refLocalId="17">
                      <position x="296" y="496"/>
                      <position x="208" y="496"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="Q">
                  <connectionPointOut>
                    <relPosition x="48" y="32"/>
                  </connectionPointOut>
                </variable>
                <variable formalParameter="ET">
                  <connectionPointOut>
                    <relPosition x="48" y="56"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="3" typeName="R_TRIG" instanceName="R_TRIG0" executionOrderId="0" height="48" width="64">
              <position x="152" y="288"/>
              <inputVariables>
                <variable formalParameter="CLK">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="8">
                      <position x="152" y="320"/>
                      <position x="120" y="320"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="Q">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="4" typeName="R_TRIG" instanceName="R_TRIG1" executionOrderId="0" height="48" width="64">
              <position x="384" y="440"/>
              <inputVariables>
                <variable formalParameter="CLK">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="2" formalParameter="Q">
                      <position x="384" y="472"/>
                      <position x="344" y="472"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="Q">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <block localId="5" typeName="RTC" instanceName="RTC1" executionOrderId="0" height="64" width="64">
              <position x="80" y="184"/>
              <inputVariables>
                <variable formalParameter="IN">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="PDT">
                  <connectionPointIn>
                    <relPosition x="0" y="56"/>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="Q">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
                <variable formalParameter="CDT">
                  <connectionPointOut>
                    <relPosition x="64" y="56"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <connector name="now" localId="7" height="32" width="72">
              <position x="176" y="224"/>
              <connectionPointIn>
                <relPosition x="0" y="16"/>
                <connection refLocalId="5" formalParameter="CDT">
                  <position x="176" y="240"/>
                  <position x="144" y="240"/>
                </connection>
              </connectionPointIn>
            </connector>
            <continuation name="now" localId="1" height="32" width="72">
              <position x="496" y="488"/>
              <connectionPointOut>
                <relPosition x="72" y="16"/>
              </connectionPointOut>
            </continuation>
            <inVariable localId="8" executionOrderId="0" height="32" width="40" negated="false">
              <position x="80" y="304"/>
              <connectionPointOut>
                <relPosition x="40" y="16"/>
              </connectionPointOut>
              <expression>RUN</expression>
            </inVariable>
            <inVariable localId="9" executionOrderId="0" height="32" width="40" negated="false">
              <position x="216" y="456"/>
              <connectionPointOut>
                <relPosition x="40" y="16"/>
              </connectionPointOut>
              <expression>RUN</expression>
            </inVariable>
            <inVariable localId="10" executionOrderId="0" height="32" width="80" negated="false">
              <position x="344" y="184"/>
              <connectionPointOut>
                <relPosition x="80" y="16"/>
              </connectionPointOut>
              <expression>TIME#10s</expression>
            </inVariable>
            <continuation name="now" localId="11" height="32" width="72">
              <position x="232" y="328"/>
              <connectionPointOut>
                <relPosition x="72" y="16"/>
              </connectionPointOut>
            </continuation>
            <block localId="12" typeName="MOVE" executionOrderId="0" height="64" width="56">
              <position x="360" y="288"/>
              <inputVariables>
                <variable formalParameter="EN">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="3" formalParameter="Q">
                      <position x="360" y="320"/>
                      <position x="216" y="320"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN">
                  <connectionPointIn>
                    <relPosition x="0" y="56"/>
                    <connection refLocalId="11">
                      <position x="360" y="344"/>
                      <position x="304" y="344"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="ENO">
                  <connectionPointOut>
                    <relPosition x="56" y="32"/>
                  </connectionPointOut>
                </variable>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="56" y="56"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <outVariable localId="14" executionOrderId="0" height="32" width="96" negated="false">
              <position x="464" y="328"/>
              <connectionPointIn>
                <relPosition x="0" y="16"/>
                <connection refLocalId="12" formalParameter="OUT">
                  <position x="464" y="344"/>
                  <position x="416" y="344"/>
                </connection>
              </connectionPointIn>
              <expression>START_TIME</expression>
            </outVariable>
            <block localId="15" typeName="SUB" executionOrderId="0" height="112" width="64">
              <position x="616" y="440"/>
              <inputVariables>
                <variable formalParameter="EN">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="4" formalParameter="Q">
                      <position x="616" y="472"/>
                      <position x="448" y="472"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN1">
                  <connectionPointIn>
                    <relPosition x="0" y="64"/>
                    <connection refLocalId="1">
                      <position x="616" y="504"/>
                      <position x="568" y="504"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition x="0" y="96"/>
                    <connection refLocalId="6">
                      <position x="616" y="536"/>
                      <position x="568" y="536"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="ENO">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="64" y="64"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <inVariable localId="6" executionOrderId="0" height="32" width="96" negated="false">
              <position x="472" y="520"/>
              <connectionPointOut>
                <relPosition x="96" y="16"/>
              </connectionPointOut>
              <expression>START_TIME</expression>
            </inVariable>
            <comment localId="21" height="120" width="552">
              <position x="96" y="32"/>
              <content>
                <xhtml:p><![CDATA[Test that TON and TOFF work as expected]]></xhtml:p>
              </content>
            </comment>
            <outVariable localId="22" executionOrderId="0" height="32" width="56" negated="false">
              <position x="1384" y="456"/>
              <connectionPointIn>
                <relPosition x="0" y="16"/>
                <connection refLocalId="26" formalParameter="ENO">
                  <position x="1384" y="472"/>
                  <position x="1328" y="472"/>
                </connection>
              </connectionPointIn>
              <expression>VALID</expression>
            </outVariable>
            <block localId="13" typeName="SUB" executionOrderId="0" height="112" width="64">
              <position x="856" y="440"/>
              <inputVariables>
                <variable formalParameter="EN">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="15" formalParameter="ENO">
                      <position x="856" y="472"/>
                      <position x="680" y="472"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN1">
                  <connectionPointIn>
                    <relPosition x="0" y="64"/>
                    <connection refLocalId="15" formalParameter="OUT">
                      <position x="856" y="504"/>
                      <position x="680" y="504"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition x="0" y="96"/>
                    <connection refLocalId="18">
                      <position x="856" y="536"/>
                      <position x="816" y="536"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="ENO">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="64" y="64"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <connector name="duration" localId="23" height="32" width="104">
              <position x="496" y="184"/>
              <connectionPointIn>
                <relPosition x="0" y="16"/>
                <connection refLocalId="10">
                  <position x="496" y="200"/>
                  <position x="424" y="200"/>
                </connection>
              </connectionPointIn>
            </connector>
            <continuation name="duration" localId="17" height="32" width="104">
              <position x="104" y="480"/>
              <connectionPointOut>
                <relPosition x="104" y="16"/>
              </connectionPointOut>
            </continuation>
            <continuation name="duration" localId="18" height="32" width="104">
              <position x="712" y="520"/>
              <connectionPointOut>
                <relPosition x="104" y="16"/>
              </connectionPointOut>
            </continuation>
            <block localId="24" typeName="LT" executionOrderId="0" height="104" width="64">
              <position x="1048" y="440"/>
              <inputVariables>
                <variable formalParameter="EN">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="13" formalParameter="ENO">
                      <position x="1048" y="472"/>
                      <position x="920" y="472"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN1">
                  <connectionPointIn>
                    <relPosition x="0" y="64"/>
                    <connection refLocalId="13" formalParameter="OUT">
                      <position x="1048" y="504"/>
                      <position x="920" y="504"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN2">
                  <connectionPointIn>
                    <relPosition x="0" y="88"/>
                    <connection refLocalId="19">
                      <position x="1048" y="528"/>
                      <position x="1016" y="528"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="ENO">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="64" y="64"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <inVariable localId="19" executionOrderId="0" height="32" width="80" negated="false">
              <position x="936" y="512"/>
              <connectionPointOut>
                <relPosition x="80" y="16"/>
              </connectionPointOut>
              <expression>TIME#1s</expression>
            </inVariable>
            <block localId="26" typeName="SEL" executionOrderId="0" height="144" width="64">
              <position x="1264" y="440"/>
              <inputVariables>
                <variable formalParameter="EN">
                  <connectionPointIn>
                    <relPosition x="0" y="32"/>
                    <connection refLocalId="24" formalParameter="ENO">
                      <position x="1264" y="472"/>
                      <position x="1112" y="472"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="G">
                  <connectionPointIn>
                    <relPosition x="0" y="64"/>
                    <connection refLocalId="24" formalParameter="OUT">
                      <position x="1264" y="504"/>
                      <position x="1112" y="504"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN0">
                  <connectionPointIn>
                    <relPosition x="0" y="96"/>
                    <connection refLocalId="28">
                      <position x="1264" y="536"/>
                      <position x="1208" y="536"/>
                    </connection>
                  </connectionPointIn>
                </variable>
                <variable formalParameter="IN1">
                  <connectionPointIn>
                    <relPosition x="0" y="128"/>
                    <connection refLocalId="27">
                      <position x="1264" y="568"/>
                      <position x="1208" y="568"/>
                    </connection>
                  </connectionPointIn>
                </variable>
              </inputVariables>
              <inOutVariables/>
              <outputVariables>
                <variable formalParameter="ENO">
                  <connectionPointOut>
                    <relPosition x="64" y="32"/>
                  </connectionPointOut>
                </variable>
                <variable formalParameter="OUT">
                  <connectionPointOut>
                    <relPosition x="64" y="64"/>
                  </connectionPointOut>
                </variable>
              </outputVariables>
            </block>
            <inVariable localId="27" executionOrderId="0" height="32" width="56" negated="false">
              <position x="1152" y="552"/>
              <connectionPointOut>
                <relPosition x="56" y="16"/>
              </connectionPointOut>
              <expression>'OK'</expression>
            </inVariable>
            <inVariable localId="28" executionOrderId="0" height="32" width="56" negated="false">
              <position x="1152" y="520"/>
              <connectionPointOut>
                <relPosition x="56" y="16"/>
              </connectionPointOut>
              <expression>'BAD'</expression>
            </inVariable>
            <outVariable localId="29" executionOrderId="0" height="32" width="64" negated="false">
              <position x="1384" y="488"/>
              <connectionPointIn>
                <relPosition x="0" y="16"/>
                <connection refLocalId="26" formalParameter="OUT">
                  <position x="1384" y="504"/>
                  <position x="1328" y="504"/>
                </connection>
              </connectionPointIn>
              <expression>RESULT</expression>
            </outVariable>
          </FBD>
        </body>
      </pou>
    </pous>
  </types>
  <instances>
    <configurations>
      <configuration name="config">
        <resource name="resource1">
          <task name="task0" priority="0" interval="T#20ms">
            <pouInstance name="instance0" typeName="main_test"/>
          </task>
        </resource>
      </configuration>
    </configurations>
  </instances>
</project>