MTN6_PLC/PLC/AOIs/AOI_FPE_AOI.L5X

196 lines
7.3 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--FULL PHOTOEYE-->
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_FPE" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-11T10:05:07.475Z" ContainsContext="true" ExportDate="Fri Jul 11 16:00:32 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_FPE" Class="Standard" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2011-11-21T15:20:02.584Z" CreatedBy="Not Available" EditedDate="2025-07-11T10:05:07.475Z"
EditedBy="LCIBATUMI\ilia.gurielidze" SoftwareRevision="v36.00">
<Description>
<![CDATA[FULL 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="Parent_Comm_Faulted" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Communication Faulted To Perent (IO Block / VFD)]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<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">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Full" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<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[Blue Beacon Light Output]]>
</Description>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="Full_Timer" DataType="TIMER" ExternalAccess="None">
<Description>
<![CDATA[After Full Timer is done PE will report Full Fault]]>
</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">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Concatenated_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[Sting for Log]]>
</Description>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Full_Latch" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Full_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[Full String]]>
</Description>
<DefaultData Format="String" Length="5">
<![CDATA[' FULL']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Name" DataType="STRING" ExternalAccess="None">
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[Full-Photo Eye Accumulation Detector (Blue Beacon)
A photo-eye monitors for carton build-up.
Blocked turns on whenever the beam is broken (Clear_I false) and the parent network link is healthy; this state is mirrored to CTRL.STS.Blocked.
While the conveyor is running in automatic mode (not maintenance), a timer with preset HMI.TimeOut * 1000 ms runs whenever Blocked is true.
When the timer finishes the bit Full latches and is echoed to CTRL.STS.Full.
The blue beacon segment (Beacon_Light_O) lights solid while Full is latched.
On the first scan of each full condition the routine writes “<Device HMI.Name> FULL” into Conveyor.CMD.Log and increments the log count.
The entry self-clears when the same line appears in MCM.STS.Acknowledge_Log; an Unacknowledge All Logs command re-arms the latch so the next pile-up is re-logged.
HMI.Alarm.Full is asserted for the duration of the full condition.
Command bits (received)
Clear_I photo-eye input
Parent_Comm_Faulted
Conveyor.STS.Maintenance_Mode
HMI.TimeOut
MCM.STS.Unacknowledge_All_Logs
MCM.STS.Acknowledge_Log
Status bits (set)
CTRL.STS.Blocked
CTRL.STS.Full
Blocked
Full
Beacon_Light_O (blue)
HMI bits
HMI.TimeOut seconds before a block becomes full
HMI.Alarm.Full true while Full is latched
Alarm bits
HMI.Alarm.Full raised whenever Full is true.
]]>
</Comment>
<Text>
<![CDATA[MUL(HMI.TimeOut,1000,Full_Timer.PRE);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[XIO(Clear_I)XIO(Parent_Comm_Faulted)[OTE(Blocked) ,OTE(CTRL.STS.Blocked) ];]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[XIO(Conveyor.STS.Maintenance_Mode)XIC(Blocked)TON(Full_Timer,?,?)XIC(Full_Timer.DN)[OTE(Full) ,OTE(CTRL.STS.Full) ];]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIC(Full)[OTL(Conveyor.CMD.Full) ,OTE(Beacon_Light_O) ];]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[XIC(Full)MOVE(' FULL',Concatenated_String)CONCAT(HMI.Name,Concatenated_String,Conveyor.CMD.Log);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[XIC(Full)OTE(HMI.Alarm.Full);]]>
</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(0,HMI.Alarm,1)MOVE(5,HMI.TimeOut);]]>
</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_HMI_PE"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>