MTN6_PLC/PLC/Simulations/APF/PLC/AOIs/AOI_APF_AOI.L5X
2025-07-15 15:51:20 +04:00

971 lines
37 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

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

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="36.00" TargetName="AOI_APF" TargetType="AddOnInstructionDefinition" TargetClass="Standard" TargetRevision="1.0 " TargetLastEdited="2025-07-15T10:09:52.516Z" ContainsContext="true" ExportDate="Tue Jul 15 15:48:04 2025" ExportOptions="NoRawData L5KData DecoratedData Context Dependencies ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Context" Name="BaseProgram">
<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-15T10:09:52.516Z" EditedBy="LCIBATUMI\gigi.mamaladze"
SoftwareRevision="v36.00">
<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="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_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="None">
<Description>
<![CDATA[Ethernet Communication Faulted]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Disconnect_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Disconnect Switch Input]]>
</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">
<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">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="1"/>
</DefaultData>
</Parameter>
<Parameter Name="Run" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Conveyor Command Run]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Maintenance_Running" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Conveyor Maintenance Running]]>
</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">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="EStopped" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[VFD Emergency Stopped]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Speed_Not_Set_Up" 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="VFD_Fault_Reset_Required" 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="VFD_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="Disconnected" 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="Power_Saving_Mode" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Conveyor is Running in Power Saving Moder]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Start_Conveyor" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Speed_To_REV_Ratio" TagType="Base" DataType="REAL" Usage="Output" Radix="Float" Required="false" Visible="false" ExternalAccess="Read/Write">
<Description>
<![CDATA[Conveyor speed-to-frequency ratio for VFD control]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="REAL" Radix="Float" Value="0.0"/>
</DefaultData>
</Parameter>
<Parameter Name="Maintenance_Mode" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Maintenance Mode Activated]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Stopped_By_Station_PB" 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="Full" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Encoder_Fault" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[Physical Issue With Encoder Or Conveyor Running At Low Speed.]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Stopped_Require_Start" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[Stopped Conveyor and Require Start]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Stopped_Auto_Restart" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="true" ExternalAccess="Read Only">
<Description>
<![CDATA[Stopped Conveyor and Will Automaticly Restart]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Zero_Speed" 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="No_Interlock" 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="MCM_Not_Started" 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="Length" TagType="Base" DataType="DINT" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Length Of Conveyor In Feets]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Horn_O" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read Only">
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
</Parameters>
<LocalTags>
<LocalTag Name="Start_Delay_Timer" DataType="TIMER" ExternalAccess="None">
<Description>
<![CDATA[Conveyor will Start after Timer is Done]]>
</Description>
<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="Start_ONS" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Start to allow local control of the conveyor]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Velocity_Command" DataType="REAL" Radix="Float" ExternalAccess="None">
<Description>
<![CDATA[Velocity Command to Motor]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="REAL" Radix="Float" Value="0.0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Power_Save_Time_Ms" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Power Save Time in Milliseconds]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</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"/>
<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="VFD_Fault_Code" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<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="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
1-Reverse]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</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="Last_VFD_Fault_Code" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</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="Interlock" DataType="BOOL" Radix="Decimal" ExternalAccess="Read/Write">
<DefaultData Format="Decorated">
<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]]>
</Description>
<DefaultData Format="Decorated">
<Structure DataType="TIMER">
<DataValueMember Name="PRE" DataType="DINT" Radix="Decimal" Value="45000"/>
<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="Direction" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Conveyor Direction in Maintance Mode]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Concatenated_String" DataType="STRING" ExternalAccess="None">
<Description>
<![CDATA[String for Logs]]>
</Description>
<DefaultData Format="String" Length="0">
<![CDATA['']]>
</DefaultData>
</LocalTag>
<LocalTag Name="Communication_Lost" DataType="BOOL" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Ethernet Communication Lost]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Communication_Fault_Code" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Ethernet Communication Fault Code]]>
</Description>
<DefaultData Format="Decorated">
<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}}]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="DINT" Radix="Decimal" Value="0"/>
</DefaultData>
</LocalTag>
<LocalTag Name="Acknowledge" DataType="DINT" Radix="Decimal" ExternalAccess="None">
<Description>
<![CDATA[Acknowledge Logs]]>
</Description>
<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[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>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[XIO(Disconnect_I)OTE(Disconnected);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Jammed)OTE(Jammed);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Encoder_Fault)OTE(Encoder_Fault);]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Full)OTE(Full);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Stop_Require_Start)OTE(Stopped_Require_Start);]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Stop_Auto_Restart)OTE(Stopped_Auto_Restart);]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Text>
<![CDATA[EQ(CTRL.CMD.Speed_FPM,0)OTE(Zero_Speed);]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
<Text>
<![CDATA[XIC(MCM.STS.System_Started)OTE(CTRL.STS.MCM_Started);]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Text>
<![CDATA[XIO(MCM.STS.System_Started)OTE(MCM_Not_Started);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Text>
<![CDATA[XIC(HMI.Maintenance.Maintenance_Mode)[OTE(Maintenance_Mode) ,OTE(CTRL.STS.Maintenance_Mode) ];]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Text>
<![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[GSV(Module,Module,FaultCode,Communication_Fault_Code)NE(Communication_Fault_Code,0)OTE(Communication_Lost);]]>
</Text>
</Rung>
<Rung Number="13" 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) ];]]>
</Text>
</Rung>
<Rung Number="14" 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);]]>
</Text>
</Rung>
<Rung Number="15" Type="N">
<Text>
<![CDATA[NE(VFD_Fault_Code,0)MOVE(VFD_Fault_Code,Last_VFD_Fault_Code);]]>
</Text>
</Rung>
<Rung Number="16" Type="N">
<Text>
<![CDATA[XIO(APF_I.SafeTorqueEnabled)[OTE(EStopped) ,OTE(CTRL.STS.EStopped) ,OTL(MCM.CMD.EStop_Was_Actuated) ];]]>
</Text>
</Rung>
<Rung Number="17" Type="N">
<Text>
<![CDATA[XIC(MCM.STS.VFD_Fault_Reset_Requested)XIC(Disconect_On_Delay.DN)XIO(VFD_Faulted)OTU(VFD_Fault_Reset_Required);]]>
</Text>
</Rung>
<Rung Number="18" Type="N">
<Text>
<![CDATA[XIO(s:fs)[XIO(Disconect_On_Delay.DN) ,XIC(VFD_Faulted) ][OTL(VFD_Fault_Reset_Required) ,OTE(CTRL.STS.VFD_Faulted) ,OTL(MCM.CMD.VFD_Faulted) ];]]>
</Text>
</Rung>
<Rung Number="19" Type="N">
<Text>
<![CDATA[XIC(VFD_Fault_Reset_Required)OTL(MCM.CMD.VFD_Was_Faulted);]]>
</Text>
</Rung>
<Rung Number="20" Type="N">
<Text>
<![CDATA[XIC(Jammed)[OTE(CTRL.STS.Jammed) ,OTL(MCM.CMD.Jam_Fault) ];]]>
</Text>
</Rung>
<Rung Number="21" Type="N">
<Text>
<![CDATA[XIC(Encoder_Fault)[OTE(CTRL.STS.Encoder_Fault) ,OTL(MCM.CMD.Encoder_Fault) ];]]>
</Text>
</Rung>
<Rung Number="22" Type="N">
<Text>
<![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,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">
<Text>
<![CDATA[XIC(CTRL.STS.MCM_Started)XIO(EStopped)XIO(VFD_Fault_Reset_Required)XIO(Communication_Faulted)XIO(Jammed)XIO(Encoder_Fault)XIO(Full)XIO(Stopped_Auto_Restart)OTE(Run_Enabled);]]>
</Text>
</Rung>
<Rung Number="25" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Stopped_By_Stop_PB)[OTE(Stopped_By_Station_PB) ,OTE(CTRL.STS.Stopped_By_Station_PB) ];]]>
</Text>
</Rung>
<Rung Number="26" Type="N">
<Text>
<![CDATA[XIC(Run_Enabled)[XIO(Maintenance_Mode) [XIC(CTRL.CMD.Start) ,XIC(MCM.STS.System_Start_Requested) ,XIC(Start_Conveyor) ] ,ONS(Start_ONS) ]XIO(CTRL.CMD.Stop_Require_Start)OTE(Start_Conveyor);]]>
</Text>
</Rung>
<Rung Number="27" Type="N">
<Text>
<![CDATA[XIC(Maintenance_Mode)XIO(VFD_Fault_Reset_Required)XIO(Communication_Faulted)XIO(EStopped)[XIC(HMI.Maintenance.Start_PB_Pressed) ,XIC(Maintenance_Start_Conveyor) ]XIO(HMI.Maintenance.Stop_PB_Pressed)OTE(Maintenance_Start_Conveyor);]]>
</Text>
</Rung>
<Rung Number="28" Type="N">
<Text>
<![CDATA[XIC(Maintenance_Mode)XIC(APF_I.Running)OTE(Maintenance_Running);]]>
</Text>
</Rung>
<Rung Number="29" Type="N">
<Text>
<![CDATA[XIC(Maintenance_Mode)XIO(VFD_Fault_Reset_Required)XIO(Communication_Faulted)XIO(EStopped)XIC(HMI.Maintenance.Jog_PB_Pressed)OTE(Maintenance_Jog_Mode);]]>
</Text>
</Rung>
<Rung Number="30" Type="N">
<Text>
<![CDATA[[XIC(Start_Conveyor) ,XIC(Maintenance_Start_Conveyor) ,XIC(Maintenance_Jog_Mode) ]MOVE(5000,Start_Delay_Timer.PRE)TON(Start_Delay_Timer,?,?);]]>
</Text>
</Rung>
<Rung Number="31" Type="N">
<Text>
<![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">
<Text>
<![CDATA[[XIC(CTRL.CMD.Interlock) ,XIC(CTRL.CMD.Run_Up_Enabled) ][OTE(Interlock) ,OTE(CTRL.STS.Interlock) ];]]>
</Text>
</Rung>
<Rung Number="33" Type="N">
<Text>
<![CDATA[XIO(Interlock)OTE(No_Interlock);]]>
</Text>
</Rung>
<Rung Number="34" Type="N">
<Text>
<![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">
<Text>
<![CDATA[XIO(Run)OTE(APF_O.Stop);]]>
</Text>
</Rung>
<Rung Number="36" Type="N">
<Text>
<![CDATA[XIC(Run)[XIO(Maintenance_Conveyor_Direction) OTE(APF_O.DirectionCmd_0) ,XIC(Maintenance_Conveyor_Direction) OTE(APF_O.DirectionCmd_1) ]OTE(APF_O.Start);]]>
</Text>
</Rung>
<Rung Number="37" Type="N">
<Text>
<![CDATA[XIC(APF_I.Fault)[XIC(MCM.STS.VFD_Fault_Reset_Requested) ,XIC(APF_O.ClearFault) ]OTE(APF_O.ClearFault);]]>
</Text>
</Rung>
<Rung Number="38" Type="N">
<Text>
<![CDATA[XIO(Maintenance_Mode)OTU(HMI.Maintenance.Direction_PB_Pressed);]]>
</Text>
</Rung>
<Rung Number="39" Type="N">
<Text>
<![CDATA[XIC(HMI.Maintenance.Direction_PB_Pressed)OTE(Direction);]]>
</Text>
</Rung>
<Rung Number="40" Type="N">
<Text>
<![CDATA[XIC(Direction)[OTE(Maintenance_Conveyor_Direction) ,OTE(HMI.Maintenance.Direction) ];]]>
</Text>
</Rung>
<Rung Number="41" Type="N">
<Text>
<![CDATA[NE(HMI.Speed_At_30rev,0)DIV(30,HMI.Speed_At_30rev,Speed_To_REV_Ratio);]]>
</Text>
</Rung>
<Rung Number="42" Type="N">
<Text>
<![CDATA[EQ(Speed_To_REV_Ratio,0)OTE(Speed_Not_Set_Up);]]>
</Text>
</Rung>
<Rung Number="43" Type="N">
<Text>
<![CDATA[XIO(Maintenance_Mode)MOVE(CTRL.CMD.Speed_FPM,CTRL.STS.Requested_Speed)MUL(CTRL.CMD.Speed_FPM,Speed_To_REV_Ratio,Velocity_Command);]]>
</Text>
</Rung>
<Rung Number="44" Type="N">
<Text>
<![CDATA[XIC(Maintenance_Mode)MOVE(HMI.Maintenance.Speed_FPM,CTRL.STS.Requested_Speed)MUL(HMI.Maintenance.Speed_FPM,Speed_To_REV_Ratio,Velocity_Command);]]>
</Text>
</Rung>
<Rung Number="45" Type="N">
<Text>
<![CDATA[XIC(MCM.STS.Setup_Motor_Speeds)MOVE(30,Velocity_Command);]]>
</Text>
</Rung>
<Rung Number="46" Type="N">
<Text>
<![CDATA[MOVE(Velocity_Command,APF_O.CommandedVelocity);]]>
</Text>
</Rung>
<Rung Number="47" Type="N">
<Text>
<![CDATA[DIV(APF_I.Velocity,Speed_To_REV_Ratio,CTRL.STS.Current_Speed);]]>
</Text>
</Rung>
<Rung Number="48" Type="N">
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="49" Type="N">
<Text>
<![CDATA[MOVE(CTRL.STS.Current_Speed,HMI.FPM)DIV(APF_I.OutputCurrent,100,HMI.Amperage)DIV(APF_I.OutputVoltage,10,HMI.Voltage)DIV(APF_I.Velocity,100,HMI.Velocity);]]>
</Text>
</Rung>
<Rung Number="50" Type="N">
<Comment>
<![CDATA[Alarms
]]>
</Comment>
<Text>
<![CDATA[XIC(Disconnected)OTE(HMI.Alarm.Disconnected);]]>
</Text>
</Rung>
<Rung Number="51" Type="N">
<Text>
<![CDATA[XIC(Communication_Faulted)XIO(DPM.STS.Communication_Faulted)OTE(HMI.Alarm.Communication_Faulted);]]>
</Text>
</Rung>
<Rung Number="52" Type="N">
<Text>
<![CDATA[XIC(VFD_Faulted)OTE(HMI.Alarm.VFD_Fault);]]>
</Text>
</Rung>
<Rung Number="53" Type="N">
<Text>
<![CDATA[XIO(CTRL.STS.VFD_Faulted)XIC(VFD_Fault_Reset_Required)OTE(HMI.Alarm.VFD_Reset_Required);]]>
</Text>
</Rung>
<Rung Number="54" Type="N">
<Text>
<![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
]]>
</Comment>
<Text>
<![CDATA[XIO(CTRL.STS.MCM_Started)XIO(Running)MOVE(0,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="57" Type="N">
<Text>
<![CDATA[XIC(CTRL.STS.MCM_Started)XIO(Running)MOVE(1,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="58" Type="N">
<Text>
<![CDATA[XIC(Power_Saving_Mode)MOVE(3,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="59" Type="N">
<Text>
<![CDATA[XIC(Running)MOVE(2,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="60" Type="N">
<Text>
<![CDATA[XIC(Encoder_Fault)MOVE(13,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="61" Type="N">
<Text>
<![CDATA[XIC(Maintenance_Mode)MOVE(6,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="62" Type="N">
<Text>
<![CDATA[XIC(Maintenance_Mode)XIO(Maintenance_Running)MOVE(6,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="63" Type="N">
<Text>
<![CDATA[XIC(Maintenance_Running)MOVE(61,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="64" Type="N">
<Text>
<![CDATA[XIC(Maintenance_Jog_Mode)XIC(Start_Delay_Timer.DN)MOVE(61,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="65" Type="N">
<Text>
<![CDATA[XIC(Full)MOVE(5,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="66" Type="N">
<Text>
<![CDATA[XIC(Stopped_By_Station_PB)MOVE(14,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="67" Type="N">
<Text>
<![CDATA[XIC(Disconnected)MOVE(131,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="68" Type="N">
<Text>
<![CDATA[XIC(Jammed)MOVE(4,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="69" Type="N">
<Text>
<![CDATA[XIC(Communication_Faulted)MOVE(7,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="70" Type="N">
<Text>
<![CDATA[XIC(VFD_Fault_Reset_Required)MOVE(8,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="71" Type="N">
<Text>
<![CDATA[XIC(EStopped)MOVE(9,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="72" Type="N">
<Text>
<![CDATA[XIC(HMI.Maintenance.Start_PB_Pressed)MOVE(1,HMI.Maintenance.Buttons_State);]]>
</Text>
</Rung>
<Rung Number="73" Type="N">
<Text>
<![CDATA[XIC(HMI.Maintenance.Stop_PB_Pressed)MOVE(2,HMI.Maintenance.Buttons_State);]]>
</Text>
</Rung>
<Rung Number="74" Type="N">
<Text>
<![CDATA[XIO(HMI.Maintenance.Maintenance_Mode)MOVE(0,HMI.Maintenance.Buttons_State);]]>
</Text>
</Rung>
<Rung Number="75" Type="N">
<Text>
<![CDATA[XIC(MCM.STS.Unacknowledge_All_Logs)MOVE(0,Acknowledge);]]>
</Text>
</Rung>
<Rung Number="76" 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(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(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(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(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[[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[NOP();]]>
</Text>
</Rung>
<Rung Number="82" Type="N">
<Text>
<![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>
</RLLContent>
</Routine>
<Routine Name="Prescan" Type="RLL"/>
</Routines>
<Dependencies>
<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>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>