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 @@
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
+
-
+
@@ -404,24 +202,16 @@ Stopped by Station Stop PushButton]]>
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
@@ -435,55 +225,27 @@ Stopped by Station Stop PushButton]]>
-
-
-
-
-
+
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
+
@@ -491,11 +253,7 @@ Stopped by Station Stop PushButton]]>
-
-
-
-
-
+
@@ -510,111 +268,29 @@ Stopped by Station Stop PushButton]]>
-
+
+
-
+
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
-
+
@@ -622,40 +298,76 @@ Pressed]]>
-
+
+
+
-
+ VFD (PowerFlex)
+1 -> APF (ArmourFlex)]]>
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -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 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -19,7 +93,7 @@
-
+
@@ -29,36 +103,34 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -75,6 +147,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -91,254 +214,46 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -391,9 +306,9 @@
-
+
-
+
@@ -433,58 +348,28 @@
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
+
-
+
@@ -497,24 +382,16 @@ Stopped by Station Stop PushButton]]>
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
@@ -528,55 +405,27 @@ Stopped by Station Stop PushButton]]>
-
-
-
-
-
+
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
+
@@ -584,11 +433,7 @@ Stopped by Station Stop PushButton]]>
-
-
-
-
-
+
@@ -601,6 +446,57 @@ Stopped by Station Stop PushButton]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -629,115 +525,34 @@ Stopped by Station Stop PushButton]]>
+
-
+
+
-
+
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
-
+
@@ -745,30 +560,65 @@ Pressed]]>
-
+
+
+
-
+ VFD (PowerFlex)
+1 -> APF (ArmourFlex)]]>
-
+
-
+
-
-
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1052,7 +902,1235 @@ Pressed]]>
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ — 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.
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ — ” ) 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.
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -1109,9 +2186,6 @@ Pressed]]>
-
-
-
@@ -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 @@
-
+
@@ -88,9 +88,9 @@
-
+
-
+
@@ -133,11 +133,258 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -22,292 +77,65 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
@@ -351,58 +179,28 @@
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
+
-
+
@@ -415,24 +213,16 @@ Stopped by Station Stop PushButton]]>
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
@@ -446,55 +236,27 @@ Stopped by Station Stop PushButton]]>
-
-
-
-
-
+
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
+
@@ -502,11 +264,7 @@ Stopped by Station Stop PushButton]]>
-
-
-
-
-
+
@@ -521,111 +279,29 @@ Stopped by Station Stop PushButton]]>
-
+
+
-
+
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
-
+
@@ -633,40 +309,76 @@ Pressed]]>
-
+
+
+
-
+ VFD (PowerFlex)
+1 -> APF (ArmourFlex)]]>
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -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]]>
-
+