From 809d05c99c3bfdaa1df8624326e0758c473fe7c2 Mon Sep 17 00:00:00 2001 From: "b.makharadze" <55makharadze@gmail.com> Date: Wed, 30 Jul 2025 18:21:37 +0400 Subject: [PATCH] Update JR_PB --- .../STATION_JR_PB/PLC/AOIs/AOI_DPM_AOI.L5X | 381 +++ .../PLC/AOIs/AOI_FLIP_FLOP_AOI.L5X | 110 + .../STATION_JR_PB/PLC/AOIs/AOI_MCM_AOI.L5X | 1187 ++++++++ .../PLC/AOIs/AOI_STATION_JR_PB_AOI.L5X | 220 +- .../STATION_JR_PB/PLC/AOIs/AOI_VFD_AOI.L5X | 1106 +++---- .../STATION_JR_PB/PLC/STATION_JR_PB.L5X | 2693 ++++++++++++----- .../STATION_JR_PB/PLC/UDTs/DPM_DataTypes.L5X | 392 +++ .../STATION_JR_PB/PLC/UDTs/MCM_DataTypes.L5X | 1198 ++++++++ .../PLC/UDTs/STATION_JR_PB_DataTypes.L5X | 255 +- .../STATION_JR_PB/PLC/UDTs/VFD_DataTypes.L5X | 1118 +++---- 10 files changed, 6386 insertions(+), 2274 deletions(-) create mode 100644 PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_DPM_AOI.L5X create mode 100644 PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_FLIP_FLOP_AOI.L5X create mode 100644 PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_MCM_AOI.L5X create mode 100644 PLC/Simulations/STATION_JR_PB/PLC/UDTs/DPM_DataTypes.L5X create mode 100644 PLC/Simulations/STATION_JR_PB/PLC/UDTs/MCM_DataTypes.L5X diff --git a/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_DPM_AOI.L5X b/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_DPM_AOI.L5X new file mode 100644 index 0000000..8f61ff5 --- /dev/null +++ b/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_DPM_AOI.L5X @@ -0,0 +1,381 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + — 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. +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_FLIP_FLOP_AOI.L5X b/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_FLIP_FLOP_AOI.L5X new file mode 100644 index 0000000..0a5d7ee --- /dev/null +++ b/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_FLIP_FLOP_AOI.L5X @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_MCM_AOI.L5X b/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_MCM_AOI.L5X new file mode 100644 index 0000000..741594a --- /dev/null +++ b/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_MCM_AOI.L5X @@ -0,0 +1,1187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +” ) 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. +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_STATION_JR_PB_AOI.L5X b/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_STATION_JR_PB_AOI.L5X index 37decac..0bc8c6f 100644 --- a/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_STATION_JR_PB_AOI.L5X +++ b/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_STATION_JR_PB_AOI.L5X @@ -1,10 +1,137 @@  - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + @@ -37,6 +166,9 @@ + + + @@ -47,14 +179,17 @@ + + + - - - + + + @@ -63,11 +198,17 @@ + + + + + + @@ -77,6 +218,53 @@ + + + @@ -88,7 +276,7 @@ - + @@ -107,10 +295,15 @@ - + + + + + + @@ -119,7 +312,7 @@ - + @@ -128,7 +321,7 @@ - + @@ -137,7 +330,7 @@ - + @@ -146,7 +339,7 @@ - + @@ -155,7 +348,7 @@ - + @@ -180,7 +373,6 @@ - diff --git a/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_VFD_AOI.L5X b/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_VFD_AOI.L5X index 9664a72..8d7333f 100644 --- a/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_VFD_AOI.L5X +++ b/PLC/Simulations/STATION_JR_PB/PLC/AOIs/AOI_VFD_AOI.L5X @@ -1,39 +1,78 @@  - + + + + + + + + + + + + + - + + + + @@ -58,257 +97,46 @@ - - - - - - - - - - - - - @@ -340,58 +168,28 @@ - - + - @@ -674,13 +386,13 @@ Pressed]]> - - + + - - + + - + @@ -689,20 +401,9 @@ Pressed]]> - + - - - - - - - - - - - - + @@ -712,9 +413,6 @@ Pressed]]> - - - @@ -723,9 +421,6 @@ Pressed]]> - - - @@ -755,9 +450,9 @@ Pressed]]> - + - + @@ -766,6 +461,14 @@ Pressed]]> + + + + + + + + @@ -777,21 +480,7 @@ Pressed]]> - - - - - - - - - - - - - - @@ -799,10 +488,7 @@ Pressed]]> - - - - + @@ -810,10 +496,7 @@ Pressed]]> - - - - + @@ -832,21 +515,7 @@ Pressed]]> - - - - - - - - - - - - - - @@ -856,7 +525,7 @@ Pressed]]> - + @@ -866,9 +535,6 @@ Pressed]]> - - - @@ -889,7 +555,7 @@ Pressed]]> - + @@ -899,9 +565,6 @@ Pressed]]> - - - @@ -910,9 +573,6 @@ Pressed]]> - - - @@ -922,7 +582,7 @@ Pressed]]> - + @@ -954,9 +614,6 @@ Pressed]]> - - - @@ -965,9 +622,6 @@ Pressed]]> - - - @@ -976,8 +630,27 @@ Pressed]]> + + + + + + + + - + + + + + + + + + + + + @@ -988,7 +661,7 @@ Pressed]]> - + @@ -1084,9 +757,6 @@ Pressed]]> - - - @@ -1106,10 +776,7 @@ Pressed]]> - - - - + @@ -1128,21 +795,7 @@ Pressed]]> - - - - - - - - - - - - - - @@ -1211,17 +864,6 @@ Pressed]]> - - - - - - - - - - - @@ -1260,10 +902,10 @@ Pressed]]> - + - - + + @@ -1277,15 +919,15 @@ Pressed]]> - + - + - + - + @@ -1293,10 +935,10 @@ Pressed]]> - + - - + + @@ -1304,10 +946,10 @@ Pressed]]> - + - - + + @@ -1315,10 +957,10 @@ Pressed]]> - + - - + + @@ -1326,10 +968,37 @@ Pressed]]> - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1338,12 +1007,12 @@ Pressed]]> - + - + @@ -1378,255 +1047,220 @@ Pressed]]> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1635,158 +1269,188 @@ Pressed]]> - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - + @@ -1794,7 +1458,7 @@ Pressed]]> - + diff --git a/PLC/Simulations/STATION_JR_PB/PLC/STATION_JR_PB.L5X b/PLC/Simulations/STATION_JR_PB/PLC/STATION_JR_PB.L5X index 0423c48..b52312f 100644 --- a/PLC/Simulations/STATION_JR_PB/PLC/STATION_JR_PB.L5X +++ b/PLC/Simulations/STATION_JR_PB/PLC/STATION_JR_PB.L5X @@ -1,11 +1,85 @@  - - + + + + + + + + + + - + + + + + + + + + + + + + + - - - - - - - - - - @@ -391,9 +306,9 @@ - - - @@ -1143,6 +2217,53 @@ Pressed]]> + + + @@ -1154,7 +2275,7 @@ Pressed]]> - + @@ -1173,10 +2294,15 @@ Pressed]]> - + + + + + + @@ -1185,7 +2311,7 @@ Pressed]]> - + @@ -1194,7 +2320,7 @@ Pressed]]> - + @@ -1203,7 +2329,7 @@ Pressed]]> - + @@ -1212,7 +2338,7 @@ Pressed]]> - + @@ -1221,7 +2347,7 @@ Pressed]]> - + @@ -1244,7 +2370,7 @@ Pressed]]> - + @@ -1262,13 +2388,13 @@ Pressed]]> - - + + - - + + - + @@ -1277,20 +2403,9 @@ Pressed]]> - + - - - - - - - - - - - - + @@ -1300,9 +2415,6 @@ Pressed]]> - - - @@ -1311,9 +2423,6 @@ Pressed]]> - - - @@ -1343,9 +2452,9 @@ Pressed]]> - + - + @@ -1354,6 +2463,14 @@ Pressed]]> + + + + + + + + @@ -1365,21 +2482,7 @@ Pressed]]> - - - - - - - - - - - - - - @@ -1387,10 +2490,7 @@ Pressed]]> - - - - + @@ -1398,10 +2498,7 @@ Pressed]]> - - - - + @@ -1420,21 +2517,7 @@ Pressed]]> - - - - - - - - - - - - - - @@ -1444,7 +2527,7 @@ Pressed]]> - + @@ -1454,9 +2537,6 @@ Pressed]]> - - - @@ -1477,7 +2557,7 @@ Pressed]]> - + @@ -1487,9 +2567,6 @@ Pressed]]> - - - @@ -1498,9 +2575,6 @@ Pressed]]> - - - @@ -1510,7 +2584,7 @@ Pressed]]> - + @@ -1542,9 +2616,6 @@ Pressed]]> - - - @@ -1553,9 +2624,6 @@ Pressed]]> - - - @@ -1564,8 +2632,27 @@ Pressed]]> + + + + + + + + - + + + + + + + + + + + + @@ -1576,7 +2663,7 @@ Pressed]]> - + @@ -1672,9 +2759,6 @@ Pressed]]> - - - @@ -1694,10 +2778,7 @@ Pressed]]> - - - - + @@ -1716,21 +2797,7 @@ Pressed]]> - - - - - - - - - - - - - - @@ -1799,17 +2866,6 @@ Pressed]]> - - - - - - - - - - - @@ -1848,10 +2904,10 @@ Pressed]]> - + - - + + @@ -1865,15 +2921,15 @@ Pressed]]> - + - + - + - + @@ -1881,10 +2937,10 @@ Pressed]]> - + - - + + @@ -1892,10 +2948,10 @@ Pressed]]> - + - - + + @@ -1903,10 +2959,10 @@ Pressed]]> - + - - + + @@ -1914,10 +2970,37 @@ Pressed]]> - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1926,12 +3009,12 @@ Pressed]]> - + - + @@ -1966,255 +3049,220 @@ Pressed]]> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2223,158 +3271,188 @@ Pressed]]> - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - + @@ -2393,7 +3471,7 @@ Pressed]]> - + @@ -2433,7 +3511,8 @@ Pressed]]> @@ -2449,12 +3528,18 @@ Pressed]]> - + + + + + + + @@ -2477,7 +3562,7 @@ Pressed]]> - + @@ -2504,7 +3589,8 @@ Pressed]]> @@ -2520,12 +3606,18 @@ Pressed]]> - + + + + + + + @@ -2548,7 +3640,7 @@ Pressed]]> - + @@ -2582,19 +3674,19 @@ Pressed]]> - @@ -2604,21 +3696,19 @@ Pressed]]> - - - + + + - - - + + - @@ -2632,60 +3722,47 @@ Pressed]]> + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2716,8 +3793,8 @@ Pressed]]> - - + + @@ -2728,7 +3805,7 @@ Pressed]]> - + @@ -2803,12 +3880,12 @@ Pressed]]> - + - + diff --git a/PLC/Simulations/STATION_JR_PB/PLC/UDTs/DPM_DataTypes.L5X b/PLC/Simulations/STATION_JR_PB/PLC/UDTs/DPM_DataTypes.L5X new file mode 100644 index 0000000..be07462 --- /dev/null +++ b/PLC/Simulations/STATION_JR_PB/PLC/UDTs/DPM_DataTypes.L5X @@ -0,0 +1,392 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + — 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. +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PLC/Simulations/STATION_JR_PB/PLC/UDTs/MCM_DataTypes.L5X b/PLC/Simulations/STATION_JR_PB/PLC/UDTs/MCM_DataTypes.L5X new file mode 100644 index 0000000..596b135 --- /dev/null +++ b/PLC/Simulations/STATION_JR_PB/PLC/UDTs/MCM_DataTypes.L5X @@ -0,0 +1,1198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +” ) 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. +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PLC/Simulations/STATION_JR_PB/PLC/UDTs/STATION_JR_PB_DataTypes.L5X b/PLC/Simulations/STATION_JR_PB/PLC/UDTs/STATION_JR_PB_DataTypes.L5X index afcba89..d2d9390 100644 --- a/PLC/Simulations/STATION_JR_PB/PLC/UDTs/STATION_JR_PB_DataTypes.L5X +++ b/PLC/Simulations/STATION_JR_PB/PLC/UDTs/STATION_JR_PB_DataTypes.L5X @@ -1,5 +1,5 @@  - + @@ -15,7 +15,7 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PLC/Simulations/STATION_JR_PB/PLC/UDTs/VFD_DataTypes.L5X b/PLC/Simulations/STATION_JR_PB/PLC/UDTs/VFD_DataTypes.L5X index e1516a9..b8d3d10 100644 --- a/PLC/Simulations/STATION_JR_PB/PLC/UDTs/VFD_DataTypes.L5X +++ b/PLC/Simulations/STATION_JR_PB/PLC/UDTs/VFD_DataTypes.L5X @@ -1,7 +1,62 @@  - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - @@ -351,58 +179,28 @@ - - + - + @@ -684,13 +396,13 @@ Pressed]]> - - + + - - + + - + @@ -699,20 +411,9 @@ Pressed]]> - + - - - - - - - - - - - - + @@ -722,9 +423,6 @@ Pressed]]> - - - @@ -733,9 +431,6 @@ Pressed]]> - - - @@ -765,9 +460,9 @@ Pressed]]> - + - + @@ -776,6 +471,14 @@ Pressed]]> + + + + + + + + @@ -787,21 +490,7 @@ Pressed]]> - - - - - - - - - - - - - - @@ -809,10 +498,7 @@ Pressed]]> - - - - + @@ -820,10 +506,7 @@ Pressed]]> - - - - + @@ -842,21 +525,7 @@ Pressed]]> - - - - - - - - - - - - - - @@ -866,7 +535,7 @@ Pressed]]> - + @@ -876,9 +545,6 @@ Pressed]]> - - - @@ -899,7 +565,7 @@ Pressed]]> - + @@ -909,9 +575,6 @@ Pressed]]> - - - @@ -920,9 +583,6 @@ Pressed]]> - - - @@ -932,7 +592,7 @@ Pressed]]> - + @@ -964,9 +624,6 @@ Pressed]]> - - - @@ -975,9 +632,6 @@ Pressed]]> - - - @@ -986,8 +640,27 @@ Pressed]]> + + + + + + + + - + + + + + + + + + + + + @@ -998,7 +671,7 @@ Pressed]]> - + @@ -1094,9 +767,6 @@ Pressed]]> - - - @@ -1116,10 +786,7 @@ Pressed]]> - - - - + @@ -1138,21 +805,7 @@ Pressed]]> - - - - - - - - - - - - - - @@ -1221,17 +874,6 @@ Pressed]]> - - - - - - - - - - - @@ -1270,10 +912,10 @@ Pressed]]> - + - - + + @@ -1287,15 +929,15 @@ Pressed]]> - + - + - + - + @@ -1303,10 +945,10 @@ Pressed]]> - + - - + + @@ -1314,10 +956,10 @@ Pressed]]> - + - - + + @@ -1325,10 +967,10 @@ Pressed]]> - + - - + + @@ -1336,10 +978,37 @@ Pressed]]> - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1348,12 +1017,12 @@ Pressed]]> - + - + @@ -1388,255 +1057,220 @@ Pressed]]> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1645,158 +1279,188 @@ Pressed]]> - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - + @@ -1804,7 +1468,7 @@ Pressed]]> - +