<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--AOI to read and write parameter data to an IO-Link R90C-4K, R95C-8B21, R95C-8B22, or R130C-8B22 IO-Link Hub.-->
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="33.00" TargetName="Banner_R90C_R95C_R130C_Param_v4" TargetType="AddOnInstructionDefinition" TargetRevision="4.4 " TargetLastEdited="2024-03-12T20:32:33.007Z" ContainsContext="true" ExportDate="Thu Mar 14 08:54:17 2024" ExportOptions="References NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="Test">
<DataTypes Use="Context">
<DataType Name="Banner_Hub_Discrete_Host_Out_Mirror_v4" Family="NoFamily" Class="User">
<Members>
<Member Name="Mirroring_Enable" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Disabled, 1=Enabled.]]>
</Description>
</Member>
<Member Name="Mirroring_Port" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Port1, 1=Port2, 2=Port3, 3=Port4, Next set only for R95C 4=Port5, 5=Port6, 6=Port7, 7=Port8.]]>
</Description>
</Member>
<Member Name="Mirroring_Channel" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Discrete1, 1=Discrete2.]]>
</Description>
</Member>
<Member Name="Mirroring_Inversion" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Not Inverted, 1=Inverted.]]>
</Description>
</Member>
<Member Name="Mirroring_Polarity" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=NPN Output, 1=PNP Output.]]>
</Description>
</Member>
<Member Name="Mirroring_Output_Type" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Output Open Collector, 1=Output Push Pull.]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="Banner_Hub_IO_Metrics_v4" Family="NoFamily" Class="User">
<Members>
<Member Name="Port_Discrete1_Count" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Port_Discrete1_Duration" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Port_Discrete1_Events_Per_Minute" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Port_Discrete1_Totalizer" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Port_Discrete2_Count" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Port_Discrete2_Duration" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Port_Discrete2_Events_Per_Minute" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Port_Discrete2_Totalizer" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="Banner_Hub_Port_Config_B22_v4" Family="NoFamily" Class="User">
<Description>
<![CDATA[Data elements that are unique to the B22 version of the IO-Link Hub.]]>
</Description>
<Members>
<Member Name="Mirroring_Enable" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = Disabled, 1 = Enabled.]]>
</Description>
</Member>
<Member Name="Mirroring_Port_Selection" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = Port1, 1 = Port2, 2 = Port3, 3 = Prot4, 4 = Prot5, 5 = Port6, 6 = Port7, 7 = Port8.]]>
</Description>
</Member>
<Member Name="Mirroring_Channel_Selection" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = Discrete 1, 1 = Discrete 2.]]>
</Description>
</Member>
<Member Name="Mirroring_Inversion" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = Not Inverted, 1 = Inverted.]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="Banner_Hub_Port_Config_v4" Family="NoFamily" Class="User">
<Members>
<Member Name="Discrete1_IO" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=NPN, 1=PNP]]>
</Description>
</Member>
<Member Name="Discrete1_Delay_Mode" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Disabled,1=On Off Delay, 2=On OneShot, 3=Off OneShot, 4=On Pulse Stretcher, 5=Off Pulse Stretcher, 6=Totalizer, 7=Retriggerable On OneShot, 8=Retriggerable Off OneShot.]]>
</Description>
</Member>
<Member Name="Discrete1_Delay_Timer1" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Discrete1_Delay_Timer2" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Discrete1_B22_Options" DataType="Banner_Hub_Port_Config_B22_v4" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Discrete2_IO" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=NPN, 1=PNP]]>
</Description>
</Member>
<Member Name="Discrete2_Delay_Mode" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Disabled,1=On Off Delay, 2=On OneShot, 3=Off OneShot, 4=On Pulse Stretcher, 5=Off Pulse Stretcher, 6=Totalizer, 7=Retriggerable On OneShot, 8=Retriggerable Off OneShot.]]>
</Description>
</Member>
<Member Name="Discrete2_Delay_Timer1" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Discrete2_Delay_Timer2" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Discrete2_B22_Options" DataType="Banner_Hub_Port_Config_B22_v4" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Mirroring_Enable" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Disabled, 1=Enabled.]]>
</Description>
</Member>
<Member Name="Mirroring_Port" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Port1, 1=Port2, 2=Port3, 3=Port4. Next set only for R95C 4=Port5, 5=Port6, 6=Port7, 7=Port8.]]>
</Description>
</Member>
<Member Name="Mirroring_Channel" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Discrete1, 1=Discrete2.]]>
</Description>
</Member>
<Member Name="Mirroring_Inversion" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Not Inverted, 1=Inverted.]]>
</Description>
</Member>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="Banner_Hub_Port_Config_B22_v4"/>
<Dependency Type="DataType" Name="Banner_Hub_Port_Config_B22_v4"/>
</Dependencies>
</DataType>
<DataType Name="Banner_Hub_RD_v4" Family="NoFamily" Class="User">
<Description>
<![CDATA[UDT that stores the  Write Data for a LM.]]>
</Description>
<Members>
<Member Name="Master_Cycle_Time" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Min_Cycle_Time" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="M_Sequence_Capability" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="IO_Link_Version_ID" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Process_Data_Input_Length" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Process_Data_Output_Length" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Combined_Vendor_ID" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[IO-Link Vendor ID]]>
</Description>
</Member>
<Member Name="Vendor_ID1" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Vendor_ID2" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Combined_Device_ID" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[IO-Link Device ID]]>
</Description>
</Member>
<Member Name="Device_ID1" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Device_ID2" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Device_ID3" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Serial_Number" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="All_Time_Run_Time" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Run Counter in 1/4 hr increments]]>
</Description>
</Member>
<Member Name="IO_Metrics" DataType="Banner_Hub_IO_Metrics_v4" Dimension="9" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="Banner_Hub_IO_Metrics_v4"/>
</Dependencies>
</DataType>
<DataType Name="Banner_Hub_SMR_Port_v4" Family="NoFamily" Class="User">
<Members>
<Member Name="Discrete1" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = Normal setting, 1 = Reset metrics.]]>
</Description>
</Member>
<Member Name="Discrete2" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = Normal setting, 1 = Reset metrics.]]>
</Description>
</Member>
<Member Name="Discrete1_Reset_Count" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Value that Counter is set to when a Reset Metrics operation is activated.]]>
</Description>
</Member>
<Member Name="Discrete2_Reset_Count" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Value that Counter is set to when a Reset Metrics operation is activated.]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="Banner_Hub_v4" Family="NoFamily" Class="User">
<Description>
<![CDATA[All of the parameters for a R90C, R95C, or R130C Hub.]]>
</Description>
<Members>
<Member Name="ZZZZZZZZZZBanner_Hub0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Initial_Global_Read" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZBanner_Hub0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Determines if all of the IO-Link data has been read into the PLC yet]]>
</Description>
</Member>
<Member Name="Command" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Value placed in here will activate a read or write to a specifc IO-Link Index]]>
</Description>
</Member>
<Member Name="Read" DataType="Banner_Hub_RD_v4" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Read Only Data]]>
</Description>
</Member>
<Member Name="Write" DataType="Banner_Hub_WD_v4" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Write Data]]>
</Description>
</Member>
<Member Name="Archive" DataType="Banner_Hub_WD_v4" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Archive of Write Data]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZBanner_Hub6" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Reset" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZBanner_Hub6" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Resets AOI.  This will force a complete parameter read of the sensor.]]>
</Description>
</Member>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="Banner_Hub_RD_v4"/>
<Dependency Type="DataType" Name="Banner_Hub_WD_v4"/>
<Dependency Type="DataType" Name="Banner_Hub_WD_v4"/>
</Dependencies>
</DataType>
<DataType Name="Banner_Hub_VSC_v4" Family="NoFamily" Class="User">
<Members>
<Member Name="PDin1_Metric" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Disabled, 1=Count, 2=Duration, 3=Events Per Minute.]]>
</Description>
</Member>
<Member Name="PDin1_Port" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Port 1, 1=Port 2, 2=Port 3, 3=Port 4. Only for R95 models 5=Port 6, 6=Port 7, 7=Port 8.]]>
</Description>
</Member>
<Member Name="PDin1_Channel" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Discrete 1, 1 =Discrete 2.]]>
</Description>
</Member>
<Member Name="PDin2_Metric" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Disabled, 1=Count, 2=Duration, 3=Events Per Minute.]]>
</Description>
</Member>
<Member Name="PDin2_Port" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Port 1, 1=Port 2, 2=Port 3, 3=Port 4. Only for R95 models 5=Port 6, 6=Port 7, 7=Port 8.]]>
</Description>
</Member>
<Member Name="PDin2_Channel" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Discrete 1, 1 =Discrete 2.]]>
</Description>
</Member>
<Member Name="PDin3_Metric" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Disabled, 1=Count, 2=Duration, 3=Events Per Minute.]]>
</Description>
</Member>
<Member Name="PDin3_Port" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Port 1, 1=Port 2, 2=Port 3, 3=Port 4. Only for R95 models 5=Port 6, 6=Port 7, 7=Port 8.]]>
</Description>
</Member>
<Member Name="PDin3_Channel" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Discrete 1, 1 =Discrete 2.]]>
</Description>
</Member>
<Member Name="PDin4_Metric" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Disabled, 1=Count, 2=Duration, 3=Events Per Minute.]]>
</Description>
</Member>
<Member Name="PDin4_Port" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Port 1, 1=Port 2, 2=Port 3, 3=Port 4. Only for R95 models 5=Port 6, 6=Port 7, 7=Port 8.]]>
</Description>
</Member>
<Member Name="PDin4_Channel" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0=Discrete 1, 1 =Discrete 2.]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Name="Banner_Hub_WD_v4" Family="NoFamily" Class="User">
<Description>
<![CDATA[UDT that stores the  Write Data for a LM.]]>
</Description>
<Members>
<Member Name="System_Command" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[See IODD file for list of commands that can be activated via the System Command interface]]>
</Description>
</Member>
<Member Name="Parameter_Access_Lock" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Write access to all parameters is prohibited while value is 1.  Only this parameter can be adjusted when value is 1.]]>
</Description>
</Member>
<Member Name="Data_Storage_Lock" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Automatic data storage is disabled when this value is equal to 1.  Read access is not affected.]]>
</Description>
</Member>
<Member Name="Local_Parameterization_Lock" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Parameterization via local control elements on device is disabled.]]>
</Description>
</Member>
<Member Name="Local_User_Interface_Lock" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Operation of local user interface is disabled.]]>
</Description>
</Member>
<Member Name="Resettable_Run_Time" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Run Counter in 1/4 hr increments]]>
</Description>
</Member>
<Member Name="VSC" DataType="Banner_Hub_VSC_v4" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Vendor Specific Configuration R90C-4B21 and R95C-8B21 models.]]>
</Description>
</Member>
<Member Name="Process_Data_Grouping" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[R95-8B22 only. 0 = Group by Port, 1 = Group by Channel.]]>
</Description>
</Member>
<Member Name="All_Time_Run_Time_Event_Time" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Event Time in 1/4 hr increments]]>
</Description>
</Member>
<Member Name="Resettable_Run_Time_Event_Time" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Event Time in 1/4 hour increments]]>
</Description>
</Member>
<Member Name="SMR" DataType="Banner_Hub_SMR_Port_v4" Dimension="10" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Selectable Metric Reset.]]>
</Description>
</Member>
<Member Name="Port_Config" DataType="Banner_Hub_Port_Config_v4" Dimension="10" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Discrete_Host_Out_Mirroring" DataType="Banner_Hub_Discrete_Host_Out_Mirror_v4" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="Banner_Hub_VSC_v4"/>
<Dependency Type="DataType" Name="Banner_Hub_SMR_Port_v4"/>
<Dependency Type="DataType" Name="Banner_Hub_Port_Config_v4"/>
<Dependency Type="DataType" Name="Banner_Hub_Discrete_Host_Out_Mirror_v4"/>
</Dependencies>
</DataType>
<DataType Name="Banner_IOL_Port_v4" Family="NoFamily" Class="User">
<Description>
<![CDATA[UDT that has all of the data items necessary to communicate with a specific Port on a IO-Link Master]]>
</Description>
<Members>
<Member Name="Port_Controlled" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Each bit represents a port on an IO-Link Master.  Set to 1 to tell AOI to control that port.]]>
</Description>
</Member>
<Member Name="Port_Activate" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Each bit represents a port on an IO-Link Master.  When ON that port will process any commands in queue.]]>
</Description>
</Member>
<Member Name="Port_Read" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Each bit represents a port on an IO-Link Master.  Used to determine when device AOI has requested a Read command.]]>
</Description>
</Member>
<Member Name="Port_Write" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Each bit represents a port on an IO-Link Master.  Used to determine when device AOI has requested a Write command.]]>
</Description>
</Member>
<Member Name="Port_RW_Complete" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Each bit represents a port on an IO-Link Master.  Tells device AOI that Read or Write request has been completed.]]>
</Description>
</Member>
<Member Name="Port_Device_Read" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Data_Transfer" DataType="SINT" Dimension="190" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Array to transfer data from IO-Master to device AOIs.]]>
</Description>
</Member>
</Members>
</DataType>
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="Banner_R90C_R95C_R130C_Param_v4" Revision="4.4" Vendor="Banner Engineering" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2017-05-04T16:29:17.778Z" CreatedBy="DUKE\2011324" EditedDate="2024-03-12T20:32:33.007Z" EditedBy="DUKE\jpreisen"
 SoftwareRevision="v33.00">
