<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--AOI that controls the state of the TL50 Light and Audible Segments.-->
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="33.00" TargetName="Banner_TL50_PD_v4" TargetType="AddOnInstructionDefinition" TargetRevision="4.0 " TargetLastEdited="2023-10-17T13:04:14.533Z" ContainsContext="true" ExportDate="Tue Oct 17 08:04:27 2023" ExportOptions="References NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="Test">
<DataTypes Use="Context">
<DataType Name="Banner_TL50_PDO_v4" Family="NoFamily" Class="User">
<Description>
<![CDATA[UDT with all of the variables needed to control an IO-Link TL50.]]>
</Description>
<Members>
<Member Name="Segment_1" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Controls TL50 Segment 1. 0 = Off, 1 = On, 2 = On Flashing]]>
</Description>
</Member>
<Member Name="Segment_2" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Controls TL50 Segment 2. 0 = Off, 1 = On, 2 = On Flashing]]>
</Description>
</Member>
<Member Name="Segment_3" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Controls TL50 Segment 3. 0 = Off, 1 = On, 2 = On Flashing]]>
</Description>
</Member>
<Member Name="Segment_4" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Controls TL50 Segment 4. 0 = Off, 1 = On, 2 = On Flashing]]>
</Description>
</Member>
<Member Name="Segment_5" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Controls TL50 Segment 5. 0 = Off, 1 = On, 2 = On Flashing]]>
</Description>
</Member>
<Member Name="Segment_6" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Controls TL50 Segment 6. 0 = Off, 1 = On, 2 = On Flashing]]>
</Description>
</Member>
<Member Name="Segment_7" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Controls TL50 Segment 7. 0 = Off, 1 = On, 2 = On Flashing]]>
</Description>
</Member>
</Members>
</DataType>
</DataTypes>
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="Banner_TL50_PD_v4" Revision="4.0" Vendor="Banner Engineering" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2017-08-02T15:08:26.506Z" CreatedBy="DUKE\2011324" EditedDate="2023-10-17T13:04:14.533Z" EditedBy="DUKE\jpreisen"
 SoftwareRevision="v33.00">
