MTN6_PLC/PLC/AOIs/AOI_MCM_AOI.L5X

808 lines
31 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"?>
<!--MAIN CONTROL MODULE-->
<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-11T10:19:06.495Z"
EditedBy="LCIBATUMI\robert.yevdokimov" SoftwareRevision="v36.00">
<Description>
<![CDATA[MAIN CONTROL MODULE]]>
</Description>
<Parameters>
<Parameter Name="EnableIn" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<Description>
<![CDATA[Enable Input - System Defined Parameter]]>
</Description>
</Parameter>
<Parameter Name="EnableOut" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="false" Visible="false" ExternalAccess="Read Only">
<Description>
<![CDATA[Enable Output - System Defined Parameter]]>
</Description>
</Parameter>
<Parameter Name="HMI" TagType="Base" DataType="UDT_HMI_MCM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="CTRL" TagType="Base" DataType="UDT_CTRL_MCM" Usage="InOut" Required="true" Visible="true" Constant="false"/>
<Parameter Name="Motor_Fault_Reset_PB_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Motor Fault Reset PushButton Input]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Power_Branch_Fault_Reset_PB_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Power Branch Fault PushButton Input]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Low_Air_Pressure_Reset_PB_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Low Air Pressure Reset PushButton Input]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Start_PB_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Start PushButton Input]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Jam_Restart_PB_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Jam Reset PushButton Input]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="EStop_PB_I_CH1" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Emergency Stop PushButton Input 1]]>
</Description>
<DefaultData Format="Decorated">
<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">
<Description>
<![CDATA[Emergency Stop PushButton Input 2]]>
</Description>
<DefaultData Format="Decorated">
<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">
<Description>
<![CDATA[Stop PushButton Input]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Fire_Relay_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Fire Relay Input]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="On_UPS_Battery_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Uninterrupted Power Supply On Input]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="UPS_Battery_Low_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Uninterrupted Power Supply Low Input]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="UPS_Battery_Fault_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Uninterrupted Power Supply Faulted Input]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="NAT_Switch_Fault_I" TagType="Base" DataType="BOOL" Usage="Input" Radix="Decimal" Required="true" Visible="true" ExternalAccess="None">
<Description>
<![CDATA[Network Switch Fault Input]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Motor_Fault_Reset_PB_LT_O" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Motor Fault Reset PushButton Light Output]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Power_Branch_Fault_Reset_PB_LT_O" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Power Branch Fault PushButton Light Output]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Low_Air_Pressure_Reset_PB_LT_O" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Low Air Pressure Reset PushButton Light Output]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="EStop_Actuated_LT_O" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Emergency Stop PushButton Light Output]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Start_PB_LT_O" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Start PushButton Light Output]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Jam_Restart_PB_LT_O" TagType="Base" DataType="BOOL" Usage="Output" Radix="Decimal" Required="true" Visible="true" ExternalAccess="Read/Write">
<Description>
<![CDATA[Jam Reset PushButton Light Output]]>
</Description>
<DefaultData Format="Decorated">
<DataValue DataType="BOOL" Radix="Decimal" Value="0"/>
</DefaultData>
</Parameter>
<Parameter Name="Motor_Was_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="Power_Branch_Was_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="Low_Air_Pressure_Fault_Was_Present" 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="Encoder_Fault" 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="Jam_Fault" 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="Communication_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="EStop_Was_Actuated" 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_Locally" 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="System_Started" 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="Fire_Relay_De_Energized" 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="UPS_Battery_Fault" 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="On_UPS_Battery" 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="UPS_Battery_Low" 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="NAT_Switch_Fault" 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="Motor_Fault_Flip_Flop" DataType="AOI_FLIP_FLOP" ExternalAccess="None">
<DefaultData Format="Decorated">
<Structure DataType="AOI_FLIP_FLOP">
<DataValueMember Name="EnableIn" DataType="BOOL" Value="1"/>
<DataValueMember Name="EnableOut" DataType="BOOL" Value="0"/>
<DataValueMember Name="On" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="Off" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="Flash" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Encoder_Fault_FlipFlop" DataType="AOI_FLIP_FLOP" ExternalAccess="None">
<DefaultData Format="Decorated">
<Structure DataType="AOI_FLIP_FLOP">
<DataValueMember Name="EnableIn" DataType="BOOL" Value="1"/>
<DataValueMember Name="EnableOut" DataType="BOOL" Value="0"/>
<DataValueMember Name="On" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="Off" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="Flash" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="EStopped_FlipFlop" DataType="AOI_FLIP_FLOP" ExternalAccess="None">
<DefaultData Format="Decorated">
<Structure DataType="AOI_FLIP_FLOP">
<DataValueMember Name="EnableIn" DataType="BOOL" Value="1"/>
<DataValueMember Name="EnableOut" DataType="BOOL" Value="0"/>
<DataValueMember Name="On" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="Off" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="Flash" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Low_Air_Pressure_FlipFlop" DataType="AOI_FLIP_FLOP" ExternalAccess="None">
<DefaultData Format="Decorated">
<Structure DataType="AOI_FLIP_FLOP">
<DataValueMember Name="EnableIn" DataType="BOOL" Value="1"/>
<DataValueMember Name="EnableOut" DataType="BOOL" Value="0"/>
<DataValueMember Name="On" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="Off" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="Flash" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
<LocalTag Name="Power_Branch_Fault_FlipFlop" DataType="AOI_FLIP_FLOP" ExternalAccess="None">
<DefaultData Format="Decorated">
<Structure DataType="AOI_FLIP_FLOP">
<DataValueMember Name="EnableIn" DataType="BOOL" Value="1"/>
<DataValueMember Name="EnableOut" DataType="BOOL" Value="0"/>
<DataValueMember Name="On" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="Off" DataType="DINT" Radix="Decimal" Value="0"/>
<DataValueMember Name="Flash" DataType="BOOL" Value="0"/>
</Structure>
</DefaultData>
</LocalTag>
</LocalTags>
<Routines>
<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>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.VFD_Was_Faulted)OTE(Motor_Was_Faulted);]]>
</Text>
</Rung>
<Rung Number="2" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Power_Branch_Was_Faulted)OTE(Power_Branch_Was_Faulted);]]>
</Text>
</Rung>
<Rung Number="3" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Low_Air_Pressure_Fault_Was_Present)OTE(Low_Air_Pressure_Fault_Was_Present);]]>
</Text>
</Rung>
<Rung Number="4" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Encoder_Fault)OTE(Encoder_Fault);]]>
</Text>
</Rung>
<Rung Number="5" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Jam_Fault)OTE(Jam_Fault);]]>
</Text>
</Rung>
<Rung Number="6" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.Communication_Faulted)[OTE(Communication_Faulted) ,OTE(CTRL.STS.Communication_Faulted) ];]]>
</Text>
</Rung>
<Rung Number="7" Type="N">
<Text>
<![CDATA[XIC(UPS_Battery_Fault_I)OTE(UPS_Battery_Fault);]]>
</Text>
</Rung>
<Rung Number="8" Type="N">
<Text>
<![CDATA[XIC(On_UPS_Battery_I)OTE(On_UPS_Battery);]]>
</Text>
</Rung>
<Rung Number="9" Type="N">
<Text>
<![CDATA[XIC(UPS_Battery_Low_I)OTE(UPS_Battery_Low);]]>
</Text>
</Rung>
<Rung Number="10" Type="N">
<Text>
<![CDATA[XIC(NAT_Switch_Fault_I)OTE(NAT_Switch_Fault);]]>
</Text>
</Rung>
<Rung Number="11" Type="N">
<Text>
<![CDATA[XIO(Fire_Relay_I)OTE(Fire_Relay_De_Energized);]]>
</Text>
</Rung>
<Rung Number="12" Type="N">
<Text>
<![CDATA[XIC(CTRL.CMD.EStop_Was_Actuated)OTE(EStop_Was_Actuated);]]>
</Text>
</Rung>
<Rung Number="13" Type="N">
<Text>
<![CDATA[[XIO(EStop_PB_I_CH1) ,XIO(EStop_PB_I_CH2) ]OTE(EStopped_Locally);]]>
</Text>
</Rung>
<Rung Number="14" Type="N">
<Text>
<![CDATA[[XIC(Start_PB_I) ,XIC(System_Started) ,XIC(HMI.Start_PB) ]XIC(Stop_PB_I)XIO(HMI.Stop_PB)XIO(EStop_Was_Actuated)XIO(EStopped_Locally)XIC(Fire_Relay_I)[OTE(System_Started) ,OTE(CTRL.STS.System_Started) ];]]>
</Text>
</Rung>
<Rung Number="15" Type="N">
<Text>
<![CDATA[XIC(Start_PB_I)OTE(CTRL.STS.System_Start_Requested);]]>
</Text>
</Rung>
<Rung Number="16" Type="N">
<Text>
<![CDATA[XIC(HMI.Setup_Motor_Speeds)OTE(CTRL.STS.Setup_Motor_Speeds);]]>
</Text>
</Rung>
<Rung Number="17" Type="N">
<Text>
<![CDATA[[XIC(Motor_Fault_Reset_PB_I) ,XIC(HMI.Motor_Fault_Reset_PB) ]OTE(CTRL.STS.VFD_Fault_Reset_Requested);]]>
</Text>
</Rung>
<Rung Number="18" Type="N">
<Text>
<![CDATA[[XIC(Power_Branch_Fault_Reset_PB_I) ,XIC(HMI.Power_Branch_Fault_Reset_PB) ]OTE(CTRL.STS.Power_Branch_Fault_Reset_Requested);]]>
</Text>
</Rung>
<Rung Number="19" Type="N">
<Text>
<![CDATA[[XIC(Low_Air_Pressure_Reset_PB_I) ,XIC(HMI.Low_Air_Pressure_Reset_PB) ]OTE(CTRL.STS.Low_Air_Pressure_Fault_Reset_Requested);]]>
</Text>
</Rung>
<Rung Number="20" Type="N">
<Text>
<![CDATA[[XIC(Jam_Restart_PB_I) ,XIC(HMI.Jam_Restart_PB) ]OTE(CTRL.STS.Jam_Reset_Requested);]]>
</Text>
</Rung>
<Rung Number="21" Type="N">
<Text>
<![CDATA[[XIO(CTRL.CMD.VFD_Faulted) XIC(Motor_Was_Faulted) ,XIC(CTRL.CMD.VFD_Faulted) AOI_FLIP_FLOP(Motor_Fault_Flip_Flop,500,500) ]OTE(Motor_Fault_Reset_PB_LT_O);]]>
</Text>
</Rung>
<Rung Number="22" Type="N">
<Text>
<![CDATA[[XIC(Jam_Fault) ,XIC(Encoder_Fault) AOI_FLIP_FLOP(Encoder_Fault_FlipFlop,500,500) ]OTE(Jam_Restart_PB_LT_O);]]>
</Text>
</Rung>
<Rung Number="23" Type="N">
<Text>
<![CDATA[[XIC(CTRL.CMD.EStop_Actuated) AOI_FLIP_FLOP(EStopped_FlipFlop,500,500) ,XIO(CTRL.CMD.EStop_Actuated) XIC(EStop_Was_Actuated) ]OTE(EStop_Actuated_LT_O);]]>
</Text>
</Rung>
<Rung Number="24" Type="N">
<Text>
<![CDATA[[XIC(CTRL.CMD.Low_Air_Pressure_Fault) AOI_FLIP_FLOP(Low_Air_Pressure_FlipFlop,500,500) ,XIO(CTRL.CMD.Low_Air_Pressure_Fault) XIC(Low_Air_Pressure_Fault_Was_Present) ]OTE(Low_Air_Pressure_Reset_PB_LT_O);]]>
</Text>
</Rung>
<Rung Number="25" Type="N">
<Text>
<![CDATA[[XIC(CTRL.CMD.Power_Branch_Fault) AOI_FLIP_FLOP(Power_Branch_Fault_FlipFlop,500,500) ,XIO(CTRL.CMD.Power_Branch_Fault) XIC(Power_Branch_Was_Faulted) ]OTE(Power_Branch_Fault_Reset_PB_LT_O);]]>
</Text>
</Rung>
<Rung Number="26" Type="N">
<Text>
<![CDATA[XIC(System_Started)OTE(Start_PB_LT_O);]]>
</Text>
</Rung>
<Rung Number="27" Type="N">
<Comment>
<![CDATA[ALARMS
]]>
</Comment>
<Text>
<![CDATA[XIC(Start_PB_I)OTE(HMI.Alarm.Start_PB_Pressed);]]>
</Text>
</Rung>
<Rung Number="28" Type="N">
<Text>
<![CDATA[XIO(Stop_PB_I)OTE(HMI.Alarm.Stop_PB_Pressed);]]>
</Text>
</Rung>
<Rung Number="29" Type="N">
<Text>
<![CDATA[XIC(Motor_Fault_Reset_PB_I)OTE(HMI.Alarm.Motor_Fault_Reset_PB_Pressed);]]>
</Text>
</Rung>
<Rung Number="30" Type="N">
<Text>
<![CDATA[XIC(Jam_Restart_PB_I)OTE(HMI.Alarm.Jam_Restart_PB_Pressed);]]>
</Text>
</Rung>
<Rung Number="31" Type="N">
<Text>
<![CDATA[XIC(Low_Air_Pressure_Reset_PB_I)OTE(HMI.Alarm.Low_Air_Pressure_Reset_PB_Pressed);]]>
</Text>
</Rung>
<Rung Number="32" Type="N">
<Text>
<![CDATA[XIC(Power_Branch_Fault_Reset_PB_I)OTE(HMI.Alarm.Power_Branch_Fault_Reset_PB_Pressed);]]>
</Text>
</Rung>
<Rung Number="33" Type="N">
<Text>
<![CDATA[XIC(UPS_Battery_Fault)OTE(HMI.Alarm.UPS_Battery_Fault);]]>
</Text>
</Rung>
<Rung Number="34" Type="N">
<Text>
<![CDATA[XIC(On_UPS_Battery)OTE(HMI.Alarm.On_UPS_Battery);]]>
</Text>
</Rung>
<Rung Number="35" Type="N">
<Text>
<![CDATA[XIC(UPS_Battery_Low)OTE(HMI.Alarm.UPS_Battery_Low);]]>
</Text>
</Rung>
<Rung Number="36" Type="N">
<Text>
<![CDATA[XIC(NAT_Switch_Fault)OTE(HMI.Alarm.NAT_Switch_Fault);]]>
</Text>
</Rung>
<Rung Number="37" Type="N">
<Text>
<![CDATA[XIC(Fire_Relay_De_Energized)OTE(HMI.Alarm.Fire_Relay_De_Energized);]]>
</Text>
</Rung>
<Rung Number="38" Type="N">
<Text>
<![CDATA[XIC(EStopped_Locally)OTE(HMI.Alarm.EStopped_Locally);]]>
</Text>
</Rung>
<Rung Number="39" Type="N">
<Text>
<![CDATA[XIC(EStop_Actuated_LT_O)OTE(HMI.EStop_Actuated_LT);]]>
</Text>
</Rung>
<Rung Number="40" Type="N">
<Text>
<![CDATA[XIC(EStopped_Locally)OTE(HMI.Local_Estop_LT);]]>
</Text>
</Rung>
<Rung Number="41" Type="N">
<Text>
<![CDATA[XIO(Start_PB_LT_O)MOVE(1,HMI.Start_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="42" Type="N">
<Text>
<![CDATA[XIC(Start_PB_LT_O)MOVE(2,HMI.Start_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="43" Type="N">
<Text>
<![CDATA[[XIC(Start_PB_I) ,XIC(HMI.Start_PB) ]XIC(Start_PB_LT_O)MOVE(3,HMI.Start_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="44" Type="N">
<Text>
<![CDATA[[XIC(Start_PB_I) ,XIC(HMI.Start_PB) ]XIO(Start_PB_LT_O)MOVE(4,HMI.Start_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="45" Type="N">
<Text>
<![CDATA[XIO(Motor_Fault_Reset_PB_LT_O)MOVE(1,HMI.Motor_Fault_Reset_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="46" Type="N">
<Text>
<![CDATA[XIC(Motor_Fault_Reset_PB_LT_O)MOVE(2,HMI.Motor_Fault_Reset_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="47" Type="N">
<Text>
<![CDATA[[XIC(Motor_Fault_Reset_PB_I) ,XIC(HMI.Motor_Fault_Reset_PB) ]XIC(Motor_Fault_Reset_PB_LT_O)MOVE(3,HMI.Motor_Fault_Reset_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="48" Type="N">
<Text>
<![CDATA[[XIC(Motor_Fault_Reset_PB_I) ,XIC(HMI.Motor_Fault_Reset_PB) ]XIO(Motor_Fault_Reset_PB_LT_O)MOVE(4,HMI.Motor_Fault_Reset_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="49" Type="N">
<Text>
<![CDATA[XIO(Power_Branch_Fault_Reset_PB_LT_O)MOVE(1,HMI.Power_Branch_Fault_Reset_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="50" Type="N">
<Text>
<![CDATA[XIC(Power_Branch_Fault_Reset_PB_LT_O)MOVE(2,HMI.Power_Branch_Fault_Reset_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="51" Type="N">
<Text>
<![CDATA[[XIC(Power_Branch_Fault_Reset_PB_I) ,XIC(HMI.Power_Branch_Fault_Reset_PB) ]XIC(Power_Branch_Fault_Reset_PB_LT_O)MOVE(3,HMI.Power_Branch_Fault_Reset_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="52" Type="N">
<Text>
<![CDATA[[XIC(Power_Branch_Fault_Reset_PB_I) ,XIC(HMI.Power_Branch_Fault_Reset_PB) ]XIO(Power_Branch_Fault_Reset_PB_LT_O)MOVE(4,HMI.Power_Branch_Fault_Reset_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="53" Type="N">
<Text>
<![CDATA[XIO(Low_Air_Pressure_Reset_PB_LT_O)MOVE(1,HMI.Low_Air_Pressure_Reset_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="54" Type="N">
<Text>
<![CDATA[XIC(Low_Air_Pressure_Reset_PB_LT_O)MOVE(2,HMI.Low_Air_Pressure_Reset_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="55" Type="N">
<Text>
<![CDATA[[XIC(Low_Air_Pressure_Reset_PB_I) ,XIC(HMI.Low_Air_Pressure_Reset_PB) ]XIC(Low_Air_Pressure_Reset_PB_LT_O)MOVE(3,HMI.Low_Air_Pressure_Reset_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="56" Type="N">
<Text>
<![CDATA[[XIC(Low_Air_Pressure_Reset_PB_I) ,XIC(HMI.Low_Air_Pressure_Reset_PB) ]XIO(Low_Air_Pressure_Reset_PB_LT_O)MOVE(4,HMI.Low_Air_Pressure_Reset_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="57" Type="N">
<Text>
<![CDATA[XIO(Jam_Restart_PB_LT_O)MOVE(1,HMI.Jam_Restart_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="58" Type="N">
<Text>
<![CDATA[XIC(Jam_Restart_PB_LT_O)MOVE(2,HMI.Jam_Restart_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="59" Type="N">
<Text>
<![CDATA[[XIC(Jam_Restart_PB_I) ,XIC(HMI.Jam_Restart_PB) ]XIC(Jam_Restart_PB_LT_O)MOVE(3,HMI.Jam_Restart_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="60" Type="N">
<Text>
<![CDATA[[XIC(Jam_Restart_PB_I) ,XIC(HMI.Jam_Restart_PB) ]XIO(Jam_Restart_PB_LT_O)MOVE(4,HMI.Jam_Restart_PB_STATE);]]>
</Text>
</Rung>
<Rung Number="61" Type="N">
<Comment>
<![CDATA[STATES
]]>
</Comment>
<Text>
<![CDATA[XIC(System_Started)MOVE(9,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="62" Type="N">
<Text>
<![CDATA[XIO(System_Started)MOVE(0,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="63" Type="N">
<Text>
<![CDATA[XIC(Motor_Was_Faulted)MOVE(1,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="64" Type="N">
<Text>
<![CDATA[XIC(Power_Branch_Was_Faulted)MOVE(2,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="65" Type="N">
<Text>
<![CDATA[XIC(Low_Air_Pressure_Fault_Was_Present)MOVE(3,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="66" Type="N">
<Text>
<![CDATA[XIC(Encoder_Fault)MOVE(4,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="67" Type="N">
<Text>
<![CDATA[XIC(Jam_Fault)MOVE(5,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="68" Type="N">
<Text>
<![CDATA[XIC(Communication_Faulted)MOVE(6,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="69" Type="N">
<Text>
<![CDATA[XIC(EStop_Was_Actuated)MOVE(7,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="70" Type="N">
<Text>
<![CDATA[XIC(EStopped_Locally)MOVE(8,HMI.STATE);]]>
</Text>
</Rung>
<Rung Number="71" Type="N">
<Text>
<![CDATA[FLL(0,CTRL.CMD,1);]]>
</Text>
</Rung>
<Rung Number="72" Type="N">
<Text>
<![CDATA[OTU(HMI.Setup_Motor_Speeds)OTU(HMI.Motor_Fault_Reset_PB)OTU(HMI.Power_Branch_Fault_Reset_PB)OTU(HMI.Low_Air_Pressure_Reset_PB)OTU(HMI.Start_PB)OTU(HMI.Jam_Restart_PB)OTU(HMI.Stop_PB);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
<Routine Name="Prescan" Type="RLL">
<RLLContent>
<Rung Number="0" Type="N">
<Comment>
<![CDATA[Initiation Control tags]]>
</Comment>
<Text>
<![CDATA[NOP();]]>
</Text>
</Rung>
<Rung Number="1" Type="N">
<Text>
<![CDATA[FLL(0,CTRL,1)FLL(0,HMI.Alarm,1);]]>
</Text>
</Rung>
</RLLContent>
</Routine>
</Routines>
<Dependencies>
<Dependency Type="DataType" Name="UDT_CTRL_MCM"/>
<Dependency Type="AddOnInstructionDefinition" Name="AOI_FLIP_FLOP"/>
<Dependency Type="DataType" Name="UDT_HMI_MCM"/>
</Dependencies>
</AddOnInstructionDefinition>
</AddOnInstructionDefinitions>
</Controller>
</RSLogix5000Content>