<Description>
<![CDATA[AOI to read and write parameter data to an IO-Link R90C-4K, R95C-8B21, R95C-8B22, or R130C-8B22 IO-Link Hub.]]>
</Description>
<RevisionNote>
<![CDATA[Added R130C.]]>
</RevisionNote>
<Parameters>
<Parameter Name="EnableIn" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<Description>
<![CDATA[Enable Input - System Defined Parameter]]>
</Description>
</Parameter>
<Parameter Name="EnableOut" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<Description>
<![CDATA[Enable Output - System Defined Parameter]]>
</Description>
</Parameter>
<Parameter Name="Hub" TagType="Base" DataType="Banner_Hub_v4" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Port_Data" TagType="Base" DataType="Banner_IOL_Port_v4" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Port" TagType="Base" DataType="INT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="INT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Type" TagType="Base" DataType="INT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[4 = R90C-4B21, 8 = R95C-8B21, 22 = R95-8B22]]>
</Description>
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="INT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="Control" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Global_Read_Command_Value" DataType="INT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="INT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Global_Write_Command_Value" DataType="INT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="INT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Command_Being_Processed" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Update_Archive" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Index_Write_Inprocess" DataType="INT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="INT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Index_Write_Control" DataType="INT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="INT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Temp_Excess_Gain" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Inprocess_Index" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Index2" DataType="SINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="SINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Index1" DataType="SINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="SINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Index4" DataType="SINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="SINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Index3" DataType="SINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="SINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Index6" DataType="SINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="SINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Index5" DataType="SINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="SINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Index7" DataType="SINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="SINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[When reset is activated reset all tags used in the AOI.]]>
</Comment>
<Text>
<![CDATA[XIC(Hub.Reset)OTU(Hub.Initial_Global_Read)OTU(Command_Being_Processed)OTU(Update_Archive)MOV(0,Hub.Command)MOV(0,Index_Write_Inprocess)MOV(0,Index_Write_Control)MOV(0,Global_Read_Command_Value)MOV(0,Global_Write_Command_Value)MOV(0,Control)OTU(Hub.Reset);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[MOV(0,Port_Data.Data_Transfer[186]);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Comment>
<![CDATA[*****Check to see if the Global Read command has been activated.  The next few rungs control reading of all LM parameters.*****]]>
</Comment>
<Text>
<![CDATA[[XIO(Hub.Initial_Global_Read) ,EQU(Hub.Command,1) ,XIC(Port_Data.Port_Device_Read.[Port]) ]XIO(Control.0)XIO(Control.2)MOV(1,Global_Read_Command_Value)MOV(0,Hub.Command)OTL(Control.0);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIC(Control.0)XIO(Control.1)LES(Global_Read_Command_Value,22)ADD(Global_Read_Command_Value,1,Global_Read_Command_Value)MOV(Global_Read_Command_Value,Hub.Command)OTL(Control.1);]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[XIC(Control.0)GEQ(Global_Read_Command_Value,22)MOV(1,Global_Read_Command_Value)MOV(0,Hub.Command)OTL(Hub.Initial_Global_Read)OTU(Control.0)OTL(Update_Archive)OTU(Control.1);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Comment>
<![CDATA[Update Archive with latest cycle information.]]>
</Comment>
<Text>
<![CDATA[XIC(Update_Archive)COP(Hub.Write,Hub.Archive,1)OTU(Update_Archive);]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Comment>
<![CDATA[Global Read command logic.]]>
</Comment>
<Text>
<![CDATA[XIC(Control.4)XIO(Control.5)XIC(Port_Data.Port_RW_Complete.[Port])OTL(Control.5);]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
<Text>
<![CDATA[XIC(Control.6)XIO(Port_Data.Port_RW_Complete.[Port])MOV(0,Hub.Command)OTU(Control.1)OTU(Command_Being_Processed)OTU(Control.4)OTU(Control.5)OTU(Control.6)OTU(Control.21)OTU(Control.22)OTU(Control.23)OTU(Control.24);]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls reading of the direct parameters (index 0).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIO(Command_Being_Processed)XIO(Control.4)EQU(Hub.Command,2)OTL(Command_Being_Processed)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(0,Port_Data.Data_Transfer[188])MOV(16,Port_Data.Data_Transfer[189])MOV(0,Hub.Read.Combined_Vendor_ID)OTL(Port_Data.Port_Read.[Port])OTL(Control.4);]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.6)EQU(Hub.Command,2)BTD(Port_Data.Data_Transfer[1],0,Hub.Read.Master_Cycle_Time,0,8)BTD(Port_Data.Data_Transfer[2],0,Hub.Read.Min_Cycle_Time,0,8)BTD(Port_Data.Data_Transfer[3],0,Hub.Read.M_Sequence_Capability,0,8)BTD(Port_Data.Data_Transfer[4],0,Hub.Read.IO_Link_Version_ID,0,8)BTD(Port_Data.Data_Transfer[5],0,Hub.Read.Process_Data_Input_Length,0,8)BTD(Port_Data.Data_Transfer[6],0,Hub.Read.Process_Data_Output_Length,0,8)BTD(Port_Data.Data_Transfer[7],0,Hub.Read.Combined_Vendor_ID,8,8)BTD(Port_Data.Data_Transfer[8],0,Hub.Read.Combined_Vendor_ID,0,8)MOV(Port_Data.Data_Transfer[7],Hub.Read.Vendor_ID1)MOV(Port_Data.Data_Transfer[8],Hub.Read.Vendor_ID2)BTD(Port_Data.Data_Transfer[9],0,Hub.Read.Combined_Device_ID,16,8)BTD(Port_Data.Data_Transfer[10],0,Hub.Read.Combined_Device_ID,8,8)BTD(Port_Data.Data_Transfer[11],0,Hub.Read.Combined_Device_ID,0,8)MOV(Port_Data.Data_Transfer[9],Hub.Read.Device_ID1)MOV(Port_Data.Data_Transfer[10],Hub.Read.Device_ID2)MOV(Port_Data.Data_Transfer[11],Hub.Read.Device_ID3)OTU(Port_Data.Port_Read.[Port])OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="13" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls reading of the Device Access Locks parameters (index 12).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIO(Command_Being_Processed)XIO(Control.4)EQU(Hub.Command,3)OTL(Command_Being_Processed)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(12,Port_Data.Data_Transfer[188])MOV(2,Port_Data.Data_Transfer[189])OTL(Port_Data.Port_Read.[Port])OTL(Control.4);]]>
</Text>
</Rung>
<Rung Number="14" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.6)EQU(Hub.Command,3)BTD(Port_Data.Data_Transfer[1],0,Hub.Write.Parameter_Access_Lock,0,1)BTD(Port_Data.Data_Transfer[1],1,Hub.Write.Data_Storage_Lock,0,1)BTD(Port_Data.Data_Transfer[1],2,Hub.Write.Local_Parameterization_Lock,0,1)BTD(Port_Data.Data_Transfer[1],3,Hub.Write.Local_User_Interface_Lock,0,1)OTU(Port_Data.Port_Read.[Port])OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="15" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="16" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls reading of the Serial Number parameter (index 21).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIO(Command_Being_Processed)XIO(Control.4)EQU(Hub.Command,4)OTL(Command_Being_Processed)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(21,Port_Data.Data_Transfer[188])MOV(16,Port_Data.Data_Transfer[189])OTL(Port_Data.Port_Read.[Port])OTL(Control.4);]]>
</Text>
</Rung>
<Rung Number="17" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.6)EQU(Hub.Command,4)MOV(16,Hub.Read.Serial_Number.LEN)CPS(Port_Data.Data_Transfer[0],Hub.Read.Serial_Number.DATA[0],16)OTU(Port_Data.Port_Read.[Port])OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="18" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="19" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls reading of the All Time Run Time parameter (index 69).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIO(Command_Being_Processed)XIO(Control.4)EQU(Hub.Command,5)OTL(Command_Being_Processed)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(69,Port_Data.Data_Transfer[188])MOV(4,Port_Data.Data_Transfer[189])OTL(Port_Data.Port_Read.[Port])OTL(Control.4);]]>
</Text>
</Rung>
<Rung Number="20" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.6)EQU(Hub.Command,5)BTD(Port_Data.Data_Transfer[0],0,Hub.Read.All_Time_Run_Time,24,8)BTD(Port_Data.Data_Transfer[1],0,Hub.Read.All_Time_Run_Time,16,8)BTD(Port_Data.Data_Transfer[2],0,Hub.Read.All_Time_Run_Time,8,8)BTD(Port_Data.Data_Transfer[3],0,Hub.Read.All_Time_Run_Time,0,8)OTU(Port_Data.Port_Read.[Port])OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="21" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="22" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls reading of the Resettable Run Time parameter (index 70).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIO(Command_Being_Processed)XIO(Control.4)EQU(Hub.Command,6)OTL(Command_Being_Processed)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(70,Port_Data.Data_Transfer[188])MOV(4,Port_Data.Data_Transfer[189])OTL(Port_Data.Port_Read.[Port])OTL(Control.4);]]>
</Text>
</Rung>
<Rung Number="23" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.6)EQU(Hub.Command,6)BTD(Port_Data.Data_Transfer[0],0,Hub.Write.Resettable_Run_Time,24,8)BTD(Port_Data.Data_Transfer[1],0,Hub.Write.Resettable_Run_Time,16,8)BTD(Port_Data.Data_Transfer[2],0,Hub.Write.Resettable_Run_Time,8,8)BTD(Port_Data.Data_Transfer[3],0,Hub.Write.Resettable_Run_Time,0,8)OTU(Port_Data.Port_Read.[Port])OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="24" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="25" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls reading of the Vendor Specific Configuration parameter (index 76).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIO(Command_Being_Processed)XIO(Control.4)EQU(Hub.Command,7)OTL(Command_Being_Processed)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])[[EQU(Type,4) ,EQU(Type,8) ] MOV(12,Port_Data.Data_Transfer[189]) ,EQU(Type,22) MOV(1,Port_Data.Data_Transfer[189]) ]MOV(76,Port_Data.Data_Transfer[188])OTL(Port_Data.Port_Read.[Port])OTL(Control.4);]]>
</Text>
</Rung>
<Rung Number="26" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.6)EQU(Hub.Command,7)[EQU(Type,4) ,EQU(Type,8) ]MOV(Port_Data.Data_Transfer[0],Hub.Write.VSC.PDin4_Channel)MOV(Port_Data.Data_Transfer[1],Hub.Write.VSC.PDin4_Port)MOV(Port_Data.Data_Transfer[2],Hub.Write.VSC.PDin4_Metric)MOV(Port_Data.Data_Transfer[3],Hub.Write.VSC.PDin3_Channel)MOV(Port_Data.Data_Transfer[4],Hub.Write.VSC.PDin3_Port)MOV(Port_Data.Data_Transfer[5],Hub.Write.VSC.PDin3_Metric)MOV(Port_Data.Data_Transfer[6],Hub.Write.VSC.PDin2_Channel)MOV(Port_Data.Data_Transfer[7],Hub.Write.VSC.PDin2_Port)MOV(Port_Data.Data_Transfer[8],Hub.Write.VSC.PDin2_Metric)MOV(Port_Data.Data_Transfer[9],Hub.Write.VSC.PDin1_Channel)MOV(Port_Data.Data_Transfer[10],Hub.Write.VSC.PDin1_Port)MOV(Port_Data.Data_Transfer[11],Hub.Write.VSC.PDin1_Metric)OTU(Port_Data.Port_Read.[Port])OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="27" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.6)EQU(Hub.Command,7)EQU(Type,22)MOV(Port_Data.Data_Transfer[0],Hub.Write.Process_Data_Grouping)OTU(Port_Data.Port_Read.[Port])OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="28" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="29" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls reading of the All Time Run Time Event Time parameter (index 78).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIO(Command_Being_Processed)XIO(Control.4)EQU(Hub.Command,8)OTL(Command_Being_Processed)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(78,Port_Data.Data_Transfer[188])MOV(4,Port_Data.Data_Transfer[189])OTL(Port_Data.Port_Read.[Port])OTL(Control.4);]]>
</Text>
</Rung>
<Rung Number="30" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.6)EQU(Hub.Command,8)BTD(Port_Data.Data_Transfer[0],0,Hub.Write.All_Time_Run_Time_Event_Time,24,8)BTD(Port_Data.Data_Transfer[1],0,Hub.Write.All_Time_Run_Time_Event_Time,16,8)BTD(Port_Data.Data_Transfer[2],0,Hub.Write.All_Time_Run_Time_Event_Time,8,8)BTD(Port_Data.Data_Transfer[3],0,Hub.Write.All_Time_Run_Time_Event_Time,0,8)OTU(Port_Data.Port_Read.[Port])OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="31" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="32" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls reading of the Resettable Run Time Event Time parameter (index 79).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIO(Command_Being_Processed)XIO(Control.4)EQU(Hub.Command,9)OTL(Command_Being_Processed)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(79,Port_Data.Data_Transfer[188])MOV(4,Port_Data.Data_Transfer[189])OTL(Port_Data.Port_Read.[Port])OTL(Control.4);]]>
</Text>
</Rung>
<Rung Number="33" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.6)EQU(Hub.Command,9)BTD(Port_Data.Data_Transfer[0],0,Hub.Write.Resettable_Run_Time_Event_Time,24,8)BTD(Port_Data.Data_Transfer[1],0,Hub.Write.Resettable_Run_Time_Event_Time,16,8)BTD(Port_Data.Data_Transfer[2],0,Hub.Write.Resettable_Run_Time_Event_Time,8,8)BTD(Port_Data.Data_Transfer[3],0,Hub.Write.Resettable_Run_Time_Event_Time,0,8)OTU(Port_Data.Port_Read.[Port])OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="34" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="35" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls reading of the IO Metrics 1 to 8 parameter (index 80, 81 or 82).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIO(Command_Being_Processed)XIO(Control.4)GEQ(Hub.Command,10)LEQ(Hub.Command,11)OTL(Command_Being_Processed)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])[EQU(Hub.Command,10) MOV(80,Port_Data.Data_Transfer[188]) MOV(4,Index1) ,[EQU(Type,8) MOV(82,Port_Data.Data_Transfer[188]) ,EQU(Type,22) MOV(81,Port_Data.Data_Transfer[188]) ] EQU(Hub.Command,11) MOV(8,Index1) ]MOV(128,Port_Data.Data_Transfer[189])MOV(0,Index2)OTL(Port_Data.Port_Read.[Port])OTL(Control.4);]]>
</Text>
</Rung>
<Rung Number="36" Type="N">
<Text>
<![CDATA[XIC(Command_Being_Processed)EQU(Hub.Command,11)EQU(Type,4)OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="37" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.21)GEQ(Hub.Command,10)LEQ(Hub.Command,11)OTL(Control.21);]]>
</Text>
</Rung>
<Rung Number="38" Type="N">
<Text>
<![CDATA[XIC(Control.21)XIO(Control.22)GEQ(Hub.Command,10)LEQ(Hub.Command,11)BTD(Port_Data.Data_Transfer[Index2],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Totalizer,24,8)BTD(Port_Data.Data_Transfer[Index2+1],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Totalizer,16,8)BTD(Port_Data.Data_Transfer[Index2+2],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Totalizer,8,8)BTD(Port_Data.Data_Transfer[Index2+3],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Totalizer,0,8)BTD(Port_Data.Data_Transfer[Index2+4],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Events_Per_Minute,24,8)BTD(Port_Data.Data_Transfer[Index2+5],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Events_Per_Minute,16,8)BTD(Port_Data.Data_Transfer[Index2+6],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Events_Per_Minute,8,8)BTD(Port_Data.Data_Transfer[Index2+7],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Events_Per_Minute,0,8)BTD(Port_Data.Data_Transfer[Index2+8],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Duration,24,8)BTD(Port_Data.Data_Transfer[Index2+9],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Duration,16,8)BTD(Port_Data.Data_Transfer[Index2+10],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Duration,8,8)BTD(Port_Data.Data_Transfer[Index2+11],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Duration,0,8)BTD(Port_Data.Data_Transfer[Index2+12],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Count,24,8)BTD(Port_Data.Data_Transfer[Index2+13],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Count,16,8)BTD(Port_Data.Data_Transfer[Index2+14],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Count,8,8)BTD(Port_Data.Data_Transfer[Index2+15],0,Hub.Read.IO_Metrics[Index1].Port_Discrete2_Count,0,8)BTD(Port_Data.Data_Transfer[Index2+16],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Totalizer,24,8)BTD(Port_Data.Data_Transfer[Index2+17],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Totalizer,16,8)BTD(Port_Data.Data_Transfer[Index2+18],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Totalizer,8,8)BTD(Port_Data.Data_Transfer[Index2+19],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Totalizer,0,8)BTD(Port_Data.Data_Transfer[Index2+20],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Events_Per_Minute,24,8)BTD(Port_Data.Data_Transfer[Index2+21],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Events_Per_Minute,16,8)BTD(Port_Data.Data_Transfer[Index2+22],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Events_Per_Minute,8,8)BTD(Port_Data.Data_Transfer[Index2+23],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Events_Per_Minute,0,8)BTD(Port_Data.Data_Transfer[Index2+24],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Duration,24,8)BTD(Port_Data.Data_Transfer[Index2+25],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Duration,16,8)BTD(Port_Data.Data_Transfer[Index2+26],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Duration,8,8)BTD(Port_Data.Data_Transfer[Index2+27],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Duration,0,8)BTD(Port_Data.Data_Transfer[Index2+28],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Count,24,8)BTD(Port_Data.Data_Transfer[Index2+29],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Count,16,8)BTD(Port_Data.Data_Transfer[Index2+30],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Count,8,8)BTD(Port_Data.Data_Transfer[Index2+31],0,Hub.Read.IO_Metrics[Index1].Port_Discrete1_Count,0,8)OTL(Control.22);]]>
</Text>
</Rung>
<Rung Number="39" Type="N">
<Text>
<![CDATA[XIC(Control.22)XIO(Control.23)[EQU(Hub.Command,10) LEQ(Index1,1) ,EQU(Hub.Command,11) LEQ(Index1,5) ]OTU(Port_Data.Port_Read.[Port])OTL(Control.23)OTL(Control.24);]]>
</Text>
</Rung>
<Rung Number="40" Type="N">
<Text>
<![CDATA[XIC(Control.22)XIO(Control.23)[GEQ(Hub.Command,10) GRT(Index1,1) ,LEQ(Hub.Command,11) GRT(Index1,5) ]SUB(Index1,1,Index1)ADD(Index2,32,Index2)OTU(Control.21)OTU(Control.22);]]>
</Text>
</Rung>
<Rung Number="41" Type="N">
<Text>
<![CDATA[XIC(Control.24)XIO(Control.6)GEQ(Hub.Command,10)LEQ(Hub.Command,11)OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="42" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="43" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls reading of the Selectable Metric Reset parameter (index 81 or 82).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIO(Command_Being_Processed)XIO(Control.4)EQU(Hub.Command,12)OTL(Command_Being_Processed)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])[EQU(Type,4) MOV(81,Port_Data.Data_Transfer[188]) MOV(34,Port_Data.Data_Transfer[189]) MOV(4,Index1) MOV(0,Index2) ,[EQU(Type,8) MOV(81,Port_Data.Data_Transfer[188]) ,EQU(Type,22) MOV(82,Port_Data.Data_Transfer[188]) ] MOV(66,Port_Data.Data_Transfer[189]) MOV(8,Index1) MOV(0,Index2) ]OTL(Port_Data.Port_Read.[Port])OTL(Control.4);]]>
</Text>
</Rung>
<Rung Number="44" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.21)EQU(Hub.Command,12)OTL(Control.21);]]>
</Text>
</Rung>
<Rung Number="45" Type="N">
<Text>
<![CDATA[XIC(Control.21)XIO(Control.22)EQU(Hub.Command,12)BTD(Port_Data.Data_Transfer[Index2],0,Hub.Write.SMR[Index1].Discrete2_Reset_Count,24,8)BTD(Port_Data.Data_Transfer[Index2+1],0,Hub.Write.SMR[Index1].Discrete2_Reset_Count,16,8)BTD(Port_Data.Data_Transfer[Index2+2],0,Hub.Write.SMR[Index1].Discrete2_Reset_Count,8,8)BTD(Port_Data.Data_Transfer[Index2+3],0,Hub.Write.SMR[Index1].Discrete2_Reset_Count,0,8)BTD(Port_Data.Data_Transfer[Index2+4],0,Hub.Write.SMR[Index1].Discrete1_Reset_Count,24,8)BTD(Port_Data.Data_Transfer[Index2+5],0,Hub.Write.SMR[Index1].Discrete1_Reset_Count,16,8)BTD(Port_Data.Data_Transfer[Index2+6],0,Hub.Write.SMR[Index1].Discrete1_Reset_Count,8,8)BTD(Port_Data.Data_Transfer[Index2+7],0,Hub.Write.SMR[Index1].Discrete1_Reset_Count,0,8)OTL(Control.22);]]>
</Text>
</Rung>
<Rung Number="46" Type="N">
<Text>
<![CDATA[XIC(Control.22)XIO(Control.23)EQU(Hub.Command,12)LEQ(Index1,1)EQU(Type,4)BTD(Port_Data.Data_Transfer[33],7,Hub.Write.SMR[4].Discrete2,0,1)BTD(Port_Data.Data_Transfer[33],6,Hub.Write.SMR[4].Discrete1,0,1)BTD(Port_Data.Data_Transfer[33],5,Hub.Write.SMR[3].Discrete2,0,1)BTD(Port_Data.Data_Transfer[33],4,Hub.Write.SMR[3].Discrete1,0,1)BTD(Port_Data.Data_Transfer[33],3,Hub.Write.SMR[2].Discrete2,0,1)BTD(Port_Data.Data_Transfer[33],2,Hub.Write.SMR[2].Discrete1,0,1)BTD(Port_Data.Data_Transfer[33],1,Hub.Write.SMR[1].Discrete2,0,1)BTD(Port_Data.Data_Transfer[33],0,Hub.Write.SMR[1].Discrete1,0,1)OTU(Port_Data.Port_Read.[Port])OTL(Control.23)OTL(Control.24);]]>
</Text>
</Rung>
<Rung Number="47" Type="N">
<Text>
<![CDATA[XIC(Control.22)XIO(Control.23)EQU(Hub.Command,12)LEQ(Index1,1)[EQU(Type,8) ,EQU(Type,22) ]BTD(Port_Data.Data_Transfer[64],7,Hub.Write.SMR[8].Discrete2,0,1)BTD(Port_Data.Data_Transfer[64],6,Hub.Write.SMR[8].Discrete1,0,1)BTD(Port_Data.Data_Transfer[64],5,Hub.Write.SMR[7].Discrete2,0,1)BTD(Port_Data.Data_Transfer[64],4,Hub.Write.SMR[7].Discrete1,0,1)BTD(Port_Data.Data_Transfer[64],3,Hub.Write.SMR[6].Discrete2,0,1)BTD(Port_Data.Data_Transfer[64],2,Hub.Write.SMR[6].Discrete1,0,1)BTD(Port_Data.Data_Transfer[64],1,Hub.Write.SMR[5].Discrete2,0,1)BTD(Port_Data.Data_Transfer[64],0,Hub.Write.SMR[5].Discrete1,0,1)BTD(Port_Data.Data_Transfer[65],7,Hub.Write.SMR[4].Discrete2,0,1)BTD(Port_Data.Data_Transfer[65],6,Hub.Write.SMR[4].Discrete1,0,1)BTD(Port_Data.Data_Transfer[65],5,Hub.Write.SMR[3].Discrete2,0,1)BTD(Port_Data.Data_Transfer[65],4,Hub.Write.SMR[3].Discrete1,0,1)BTD(Port_Data.Data_Transfer[65],3,Hub.Write.SMR[2].Discrete2,0,1)BTD(Port_Data.Data_Transfer[65],2,Hub.Write.SMR[2].Discrete1,0,1)BTD(Port_Data.Data_Transfer[65],1,Hub.Write.SMR[1].Discrete2,0,1)BTD(Port_Data.Data_Transfer[65],0,Hub.Write.SMR[1].Discrete1,0,1)OTU(Port_Data.Port_Read.[Port])OTL(Control.23)OTL(Control.24);]]>
</Text>
</Rung>
<Rung Number="48" Type="N">
<Text>
<![CDATA[XIC(Control.22)XIO(Control.23)EQU(Hub.Command,12)GRT(Index1,1)SUB(Index1,1,Index1)ADD(Index2,8,Index2)OTU(Control.21)OTU(Control.22);]]>
</Text>
</Rung>
<Rung Number="49" Type="N">
<Text>
<![CDATA[XIC(Control.24)XIO(Control.6)EQU(Hub.Command,12)OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="50" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="51" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls reading of the Port 1 to Port 8 Configuration parameter (index 87 through 94).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIO(Command_Being_Processed)XIO(Control.6)XIO(Control.21)GEQ(Hub.Command,13)LEQ(Hub.Command,20)[EQU(Type,4) [GEQ(Hub.Command,13) LEQ(Hub.Command,16) OTL(Control.21) ,GEQ(Hub.Command,17) LEQ(Hub.Command,20) OTU(Port_Data.Port_Read.[Port]) OTL(Control.6) ] ,[EQU(Type,8) ,EQU(Type,22) ] OTL(Control.21) ];]]>
</Text>
</Rung>
<Rung Number="52" Type="N">
<Text>
<![CDATA[XIC(Control.21)XIO(Control.4)GEQ(Hub.Command,13)LEQ(Hub.Command,20)OTL(Command_Being_Processed)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])ADD(Hub.Command,74,Port_Data.Data_Transfer[188])[[EQU(Type,4) ,EQU(Type,8) ] MOV(24,Port_Data.Data_Transfer[189]) ,EQU(Type,22) MOV(28,Port_Data.Data_Transfer[189]) ]SUB(Hub.Command,12,Index1)OTL(Port_Data.Port_Read.[Port])OTL(Control.4);]]>
</Text>
</Rung>
<Rung Number="53" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.6)GEQ(Hub.Command,13)LEQ(Hub.Command,20)[EQU(Type,4) ,EQU(Type,8) ]BTD(Port_Data.Data_Transfer[0],0,Hub.Write.Port_Config[Index1].Mirroring_Inversion,0,8)BTD(Port_Data.Data_Transfer[1],0,Hub.Write.Port_Config[Index1].Mirroring_Channel,0,8)BTD(Port_Data.Data_Transfer[2],0,Hub.Write.Port_Config[Index1].Mirroring_Port,0,8)BTD(Port_Data.Data_Transfer[3],0,Hub.Write.Port_Config[Index1].Mirroring_Enable,0,8)BTD(Port_Data.Data_Transfer[4],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer2,24,8)BTD(Port_Data.Data_Transfer[5],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer2,16,8)BTD(Port_Data.Data_Transfer[6],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer2,8,8)BTD(Port_Data.Data_Transfer[7],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer2,0,8)BTD(Port_Data.Data_Transfer[8],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer1,24,8)BTD(Port_Data.Data_Transfer[9],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer1,16,8)BTD(Port_Data.Data_Transfer[10],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer1,8,8)BTD(Port_Data.Data_Transfer[11],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer1,0,8)BTD(Port_Data.Data_Transfer[12],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Mode,0,8)BTD(Port_Data.Data_Transfer[13],0,Hub.Write.Port_Config[Index1].Discrete2_IO,0,8)BTD(Port_Data.Data_Transfer[14],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer2,24,8)BTD(Port_Data.Data_Transfer[15],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer2,16,8)BTD(Port_Data.Data_Transfer[16],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer2,8,8)BTD(Port_Data.Data_Transfer[17],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer2,0,8)BTD(Port_Data.Data_Transfer[18],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer1,24,8)BTD(Port_Data.Data_Transfer[19],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer1,16,8)BTD(Port_Data.Data_Transfer[20],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer1,8,8)BTD(Port_Data.Data_Transfer[21],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer1,0,8)BTD(Port_Data.Data_Transfer[22],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Mode,0,8)BTD(Port_Data.Data_Transfer[23],0,Hub.Write.Port_Config[Index1].Discrete1_IO,0,8)OTU(Port_Data.Port_Read.[Port])OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="54" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.6)GEQ(Hub.Command,13)LEQ(Hub.Command,20)EQU(Type,22)BTD(Port_Data.Data_Transfer[0],0,Hub.Write.Port_Config[Index1].Discrete2_B22_Options.Mirroring_Inversion,0,8)BTD(Port_Data.Data_Transfer[1],0,Hub.Write.Port_Config[Index1].Discrete2_B22_Options.Mirroring_Channel_Selection,0,8)BTD(Port_Data.Data_Transfer[2],0,Hub.Write.Port_Config[Index1].Discrete2_B22_Options.Mirroring_Port_Selection,0,8)BTD(Port_Data.Data_Transfer[3],0,Hub.Write.Port_Config[Index1].Discrete2_B22_Options.Mirroring_Enable,0,8)BTD(Port_Data.Data_Transfer[4],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer2,24,8)BTD(Port_Data.Data_Transfer[5],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer2,16,8)BTD(Port_Data.Data_Transfer[6],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer2,8,8)BTD(Port_Data.Data_Transfer[7],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer2,0,8)BTD(Port_Data.Data_Transfer[8],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer1,24,8)BTD(Port_Data.Data_Transfer[9],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer1,16,8)BTD(Port_Data.Data_Transfer[10],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer1,8,8)BTD(Port_Data.Data_Transfer[11],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Timer1,0,8)BTD(Port_Data.Data_Transfer[12],0,Hub.Write.Port_Config[Index1].Discrete2_Delay_Mode,0,8)BTD(Port_Data.Data_Transfer[13],0,Hub.Write.Port_Config[Index1].Discrete2_IO,0,8)BTD(Port_Data.Data_Transfer[14],0,Hub.Write.Port_Config[Index1].Discrete2_B22_Options.Mirroring_Inversion,0,8)BTD(Port_Data.Data_Transfer[15],0,Hub.Write.Port_Config[Index1].Discrete2_B22_Options.Mirroring_Channel_Selection,0,8)BTD(Port_Data.Data_Transfer[16],0,Hub.Write.Port_Config[Index1].Discrete2_B22_Options.Mirroring_Port_Selection,0,8)BTD(Port_Data.Data_Transfer[17],0,Hub.Write.Port_Config[Index1].Discrete2_B22_Options.Mirroring_Enable,0,8)BTD(Port_Data.Data_Transfer[18],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer2,24,8)BTD(Port_Data.Data_Transfer[19],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer2,16,8)BTD(Port_Data.Data_Transfer[20],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer2,8,8)BTD(Port_Data.Data_Transfer[21],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer2,0,8)BTD(Port_Data.Data_Transfer[22],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer1,24,8)BTD(Port_Data.Data_Transfer[23],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer1,16,8)BTD(Port_Data.Data_Transfer[24],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer1,8,8)BTD(Port_Data.Data_Transfer[25],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Timer1,0,8)BTD(Port_Data.Data_Transfer[26],0,Hub.Write.Port_Config[Index1].Discrete1_Delay_Mode,0,8)BTD(Port_Data.Data_Transfer[27],0,Hub.Write.Port_Config[Index1].Discrete1_IO,0,8)OTU(Port_Data.Port_Read.[Port])OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="55" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="56" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls reading of the Discrete Host Out Mirroring Config parameter (index 91 or 95).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIO(Command_Being_Processed)XIO(Control.4)EQU(Hub.Command,21)OTL(Command_Being_Processed)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])[EQU(Type,4) MOV(91,Port_Data.Data_Transfer[188]) ,[EQU(Type,8) ,EQU(Type,22) ] MOV(95,Port_Data.Data_Transfer[188]) ]MOV(6,Port_Data.Data_Transfer[189])OTL(Port_Data.Port_Read.[Port])OTL(Control.4);]]>
</Text>
</Rung>
<Rung Number="57" Type="N">
<Text>
<![CDATA[XIC(Control.5)XIO(Control.6)EQU(Hub.Command,21)BTD(Port_Data.Data_Transfer[0],0,Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Output_Type,0,8)BTD(Port_Data.Data_Transfer[1],0,Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Polarity,0,8)BTD(Port_Data.Data_Transfer[2],0,Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Inversion,0,8)BTD(Port_Data.Data_Transfer[3],0,Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Channel,0,8)BTD(Port_Data.Data_Transfer[4],0,Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Port,0,8)BTD(Port_Data.Data_Transfer[5],0,Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Enable,0,8)OTU(Port_Data.Port_Read.[Port])OTL(Control.6);]]>
</Text>
</Rung>
<Rung Number="58" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="59" Type="N">
<Comment>
<![CDATA[Check all Write parameters to see if they need to be updated.]]>
</Comment>
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Control.0)XIO(Index_Write_Control.0)XIO(Update_Archive)NEQ(Hub.Write.System_Command,Hub.Archive.System_Command)OTL(Index_Write_Inprocess.0)XIO(Command_Being_Processed)EQU(Hub.Command,0)MOV(42,Hub.Command)OTL(Index_Write_Control.0);]]>
</Text>
</Rung>
<Rung Number="60" Type="N">
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Control.0)XIO(Index_Write_Control.1)XIO(Update_Archive)[NEQ(Hub.Write.Parameter_Access_Lock,Hub.Archive.Parameter_Access_Lock) ,NEQ(Hub.Write.Data_Storage_Lock,Hub.Archive.Data_Storage_Lock) ,NEQ(Hub.Write.Local_Parameterization_Lock,Hub.Archive.Local_Parameterization_Lock) ,NEQ(Hub.Write.Local_User_Interface_Lock,Hub.Archive.Local_User_Interface_Lock) ]OTL(Index_Write_Inprocess.1)XIO(Command_Being_Processed)EQU(Hub.Command,0)MOV(43,Hub.Command)OTL(Index_Write_Control.1);]]>
</Text>
</Rung>
<Rung Number="61" Type="N">
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Control.0)XIO(Index_Write_Control.2)XIO(Update_Archive)NEQ(Hub.Write.Resettable_Run_Time,Hub.Archive.Resettable_Run_Time)OTL(Index_Write_Inprocess.2)XIO(Command_Being_Processed)EQU(Hub.Command,0)MOV(44,Hub.Command)OTL(Index_Write_Control.2);]]>
</Text>
</Rung>
<Rung Number="62" Type="N">
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Control.0)XIO(Index_Write_Control.3)XIO(Update_Archive)[EQU(Type,4) ,EQU(Type,8) ][NEQ(Hub.Write.VSC.PDin1_Metric,Hub.Archive.VSC.PDin1_Metric) ,NEQ(Hub.Write.VSC.PDin1_Port,Hub.Archive.VSC.PDin1_Port) ,NEQ(Hub.Write.VSC.PDin1_Channel,Hub.Archive.VSC.PDin1_Channel) ,NEQ(Hub.Write.VSC.PDin2_Metric,Hub.Archive.VSC.PDin2_Metric) ,NEQ(Hub.Write.VSC.PDin2_Port,Hub.Archive.VSC.PDin2_Port) ,NEQ(Hub.Write.VSC.PDin2_Channel,Hub.Archive.VSC.PDin2_Channel) ,NEQ(Hub.Write.VSC.PDin3_Metric,Hub.Archive.VSC.PDin3_Metric) ,NEQ(Hub.Write.VSC.PDin3_Port,Hub.Archive.VSC.PDin3_Port) ,NEQ(Hub.Write.VSC.PDin3_Channel,Hub.Archive.VSC.PDin3_Channel) ,NEQ(Hub.Write.VSC.PDin4_Metric,Hub.Archive.VSC.PDin4_Metric) ,NEQ(Hub.Write.VSC.PDin4_Port,Hub.Archive.VSC.PDin4_Port) ,NEQ(Hub.Write.VSC.PDin4_Channel,Hub.Archive.VSC.PDin4_Channel) ]OTL(Index_Write_Inprocess.3)XIO(Command_Being_Processed)EQU(Hub.Command,0)MOV(45,Hub.Command)OTL(Index_Write_Control.3);]]>
</Text>
</Rung>
<Rung Number="63" Type="N">
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Control.0)XIO(Index_Write_Control.3)XIO(Update_Archive)EQU(Type,22)NEQ(Hub.Write.Process_Data_Grouping,Hub.Archive.Process_Data_Grouping)OTL(Index_Write_Inprocess.3)XIO(Command_Being_Processed)EQU(Hub.Command,0)MOV(45,Hub.Command)OTL(Index_Write_Control.3);]]>
</Text>
</Rung>
<Rung Number="64" Type="N">
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Control.0)XIO(Index_Write_Control.4)XIO(Update_Archive)NEQ(Hub.Write.All_Time_Run_Time_Event_Time,Hub.Archive.All_Time_Run_Time_Event_Time)OTL(Index_Write_Inprocess.4)XIO(Command_Being_Processed)EQU(Hub.Command,0)MOV(46,Hub.Command)OTL(Index_Write_Control.4);]]>
</Text>
</Rung>
<Rung Number="65" Type="N">
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Control.0)XIO(Index_Write_Control.5)XIO(Update_Archive)NEQ(Hub.Write.Resettable_Run_Time_Event_Time,Hub.Archive.Resettable_Run_Time_Event_Time)OTL(Index_Write_Inprocess.5)XIO(Command_Being_Processed)EQU(Hub.Command,0)MOV(47,Hub.Command)OTL(Index_Write_Control.5);]]>
</Text>
</Rung>
<Rung Number="66" Type="N">
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Control.0)XIO(Index_Write_Control.9)XIO(Update_Archive)[NEQ(Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Enable,Hub.Archive.Discrete_Host_Out_Mirroring.Mirroring_Enable) ,NEQ(Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Port,Hub.Archive.Discrete_Host_Out_Mirroring.Mirroring_Port) ,NEQ(Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Channel,Hub.Archive.Discrete_Host_Out_Mirroring.Mirroring_Channel) ,NEQ(Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Inversion,Hub.Archive.Discrete_Host_Out_Mirroring.Mirroring_Inversion) ,NEQ(Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Polarity,Hub.Archive.Discrete_Host_Out_Mirroring.Mirroring_Polarity) ,NEQ(Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Output_Type,Hub.Archive.Discrete_Host_Out_Mirroring.Mirroring_Output_Type) ]OTL(Index_Write_Inprocess.9)XIO(Command_Being_Processed)EQU(Hub.Command,0)MOV(59,Hub.Command)OTL(Index_Write_Control.9);]]>
</Text>
</Rung>
<Rung Number="67" Type="N">
<Comment>
<![CDATA[Wait until all automatic write updates are complete.  Request Archive update.]]>
</Comment>
<Text>
<![CDATA[GRT(Index_Write_Control,0)EQU(Index_Write_Inprocess,0)MOV(0,Index_Write_Control)OTL(Update_Archive);]]>
</Text>
</Rung>
<Rung Number="68" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="69" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls writing of the Standard Command parameter (index 2).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Command_Being_Processed)XIO(Control.11)EQU(Hub.Command,42)OTL(Command_Being_Processed)BTD(Hub.Write.System_Command,0,Port_Data.Data_Transfer[0],0,8)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(2,Port_Data.Data_Transfer[188])MOV(1,Port_Data.Data_Transfer[189])MOV(0,Inprocess_Index)OTL(Port_Data.Port_Write.[Port])OTL(Control.11);]]>
</Text>
</Rung>
<Rung Number="70" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="71" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls writing of the Device Access Locks parameter (index 12).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Command_Being_Processed)XIO(Control.11)EQU(Hub.Command,43)OTL(Command_Being_Processed)MOV(0,Port_Data.Data_Transfer[0])MOV(0,Port_Data.Data_Transfer[1])BTD(Hub.Write.Parameter_Access_Lock,0,Port_Data.Data_Transfer[1],0,1)BTD(Hub.Write.Data_Storage_Lock,0,Port_Data.Data_Transfer[1],1,1)BTD(Hub.Write.Local_Parameterization_Lock,0,Port_Data.Data_Transfer[1],2,1)BTD(Hub.Write.Local_User_Interface_Lock,0,Port_Data.Data_Transfer[1],3,1)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(12,Port_Data.Data_Transfer[188])MOV(2,Port_Data.Data_Transfer[189])MOV(1,Inprocess_Index)OTL(Port_Data.Port_Write.[Port])OTL(Control.11);]]>
</Text>
</Rung>
<Rung Number="72" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="73" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls writing of the Resettable Run Time parameter (index 70).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Command_Being_Processed)XIO(Control.11)EQU(Hub.Command,44)OTL(Command_Being_Processed)BTD(Hub.Write.Resettable_Run_Time,24,Port_Data.Data_Transfer[0],0,8)BTD(Hub.Write.Resettable_Run_Time,16,Port_Data.Data_Transfer[1],0,8)BTD(Hub.Write.Resettable_Run_Time,8,Port_Data.Data_Transfer[2],0,8)BTD(Hub.Write.Resettable_Run_Time,0,Port_Data.Data_Transfer[3],0,8)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(70,Port_Data.Data_Transfer[188])MOV(4,Port_Data.Data_Transfer[189])MOV(2,Inprocess_Index)OTL(Port_Data.Port_Write.[Port])OTL(Control.11);]]>
</Text>
</Rung>
<Rung Number="74" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="75" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls writing of the Vendor Specific Configuration parameter (index 76).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Command_Being_Processed)XIO(Control.11)XIO(Control.30)XIO(Control.31)EQU(Hub.Command,45)OTL(Command_Being_Processed)[NEQ(Type,22) OTL(Control.30) ,EQU(Type,22) OTL(Control.31) ];]]>
</Text>
</Rung>
<Rung Number="76" Type="N">
<Text>
<![CDATA[XIC(Control.30)XIO(Control.11)EQU(Hub.Command,45)BTD(Hub.Write.VSC.PDin4_Channel,0,Port_Data.Data_Transfer[0],0,8)BTD(Hub.Write.VSC.PDin4_Port,0,Port_Data.Data_Transfer[1],0,8)BTD(Hub.Write.VSC.PDin4_Metric,0,Port_Data.Data_Transfer[2],0,8)BTD(Hub.Write.VSC.PDin3_Channel,0,Port_Data.Data_Transfer[3],0,8)BTD(Hub.Write.VSC.PDin3_Port,0,Port_Data.Data_Transfer[4],0,8)BTD(Hub.Write.VSC.PDin3_Metric,0,Port_Data.Data_Transfer[5],0,8)BTD(Hub.Write.VSC.PDin2_Channel,0,Port_Data.Data_Transfer[6],0,8)BTD(Hub.Write.VSC.PDin2_Port,0,Port_Data.Data_Transfer[7],0,8)BTD(Hub.Write.VSC.PDin2_Metric,0,Port_Data.Data_Transfer[8],0,8)BTD(Hub.Write.VSC.PDin1_Channel,0,Port_Data.Data_Transfer[9],0,8)BTD(Hub.Write.VSC.PDin1_Port,0,Port_Data.Data_Transfer[10],0,8)BTD(Hub.Write.VSC.PDin1_Metric,0,Port_Data.Data_Transfer[11],0,8)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(76,Port_Data.Data_Transfer[188])MOV(12,Port_Data.Data_Transfer[189])MOV(3,Inprocess_Index)OTL(Port_Data.Port_Write.[Port])OTL(Control.11);]]>
</Text>
</Rung>
<Rung Number="77" Type="N">
<Text>
<![CDATA[XIC(Control.31)XIO(Control.11)EQU(Hub.Command,45)BTD(Hub.Write.Process_Data_Grouping,0,Port_Data.Data_Transfer[0],0,8)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(76,Port_Data.Data_Transfer[188])MOV(1,Port_Data.Data_Transfer[189])MOV(3,Inprocess_Index)OTL(Port_Data.Port_Write.[Port])OTL(Control.11);]]>
</Text>
</Rung>
<Rung Number="78" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="79" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls writing of the All Time Run Time Event Time parameter (index 78).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Command_Being_Processed)XIO(Control.11)EQU(Hub.Command,46)OTL(Command_Being_Processed)BTD(Hub.Write.All_Time_Run_Time_Event_Time,24,Port_Data.Data_Transfer[0],0,8)BTD(Hub.Write.All_Time_Run_Time_Event_Time,16,Port_Data.Data_Transfer[1],0,8)BTD(Hub.Write.All_Time_Run_Time_Event_Time,8,Port_Data.Data_Transfer[2],0,8)BTD(Hub.Write.All_Time_Run_Time_Event_Time,0,Port_Data.Data_Transfer[3],0,8)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(78,Port_Data.Data_Transfer[188])MOV(4,Port_Data.Data_Transfer[189])MOV(4,Inprocess_Index)OTL(Port_Data.Port_Write.[Port])OTL(Control.11);]]>
</Text>
</Rung>
<Rung Number="80" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="81" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls writing of the Resettable Run Time parameter (index 79).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Command_Being_Processed)XIO(Control.11)EQU(Hub.Command,47)OTL(Command_Being_Processed)BTD(Hub.Write.Resettable_Run_Time_Event_Time,24,Port_Data.Data_Transfer[0],0,8)BTD(Hub.Write.Resettable_Run_Time_Event_Time,16,Port_Data.Data_Transfer[1],0,8)BTD(Hub.Write.Resettable_Run_Time_Event_Time,8,Port_Data.Data_Transfer[2],0,8)BTD(Hub.Write.Resettable_Run_Time_Event_Time,0,Port_Data.Data_Transfer[3],0,8)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])MOV(79,Port_Data.Data_Transfer[188])MOV(4,Port_Data.Data_Transfer[189])MOV(5,Inprocess_Index)OTL(Port_Data.Port_Write.[Port])OTL(Control.11);]]>
</Text>
</Rung>
<Rung Number="82" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="83" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Reserved
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Command_Being_Processed)XIO(Control.12)GEQ(Hub.Command,48)LEQ(Hub.Command,49)OTL(Command_Being_Processed)OTL(Control.12);]]>
</Text>
</Rung>
<Rung Number="84" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="85" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls writing of the Selectable Metric Reset parameter (index 81 or 82).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Command_Being_Processed)XIO(Control.26)EQU(Hub.Command,50)OTL(Command_Being_Processed)[EQU(Type,4) MOV(4,Index5) ,[EQU(Type,8) ,EQU(Type,22) ] MOV(8,Index5) ]MOV(0,Index6)OTL(Control.26);]]>
</Text>
</Rung>
<Rung Number="86" Type="N">
<Text>
<![CDATA[XIC(Control.26)XIO(Control.27)EQU(Hub.Command,50)BTD(Hub.Write.SMR[Index5].Discrete2_Reset_Count,24,Port_Data.Data_Transfer[Index6],0,8)BTD(Hub.Write.SMR[Index5].Discrete2_Reset_Count,16,Port_Data.Data_Transfer[Index6+1],0,8)BTD(Hub.Write.SMR[Index5].Discrete2_Reset_Count,8,Port_Data.Data_Transfer[Index6+2],0,8)BTD(Hub.Write.SMR[Index5].Discrete2_Reset_Count,0,Port_Data.Data_Transfer[Index6+3],0,8)BTD(Hub.Write.SMR[Index5].Discrete1_Reset_Count,24,Port_Data.Data_Transfer[Index6+4],0,8)BTD(Hub.Write.SMR[Index5].Discrete1_Reset_Count,16,Port_Data.Data_Transfer[Index6+5],0,8)BTD(Hub.Write.SMR[Index5].Discrete1_Reset_Count,8,Port_Data.Data_Transfer[Index6+6],0,8)BTD(Hub.Write.SMR[Index5].Discrete1_Reset_Count,0,Port_Data.Data_Transfer[Index6+7],0,8)OTL(Control.27);]]>
</Text>
</Rung>
<Rung Number="87" Type="N">
<Text>
<![CDATA[XIC(Control.27)XIO(Control.28)EQU(Hub.Command,50)LEQ(Index5,1)OTL(Control.28);]]>
</Text>
</Rung>
<Rung Number="88" Type="N">
<Text>
<![CDATA[XIC(Control.27)XIO(Control.28)EQU(Hub.Command,50)GRT(Index5,1)SUB(Index5,1,Index5)ADD(Index6,8,Index6)OTU(Control.27);]]>
</Text>
</Rung>
<Rung Number="89" Type="N">
<Text>
<![CDATA[XIC(Control.28)XIO(Control.29)EQU(Hub.Command,50)EQU(Type,4)BTD(Hub.Write.SMR[4].Discrete2,0,Port_Data.Data_Transfer[33],7,1)BTD(Hub.Write.SMR[4].Discrete1,0,Port_Data.Data_Transfer[33],6,1)BTD(Hub.Write.SMR[3].Discrete2,0,Port_Data.Data_Transfer[33],5,1)BTD(Hub.Write.SMR[3].Discrete1,0,Port_Data.Data_Transfer[33],4,1)BTD(Hub.Write.SMR[2].Discrete2,0,Port_Data.Data_Transfer[33],3,1)BTD(Hub.Write.SMR[2].Discrete1,0,Port_Data.Data_Transfer[33],2,1)BTD(Hub.Write.SMR[1].Discrete2,0,Port_Data.Data_Transfer[33],1,1)BTD(Hub.Write.SMR[1].Discrete1,0,Port_Data.Data_Transfer[33],0,1)OTL(Control.29);]]>
</Text>
</Rung>
<Rung Number="90" Type="N">
<Text>
<![CDATA[XIC(Control.28)XIO(Control.29)EQU(Hub.Command,50)[EQU(Type,8) ,EQU(Type,22) ]BTD(Hub.Write.SMR[8].Discrete2,0,Port_Data.Data_Transfer[64],7,1)BTD(Hub.Write.SMR[8].Discrete1,0,Port_Data.Data_Transfer[64],6,1)BTD(Hub.Write.SMR[7].Discrete2,0,Port_Data.Data_Transfer[64],5,1)BTD(Hub.Write.SMR[7].Discrete1,0,Port_Data.Data_Transfer[64],4,1)BTD(Hub.Write.SMR[6].Discrete2,0,Port_Data.Data_Transfer[64],3,1)BTD(Hub.Write.SMR[6].Discrete1,0,Port_Data.Data_Transfer[64],2,1)BTD(Hub.Write.SMR[5].Discrete2,0,Port_Data.Data_Transfer[64],1,1)BTD(Hub.Write.SMR[5].Discrete1,0,Port_Data.Data_Transfer[64],0,1)BTD(Hub.Write.SMR[4].Discrete2,0,Port_Data.Data_Transfer[65],7,1)BTD(Hub.Write.SMR[4].Discrete1,0,Port_Data.Data_Transfer[65],6,1)BTD(Hub.Write.SMR[3].Discrete2,0,Port_Data.Data_Transfer[65],5,1)BTD(Hub.Write.SMR[3].Discrete1,0,Port_Data.Data_Transfer[65],4,1)BTD(Hub.Write.SMR[2].Discrete2,0,Port_Data.Data_Transfer[65],3,1)BTD(Hub.Write.SMR[2].Discrete1,0,Port_Data.Data_Transfer[65],2,1)BTD(Hub.Write.SMR[1].Discrete2,0,Port_Data.Data_Transfer[65],1,1)BTD(Hub.Write.SMR[1].Discrete1,0,Port_Data.Data_Transfer[65],0,1)OTL(Control.29);]]>
</Text>
</Rung>
<Rung Number="91" Type="N">
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIC(Control.29)XIO(Control.11)EQU(Hub.Command,50)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])[EQU(Type,4) MOV(34,Port_Data.Data_Transfer[189]) ,EQU(Type,8) MOV(66,Port_Data.Data_Transfer[189]) ]MOV(81,Port_Data.Data_Transfer[188])MOV(7,Inprocess_Index)OTL(Port_Data.Port_Write.[Port])OTL(Control.11);]]>
</Text>
</Rung>
<Rung Number="92" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="93" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls writing of the Port Configuration 1 through 8 parameter (index 87 through 94).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Command_Being_Processed)XIO(Control.26)GEQ(Hub.Command,51)LEQ(Hub.Command,58)OTL(Command_Being_Processed)SUB(Hub.Command,50,Index5)[EQU(Type,4) [GEQ(Hub.Command,51) LEQ(Hub.Command,54) OTL(Control.26) ,GEQ(Hub.Command,55) LEQ(Hub.Command,58) OTL(Control.12) ] ,[EQU(Type,8) ,EQU(Type,22) ] OTL(Control.26) ];]]>
</Text>
</Rung>
<Rung Number="94" Type="N">
<Text>
<![CDATA[XIC(Control.26)XIO(Control.27)GEQ(Hub.Command,51)LEQ(Hub.Command,58)BTD(Hub.Write.Port_Config[Index5].Mirroring_Inversion,0,Port_Data.Data_Transfer[0],0,8)BTD(Hub.Write.Port_Config[Index5].Mirroring_Channel,0,Port_Data.Data_Transfer[1],0,8)BTD(Hub.Write.Port_Config[Index5].Mirroring_Port,0,Port_Data.Data_Transfer[2],0,8)BTD(Hub.Write.Port_Config[Index5].Mirroring_Enable,0,Port_Data.Data_Transfer[3],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete2_Delay_Timer2,24,Port_Data.Data_Transfer[4],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete2_Delay_Timer2,16,Port_Data.Data_Transfer[5],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete2_Delay_Timer2,8,Port_Data.Data_Transfer[6],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete2_Delay_Timer2,0,Port_Data.Data_Transfer[7],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete2_Delay_Timer1,24,Port_Data.Data_Transfer[8],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete2_Delay_Timer1,16,Port_Data.Data_Transfer[9],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete2_Delay_Timer1,8,Port_Data.Data_Transfer[10],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete2_Delay_Timer1,0,Port_Data.Data_Transfer[11],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete2_Delay_Mode,0,Port_Data.Data_Transfer[12],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete2_IO,0,Port_Data.Data_Transfer[13],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete1_Delay_Timer2,24,Port_Data.Data_Transfer[14],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete1_Delay_Timer2,16,Port_Data.Data_Transfer[15],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete1_Delay_Timer2,8,Port_Data.Data_Transfer[16],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete1_Delay_Timer2,0,Port_Data.Data_Transfer[17],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete1_Delay_Timer1,24,Port_Data.Data_Transfer[18],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete1_Delay_Timer1,16,Port_Data.Data_Transfer[19],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete1_Delay_Timer1,8,Port_Data.Data_Transfer[20],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete1_Delay_Timer1,0,Port_Data.Data_Transfer[21],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete1_Delay_Mode,0,Port_Data.Data_Transfer[22],0,8)BTD(Hub.Write.Port_Config[Index5].Discrete1_IO,0,Port_Data.Data_Transfer[23],0,8)OTL(Control.27);]]>
</Text>
</Rung>
<Rung Number="95" Type="N">
<Text>
<![CDATA[XIC(Control.27)XIO(Control.11)GEQ(Hub.Command,51)LEQ(Hub.Command,58)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])ADD(Hub.Command,36,Port_Data.Data_Transfer[188])MOV(24,Port_Data.Data_Transfer[189])MOV(8,Inprocess_Index)OTL(Port_Data.Port_Write.[Port])OTL(Control.11);]]>
</Text>
</Rung>
<Rung Number="96" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="97" Type="N">
<Comment>
<![CDATA[************************************************************************************************************
Section of AOI that controls writing of the Discrete Host Out Mirroring Config parameter (index 91 or 95).
************************************************************************************************************]]>
</Comment>
<Text>
<![CDATA[XIC(Hub.Initial_Global_Read)XIO(Command_Being_Processed)XIO(Control.11)EQU(Hub.Command,59)OTL(Command_Being_Processed)BTD(Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Output_Type,0,Port_Data.Data_Transfer[0],0,8)BTD(Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Polarity,0,Port_Data.Data_Transfer[1],0,8)BTD(Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Inversion,0,Port_Data.Data_Transfer[2],0,8)BTD(Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Channel,0,Port_Data.Data_Transfer[3],0,8)BTD(Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Port,0,Port_Data.Data_Transfer[4],0,8)BTD(Hub.Write.Discrete_Host_Out_Mirroring.Mirroring_Enable,0,Port_Data.Data_Transfer[5],0,8)MOV(Port,Port_Data.Data_Transfer[185])MOV(0,Port_Data.Data_Transfer[187])[EQU(Type,4) MOV(91,Port_Data.Data_Transfer[188]) ,[EQU(Type,8) ,EQU(Type,22) ] MOV(95,Port_Data.Data_Transfer[188]) ]MOV(6,Port_Data.Data_Transfer[189])MOV(9,Inprocess_Index)OTL(Port_Data.Port_Write.[Port])OTL(Control.11);]]>
</Text>
</Rung>
<Rung Number="98" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="99" Type="N">
<Comment>
<![CDATA[Global Write Commands]]>
</Comment>
<Text>
<![CDATA[XIC(Control.11)XIO(Control.12)XIC(Port_Data.Port_RW_Complete.[Port])OTU(Port_Data.Port_Write.[Port])OTL(Control.12);]]>
</Text>
</Rung>
<Rung Number="100" Type="N">
<Text>
<![CDATA[XIC(Control.12)XIO(Port_Data.Port_RW_Complete.[Port])MOV(0,Hub.Command)OTU(Index_Write_Inprocess.[Inprocess_Index])OTU(Control.3)OTU(Command_Being_Processed)OTU(Control.11)OTU(Control.12)OTU(Control.26)OTU(Control.27)OTU(Control.28)OTU(Control.29)OTU(Control.30)OTU(Control.31);]]>
</Text>
</Rung>
<Rung Number="101" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="102" Type="N">
<Text>
<![CDATA[EQU(Control,0)XIO(Update_Archive)OTU(Port_Data.Port_Activate.[Port]);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="Banner_Hub_v4"/>
<Dependency Type="DataType" Name="Banner_IOL_Port_v4"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>
