﻿<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="16.03" TargetType="Rung" ContainsContext="true" Owner="AB, ProSoft" ExportDate="Thu Dec 17 11:13:42 2009" ExportOptions="References Context ReferencesByUId RoutineLabels UIds AliasExtras IOTags NoStringData">
<Controller Use="Context" Name="MNETR_V16" UId="b5ff5b04">
<DataTypes Use="Context" UId="c7c28f94">
<DataType Name="MNETRIPADDRESS" Family="NoFamily" Class="User" UId="1f384e10">
<Description>
<![CDATA[Data structure to get and set the IP address of the module.
]]>
</Description>
<Members>
<Member Name="ZZZZZZZZZZMNETIPADDR0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true"/>
<Member Name="IPGetTrigger" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZMNETIPADDR0" BitNumber="0">
<Description>
<![CDATA[Gets IP address.]]>
</Description>
</Member>
<Member Name="IPReceived" DataType="INT" Dimension="4" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[IP address received.]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZMNETIPADDR3" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true"/>
<Member Name="IPSetTrigger" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZMNETIPADDR3" BitNumber="0">
<Description>
<![CDATA[Sets IP address]]>
</Description>
</Member>
<Member Name="IPRequested" DataType="INT" Dimension="4" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[IP address set.]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="MNETRDATA" Family="NoFamily" Class="User" UId="916e0c9f">
<Description>
<![CDATA[Contains Read Data (data read from the module to the processor) and Write Data (data written from the processor to the module)]]>
</Description>
<Members>
<Member Name="ReadData" DataType="INT" Dimension="600" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Data read from module]]>
</Description>
</Member>
<Member Name="WriteData" DataType="INT" Dimension="600" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Data to write to module]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="MNETRCMDCONTROL" Family="NoFamily" Class="User" UId="f7cd2a19">
<Description>
<![CDATA[Controlling the Modbus Commands]]>
</Description>
<Members>
<Member Name="CmdIndex" DataType="INT" Dimension="6" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Stores the command indexes for command control.]]>
</Description>
</Member>
<Member Name="NumberOfCommands" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Number of commands per block (1 to 6)]]>
</Description>
</Member>
<Member Name="CommandsAddedtoQueue" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Number of commands added to queue]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZMNETRCMDCO3" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true"/>
<Member Name="CmdControlTrigger" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZMNETRCMDCO3" BitNumber="0">
<Description>
<![CDATA[Trigger Command Control. User application will activate this trigger.]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="MNETRBLOCKSTATS" Family="NoFamily" Class="User" UId="9d39c20e">
<Description>
<![CDATA[This object is used to store the block transfer statistics for the MVI56-MNETR module.]]>
</Description>
<Members>
<Member Name="Read" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Total number of read block transfers]]>
</Description>
</Member>
<Member Name="Write" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Total number of write block transfers]]>
</Description>
</Member>
<Member Name="Parse" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Total number of blocks parsed]]>
</Description>
</Member>
<Member Name="Event" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Total number of event blocks received]]>
</Description>
</Member>
<Member Name="Cmd" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Total number of command blocks received]]>
</Description>
</Member>
<Member Name="Err" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Total number of block transfer errors]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="MNETRSTATUS" Family="NoFamily" Class="User" UId="41046194">
<Description>
<![CDATA[This status data is returned on each read block and can be used to detect proper module operation.]]>
</Description>
<Members>
<Member Name="PassCnt" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Program cycle counter]]>
</Description>
</Member>
<Member Name="ProductVersion" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Shows the module software version]]>
</Description>
</Member>
<Member Name="ProductCode" DataType="INT" Dimension="2" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[This identifies the module product code]]>
</Description>
</Member>
<Member Name="BlockStats" DataType="MNETRBLOCKSTATS" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[Block Transfer Statistics.]]>
</Description>
</Member>
<Member Name="Reserved1" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Reserved INT]]>
</Description>
</Member>
<Member Name="Reserved2" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Reserved INT]]>
</Description>
</Member>
<Member Name="MNetReq" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[number of remote client requests for port 502]]>
</Description>
</Member>
<Member Name="MNetResp" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[number of server responses for port 502]]>
</Description>
</Member>
<Member Name="MBAPReq" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[number of remote client requests for port 2000]]>
</Description>
</Member>
<Member Name="MBAPResp" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[number of server responses for port 2000]]>
</Description>
</Member>
<Member Name="ClientStatus" DataType="MNETRCLIENTSTATS" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[Client Status]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="MNETRMODULEDEF" Family="NoFamily" Class="User" UId="f13c2705">
<Description>
<![CDATA[this defines the whole module which includes all tags used in the program]]>
</Description>
<Members>
<Member Name="DATA" DataType="MNETRDATA" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[Data read from module]]>
</Description>
</Member>
<Member Name="STATUS" DataType="MNETRSTATUS" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[Client ,Server Status and blocks status]]>
</Description>
</Member>
<Member Name="CONTROL" DataType="MNETRCONTROL" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[Module control warmboot, coldboot, etc]]>
</Description>
</Member>
<Member Name="UTIL" DataType="MNETRUTIL" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[command, event control]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="MNETRUTIL" Family="NoFamily" Class="User" UId="a68d8031">
<Description>
<![CDATA[Variables for internal ladder usage - should not be accessed by user application]]>
</Description>
<Members>
<Member Name="LastRead" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Index of last read block]]>
</Description>
</Member>
<Member Name="LastWrite" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Index of last write block]]>
</Description>
</Member>
<Member Name="BlockIndex" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Computed block offset for data table]]>
</Description>
</Member>
<Member Name="ReadDataSizeGet" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Gets ReadData Array Length.]]>
</Description>
</Member>
<Member Name="WriteDataSizeGet" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Gets WriteData Array Length.]]>
</Description>
</Member>
<Member Name="ReadDataBlkCount" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Holds the value of the Block Counts of the Read Data Array. Array Size is divided by 40.]]>
</Description>
</Member>
<Member Name="WriteDataBlkCount" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Holds the value of the Block Counts of the Write Data Array. Array Size is divided by 40.]]>
</Description>
</Member>
<Member Name="RBTSremainder" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Holds remainder calculation value from the read array.]]>
</Description>
</Member>
<Member Name="WBTSremainder" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Holds remainder calculation value from the write array.]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZMNETRUTIL9" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true"/>
<Member Name="IPsetPending" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZMNETRUTIL9" BitNumber="0">
<Description>
<![CDATA[Allows Setting module  IP address]]>
</Description>
</Member>
<Member Name="IPgetPending" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZMNETRUTIL9" BitNumber="1">
<Description>
<![CDATA[Allows Getting module  IP address]]>
</Description>
</Member>
<Member Name="InitOutBlkIDLim" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Block Index Limit for ReadData size of the array]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="MNETRCOILARRAY" Family="NoFamily" Class="User" UId="db61c4d3">
<Description>
<![CDATA[Conversion to INT values]]>
</Description>
<Members>
<Member Name="Boolean" DataType="BOOL" Dimension="416" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Conversion from Bool to INT data types]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="MNETRCLIENTSTATS" Family="NoFamily" Class="User" UId="41a240ea">
<Description>
<![CDATA[This object is used to store client statistics for the MVI56-MNETR module.]]>
</Description>
<Members>
<Member Name="CmdReq" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Total number of command list requests sent]]>
</Description>
</Member>
<Member Name="CmdResp" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Total number of command list responses received]]>
</Description>
</Member>
<Member Name="CmdErr" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Total number of command list errors]]>
</Description>
</Member>
<Member Name="Requests" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Total number of requests for port]]>
</Description>
</Member>
<Member Name="Responses" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Total number of responses for port]]>
</Description>
</Member>
<Member Name="ErrSent" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Total number of errors sent]]>
</Description>
</Member>
<Member Name="ErrRec" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Total number of errors received]]>
</Description>
</Member>
<Member Name="CfgErrWord" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Configuration Error Word]]>
</Description>
</Member>
<Member Name="CurErr" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Current Error code]]>
</Description>
</Member>
<Member Name="LastErr" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Last recorded error code]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="MNETREVENTCMD" Family="NoFamily" Class="User" UId="fbf63906">
<Description>
<![CDATA[Data structure to use for Event message generation.]]>
</Description>
<Members>
<Member Name="IP0" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[First digit of IP address]]>
</Description>
</Member>
<Member Name="IP1" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Second digit of IP address]]>
</Description>
</Member>
<Member Name="IP2" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Third digit of IP address]]>
</Description>
</Member>
<Member Name="IP3" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Last digit of IP address]]>
</Description>
</Member>
<Member Name="ServPort" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[TCP Service Port number (0-65535), 502 for MBAP, 2000 for MNET]]>
</Description>
</Member>
<Member Name="Node" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Modbus slave node address (0 to 247)]]>
</Description>
</Member>
<Member Name="DBAddress" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Module internal database to use with message]]>
</Description>
</Member>
<Member Name="Count" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Register or data point count]]>
</Description>
</Member>
<Member Name="Swap" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Swap code to use with functions 3 and 4]]>
</Description>
</Member>
<Member Name="Function" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Modbus function code for message]]>
</Description>
</Member>
<Member Name="Address" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Address to interface with in device]]>
</Description>
</Member>
<Member Name="Result" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[shows the result of the event that was sent]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="MNETRPASSTHRU" Family="NoFamily" Class="User" UId="338f8190">
<Description>
<![CDATA[Applicable with the selection of a Pass-Through mode (1 to 3) in the Configuration file.]]>
</Description>
<Members>
<Member Name="MBControl1" DataType="CONTROL" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[Modbus pass thru message control]]>
</Description>
</Member>
<Member Name="MBControl2" DataType="CONTROL" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[Modbus pass thru message control]]>
</Description>
</Member>
<Member Name="MBMsg" DataType="SINT" Dimension="500" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[message array]]>
</Description>
</Member>
<Member Name="MBScratch" DataType="INT" Dimension="3" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[temporary used ints]]>
</Description>
</Member>
<Member Name="MBOffsetBit" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[offset bit in the message]]>
</Description>
</Member>
<Member Name="MBOffset" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[start offset in the message]]>
</Description>
</Member>
<Member Name="MBMsgLen" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[message length]]>
</Description>
</Member>
<Member Name="mbdouble" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false">
<Description>
<![CDATA[Modbus double int tag]]>
</Description>
</Member>
<Member Name="MBCoil" DataType="MNETRCOILARRAY" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[Conversion array]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="MNETRCONTROL" Family="NoFamily" Class="User" UId="bd9f7747">
<Description>
<![CDATA[Module Behaviour Control Tags.
Values used by program for data transfer operation between the module and the processor.]]>
</Description>
<Members>
<Member Name="BootTimer" DataType="TIMER" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[Starts counting when user issues a coldboot or warmboot]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZMNETRCONTR1" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true"/>
<Member Name="WarmBoot" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZMNETRCONTR1" BitNumber="0">
<Description>
<![CDATA[Causes software reset. The Module reads new configuration information.]]>
</Description>
</Member>
<Member Name="ColdBoot" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZMNETRCONTR1" BitNumber="1">
<Description>
<![CDATA[Causes hardware reset.]]>
</Description>
</Member>
<Member Name="EventCmdTrigger" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZMNETRCONTR1" BitNumber="2">
<Description>
<![CDATA[Trigger events to be executed by the module]]>
</Description>
</Member>
<Member Name="EventCmd" DataType="MNETREVENTCMD" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[Event command Data]]>
</Description>
</Member>
<Member Name="CmdControl" DataType="MNETRCMDCONTROL" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[Command control data]]>
</Description>
</Member>
<Member Name="PassThru" DataType="MNETRPASSTHRU" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[Pass thru data format]]>
</Description>
</Member>
<Member Name="IPAddress" DataType="MNETRIPADDRESS" Dimension="0" Radix="NullType" Hidden="false">
<Description>
<![CDATA[Getting and Setting IP address to and from Module]]>
</Description>
</Member>
</Members>
</DataType>
</DataTypes>
<Modules Use="Context" UId="80080377">
<Module Use="Context" Name="RemoteENBT" UId="2da0b489">
</Module>
<Module Use="Context" Name="MNETR" UId="e2df862f">
</Module>
</Modules>
<AddOnInstructionDefinitions Use="Context" UId="184e5e16">
<AddOnInstructionDefinition Name="AOI56MNETR" UId="a880d4d8" Revision="1.3" Vendor="ProSoft Technology Inc." ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2008-09-17T16:05:47.772Z" CreatedBy="PSFT\ngrgas" EditedDate="2009-12-17T18:34:59.927Z" EditedBy="PSFT\akamal"
 SoftwareRevision="v16.03" SourceKey="psft" SourceProtectionType="Viewable">
