Updated AOIs, UDTs and Added MCM04_Chute_Fluid_Load

This commit is contained in:
gigi mamaladze 2025-07-11 16:42:25 +04:00
parent 1976beec2d
commit 4631c6a8a5
28 changed files with 128976 additions and 1449 deletions

View File

@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--Varible Frequency Drive-->
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_APF" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-08T11:05:18.110Z" ContainsContext="true" ExportDate="Tue Jul 08 15:08:10 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_APF" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-11T10:21:18.110Z" ContainsContext="true" ExportDate="Fri Jul 11 15:59:48 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_APF" Class="Standard" Revision="1.0" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-05-17T10:35:36.642Z" CreatedBy="LCIBATUMI\gigi.mamaladze" EditedDate="2025-07-08T11:05:18.110Z" EditedBy="LCIBATUMI\gigi.mamaladze"
<AddOnInstructionDefinition Use="Target" Name="AOI_APF" Class="Standard" Revision="1.0" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-05-17T10:35:36.642Z" CreatedBy="LCIBATUMI\gigi.mamaladze" EditedDate="2025-07-11T10:21:18.110Z" EditedBy="LCIBATUMI\robert.yevdokimov"
SoftwareRevision="v36.00">
<Description>
<![CDATA[Varible Frequency Drive]]>
</Description>
<Parameters>
<Parameter Name="EnableIn" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<Description>
@ -19,37 +15,28 @@
<![CDATA[Enable Output - System Defined Parameter]]>
</Description>
</Parameter>
<Parameter Name="HMI" TagType="Base" DataType="UDT_HMI_APF" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_APF" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="HMI" TagType="Base" DataType="UDT_HMI_VFD" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_VFD" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Module" TagType="Base" DataType="MODULE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="APF_I" TagType="Base" DataType="AB:35_APF_Drive:I:1" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="APF_O" TagType="Base" DataType="AB:35_APF_Drive:O:1" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="MCM" TagType="Base" DataType="UDT_CTRL_MCM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="DPM" TagType="Base" DataType="UDT_CTRL_DPM" Usage="InOut" Required="true" Visible="true" Constant="false">
<Parameter Name="DPM" TagType="Base" DataType="UDT_CTRL_IO_BLOCK" Usage="InOut" Required="true" Visible="true" Constant="false">
<Description>
<![CDATA[Ethernet Communication Fault(NC)]]>
</Description>
</Parameter>
<Parameter Name="Disconnect_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[VFD Disconnected]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Running" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Conveyor Running]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Run_Enabled" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Conveyor Run Enabled]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="1"/>
</DefaultData>
@ -71,9 +58,6 @@
</DefaultData>
</Parameter>
<Parameter Name="Jammed" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Conveyor Jammed]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -87,25 +71,16 @@
</DefaultData>
</Parameter>
<Parameter Name="Speed_Not_Set_Up" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="None">
<Description>
<![CDATA[Conveyor Speed No Set Up]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="VFD_Fault_Reset_Required" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="None">
<Description>
<![CDATA[VFD Fault Reset Required]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="VFD_Faulted" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[VFD Faulted]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -119,9 +94,6 @@
</DefaultData>
</Parameter>
<Parameter Name="Disconnected" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="None">
<Description>
<![CDATA[VFD Disconnected]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -135,9 +107,6 @@
</DefaultData>
</Parameter>
<Parameter Name="Start_Conveyor" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<Description>
<![CDATA[Start Conveyor]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -159,24 +128,18 @@
</DefaultData>
</Parameter>
<Parameter Name="Stopped_By_Station_PB" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[Conveyor Stopped by Station PushButton]]>
</Description>
<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">
<Description>
<![CDATA[Conveyor Full]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Encoder_Fault" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[Encoder Faulted or Conveyor is Running at Low Speed]]>
<![CDATA[Physical Issue With Encoder Or Conveyor Running At Low Speed.]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
@ -199,9 +162,6 @@
</DefaultData>
</Parameter>
<Parameter Name="Zero_Speed" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[Conveyor Speed is Zero]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -224,7 +184,7 @@
</Parameter>
<Parameter Name="Length" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Length Of Conveyor]]>
<![CDATA[Length Of Conveyor In Feets]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
@ -251,14 +211,6 @@
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Maintenance_Start_Conveyor" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Start Conveyor in Maintenance Mode]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Start_ONS" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Start to allow local control of the conveyor]]>
@ -298,9 +250,6 @@
</DefaultData>
</LocalTag>
<LocalTag Name="Power_Save_Timer" DataType="TIMER" ExternalAccess="None">
<Description>
<![CDATA[Power Saving Timer]]>
</Description>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="0"/>
@ -312,13 +261,60 @@
</DefaultData>
</LocalTag>
<LocalTag Name="VFD_Fault_Code" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[VFD Fault Code]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Starting_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains " STARTING"]]>
</Description>
<DefaultData Format="String" Length="9">
<![CDATA[' STARTING']]>
</DefaultData>
</LocalTag>
<LocalTag Name="VFD_Fault_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains " VFD FLT"]]>
</Description>
<DefaultData Format="String" Length="8">
<![CDATA[' VFD FLT']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Safe_Off_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains " SAFE OFF"]]>
</Description>
<DefaultData Format="String" Length="9">
<![CDATA[' SAFE OFF']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Running_String" DataType="STRING" ExternalAccess="None">
<DefaultData Format="String" Length="8">
<![CDATA[' Running']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Name" DataType="STRING" ExternalAccess="None">
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Maintenance_Start_Conveyor" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Start Conveyor in Maintenance Mode]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Maintenance_Jog_Mode" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Conveyor in Jog Mode]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Maintenance_Conveyor_Direction" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[0-Forward
@ -328,28 +324,25 @@
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Last_VFD_Fault_Code" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<LocalTag Name="Lost_Comm_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[Last VFD Fault Code]]>
<![CDATA[String contains " LOST COMM"]]>
</Description>
<DefaultData Format="String" Length="10">
<![CDATA[' LOST COMM']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Last_VFD_Fault_Code" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Maintenance_Jog_Mode" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<LocalTag Name="Jam_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[Conveyor in Jog Mode]]>
<![CDATA[String contains " JAM"]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Jammed_Latch" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Conveyor Jammed]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
<DefaultData Format="String" Length="4">
<![CDATA[' JAM']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Interlock" DataType="BOOL" Radix="Decimal" ExternalAccess="Read/Write">
@ -360,6 +353,30 @@
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Full_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains " FULL"]]>
</Description>
<DefaultData Format="String" Length="5">
<![CDATA[' FULL']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Empty_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains ""]]>
</Description>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Disconnect_Off_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains " DISC OFF"]]>
</Description>
<DefaultData Format="String" Length="9">
<![CDATA[' DISC OFF']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Disconect_On_Delay" DataType="TIMER" ExternalAccess="None">
<Description>
<![CDATA[Conveyor will be interpreted as Disconnected after Timer is Done]]>
@ -406,6 +423,14 @@
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Calculation_Temp" DataType="REAL" Radix="Float" ExternalAccess="None">
<Description>
<![CDATA[Temporary Variable To Save value]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="REAL" Radix="Float" Value="0.0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Acknowledge_ONS" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[{{TODO}}]]>
@ -422,93 +447,110 @@
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Starting_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains " STARTING"]]>
</Description>
<DefaultData Format="String" Length="9">
<![CDATA[' STARTING']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Disconnect_Off_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains " DISC OFF"]]>
</Description>
<DefaultData Format="String" Length="9">
<![CDATA[' DISC OFF']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Empty_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains ""]]>
</Description>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="VFD_Fault_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains " VFD FLT"]]>
</Description>
<DefaultData Format="String" Length="8">
<![CDATA[' VFD FLT']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Safe_Off_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains " SAFE OFF"]]>
</Description>
<DefaultData Format="String" Length="9">
<![CDATA[' SAFE OFF']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Lost_Comm_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains " LOST COMM"]]>
</Description>
<DefaultData Format="String" Length="10">
<![CDATA[' LOST COMM']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Jam_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains " JAM"]]>
</Description>
<DefaultData Format="String" Length="4">
<![CDATA[' JAM']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Full_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String contains " FULL"]]>
</Description>
<DefaultData Format="String" Length="5">
<![CDATA[' FULL']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Name" DataType="STRING" ExternalAccess="None">
<DefaultData Format="String" Length="5">
<![CDATA['UL1-3']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Running_String" DataType="STRING" ExternalAccess="None">
<DefaultData Format="String" Length="8">
<![CDATA[' Running']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Calculation_Temp" DataType="REAL" Radix="Float" ExternalAccess="None">
<Description>
<![CDATA[Temporary Variable To Save value]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="REAL" Radix="Float" Value="0.0"/>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[APF Armor PowerFlex Conveyor Drive
Operating logic
Run Enabled turns on as soon as the system is started and every basic permissive is clear: no E-Stop, no disconnect, good communications, VFD not waiting for reset, no jam, encoder-fault, or full inputs, and “stop auto-restart” is idle.
Interlock goes true when CTRL.CMD.Interlock or CTRL.CMD.Run_Up_Enabled is true.
Interlock true + Run Enabled ⇒ conveyor may feed product.
Run Up Enabled alone means the downstream conveyor is stopped but will let packages coast to its own photo-eye; the belt can still clear itself.
Normal start a pulse from CTRL.CMD.Start (or the MCM start request) is accepted only while Run Enabled is on and “stop-require-start” is off.
The pulse triggers a 5 s delay: horn sounds, “Starting” is logged to the MCM, then the drive starts if Interlock is true, speed > 0, and power-saving is not blocking.
Maintenance mode enabled by HMI.Maintenance.Maintenance_Mode.
Separate start, stop, jog, direction, and speed buttons bypass Interlock after the same 5 s horn delay, provided that E-Stop, comms, and VFD-reset faults are clear.
Jog while in maintenance, the jog PB gives low-speed motion once the delay timer finishes.
Power-saving if the belt has run long enough to empty itself, a length-based timer expires; Power_Saving_Mode turns on and the drive stays idle until the operator issues a new start.
Safety torque-off loss of STO sets EStopped, mirrors it to CTRL.STS.EStopped, and records the event in the MCM.
Drive outputs when Run is true the AOI drops APF_O.Stop, energises APF_O.Start, and sets the forward or reverse bit from the maintenance direction flag.
Logging every new Disconnect, VFD trip, Comms loss, Jam, or Full condition pushes a line into MCM.CMD.Log and increments the quantity. The line is cleared automatically when MCM echoes it back through MCM.STS.Acknowledge_Log; a global un-acknowledge re-arms the entry.
Command bits (received by the AOI)
The module receives CTRL.CMD.Log and Log_Quantity.
The module receives CTRL.CMD.Acknowledge_Log and Unacknowledge_All_Logs.
The module receives CTRL.CMD.Start and Stop_Require_Start.
The module receives CTRL.CMD.Stop_Auto_Restart.
The module receives CTRL.CMD.Speed_FPM.
The module receives CTRL.CMD.Interlock.
The module receives CTRL.CMD.Run_Up_Enabled.
The module receives CTRL.CMD.Power_Saving_Mode_ON.
The module receives CTRL.CMD.Jammed.
The module receives CTRL.CMD.Encoder_Fault.
The module receives CTRL.CMD.Full.
The module receives CTRL.CMD.VFD_Faulted and VFD_Was_Faulted.
The module receives CTRL.CMD.EStop_Was_Actuated.
The module receives CTRL.CMD.Stopped_By_Stop_PB.
The module receives MCM.STS.System_Started and System_Start_Requested.
The module receives MCM.STS.VFD_Fault_Reset_Requested.
The module receives MCM.STS.Setup_Motor_Speeds.
The module receives MCM.STS.Unacknowledge_All_Logs.
The module receives HMI.Maintenance.Maintenance_Mode.
The module receives HMI.Maintenance.Start_PB_Pressed.
The module receives HMI.Maintenance.Stop_PB_Pressed.
The module receives HMI.Maintenance.Jog_PB_Pressed.
The module receives HMI.Maintenance.Direction_PB_Pressed.
The module receives HMI.Maintenance.Speed_FPM.
The module receives HMI.Cycle_Time_Factor and HMI.Speed_At_30rev.
Status bits (set by the AOI)
The module sets CTRL.STS.Log and Log_Quantity.
The module sets CTRL.STS.Acknowledge_Log and Unacknowledge_All_Logs.
The module sets CTRL.STS.MCM_Started.
The module sets CTRL.STS.Running.
The module sets CTRL.STS.Enabled.
The module sets CTRL.STS.Interlock.
The module sets CTRL.STS.In_Power_Saving_Mode.
The module sets CTRL.STS.Maintenance_Mode.
The module sets CTRL.STS.Encoder_Fault.
The module sets CTRL.STS.Jammed.
The module sets CTRL.STS.VFD_Faulted.
The module sets CTRL.STS.VFD_Fault_Reset_Required.
The module sets CTRL.STS.Communication_Faulted.
The module sets CTRL.STS.EStopped.
The module sets CTRL.STS.Current_Speed.
The module sets CTRL.STS.Requested_Speed.
HMI bits
The HMI exchanges HMI.Maintenance.Maintenance_Mode.
The HMI exchanges HMI.Maintenance.Start_PB_Pressed.
The HMI exchanges HMI.Maintenance.Stop_PB_Pressed.
The HMI exchanges HMI.Maintenance.Jog_PB_Pressed.
The HMI exchanges HMI.Maintenance.Direction_PB_Pressed.
The HMI exchanges HMI.Maintenance.Speed_FPM.
The HMI displays HMI.STATE (values 0, 1, 2, 3, 4, 5, 6, 61, 7, 8, 9, 13, 14, 131 as defined above).
The HMI displays HMI.FPM, HMI.Amperage, HMI.Voltage, and HMI.Velocity.
The HMI displays HMI.VFD_Type, HMI.Communication_Fault_Code, HMI.VFD_Fault_Code, and HMI.Last_VFD_Fault_Code.
The HMI displays HMI.Maintenance.Buttons_State and HMI.Maintenance.Direction.
Alarm bits
HMI.Alarm.Disconnected is raised when Disconnected is true.
HMI.Alarm.Communication_Faulted is raised when Communication_Faulted is true.
HMI.Alarm.VFD_Fault is raised when VFD_Faulted is true.
HMI.Alarm.VFD_Reset_Required is raised when VFD_Fault_Reset_Required is true while VFD_Faulted is false.
HMI.Alarm.Jammed is raised when Jammed is true.
HMI.Alarm.Full is raised when Full is true.
HMI.Alarm.Maintenance_Mode is raised while Maintenance_Mode is active.
]]>
</Comment>
<Text>
<![CDATA[MOVE(1,HMI.VFD_Type)COP(CTRL.CMD.Log,CTRL.STS.Log,1);]]>
</Text>
@ -550,47 +592,47 @@
</Rung>
<Rung Number="8" Type="N">
<Text>
<![CDATA[XIO(APF_I.SafeTorqueEnabled)[OTE(EStopped) ,OTE(CTRL.STS.EStopped) ,OTL(MCM.CMD.EStop_Was_Actuated) ];]]>
<![CDATA[XIC(MCM.STS.System_Started)OTE(CTRL.STS.MCM_Started);]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Text>
<![CDATA[XIC(MCM.STS.System_Started)OTE(CTRL.STS.MCM_Started);]]>
<![CDATA[XIO(MCM.STS.System_Started)OTE(MCM_Not_Started);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Text>
<![CDATA[XIO(MCM.STS.System_Started)OTE(MCM_Not_Started);]]>
<![CDATA[XIC(HMI.Maintenance.Maintenance_Mode)[OTE(Maintenance_Mode) ,OTE(CTRL.STS.Maintenance_Mode) ];]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Text>
<![CDATA[XIC(HMI.Maintenance.Maintenance_Mode)[OTE(Maintenance_Mode) ,OTE(CTRL.STS.Maintenance_Mode) ];]]>
<![CDATA[XIC(Disconnect_I)[TON(Disconect_On_Delay,?,?) ,XIO(Communication_Lost) MOVE(45000,Disconect_On_Delay.ACC) ];]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
<Text>
<![CDATA[XIC(Disconnect_I)[TON(Disconect_On_Delay,?,?) ,XIO(Communication_Lost) MOVE(60000,Disconect_On_Delay.ACC) ];]]>
<![CDATA[GSV(Module,Module,FaultCode,Communication_Fault_Code)NE(Communication_Fault_Code,0)OTE(Communication_Lost);]]>
</Text>
</Rung>
<Rung Number="13" Type="N">
<Text>
<![CDATA[GSV(Module,Module,FaultCode,Communication_Fault_Code)NE(Communication_Fault_Code,0)OTE(Communication_Lost);]]>
<![CDATA[[CLR(Communication_Fault_Code) XIC(Disconect_On_Delay.DN) XIC(Communication_Lost) ,XIC(DPM.STS.Communication_Faulted) ][OTE(Communication_Faulted) ,OTE(CTRL.STS.Communication_Faulted) ];]]>
</Text>
</Rung>
<Rung Number="14" Type="N">
<Text>
<![CDATA[[CLR(Communication_Fault_Code) XIC(Disconect_On_Delay.DN) XIC(Communication_Lost) ,XIC(DPM.STS.Communication_Faulted) ][OTE(Communication_Faulted) ,OTE(CTRL.STS.Communication_Faulted) ];]]>
<![CDATA[CLR(VFD_Fault_Code)XIO(Communication_Faulted)XIC(APF_I.Fault)MOVE(APF_I.TripFaultCode,VFD_Fault_Code)OTE(VFD_Faulted);]]>
</Text>
</Rung>
<Rung Number="15" Type="N">
<Text>
<![CDATA[CLR(VFD_Fault_Code)XIC(Disconect_On_Delay.DN)XIC(APF_I.Fault)MOVE(APF_I.TripFaultCode,VFD_Fault_Code)OTE(VFD_Faulted);]]>
<![CDATA[NE(VFD_Fault_Code,0)MOVE(VFD_Fault_Code,Last_VFD_Fault_Code);]]>
</Text>
</Rung>
<Rung Number="16" Type="N">
<Text>
<![CDATA[NE(VFD_Fault_Code,0)MOVE(VFD_Fault_Code,Last_VFD_Fault_Code);]]>
<![CDATA[XIO(APF_I.SafeTorqueEnabled)[OTE(EStopped) ,OTE(CTRL.STS.EStopped) ,OTL(MCM.CMD.EStop_Was_Actuated) ];]]>
</Text>
</Rung>
<Rung Number="17" Type="N">
@ -620,12 +662,12 @@
</Rung>
<Rung Number="22" Type="N">
<Text>
<![CDATA[XIC(APF_I.Running)COP(Running_String,Concatenated_String,1)CONCAT(Name,Concatenated_String,MCM.CMD.Log)[OTE(Running) ,OTE(CTRL.STS.Running) ];]]>
<![CDATA[XIC(APF_I.Running)COP(Running_String,Concatenated_String,1)CONCAT(HMI.Name,Concatenated_String,MCM.CMD.Log)[OTE(Running) ,OTE(CTRL.STS.Running) ];]]>
</Text>
</Rung>
<Rung Number="23" Type="N">
<Text>
<![CDATA[XIC(CTRL.STS.MCM_Started)XIC(CTRL.CMD.Power_Saving_Mode_ON)[XIC(Running) MUL(Length,196.8504,Calculation_Temp) DIV(Calculation_Temp,CTRL.CMD.Speed_FPM,Calculation_Temp) MUL(Calculation_Temp,HMI.Cycle_Time_Factor,Calculation_Temp) MUL(Calculation_Temp,1000,Power_Save_Timer.PRE) TON(Power_Save_Timer,?,?) XIC(Power_Save_Timer.DN) ,XIC(Power_Saving_Mode) XIO(CTRL.CMD.Start) ][OTE(Power_Saving_Mode) ,OTE(CTRL.STS.In_Power_Saving_Mode) ];]]>
<![CDATA[XIC(CTRL.STS.MCM_Started)XIC(CTRL.CMD.Power_Saving_Mode_ON)[XIC(Running) MUL(Length,60.62,Calculation_Temp) DIV(Calculation_Temp,CTRL.CMD.Speed_FPM,Calculation_Temp) MUL(Calculation_Temp,HMI.Cycle_Time_Factor,Calculation_Temp) MUL(Calculation_Temp,1000,Power_Save_Timer.PRE) TON(Power_Save_Timer,?,?) XIC(Power_Save_Timer.DN) ,XIC(Power_Saving_Mode) XIO(CTRL.CMD.Start) ][OTE(Power_Saving_Mode) ,OTE(CTRL.STS.In_Power_Saving_Mode) ];]]>
</Text>
</Rung>
<Rung Number="24" Type="N">
@ -665,7 +707,7 @@
</Rung>
<Rung Number="31" Type="N">
<Text>
<![CDATA[XIC(Start_Delay_Timer.TT)COP(Starting_String,Concatenated_String,1)CONCAT(Name,Concatenated_String,MCM.CMD.Log)OTE(Horn_O);]]>
<![CDATA[XIC(Start_Delay_Timer.TT)COP(Starting_String,Concatenated_String,1)CONCAT(HMI.Name,Concatenated_String,MCM.CMD.Log)OTE(Horn_O);]]>
</Text>
</Rung>
<Rung Number="32" Type="N">
@ -680,7 +722,7 @@
</Rung>
<Rung Number="34" Type="N">
<Text>
<![CDATA[XIC(Start_Delay_Timer.DN)[XIO(Maintenance_Mode) XIC(Interlock) GT(CTRL.CMD.Speed_FPM,0) XIO(Power_Saving_Mode) ,XIC(Maintenance_Mode) GT(HMI.Maintenance.Speed_FPM,0) ][OTE(Run) ,OTE(CTRL.STS.Enabled) ];]]>
<![CDATA[XIC(Start_Delay_Timer.DN)[XIO(Maintenance_Mode) XIC(Interlock) OTE(CTRL.STS.Enabled) GT(CTRL.CMD.Speed_FPM,0) XIO(Power_Saving_Mode) ,XIC(Maintenance_Mode) GT(HMI.Maintenance.Speed_FPM,0) ]OTE(Run);]]>
</Text>
</Rung>
<Rung Number="35" Type="N">
@ -769,7 +811,7 @@
</Rung>
<Rung Number="51" Type="N">
<Text>
<![CDATA[XIC(Communication_Faulted)OTE(HMI.Alarm.Communication_Fault);]]>
<![CDATA[XIC(Communication_Faulted)OTE(HMI.Alarm.Communication_Faulted);]]>
</Text>
</Rung>
<Rung Number="52" Type="N">
@ -784,10 +826,15 @@
</Rung>
<Rung Number="54" Type="N">
<Text>
<![CDATA[MOVE(Communication_Fault_Code,HMI.Communication_Fault_Code)MOVE(VFD_Fault_Code,HMI.VFD_Fault_Code)MOVE(Last_VFD_Fault_Code,HMI.Last_VFD_Fault_Code);]]>
<![CDATA[XIC(Maintenance_Mode)OTE(HMI.Alarm.Maintenance_Mode);]]>
</Text>
</Rung>
<Rung Number="55" Type="N">
<Text>
<![CDATA[MOVE(Communication_Fault_Code,HMI.Communication_Fault_Code)MOVE(VFD_Fault_Code,HMI.VFD_Fault_Code)MOVE(Last_VFD_Fault_Code,HMI.Last_VFD_Fault_Code);]]>
</Text>
</Rung>
<Rung Number="56" Type="N">
<Comment>
<![CDATA[Colors of Animation
]]>
@ -796,143 +843,143 @@
<![CDATA[XIO(CTRL.STS.MCM_Started)XIO(Running)MOVE(0,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="56" Type="N">
<Rung Number="57" Type="N">
<Text>
<![CDATA[XIC(CTRL.STS.MCM_Started)XIO(Running)MOVE(1,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="57" Type="N">
<Rung Number="58" Type="N">
<Text>
<![CDATA[XIC(Power_Saving_Mode)MOVE(3,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="58" Type="N">
<Rung Number="59" Type="N">
<Text>
<![CDATA[XIC(Running)MOVE(2,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="59" Type="N">
<Rung Number="60" Type="N">
<Text>
<![CDATA[XIC(Encoder_Fault)MOVE(13,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="60" Type="N">
<Rung Number="61" Type="N">
<Text>
<![CDATA[XIC(Maintenance_Mode)MOVE(6,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="61" Type="N">
<Rung Number="62" Type="N">
<Text>
<![CDATA[XIC(Maintenance_Mode)XIO(Maintenance_Running)MOVE(6,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="62" Type="N">
<Rung Number="63" Type="N">
<Text>
<![CDATA[XIC(Maintenance_Running)MOVE(61,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="63" Type="N">
<Rung Number="64" Type="N">
<Text>
<![CDATA[XIC(Maintenance_Jog_Mode)XIC(Start_Delay_Timer.DN)MOVE(61,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="64" Type="N">
<Rung Number="65" Type="N">
<Text>
<![CDATA[XIC(Full)MOVE(5,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="65" Type="N">
<Rung Number="66" Type="N">
<Text>
<![CDATA[XIC(Stopped_By_Station_PB)MOVE(14,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="66" Type="N">
<Rung Number="67" Type="N">
<Text>
<![CDATA[XIC(Disconnected)MOVE(131,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="67" Type="N">
<Rung Number="68" Type="N">
<Text>
<![CDATA[XIC(Jammed)MOVE(4,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="68" Type="N">
<Rung Number="69" Type="N">
<Text>
<![CDATA[XIC(Communication_Faulted)MOVE(7,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="69" Type="N">
<Rung Number="70" Type="N">
<Text>
<![CDATA[XIC(VFD_Fault_Reset_Required)MOVE(8,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="70" Type="N">
<Rung Number="71" Type="N">
<Text>
<![CDATA[XIC(EStopped)MOVE(9,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="71" Type="N">
<Rung Number="72" Type="N">
<Text>
<![CDATA[XIC(HMI.Maintenance.Start_PB_Pressed)MOVE(1,HMI.Maintenance.Buttons_State);]]>
</Text>
</Rung>
<Rung Number="72" Type="N">
<Rung Number="73" Type="N">
<Text>
<![CDATA[XIC(HMI.Maintenance.Stop_PB_Pressed)MOVE(2,HMI.Maintenance.Buttons_State);]]>
</Text>
</Rung>
<Rung Number="73" Type="N">
<Rung Number="74" Type="N">
<Text>
<![CDATA[XIO(HMI.Maintenance.Maintenance_Mode)MOVE(0,HMI.Maintenance.Buttons_State);]]>
</Text>
</Rung>
<Rung Number="74" Type="N">
<Rung Number="75" Type="N">
<Text>
<![CDATA[XIC(MCM.STS.Unacknowledge_All_Logs)MOVE(0,Acknowledge);]]>
</Text>
</Rung>
<Rung Number="75" Type="N">
<Text>
<![CDATA[[XIC(Disconnected) ONS(Acknowledge_ONS.0) OTU(Acknowledge.0) ,XIC(Disconnected) XIO(Acknowledge.0) COP(Disconnect_Off_String,Concatenated_String,1) CONCAT(Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge.0) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
</Text>
</Rung>
<Rung Number="76" Type="N">
<Text>
<![CDATA[[XIC(VFD_Faulted) ONS(Acknowledge_ONS.1) OTU(Acknowledge.1) ,XIC(VFD_Faulted) XIO(Acknowledge.1) COP(VFD_Fault_String,Concatenated_String,1) CONCAT(Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge.1) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
<![CDATA[[XIC(Disconnected) ONS(Acknowledge_ONS.0) OTU(Acknowledge.0) ,XIC(Disconnected) XIO(Acknowledge.0) COP(Disconnect_Off_String,Concatenated_String,1) CONCAT(HMI.Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge.0) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
</Text>
</Rung>
<Rung Number="77" Type="N">
<Text>
<![CDATA[[XIC(Communication_Faulted) ONS(Acknowledge_ONS.3) OTU(Acknowledge.3) ,XIC(Communication_Faulted) XIO(Acknowledge.3) COP(Lost_Comm_String,Concatenated_String,1) CONCAT(Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge.3) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
<![CDATA[[XIC(VFD_Faulted) ONS(Acknowledge_ONS.1) OTU(Acknowledge.1) ,XIC(VFD_Faulted) XIO(Acknowledge.1) COP(VFD_Fault_String,Concatenated_String,1) CONCAT(HMI.Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge.1) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
</Text>
</Rung>
<Rung Number="78" Type="N">
<Text>
<![CDATA[[XIC(Jammed) ONS(Acknowledge_ONS.4) OTU(Acknowledge.4) ,XIC(Jammed) XIO(Acknowledge.4) COP(Jam_String,Concatenated_String,1) CONCAT(Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge.4) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
<![CDATA[[XIC(Communication_Faulted) ONS(Acknowledge_ONS.3) OTU(Acknowledge.3) ,XIC(Communication_Faulted) XIO(Acknowledge.3) COP(Lost_Comm_String,Concatenated_String,1) CONCAT(HMI.Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge.3) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
</Text>
</Rung>
<Rung Number="79" Type="N">
<Text>
<![CDATA[[XIC(Full) ONS(Acknowledge_ONS.5) OTU(Acknowledge.5) ,XIC(Full) XIO(Acknowledge.5) COP(Full_String,Concatenated_String,1) CONCAT(Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge.5) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
<![CDATA[[XIC(Jammed) ONS(Acknowledge_ONS.4) OTU(Acknowledge.4) ,XIC(Jammed) XIO(Acknowledge.4) COP(Jam_String,Concatenated_String,1) CONCAT(HMI.Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge.4) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
</Text>
</Rung>
<Rung Number="80" Type="N">
<Text>
<![CDATA[NOP();]]>
<![CDATA[[XIC(Full) ONS(Acknowledge_ONS.5) OTU(Acknowledge.5) ,XIC(Full) XIO(Acknowledge.5) COP(Full_String,Concatenated_String,1) CONCAT(HMI.Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge.5) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
</Text>
</Rung>
<Rung Number="81" Type="N">
<Text>
<![CDATA[XIC(HMI.Maintenance.Start_PB_Pressed)OTU(HMI.Maintenance.Start_PB_Pressed);]]>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="82" Type="N">
<Text>
<![CDATA[XIC(HMI.Maintenance.Stop_PB_Pressed)OTU(HMI.Maintenance.Stop_PB_Pressed);]]>
<![CDATA[XIC(HMI.Maintenance.Start_PB_Pressed)OTU(HMI.Maintenance.Start_PB_Pressed);]]>
</Text>
</Rung>
<Rung Number="83" Type="N">
<Text>
<![CDATA[XIC(HMI.Maintenance.Stop_PB_Pressed)OTU(HMI.Maintenance.Stop_PB_Pressed);]]>
</Text>
</Rung>
<Rung Number="84" Type="N">
<Text>
<![CDATA[OTU(CTRL.CMD.Start)OTU(CTRL.CMD.Stop_Require_Start)OTU(CTRL.CMD.Stop_Auto_Restart)OTU(CTRL.CMD.Encoder_Fault)OTU(CTRL.CMD.Jammed)OTU(CTRL.CMD.Full)OTU(CTRL.CMD.Run_Up_Enabled)OTU(CTRL.CMD.Stopped_By_Stop_PB)COP(Empty_String,CTRL.CMD.Log,1);]]>
</Text>
</Rung>
@ -941,9 +988,9 @@
<Routine Name="Prescan" Type="RLL"/>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_APF"/>
<Dependency Type="DataType" Name="UDT_CTRL_DPM"/>
<Dependency Type="DataType" Name="UDT_HMI_APF"/>
<Dependency Type="DataType" Name="UDT_CTRL_VFD"/>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK"/>
<Dependency Type="DataType" Name="UDT_HMI_VFD"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM"/>
</Dependencies>
</AddOnInstructionDefinition>

View File

@ -1,440 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_D2C_CHUTE" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-06-22T12:55:40.502Z" ContainsContext="true" ExportDate="Mon Jun 23 16:37:54 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_D2C_CHUTE" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-11T03:28:10.053Z" ContainsContext="true" ExportDate="Fri Jul 11 15:59:55 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="Banner_ZMX_Control" Class="Standard" Revision="1.2" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2022-12-21T15:11:52.057Z" CreatedBy="DUKE\jpreisen" EditedDate="2025-06-17T14:41:08.899Z" EditedBy="LCIBATUMI\ilia.gurielidze"
SoftwareRevision="v36.00">
<RevisionNote>
<![CDATA[Cyclic operation timing adjusted. Now waits 600 msecs instead of 300 after Cyclic Bit is turned on. Also the error timer is now 5 seconds instead of 3.]]>
</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="BinFill_Update" TagType="Base" DataType="BOOL" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Cyclic_Update" TagType="Base" DataType="BOOL" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false"/>
<Parameter Name="ZMX_Raw_Inputs" TagType="Base" DataType="INT" Dimensions="68" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false"/>
<Parameter Name="ZMX_Raw_Outputs" TagType="Base" DataType="INT" Dimensions="40" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false"/>
<Parameter Name="ZMX_Status" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="ZMX" TagType="Base" DataType="Banner_ZMX_Data" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Parameter_Update" TagType="Base" DataType="Banner_ZMX_Full_Recipe" Usage="InOut" Required="true" Visible="true" Constant="false">
<Comments>
<Comment Operand=".TRIGGER_MODE">
<![CDATA[Check Data 1]]>
</Comment>
<Comment Operand=".PEAK_HEIGHT_LIMIT_SETPOINT">
<![CDATA[Check Data 2]]>
</Comment>
<Comment Operand=".DISCRETE_OUTPUT_1_CONTROL_MODE">
<![CDATA[Check Data 3]]>
</Comment>
<Comment Operand=".DISCRETE_OUTPUT_2_CONTROL_MODE">
<![CDATA[Check Data 4]]>
</Comment>
<Comment Operand=".ROI_ANCHOR_X">
<![CDATA[Check Data 5]]>
</Comment>
<Comment Operand=".ROI_ANCHOR_Y">
<![CDATA[Check Data 6]]>
</Comment>
<Comment Operand=".ROI_ANCHOR_Z">
<![CDATA[Check Data 7]]>
</Comment>
<Comment Operand=".ROI_LENGTH_X">
<![CDATA[Check Data 8]]>
</Comment>
<Comment Operand=".ROI_LENGTH_Y">
<![CDATA[Check Data 9]]>
</Comment>
<Comment Operand=".ROI_LENGTH_Z">
<![CDATA[Check Data 10]]>
</Comment>
</Comments>
</Parameter>
<Parameter Name="Busy" 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="Done" 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="Bin_Error" 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="Cyclic_Error" 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="Comms_Error" 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="Sensor_Fault" TagType="Base" DataType="INT" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<DefaultData Format="Decorated">
<DataValue DataType="INT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Config_Error" TagType="Base" DataType="INT" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<DefaultData Format="Decorated">
<DataValue DataType="INT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="Local" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="InData" DataType="INT" Dimensions="70" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<Array DataType="INT" Dimensions="70" Radix="Decimal">
<Element Index="[0]" Value="0"/>
<Element Index="[1]" Value="0"/>
<Element Index="[2]" Value="0"/>
<Element Index="[3]" Value="0"/>
<Element Index="[4]" Value="0"/>
<Element Index="[5]" Value="0"/>
<Element Index="[6]" Value="0"/>
<Element Index="[7]" Value="0"/>
<Element Index="[8]" Value="0"/>
<Element Index="[9]" Value="0"/>
<Element Index="[10]" Value="0"/>
<Element Index="[11]" Value="0"/>
<Element Index="[12]" Value="0"/>
<Element Index="[13]" Value="0"/>
<Element Index="[14]" Value="0"/>
<Element Index="[15]" Value="0"/>
<Element Index="[16]" Value="0"/>
<Element Index="[17]" Value="0"/>
<Element Index="[18]" Value="0"/>
<Element Index="[19]" Value="0"/>
<Element Index="[20]" Value="0"/>
<Element Index="[21]" Value="0"/>
<Element Index="[22]" Value="0"/>
<Element Index="[23]" Value="0"/>
<Element Index="[24]" Value="0"/>
<Element Index="[25]" Value="0"/>
<Element Index="[26]" Value="0"/>
<Element Index="[27]" Value="0"/>
<Element Index="[28]" Value="0"/>
<Element Index="[29]" Value="0"/>
<Element Index="[30]" Value="0"/>
<Element Index="[31]" Value="0"/>
<Element Index="[32]" Value="0"/>
<Element Index="[33]" Value="0"/>
<Element Index="[34]" Value="0"/>
<Element Index="[35]" Value="0"/>
<Element Index="[36]" Value="0"/>
<Element Index="[37]" Value="0"/>
<Element Index="[38]" Value="0"/>
<Element Index="[39]" Value="0"/>
<Element Index="[40]" Value="0"/>
<Element Index="[41]" Value="0"/>
<Element Index="[42]" Value="0"/>
<Element Index="[43]" Value="0"/>
<Element Index="[44]" Value="0"/>
<Element Index="[45]" Value="0"/>
<Element Index="[46]" Value="0"/>
<Element Index="[47]" Value="0"/>
<Element Index="[48]" Value="0"/>
<Element Index="[49]" Value="0"/>
<Element Index="[50]" Value="0"/>
<Element Index="[51]" Value="0"/>
<Element Index="[52]" Value="0"/>
<Element Index="[53]" Value="0"/>
<Element Index="[54]" Value="0"/>
<Element Index="[55]" Value="0"/>
<Element Index="[56]" Value="0"/>
<Element Index="[57]" Value="0"/>
<Element Index="[58]" Value="0"/>
<Element Index="[59]" Value="0"/>
<Element Index="[60]" Value="0"/>
<Element Index="[61]" Value="0"/>
<Element Index="[62]" Value="0"/>
<Element Index="[63]" Value="0"/>
<Element Index="[64]" Value="0"/>
<Element Index="[65]" Value="0"/>
<Element Index="[66]" Value="0"/>
<Element Index="[67]" Value="0"/>
<Element Index="[68]" Value="0"/>
<Element Index="[69]" Value="0"/>
</Array>
</DefaultData>
</LocalTag>
<LocalTag Name="Timer1" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="3000"/>
<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="Timer2" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="5000"/>
<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="Value" DataType="DINT" Dimensions="2" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<Array DataType="DINT" 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[Convert Raw data into usable data.]]>
</Comment>
<Text>
<![CDATA[CPS(ZMX_Raw_Inputs[0],InData[0],8)CPS(ZMX_Raw_Inputs[15],InData[16],27)CPS(ZMX_Raw_Inputs[45],InData[47],14)CPS(InData[0],ZMX.Data_In,1)CPS(ZMX.Data_Out,ZMX_Raw_Outputs[0],42);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Comment>
<![CDATA[Unevenness Calculation]]>
</Comment>
<Text>
<![CDATA[CPT(Value[0],(ZMX.Data_In.Peak_Height*100)/ZMX.Data_In.ROI_Height_Z);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[[GT(Value[0],100) MOVE(100,Value[1]) ,LE(Value[0],100) MOVE(Value[0],Value[1]) ,SUB(Value[1],ZMX.Data_In.Fill_Level_Percent,ZMX.Unevenness) ];]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Comment>
<![CDATA[Sensor Fault Codes
0 = Online
1 = EEPROM Timeout
2 = EEPROM Failure
4 = Acquistion Error
5 = Internal Temperature Error
6 = Illumination Temperature Error
7 = Main Sensor Temperature Error
8 = Acquistion Error 2
11 = Laser Operation Error
20 = Internal Test Error
21 = Internal Read Error
22 = Internal Write Error
30 = Laser Power Test Error
31 = Laser Power Read Error
32 = Laser Power Write Error
1000 = Acquistion Error 3
1011 to 1017 = Internal Flash Errors
30000 to 32000 = Boot Loader Error]]>
</Comment>
<Text>
<![CDATA[MOVE(ZMX.Data_In.Sensor_Fault_Code,Sensor_Fault);]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Comment>
<![CDATA[Configuration Error Codes
110 = Illumintion power < 1
111 = Illumincatino Power > 100
120 = Invalid Trigger Mode
130 = Trigger Period < 200 ms
131 = Trigger Perdio > 60000 ms
140 = Pitch Angle < -4500
141 = Pitch Angle > 4500
150 = Roll Angle < -4500
151 = Roll Angle > 4500
160 = Yaw Angle < -18000
161 = Yaw Angle > 18000
300 = Invalid Discrete Output
2000 = Anchor Point X < -2500
2001 = Anchor Point X > 2500
2010 = Anchor Point Y < -2500
2011 = Anchor Point Y > 2500
2020 = Anchor Point Z < -2500
2021 = Anchor Point Z > 2500
2030 = Bin Length X < 50
2031 = Bin Length X > 5000
2040 = Bin Width < 50
2041 = Bin Width > 5000
2050 = Bin Width < 50
2051 = Bin Width > 5000
2052 = Invalid Bin Height
2060 = Fill Level Setpoint < 0
2061 = Fill Level Setpoint > 200
2080 = Peak Height Setpoint < 0
2081 = Peak Height Setpoint > Bin Height Z
2100 = Discrete Out 1 Selection Invalid
2110 = Discrete Out 2 Selectino Invalid]]>
</Comment>
<Text>
<![CDATA[MOVE(ZMX.Data_In.Conf_Error_Code,Config_Error);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Comment>
<![CDATA[Communication Check Logic
Not Available at thsi time.]]>
</Comment>
<Text>
<![CDATA[XIC(ZMX_Status)OTE(Comms_Error);]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Comment>
<![CDATA[*** Bin Fill Update Section ***]]>
</Comment>
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Comment>
<![CDATA[Stop any manual update of the ZMX.]]>
</Comment>
<Text>
<![CDATA[XIO(BinFill_Update)OTU(ZMX.Data_Out.Control_Bits.0);]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
<Comment>
<![CDATA[Check that data updated correctly.]]>
</Comment>
<Text>
<![CDATA[XIC(Local.0)[XIO(ZMX.Data_In.Input_Ack.15) XIC(ZMX.Data_In.Input_Ack.0) OTL(Local.1) ,XIC(Timer1.DN) OTL(Bin_Error) OTL(Local.1) ];]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Comment>
<![CDATA[Move data from the recipe into the output assembly. The data will be sent to the ZMX after this. ]]>
</Comment>
<Text>
<![CDATA[XIC(BinFill_Update)XIO(Local.0)EQ(Timer1.ACC,0)CPS(Parameter_Update.Fill_Level_Limit_Setpoint_Percent,ZMX.Data_Out.Fill_Level_Limit_Setpoint_Percent,12)OTL(Busy)OTU(Bin_Error)OTU(Done)OTL(Local.0);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Comment>
<![CDATA[Start Timer. Timer used to determine when an update error has occurred.]]>
</Comment>
<Text>
<![CDATA[XIC(Local.0)TON(Timer1,?,?);]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Comment>
<![CDATA[Activate bit that controls the data update.]]>
</Comment>
<Text>
<![CDATA[XIC(Local.0)GE(Timer1.ACC,300)OTL(ZMX.Data_Out.Control_Bits.0);]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
<Comment>
<![CDATA[Reset tags used for this operation. Set bit to done.]]>
</Comment>
<Text>
<![CDATA[XIC(Local.1)OTU(ZMX.Data_Out.Control_Bits.0)MOVE(0,Local)OTU(Busy)OTL(Done)OTU(BinFill_Update);]]>
</Text>
</Rung>
<Rung Number="13" Type="N">
<Comment>
<![CDATA[*** Update Cyclic Data Section ***]]>
</Comment>
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="14" Type="N">
<Text>
<![CDATA[XIO(Cyclic_Update)OTU(ZMX.Data_Out.Control_Bits.14);]]>
</Text>
</Rung>
<Rung Number="15" Type="N">
<Comment>
<![CDATA[Wait for cyclic update completion.]]>
</Comment>
<Text>
<![CDATA[XIC(Local.11)XIO(Local.12)EQ(Parameter_Update.Trigger_Mode,ZMX.Data_In.Trigger_Mode)EQ(Parameter_Update.Trigger_Period,ZMX.Data_In.Trigger_Period)EQ(Parameter_Update.Illumination_Power,ZMX.Data_In.Illumination_Power_Percent)EQ(Parameter_Update.Pitch_Angle,ZMX.Data_In.Pitch_Angle)EQ(Parameter_Update.Roll_Angle,ZMX.Data_In.Roll_Angle)EQ(Parameter_Update.Yaw_Angle,ZMX.Data_In.Yaw_Angle)EQ(Parameter_Update.Discrete_IO_Polarity,ZMX.Data_In.Discrete_IO_Polarity)OTL(Local.12);]]>
</Text>
</Rung>
<Rung Number="16" Type="N">
<Comment>
<![CDATA[Generate error for cyclic update.]]>
</Comment>
<Text>
<![CDATA[XIC(Local.11)XIO(Local.12)XIC(Timer2.DN)OTL(Cyclic_Error)OTL(Local.12);]]>
</Text>
</Rung>
<Rung Number="17" Type="N">
<Comment>
<![CDATA[When Cyclic request is activated start update process.]]>
</Comment>
<Text>
<![CDATA[XIC(Cyclic_Update)XIO(Local.10)EQ(Timer2.ACC,0)OTL(Busy)OTU(Cyclic_Error)OTU(Done)OTL(ZMX.Data_Out.Control_Bits.14)OTL(Local.10);]]>
</Text>
</Rung>
<Rung Number="18" Type="N">
<Comment>
<![CDATA[Start Timer. Timer used to determine when an update error has occurred.]]>
</Comment>
<Text>
<![CDATA[XIC(Local.10)TON(Timer2,?,?);]]>
</Text>
</Rung>
<Rung Number="19" Type="N">
<Comment>
<![CDATA[Move data to update cyclic parameters.]]>
</Comment>
<Text>
<![CDATA[XIC(Local.10)XIO(Local.12)GE(Timer2.ACC,600)CPS(Parameter_Update.Trigger_Mode,ZMX.Data_Out.Trigger_Mode,3)CPS(Parameter_Update.Pitch_Angle,ZMX.Data_Out.Pitch_Angle,3)MOVE(Parameter_Update.Discrete_IO_Polarity,ZMX.Data_Out.Discrete_IO_Polarity)OTL(Local.11);]]>
</Text>
</Rung>
<Rung Number="20" Type="N">
<Comment>
<![CDATA[Complete Cyclic Update operation. Reset tags used for process.]]>
</Comment>
<Text>
<![CDATA[XIC(Local.12)OTU(Busy)OTL(Done)MOVE(0,Local)OTU(Cyclic_Update);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="Banner_ZMX_Full_Recipe"/>
<Dependency Type="DataType" Name="Banner_ZMX_Data"/>
</Dependencies>
</AddOnInstructionDefinition>
<AddOnInstructionDefinition Use="Target" Name="AOI_D2C_CHUTE" Class="Standard" Revision="1.0" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-06-03T10:55:21.713Z" CreatedBy="LCIBATUMI\ilia.gurielidze" EditedDate="2025-06-22T12:55:40.502Z" EditedBy="LCIBATUMI\gigi.mamaladze"
<AddOnInstructionDefinition Use="Target" Name="AOI_D2C_CHUTE" Class="Standard" Revision="1.0" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-06-03T10:55:21.713Z" CreatedBy="LCIBATUMI\ilia.gurielidze" EditedDate="2025-07-11T03:28:10.053Z" EditedBy="LCIBATUMI\ilia.gurielidze"
SoftwareRevision="v36.00">
<Parameters>
<Parameter Name="EnableIn" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
@ -452,13 +20,13 @@ Not Available at thsi time.]]>
<Parameter Name="Station" TagType="Base" DataType="UDT_CTRL_STATION_JR_CHUTE" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="ZMX_Raw_Inputs" TagType="Base" DataType="INT" Dimensions="68" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false"/>
<Parameter Name="ZMX_Raw_Outputs" TagType="Base" DataType="INT" Dimensions="40" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false"/>
<Parameter Name="DPM" TagType="Base" DataType="UDT_CTRL_DPM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="DPM" TagType="Base" DataType="UDT_CTRL_IO_BLOCK" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="GS_PB_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Gaylord Start PushButton Input]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="1"/>
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="GS_PB_Light_O" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read Only">
@ -502,17 +70,11 @@ Not Available at thsi time.]]>
</DefaultData>
</Parameter>
<Parameter Name="Full" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="None">
<Description>
<![CDATA[Gaylord is Full]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Half_Full" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="None">
<Description>
<![CDATA[Gaylord is Half Full]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -574,16 +136,6 @@ Not Available at thsi time.]]>
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="OIP_Half_Full" 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="OIP_Full" 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>
</Parameters>
<LocalTags>
<LocalTag Name="Ready_To_Be_Enabled" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
@ -591,7 +143,7 @@ Not Available at thsi time.]]>
<![CDATA[Gaylord Ready To Be Enabled]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="1"/>
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Flip_Flop" DataType="AOI_FLIP_FLOP" ExternalAccess="None">
@ -881,6 +433,90 @@ Not Available at thsi time.]]>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[D2C Chute AOI
Description
The chute accepts cartons from the sorter only when a container (cart, tall shuttle, or short shuttle) is docked and there is room. A Banner ZMX sensor supplies container identity and fill-level data; the AOI translates those raw bits, drives the beacons, lets the operator enable the chute with a green-start push-button, and sends a Ready signal back to the sorter.
Container identification
Sensor bits 2-3-4 = 1-1-1 → Tall Shuttle Present
0-1-1 → Cart Present
0-0-1 → Short Shuttle Present
All 0 → No Container
If a cart is detected the AOI immediately loads a cart-specific parameter block into the ZMX (fill-limit, ROI, etc.).
Capacity flags
With comms healthy and the sensor fault-free
Half Full latches when fill level 5095 %.
Full latches when fill level ≥ 95 %.
Blue beacon: solid for half-full (1), flash for full (2), off (0) otherwise.
Enable sequence
When a container is present, the chute is not jammed or full, and the ZMX is happy, Ready To Be Enabled turns on:
green beacon flashes (code 2)
green-start PB lamp flashes.
Pressing the physical or HMI green-start PB toggles Enabled.
Enabled = true green beacon solid (code 1).
Enabled = false beacon off (code 0).
Ready signal to sorter
Ready (mirrored to CTRL.STS.Ready) is asserted only when
• Enabled is true
• No Container is false
• Full is false
• Jammed is false
When Ready is high the sorter diverts cartons to this chute.
Jam handling
A jam reported by the upstream station latches Jammed and blocks Ready; the jam is cleared by Station.STS.Jam_Reset_Requested.
HMI.STATE codes
0 disabled1 no container2 ready-to-enable3 enabled4 half-full5 full6 jammed.
Command bits (received)
Station & systemStation.STS.JammedStation.STS.Jam_Reset_RequestedDPM.STS.Communication_Faulted
Banner blockZMX_* (raw I/O and status via Banner_ZMX_Control)
OperatorGS_PB_IHMI.GS_PBHMI.TimeOut
Status bits (set)
CTRL.STS.JammedCTRL.STS.Half_FullCTRL.STS.Full
CTRL.STS.EnabledCTRL.STS.Ready
BusyDoneBin_ErrorCyclic_ErrorComms_Error
Tall_Shuttle_PresentCart_PresentShort_Shuttle_PresentNo_Container
Half_FullFullReady_To_Be_EnabledEnabledReady
B_Beacon_Segment_Animation_OG_Beacon_Segment_Animation_OGS_PB_Light_O
HMI bits
HMI.GS_PB
HMI.TimeOut
HMI.STATE
HMI.Alarms.DisabledHalf_FullFullJammedGS_PB_PressedNo_Container
Alarm bits
HMI.Alarms.Disabled chute disabled
HMI.Alarms.Half_Full half-full latched
HMI.Alarms.Full full latched
HMI.Alarms.Jammed jammed latched
HMI.Alarms.GS_PB_Pressed green-start PB held
HMI.Alarms.No_Container no container present
]]>
</Comment>
<Text>
<![CDATA[Banner_ZMX_Control(ZMX_Control,BinFill_Update,Cyclic_Update,ZMX_Raw_Inputs,ZMX_Raw_Outputs,ZMX_Status,ZMX,Parameter_Update);]]>
</Text>
@ -917,7 +553,7 @@ Not Available at thsi time.]]>
</Rung>
<Rung Number="7" Type="N">
<Text>
<![CDATA[XIO(DPM.STS.Communication_Faulted)[XIO(ZMX.Data_In.Reserved1.2) XIC(ZMX.Data_In.Reserved1.3) XIC(ZMX.Data_In.Reserved1.4) ,XIC(Test_Cart) ]OTE(Cart_Present);]]>
<![CDATA[XIO(DPM.STS.Communication_Faulted)XIO(ZMX.Data_In.Reserved1.2)XIC(ZMX.Data_In.Reserved1.3)XIC(ZMX.Data_In.Reserved1.4)OTE(Cart_Present);]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
@ -932,12 +568,12 @@ Not Available at thsi time.]]>
</Rung>
<Rung Number="10" Type="N">
<Text>
<![CDATA[XIO(DPM.STS.Communication_Faulted)[XIO(ZMX_Control.Comms_Error) EQ(ZMX_Control.Sensor_Fault,0) LIMIT(50,ZMX.Data_In.Fill_Level_Percent,95) ,XIC(OIP_Half_Full) MOVE(1000,Half_Full_Air_Time.PRE) TON(Half_Full_Air_Time,?,?) XIC(Half_Full_Air_Time.DN) ]OTE(Half_Full);]]>
<![CDATA[XIO(DPM.STS.Communication_Faulted)XIO(ZMX_Control.Comms_Error)EQ(ZMX_Control.Sensor_Fault,0)LIMIT(50,ZMX.Data_In.Fill_Level_Percent,95)OTE(Half_Full);]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Text>
<![CDATA[XIO(DPM.STS.Communication_Faulted)[XIO(ZMX_Control.Comms_Error) EQ(ZMX_Control.Sensor_Fault,0) LIMIT(95,ZMX.Data_In.Fill_Level_Percent,100) ,XIC(OIP_Full) MOVE(1000,Full_Air_Time.PRE) TON(Full_Air_Time,?,?) XIC(Full_Air_Time.DN) ]OTE(Full);]]>
<![CDATA[XIO(DPM.STS.Communication_Faulted)XIO(ZMX_Control.Comms_Error)EQ(ZMX_Control.Sensor_Fault,0)LIMIT(95,ZMX.Data_In.Fill_Level_Percent,100)OTE(Full);]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
@ -1092,17 +728,12 @@ Not Available at thsi time.]]>
<![CDATA[MOVE(0,G_Beacon_Segment_Color_O)MOVE(9,B_Beacon_Segment_Color_O);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[OTL(Cart_Present);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_D2C_CHUTE"/>
<Dependency Type="DataType" Name="UDT_CTRL_DPM"/>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK"/>
<Dependency Type="AddOnInstructionDefinition" Name="AOI_FLIP_FLOP"/>
<Dependency Type="DataType" Name="UDT_HMI_D2C_CHUTE"/>
<Dependency Type="DataType" Name="Banner_ZMX_Full_Recipe"/>

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--DATA POWER MODULE-->
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_DPM" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-06-30T13:15:09.554Z" ContainsContext="true" ExportDate="Mon Jun 30 17:50:10 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_DPM" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-11T06:08:04.500Z" ContainsContext="true" ExportDate="Fri Jul 11 16:00:04 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_DPM" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2021-06-02T10:38:08.709Z" CreatedBy="KONON\Artem" EditedDate="2025-06-30T13:15:09.554Z" EditedBy="LCIBATUMI\gigi.mamaladze"
SoftwareRevision="v36.00">
<AddOnInstructionDefinition Use="Target" Name="AOI_DPM" Class="Standard" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2021-06-02T10:38:08.709Z" CreatedBy="KONON\Artem" EditedDate="2025-07-11T06:08:04.500Z"
EditedBy="LCIBATUMI\ilia.gurielidze" SoftwareRevision="v36.00">
<Description>
<![CDATA[DATA POWER MODULE]]>
</Description>
@ -19,9 +19,14 @@
<![CDATA[Enable Output - System Defined Parameter]]>
</Description>
</Parameter>
<Parameter Name="HMI" TagType="Base" DataType="UDT_HMI_DPM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_DPM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="HMI" TagType="Base" DataType="UDT_HMI_IO_BLOCK" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_IO_BLOCK" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="MCM" TagType="Base" DataType="UDT_CTRL_MCM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="EN4TR_Communication_Fault" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Communication_Faulted" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
@ -30,14 +35,13 @@
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="DPM_I" TagType="Base" DataType="_027A:OS30_002404_2S_E8411017:I:0" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Communication_Fault" TagType="Base" DataType="BOOL" Usage="InOut" Radix="Decimal" Required="true" Visible="true" Constant="false">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="CommFCode" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="MSG_Tmr" DataType="TIMER" ExternalAccess="None">
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
@ -60,29 +64,6 @@
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="AckONS" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Ack" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Concat_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[Concat String]]>
</Description>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="CommFaultLatch" 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[Sring for Log]]>
@ -91,18 +72,7 @@
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Comms_Striing" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[Lost Communictaon]]>
</Description>
<DefaultData Format="String" Length="18">
<![CDATA[' Lost Communictaon']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Empty_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[Empty String]]>
</Description>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
@ -131,21 +101,52 @@
</DefaultData>
</LocalTag>
<LocalTag Name="Name" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[DPM Name
]]>
</Description>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Ack" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[DPM Octopus-Switch Communication Monitor
The routine monitors its own Ethernet link together with the upstream EN4TR rack adapter.
If either path is lost, it turns on Communication_Faulted and mirrors that state to CTRL.STS.Communication_Faulted, allowing higher-level blocks to see the break.
HMI.STATE is set to 0 while communications are good and 1 whenever any link is lost.
An HMI alarm is generated only when the switch itself is faulted while the EN4TR adapter remains healthy, ensuring that alarms are not duplicated up the chain.
Whenever a loss occurs, the code builds a text line such as “<Switch HMI.Name> — Lost Communication”, places it in MCM.CMD.Log, and increments MCM.CMD.Log_Quantity.
If the same line later appears in MCM.STS.Acknowledge_Log, the routine latches Acknowledge and clears the entry so the log stays current.
The command bit MCM.STS.Unacknowledge_All_Logs resets the Acknowledge latch, guaranteeing that the next loss of communication will produce a fresh message.
Command bits
The routine receives Communication_Fault from its own port monitor.
The routine receives EN4TR_Communication_Fault from the rack adapter.
The routine receives MCM.STS.Unacknowledge_All_Logs to clear the acknowledge latch.
Status bits
The routine sets Communication_Faulted when either link is down.
The routine sets CTRL.STS.Communication_Faulted with the same value.
HMI bits
The HMI displays HMI.STATE as 0 for healthy and 1 for faulted.
The HMI raises HMI.Alarm.Communication_Faulted only while Communication_Faulted is true and EN4TR_Communication_Fault is false.
Alarm bits
The system raises HMI.Alarm.Communication_Faulted whenever the switch itself loses communication and the EN4TR adapter is still online.
]]>
</Comment>
<Text>
<![CDATA[[XIC(DPM_I.ConnectionFaulted) ,XIC(MCM.STS.Communication_Faulted) ][OTE(Communication_Faulted) ,OTE(CTRL.STS.Communication_Faulted) ];]]>
<![CDATA[[XIC(Communication_Fault) ,XIC(EN4TR_Communication_Fault) ][OTE(Communication_Faulted) ,OTE(CTRL.STS.Communication_Faulted) ];]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
@ -160,7 +161,7 @@
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIC(Communication_Faulted)XIO(MCM.STS.Communication_Faulted)OTE(HMI.Alarm.Communication_Fault);]]>
<![CDATA[XIC(Communication_Faulted)XIO(EN4TR_Communication_Fault)OTE(HMI.Alarm.Communication_Faulted);]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
@ -170,7 +171,7 @@
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[[XIC(Communication_Faulted) ONS(Acknowledge_ONS) OTU(Acknowledge) ,XIC(Communication_Faulted) XIO(Acknowledge) COP(Lost_Communication_String,Concatenated_String,1) CONCAT(Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
<![CDATA[[XIC(Communication_Faulted) ONS(Acknowledge_ONS) OTU(Acknowledge) ,XIC(Communication_Faulted) XIO(Acknowledge) COP(Lost_Communication_String,Concatenated_String,1) CONCAT(HMI.Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
</Text>
</Rung>
</RLLContent>
@ -186,8 +187,8 @@
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_DPM"/>
<Dependency Type="DataType" Name="UDT_HMI_DPM"/>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK"/>
<Dependency Type="DataType" Name="UDT_HMI_IO_BLOCK"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM"/>
</Dependencies>
</AddOnInstructionDefinition>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_EXTENDO" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-06-27T19:01:16.824Z" ContainsContext="true" ExportDate="Fri Jun 27 23:13:41 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_EXTENDO" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-11T06:08:28.728Z" ContainsContext="true" ExportDate="Fri Jul 11 16:00:14 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_EXTENDO" Revision="1.0" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-06-24T07:04:00.824Z" CreatedBy="LCIBATUMI\gigi.mamaladze" EditedDate="2025-06-27T19:01:16.824Z" EditedBy="LCIBATUMI\gigi.mamaladze" SoftwareRevision="v36.00"
>
<AddOnInstructionDefinition Use="Target" Name="AOI_EXTENDO" Class="Standard" Revision="1.0" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-06-24T07:04:00.824Z" CreatedBy="LCIBATUMI\gigi.mamaladze" EditedDate="2025-07-11T06:08:28.728Z" EditedBy="LCIBATUMI\ilia.gurielidze"
SoftwareRevision="v36.00">
<Parameters>
<Parameter Name="EnableIn" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<Description>
@ -17,10 +17,10 @@
</Parameter>
<Parameter Name="HMI" TagType="Base" DataType="UDT_HMI_EXTENDO" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_EXTENDO" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Extendo_O" TagType="Base" DataType="_04E3:6ES7158_3MU10_0XA0_7E6CF713:I:0" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Extendo_I" TagType="Base" DataType="_04E3:6ES7158_3MU10_0XA0_78F5E13D:O:0" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Extendo_O" TagType="Base" DataType="_04E3:6ES7158_3MU10_0XA0_F94A7390:I:0" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Extendo_I" TagType="Base" DataType="_04E3:6ES7158_3MU10_0XA0_DD7B81FB:O:0" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="MCM" TagType="Base" DataType="UDT_CTRL_MCM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="DPM" TagType="Base" DataType="UDT_CTRL_DPM" Usage="InOut" Required="true" Visible="true" Constant="false">
<Parameter Name="DPM" TagType="Base" DataType="UDT_CTRL_IO_BLOCK" Usage="InOut" Required="true" Visible="true" Constant="false">
<Description>
<![CDATA[Communication Faulted To Parent (DPM)]]>
</Description>
@ -42,17 +42,11 @@
</DefaultData>
</Parameter>
<Parameter Name="Extendo_Faulted" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[Extend Faulted]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Extendo_Faulted_Reset_Required" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Extendo Fault Reset Required]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -66,33 +60,21 @@
</DefaultData>
</Parameter>
<Parameter Name="Full" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Extendo Full]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Power_Saving_Mode" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Extendo is Running in Power Saving Mode]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="No_Interlock" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[No Interlock]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="MCM_Not_Started" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[MCM Not Started]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -155,50 +137,31 @@
</DefaultData>
</LocalTag>
<LocalTag Name="No_Faults" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Extendo Dont Have Any Faults]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Allow_Loading" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Allow Extendo Loading]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Running" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Extendo Running]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Interlock" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Interlock]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Loading_Mode" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Loading Mode Enabled]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Unloading_Mode" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Unloading Mode Enabled
]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -249,11 +212,130 @@
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Name" DataType="STRING" ExternalAccess="None">
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Concatenated_String" DataType="STRING" ExternalAccess="None">
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Empty_String" DataType="STRING" ExternalAccess="None">
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Acknowledge_ONS" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Acknowledge" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Lost_Comm_String" DataType="STRING" ExternalAccess="None">
<DefaultData Format="String" Length="10">
<![CDATA[' LOST COMM']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Full_String" DataType="STRING" ExternalAccess="None">
<DefaultData Format="String" Length="6">
<![CDATA[' FULL']]>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[EXTENDO Telescopic Conveyor (Caljan)
Function
The Extendo AOI exchanges a block of I/O with the Caljan controller. It enables Ethernet control, watches the controllers health, and decides when loading may begin. All faults are logged to the MCM and presented on the HMI in the same “push / acknowledge” pattern used by every conveyor AOI.
Operating logic
Communication monitoring
Caljan_Output.ConnectionFaulted sets Communication Faulted; a rack-level break reported by DPM.STS.Communication_Faulted does the same.
While the fault is present an alarm is raised and a “Lost Communication” message is sent to the MCM log.
Extendo fault detection
If Caljan_Output.Healthy is false the AOI sets Extendo Faulted and latches Extendo Faulted Reset Required.
A reset command is issued when either the HMI “Faults Reset” PB or MCM.STS.VFD_Fault_Reset_Requested is true.
Interlock
CTRL.CMD.Interlock means the downstream conveyor is running.
CTRL.CMD.Run_Up_Enabled means the downstream is stopped but will accept cartons up to its discharge photo-eye.
If either bit is true the AOI sets Interlock; otherwise No Interlock is shown.
Allow Loading
Loading is allowed only when the system is started, the DPM link is healthy, and Interlock is true.
The AOI then sets Allow Loading, mirrors it to CTRL.STS.Allow_Loading, and asserts the Caljan commands Allow_Loading and Belt_Start_Loading.
If loading is not allowed the stop bit Caljan_Input.Belt_Stop is asserted.
Running feedback
When Caljan_Output.Ready_to_Receive is true the AOI sets Running and mirrors the state to CTRL.STS.Running.
Operating modes and status flags
Caljan_Output.Front_EMS → Loading Mode
Caljan_Output.Customer_EMS → Unloading Mode
Caljan_Output.Belt_Accumulation → Power Saving Mode
Caljan_Output.Rear_EMS → E-Stopped
Caljan_Output.Aopen_Active → Aopen Active
Caljan_Output.Fully_Retracted / Fully_Extended → positional flags.
Logging
New occurrences of communication fault or full belt push a formatted string into MCM.CMD.Log and increment the quantity counter.
The entry self-clears when MCM.STS.Acknowledge_Log echoes the same text.
MCM.STS.Unacknowledge_All_Logs re-arms every latch so a repeat fault is re-logged.
HMI state code
0 loading not allowed1 loading allowed2 running
3 full4 communication fault5 Extendo faulted6 E-Stop
Command bits (received)
CTRL.CMD.Interlock
CTRL.CMD.Run_Up_Enabled
MCM.STS.System_Started
MCM.STS.VFD_Fault_Reset_Requested
DPM.STS.Communication_Faulted
HMI.PEC_Override_PB
HMI.Extendo_Faults_Reset_PB
MCM.STS.Unacknowledge_All_Logs
MCM.STS.Acknowledge_Log (comparison for auto-clear)
MCM.CMD.Log / Log_Quantity (target for new entries)
Status bits (set)
CTRL.STS.Interlock
CTRL.STS.Allow_Loading
CTRL.STS.Running
Extendo_FaultedExtendo_Faulted_Reset_Required
Communication_FaultedNo_Interlock
Loading_ModeUnloading_ModePower_Saving_Mode
Aopen_ActiveFully_RetractedFully_Extended
HMI bits
The HMI displays and/or exchanges—
HMI.Loading_Mode
HMI.Unloading_Mode
HMI.Power_Saving_Mode
HMI.Aopen_Active
HMI.Fully_Retracted
HMI.Fully_Extended
HMI.STATE
Alarm bits
HMI.Alarm.Full raised when Full is true.
HMI.Alarm.Communication_Faulted raised when Communication Faulted is true.
HMI.Alarm.Extendo_Faulted raised when Extendo Faulted is true.
]]>
</Comment>
<Text>
<![CDATA[COP(Extendo_I,Caljan_Input,1)COP(Extendo_O,Caljan_Output,1);]]>
</Text>
@ -355,7 +437,7 @@
</Rung>
<Rung Number="20" Type="N">
<Text>
<![CDATA[XIC(Caljan_Output.Ready_to_Receive)OTE(Running);]]>
<![CDATA[XIC(Caljan_Output.Ready_to_Receive)[OTE(Running) ,OTE(CTRL.STS.Running) ];]]>
</Text>
</Rung>
<Rung Number="21" Type="N">
@ -364,6 +446,16 @@
</Text>
</Rung>
<Rung Number="22" Type="N">
<Text>
<![CDATA[[XIC(Communication_Faulted) ONS(Acknowledge_ONS.3) OTU(Acknowledge.3) ,XIC(Communication_Faulted) XIO(Acknowledge.3) COP(Lost_Comm_String,Concatenated_String,1) CONCAT(HMI.Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge.3) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
</Text>
</Rung>
<Rung Number="23" Type="N">
<Text>
<![CDATA[[XIC(Full) ONS(Acknowledge_ONS.5) OTU(Acknowledge.5) ,XIC(Full) XIO(Acknowledge.5) COP(Full_String,Concatenated_String,1) CONCAT(HMI.Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge.5) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
</Text>
</Rung>
<Rung Number="24" Type="N">
<Comment>
<![CDATA[Alarms
]]>
@ -372,17 +464,17 @@
<![CDATA[XIC(Full)OTE(HMI.Alarm.Full);]]>
</Text>
</Rung>
<Rung Number="23" Type="N">
<Rung Number="25" Type="N">
<Text>
<![CDATA[XIC(Communication_Faulted)OTE(HMI.Alarm.Communication_Faulted);]]>
</Text>
</Rung>
<Rung Number="24" Type="N">
<Rung Number="26" Type="N">
<Text>
<![CDATA[XIC(Extendo_Faulted)OTE(HMI.Alarm.Extendo_Faulted);]]>
</Text>
</Rung>
<Rung Number="25" Type="N">
<Rung Number="27" Type="N">
<Comment>
<![CDATA[Info
@ -392,32 +484,32 @@
<![CDATA[XIC(Loading_Mode)OTE(HMI.Loading_Mode);]]>
</Text>
</Rung>
<Rung Number="26" Type="N">
<Rung Number="28" Type="N">
<Text>
<![CDATA[XIC(Unloading_Mode)OTE(HMI.Unloading_Mode);]]>
</Text>
</Rung>
<Rung Number="27" Type="N">
<Rung Number="29" Type="N">
<Text>
<![CDATA[XIC(Aopen_Active)OTE(HMI.Aopen_Active);]]>
</Text>
</Rung>
<Rung Number="28" Type="N">
<Rung Number="30" Type="N">
<Text>
<![CDATA[XIC(Power_Saving_Mode)OTE(HMI.Power_Saving_Mode);]]>
</Text>
</Rung>
<Rung Number="29" Type="N">
<Rung Number="31" Type="N">
<Text>
<![CDATA[XIC(Fully_Retracted)OTE(HMI.Fully_Retracted);]]>
</Text>
</Rung>
<Rung Number="30" Type="N">
<Rung Number="32" Type="N">
<Text>
<![CDATA[XIC(Fully_Extended)OTE(HMI.Fully_Extended);]]>
</Text>
</Rung>
<Rung Number="31" Type="N">
<Rung Number="33" Type="N">
<Comment>
<![CDATA[State
]]>
@ -426,32 +518,32 @@
<![CDATA[XIO(Allow_Loading)MOVE(0,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="32" Type="N">
<Rung Number="34" Type="N">
<Text>
<![CDATA[XIC(Allow_Loading)MOVE(1,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="33" Type="N">
<Rung Number="35" Type="N">
<Text>
<![CDATA[XIC(Running)MOVE(2,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="34" Type="N">
<Rung Number="36" Type="N">
<Text>
<![CDATA[XIC(Full)MOVE(3,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="35" Type="N">
<Rung Number="37" Type="N">
<Text>
<![CDATA[XIC(Communication_Faulted)MOVE(4,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="36" Type="N">
<Rung Number="38" Type="N">
<Text>
<![CDATA[XIC(Extendo_Faulted)MOVE(5,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="37" Type="N">
<Rung Number="39" Type="N">
<Text>
<![CDATA[XIC(Estopped)MOVE(6,HMI.STATE);]]>
</Text>
@ -463,7 +555,7 @@
<Dependency Type="DataType" Name="Caljan_PNMF_UDT_Input"/>
<Dependency Type="DataType" Name="Caljan_PNMF_UDT_Output"/>
<Dependency Type="DataType" Name="UDT_CTRL_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_CTRL_DPM"/>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK"/>
<Dependency Type="DataType" Name="UDT_HMI_EXTENDO"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM"/>
</Dependencies>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_FLIP_FLOP" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-05-21T10:05:03.350Z" ContainsContext="true" ExportDate="Mon Jun 23 16:53:23 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_FLIP_FLOP" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-05-21T10:05:03.350Z" ContainsContext="true" ExportDate="Fri Jul 11 16:00:22 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_FLIP_FLOP" Class="Standard" Revision="1.0" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2022-03-10T21:16:26.590Z" CreatedBy="DESKTOP-T9CCJM5\autStand" EditedDate="2025-05-21T10:05:03.350Z" EditedBy="LCIBATUMI\ilia.gurielidze"

View File

@ -1,10 +1,10 @@
<?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-06-22T16:37:47.557Z" ContainsContext="true" ExportDate="Mon Jun 23 16:54:19 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<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-06-22T16:37:47.557Z"
EditedBy="LCIBATUMI\gigi.mamaladze" SoftwareRevision="v36.00">
<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>
@ -13,7 +13,7 @@
<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_APF" 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)]]>
@ -31,17 +31,11 @@
</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="Full" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[Chute/Conveyor is Full]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -81,9 +75,6 @@
</DefaultData>
</LocalTag>
<LocalTag Name="Full_Latch" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Self Latching Coil]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -97,9 +88,6 @@
</DefaultData>
</LocalTag>
<LocalTag Name="Name" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[PE Name]]>
</Description>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
@ -109,6 +97,47 @@
<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>
@ -130,6 +159,11 @@
</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>
@ -151,7 +185,7 @@
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_APF"/>
<Dependency Type="DataType" Name="UDT_CTRL_VFD"/>
<Dependency Type="DataType" Name="UDT_CTRL_PE"/>
<Dependency Type="DataType" Name="UDT_HMI_PE"/>
</Dependencies>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_IO_BLOCK" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-07-08T20:57:53.510Z" ContainsContext="true" ExportDate="Wed Jul 09 00:59:54 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_IO_BLOCK" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-11T06:08:01.895Z" ContainsContext="true" ExportDate="Fri Jul 11 16:00:41 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_IO_BLOCK" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2021-06-02T10:38:08.709Z" CreatedBy="KONON\Artem" EditedDate="2025-07-08T20:57:53.510Z" EditedBy="LCIBATUMI\gigi.mamaladze"
SoftwareRevision="v36.00">
<AddOnInstructionDefinition Use="Target" Name="AOI_IO_BLOCK" Class="Standard" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2021-06-02T10:38:08.709Z" CreatedBy="KONON\Artem" EditedDate="2025-07-11T06:08:01.895Z"
EditedBy="LCIBATUMI\ilia.gurielidze" SoftwareRevision="v36.00">
<Parameters>
<Parameter Name="EnableIn" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<Description>
@ -17,6 +17,7 @@
</Parameter>
<Parameter Name="HMI" TagType="Base" DataType="UDT_HMI_IO_BLOCK" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_IO_BLOCK" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="MCM" TagType="Base" DataType="UDT_CTRL_MCM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Parent" TagType="Base" DataType="UDT_CTRL_IO_BLOCK" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Communication_Faulted" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
@ -26,7 +27,7 @@
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Communicatio_Fault" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Parameter Name="Communication_Fault" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
@ -68,14 +69,6 @@
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Communication_Fault_Latch" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Communication Fault Latch]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Lost_Communication_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[' Lost Communication']]>
@ -92,17 +85,9 @@
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="My_Name" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[Name of FIO]]>
</Description>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Name" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[FIO Name]]>
<![CDATA[Name of FIO]]>
</Description>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
@ -113,8 +98,38 @@
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[IOBlock Field-I/O Communication Monitor
IOBlock monitors its own field-bus link and the upstream link reported by its parent device—this parent may be a hub, an IO-Link master, another Field-I/O block, or an octopus switch.
If either link is lost, IOBlock sets Communication_Faulted and mirrors that state to CTRL.STS.Communication_Faulted so the fault can continue travelling upstream.
HMI.STATE is 0 when communications are healthy and 1 whenever any link (local or parent) is lost.
An HMI alarm is produced only when IOBlock itself is faulted while the parent remains healthy, keeping alarms specific to the failing level.
When a loss occurs, the routine constructs a log line such as “<Block HMI.Name> — Lost Communication”, places it in MCM.CMD.Log, and increments MCM.CMD.Log_Quantity.
If that exact line later appears in MCM.STS.Acknowledge_Log, IOBlock latches Acknowledge and clears the entry to keep the log concise.
The command MCM.STS.Unacknowledge_All_Logs resets the latch so the next fault generates a fresh message.
Command bits
The routine receives Communication_Fault from its own interface monitor.
The routine receives Parent.STS.Communication_Faulted from the immediate upstream device.
The routine receives MCM.STS.Unacknowledge_All_Logs to clear the acknowledge latch.
Status bits
The routine sets Communication_Faulted when either the local or parent link is down.
The routine sets CTRL.STS.Communication_Faulted with the same value.
HMI bits
The HMI displays HMI.STATE as 0 while links are healthy and 1 while any link is lost.
The HMI raises HMI.Alarm.Communication_Faulted only while Communication_Faulted is true and Parent.STS.Communication_Faulted is false.
Alarm bits
The system raises HMI.Alarm.Communication_Faulted whenever IOBlock itself loses communication and the parent link is still online.
]]>
</Comment>
<Text>
<![CDATA[[XIC(Communicatio_Fault) ,XIC(Parent.STS.Communication_Faulted) ][OTE(Communication_Faulted) ,OTE(CTRL.STS.Communication_Faulted) ];]]>
<![CDATA[[XIC(Communication_Fault) ,XIC(Parent.STS.Communication_Faulted) ][OTE(Communication_Faulted) ,OTE(CTRL.STS.Communication_Faulted) ];]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
@ -134,12 +149,12 @@
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[XIC(Parent.STS.Unacknowledge_All_Logs)OTU(Acknowledge);]]>
<![CDATA[XIC(MCM.STS.Unacknowledge_All_Logs)OTU(Acknowledge);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[[XIC(Communication_Faulted) ONS(Acknowledge_ONS) OTU(Acknowledge) ,XIC(Communication_Faulted) XIO(Acknowledge) COP(Lost_Communication_String,Concatenated_String,1) CONCAT(Name,Concatenated_String,Parent.CMD.Log) ADD(Parent.CMD.Log_Quantity,1,Parent.CMD.Log_Quantity) ,NE(Parent.STS.Acknowledge_Log,Empty_String) EQ(Parent.CMD.Log,Parent.STS.Acknowledge_Log) OTL(Acknowledge) COP(Empty_String,Parent.STS.Acknowledge_Log,1) ];]]>
<![CDATA[[XIC(Communication_Faulted) ONS(Acknowledge_ONS) OTU(Acknowledge) ,XIC(Communication_Faulted) XIO(Acknowledge) COP(Lost_Communication_String,Concatenated_String,1) CONCAT(HMI.Name,Concatenated_String,MCM.CMD.Log) ADD(MCM.CMD.Log_Quantity,1,MCM.CMD.Log_Quantity) ,NE(MCM.STS.Acknowledge_Log,Empty_String) EQ(MCM.CMD.Log,MCM.STS.Acknowledge_Log) OTL(Acknowledge) COP(Empty_String,MCM.STS.Acknowledge_Log,1) ];]]>
</Text>
</Rung>
</RLLContent>
@ -157,6 +172,7 @@
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK"/>
<Dependency Type="DataType" Name="UDT_HMI_IO_BLOCK"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--JAM PHOTOEYE-->
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_JPE" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-06-22T16:38:35.390Z" ContainsContext="true" ExportDate="Mon Jun 23 17:23:28 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_JPE" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-11T10:57:37.803Z" ContainsContext="true" ExportDate="Fri Jul 11 16:00:54 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_JPE" 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-06-22T16:38:35.390Z"
EditedBy="LCIBATUMI\gigi.mamaladze" SoftwareRevision="v36.00">
<AddOnInstructionDefinition Use="Target" Name="AOI_JPE" 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:57:37.803Z"
EditedBy="LCIBATUMI\robert.yevdokimov" SoftwareRevision="v36.00">
<Description>
<![CDATA[JAM PHOTOEYE]]>
</Description>
@ -13,7 +13,7 @@
<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_APF" 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="Parent_Comm_Faulted" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
@ -32,17 +32,11 @@
</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>
@ -139,9 +133,6 @@ Fault is reported]]>
</DefaultData>
</LocalTag>
<LocalTag Name="Name" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[PE Name]]>
</Description>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
@ -151,13 +142,71 @@ Fault is reported]]>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[Jam-Photo Eye Blockage Detection & Run-Up Control
Blocked turns on whenever the beam is broken (input Clear_I false) and parent communications are healthy; the state is mirrored to CTRL.STS.Blocked.
While the conveyor is running (and not in maintenance), a timer whose preset is HMI.TimeOut 1000 ms starts when Blocked goes true.
If the timer finishes, the bit Jammed latches, signalling that a Jam condition exists.
A rising edge of Station.STS.Jam_Reset clears Jammed—provided the beam is now clear—and extinguishes the lamp and beacon.
Beacon behaviour
First scan of a Jam forces the lamp off so the flash sequence begins dark.
While the beam remains blocked, a 0.5 s flip-flop flashes the beacon.
Once the beam clears (but before the reset arrives) the beacon stays solid on.
When the Jam is cleared the beacon turns off.
Logging
On the first scan of each Jam the AOI writes “<Device HMI.Name> JAM” into both Conveyor.CMD.Log and Station.CMD.Log and increments each logs quantity.
The entry self-clears when the same text appears in MCM.STS.Acknowledge_Log; MCM Unacknowledge All Logs re-arms the latch so a repeat Jam is re-logged.
Run-up enable
If the downstream photo-eye (Run_Up_PE) is clear and the conveyor interlock is on, the bit Run_Up latches and the AOI asserts Conveyor.CMD.Run_Up_Enabled so the upstream conveyor can empty itself.
Run Up unlatches if the eye blocks again or the Jam re-appears.
Command bits (received)
CTRL.CMD.Jammed
CTRL.CMD.Sorter_JPE_Blocked (Run_Up_PE)
Conveyor.STS.Running
Conveyor.STS.Maintenance_Mode
Conveyor.STS.Interlock
Conveyor.STS.MCM_Started
Parent_Comm_Faulted
Station.STS.Jam_Reset
HMI.TimeOut
MCM.STS.Unacknowledge_All_Logs
MCM.STS.Acknowledge_Log
Status bits (set)
CTRL.STS.Blocked
CTRL.STS.Jammed
Conveyor.CMD.Jammed
Station.CMD.Jammed
Conveyor.CMD.Run_Up_Enabled
Beacon_Light_O (flash/solid/off)
HMI bits
HMI.TimeOut (seconds before a block becomes a Jam)
HMI.STATE is not used; the HMI shows live beacon and alarm indicators.
HMI.Alarm.Jammed is set while Jammed is true.
Alarm bits
HMI.Alarm.Jammed asserted whenever Jammed is latched.
]]>
</Comment>
<Text>
<![CDATA[MUL(HMI.TimeOut,1000,Jam_Timer.PRE);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[XIC(Station.STS.Jam_Reset_Requested)XIC(Jammed)XIO(Blocked)OTU(Jammed);]]>
<![CDATA[XIC(Station.STS.Jam_Reset)XIC(Jammed)XIO(Blocked)OTU(Jammed);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
@ -177,36 +226,41 @@ Fault is reported]]>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[XIO(Jammed)[ONS(ONS) OTU(Beacon_Light_O) ,JMP(JMP) ];]]>
<![CDATA[XIC(Jammed)[MOVE(' JAM',Jam_String) CONCAT(HMI.Name,Concatenated_String,Conveyor.CMD.Log) ,MOVE(' JAM',Concatenated_String) CONCAT(HMI.Name,Concatenated_String,Station.CMD.Log) ];]]>
</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);]]>
<![CDATA[XIO(Jammed)[ONS(ONS) OTU(Beacon_Light_O) ,JMP(JMP) ];]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Text>
<![CDATA[LBL(JMP)NOP();]]>
<![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="8" Type="N">
<Text>
<![CDATA[XIC(Run_Up_PE)XIC(Conveyor.STS.Interlock)OTL(Run_Up);]]>
<![CDATA[LBL(JMP)NOP();]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Text>
<![CDATA[[XIC(Blocked) ,XIO(Run_Up_PE) ]OTU(Run_Up);]]>
<![CDATA[XIC(Run_Up_PE)XIC(Conveyor.STS.Interlock)OTL(Run_Up);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Text>
<![CDATA[XIC(Run_Up)OTL(Conveyor.CMD.Run_Up_Enabled);]]>
<![CDATA[[XIC(Blocked) ,XIO(Run_Up_PE) ]OTU(Run_Up);]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Text>
<![CDATA[XIC(Run_Up)OTL(Conveyor.CMD.Run_Up_Enabled);]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
<Text>
<![CDATA[XIC(Jammed)OTE(HMI.Alarm.Jammed);]]>
</Text>
</Rung>
@ -233,7 +287,7 @@ Fault is reported]]>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_APF"/>
<Dependency Type="DataType" Name="UDT_CTRL_VFD"/>
<Dependency Type="DataType" Name="UDT_CTRL_PE"/>
<Dependency Type="AddOnInstructionDefinition" Name="AOI_FLIP_FLOP"/>
<Dependency Type="DataType" Name="UDT_HMI_PE"/>

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--MAIN CONTROL MODULE-->
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_MCM" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-08T10:43:43.341Z" ContainsContext="true" ExportDate="Tue Jul 08 15:08:27 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_MCM" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-11T10:19:06.495Z" ContainsContext="true" ExportDate="Fri Jul 11 16:01:02 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_MCM" Class="Standard" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2018-11-09T20:08:51.991Z" CreatedBy="Rob-PC\Rob" EditedDate="2025-07-08T10:43:43.341Z"
EditedBy="LCIBATUMI\gigi.mamaladze" SoftwareRevision="v36.00">
<AddOnInstructionDefinition Use="Target" Name="AOI_MCM" Class="Standard" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2018-11-09T20:08:51.991Z" CreatedBy="Rob-PC\Rob" EditedDate="2025-07-11T10:19:06.495Z"
EditedBy="LCIBATUMI\robert.yevdokimov" SoftwareRevision="v36.00">
<Description>
<![CDATA[MAIN CONTROL MODULE]]>
</Description>
@ -66,7 +66,7 @@
<![CDATA[Emergency Stop PushButton Input 1]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="1"/>
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="EStop_PB_I_CH2" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
@ -74,7 +74,7 @@
<![CDATA[Emergency Stop PushButton Input 2]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="1"/>
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Stop_PB_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
@ -305,6 +305,104 @@
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[MCM Main Control Module
This module acts as the central logbook and primary interface for the subsystem.
Every AOI that detects a fault concatenates an explanatory string ( “<Device> — <Fault Text>” ) and pushes it into the MCM control log. The log word CTRL.CMD.Log carries the message, while CTRL.CMD.Log_Quantity increments the running count. The MCM mirrors both values to CTRL.STS.Log and CTRL.STS.Log_Quantity so the operator panel can display them.
At the same time, the MCM keeps an internal Acknowledge latch: each AOI pulses Un-acknowledge so that any new or persisting fault keeps resurfacing until the operator cycles through and acknowledges it. This ensures that fresh problems never scroll off the list unnoticed.
The module asserts System_Started whenever a start command is present and all interlocks—Stop command, every E-Stop, and the fire relay—are healthy; both coils drop the instant any interlock fails.
Indicator lamps behave as follows:
• Motor_Fault_Reset_PB_LT_O flashes while CTRL.CMD.VFD_Faulted is active and turns solid once the fault clears but Motor_Was_Faulted is still set.
• Jam_Restart_PB_LT_O is solid during a jam fault and flashes when an encoder fault is present.
• EStop_Actuated_LT_O flashes during a live remote E-Stop and stays solid until EStop_Was_Actuated is cleared.
• Low_Air_Pressure_Reset_PB_LT_O flashes for a live low-air fault and remains solid while Low_Air_Pressure_Fault_Was_Present is true.
• Power_Branch_Fault_Reset_PB_LT_O flashes during an active branch fault and remains solid while Power_Branch_Was_Faulted is set.
Each push-button transmits a four-state value to the HMI: state 1 idle/dark, state 2 lit, state 3 pressed-lit, and state 4 pressed-dark.
Start_PB_LT_O lights whenever the system is running.
HMI.STATE cascade the lower move wins:
• System_Started true writes 9.
• System_Started false writes 0.
• Motor_Was_Faulted writes 1.
• Power_Branch_Was_Faulted writes 2.
• Low_Air_Pressure_Fault_Was_Present writes 3.
• Encoder_Fault writes 4.
• Jam_Fault writes 5.
• Communication_Faulted writes 6.
• EStop_Was_Actuated writes 7.
• EStopped_Locally writes 8 and has the highest priority.
When HMI.Setup_Motor_Speeds is asserted, the module broadcasts the configured speed set-points to every drive in the system.
A housekeeping section clears the command word each scan and unlatches all momentary HMI bits, making every press a clean one-shot.
Command bits
The module receives CTRL.CMD.Log.
The module receives CTRL.CMD.Log_Quantity.
The module receives CTRL.CMD.Acknowledge_Log.
The module receives CTRL.CMD.Unacknowledge_All_Logs.
The module receives CTRL.CMD.VFD_Was_Faulted.
The module receives CTRL.CMD.Power_Branch_Was_Faulted.
The module receives CTRL.CMD.Low_Air_Pressure_Fault_Was_Present.
The module receives CTRL.CMD.Encoder_Fault.
The module receives CTRL.CMD.Jam_Fault.
The module receives CTRL.CMD.Communication_Faulted.
The module receives CTRL.CMD.EStop_Was_Actuated.
The module receives CTRL.CMD.VFD_Faulted.
The module receives CTRL.CMD.EStop_Actuated.
The module receives CTRL.CMD.Low_Air_Pressure_Fault.
The module receives CTRL.CMD.Power_Branch_Fault.
Status bits
The module sets CTRL.STS.Log.
The module sets CTRL.STS.Log_Quantity.
The module sets CTRL.STS.Acknowledge_Log.
The module sets CTRL.STS.Unacknowledge_All_Logs.
The module sets CTRL.STS.Communication_Faulted.
The module sets CTRL.STS.System_Started.
The module sets CTRL.STS.System_Start_Requested.
The module sets CTRL.STS.Setup_Motor_Speeds.
The module sets CTRL.STS.VFD_Fault_Reset_Requested.
The module sets CTRL.STS.Power_Branch_Fault_Reset_Requested.
The module sets CTRL.STS.Low_Air_Pressure_Fault_Reset_Requested.
The module sets CTRL.STS.Jam_Reset_Requested.
HMI bits
The HMI exchanges HMI.Start_PB.
The HMI exchanges HMI.Stop_PB.
The HMI exchanges HMI.Setup_Motor_Speeds.
The HMI exchanges HMI.Motor_Fault_Reset_PB.
The HMI exchanges HMI.Power_Branch_Fault_Reset_PB.
The HMI exchanges HMI.Low_Air_Pressure_Reset_PB.
The HMI exchanges HMI.Jam_Restart_PB.
The HMI displays HMI.STATE.
The HMI displays HMI.Start_PB_STATE.
The HMI displays HMI.Motor_Fault_Reset_PB_STATE.
The HMI displays HMI.Power_Branch_Fault_Reset_PB_STATE.
The HMI displays HMI.Low_Air_Pressure_Reset_PB_STATE.
The HMI displays HMI.Jam_Restart_PB_STATE.
The HMI displays HMI.EStop_Actuated_LT.
The HMI displays HMI.Local_Estop_LT.
Alarm bits
The system raises HMI.Alarm.Start_PB_Pressed.
The system raises HMI.Alarm.Stop_PB_Pressed.
The system raises HMI.Alarm.Motor_Fault_Reset_PB_Pressed.
The system raises HMI.Alarm.Jam_Restart_PB_Pressed.
The system raises HMI.Alarm.Low_Air_Pressure_Reset_PB_Pressed.
The system raises HMI.Alarm.Power_Branch_Fault_Reset_PB_Pressed.
The system raises HMI.Alarm.UPS_Battery_Fault.
The system raises HMI.Alarm.On_UPS_Battery.
The system raises HMI.Alarm.UPS_Battery_Low.
The system raises HMI.Alarm.NAT_Switch_Fault.
The system raises HMI.Alarm.Fire_Relay_De_Energized.
The system raises HMI.Alarm.EStopped_Locally.
]]>
</Comment>
<Text>
<![CDATA[[COP(CTRL.CMD.Log,CTRL.STS.Log,1) MOVE(CTRL.CMD.Log_Quantity,CTRL.STS.Log_Quantity) ,XIC(CTRL.CMD.Acknowledge_Log) COP(CTRL.CMD.Log,CTRL.STS.Acknowledge_Log,1) ,XIC(CTRL.CMD.Unacknowledge_All_Logs) OTE(CTRL.STS.Unacknowledge_All_Logs) ];]]>
</Text>
@ -495,7 +593,7 @@
</Rung>
<Rung Number="37" Type="N">
<Text>
<![CDATA[XIO(Fire_Relay_De_Energized)OTE(HMI.Alarm.Fire_Relay_De_Energized);]]>
<![CDATA[XIC(Fire_Relay_De_Energized)OTE(HMI.Alarm.Fire_Relay_De_Energized);]]>
</Text>
</Rung>
<Rung Number="38" Type="N">

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_PB_CHUTE" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-07-02T14:35:01.668Z" ContainsContext="true" ExportDate="Wed Jul 02 19:54:24 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="PB_CHUTE">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_PB_CHUTE" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-11T03:46:55.995Z" ContainsContext="true" ExportDate="Fri Jul 11 16:01:16 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_PB_CHUTE" Revision="1.0" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-06-02T08:06:58.311Z" CreatedBy="LCIBATUMI\ilia.gurielidze" EditedDate="2025-07-02T14:35:01.668Z" EditedBy="LCIBATUMI\gigi.mamaladze" SoftwareRevision="v36.00"
>
<AddOnInstructionDefinition Use="Target" Name="AOI_PB_CHUTE" Class="Standard" Revision="1.0" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-06-02T08:06:58.311Z" CreatedBy="LCIBATUMI\ilia.gurielidze" EditedDate="2025-07-11T03:46:55.995Z" EditedBy="LCIBATUMI\ilia.gurielidze"
SoftwareRevision="v36.00">
<Parameters>
<Parameter Name="EnableIn" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<Description>
@ -18,7 +18,11 @@
<Parameter Name="HMI" TagType="Base" DataType="UDT_HMI_PB_CHUTE" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_PB_CHUTE" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Station" TagType="Base" DataType="UDT_CTRL_STATION_JR_CHUTE" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="IO_Block" TagType="Base" DataType="UDT_CTRL_SIO_FIO_HUB" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="IO_Block_Communication_Fault" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Half_Full_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[PE Input]]>
@ -37,24 +41,18 @@
</Parameter>
<Parameter Name="PR_PB_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Package Relase PushButton (Hold)]]>
<![CDATA[Package Relase PushButton Input]]>
</Description>
<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/Write">
<Description>
<![CDATA[Chute Is Full]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Half_Full" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[Chute Is Hall Full]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -162,6 +160,85 @@
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[Pallet-Build Chute
The chute reports its own capacity, allows the operator to enable or disable it, starts a roller when the package-release push-button is held, and tells the sorter whether the chute can accept more cartons.
Enable / Disable
A press of HMI.Enable_Chute_PB toggles Disabled.
When Disabled is false the chute is available and CTRL.STS.Enabled is true; a green beacon segment (value 1) flashes.
When Disabled is true the chute is disabled; the green beacon is dark (value 0).
Half-full & Full
Separate photo-eyes feed Half_Full_I and Full_I.
If either eye stays blocked for HMI.TimeOut � 1000 ms the corresponding timer finishes and latches Half_Full or Full (mirrored to CTRL.STS.Half_Full / Full).
Half-full lights the blue beacon solid (value 1).
Full makes the blue beacon flash (value 2) and prevents new cartons.
Jam indication
A jam reported by the upstream station sets Jammed and CTRL.STS.Jammed.
Station.STS.Jam_Reset_Requested unlatches Jammed.
Ready signal to sorter
Ready (mirrored to CTRL.STS.Ready) is true only when the chute is enabled, not jammed, and not full.
The sorter uses this bit to decide whether to divert cartons to this chute.
Package-release roller
While the operator holds PR_PB_I the coil Solenoid_O energises to run the roller; HMI.PR_PB_STATE shows 1.
Releasing the button de-energises the solenoid and clears the state.
Beacon summary
Blue 0 = off1 = solid (half-full)2 = flash (full)
Green 0 = off1 = flash (chute enabled)
HMI.STATE
0 disabled1 enabled2 half-full3 full4 jammed
Command bits (received)
CTRL.CMD.Jammed (cleared each scan)
Station.STS.Jammed
Station.STS.Jam_Reset_Requested
IO_Block_Communication_Fault
Half_Full_I
Full_I
PR_PB_I
HMI.Enable_Chute_PB
HMI.TimeOut
Status bits (set)
CTRL.STS.Enabled
CTRL.STS.Half_Full
CTRL.STS.Full
CTRL.STS.Jammed
CTRL.STS.Ready
Disabled
Half_Full
Full
Jammed
Ready
Solenoid_O
B_Beacon_Segment_Animation (blue)
G_Beacon_Segment_Animation (green)
HMI bits
HMI.Enable_Chute_PB
HMI.TimeOut
HMI.STATE
HMI.PR_PB_STATE
HMI.Chute_Type (set to 2)
Alarm bits
HMI.Alarms.Disabled chute is disabled
HMI.Alarms.Half_Full half-full condition latched
HMI.Alarms.Full full condition latched
HMI.Alarms.Jam jammed condition latched
HMI.Alarms.PR_PB_Pressed package-release button held
]]>
</Comment>
<Text>
<![CDATA[MUL(HMI.TimeOut,1000,Half_Full_Timer.PRE)MUL(HMI.TimeOut,1000,Full_Timer.PRE);]]>
</Text>
@ -193,12 +270,12 @@
</Rung>
<Rung Number="6" Type="N">
<Text>
<![CDATA[XIO(IO_Block.STS.Communication_Faulted)XIO(Disabled)XIO(Half_Full_I)TON(Half_Full_Timer,?,?)XIC(Half_Full_Timer.DN)[OTE(Half_Full) ,OTE(CTRL.STS.Half_Full) ];]]>
<![CDATA[XIO(IO_Block_Communication_Fault)XIO(Disabled)XIO(Half_Full_I)TON(Half_Full_Timer,?,?)XIC(Half_Full_Timer.DN)[OTE(Half_Full) ,OTE(CTRL.STS.Half_Full) ];]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Text>
<![CDATA[XIO(IO_Block.STS.Communication_Faulted)XIO(Disabled)XIO(Full_I)TON(Full_Timer,?,?)XIC(Full_Timer.DN)[OTE(Full) ,OTE(CTRL.STS.Full) ];]]>
<![CDATA[XIO(IO_Block_Communication_Fault)XIO(Disabled)XIO(Full_I)TON(Full_Timer,?,?)XIC(Full_Timer.DN)[OTE(Full) ,OTE(CTRL.STS.Full) ];]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
@ -324,11 +401,6 @@
<![CDATA[MOVE(0,G_Beacon_Segment_Color)MOVE(9,B_Beacon_Segment_Animation);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[OTU(Disabled);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
@ -336,7 +408,6 @@
<Dependency Type="DataType" Name="UDT_CTRL_PB_CHUTE"/>
<Dependency Type="AddOnInstructionDefinition" Name="AOI_FLIP_FLOP"/>
<Dependency Type="DataType" Name="UDT_HMI_PB_CHUTE"/>
<Dependency Type="DataType" Name="UDT_CTRL_SIO_FIO_HUB"/>
<Dependency Type="DataType" Name="UDT_CTRL_STATION_JR_CHUTE"/>
</Dependencies>
</AddOnInstructionDefinition>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_RACK" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-07-01T18:54:33.579Z" ContainsContext="true" ExportDate="Wed Jul 02 10:21:19 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_RACK" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-11T02:22:13.078Z" ContainsContext="true" ExportDate="Fri Jul 11 16:01:29 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_RACK" Revision="1.0" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-07-01T16:12:10.151Z" CreatedBy="LCIBATUMI\gigi.mamaladze" EditedDate="2025-07-01T18:54:33.579Z" EditedBy="LCIBATUMI\gigi.mamaladze" SoftwareRevision="v36.00"
>
<AddOnInstructionDefinition Use="Target" Name="AOI_RACK" Class="Standard" Revision="1.0" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-07-01T16:12:10.151Z" CreatedBy="LCIBATUMI\gigi.mamaladze" EditedDate="2025-07-11T02:22:13.078Z" EditedBy="LCIBATUMI\ilia.gurielidze"
SoftwareRevision="v36.00">
<Parameters>
<Parameter Name="EnableIn" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<Description>
@ -16,68 +16,128 @@
</Description>
</Parameter>
<Parameter Name="HMI" TagType="Base" DataType="UDT_HMI_RACK" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="FaultSlot1_I" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="FaultSlot2_I" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="FaultSlot3_I" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="FaultSlot4_I" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="FaultSlot5_I" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="FaultSlot6_I" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="FaultSlot7_I" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="FaultSlot8_I" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="FaultSlot9_I" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Faulted" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[Rack Faulted]]>
</Description>
<Parameter Name="Slot2_EN4TR" TagType="Base" DataType="MODULE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Slot2_EN4TR_Faulted" 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="Slot5_IB16" TagType="Base" DataType="MODULE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Slot6_OB16E" TagType="Base" DataType="MODULE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Slot7_IB16S" TagType="Base" DataType="MODULE" Usage="InOut" Required="true" Visible="true"/>
<Parameter Name="Slot5_IB16_Faulted" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Slot6_OB16E_Faulted" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Slot7_IB16S_Faulted" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="MCM" TagType="Base" DataType="UDT_CTRL_MCM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
</Parameters>
<LocalTags/>
<LocalTags>
<LocalTag Name="Fault_Code" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Slot6_OB16E_Fault_Code" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Slot7_IB16S_Fault_Code" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Slot5_IB16_Fault_Code" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Slot4_EN4TR_Fault_Code" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[Local I/O Module Fault Monitor
The routine now monitors four modules in the local rack: an EN4TR communication adapter in Slot 2, an IB16 in Slot 5, an OB16E in Slot 6, and an IB16S in Slot 7.
For each module it executes a GSV Module FaultCode; whenever the reported code is non-zero the routine sets a matching _Faulted coil.
All three I/O modules (Slots 5, 6, 7) drive individual HMI alarms exactly as before.
If the EN4TR in Slot 2 is faulted the routine also energises HMI.Alarm.Slot5_IB16_Faulted, using that alarm as a generic “rack interface fault” so the operator is alerted even when the downstream modules cannot report their own status.
Command bits
No external command bits are required; the monitor runs continuously.
Status bits
The routine sets Slot2_EN4TR_Faulted when the EN4TR adapter in Slot 2 reports a fault.
The routine sets Slot5_IB16_Faulted when the IB16 module in Slot 5 reports a fault.
The routine sets Slot6_OB16E_Faulted when the OB16E module in Slot 6 reports a fault.
The routine sets Slot7_IB16S_Faulted when the IB16S module in Slot 7 reports a fault.
HMI bits
The HMI displays HMI.Alarm.Slot5_IB16_Faulted whenever either Slot2_EN4TR_Faulted or Slot5_IB16_Faulted is true.
The HMI displays HMI.Alarm.Slot6_OB16E_Faulted whenever Slot6_OB16E_Faulted is true.
The HMI displays HMI.Alarm.Slot7_IB16S_Faulted whenever Slot7_IB16S_Faulted is true.
Alarm bits
The system raises HMI.Alarm.Slot5_IB16_Faulted when the EN4TR adapter in Slot 2 is faulted or when the IB16 module in Slot 5 is faulted.
The system raises HMI.Alarm.Slot6_OB16E_Faulted when the OB16E module in Slot 6 is faulted.
The system raises HMI.Alarm.Slot7_IB16S_Faulted when the IB16S module in Slot 7 is faulted.
]]>
</Comment>
<Text>
<![CDATA[[NE(FaultSlot1_I,0) OTE(HMI.Alarm.Slot1_Faulted) ,NE(FaultSlot2_I,0) OTE(HMI.Alarm.Slot2_Faulted) ,NE(FaultSlot3_I,0) OTE(HMI.Alarm.Slot3_Faulted) ,NE(FaultSlot4_I,0) OTE(HMI.Alarm.Slot4_Faulted) ,NE(FaultSlot5_I,0) OTE(HMI.Alarm.Slot5_Faulted) ,NE(FaultSlot6_I,0) OTE(HMI.Alarm.Slot6_Faulted) ,NE(FaultSlot7_I,0) OTE(HMI.Alarm.Slot7_Faulted) ,NE(FaultSlot8_I,0) OTE(HMI.Alarm.Slot8_Faulted) ,NE(FaultSlot9_I,0) OTE(HMI.Alarm.Slot9_Faulted) ]OTE(MCM.CMD.Communication_Faulted)OTE(Faulted);]]>
<![CDATA[GSV(Module,Slot5_IB16,FaultCode,Slot5_IB16_Fault_Code)NE(Slot5_IB16_Fault_Code,0)OTE(Slot5_IB16_Faulted);]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[GSV(Module,Slot6_OB16E,FaultCode,Slot6_OB16E_Fault_Code)NE(Slot6_OB16E_Fault_Code,0)OTE(Slot6_OB16E_Faulted);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[GSV(Module,Slot7_IB16S,FaultCode,Slot7_IB16S_Fault_Code)NE(Slot7_IB16S_Fault_Code,0)OTE(Slot7_IB16S_Faulted);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[GSV(Module,Slot2_EN4TR,FaultCode,Slot4_EN4TR_Fault_Code)NE(Slot4_EN4TR_Fault_Code,0)OTE(Slot2_EN4TR_Faulted);]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[XIC(Slot2_EN4TR_Faulted)OTE(HMI.Alarm.Slot5_IB16_Faulted);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[XIC(Slot5_IB16_Faulted)OTE(HMI.Alarm.Slot5_IB16_Faulted);]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Text>
<![CDATA[XIC(Slot6_OB16E_Faulted)OTE(HMI.Alarm.Slot6_OB16E_Faulted);]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Text>
<![CDATA[XIC(Slot7_IB16S_Faulted)OTE(HMI.Alarm.Slot7_IB16S_Faulted);]]>
</Text>
</Rung>
</RLLContent>
@ -85,7 +145,6 @@
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_HMI_RACK"/>
<Dependency Type="DataType" Name="UDT_CTRL_MCM"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_STATION_JR_CHUTE" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-07-03T13:35:17.999Z" ContainsContext="true" ExportDate="Thu Jul 03 17:36:19 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="D2C">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_STATION_JR_CHUTE" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-11T03:10:47.226Z" ContainsContext="true" ExportDate="Fri Jul 11 16:01:41 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_STATION_JR_CHUTE" Revision="1.0" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-06-02T08:33:51.746Z" CreatedBy="LCIBATUMI\ilia.gurielidze" EditedDate="2025-07-03T13:35:17.999Z" EditedBy="LCIBATUMI\gigi.mamaladze" SoftwareRevision="v36.00"
>
<AddOnInstructionDefinition Use="Target" Name="AOI_STATION_JR_CHUTE" Class="Standard" Revision="1.0" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2025-06-02T08:33:51.746Z" CreatedBy="LCIBATUMI\ilia.gurielidze" EditedDate="2025-07-11T03:10:47.226Z" EditedBy="LCIBATUMI\ilia.gurielidze"
SoftwareRevision="v36.00">
<Parameters>
<Parameter Name="EnableIn" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<Description>
@ -71,9 +71,6 @@
</DefaultData>
</LocalTag>
<LocalTag Name="Jam_Reset_Requested" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Jam Reset Requested]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -83,6 +80,60 @@
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[Station Jam-Reset Push-Button (Sorter Interface)
This routine handles a local Jam-Reset push-button whose job is to request a jam clear from an external sorter PLC.
Jammed latch An incoming command CTRL.CMD.Jammed latches the internal bit Jammed and mirrors it to CTRL.STS.Jammed.
Lamp While Jammed is true the push-button lamp coil JR_PB_LT_O remains on.
Reset request If the operator presses either the physical button JR_PB_I or the HMI button HMI.JR_PB while Jammed is latched and the sorter reports that its photo-eye (CTRL.CMD.Sorter_JPE_Blocked) is clear, the routine pulses Jam_Reset_Requested and mirrors it to CTRL.STS.Jam_Reset_Requested. The pulse tells the sorter PLC to retract its jam eye and restart the belt.
Jam clear The same pulse unlatches Jammed and resets CTRL.STS.Jammed; the lamp drops once the sorter accepts the reset.
Beacon segment
Code 2 (amber flash) while Jammed is true.
Code 1 (amber solid) during a reset request (Jammed true and sorter eye clear).
Code 0 extinguished when no jam is present.
The value is written to A_Beacon_Segment_Animation_O.
Button states for HMI.STATE
0 idle, lamp off1 idle, lamp on
2 pressed, lamp off3 pressed, lamp on
The pressed value has priority.
Alarm Whenever the physical button is pressed the routine sets HMI.Alarm.Pressed so the action is recorded.
At the end of every scan the routine unlatches the one-shot command bits (HMI.JR_PB, CTRL.CMD.Sorter_JPE_Blocked, CTRL.CMD.Jammed) so the next press or jam will be recognised as a new event.
Command bits (received)
CTRL.CMD.Jammed
CTRL.CMD.Sorter_JPE_Blocked
HMI.JR_PB
JR_PB_I (physical push-button)
Status bits (set)
CTRL.STS.Jammed
CTRL.STS.Jam_Reset_Requested
JR_PB_LT_O (lamp output)
Jam_Reset_Requested
A_Beacon_Segment_Animation_O
HMI.STATE
HMI bits
HMI.JR_PB push-button command sent from the screen.
HMI.STATE shows button state (0, 1, 2, 3).
HMI.Alarm.Pressed set while JR_PB_I is true.
Alarm bits
HMI.Alarm.Pressed is raised whenever the physical Jam-Reset push-button is pressed.
]]>
</Comment>
<Text>
<![CDATA[[XIC(CTRL.CMD.Jammed) ,XIO(JR_PB_I) XIO(HMI.JR_PB) XIC(Jammed) ][OTL(Jammed) ,OTL(CTRL.STS.Jammed) ];]]>
</Text>

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--JAM RESET STATION PUSH BUTTON
-->
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_STATION_JR_PB" TargetType="AddOnInstructionDefinition" TargetRevision="1.0 " TargetLastEdited="2025-06-18T18:07:46.483Z" ContainsContext="true" ExportDate="Wed Jun 18 22:45:01 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_STATION_JR_PB" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-11T03:07:02.757Z" ContainsContext="true" ExportDate="Fri Jul 11 16:01:58 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="AOI_STATION_JR_PB" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2011-11-21T15:10:22.337Z" CreatedBy="Not Available" EditedDate="2025-06-18T18:07:46.483Z" EditedBy="LCIBATUMI\gigi.mamaladze"
SoftwareRevision="v36.00">
<AddOnInstructionDefinition Use="Target" Name="AOI_STATION_JR_PB" Class="Standard" Revision="1.0" Vendor="Automation Standard" ExecutePrescan="true" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2011-11-21T15:10:22.337Z" CreatedBy="Not Available" EditedDate="2025-07-11T03:07:02.757Z"
EditedBy="LCIBATUMI\ilia.gurielidze" SoftwareRevision="v36.00">
<Description>
<![CDATA[JAM RESET STATION PUSH BUTTON
]]>
@ -24,7 +24,6 @@
<Parameter Name="HMI" TagType="Base" DataType="UDT_HMI_STATION" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_STATION" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Partner" TagType="Base" DataType="UDT_CTRL_STATION" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Motor" TagType="Base" DataType="UDT_CTRL_VFD" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="JR_PB_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Jam Reset PushButton Input (NO)]]>
@ -52,9 +51,6 @@
</DefaultData>
</LocalTag>
<LocalTag Name="Jammed" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Conveyor Jammed]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
@ -77,6 +73,53 @@
<Routine Name="Logic" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[Station Jam-Reset Push-Button (GEM Reset)
This module handles the local Jam-Reset push-button (JR PB) and its HMI counterpart.
Jam indication When the upstream controller asserts CTRL.CMD.Jammed the lamp coil JR_PB_LT_O turns on and the status bit CTRL.STS.JR_PB_LT is echoed to the partner conveyor so everyone sees that a jam must be cleared.
Reset action A one-shot examines three parallel reset sources:
physical JR_PB_I,
HMI.JR_PB,
Partner.STS.Jam_Reset (reset requested from the adjacent conveyor).
On the rising edge it pulses CTRL.STS.Jam_Reset for one scan and clears the HMI command bit; this pulse lets the downstream AOI retract its photo-eye and clear the jam.
Lamp control The lamp is solid while CTRL.CMD.Jammed is true; once the jam clears the lamp drops.
Button states for HMI.STATE
0 idle, lamp off1 idle, lamp on
2 pressed, lamp on3 pressed, lamp off
The pressed states win if both conditions are true simultaneously.
Alarm When the physical push-button is pressed the AOI sets HMI.Alarm.Pressed so the operator log shows the event.
After every cycle the AOI clears CTRL.CMD.Jammed and blanks CTRL.CMD.Log so a new jam can generate a fresh log entry.
Command bits (received)
CTRL.CMD.Log
CTRL.CMD.Jammed
HMI.JR_PB
Partner.STS.Jam_Reset
Partner.STS.JR_PB_LT
Status bits (set)
CTRL.STS.Log
CTRL.STS.Jam_Reset
CTRL.STS.JR_PB_LT
JR_PB_LT_O (lamp output)
Jammed (local copy of CTRL.CMD.Jammed)
HMI bits
HMI.JR_PB (command)
HMI.STATE (0, 1, 2, 3 as above)
HMI.Alarm.Pressed (set while JR_PB_I is true)
Alarm bits
HMI.Alarm.Pressed is raised whenever the physical Jam-Reset push-button is pressed.
]]>
</Comment>
<Text>
<![CDATA[COP(CTRL.CMD.Log,CTRL.STS.Log,1);]]>
</Text>
@ -180,7 +223,6 @@
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_STATION"/>
<Dependency Type="DataType" Name="UDT_HMI_STATION"/>
<Dependency Type="DataType" Name="UDT_CTRL_VFD"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="Banner_ZMX_Control" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.2 " TargetLastEdited="2025-06-17T14:41:08.899Z" ContainsContext="true" ExportDate="Thu Jul 03 11:59:48 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="Banner_ZMX_Control" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.2 " TargetLastEdited="2025-07-08T19:24:45.725Z" ContainsContext="true" ExportDate="Fri Jul 11 16:02:04 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<AddOnInstructionDefinitions Use="Context">
<AddOnInstructionDefinition Use="Target" Name="Banner_ZMX_Control" Class="Standard" Revision="1.2" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2022-12-21T15:11:52.057Z" CreatedBy="DUKE\jpreisen" EditedDate="2025-06-17T14:41:08.899Z" EditedBy="LCIBATUMI\ilia.gurielidze"
<AddOnInstructionDefinition Use="Target" Name="Banner_ZMX_Control" Class="Standard" Revision="1.2" ExecutePrescan="false" ExecutePostscan="false" ExecuteEnableInFalse="false" CreatedDate="2022-12-21T15:11:52.057Z" CreatedBy="DUKE\jpreisen" EditedDate="2025-07-08T19:24:45.725Z" EditedBy="LCIBATUMI\ilia.gurielidze"
SoftwareRevision="v36.00">
<RevisionNote>
<![CDATA[Cyclic operation timing adjusted. Now waits 600 msecs instead of 300 after Cyclic Bit is turned on. Also the error timer is now 5 seconds instead of 3.]]>

File diff suppressed because one or more lines are too long

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_APF" TargetType="DataType" ContainsContext="true" ExportDate="Tue Jul 08 15:08:57 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_VFD" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jul 11 16:38:27 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<DataTypes Use="Context">
<DataType Use="Target" Name="UDT_ALARMS_APF" Family="NoFamily" Class="User">
<DataType Use="Target" Name="UDT_ALARMS_VFD" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_ALARMS0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="0" ExternalAccess="Read/Write">
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication is Faulted]]>
</Description>
@ -25,36 +25,37 @@
<![CDATA[VFD Reset Required]]>
</Description>
</Member>
<Member Name="Communication_Fault_Reset_Required" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="4" ExternalAccess="Read/Write">
<Member Name="Safe_Off_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="4" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Comunication Fault Reset Required]]>
<![CDATA[VFD Safety Torque Fault]]>
</Description>
</Member>
<Member Name="Maintenance_Mode" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="5" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_AOI_APF" Family="NoFamily" Class="User">
<Members>
<Member Name="AOI" DataType="AOI_APF" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="HMI" DataType="UDT_HMI_APF" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CTRL" DataType="UDT_CTRL_APF" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="HMI" DataType="UDT_HMI_VFD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CTRL" DataType="UDT_CTRL_VFD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="AddOnInstructionDefinition" Name="AOI_APF"/>
<Dependency Type="DataType" Name="UDT_HMI_APF"/>
<Dependency Type="DataType" Name="UDT_CTRL_APF"/>
<Dependency Type="DataType" Name="UDT_HMI_VFD"/>
<Dependency Type="DataType" Name="UDT_CTRL_VFD"/>
</Dependencies>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_APF" Family="NoFamily" Class="User">
<DataType Use="Target" Name="UDT_CTRL_VFD" Family="NoFamily" Class="User">
<Members>
<Member Name="CMD" DataType="UDT_CTRL_APF_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="STS" DataType="UDT_CTRL_APF_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CMD" DataType="UDT_CTRL_VFD_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="STS" DataType="UDT_CTRL_VFD_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_APF_CMD"/>
<Dependency Type="DataType" Name="UDT_CTRL_APF_STS"/>
<Dependency Type="DataType" Name="UDT_CTRL_VFD_CMD"/>
<Dependency Type="DataType" Name="UDT_CTRL_VFD_STS"/>
</Dependencies>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_APF_CMD" Family="NoFamily" Class="User">
<DataType Use="Target" Name="UDT_CTRL_VFD_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_A0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Start" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_A0" BitNumber="0" ExternalAccess="Read/Write">
@ -134,7 +135,7 @@ Stopped by Station Stop PushButton]]>
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_APF_STS" Family="NoFamily" Class="User">
<DataType Use="Target" Name="UDT_CTRL_VFD_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_A0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Running" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_A0" BitNumber="0" ExternalAccess="Read/Write">
@ -241,14 +242,14 @@ Stopped by Station Stop PushButton]]>
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_HMI_APF" Family="NoFamily" Class="User">
<DataType Use="Target" Name="UDT_HMI_VFD" Family="NoFamily" Class="User">
<Members>
<Member Name="Alarm" DataType="UDT_ALARMS_APF" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Member Name="Alarm" DataType="UDT_ALARMS_VFD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[VFD Alarms]]>
</Description>
</Member>
<Member Name="Maintenance" DataType="UDT_MAINTENANCE_APF" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Member Name="Maintenance" DataType="UDT_MAINTENANCE_VFD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[VFD Maintenance Mode]]>
</Description>
@ -309,13 +310,24 @@ Stopped by Station Stop PushButton]]>
1 -> APF (ArmourFlex)]]>
</Description>
</Member>
<Member Name="Speed_At_60Hz" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Speed of Conveyor at 60hz frequency to calculate ratio]]>
</Description>
</Member>
<Member Name="Frequency" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Output Frequency]]>
</Description>
</Member>
<Member Name="Name" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_APF"/>
<Dependency Type="DataType" Name="UDT_MAINTENANCE_APF"/>
<Dependency Type="DataType" Name="UDT_ALARMS_VFD"/>
<Dependency Type="DataType" Name="UDT_MAINTENANCE_VFD"/>
</Dependencies>
</DataType>
<DataType Use="Target" Name="UDT_MAINTENANCE_APF" Family="NoFamily" Class="User">
<DataType Use="Target" Name="UDT_MAINTENANCE_VFD" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_MAINTE0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Maintenance_Mode" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_MAINTE0" BitNumber="0" ExternalAccess="Read/Write">

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="Banner_ZMX_Data" TargetType="DataType" ContainsContext="true" ExportDate="Thu Jul 03 12:01:20 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="Banner_ZMX_Data" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jul 11 16:04:06 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<DataTypes Use="Context">
<DataType Use="Target" Name="Banner_ZMX_Data" Family="NoFamily" Class="User">

View File

@ -1,378 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="Banner_ZMX_Data" TargetType="DataType" ContainsContext="true" ExportDate="Mon Jun 23 16:37:17 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_D2C_CHUTE" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jul 11 16:10:18 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<DataTypes Use="Context">
<DataType Use="Target" Name="Banner_ZMX_Data" Family="NoFamily" Class="User">
<Members>
<Member Name="Data_In" DataType="Banner_ZMX_Data_In" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Data_Out" DataType="Banner_ZMX_Data_Out" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Unevenness" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="Banner_ZMX_Data_In"/>
<Dependency Type="DataType" Name="Banner_ZMX_Data_Out"/>
</Dependencies>
</DataType>
<DataType Use="Target" Name="Banner_ZMX_Data_In" Family="NoFamily" Class="User">
<Members>
<Member Name="Input_Ack" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved1" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Sensor_Fault_Code" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Boot_Count" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[1 to 65535]]>
</Description>
</Member>
<Member Name="Up_Time" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[1 to 4294967295 in ms]]>
</Description>
</Member>
<Member Name="Missed_Trigger_Count" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved2" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved3" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved4" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved5" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved6" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved7" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved8" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved30" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Frame_Number" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Invalid_Pixel_Count" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 to 56576. Pixels with too little light received to be able to measure.]]>
</Description>
</Member>
<Member Name="Saturated_Pixel_Count" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 to 56576. Pixels with too much light received to be able to measure.]]>
</Description>
</Member>
<Member Name="Conf_Error_Code" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved9" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Fill_Level_Percent" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 to 200]]>
</Description>
</Member>
<Member Name="Peak_Height" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 to 3500 in mm]]>
</Description>
</Member>
<Member Name="Estimated_Item_Count" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Output_1_PFM" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0. 100 to 600 Hz.]]>
</Description>
</Member>
<Member Name="Output_2_PFM" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0. 100 to 600 Hz.]]>
</Description>
</Member>
<Member Name="Trigger_Mode" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[1 = External, 5 = Internal (uses trigger period), 6 = Free run, 10 = Softa]]>
</Description>
</Member>
<Member Name="Trigger_Period" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[200 to 60000 ms]]>
</Description>
</Member>
<Member Name="Illumination_Power_Percent" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[1 to 100]]>
</Description>
</Member>
<Member Name="Reserved10" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved11" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved12" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved13" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved14" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved15" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved16" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved17" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Pitch_Angle" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-4500 to 4500 (degrees x 100)]]>
</Description>
</Member>
<Member Name="Roll_Angle" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-4500 to 4500 (degrees x 100)]]>
</Description>
</Member>
<Member Name="Yaw_Angle" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-18000 to 18000 (degrees x 100)]]>
</Description>
</Member>
<Member Name="Reserved18" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved19" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved20" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved31" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Discrete_IO_Polarity" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = PNP, 1 = NPN, 2 = Push-Pull]]>
</Description>
</Member>
<Member Name="Reserved21" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Fill_Level_Limit_Setpoint_Percent" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 to 200 in mm]]>
</Description>
</Member>
<Member Name="Reserved22" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Peak_Height_Limit_Setpoint" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 to 2950 mm]]>
</Description>
</Member>
<Member Name="Reserved23" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Discrete_Output_1_Control_Mode" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = Disabled, 1 = Fill % above setpoint, 2 = Peak height aboe setpoint, 9 = Fill % above setpoint or peak height above setpoint, 10 = Pulse Pro 100 to 600 Hz scaled between 0 to 100%, 11 = Pulse Pro 100 to 600 Hz scaled to peak height above bottom of container, 20 = No output, channle used as input.]]>
</Description>
</Member>
<Member Name="Discrete_Output_2_Control_Mode" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = Disabled, 1 = Fill % above setpoint, 2 = Peak height aboe setpoint, 9 = Fill % above setpoint or peak height above setpoint, 10 = Pulse Pro 100 to 600 Hz scaled between 0 to 100%, 11 = Pulse Pro 100 to 600 Hz scaled to peak height above bottom of container, 20 = No output, channle used as input.]]>
</Description>
</Member>
<Member Name="ROI_Anchor_Point_X" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-2500 to 2500]]>
</Description>
</Member>
<Member Name="ROI_Anchor_Point_Y" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-2500 to 2500]]>
</Description>
</Member>
<Member Name="ROI_Anchor_Point_Z" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[200 to 3000]]>
</Description>
</Member>
<Member Name="ROI_Length_X" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[50 to 5000]]>
</Description>
</Member>
<Member Name="ROI_Width_Y" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[50 to 5000]]>
</Description>
</Member>
<Member Name="ROI_Height_Z" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[50 to 3000]]>
</Description>
</Member>
<Member Name="Reserved24" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Use="Target" Name="Banner_ZMX_Data_Out" Family="NoFamily" Class="User">
<Members>
<Member Name="Control_Bits" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved1" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Trigger_Mode" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[1 = External, 5 = Internal (uses trigger perdio), 6 = Free Run, 10 = Software]]>
</Description>
</Member>
<Member Name="Trigger_Period" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[100 to 60000 ms]]>
</Description>
</Member>
<Member Name="Illumination_Power_Precent" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 to 100]]>
</Description>
</Member>
<Member Name="Reserved2" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved3" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved4" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved5" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved6" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved7" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved8" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Pitch_Angle" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-4500 to 4500 (degrees x 100)]]>
</Description>
</Member>
<Member Name="Roll_Angle" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-4500 to 4500 (degrees x 100)]]>
</Description>
</Member>
<Member Name="Yaw_Angle" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-18000 to 18000 (degrees x 100)]]>
</Description>
</Member>
<Member Name="Reserved9" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved10" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Reserved11" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Discrete_IO_Polarity" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = PNP, 1 = NPN, 2 = Push Pull]]>
</Description>
</Member>
<Member Name="Reserved12" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Fill_Level_Limit_Setpoint_Percent" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 to 200]]>
</Description>
</Member>
<Member Name="Reserved13" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Peak_Height_Limit_Setpoint" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 to 2950 in mm]]>
</Description>
</Member>
<Member Name="Reserved14" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Discrete_Output_1_Control_Mode" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = Disabled, 1 = Fill % above setpoint, 2 = Peak height aboe setpoint, 9 = Fill % above setpoint or peak height above setpoint, 10 = Pulse Pro 100 to 600 Hz scaled between 0 to 100%, 11 = Pulse Pro 100 to 600 Hz scaled to peak height above bottom of container, 20 = No output, channle used as input.]]>
</Description>
</Member>
<Member Name="Discrete_Output_2_Control_Mode" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = Disabled, 1 = Fill % above setpoint, 2 = Peak height aboe setpoint, 9 = Fill % above setpoint or peak height above setpoint, 10 = Pulse Pro 100 to 600 Hz scaled between 0 to 100%, 11 = Pulse Pro 100 to 600 Hz scaled to peak height above bottom of container, 20 = No output, channle used as input.]]>
</Description>
</Member>
<Member Name="ROI_Anchor_Point_X" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-2500 to 2500 in mm]]>
</Description>
</Member>
<Member Name="ROI_Anchor_Point_Y" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-2500 to 2500 in mm]]>
</Description>
</Member>
<Member Name="ROI_Anchor_Point_Z" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[200 to 3000 in mm]]>
</Description>
</Member>
<Member Name="ROI_Length_X" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[50 to 5000 in mm]]>
</Description>
</Member>
<Member Name="ROI_Width_Y" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[50 to 5000 in mm]]>
</Description>
</Member>
<Member Name="ROI_Height_Z" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[50 to 3000 in mm]]>
</Description>
</Member>
<Member Name="Reserved50" DataType="INT" Dimension="8" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Use="Target" Name="Banner_ZMX_Full_Recipe" Family="NoFamily" Class="User">
<Description>
<![CDATA[Recipe Data elements. for a ZMX unit.]]>
</Description>
<Members>
<Member Name="Trigger_Mode" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[1 = External, 5 = Internal, 6 = Free Run, 10 = Software]]>
</Description>
</Member>
<Member Name="Trigger_Period" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[100 to 60000 in ms]]>
</Description>
</Member>
<Member Name="Illumination_Power" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 to 100]]>
</Description>
</Member>
<Member Name="Pitch_Angle" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-4500 to 4500]]>
</Description>
</Member>
<Member Name="Roll_Angle" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-4500 to 4500]]>
</Description>
</Member>
<Member Name="Yaw_Angle" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-18000 to 18000]]>
</Description>
</Member>
<Member Name="Discrete_IO_Polarity" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = PNP, 1= NPN, 2 = Push Pull]]>
</Description>
</Member>
<Member Name="Fill_Level_Limit_Setpoint_Percent" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 to 200]]>
</Description>
</Member>
<Member Name="Reserved13" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Peak_Height_Limit_Setpoint" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 to 2950 in mm]]>
</Description>
</Member>
<Member Name="Reserved14" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Discrete_Output_1_Control_Mode" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = Disabled, 1 = Fill % above setpoint, 2 = Peak height aboe setpoint, 9 = Fill % above setpoint or peak height above setpoint, 10 = Pulse Pro 100 to 600 Hz scaled between 0 to 100%, 11 = Pulse Pro 100 to 600 Hz scaled to peak height above bottom of container, 20 = No output, channle used as input.]]>
</Description>
</Member>
<Member Name="Discrete_Output_2_Control_Mode" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[0 = Disabled, 1 = Fill % above setpoint, 2 = Peak height aboe setpoint, 9 = Fill % above setpoint or peak height above setpoint, 10 = Pulse Pro 100 to 600 Hz scaled between 0 to 100%, 11 = Pulse Pro 100 to 600 Hz scaled to peak height above bottom of container, 20 = No output, channle used as input.]]>
</Description>
</Member>
<Member Name="ROI_Anchor_X" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-2500 to 2500 in mm]]>
</Description>
</Member>
<Member Name="ROI_Anchor_Y" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[-2500 to 2500 in mm]]>
</Description>
</Member>
<Member Name="ROI_Anchor_Z" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[200 to 3000 in mm]]>
</Description>
</Member>
<Member Name="ROI_Length_X" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[50 to 5000 in mm]]>
</Description>
</Member>
<Member Name="ROI_Length_Y" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[50 to 5000 in mm]]>
</Description>
</Member>
<Member Name="ROI_Length_Z" DataType="INT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[50 to 3000 in mm]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_ALARMS_D2C_CHUTE" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_ALARMS0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>

View File

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_DPM" TargetType="DataType" ContainsContext="true" ExportDate="Mon Jun 30 17:49:28 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_IO_BLOCK" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jul 11 16:26:32 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<DataTypes Use="Context">
<DataType Use="Target" Name="UDT_ALARMS_DPM" Family="NoFamily" Class="User">
<DataType Use="Target" Name="UDT_ALARMS_IO_BLOCK" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_ALARMS0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Fault" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="0" ExternalAccess="Read/Write">
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication is Faulted]]>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
</Member>
</Members>
@ -15,30 +15,26 @@
<DataType Use="Target" Name="UDT_AOI_DPM" Family="NoFamily" Class="User">
<Members>
<Member Name="AOI" DataType="AOI_DPM" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CTRL" DataType="UDT_CTRL_DPM" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="HMI" DataType="UDT_HMI_DPM" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CTRL" DataType="UDT_CTRL_IO_BLOCK" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="HMI" DataType="UDT_HMI_IO_BLOCK" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="AddOnInstructionDefinition" Name="AOI_DPM"/>
<Dependency Type="DataType" Name="UDT_CTRL_DPM"/>
<Dependency Type="DataType" Name="UDT_HMI_DPM"/>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK"/>
<Dependency Type="DataType" Name="UDT_HMI_IO_BLOCK"/>
</Dependencies>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_DPM" Family="NoFamily" Class="User">
<DataType Use="Target" Name="UDT_CTRL_IO_BLOCK" Family="NoFamily" Class="User">
<Members>
<Member Name="STS" DataType="UDT_CTRL_DPM_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Status of DPM]]>
</Description>
</Member>
<Member Name="CMD" DataType="UDT_CTRL_DPM_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="STS" DataType="UDT_CTRL_IO_BLOCK_STS" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CMD" DataType="UDT_CTRL_IO_BLOCK_CMD" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_DPM_STS"/>
<Dependency Type="DataType" Name="UDT_CTRL_DPM_CMD"/>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK_STS"/>
<Dependency Type="DataType" Name="UDT_CTRL_IO_BLOCK_CMD"/>
</Dependencies>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_DPM_CMD" Family="NoFamily" Class="User">
<DataType Use="Target" Name="UDT_CTRL_IO_BLOCK_CMD" Family="NoFamily" Class="User">
<Members>
<Member Name="Log" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
@ -52,10 +48,10 @@
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_DPM_STS" Family="NoFamily" Class="User">
<DataType Use="Target" Name="UDT_CTRL_IO_BLOCK_STS" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_CTRL_D0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_D0" BitNumber="0" ExternalAccess="Read/Write">
<Member Name="ZZZZZZZZZZUDT_CTRL_S0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Communication_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
@ -65,13 +61,13 @@
<![CDATA[Acknowledge Log]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZUDT_CTRL_D3" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_D3" BitNumber="0" ExternalAccess="Read/Write">
<Member Name="ZZZZZZZZZZUDT_CTRL_S3" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Unacknowledge_All_Logs" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S3" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[All Unacknowledged Logs]]>
</Description>
</Member>
<Member Name="Unacknowldge_All" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_D3" BitNumber="1" ExternalAccess="Read/Write">
<Member Name="Unacknowldge_All" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_S3" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[Unacknowledge all Alarms]]>
</Description>
@ -83,23 +79,23 @@
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_HMI_DPM" Family="NoFamily" Class="User">
<DataType Use="Target" Name="UDT_HMI_IO_BLOCK" Family="NoFamily" Class="User">
<Members>
<Member Name="Alarm" DataType="UDT_ALARMS_DPM" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Member Name="Alarm" DataType="UDT_ALARMS_IO_BLOCK" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="STATE" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[HMI
Alarms]]>
<![CDATA[Color of Animations]]>
</Description>
</Member>
<Member Name="IP_Address" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[IP address]]>
<![CDATA[IP Address]]>
</Description>
</Member>
<Member Name="STATE" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="Name" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_DPM"/>
<Dependency Type="DataType" Name="UDT_ALARMS_IO_BLOCK"/>
</Dependencies>
</DataType>
</DataTypes>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--PN/MF Coupler X1 / 6ES7 158-3MU10-0XA0-->
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="Caljan_PNMF_UDT_Input" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jun 27 23:18:10 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="Caljan_PNMF_UDT_Input" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jul 11 16:08:55 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<DataTypes Use="Context">
<DataType Use="Target" Name="Caljan_PNMF_UDT_Input" Family="NoFamily" Class="User">
<Description>
@ -266,6 +266,11 @@
<![CDATA[Allow Extendo Loading]]>
</Description>
</Member>
<Member Name="Running" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_CTRL_E0" BitNumber="2" ExternalAccess="Read/Write">
<Description>
<![CDATA[Extendo Running]]>
</Description>
</Member>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_HMI_EXTENDO" Family="NoFamily" Class="User">
@ -313,6 +318,7 @@
<![CDATA[Extendo Faults Reset PushButton]]>
</Description>
</Member>
<Member Name="Name" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_EXTENDO"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_PE" TargetType="DataType" ContainsContext="true" ExportDate="Mon Jun 23 17:18:30 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_PE" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jul 11 16:24:20 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<DataTypes Use="Context">
<DataType Use="Target" Name="UDT_ALARMS_PE" Family="NoFamily" Class="User">
@ -20,13 +20,13 @@
<DataType Use="Target" Name="UDT_AOI_FPE" Family="NoFamily" Class="User">
<Members>
<Member Name="AOI" DataType="AOI_FPE" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CTRL" DataType="UDT_CTRL_PE" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="HMI" DataType="UDT_HMI_PE" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="CTRL" DataType="UDT_CTRL_PE" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="AddOnInstructionDefinition" Name="AOI_FPE"/>
<Dependency Type="DataType" Name="UDT_CTRL_PE"/>
<Dependency Type="DataType" Name="UDT_HMI_PE"/>
<Dependency Type="DataType" Name="UDT_CTRL_PE"/>
</Dependencies>
</DataType>
<DataType Use="Target" Name="UDT_CTRL_PE" Family="NoFamily" Class="User">
@ -86,6 +86,7 @@
<![CDATA[Timeout in seconds]]>
</Description>
</Member>
<Member Name="Name" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_PE"/>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_IO_BLOCK" TargetType="DataType" ContainsContext="true" ExportDate="Wed Jul 09 01:00:24 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_IO_BLOCK" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jul 11 16:12:23 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<DataTypes Use="Context">
<DataType Use="Target" Name="UDT_ALARMS_IO_BLOCK" Family="NoFamily" Class="User">
<Members>
@ -81,11 +81,7 @@
</DataType>
<DataType Use="Target" Name="UDT_HMI_IO_BLOCK" Family="NoFamily" Class="User">
<Members>
<Member Name="Alarm" DataType="UDT_ALARMS_IO_BLOCK" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[SIO/FIO/HUB Alarms]]>
</Description>
</Member>
<Member Name="Alarm" DataType="UDT_ALARMS_IO_BLOCK" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
<Member Name="STATE" DataType="DINT" Dimension="0" Radix="Decimal" Hidden="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Color of Animations]]>
@ -96,6 +92,7 @@
<![CDATA[IP Address]]>
</Description>
</Member>
<Member Name="Name" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_IO_BLOCK"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_PE" TargetType="DataType" ContainsContext="true" ExportDate="Mon Jun 23 17:23:53 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_PE" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jul 11 16:24:32 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<DataTypes Use="Context">
<DataType Use="Target" Name="UDT_ALARMS_PE" Family="NoFamily" Class="User">
@ -86,6 +86,7 @@
<![CDATA[Timeout in seconds]]>
</Description>
</Member>
<Member Name="Name" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_PE"/>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_MCM" TargetType="DataType" ContainsContext="true" ExportDate="Tue Jul 08 15:09:38 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_MCM" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jul 11 16:21:30 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<DataTypes Use="Context">
<DataType Use="Target" Name="UDT_ALARMS_MCM" Family="NoFamily" Class="User">
<Members>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_PB_CHUTE" TargetType="DataType" ContainsContext="true" ExportDate="Wed Jul 02 19:55:21 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="PB_CHUTE">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_PB_CHUTE" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jul 11 16:22:54 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<DataTypes Use="Context">
<DataType Use="Target" Name="UDT_ALARMS_PB_CHUTE" Family="NoFamily" Class="User">
<Members>

View File

@ -1,56 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_RACK" TargetType="DataType" ContainsContext="true" ExportDate="Wed Jul 02 10:22:45 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_RACK" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jul 11 16:29:06 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<DataTypes Use="Context">
<DataType Use="Target" Name="UDT_ALARMS_RACK" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZUDT_ALARMS0" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Slot1_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Slot 1 Faulted]]>
</Description>
</Member>
<Member Name="Slot2_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="1" ExternalAccess="Read/Write">
<Description>
<![CDATA[Slot 2 Faulted]]>
</Description>
</Member>
<Member Name="Slot3_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="2" ExternalAccess="Read/Write">
<Description>
<![CDATA[Slot 3 Faulted]]>
</Description>
</Member>
<Member Name="Slot4_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="3" ExternalAccess="Read/Write">
<Description>
<![CDATA[Slot 4 Faulted]]>
</Description>
</Member>
<Member Name="Slot5_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="4" ExternalAccess="Read/Write">
<Description>
<![CDATA[Slot 5 Faulted]]>
</Description>
</Member>
<Member Name="Slot6_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="5" ExternalAccess="Read/Write">
<Description>
<![CDATA[Slot 6 Faulted]]>
</Description>
</Member>
<Member Name="Slot7_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="6" ExternalAccess="Read/Write">
<Description>
<![CDATA[Slot 7 Faulted]]>
</Description>
</Member>
<Member Name="Slot8_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="7" ExternalAccess="Read/Write">
<Description>
<![CDATA[Slot 8 Faulted]]>
</Description>
</Member>
<Member Name="ZZZZZZZZZZUDT_ALARMS9" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Slot9_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS9" BitNumber="0" ExternalAccess="Read/Write">
<Description>
<![CDATA[Slot 9 Faulted]]>
</Description>
</Member>
<Member Name="Slot5_IB16_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Slot6_OB16E_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="Slot7_IB16S_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Slot2_EN4TR_Faulted" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZUDT_ALARMS0" BitNumber="3" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Use="Target" Name="UDT_AOI_RACK" Family="NoFamily" Class="User">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_STATION_JR_CHUTE" TargetType="DataType" ContainsContext="true" ExportDate="Wed Jul 02 19:56:28 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="PB_CHUTE">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_STATION_JR_CHUTE" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jul 11 16:33:02 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<DataTypes Use="Context">
<DataType Use="Target" Name="UDT_ALARMS_STATION_JR_CHUTE" Family="NoFamily" Class="User">
<Members>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_STATION" TargetType="DataType" ContainsContext="true" ExportDate="Wed Jun 18 22:45:25 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="UDT_ALARMS_STATION" TargetType="DataType" ContainsContext="true" ExportDate="Fri Jul 11 16:31:46 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="MCM04">
<DataTypes Use="Context">
<DataType Use="Target" Name="UDT_ALARMS_STATION" Family="NoFamily" Class="User">
<Members>
@ -133,6 +133,7 @@
<![CDATA[Stop PushButton (HMI)]]>
</Description>
</Member>
<Member Name="Name" DataType="STRING" Dimension="0" Radix="NullType" Hidden="false" ExternalAccess="Read/Write"/>
</Members>
<Dependencies>
<Dependency Type="DataType" Name="UDT_ALARMS_STATION"/>