<Description>
<![CDATA[AOI that controls the state of the TL50 Light and Audible Segments.]]>
</Description>
<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="SINT0" TagType="Base" DataType="SINT" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false"/>
<Parameter Name="SINT1" TagType="Base" DataType="SINT" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Process_Data" TagType="Base" DataType="Banner_TL50_PDO_v4" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Byte_Swap" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="L5K">
<![CDATA[0]]>
</DefaultData>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="Temp_Byte_Array" DataType="SINT" Dimensions="2" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="L5K">
<![CDATA[[0,0]]]>
</DefaultData>
<DefaultData Format="Decorated">
<Array DataType="SINT" Dimensions="2" Radix="Decimal">
<Element Index="[0]" Value="0"/>
<Element Index="[1]" Value="0"/>
</Array>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[The Process Data Segment variable controls what state the segment should be in.  A value of 0 is segment off, value of 1 is segment on, and a value of 2 is segement flashing.  This is repeated for all seven segments.]]>
</Comment>
<Text>
<![CDATA[EQU(0,Process_Data.Segment_1)[XIC(Byte_Swap) OTU(SINT0.1) OTU(SINT0.0) ,XIO(Byte_Swap) OTU(SINT1.1) OTU(SINT1.0) ];]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[EQU(1,Process_Data.Segment_1)[XIC(Byte_Swap) OTU(SINT0.1) OTL(SINT0.0) ,XIO(Byte_Swap) OTU(SINT1.1) OTL(SINT1.0) ];]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[EQU(2,Process_Data.Segment_1)[XIC(Byte_Swap) OTL(SINT0.1) OTU(SINT0.0) ,XIO(Byte_Swap) OTL(SINT1.1) OTU(SINT1.0) ];]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[EQU(0,Process_Data.Segment_2)[XIC(Byte_Swap) OTU(SINT0.3) OTU(SINT0.2) ,XIO(Byte_Swap) OTU(SINT1.3) OTU(SINT1.2) ];]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[EQU(1,Process_Data.Segment_2)[XIC(Byte_Swap) OTU(SINT0.3) OTL(SINT0.2) ,XIO(Byte_Swap) OTU(SINT1.3) OTL(SINT1.2) ];]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Text>
<![CDATA[EQU(2,Process_Data.Segment_2)[XIC(Byte_Swap) OTL(SINT0.3) OTU(SINT0.2) ,XIO(Byte_Swap) OTL(SINT1.3) OTU(SINT1.2) ];]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
<Text>
<![CDATA[EQU(0,Process_Data.Segment_3)[XIC(Byte_Swap) OTU(SINT0.5) OTU(SINT0.4) ,XIO(Byte_Swap) OTU(SINT1.5) OTU(SINT1.4) ];]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Text>
<![CDATA[EQU(1,Process_Data.Segment_3)[XIC(Byte_Swap) OTU(SINT0.5) OTL(SINT0.4) ,XIO(Byte_Swap) OTU(SINT1.5) OTL(SINT1.4) ];]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Text>
<![CDATA[EQU(2,Process_Data.Segment_3)[XIC(Byte_Swap) OTL(SINT0.5) OTU(SINT0.4) ,XIO(Byte_Swap) OTL(SINT1.5) OTU(SINT1.4) ];]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
<Text>
<![CDATA[EQU(0,Process_Data.Segment_4)[XIC(Byte_Swap) OTU(SINT0.7) OTU(SINT0.6) ,XIO(Byte_Swap) OTU(SINT1.7) OTU(SINT1.6) ];]]>
</Text>
</Rung>
<Rung Number="13" Type="N">
<Text>
<![CDATA[EQU(1,Process_Data.Segment_4)[XIC(Byte_Swap) OTU(SINT0.7) OTL(SINT0.6) ,XIO(Byte_Swap) OTU(SINT1.7) OTL(SINT1.6) ];]]>
</Text>
</Rung>
<Rung Number="14" Type="N">
<Text>
<![CDATA[EQU(2,Process_Data.Segment_4)[XIC(Byte_Swap) OTL(SINT0.7) OTU(SINT0.6) ,XIO(Byte_Swap) OTL(SINT1.7) OTU(SINT1.6) ];]]>
</Text>
</Rung>
<Rung Number="15" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="16" Type="N">
<Text>
<![CDATA[EQU(0,Process_Data.Segment_5)[XIC(Byte_Swap) OTU(SINT1.1) OTU(SINT1.0) ,XIO(Byte_Swap) OTU(SINT0.1) OTU(SINT0.0) ];]]>
</Text>
</Rung>
<Rung Number="17" Type="N">
<Text>
<![CDATA[EQU(1,Process_Data.Segment_5)[XIC(Byte_Swap) OTU(SINT1.1) OTL(SINT1.0) ,XIO(Byte_Swap) OTU(SINT0.1) OTL(SINT0.0) ];]]>
</Text>
</Rung>
<Rung Number="18" Type="N">
<Text>
<![CDATA[EQU(2,Process_Data.Segment_5)[XIC(Byte_Swap) OTL(SINT1.1) OTU(SINT1.0) ,XIO(Byte_Swap) OTL(SINT0.1) OTU(SINT0.0) ];]]>
</Text>
</Rung>
<Rung Number="19" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="20" Type="N">
<Text>
<![CDATA[EQU(0,Process_Data.Segment_6)[XIC(Byte_Swap) OTU(SINT1.3) OTU(SINT1.2) ,XIO(Byte_Swap) OTU(SINT0.3) OTU(SINT0.2) ];]]>
</Text>
</Rung>
<Rung Number="21" Type="N">
<Text>
<![CDATA[EQU(1,Process_Data.Segment_6)[XIC(Byte_Swap) OTU(SINT1.3) OTL(SINT1.2) ,XIO(Byte_Swap) OTU(SINT0.3) OTL(SINT0.2) ];]]>
</Text>
</Rung>
<Rung Number="22" Type="N">
<Text>
<![CDATA[EQU(2,Process_Data.Segment_6)[XIC(Byte_Swap) OTU(SINT1.3) OTL(SINT1.2) ,XIO(Byte_Swap) OTL(SINT0.3) OTU(SINT0.2) ];]]>
</Text>
</Rung>
<Rung Number="23" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="24" Type="N">
<Text>
<![CDATA[EQU(0,Process_Data.Segment_7)[XIC(Byte_Swap) OTU(SINT1.5) OTU(SINT1.4) ,XIO(Byte_Swap) OTU(SINT0.5) OTU(SINT0.4) ];]]>
</Text>
</Rung>
<Rung Number="25" Type="N">
<Text>
<![CDATA[EQU(1,Process_Data.Segment_7)[XIC(Byte_Swap) OTU(SINT1.5) OTL(SINT1.4) ,XIO(Byte_Swap) OTU(SINT0.5) OTL(SINT0.4) ];]]>
</Text>
</Rung>
<Rung Number="26" Type="N">
<Text>
<![CDATA[EQU(2,Process_Data.Segment_7)[XIC(Byte_Swap) OTL(SINT1.5) OTU(SINT1.4) ,XIO(Byte_Swap) OTL(SINT0.5) OTU(SINT0.4) ];]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="Banner_TL50_PDO_v4"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>