<Description>
<![CDATA[Add-On - MVI56-MNETR & MVI56E-MNETR modules ]]>
</Description>
<RevisionNote>
<![CDATA[v1.3 - 1) flexible read and write data arrays, 2) Includes blocks 9990/9991]]>
</RevisionNote>
<Parameters>
<Parameter Name="Connection_Input" UId="e611f268" DataType="INT" Dimensions="42" Usage="InOut" Radix="Decimal" Required="true" Visible="true">
<Description>
<![CDATA[Input parameters.]]>
</Description>
</Parameter>
<Parameter Name="Connection_Output" UId="4991d94b" DataType="INT" Dimensions="42" Usage="InOut" Radix="Decimal" Required="true" Visible="true">
<Description>
<![CDATA[Output parameters.]]>
</Description>
</Parameter>
<Parameter Name="MNETR" UId="e8982e82" DataType="MNETRMODULEDEF" Usage="InOut" Required="true" Visible="true"/>
</Parameters>
<LocalTags>
<LocalTag Name="MJFAULTS" UId="42febd3d" DataType="DINT" Dimensions="12" Radix="Decimal">
<DefaultData>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00</DefaultData>
</LocalTag>
</LocalTags>
<Routines UId="bb0377fb">
<Routine Name="Logic" Type="RLL" UId="f1f6e1ec">
<RLLContent>
<Labels UId="18301b26"/>
<Rung Number="0" Type="N" UId="0437add1">
<Comment>
<![CDATA[This Rung reads the length(size) of the ReadData Array tag. It is needed to initially calculate the read data array block quantity(Count)]]>
</Comment>
<Text>
<![CDATA[[SIZE(@e8982e82@.DATA.ReadData[0],0,@e8982e82@.UTIL.ReadDataSizeGet) ,CPT(@e8982e82@.UTIL.ReadDataBlkCount,@e8982e82@.UTIL.ReadDataSizeGet / 40) ,MOD(@e8982e82@.UTIL.ReadDataSizeGet,40,@e8982e82@.UTIL.RBTSremainder) ];]]>
</Text>
</Rung>
<Rung Number="1" Type="N" UId="a6fdfcb0">
<Comment>
<![CDATA[This Rung reads the length(size) of the WriteData Array tag.]]>
</Comment>
<Text>
<![CDATA[[SIZE(@e8982e82@.DATA.WriteData[0],0,@e8982e82@.UTIL.WriteDataSizeGet) ,CPT(@e8982e82@.UTIL.WriteDataBlkCount,@e8982e82@.UTIL.WriteDataSizeGet / 40) ,MOD(@e8982e82@.UTIL.WriteDataSizeGet,40,@e8982e82@.UTIL.WBTSremainder) ,CPT(@e8982e82@.UTIL.InitOutBlkIDLim,@e8982e82@.UTIL.ReadDataBlkCount + 999) ];]]>
</Text>
</Rung>
<Rung Number="2" Type="N" UId="3441c773">
<Comment>
<![CDATA[The following logic is used to wait a specific amount of time before clearing a warmboot and colboot requests]]>
</Comment>
<Text>
<![CDATA[MOV(3000,@e8982e82@.CONTROL.BootTimer.PRE);]]>
</Text>
</Rung>
<Rung Number="3" Type="N" UId="4db85d0a">
<Text>
<![CDATA[[EQU(@4991d94b@[0],9998) ,EQU(@4991d94b@[0],9999) ]TON(@e8982e82@.CONTROL.BootTimer,3000,0);]]>
</Text>
</Rung>
<Rung Number="4" Type="N" UId="857de6a5">
<Text>
<![CDATA[XIC(@e8982e82@.CONTROL.BootTimer.DN)MOV(0,@4991d94b@[0]);]]>
</Text>
</Rung>
<Rung Number="5" Type="N" UId="4ecf66b4">
<Comment>
<![CDATA[This rung is used to check for a new read block from the MVI56-MNETR.  If new data is available, the LastRead and Input Image Word[41] will not be equal.  This will force the program to call the ReadData subroutine to process the new data received.  After the new data is placed in the ReadData controller tags, the program will send new data to the module using the WriteData subroutine.]]>
</Comment>
<Text>
<![CDATA[NEQ(@e611f268@[41],@e8982e82@.UTIL.LastRead)[MOV(@e611f268@[41],@e8982e82@.UTIL.LastRead) ,[EQU(-1,@e8982e82@.UTIL.LastRead) ,EQU(0,@e8982e82@.UTIL.LastRead) ] [COP(@e611f268@[1],@e8982e82@.STATUS.PassCnt,1) ,COP(@e611f268@[2],@e8982e82@.STATUS.BlockStats.Read,6) ,COP(@e611f268@[8],@e8982e82@.STATUS.Reserved1,6) ,COP(@e611f268@[14],@e8982e82@.STATUS.ClientStatus.CmdReq,10) ,COP(@e611f268@[24],@e8982e82@.STATUS.ProductCode[0],2) ,COP(@e611f268@[26],@e8982e82@.STATUS.ProductVersion,1) ] ,GEQ(@e8982e82@.UTIL.LastRead,1) [LEQ(@e8982e82@.UTIL.LastRead,@e8982e82@.UTIL.ReadDataBlkCount) [CPT(@e8982e82@.UTIL.BlockIndex,(@e8982e82@.UTIL.LastRead - 1) * 40) ,COP(@e611f268@[1],@e8982e82@.DATA.ReadData[@e8982e82@.UTIL.BlockIndex],40) ] ,CMP(@e8982e82@.UTIL.LastRead - @e8982e82@.UTIL.ReadDataBlkCount = 1) GRT(@e8982e82@.UTIL.RBTSremainder,0) [CPT(@e8982e82@.UTIL.BlockIndex,(@e8982e82@.UTIL.LastRead-1) * 40) ,COP(@e611f268@[1],@e8982e82@.DATA.ReadData[@e8982e82@.UTIL.BlockIndex],@e8982e82@.UTIL.RBTSremainder) ] ] ,EQU(@e8982e82@.UTIL.LastRead,9990) [COP(@e611f268@[1],@e8982e82@.CONTROL.IPAddress.IPRequested[0],4) ,OTU(@e8982e82@.UTIL.IPsetPending) ] ,EQU(@e8982e82@.UTIL.LastRead,9991) [COP(@e611f268@[1],@e8982e82@.CONTROL.IPAddress.IPReceived[0],4) ,OTU(@e8982e82@.UTIL.IPgetPending) ] ,EQU(@e8982e82@.UTIL.LastRead,2000) MOV(@e611f268@[1],@e8982e82@.CONTROL.EventCmd.Result) ,LIM(5001,@e8982e82@.UTIL.LastRead,5006) MOV(@e611f268@[1],@e8982e82@.CONTROL.CmdControl.CommandsAddedtoQueue) ,EQU(9996,@e8982e82@.UTIL.LastRead) [MOV(@e611f268@[1],@e8982e82@.CONTROL.PassThru.MBMsgLen) ,COP(@e611f268@[3],@e8982e82@.CONTROL.PassThru.MBMsg[0],@e8982e82@.CONTROL.PassThru.MBMsgLen) ] ,LIM(9956,@e8982e82@.UTIL.LastRead,9957) [MOV(@e611f268@[2],@e8982e82@.CONTROL.PassThru.MBOffset) ,LES(@e8982e82@.CONTROL.PassThru.MBOffset,@e8982e82@.UTIL.WriteDataSizeGet) COP(@e611f268@[3],@e8982e82@.DATA.WriteData[@e8982e82@.CONTROL.PassThru.MBOffset],@e611f268@[1]) ] ,EQU(9958,@e8982e82@.UTIL.LastRead) [MOV(@e611f268@[2],@e8982e82@.CONTROL.PassThru.MBOffsetBit) ,MOV(@e611f268@[3],@e8982e82@.CONTROL.PassThru.MBScratch[2]) ,DIV(@e8982e82@.CONTROL.PassThru.MBOffsetBit,16,@e8982e82@.CONTROL.PassThru.MBOffset) ,MOD(@e8982e82@.CONTROL.PassThru.MBOffsetBit,16,@e8982e82@.CONTROL.PassThru.MBOffsetBit) ,XPY(2,@e8982e82@.CONTROL.PassThru.MBOffsetBit,@e8982e82@.CONTROL.PassThru.mbdouble) ,MVM(@e8982e82@.CONTROL.PassThru.mbdouble,16#0000_ffff,@e8982e82@.CONTROL.PassThru.MBOffsetBit) ,NEQ(@e8982e82@.CONTROL.PassThru.MBScratch[2],0) OR(@e8982e82@.CONTROL.PassThru.MBOffsetBit,@e8982e82@.DATA.WriteData[@e8982e82@.CONTROL.PassThru.MBOffset],@e8982e82@.DATA.WriteData[@e8982e82@.CONTROL.PassThru.MBOffset]) ,EQU(@e8982e82@.CONTROL.PassThru.MBScratch[2],0) [NOT(@e8982e82@.CONTROL.PassThru.MBOffsetBit,@e8982e82@.CONTROL.PassThru.MBOffsetBit) ,AND(@e8982e82@.CONTROL.PassThru.MBOffsetBit,@e8982e82@.DATA.WriteData[@e8982e82@.CONTROL.PassThru.MBOffset],@e8982e82@.DATA.WriteData[@e8982e82@.CONTROL.PassThru.MBOffset]) ] ] ,EQU(9959,@e8982e82@.UTIL.LastRead) [MOV(@e611f268@[2],@e8982e82@.CONTROL.PassThru.MBOffset) ,MOV(@e611f268@[1],@e8982e82@.CONTROL.PassThru.MBControl1.LEN) ,MOV(@e611f268@[1],@e8982e82@.CONTROL.PassThru.MBControl2.LEN) ,FAL(@e8982e82@.CONTROL.PassThru.MBControl1,2,0,ALL,@e8982e82@.DATA.WriteData[@e8982e82@.CONTROL.PassThru.MBOffset+@e8982e82@.CONTROL.PassThru.MBControl1.POS],@e8982e82@.DATA.WriteData[@e8982e82@.CONTROL.PassThru.MBOffset+@e8982e82@.CONTROL.PassThru.MBControl1.POS] AND(NOT @e611f268@[14+@e8982e82@.CONTROL.PassThru.MBControl1.POS])) ,FAL(@e8982e82@.CONTROL.PassThru.MBControl2,2,0,ALL,@e8982e82@.DATA.WriteData[@e8982e82@.CONTROL.PassThru.MBOffset+@e8982e82@.CONTROL.PassThru.MBControl2.POS],@e8982e82@.DATA.WriteData[@e8982e82@.CONTROL.PassThru.MBOffset+@e8982e82@.CONTROL.PassThru.MBControl2.POS] OR(@e611f268@[14+@e8982e82@.CONTROL.PassThru.MBControl2.POS] AND @e611f268@[3+@e8982e82@.CONTROL.PassThru.MBControl2.POS])) ] ,EQU(9961,@e8982e82@.UTIL.LastRead) [MOV(@e611f268@[1],@e8982e82@.CONTROL.PassThru.MBMsgLen) ,CPT(@e8982e82@.CONTROL.PassThru.MBMsgLen,@e8982e82@.CONTROL.PassThru.MBMsgLen*2+2) ,COP(@e611f268@[3],@e8982e82@.CONTROL.PassThru.MBMsg[0],@e8982e82@.CONTROL.PassThru.MBMsgLen) ] ,MOV(@e611f268@[0],@e8982e82@.UTIL.LastWrite) ,XIC(@e8982e82@.CONTROL.WarmBoot) [MOV(9998,@e8982e82@.UTIL.LastWrite) ,OTU(@e8982e82@.CONTROL.WarmBoot) ] ,XIC(@e8982e82@.CONTROL.ColdBoot) [MOV(9999,@e8982e82@.UTIL.LastWrite) ,OTU(@e8982e82@.CONTROL.ColdBoot) ] ,XIC(@e8982e82@.CONTROL.IPAddress.IPSetTrigger) XIO(@e8982e82@.UTIL.IPsetPending) [COP(@e8982e82@.CONTROL.IPAddress.IPRequested[0],@4991d94b@[1],4) ,MOV(9990,@e8982e82@.UTIL.LastWrite) ,OTU(@e8982e82@.CONTROL.IPAddress.IPSetTrigger) ,OTL(@e8982e82@.UTIL.IPsetPending) ] ,XIC(@e8982e82@.CONTROL.IPAddress.IPGetTrigger) XIO(@e8982e82@.UTIL.IPgetPending) [MOV(9991,@e8982e82@.UTIL.LastWrite) ,OTU(@e8982e82@.CONTROL.IPAddress.IPGetTrigger) ,OTL(@e8982e82@.UTIL.IPgetPending) ] ,XIC(@e8982e82@.CONTROL.CmdControl.CmdControlTrigger) [CPT(@e8982e82@.UTIL.LastWrite,5000+@e8982e82@.CONTROL.CmdControl.NumberOfCommands) ,COP(@e8982e82@.CONTROL.CmdControl.CmdIndex[0],@4991d94b@[1],6) ,CPT(@4991d94b@[0],5000+@e8982e82@.CONTROL.CmdControl.NumberOfCommands) ,OTU(@e8982e82@.CONTROL.CmdControl.CmdControlTrigger) ] ,XIC(@e8982e82@.CONTROL.EventCmdTrigger) [MOV(2000,@e8982e82@.UTIL.LastWrite) ,COP(@e8982e82@.CONTROL.EventCmd.IP0,@4991d94b@[1],11) ,OTU(@e8982e82@.CONTROL.EventCmdTrigger) ] ,GEQ(@e8982e82@.UTIL.LastWrite,1) [LEQ(@e8982e82@.UTIL.LastWrite,@e8982e82@.UTIL.WriteDataBlkCount) [CPT(@e8982e82@.UTIL.BlockIndex,(@e8982e82@.UTIL.LastWrite - 1) * 40) ,COP(@e8982e82@.DATA.WriteData[@e8982e82@.UTIL.BlockIndex],@4991d94b@[1],40) ] ,CMP(@e8982e82@.UTIL.LastWrite - @e8982e82@.UTIL.WriteDataBlkCount = 1) GRT(@e8982e82@.UTIL.WBTSremainder,0) [CPT(@e8982e82@.UTIL.BlockIndex,(@e8982e82@.UTIL.LastWrite-1) * 40) ,COP(@e8982e82@.DATA.WriteData[@e8982e82@.UTIL.BlockIndex],@4991d94b@[1],@e8982e82@.UTIL.WBTSremainder) ] ] ,LIM(1000,@e8982e82@.UTIL.LastWrite,1124) [LEQ(@e8982e82@.UTIL.LastWrite,@e8982e82@.UTIL.InitOutBlkIDLim) [CPT(@e8982e82@.UTIL.BlockIndex,(@e8982e82@.UTIL.LastWrite - 1000) * 40) ,COP(@e8982e82@.DATA.ReadData[@e8982e82@.UTIL.BlockIndex],@4991d94b@[1],40) ] ,GRT(@e8982e82@.UTIL.LastWrite,@e8982e82@.UTIL.InitOutBlkIDLim) FLL(0,@4991d94b@[1],40) ] ,MOV(@e8982e82@.UTIL.LastWrite,@4991d94b@[0]) ];]]>
</Text>
</Rung>
</RLLContent>
</Routine>
<Routine Name="Prescan" Type="RLL" UId="24081be7">
<Description>
<![CDATA[Prescan]]>
</Description>
<RLLContent>
<Labels UId="5ad51bb9"/>
<Rung Number="0" Type="N" UId="c9c083f8">
<Text>
<![CDATA[[GSV(PROGRAM,THIS,MAJORFAULTRECORD,@42febd3d@[0]) ,MOV(0,@42febd3d@[2]) ,SSV(PROGRAM,THIS,MAJORFAULTRECORD,@42febd3d@[0]) ];]]>
</Text>
</Rung>
<Rung Number="1" Type="N" UId="d5405e9b">
<Text>
<![CDATA[[MOV(0,@e8982e82@.UTIL.LastRead) ,MOV(0,@e8982e82@.UTIL.LastWrite) ,FLL(0,@e8982e82@.DATA.WriteData[0],@e8982e82@.UTIL.WriteDataSizeGet) ,FLL(0,@e611f268@[0],42) ];]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
<Tags Use="Context" UId="49c86d5c">
<Tag Name="RemoteENBT:1:I" UId="0d72be15" TagType="Base" DataType="AB:1756_MODULE_INT_84Bytes:I:0" IO="true">
<Data>02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 0C 00</Data>
<ForceData>0C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00</ForceData>
</Tag>
<Tag Name="MNETR" UId="4a4a3092" TagType="Base" DataType="MNETRMODULEDEF">
<Data>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
6F 00 DE 00 4D 01 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
29 8C 97 00 4D 4E 54 52 0A 28 0A 28 0A 28 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 57 58 1E 00 B8 0B 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 69 00 66 00 00 00 9C 00 
00 00 00 00 00 00 00 00 00 00 00 00 07 00 0C 00 
B8 01 58 02 58 02 0F 00 0F 00 00 00 00 00 00 00 
00 00 00 00</Data>
</Tag>
<Tag Name="RemoteENBT:1:O" UId="7313e2a8" TagType="Base" DataType="AB:1756_MODULE_INT_84Bytes:O:0" IO="true">
<Data>0D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00</Data>
<ForceData>01 00 6F 00 DE 00 4D 01 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00</ForceData>
</Tag>
<Tag Name="AOI56MNETR" UId="a897f87c" TagType="Base" DataType="AOI56MNETR">
<Data>03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 DC AF 83 00 00 00 00 00 00 00 00 00 
00 00 00 00</Data>
</Tag>
</Tags>
<Programs Use="Context" UId="7fc17b01">
<Program Use="Context" Name="MainProgram" UId="16d60b85">
<Routines Use="Context" UId="e83f8414">
<Routine Use="Context" Name="MainRoutine" UId="a07e31ed">
<RLLContent Use="Context">
<Rung Use="Target" Number="0" Type="N" UId="39920a36">
<Text>
<![CDATA[AOI56MNETR(@a897f87c@,@0d72be15@.Data,@7313e2a8@.Data,@4a4a3092@);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
</Program>
</Programs>
</Controller>
</RSLogix5000Content>
