<?xml version="1.0" encoding="utf-8"?>
<Target Name="2080LC2020QWBI" CodeType="" Model="0" ByteOrder="1" AlignNumber="4" MaxBlockSize="0" UINT16Size="2" UINT32Size="4" UCHARSize="1" PointerSize="4" FirstVa="1024" Quantum="1" EolChar="13,10" OKReal="true" OKString="true" SM="8192" T1="0" T2="0" T3="0" T4="0" T5="0" G1="0" G2="0" G3="0" G4="0" UserData="true" SingleTextLine="" Help="" Keyword="" SysVarCycleDate="264" SysVarCycycTime="268" SysVarCyCurrent="272" SysVarCyMaximum="276" SysVarCyOverFlow="280" SysVarScanCnt="284" SysVarCycleCnt="288" SysVarResMode="292" SysVarCCExec="293" SysVarKVBPerr="294" SysVarKVBCErr="295" SysVarWNGNum="296" SysVarWNGarg="300" SysVarResName="4" StrictAlignt="false" MaxParam="128" SysVarWNGCMD="315" SysVarWNGCMPTNM="304" IsIsagraf3="false" Features="ResNbr=1" IsEnhancedTarget="true" MaxPouSize="65535">
  <TargetDescription></TargetDescription>
  <CodeTypes>
    <CodeType Code="TicCode" />
  </CodeTypes>
  <Networks>
    <Network Name="ISARSI" />
    <Network Name="CIPNetwork" />
  </Networks>
  <CustomFields>
    <CustomField Name="VendorID" Value="1" />
    <CustomField Name="DeviceType" Value="14" />
    <CustomField Name="ProductCode" Value="180" />
    <CustomField Name="CatalogID" Value="2080-LC20-20QWB" />
    <CustomField Name="Series" Value="0" />
    <CustomField Name="FWOSVersion" Value="9.11" />
    <CustomField Name="MaxUsrMem" Value="143360" />
    <CustomField Name="MaxUserDataMem" Value="65536" />
    <CustomField Name="MaxFFMem" Value="20480" />
    <CustomField Name="MaxLCDVar" Value="400" />
    <CustomField Name="MaxRtMem" Value="400" />
    <CustomField Name="MaxVariableNameLength" Value="40" />
    <CustomField Name="MaxEmbeddedFileSize" Value="348160" />
    <CustomField Name="MaxDigitalIOConfigurable" Value="132" />
  </CustomFields>
  <ExtendedParameters />
  <Features>
    <Feature Name="PASSWORD" IsSupported="true" />
    <Feature Name="OPTCODE" IsSupported="true" />
    <Feature Name="BINDING" IsSupported="false" />
    <Feature Name="MULTIRESOURCES" IsSupported="false" />
    <Feature Name="ONLINE" IsSupported="true" />
    <Feature Name="RETAIN" IsSupported="true" />
    <Feature Name="MICROCYCTIME" IsSupported="false" />
    <Feature Name="INTRPT" IsSupported="true" />
    <Feature Name="ARINPRF" IsSupported="true" />
    <Feature Name="BIGPOUS" IsSupported="false" />
    <Feature Name="NETWORKINST" IsSupported="false" />
    <Feature Name="SFCPRIO" IsSupported="false" />
    <Feature Name="COMPLEXSUBVARCONNECTEDTOIOCHAN" IsSupported="false" />
    <Feature Name="IOCHANOEMPARAM" IsSupported="false" />
    <Feature Name="OLCCFBINITEXIT" IsSupported="true" />
    <Feature Name="ANYBITACCESSOFFSET" IsSupported="true" />
    <Feature Name="POUNUMBERINGPERSISTENCE" IsSupported="false" />
    <Feature Name="INDIRECTBITADDRESSING" IsSupported="false" />
  </Features>
  <Languages>
    <Language Name="ST" IsSupported="true" />
    <Language Name="IL" IsSupported="false" />
    <Language Name="LD" IsSupported="true" />
    <Language Name="FBD" IsSupported="true" />
    <Language Name="SAMA" IsSupported="false" />
    <Language Name="61499" IsSupported="false" />
    <Language Name="SFC" IsSupported="false" />
    <Language Name="FC" IsSupported="false" />
    <Language Name="C" IsSupported="true" />
  </Languages>
  <DataTypes>
    <DataType Name="BOOL" IsSupported="true" />
    <DataType Name="SINT" IsSupported="true" />
    <DataType Name="DINT" IsSupported="true" />
    <DataType Name="REAL" IsSupported="true" />
    <DataType Name="TIME" IsSupported="true" />
    <DataType Name="STRING" IsSupported="true" />
    <DataType Name="LREAL" IsSupported="true" />
    <DataType Name="INT" IsSupported="true" />
    <DataType Name="LINT" IsSupported="true" />
    <DataType Name="USINT" IsSupported="true" />
    <DataType Name="UINT" IsSupported="true" />
    <DataType Name="UDINT" IsSupported="true" />
    <DataType Name="ULINT" IsSupported="true" />
    <DataType Name="DATE" IsSupported="true" />
    <DataType Name="BYTE" IsSupported="true" />
    <DataType Name="WORD" IsSupported="true" />
    <DataType Name="DWORD" IsSupported="true" />
    <DataType Name="LWORD" IsSupported="true" />
    <DataType Name="SAFEBOOL" IsSupported="false" />
    <DataType Name="ANY_ELEMENTARY" IsSupported="true" />
    <DataType Name="__ANY" IsSupported="false" />
  </DataTypes>
  <SystemVariables>
    <Variable Name="SYSVA_REMOTE" DataType="BOOL" InitialValue="FALSE" ReadOnly="true" SingleTextLine="Remote status" StringSize="0" VA="384" />
    <Variable Name="SYSVA_SUSPEND_ID" DataType="UINT" InitialValue="0" ReadOnly="true" SingleTextLine="Last Suspend ID" StringSize="0" VA="386" />
    <Variable Name="SYSVA_TCYWDG" DataType="UDINT" InitialValue="2000" ReadOnly="false" SingleTextLine="Software Watchdog" StringSize="0" VA="388" />
    <Variable Name="SYSVA_MAJ_ERR_HALT" DataType="BOOL" InitialValue="FALSE" ReadOnly="true" SingleTextLine="Major Error Halted status" StringSize="0" VA="392" />
    <Variable Name="SYSVA_ABORT_CYCLE" DataType="BOOL" InitialValue="FALSE" ReadOnly="true" SingleTextLine="Aborting Cycle" StringSize="0" VA="385" />
    <Variable Name="SYSVA_FIRST_SCAN" DataType="BOOL" InitialValue="TRUE" ReadOnly="true" SingleTextLine="First scan bit" StringSize="0" VA="393" />
    <Variable Name="SYSVA_USER_DATA_LOST" DataType="BOOL" InitialValue="FALSE" ReadOnly="false" SingleTextLine="User data lost" StringSize="0" VA="394" />
    <Variable Name="SYSVA_POWERUP_BIT" DataType="BOOL" InitialValue="TRUE" ReadOnly="true" SingleTextLine="Power-up bit" StringSize="0" VA="395" />
    <Variable Name="SYSVA_PROJ_INCOMPLETE" DataType="UDINT" InitialValue="0" ReadOnly="true" SingleTextLine="Project Incomplete" StringSize="0" VA="396" />
  </SystemVariables>
  <Interrupts>
    <Interrupt Name="UFR" Number="0" DataType="BOOL" SingleTextLine="User Fault Routine" StringSize="0" />
    <Interrupt Name="STI0" Number="15" DataType="IRQSTI" SingleTextLine="Selected Timed Interrupt #0" StringSize="0" />
    <Interrupt Name="STI1" Number="16" DataType="IRQSTI" SingleTextLine="Selected Timed Interrupt #1" StringSize="0" />
    <Interrupt Name="UPMUI0" Number="19" DataType="IRQUPM" SingleTextLine="Universal Port Interrupt #0" StringSize="0" />
    <Interrupt Name="UPMUI1" Number="20" DataType="IRQUPM" SingleTextLine="Universal Port Interrupt #1" StringSize="0" />
  </Interrupts>
  <StdPous>
    <StdPou Name="SR" IsSupported="true" />
    <StdPou Name="RS" IsSupported="true" />
    <StdPou Name="R_TRIG" IsSupported="true" />
    <StdPou Name="F_TRIG" IsSupported="true" />
    <StdPou Name="CTU" IsSupported="true" />
    <StdPou Name="CTD" IsSupported="true" />
    <StdPou Name="CTUD" IsSupported="true" />
    <StdPou Name="TON" IsSupported="true" />
    <StdPou Name="TOF" IsSupported="true" />
    <StdPou Name="CMP" IsSupported="false" />
    <StdPou Name="STACKINT" IsSupported="true" />
    <StdPou Name="AVERAGE" IsSupported="true" />
    <StdPou Name="HYSTER" IsSupported="true" />
    <StdPou Name="LIM_ALRM" IsSupported="true" />
    <StdPou Name="INTEGRAL" IsSupported="true" />
    <StdPou Name="DERIVATE" IsSupported="true" />
    <StdPou Name="BLINK" IsSupported="false" />
    <StdPou Name="SIG_GEN" IsSupported="false" />
    <StdPou Name="ABS" IsSupported="true" />
    <StdPou Name="EXPT" IsSupported="true" />
    <StdPou Name="LOG" IsSupported="true" />
    <StdPou Name="POW" IsSupported="true" />
    <StdPou Name="SQRT" IsSupported="true" />
    <StdPou Name="TRUNC" IsSupported="true" />
    <StdPou Name="ACOS" IsSupported="true" />
    <StdPou Name="ASIN" IsSupported="true" />
    <StdPou Name="ATAN" IsSupported="true" />
    <StdPou Name="COS" IsSupported="true" />
    <StdPou Name="SIN" IsSupported="true" />
    <StdPou Name="TAN" IsSupported="true" />
    <StdPou Name="ROL" IsSupported="true" />
    <StdPou Name="ROR" IsSupported="true" />
    <StdPou Name="SHL" IsSupported="true" />
    <StdPou Name="SHR" IsSupported="true" />
    <StdPou Name="MIN" IsSupported="true" />
    <StdPou Name="MAX" IsSupported="true" />
    <StdPou Name="LIMIT" IsSupported="true" />
    <StdPou Name="MOD" IsSupported="true" />
    <StdPou Name="MUX4" IsSupported="false" />
    <StdPou Name="MUX8" IsSupported="false" />
    <StdPou Name="ODD" IsSupported="false" />
    <StdPou Name="RAND" IsSupported="true" />
    <StdPou Name="SEL" IsSupported="false" />
    <StdPou Name="ASCII" IsSupported="true" />
    <StdPou Name="CHAR" IsSupported="true" />
    <StdPou Name="DELETE" IsSupported="true" />
    <StdPou Name="FIND" IsSupported="true" />
    <StdPou Name="INSERT" IsSupported="true" />
    <StdPou Name="LEFT" IsSupported="true" />
    <StdPou Name="MID" IsSupported="true" />
    <StdPou Name="MLEN" IsSupported="true" />
    <StdPou Name="REPLACE" IsSupported="true" />
    <StdPou Name="RIGHT" IsSupported="true" />
    <StdPou Name="AND_MASK" IsSupported="true" />
    <StdPou Name="OR_MASK" IsSupported="true" />
    <StdPou Name="XOR_MASK" IsSupported="true" />
    <StdPou Name="NOT_MASK" IsSupported="true" />
    <StdPou Name="TP" IsSupported="true" />
    <StdPou Name="CONNECT" IsSupported="false" />
    <StdPou Name="USEND_S" IsSupported="false" />
    <StdPou Name="URCV_S" IsSupported="false" />
    <StdPou Name="SUB_DATE_DATE" IsSupported="false" />
    <StdPou Name="CURRENT_ISA_DATE" IsSupported="false" />
    <StdPou Name="SEMA" IsSupported="false" />
    <StdPou Name="LOCK_CPU" IsSupported="false" />
    <StdPou Name="UNLOCK_CPU" IsSupported="false" />
  </StdPous>
  <Pous>
    <Pou FileVersion="200.00.003" Name="TDF" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Compute time difference." Language="C" CustomFbd="0" Localization="LibC" GroupName="Time" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="TDF" ConvDirection="NoConversion" DataType="TIME" />
      <LocalVars>
        <Variable Name="TDF" DataType="TIME" InitialValue="" Comment="TRUE: function performed" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="TimeA" DataType="TIME" InitialValue="" Comment="Start time for computation of time difference." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TimeB" DataType="TIME" InitialValue="" Comment="End time for computation of time difference." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="RPC" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Reads user program checksum." Language="C" CustomFbd="0" Localization="LibC" GroupName="Input/Output" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="RPC" ConvDirection="NoConversion" DataType="UDINT" />
      <LocalVars>
        <Variable Name="RPC" DataType="UDINT" InitialValue="" Comment="The checksum value of the specified user program" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="MemMod" DataType="BOOL" InitialValue="" Comment="If TRUE, the value is retrieved from the memory module" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="TAN_LREAL" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Perform 64-bit real tangent calculation." Language="C" CustomFbd="0" Localization="LibC" GroupName="Arithmetic" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="TAN_LREAL" ConvDirection="NoConversion" DataType="LREAL" />
      <LocalVars>
        <Variable Name="TAN_LREAL" DataType="LREAL" InitialValue="" Comment="Result of Tangent of a Real value" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="IN" DataType="LREAL" InitialValue="" Comment="Input parameter of tangent. = 1E+38 for invalid input." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="SIN_LREAL" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Perform 64-bit real sine calculation." Language="C" CustomFbd="0" Localization="LibC" GroupName="Arithmetic" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="SIN_LREAL" ConvDirection="NoConversion" DataType="LREAL" />
      <LocalVars>
        <Variable Name="SIN_LREAL" DataType="LREAL" InitialValue="" Comment="Result of Sine of a Real value" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="IN" DataType="LREAL" InitialValue="" Comment="Input parameter for sine (in set [-1.0 .. +1.0])." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="ATAN_LREAL" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Perform 64-bit real arctangent calculation." Language="C" CustomFbd="0" Localization="LibC" GroupName="Arithmetic" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="ATAN_LREAL" ConvDirection="NoConversion" DataType="LREAL" />
      <LocalVars>
        <Variable Name="ATAN_LREAL" DataType="LREAL" InitialValue="" Comment="Result of Arc Tangent of a Real value" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="IN" DataType="LREAL" InitialValue="" Comment="Input parameter of arc tangent. (in set [-PI/2 .. +PI/2]), 0.0 for invalid input." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="ASIN_LREAL" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Perform 64-bit real arcsine calculation." Language="C" CustomFbd="0" Localization="LibC" GroupName="Arithmetic" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="ASIN_LREAL" ConvDirection="NoConversion" DataType="LREAL" />
      <LocalVars>
        <Variable Name="ASIN_LREAL" DataType="LREAL" InitialValue="" Comment="Result of Arc Sine of a Real value" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="IN" DataType="LREAL" InitialValue="" Comment="Input parameter of arc sine. Must be in set [-1.0 .. +1.0]." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="MUX8B" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Multiplexer(8 entries) - accepts BOOL inputs and output value." Language="C" CustomFbd="0" Localization="LibC" GroupName="Boolean" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="MUX8B" ConvDirection="NoConversion" DataType="BOOL" />
      <LocalVars>
        <Variable Name="MUX8B" DataType="BOOL" InitialValue="" Comment="Result of selection of 8 boolean inputs" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Selector" DataType="USINT" InitialValue="" Comment="Selector integer value, must be in set [0...7]." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN0" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN1" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN2" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN3" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN4" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN5" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN6" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN7" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="TND" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Abort current user program scan." Language="C" CustomFbd="0" Localization="LibC" GroupName="Program Control" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="TND" ConvDirection="NoConversion" DataType="BOOL" />
      <LocalVars>
        <Variable Name="TND" DataType="BOOL" InitialValue="" Comment="TRUE: function performed" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="TOW" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Turn on  output when real-time clock value is within week range." Language="C" CustomFbd="0" Localization="LibC" GroupName="Time" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="TOW" ConvDirection="NoConversion" DataType="BOOL" />
      <LocalVars>
        <Variable Name="TOW" DataType="BOOL" InitialValue="" Comment="TRUE: value of RTC is in the range of the Week Time setting of any one of four channels" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="TimeA" DataType="TOWDATA" InitialValue="" Comment="Time of Week setting for Channel A" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TimeB" DataType="TOWDATA" InitialValue="" Comment="Time of Week setting for Channel B" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TimeC" DataType="TOWDATA" InitialValue="" Comment="Time of Week setting for Channel C" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TimeD" DataType="TOWDATA" InitialValue="" Comment="Time of Week setting for Channel D" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="MUX4B" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Multiplexer(4 entries) - accepts BOOL inputs and output value." Language="C" CustomFbd="0" Localization="LibC" GroupName="Boolean" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="MUX4B" ConvDirection="NoConversion" DataType="BOOL" />
      <LocalVars>
        <Variable Name="MUX4B" DataType="BOOL" InitialValue="" Comment="Result of selection of 4 boolean inputs" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Selector" DataType="USINT" InitialValue="" Comment="Selector integer value, must be in set [0...3]." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN0" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN1" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN2" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN3" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="RHC" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Read high-speed clock." Language="C" CustomFbd="0" Localization="LibC" GroupName="Input/Output" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="RHC" ConvDirection="NoConversion" DataType="UDINT" />
      <LocalVars>
        <Variable Name="RHC" DataType="UDINT" InitialValue="" Comment="TRUE: function performed" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="DOY" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Turn on output when real-time clock value is within year range." Language="C" CustomFbd="0" Localization="LibC" GroupName="Time" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="DOY" ConvDirection="NoConversion" DataType="BOOL" />
      <LocalVars>
        <Variable Name="DOY" DataType="BOOL" InitialValue="" Comment="TRUE: value of RTC is in the range of the Year Time setting of any one of four channels" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="TimeA" DataType="DOYDATA" InitialValue="" Comment="Year Time Setting for Channel A" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TimeB" DataType="DOYDATA" InitialValue="" Comment="Year Time Setting for Channel B" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TimeC" DataType="DOYDATA" InitialValue="" Comment="Year Time Setting for Channel C" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TimeD" DataType="DOYDATA" InitialValue="" Comment="Year Time Setting for Channel D" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="STIS" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Start STI timer from control program(instead of automatically)." Language="C" CustomFbd="0" Localization="LibC" GroupName="Interrupt" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="STIS" ConvDirection="NoConversion" DataType="BOOL" />
      <LocalVars>
        <Variable Name="STIS" DataType="BOOL" InitialValue="" Comment="TRUE: function performed" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IRQType" DataType="UDINT" InitialValue="" Comment="Concatenation of the different IRQ types to enable. Use the IRQ_STI* defined words for this instruction." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="SetPoint" DataType="UINT" InitialValue="" Comment="Amount of time (in milliseconds) that must expire prior to executing the selectable timed user interrupt. A value of zero disables the STI function." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="TTABLE" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Provide the value output based on the combination of inputs." Language="C" CustomFbd="0" Localization="LibC" GroupName="Boolean" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="TTABLE" ConvDirection="NoConversion" DataType="BOOL" />
      <LocalVars>
        <Variable Name="TTABLE" DataType="BOOL" InitialValue="" Comment="Value of output according to the combination of inputs" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Table" DataType="UINT" InitialValue="" Comment="Truth table for Boolean function." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN0" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN1" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN2" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IN3" DataType="BOOL" InitialValue="" Comment="Any BOOL input value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="UID" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Disable specific user interrupt." Language="C" CustomFbd="0" Localization="LibC" GroupName="Interrupt" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="UID" ConvDirection="NoConversion" DataType="BOOL" />
      <LocalVars>
        <Variable Name="UID" DataType="BOOL" InitialValue="" Comment="Rung status (same as Enable)" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IRQType" DataType="UDINT" InitialValue="" Comment="Concatenation of the different IRQ types to disable. Use the IRQ_* defined words for this instruction." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="UIE" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Enable specific user interrupt." Language="C" CustomFbd="0" Localization="LibC" GroupName="Interrupt" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="UIE" ConvDirection="NoConversion" DataType="BOOL" />
      <LocalVars>
        <Variable Name="UIE" DataType="BOOL" InitialValue="" Comment="Rung status (same as Enable)" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IRQType" DataType="UDINT" InitialValue="" Comment="Concatenation of the different IRQ types to enable. Use the IRQ_* defined words for this instruction." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="UIC" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Clear Lost bit for specific user interrupt." Language="C" CustomFbd="0" Localization="LibC" GroupName="Interrupt" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="UIC" ConvDirection="NoConversion" DataType="BOOL" />
      <LocalVars>
        <Variable Name="UIC" DataType="BOOL" InitialValue="" Comment="Rung status (same as Enable)" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IRQType" DataType="UDINT" InitialValue="" Comment="Concatenation of the different IRQ types to enable. Use the IRQ_* defined words for this instruction." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="COS_LREAL" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Perform 64-bit real cosine calculation." Language="C" CustomFbd="0" Localization="LibC" GroupName="Arithmetic" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="COS_LREAL" ConvDirection="NoConversion" DataType="LREAL" />
      <LocalVars>
        <Variable Name="COS_LREAL" DataType="LREAL" InitialValue="" Comment="Result of Cosine of a Real value" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="IN" DataType="LREAL" InitialValue="" Comment="Input parameter for cosine (in set [-1.0 .. +1.0])." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="UIF" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Flush specific user interrupt." Language="C" CustomFbd="0" Localization="LibC" GroupName="Interrupt" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="UIF" ConvDirection="NoConversion" DataType="BOOL" />
      <LocalVars>
        <Variable Name="UIF" DataType="BOOL" InitialValue="" Comment="Rung status (same as Enable)" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="IRQType" DataType="UDINT" InitialValue="" Comment="Concatenation of the different IRQ types to flush. Use the IRQ_* defined words for this instruction." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="ACOS_LREAL" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Perform 64-bit real arccosine calculation." Language="C" CustomFbd="0" Localization="LibC" GroupName="Arithmetic" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <Function IdentifierNb="0" Keyword="ACOS_LREAL" ConvDirection="NoConversion" DataType="LREAL" />
      <LocalVars>
        <Variable Name="ACOS_LREAL" DataType="LREAL" InitialValue="" Comment="Result of Arc Cosine of a Real value" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="IN" DataType="LREAL" InitialValue="" Comment="Input parameter of arc cosine. Must be in set [-1.0 .. +1.0]." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="ARD" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Read characters from the input buffer and place them into a string." Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="ARD" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Rung input state" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ARDInput" DataType="ARDARL" InitialValue="" Comment="The channel to be operated" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="FALSE - Function block execution in progress, TRUE - Function block execution is complete." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Destination" DataType="ASCIILOCADDR" InitialValue="" Comment="String element in which to store the characters." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="NumChar" DataType="UINT" InitialValue="" Comment="Number of characters." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="FALSE - No error, TRUE - Detected an error." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="UINT" InitialValue="" Comment="See ABL Error Codes." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="controlbit" DataType="BYTE" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="MM_INFO" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Read memory module header information." Language="C" CustomFbd="0" Localization="LibC" GroupName="Input/Output" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="MM_INFO" InitInstance="false" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function block" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="MMInfo" DataType="MMINFO" InitialValue="" Comment="Memory Module Information." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="AHL" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Set or reset modem handshake lines." Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="AHL" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Rung input state" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="AHLInput" DataType="AHLI" InitialValue="" Comment="The channel to be operated" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="FALSE - Function block execution in progress, TRUE - Function block execution is complete." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ChannelSts" DataType="WORD" InitialValue="" Comment="Displays the current status (0000 to 001F)" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="FALSE - No error, TRUE - Detected an error." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="UINT" InitialValue="" Comment="See ABL Error Codes." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="controlbit" DataType="BYTE" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="IPIDCONTROLLER" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Proportional Integral Derivative." Language="C" CustomFbd="0" Localization="LibC" GroupName="Process Control" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="IPIDCONTROLLER" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Process" DataType="REAL" InitialValue="" Comment="Process Value" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="SetPoint" DataType="REAL" InitialValue="" Comment="Set Point" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="FeedBack" DataType="REAL" InitialValue="" Comment="FeedBack" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Auto" DataType="BOOL" InitialValue="" Comment="TRUE - controller runs in normal mode, FALSE - controller causes reset R to track (F-GE)." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Initialize" DataType="BOOL" InitialValue="" Comment="A change in value (TRUE to FALSE or FALSE to TRUE) causes the controller to eliminate any proportional gain during that cycle." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Gains" DataType="GAIN_PID" InitialValue="" Comment="Gains PID for IPIDController." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="AutoTune" DataType="BOOL" InitialValue="" Comment="When set to TRUE while Auto and Initialize are FALSE, the AutoTune sequence has started." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ATParameters" DataType="AT_PARAM" InitialValue="" Comment="Auto Tune Parameters." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ErrorMode" DataType="DINT" InitialValue="0" Comment="Mode used for handling errors." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Output" DataType="REAL" InitialValue="" Comment="Output value from controller." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="AbsoluteError" DataType="REAL" InitialValue="" Comment="Absolute Error (Process - SetPoint) from the controller." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ATWarning" DataType="DINT" InitialValue="" Comment="0 - no auto tune done, 1 - in auto tune mode, 2 - auto tune done, -1 - ERROR 1 input Auto set to TRUE, no auto tune possible, -2 - ERROR 2 auto tune error, ATDynaSet expired." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="OutGains" DataType="GAIN_PID" InitialValue="" Comment="Gains calculated after AutoTune sequences." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="RESERVED_IPIDCONTROLLER" DataType="SINT" InitialValue="" Comment="Reserved parameter for IPIDCONTROLLER." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0">
          <Dimension Lower="1" Upper="184" />
        </Variable>
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="PLUGIN_INFO" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Get module information from a generic plug-in module." Language="C" CustomFbd="0" Localization="LibC" GroupName="Input/Output" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="PLUGIN_INFO" InitInstance="false" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function block" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="SlotID" DataType="UINT" InitialValue="" Comment="1 to 5 - PLUGIN slot number." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ModID" DataType="UINT" InitialValue="" Comment="PLUGIN Generic Module physical ID." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="VendorID" DataType="UINT" InitialValue="" Comment="PLUGIN Generic Module vendor ID." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ProductType" DataType="UINT" InitialValue="" Comment="PLUGIN Generic Module product type." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ProductCode" DataType="UINT" InitialValue="" Comment="PLUGIN Generic Module product code." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ModRevision" DataType="UINT" InitialValue="" Comment="PLUGIN Generic Module revision information." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="ACL" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Clear the receive and/or transmit buffers." Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="ACL" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Rung input state" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ACLInput" DataType="ACLI" InitialValue="" Comment="The channel to be operated" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="FALSE - Function block execution in progress, TRUE - Function block execution is complete." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="FALSE - No error, TRUE - Detected an error." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="UINT" InitialValue="" Comment="See ABL Error Codes." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="prestatus" DataType="BOOL" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="ABL" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Specify number of characters in buffer (including end of line)." Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="ABL" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Rung input state" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ABLInput" DataType="ABLACB" InitialValue="" Comment="The channel to be operated" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="FALSE - Function block execution in progress, TRUE - Function block execution is complete." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Characters" DataType="UINT" InitialValue="" Comment="Number of characters." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="FALSE - No error, TRUE- An error is detected." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="UINT" InitialValue="" Comment="See ABL Error Codes." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="controlbit" DataType="BYTE" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="ARL" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Read line from the input buffer and place characters in a string." Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="ARL" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Rung input state" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ARLInput" DataType="ARDARL" InitialValue="" Comment="The channel to be operated" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="FALSE - Function block execution in progress, TRUE - Function block execution is complete." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Destination" DataType="ASCIILOCADDR" InitialValue="" Comment="String element in which to store the characters." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="NumChar" DataType="UINT" InitialValue="" Comment="Number of characters." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="FALSE - No error, TRUE - Detected an error." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="UINT" InitialValue="" Comment="See ABL Error Codes." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="controlbit" DataType="BYTE" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="SCALER" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Scale input value according to output range." Language="C" CustomFbd="0" Localization="LibC" GroupName="Process Control" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="SCALER" InitInstance="false" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Input" DataType="REAL" InitialValue="" Comment="Input signal." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="InputMin" DataType="REAL" InitialValue="" Comment="Minimum value of Input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="InputMax" DataType="REAL" InitialValue="" Comment="Maximum value of Input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="OutputMin" DataType="REAL" InitialValue="" Comment="Minimum value of Output" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="OutputMax" DataType="REAL" InitialValue="" Comment="Maximum value of Output" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Output" DataType="REAL" InitialValue="" Comment="Output value" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="AWA" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Write a string with characters appended to an external device." Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="AWA" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Rung input state" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="AWAInput" DataType="AWAAWT" InitialValue="" Comment="The channel to be operated" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Source" DataType="ASCIILOCADDR" InitialValue="" Comment="Source string: char array." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="__ADI_Source" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;Source&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="FALSE - Function block execution in progress, TRUE - Function block execution is complete." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="NumChar" DataType="UINT" InitialValue="" Comment="Number of characters." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="FALSE - No error, TRUE - Detected an error." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="UINT" InitialValue="" Comment="See ABL Error Codes." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="controlbit" DataType="BYTE" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="RTC_SET" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Set RTC data to RTC module." Language="C" CustomFbd="0" Localization="LibC" GroupName="Input/Output" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="RTC_SET" InitInstance="false" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable functtion block" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="RTCEnable" DataType="BOOL" InitialValue="" Comment="FALSE - To disable RTC, TRUE - To enable RTC with the RTC data specified." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="RTCData" DataType="RTC" InitialValue="" Comment="RTC data information: yy/mm/dd, hh/mm/ss, week." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="RTCPresent" DataType="BOOL" InitialValue="" Comment="FALSE - RTC hardware is not plugged in, TRUE - RTC hardware is plugged in." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="RTCEnabled" DataType="BOOL" InitialValue="" Comment="FALSE - RTC hardware is disabled (not timing), TRUE - RTC hardware is enabled (timing)." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="RTCBatLow" DataType="BOOL" InitialValue="" Comment="FALSE - RTC battery is not low, TRUE - RTC battery is low." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Sts" DataType="USINT" InitialValue="" Comment="Read operation status. See RTC Set Status Values." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="PLUGIN_RESET" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Reset a generic PLUGIN module(hardware reset)." Language="C" CustomFbd="0" Localization="LibC" GroupName="Input/Output" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="PLUGIN_RESET" InitInstance="false" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function block" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="SlotID" DataType="UINT" InitialValue="" Comment="1 to 5 - PLUGIN slot number." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Sts" DataType="UINT" InitialValue="" Comment="See PLUGIN Generic Module Operation Status Values." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="AWT" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Write characters from a source string to an external device." Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="AWT" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Rung input state" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="AWTInput" DataType="AWAAWT" InitialValue="" Comment="The channel to be operated" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Source" DataType="ASCIILOCADDR" InitialValue="" Comment="Source string: char array." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="__ADI_Source" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;Source&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="FALSE - Function block execution in progress, TRUE - Function block execution is complete." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="NumChar" DataType="UINT" InitialValue="" Comment="Number of characters." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="FALSE - No error, TRUE - Detected an error." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="UINT" InitialValue="" Comment="See ABL Error Codes." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="controlbit" DataType="BYTE" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="TONOFF" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Delay an output-on(true), then delay an output-off(false)." Language="C" CustomFbd="0" Localization="LibC" GroupName="Time" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="TONOFF" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Input control" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="PT" DataType="TIME" InitialValue="" Comment="On-delay time setting." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="PTOF" DataType="TIME" InitialValue="" Comment="Off-delay time setting." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="If TRUE, programmed On-delay time has elapsed while programmed Off-delay time has not elapsed." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ET" DataType="TIME" InitialValue="" Comment="If the programmed On-delay time is elapsed and the Off-delay timer has not started, the elapsed time (ET) remains at the On-delay (PT) value. If the programmed Off-delay time has elapsed and the Off-delay timer has not started, the elapsed time (ET) remains" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="PDATE" DataType="TIME" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="REDGE" DataType="BOOL" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="FEDGE" DataType="BOOL" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="RTO" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Delay an output-on(true). Retain elapsed time until reset." Language="C" CustomFbd="0" Localization="LibC" GroupName="Time" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="RTO" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Input control" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="RST" DataType="BOOL" InitialValue="" Comment="If TRUE, reset Q and ET (elapsed time)." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="PT" DataType="TIME" InitialValue="" Comment="On-delay time setting." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="If TRUE, Programmed On-delay time is elapsed. Clear if RST is TRUE." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ET" DataType="TIME" InitialValue="" Comment="Elapsed Time. If IN is TRUE, time elapses till PT. Clear if RST is TRUE." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="PDATE" DataType="TIME" InitialValue="" Comment="Previous time stamp, internal use only. Compare with current time to obtain ET." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="IREDGE" DataType="BOOL" InitialValue="" Comment="IN rising edge, internal use only. TRUE when IN is 1. FALSE when IN is 0." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="IFEDGE" DataType="BOOL" InitialValue="" Comment="IN falling edge, internal use only. TRUE when IN is 0. FALSE when IN is 1." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="TRIMPOT_READ" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Read the Trimpot value from a specific Trimpot." Language="C" CustomFbd="0" Localization="LibC" GroupName="Input/Output" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="TRIMPOT_READ" InitInstance="false" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function block" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TrimPotID" DataType="UINT" InitialValue="" Comment="ID of the Trimpot to read. See Trimpot ID Definition." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TrimPotValue" DataType="UINT" InitialValue="" Comment="Current Trimpot value." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Sts" DataType="UINT" InitialValue="" Comment="Read operation status. See Trimpot Operation Status Values." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="SUS" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Suspend the execution of the application." Language="C" CustomFbd="0" Localization="LibC" GroupName="Program Control" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="SUS" InitInstance="false" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="SusID" DataType="UINT" InitialValue="" Comment="Suspension ID" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="ACB" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Determine total number of characters in buffer." Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="ACB" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Rung input state" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ACBInput" DataType="ABLACB" InitialValue="" Comment="The channel to be operated" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="FALSE - Function block execution in progress, TRUE - Function block execution is complete." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Characters" DataType="UINT" InitialValue="" Comment="Number of characters." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="FALSE - No error, TRUE - Detected an error." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="UINT" InitialValue="" Comment="See ABL Error Codes." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="controlbit" DataType="BYTE" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="SYS_INFO" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Read Micro800 system status." Language="C" CustomFbd="0" Localization="LibC" GroupName="Input/Output" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="SYS_INFO" InitInstance="false" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function block" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Sts" DataType="SYSINFO" InitialValue="" Comment="System status data block" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="RTC_READ" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Read RTC module information." Language="C" CustomFbd="0" Localization="LibC" GroupName="Input/Output" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="RTC_READ" InitInstance="false" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function block" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="RTCData" DataType="RTC" InitialValue="" Comment="RTC data information: yy/mm/dd, hh/mm/ss, week." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="RTCPresent" DataType="BOOL" InitialValue="" Comment="FALSE - RTC hardware is not plugged in, TRUE - RTC hardware is plugged in." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="RTCEnabled" DataType="BOOL" InitialValue="" Comment="FALSE - RTC hardware is disabled (not timing), TRUE - RTC hardware is enabled (timing)." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="RTCBatLow" DataType="BOOL" InitialValue="" Comment="FALSE - RTC battery is not low, TRUE - RTC battery is low." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="PLUGIN_WRITE" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Write data to a generic PLUGIN module." Language="C" CustomFbd="0" Localization="LibC" GroupName="Input/Output" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="PLUGIN_WRITE" InitInstance="false" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function block" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="SlotID" DataType="UINT" InitialValue="" Comment="1 to 5 - PLUGIN slot number." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="AddrOffset" DataType="UINT" InitialValue="" Comment="Address offset of the first data to write, calculating from the first byte of the PLUGIN Generic Module." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="DataLength" DataType="UINT" InitialValue="" Comment="Number of bytes to write." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="DataArray" DataType="USINT" InitialValue="" Comment="Data to write to the PLUGIN Generic Module." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0">
          <Dimension Lower="1" Upper="1" />
        </Variable>
        <Variable Name="__ADI_DataArray" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;DataArray&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Sts" DataType="UINT" InitialValue="" Comment="See PLUGIN Generic Module Operation Status Values." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="PLUGIN_READ" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Read data from a generic PLUGIN module." Language="C" CustomFbd="0" Localization="LibC" GroupName="Input/Output" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="PLUGIN_READ" InitInstance="false" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function block" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="SlotID" DataType="UINT" InitialValue="" Comment="1 to 5 - PLUGIN slot number." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="AddrOffset" DataType="UINT" InitialValue="" Comment="Address offset of the first data to read, calculating from the first byte of the PLUGIN Generic Module." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="DataLength" DataType="UINT" InitialValue="" Comment="Number of bytes to read." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="DataArray" DataType="USINT" InitialValue="" Comment="An array used to store the data read from the PLUGIN Generic Module." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0">
          <Dimension Lower="1" Upper="1" />
        </Variable>
        <Variable Name="__ADI_DataArray" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;DataArray&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Sts" DataType="UINT" InitialValue="" Comment="See PLUGIN Generic Module Operation Status Values." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="MSG_MODBUS" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Send a modbus message via a serial communication port." Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="MSG_MODBUS" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Rung input state" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Cancel" DataType="BOOL" InitialValue="" Comment="1 - Cancel execution of the function block" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="LocalCfg" DataType="MODBUSLOCPARA" InitialValue="" Comment="Local Device configuration." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TargetCfg" DataType="MODBUSTARPARA" InitialValue="" Comment="Target Device configuration." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="LocalAddr" DataType="MODBUSLOCADDR" InitialValue="" Comment="Local address (125 words)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="__ADI_LocalAddr" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;LocalAddr&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="FALSE - MSG instruction is not completed, TRUE - MSG instruction is completed." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="FALSE - No error, TRUE - Detected an error." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="UINT" InitialValue="" Comment="Error code when message transfer fails." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="controlbit" DataType="BYTE" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="MSG_MODBUS2" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Send a modbus message." Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="MSG_MODBUS2" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Rung input state" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Cancel" DataType="BOOL" InitialValue="" Comment="1 - Cancel execution of the function block" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="LocalCfg" DataType="MODBUS2LOCPARA" InitialValue="" Comment="Local Device configuration." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TargetCfg" DataType="MODBUS2TARPARA" InitialValue="" Comment="Target Device configuration." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="LocalAddr" DataType="MODBUSLOCADDR" InitialValue="" Comment="Local address (125 words)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="__ADI_LocalAddr" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;LocalAddr&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="FALSE - MSG instruction is not completed, TRUE - MSG instruction is completed." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="FALSE - No error, TRUE - Detected an error." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="UINT" InitialValue="" Comment="Error code when message transfer fails." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="SubErrorID" DataType="UINT" InitialValue="" Comment="SubError code when message transfer fails." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="StatusBits" DataType="UINT" InitialValue="" Comment="Execution status of the message." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ctrl" DataType="UINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="pfb" DataType="UDINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="nfb" DataType="UDINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="mtim" DataType="UDINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="MSG_CIPGENERIC" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Send a CIP explicit message." Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="MSG_CIPGENERIC" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Rung input state" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="CtrlCfg" DataType="CIPCONTROLCFG" InitialValue="" Comment="Message execution control configuration" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="AppCfg" DataType="CIPAPPCFG" InitialValue="" Comment="CIP application path configuration" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TargetCfg" DataType="CIPTARGETCFG" InitialValue="" Comment="CIP target configuration" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ReqData" DataType="USINT" InitialValue="" Comment="CIP Request Data" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0">
          <Dimension Lower="1" Upper="1" />
        </Variable>
        <Variable Name="ReqLength" DataType="UINT" InitialValue="" Comment="CIP Request data length" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ResData" DataType="USINT" InitialValue="" Comment="CIP Response data" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0">
          <Dimension Lower="1" Upper="1" />
        </Variable>
        <Variable Name="__ADI_ReqData" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;ReqData&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="__ADI_ResData" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;ResData&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="FALSE - MSG instruction is not finished, TRUE - MSG instruction is finished." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Status" DataType="CIPSTATUS" InitialValue="" Comment="Execution status of the message." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ResLength" DataType="UINT" InitialValue="" Comment="CIP Response data length" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ctrl" DataType="UINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="pfb" DataType="UDINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="nfb" DataType="UDINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="mtim" DataType="UDINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="lpnum" DataType="UDINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="MSG_CIPSYMBOLIC" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Send a CIP Symbolic message." Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="MSG_CIPSYMBOLIC" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="IN" DataType="BOOL" InitialValue="" Comment="Rung input state" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="CtrlCfg" DataType="CIPCONTROLCFG" InitialValue="" Comment="Message execution control configuration" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="SymbolicCfg" DataType="CIPSYMBOLICCFG" InitialValue="" Comment="CIP Symbolic path configuration" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TargetCfg" DataType="CIPTARGETCFG" InitialValue="" Comment="CIP target configuration" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Data" DataType="USINT" InitialValue="" Comment="Read / Write data" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0">
          <Dimension Lower="1" Upper="1" />
        </Variable>
        <Variable Name="__ADI_Data" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;Data&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Q" DataType="BOOL" InitialValue="" Comment="FALSE - MSG instruction is not completed, TRUE - MSG instruction is completed." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Status" DataType="CIPSTATUS" InitialValue="" Comment="Execution status of the message." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="DataLength" DataType="UINT" InitialValue="" Comment="CIP response data length" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ctrl" DataType="UINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="pfb" DataType="UDINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="nfb" DataType="UDINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="mtim" DataType="UDINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="lpnum" DataType="UDINT" InitialValue="" Comment="Hidden parameter for the function block" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="COP" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Copy a range of data from one location to another." Language="C" CustomFbd="0" Localization="LibC" GroupName="Data conversion" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="COP" InitInstance="false" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function block" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Src" DataType="ANY_ELEMENTARY" InitialValue="" Comment="Initial element to copy" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0">
          <Dimension Lower="1" Upper="1" />
        </Variable>
        <Variable Name="SrcOffset" DataType="UINT" InitialValue="" Comment="Offset for Source element" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Dest" DataType="ANY_ELEMENTARY" InitialValue="" Comment="Initial element to be overwritten by Source" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0">
          <Dimension Lower="1" Upper="1" />
        </Variable>
        <Variable Name="DestOffset" DataType="UINT" InitialValue="" Comment="Offset for Destination element" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Length" DataType="UINT" InitialValue="" Comment="Number of Destination elements to copy" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Swap" DataType="BOOL" InitialValue="" Comment="Swap bytes according to Data Type" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="__ADI_Src" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;Src&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="__ADI_Dest" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;Dest&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="__DTI_Src" DataType="SINT" InitialValue="0" Comment="DTI hidden parameter for ANY_ELEMENTARY input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="__DTI_Dest" DataType="SINT" InitialValue="0" Comment="DTI hidden parameter for ANY_ELEMENTARY input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Sts" DataType="UINT" InitialValue="" Comment="COP operation status" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="PWM" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Enable PWM output." Language="C" CustomFbd="0" Localization="LibC" GroupName="Process Control" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="PWM" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable function block" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="On" DataType="BOOL" InitialValue="" Comment="ON/OFF PWM output" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Freq" DataType="UDINT" InitialValue="" Comment="Output Frequency in Hz" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="DutyCycle" DataType="UINT" InitialValue="" Comment="Duty Cycle" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ChType" DataType="UINT" InitialValue="" Comment="Channel Type" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ChSlot" DataType="UINT" InitialValue="" Comment="Channel Slot" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ChNum" DataType="UINT" InitialValue="" Comment="Channel Number" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Sts" DataType="UINT" InitialValue="" Comment="Function block execution status" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="DLG" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Save list of data instances to SD Card Data Log file." Language="C" CustomFbd="0" Localization="LibC" GroupName="Input/Output" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="DLG" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable Data Logging" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="TSEnable" DataType="BOOL" InitialValue="" Comment="Enable Time Stamping for Logging" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="CfgID" DataType="USINT" InitialValue="" Comment="Data Logging Configuration Index" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Status" DataType="USINT" InitialValue="" Comment="Data Logging Execution Status" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="UDINT" InitialValue="" Comment="Data Logging Execution Error" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="DlgEdge" DataType="USINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="CfgIDLock" DataType="USINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="RCP" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Save/Restore list of data to/from SD Card Recipe file." Language="C" CustomFbd="0" Localization="LibC" GroupName="Input/Output" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="RCP" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable Recipe Input or Output" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="RWFlag" DataType="BOOL" InitialValue="" Comment="Recipe Data Read/Write Flag, Read flag is FALSE, Write flag is TRUE." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="CfgID" DataType="USINT" InitialValue="" Comment="Recipe Configuration Index" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="FileName" DataType="STRING" InitialValue="" Comment="Recipe Data File Name" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="255" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Status" DataType="USINT" InitialValue="" Comment="Recipe Execution Status" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="UDINT" InitialValue="" Comment="Recipe Execution Error Information" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="RcpEdge" DataType="USINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="CfgIDFileNameLock" DataType="USINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="LCD_BKLT_REM" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Set the remote LCD backlight parameters." Language="C" CustomFbd="0" Localization="LibC" GroupName="Remote LCD" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="LCD_BKLT_REM" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable (TRUE:Enable, Enable User Setting of Backlight Color and Mode ; FALSE: Initiate Menu Settings for Backlight)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Color" DataType="UINT" InitialValue="" Comment="Remote LCD Backlight Color (0: White; 1:Blue; 2: Red, 3:Green)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Mode" DataType="UINT" InitialValue="" Comment="Backlight Mode (0: OFF; 1:ON; 2: Flash 1 Sec)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="LCD_BKLT_REM" DataType="BOOL" InitialValue="" Comment="LCD_BKLT_REM result (TRUE: Backlight parameters changed successfully; FALSE: User backlight parameters not initiated)" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Sts" DataType="UINT" InitialValue="" Comment="Status Code of LCD_REM (0: Disabled; 1: Success; 2: RLCD Absent; 3: Connection Error; 4: Invalid Color; 5: Invalid Mode)" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="KEY_READ_REM" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Check key status on remote LCD." Language="C" CustomFbd="0" Localization="LibC" GroupName="Remote LCD" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="KEY_READ_REM" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable (TRUE:Enable Read Keys on Remote LCD Keypad; FALSE:Disable Read Keys on Remote LCD Keypad)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="KEY_READ_REM" DataType="BOOL" InitialValue="" Comment="(True: Data Read Successful; False:  Data Read Failed)" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Sts" DataType="UINT" InitialValue="" Comment="Status(0- Enable False; 1- Success; 2-RLCD Absent; 3-Connection Error; 4- User Display not Active)" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="KeyData" DataType="UDINT" InitialValue="" Comment="Key Data read from Remote LCD Keypad" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="LCD_REM" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Display user strings on remote LCD when it is connected." Language="C" CustomFbd="0" Localization="LibC" GroupName="Remote LCD" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="LCD_REM" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="Enable (TRUE:Enable, to be displayed on LCD; FALSE:Disable, not displayed on LCD)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Font" DataType="UDINT" InitialValue="" Comment="Font Code for strings to display on the LCD" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Line1" DataType="STRING" InitialValue="" Comment="String to display on Line 1 of LCD (length of string &lt;=32)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="32" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Line2" DataType="STRING" InitialValue="" Comment="String to display on Line 2 of LCD (length of string &lt;=32)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="32" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Line3" DataType="STRING" InitialValue="" Comment="String to display on Line 3 of LCD (length of string &lt;=32)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="32" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Line4" DataType="STRING" InitialValue="" Comment="String to display on Line 4 of LCD (length of string &lt;=32)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="32" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Line5" DataType="STRING" InitialValue="" Comment="String to display on Line 5 of LCD (length of string &lt;=32)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="32" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Line6" DataType="STRING" InitialValue="" Comment="String to display on Line 6 of LCD (length of string &lt;=32)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="32" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Line7" DataType="STRING" InitialValue="" Comment="String to display on Line 7 of LCD (length of string &lt;=32)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="32" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Line8" DataType="STRING" InitialValue="" Comment="String to display on Line 8 of LCD (length of string &lt;=32)" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="32" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="LCD_REM" DataType="BOOL" InitialValue="" Comment="TRUE: User display is active; FALSE: User display is not active" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Sts" DataType="UINT" InitialValue="" Comment="Status Code of LCD_REM (0: Disabled; 1: Success; 2: RLCD Absent; 3: Connection Error; 4: Invalid Font Code)" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="SOCKET_CREATE" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Create Socket" Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="SOCKET_CREATE" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Execute" DataType="BOOL" InitialValue="" Comment="If rising edge (Execution passes from False to True), starts function block with the precondition that the last operation has completed." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Type" DataType="USINT" InitialValue="" Comment="Specify one of the following values: 1 for TCP, 2 for UDP." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="SockAddr" DataType="SOCKADDR_CFG" InitialValue="" Comment="Specifies the address Cfg of the socket. Specify an IP address of 0 for socket creation only." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Timeout" DataType="UDINT" InitialValue="" Comment="Timeout for Socket Inactivity. Specify the timeout in milliseconds." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Channel" DataType="USINT" InitialValue="4" Comment="Local Ethernet port number" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Done" DataType="BOOL" InitialValue="" Comment="When TRUE, operation completed successfully." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Busy" DataType="BOOL" InitialValue="" Comment="When TRUE, function block excution is in progress." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="TRUE when function block execution encounters an error condition." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Status" DataType="SOCK_STATUS" InitialValue="" Comment="FB execution status" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Instance" DataType="UDINT" InitialValue="" Comment="Contains Socket Handler. Use the instance for subsequent Socket Instructions." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ctrl" DataType="SOCK_STATUS" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="SOCKET_OPEN" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Open Socket" Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="SOCKET_OPEN" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Execute" DataType="BOOL" InitialValue="" Comment="If rising edge (Execution passes from False to True), starts function block with the precondition that the last operation has completed." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Instance" DataType="UDINT" InitialValue="" Comment="Copy from returned Socket Handler from a SOCKET_CREATE FB." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Timeout" DataType="UDINT" InitialValue="" Comment="Timeout for Open Connection. Specify the timeout in milliseconds." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="DestAddr" DataType="SOCKADDR_CFG" InitialValue="" Comment="Specify a structure to define the destination of the connection. Establish IP address and port number of remote host with the connection." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="EnUDPRxFilter" DataType="BOOL" InitialValue="" Comment="TRUE, &quot;SOCKET_READ&quot; instruction only read UDP packets from &quot;DestAddr&quot; specify in &quot;SOCKET_OPEN&quot;." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Cancel" DataType="BOOL" InitialValue="FALSE" Comment="Cancel the execution of FB" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Done" DataType="BOOL" InitialValue="" Comment="When TRUE, operation completed successfully." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Busy" DataType="BOOL" InitialValue="" Comment="When TRUE, function block excution is in progress." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="TRUE when function block execution encounters an error condition." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Status" DataType="SOCK_STATUS" InitialValue="" Comment="Function block execution status" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ctrl" DataType="SOCK_STATUS" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="mtim" DataType="UDINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="lsockid" DataType="UDINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="SOCKET_ACCEPT" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Accept Socket" Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="SOCKET_ACCEPT" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Execute" DataType="BOOL" InitialValue="" Comment="If rising edge (Execution passes from False to True), starts function block with the precondition that the last operation has completed." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Instance" DataType="UDINT" InitialValue="" Comment="Value for the Socket Handler returned by the SOCKET_CREATE function block." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Timeout" DataType="UDINT" InitialValue="" Comment="Accept Connection timeout. Specify the timeout value in milliseconds." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Cancel" DataType="BOOL" InitialValue="FALSE" Comment="Cancel the execution of FB" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Done" DataType="BOOL" InitialValue="" Comment="When TRUE, operation completed successfully." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Busy" DataType="BOOL" InitialValue="" Comment="When TRUE, function block excution is in progress." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="TRUE when function block execution encounters an error condition." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Status" DataType="SOCK_STATUS" InitialValue="" Comment="Function block execution status" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="AcceptInst" DataType="UDINT" InitialValue="" Comment="Contains the Accept instance for this Socket Instance." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="AcceptAddr" DataType="SOCKADDR_CFG" InitialValue="" Comment="Structure containing the Accept address for the socket." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ctrl" DataType="SOCK_STATUS" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="mtim" DataType="UDINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="lsockid" DataType="UDINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="SOCKET_READ" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Read Socket" Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="SOCKET_READ" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Execute" DataType="BOOL" InitialValue="" Comment="If rising edge (Execution passes from False to True), starts function block with the precondition that the last operation has completed." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Instance" DataType="UDINT" InitialValue="" Comment="Copy from returned Socket Handler from a SOCKET_CREATE / SOCKET_ACCEPT FB." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Timeout" DataType="UDINT" InitialValue="" Comment="Socket Read timeout. Specify the timeout in milliseconds." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Length" DataType="UINT" InitialValue="" Comment="Specify the number of bytes of data to receive. Maximum BufLen is 256 bytes." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Offset" DataType="UINT" InitialValue="" Comment="Offset into array of &quot;Data&quot;. The data read from the &quot;SOCKET_READ&quot; starts from this location." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Data" DataType="USINT" InitialValue="" Comment="Array in which to store the data read by the &quot;SOCKET_READ&quot; instruction." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0">
          <Dimension Lower="1" Upper="1" />
        </Variable>
        <Variable Name="Cancel" DataType="BOOL" InitialValue="FALSE" Comment="Cancel the execution of FB" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="__ADI_Data" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;Data&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Done" DataType="BOOL" InitialValue="" Comment="When TRUE, operation completed successfully." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Busy" DataType="BOOL" InitialValue="" Comment="When TRUE, function block excution is in progress." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="TRUE when function block execution encounters an error condition." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Status" DataType="SOCK_STATUS" InitialValue="" Comment="Function block execution status" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="RxLength" DataType="UINT" InitialValue="" Comment="Contains the number of bytes of data received." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="UDPAddr" DataType="SOCKADDR_CFG" InitialValue="" Comment="Address of the device sending UDP data." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ctrl" DataType="SOCK_STATUS" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="mtim" DataType="UDINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="lsockid" DataType="UDINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="pfb" DataType="UDINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="nfb" DataType="UDINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="SOCKET_WRITE" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Write Socket" Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="SOCKET_WRITE" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Execute" DataType="BOOL" InitialValue="" Comment="If rising edge (Execution passes from False to True), starts function block with the precondition that the last operation has completed." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Instance" DataType="UDINT" InitialValue="" Comment="Copy from returned Socket Handler from a SOCKET_CREATE / SOCKET_ACCEPT FB." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Timeout" DataType="UDINT" InitialValue="" Comment="Socket Write timeout. Specify the timeout in milliseconds." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="UDPAddr" DataType="SOCKADDR_CFG" InitialValue="" Comment="Address of the device sending UDP data." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Data" DataType="USINT" InitialValue="" Comment="Write data array. The array size should exceed &quot;BufLen&quot; size." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0">
          <Dimension Lower="1" Upper="1" />
        </Variable>
        <Variable Name="Length" DataType="UINT" InitialValue="" Comment="Specify the number of bytes of data to write." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Offset" DataType="UINT" InitialValue="" Comment="Offset into &quot;Data&quot; array. The data writing from the &quot;SOCKET_WRITE&quot; starts from this location." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Cancel" DataType="BOOL" InitialValue="FALSE" Comment="Cancel the execution of FB" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="__ADI_Data" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;Data&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Done" DataType="BOOL" InitialValue="" Comment="When TRUE, operation completed successfully." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Busy" DataType="BOOL" InitialValue="" Comment="When TRUE, function block excution is in progress." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="TRUE when function block execution encounters an error condition." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Status" DataType="SOCK_STATUS" InitialValue="" Comment="Function block execution status" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="TxLength" DataType="UINT" InitialValue="" Comment="Number of bytes that were written." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ctrl" DataType="SOCK_STATUS" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="mtim" DataType="UDINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="lsockid" DataType="UDINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="pfb" DataType="UDINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
        <Variable Name="nfb" DataType="UDINT" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="SOCKET_DELETE" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Delete Socket" Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="SOCKET_DELETE" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Execute" DataType="BOOL" InitialValue="" Comment="If rising edge (Execution passes from False to True), starts function block with the precondition that the last operation has completed." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Instance" DataType="UDINT" InitialValue="" Comment="Copy from returned Socket Handler from a SOCKET_CREATE FB." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Done" DataType="BOOL" InitialValue="" Comment="When TRUE, operation completed successfully." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Busy" DataType="BOOL" InitialValue="" Comment="When TRUE, function block excution is in progress." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="TRUE when function block execution encounters an error condition." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Status" DataType="SOCK_STATUS" InitialValue="" Comment="Function block execution status" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ctrl" DataType="SOCK_STATUS" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="SOCKET_DELETEALL" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Delete all Socket" Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="SOCKET_DELETEALL" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Execute" DataType="BOOL" InitialValue="" Comment="If rising edge (Execution passes from False to True), starts function block with the precondition that the last operation has completed." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Done" DataType="BOOL" InitialValue="" Comment="When TRUE, operation completed successfully." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Busy" DataType="BOOL" InitialValue="" Comment="When TRUE, function block excution is in progress." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="TRUE when function block execution encounters an error condition." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Status" DataType="SOCK_STATUS" InitialValue="" Comment="Function block execution status" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ctrl" DataType="SOCK_STATUS" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="SOCKET_INFO" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Socket Instance Information" Language="C" CustomFbd="0" Localization="LibC" GroupName="Communications" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="SOCKET_INFO" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Execute" DataType="BOOL" InitialValue="" Comment="If rising edge (Execution passes from False to True), starts function block with the precondition that the last operation has completed." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Instance" DataType="UDINT" InitialValue="" Comment="Copy from returned Socket Handler from a SOCKET_CREATE FB" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="ClrDiagCnt" DataType="BOOL" InitialValue="" Comment="When TRUE, Clear TCP or UDP Diagnostics Counter Information." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Done" DataType="BOOL" InitialValue="" Comment="When TRUE, operation completed successfully." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Busy" DataType="BOOL" InitialValue="" Comment="When TRUE, function block excution is in progress." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="TRUE when function block execution encounters an error condition." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Status" DataType="SOCK_STATUS" InitialValue="" Comment="Function block execution status" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="SocketType" DataType="USINT" InitialValue="" Comment="Socket Instance Type: 0= Not used, 1= TCP, 2= UDP" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="StreamType" DataType="USINT" InitialValue="" Comment="Socket TCP Stream Type. 0 = None, 1= TCP-Server, 2= TCP Client" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="TxQueCnt" DataType="USINT" InitialValue="" Comment="Number of Tx messages currently in the queue." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="RxQueCnt" DataType="USINT" InitialValue="" Comment="Number of Rx messages currently in the queue." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="SocketState" DataType="USINT" InitialValue="" Comment="Socket Instruction State information" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="LocalAddr" DataType="SOCKADDR_CFG" InitialValue="" Comment="Local address for the socket." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="RemoteAddr" DataType="SOCKADDR_CFG" InitialValue="" Comment="Remote address for the socket." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="OtherInfo" DataType="UDINT" InitialValue="" Comment="Socket Diagnostic details" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0">
          <Dimension Lower="1" Upper="15" />
        </Variable>
        <Variable Name="ctrl" DataType="SOCK_STATUS" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="BSL" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Performs bit shift left operation." Language="C" CustomFbd="0" Localization="LibC" GroupName="Binary" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="BSL" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Execute" DataType="BOOL" InitialValue="" Comment="If rising edge (Execution passes from False to True), shifts to the left one position." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Src" DataType="ANY_ELEMENTARY" InitialValue="" Comment="Address of the Src to be shifted." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0">
          <Dimension Lower="1" Upper="1" />
        </Variable>
        <Variable Name="SrcOffset" DataType="UINT" InitialValue="" Comment="If the offset is 0, start from the first element." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="BitAddr" DataType="BOOL" InitialValue="" Comment="Location of the bit shifted in Src." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Length" DataType="UINT" InitialValue="" Comment="Length contains the number of bits in the Src to be shifted." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="__ADI_Src" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;Src&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="_ADI" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="__DTI_Src" DataType="SINT" InitialValue="0" Comment="DTI hidden parameter for ANY/ANY_ELEMENTARY input" Address="" Modifier="Constant" Kind="VarInput" Alias="_DTI" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Done" DataType="BOOL" InitialValue="" Comment="If shift is completed, Done bit will be set." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Unload" DataType="BOOL" InitialValue="" Comment="Bit shifted out from Src." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="On fault, Error set to True." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="USINT" InitialValue="" Comment="On fault, ErrorID contains fault code." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="prev_exe" DataType="BOOL" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
    <Pou FileVersion="200.00.003" Name="BSR" ElementGuid="00000000-0000-0000-0000-000000000000" Comment="" SingleTextLine="Performs bit shift right operation" Language="C" CustomFbd="0" Localization="LibC" GroupName="Binary" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="false" Is1499="false">
      <FunctionBlock IdentifierNb="0" Keyword="BSR" InitInstance="true" SymbMonExtraBytes="128" />
      <LocalVars>
        <Variable Name="Execute" DataType="BOOL" InitialValue="" Comment="If rising edge (Execution passes from False to True), shifts to the right one position." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Src" DataType="ANY_ELEMENTARY" InitialValue="" Comment="Address of the Src to be shifted." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0">
          <Dimension Lower="1" Upper="1" />
        </Variable>
        <Variable Name="SrcOffset" DataType="UINT" InitialValue="" Comment="If the offset is 0, start from the first element." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="BitAddr" DataType="BOOL" InitialValue="" Comment="Location of the bit shifted in Src." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="Length" DataType="UINT" InitialValue="" Comment="Length contains the number of bits in the Src to be shifted." Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
        <Variable Name="__ADI_Src" DataType="UINT" InitialValue="0" Comment="ADI hidden parameter for &lt;Src&gt; array input" Address="" Modifier="Constant" Kind="VarInput" Alias="_ADI" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="__DTI_Src" DataType="SINT" InitialValue="0" Comment="DTI hidden parameter for ANY/ANY_ELEMENTARY input" Address="" Modifier="Constant" Kind="VarInput" Alias="_DTI" AccessRights="ReadWrite" StringSize="0" Direction="Hidden" CommentFields="" Attributes="0" />
        <Variable Name="Done" DataType="BOOL" InitialValue="" Comment="If shift is completed, Done bit is set." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Unload" DataType="BOOL" InitialValue="" Comment="Bit shifted out from Src." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="Error" DataType="BOOL" InitialValue="" Comment="On fault Error, set to true." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="ErrorID" DataType="USINT" InitialValue="" Comment="On fault, ErrorID contains fault code." Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
        <Variable Name="prev_exe" DataType="BOOL" InitialValue="" Comment="Reserved for internal use only." Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
      </LocalVars>
      <PouBody />
      <PouUIProperties />
    </Pou>
  </Pous>
  <IODevices>
    <IODevice DriverName="OPTIMUS_" PackageName="AB_" Name="digitIn_Base" DataType="BOOL" MinChannel="0" MaxChannel="32" Direction="Input" IsSimple="true" Comment="" SingleTextLine="">
      <Parameters />
      <ChannelParameters />
    </IODevice>
    <IODevice DriverName="OPTIMUS_" PackageName="AB_" Name="analogOut_UP" DataType="UINT" MinChannel="0" MaxChannel="8" Direction="Output" IsSimple="true" Comment="" SingleTextLine="">
      <Parameters />
      <ChannelParameters />
    </IODevice>
    <IODevice DriverName="OPTIMUS_" PackageName="AB_" Name="digitOut_Base" DataType="BOOL" MinChannel="0" MaxChannel="32" Direction="Output" IsSimple="true" Comment="" SingleTextLine="">
      <Parameters />
      <ChannelParameters />
    </IODevice>
    <IODevice DriverName="OPTIMUS_" PackageName="AB_" Name="analogIn_UP" DataType="UINT" MinChannel="0" MaxChannel="8" Direction="Input" IsSimple="true" Comment="" SingleTextLine="">
      <Parameters />
      <ChannelParameters />
    </IODevice>
    <IODevice DriverName="OPTIMUS_" PackageName="AB_" Name="digitIn_UP" DataType="BOOL" MinChannel="0" MaxChannel="16" Direction="Input" IsSimple="true" Comment="" SingleTextLine="">
      <Parameters />
      <ChannelParameters />
    </IODevice>
    <IODevice DriverName="OPTIMUS_" PackageName="AB_" Name="digitOut_UP" DataType="BOOL" MinChannel="0" MaxChannel="16" Direction="Output" IsSimple="true" Comment="" SingleTextLine="">
      <Parameters />
      <ChannelParameters />
    </IODevice>
    <IODevice DriverName="OPTIMUS_" PackageName="AB_" Name="IOUP_Analog" DataType="BOOL" MinChannel="0" MaxChannel="0" Direction="Input" IsSimple="false" Comment="" SingleTextLine="">
      <Parameters />
      <ChannelParameters />
      <Devices>
        <Device Name="analogOut_UP" />
        <Device Name="analogIn_UP" />
      </Devices>
    </IODevice>
    <IODevice DriverName="OPTIMUS_" PackageName="AB_" Name="IOUP_Digit" DataType="BOOL" MinChannel="0" MaxChannel="0" Direction="Input" IsSimple="false" Comment="" SingleTextLine="">
      <Parameters />
      <ChannelParameters />
      <Devices>
        <Device Name="digitOut_UP" />
        <Device Name="digitIn_UP" />
      </Devices>
    </IODevice>
    <IODevice DriverName="OPTIMUS_" PackageName="AB_" Name="analogIn_Base" DataType="UINT" MinChannel="4" MaxChannel="4" Direction="Input" IsSimple="true" Comment="" SingleTextLine="">
      <Parameters />
      <ChannelParameters />
    </IODevice>
    <IODevice DriverName="OPTIMUS_" PackageName="AB_" Name="analogOut_Base" DataType="UINT" MinChannel="1" MaxChannel="1" Direction="Output" IsSimple="true" Comment="" SingleTextLine="">
      <Parameters />
      <ChannelParameters />
    </IODevice>
    <IODevice DriverName="OPTIMUS_" PackageName="AB_" Name="IO_Base" DataType="BOOL" MinChannel="0" MaxChannel="0" Direction="Input" IsSimple="false" Comment="" SingleTextLine="">
      <Parameters />
      <ChannelParameters />
      <Devices>
        <Device Name="digitOut_Base" />
        <Device Name="digitIn_Base" />
        <Device Name="analogOut_Base" />
        <Device Name="analogIn_Base" />
      </Devices>
    </IODevice>
  </IODevices>
</Target>