<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--JAM PHOTOEYE-->
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_JPE" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-06-19T13:45:02.669Z" ContainsContext="true" ExportDate="Thu Jun 19 17:46:28 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_JPE" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2011-11-21T15:20:02.584Z" CreatedBy="Not Available" EditedDate="2025-06-19T13:45:02.669Z" EditedBy="LCIBATUMI\gigi.mamaladze"
 SoftwareRevision="v36.00">
<Description>
<![CDATA[JAM PHOTOEYE]]>
</Description>
<Parameters>
<Parameter Name="EnableIn" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only"/>
<Parameter Name="EnableOut" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only"/>
<Parameter Name="HMI" TagType="Base" DataType="UDT_HMI_PE" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_PE" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Conveyor" TagType="Base" DataType="UDT_CTRL_VFD" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Station" TagType="Base" DataType="UDT_CTRL_STATION" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="FIO" TagType="Base" DataType="UDT_CTRL_SIO_FIO" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Clear_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[PE Input]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Blocked" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[PE]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Jammed" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Conveyor]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Run_Up_PE" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[This PE is Discharge PE Of Conveyor]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Run_Up" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[When Upstream Conveyors are Stopped, Conveyor keeps running untill Discharge PE is Blocked]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Beacon_Light_O" TagType="Base" DataType="BOOL" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false">
<Description>
<![CDATA[Amber Beacon Light Output]]>
</Description>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="Jam_Timer" DataType="TIMER" ExternalAccess="None">
<Description>
<![CDATA[After Jam Timer is Done Jam Fault is reported]]>
</Description>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="ACC" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="EN" DataType="BOOL" Value="0"/>
<DataValueMember Name="TT" DataType="BOOL" Value="0"/>
<DataValueMember Name="DN" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="ONS" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[One Shot Instruction to skip Beacon Flashing Logic and Unlatch the Beacon Light when Jam is cleared]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Flip_Flop" DataType="AOI_FLIP_FLOP" ExternalAccess="None">
<Description>
<![CDATA[Beacon Flip Flop]]>
</Description>
<DefaultData Format="Decorated">
<Structure DataType="AOI_FLIP_FLOP">
<DataValueMember Name="EnableIn" DataType="BOOL" Value="1"/>
<DataValueMember Name="EnableOut" DataType="BOOL" Value="0"/>
<DataValueMember Name="On" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="Off" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="Flash" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Concatenated_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String for Log]]>
</Description>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Jam_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[Jam String]]>
</Description>
<DefaultData Format="String" Length="4">
<![CDATA[' Jam']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Full_Timer" DataType="TIMER" ExternalAccess="None">
<Description>
<![CDATA[After Full
 Timer is Done Full 
Fault is reported]]>
</Description>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="ACC" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="EN" DataType="BOOL" Value="0"/>
<DataValueMember Name="TT" DataType="BOOL" Value="0"/>
<DataValueMember Name="DN" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Name" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[PE Name]]>
</Description>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Text>
<![CDATA[MUL(HMI.TimeOut,1000,Jam_Timer.PRE);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[XIC(Station.STS.Jam_Reset)XIC(Jammed)XIO(Blocked)OTU(Jammed);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[XIO(FIO.STS.Communication_Fault)XIO(Clear_I)OTE(Blocked)OTE(CTRL.STS.Blocked);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIO(Conveyor.STS.Maintenance_Mode)[XIC(Blocked) [XIC(Conveyor.STS.Running) ,XIC(Jam_Timer.DN) ] TON(Jam_Timer,?,?) ,XIC(Jam_Timer.DN) OTL(Jammed) ];]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[XIC(Jammed)[COP(Jam_String,Concatenated_String,1) CONCAT(Name,Concatenated_String,Conveyor.CMD.Log) ,COP(Jam_String,Concatenated_String,1) CONCAT(Name,Concatenated_String,Station.CMD.Log) ]OTL(Conveyor.CMD.Jammed)OTL(Station.CMD.Jammed)OTE(CTRL.STS.Jammed);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[XIO(Jammed)[ONS(ONS) OTU(Beacon_Light_O) ,JMP(JMP) ];]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Text>
<![CDATA[XIC(Conveyor.STS.MCM_Started)XIC(Jammed)[XIC(Blocked) AOI_FLIP_FLOP(Flip_Flop,500,500) ,XIO(Blocked) ]OTE(Beacon_Light_O);]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Text>
<![CDATA[LBL(JMP)NOP();]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
<Text>
<![CDATA[XIC(Run_Up_PE)XIC(Conveyor.STS.Interlock)OTL(Run_Up);]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Text>
<![CDATA[[XIC(Blocked) ,XIO(Run_Up_PE) ]OTU(Run_Up);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Comment>
<![CDATA[Can run up -> Run up
]]>
</Comment>
<Text>
<![CDATA[XIC(Run_Up)OTL(Conveyor.CMD.Run_Up_Enabled);]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Comment>
<![CDATA[ALARMS
]]>
</Comment>
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
<Text>
<![CDATA[XIC(Jammed)OTE(HMI.Alarm.Jammed);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
<Routine Name="Prescan" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[FLL(0,CTRL,1)FLL(5,HMI.TimeOut,1);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[OTU(HMI.Alarm.Jammed)OTU(Jammed);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_VFD"/>
<Dependency Type="DataType" Name="UDT_CTRL_PE"/>
<Dependency Type="DataType" Name="UDT_CTRL_SIO_FIO"/>
<Dependency Type="AddOnInstructionDefinition" Name="AOI_FLIP_FLOP"/>
<Dependency Type="DataType" Name="UDT_HMI_PE"/>
<Dependency Type="DataType" Name="UDT_CTRL_STATION"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>
