From 4c3eebf93c0bee78e488f811f49c6e59acec7718 Mon Sep 17 00:00:00 2001
From: "b.makharadze" <55makharadze@gmail.com>
Date: Wed, 30 Jul 2025 18:21:02 +0400
Subject: [PATCH] Update EPC
---
.../STATION_EPC/OIP/SATION_EPC.tscn | 96 +-
.../STATION_EPC/OIP/station_epc.gd | 10 -
.../PLC/AOIs/AOI_FLIP_FLOP_AOI.L5X | 110 +
.../STATION_EPC/PLC/AOIs/AOI_MCM_AOI.L5X | 1113 ++++++
.../PLC/AOIs/AOI_STATION_EPC_AOI.L5X | 398 ++-
.../STATION_EPC/PLC/AOIs/AOI_VFD_AOI.L5X | 1468 ++++++++
.../STATION_EPC/PLC/STATION_EPC.L5X | 3095 +++++++++--------
.../PLC/UDTs/IO_BLOCK_DataTypes.L5X | 392 +++
.../STATION_EPC/PLC/UDTs/MCM_DataTypes.L5X | 1124 ++++++
.../PLC/UDTs/STATION_EPC_DataTypes.L5X | 476 ++-
.../STATION_EPC/PLC/UDTs/VFD_DataTypes.L5X | 1478 ++++++++
11 files changed, 8241 insertions(+), 1519 deletions(-)
create mode 100644 PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_FLIP_FLOP_AOI.L5X
create mode 100644 PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_MCM_AOI.L5X
create mode 100644 PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_VFD_AOI.L5X
create mode 100644 PLC/Simulations/STATION_EPC/PLC/UDTs/IO_BLOCK_DataTypes.L5X
create mode 100644 PLC/Simulations/STATION_EPC/PLC/UDTs/MCM_DataTypes.L5X
create mode 100644 PLC/Simulations/STATION_EPC/PLC/UDTs/VFD_DataTypes.L5X
diff --git a/PLC/Simulations/STATION_EPC/OIP/SATION_EPC.tscn b/PLC/Simulations/STATION_EPC/OIP/SATION_EPC.tscn
index b9d4d00..8396502 100644
--- a/PLC/Simulations/STATION_EPC/OIP/SATION_EPC.tscn
+++ b/PLC/Simulations/STATION_EPC/OIP/SATION_EPC.tscn
@@ -1,6 +1,6 @@
-[gd_scene load_steps=15 format=3 uid="uid://bcby8jt3gsud8"]
+[gd_scene load_steps=13 format=3 uid="uid://cprxsbwebcd5v"]
-[ext_resource type="Script" uid="uid://dsxxycqvgg68a" path="res://station_epc.gd" id="1_qc5a3"]
+[ext_resource type="Script" uid="uid://b28c5btqltji5" path="res://station_epc.gd" id="1_qc5a3"]
[ext_resource type="PackedScene" uid="uid://dyhvoundu2kqc" path="res://parts/Building.tscn" id="1_v76qd"]
[ext_resource type="PackedScene" uid="uid://bqlkj4ar8q1ws" path="res://parts/assemblies/BeltConveyorAssembly.tscn" id="3_u7586"]
[ext_resource type="PackedScene" uid="uid://gddgyvex6gdj" path="res://parts/PushButton.tscn" id="4_ahe6k"]
@@ -17,24 +17,12 @@ friction = 0.5
resource_local_to_scene = true
script = ExtResource("8_spet4")
active = true
-segment_color = Color(0, 1, 0, 0.5)
[sub_resource type="Resource" id="Resource_spet4"]
resource_local_to_scene = true
script = ExtResource("7_kdh4b")
segment_datas = [SubResource("Resource_kdh4b")]
-[sub_resource type="Resource" id="Resource_3ipjn"]
-resource_local_to_scene = true
-script = ExtResource("8_spet4")
-active = true
-segment_color = Color(0, 1, 0, 0.5)
-
-[sub_resource type="Resource" id="Resource_bghi8"]
-resource_local_to_scene = true
-script = ExtResource("7_kdh4b")
-segment_datas = [SubResource("Resource_3ipjn")]
-
[node name="Simulation" type="Node3D"]
script = ExtResource("1_qc5a3")
@@ -49,44 +37,49 @@ transform = Transform3D(2, 0, 0, 0, 1, 0, 0, 0, 2, 4.05126, -1.42588, -1.63314)
[node name="UL1_3" parent="." instance=ExtResource("3_u7586")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.819656, -0.308412, -1.61317)
-local_floor_plane = Plane(0, 1, 0, -1.69159)
+local_floor_plane = Plane(0, 1, 0, -1.691588)
speed = 0.0
belt_physics_material = SubResource("PhysicsMaterial_6pmrs")
enable_comms = true
speed_tag_name = "UL1_3_OIP"
running_tag_name = ""
-metadata/hijack_scale = true
size = Vector3(8, 0.5, 1.524)
-metadata/hijack_scale = true
[node name="UL1_3_EPC1" parent="." instance=ExtResource("4_ahe6k")]
-transform = Transform3D(1, 0, 0, 0, 0.999853, 0.0171208, 0, -0.0171208, 0.999853, -4.5, -0.18, -0.75)
-text = "UL1_3_EPC1"
+transform = Transform3D(1, 0, 0, 0, 0.999853, 0.0171208, 0, -0.0171208, 0.999853, -4.922587, -0.18, -0.75)
+text = "UL1_3_EPC1_CH1"
toggle = true
-pressed = true
+normally_closed = true
lamp = true
button_color = Color(0.886275, 0.537255, 0, 1)
enable_comms = true
-pushbutton_tag_group_name = "TagGroup0"
pushbutton_tag_name = "Estop_OIP"
-lamp_tag_group_name = "TagGroup0"
lamp_tag_name = "Estop_OIP"
+[node name="UL1_3_EPC3" parent="." instance=ExtResource("4_ahe6k")]
+transform = Transform3D(1, 0, 0, 0, 0.999853, 0.0171208, 0, -0.0171208, 0.999853, -4.4607387, -0.18, -0.75)
+text = "UL1_3_EPC1_CH2"
+toggle = true
+normally_closed = true
+lamp = true
+button_color = Color(0.886275, 0.537255, 0, 1)
+enable_comms = true
+pushbutton_tag_name = "Estop_OIP2"
+lamp_tag_name = "Estop_OIP2"
+
[node name="UL1_3_EPC1_STATION" parent="." instance=ExtResource("4_ahe6k")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, -0.7, -0.75)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.503487, -0.7, -0.75)
text = "STATION EPC1"
toggle = true
pressed = true
lamp = true
button_color = Color(0.886275, 0.533333, 0, 1)
enable_comms = true
-pushbutton_tag_group_name = "TagGroup0"
pushbutton_tag_name = "UL1_3_EPC1.CTRL.STS.EStop_Was_Actuated"
-lamp_tag_group_name = "TagGroup0"
lamp_tag_name = "UL1_3_EPC1.CTRL.STS.EStop_Was_Actuated"
[node name="UL1_3_EPC1_BEACON" parent="." instance=ExtResource("6_qc5a3")]
-transform = Transform3D(3.03596, -0.00241847, 0, 0.0540532, 0.135836, 0, 0, 0, 3.03644, -4.5, 0.0338165, -0.637099)
+transform = Transform3D(3.03596, -0.0024184675, 0, 0.0540532, 0.135836, 0, 0, 0, 3.036441, -4.5, 0.0338165, -0.637099)
light_value = 1
_data = SubResource("Resource_spet4")
"Light 1" = SubResource("Resource_kdh4b")
@@ -94,41 +87,6 @@ enable_comms = true
tag_groups = null
tag_name = "Beacon_OIP.0"
-[node name="UL1_3_EPC2" parent="." instance=ExtResource("4_ahe6k")]
-transform = Transform3D(-1, 1.49675e-09, -8.74099e-08, 0, 0.999853, 0.0171208, 8.74228e-08, 0.0171208, -0.999853, -4.5, -0.18, -2.46)
-text = "UL1_3_EPC2"
-toggle = true
-pressed = true
-lamp = true
-button_color = Color(0.886275, 0.537255, 0, 1)
-enable_comms = true
-pushbutton_tag_group_name = "TagGroup0"
-pushbutton_tag_name = "Estop_OIP2"
-lamp_tag_group_name = "TagGroup0"
-lamp_tag_name = "Estop_OIP2"
-
-[node name="UL1_3_EPC2_STATION" parent="." instance=ExtResource("4_ahe6k")]
-transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -4.5, -0.7, -2.46)
-text = "STATION EPC2"
-toggle = true
-pressed = true
-lamp = true
-button_color = Color(0.886275, 0.533333, 0, 1)
-enable_comms = true
-pushbutton_tag_group_name = "TagGroup0"
-pushbutton_tag_name = "UL1_3_EPC2.CTRL.STS.EStop_Was_Actuated"
-lamp_tag_group_name = "TagGroup0"
-lamp_tag_name = "UL1_3_EPC2.CTRL.STS.EStop_Was_Actuated"
-
-[node name="UL1_3_EPC2_BEACON" parent="." instance=ExtResource("6_qc5a3")]
-transform = Transform3D(3.03596, -0.00241847, 0, 0.0540532, 0.135836, 0, 0, 0, 3.03644, -4.5, 0.0338165, -2.5929)
-light_value = 1
-_data = SubResource("Resource_bghi8")
-"Light 1" = SubResource("Resource_3ipjn")
-enable_comms = true
-tag_groups = null
-tag_name = "Beacon_OIP2.0"
-
[node name="MCM_START" parent="." instance=ExtResource("4_ahe6k")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, -0.18, -0.75)
text = "MCM START"
@@ -137,20 +95,16 @@ pressed = true
lamp = true
button_color = Color(0.359592, 0.479432, 1, 1)
enable_comms = true
-pushbutton_tag_group_name = "TagGroup0"
-pushbutton_tag_name = "MCM.STS.Start_PB"
-lamp_tag_group_name = "TagGroup0"
-lamp_tag_name = "MCM.STS.Start_PB"
+pushbutton_tag_name = "MCM.STS.System_Started"
+lamp_tag_name = "MCM.STS.System_Started"
[node name="START_CONVEYOR" parent="." instance=ExtResource("4_ahe6k")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, -0.18, -0.75)
text = "START CONVEYOR"
-toggle = true
+normally_closed = true
button_color = Color(0.407843, 1, 0.164706, 1)
enable_comms = true
-pushbutton_tag_group_name = "TagGroup0"
pushbutton_tag_name = "Start_Conveyor_OIP"
-lamp_tag_group_name = "TagGroup0"
lamp_tag_name = "Start_Conveyor_OIP"
[node name="COMMUNIACTION" parent="." instance=ExtResource("4_ahe6k")]
@@ -159,7 +113,5 @@ text = "COMMUNIACTION OFF"
toggle = true
button_color = Color(0.886275, 0.533333, 0, 1)
enable_comms = true
-pushbutton_tag_group_name = "TagGroup0"
-pushbutton_tag_name = "UL1_3_SIO1.CTRL.STS.Communication_Fault"
-lamp_tag_group_name = "TagGroup0"
-lamp_tag_name = "UL1_3_SIO1.CTRL.STS.Communication_Fault"
+pushbutton_tag_name = "Parent_Comm_Faulted"
+lamp_tag_name = "Parent_Comm_Faulted"
diff --git a/PLC/Simulations/STATION_EPC/OIP/station_epc.gd b/PLC/Simulations/STATION_EPC/OIP/station_epc.gd
index 680a975..e056fe0 100644
--- a/PLC/Simulations/STATION_EPC/OIP/station_epc.gd
+++ b/PLC/Simulations/STATION_EPC/OIP/station_epc.gd
@@ -13,9 +13,6 @@ func _on_simulation_started() -> void:
OIPComms.register_tag(tag_group, "UL1_3_EPC1.CTRL.STS.Log.LEN", 1)
OIPComms.register_tag(tag_group, "UL1_3_EPC1.HMI.STATE", 1)
- # Register tags for EPC2
- OIPComms.register_tag(tag_group, "UL1_3_EPC2.CTRL.STS.Log.LEN", 1)
- OIPComms.register_tag(tag_group, "UL1_3_EPC2.HMI.STATE", 1)
# Register all 82 DATA tags for both EPCs
for i in range(82):
@@ -23,9 +20,6 @@ func _on_simulation_started() -> void:
var data_tag_epc1 = "UL1_3_EPC1.CTRL.STS.Log.DATA[" + str(i) + "]"
OIPComms.register_tag(tag_group, data_tag_epc1, 1)
- # EPC2 data tags
- var data_tag_epc2 = "UL1_3_EPC2.CTRL.STS.Log.DATA[" + str(i) + "]"
- OIPComms.register_tag(tag_group, data_tag_epc2, 1)
func _physics_process(delta: float) -> void:
if ul1_3.speed == 0:
@@ -35,11 +29,7 @@ func _physics_process(delta: float) -> void:
# Monitor both EPCs
var epc1_state = OIPComms.read_int32(tag_group, "UL1_3_EPC1.HMI.STATE")
- var epc2_state = OIPComms.read_int32(tag_group, "UL1_3_EPC2.HMI.STATE")
# Monitor both EPCs - UNCOMMENT TO SEE
#print("EPC1 State: ", epc1_state)
#print("EPC1 Log String: ", Utils.read_string(tag_group, "UL1_3_EPC1.CTRL.STS.Log"))
- #
- #print("EPC2 State: ", epc2_state)
- #print("EPC2 Log String: ", Utils.read_string(tag_group, "UL1_3_EPC2.CTRL.STS.Log"))
diff --git a/PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_FLIP_FLOP_AOI.L5X b/PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_FLIP_FLOP_AOI.L5X
new file mode 100644
index 0000000..bbed7ce
--- /dev/null
+++ b/PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_FLIP_FLOP_AOI.L5X
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_MCM_AOI.L5X b/PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_MCM_AOI.L5X
new file mode 100644
index 0000000..9efbd33
--- /dev/null
+++ b/PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_MCM_AOI.L5X
@@ -0,0 +1,1113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_STATION_EPC_AOI.L5X b/PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_STATION_EPC_AOI.L5X
index 8ccb4ed..822a423 100644
--- a/PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_STATION_EPC_AOI.L5X
+++ b/PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_STATION_EPC_AOI.L5X
@@ -1,9 +1,298 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -14,11 +303,32 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -27,11 +337,14 @@
+
+
+
-
+
@@ -39,6 +352,9 @@
+
+
+
@@ -47,6 +363,9 @@
+
+
+
@@ -55,6 +374,9 @@
+
+
+
@@ -69,6 +391,9 @@
+
+
+
@@ -77,6 +402,9 @@
+
+
+
@@ -85,6 +413,9 @@
+
+
+
@@ -93,19 +424,25 @@
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -116,35 +453,30 @@
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
@@ -153,7 +485,7 @@
-
+
@@ -162,7 +494,7 @@
-
+
@@ -171,7 +503,7 @@
-
+
@@ -180,19 +512,14 @@
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
@@ -216,7 +543,6 @@
-
diff --git a/PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_VFD_AOI.L5X b/PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_VFD_AOI.L5X
new file mode 100644
index 0000000..868fa03
--- /dev/null
+++ b/PLC/Simulations/STATION_EPC/PLC/AOIs/AOI_VFD_AOI.L5X
@@ -0,0 +1,1468 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VFD (PowerFlex)
+1 -> APF (ArmourFlex)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/PLC/Simulations/STATION_EPC/PLC/STATION_EPC.L5X b/PLC/Simulations/STATION_EPC/PLC/STATION_EPC.L5X
index fd542b0..79c8232 100644
--- a/PLC/Simulations/STATION_EPC/PLC/STATION_EPC.L5X
+++ b/PLC/Simulations/STATION_EPC/PLC/STATION_EPC.L5X
@@ -1,21 +1,85 @@
-
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -29,48 +93,44 @@
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -106,6 +166,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -122,254 +233,46 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -422,9 +325,9 @@
-
+
-
+
@@ -432,6 +335,11 @@
+
+
+
+
+
@@ -459,58 +367,28 @@
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
+
-
+
@@ -523,24 +401,16 @@ Stopped by Station Stop PushButton]]>
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
-
+
@@ -554,55 +424,27 @@ Stopped by Station Stop PushButton]]>
-
-
-
-
-
+
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
+
@@ -610,11 +452,7 @@ Stopped by Station Stop PushButton]]>
-
-
-
-
-
+
@@ -627,38 +465,59 @@ Stopped by Station Stop PushButton]]>
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
@@ -669,115 +528,50 @@ Stopped by Station Stop PushButton]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
-
+
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
-
+
@@ -785,30 +579,65 @@ Pressed]]>
-
+
+
+
-
+ VFD (PowerFlex)
+1 -> APF (ArmourFlex)]]>
-
+
-
+
-
-
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1092,6 +921,226 @@ 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.
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1192,7 +1241,841 @@ Pressed]]>
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1203,8 +2086,26 @@ Pressed]]>
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1226,7 +2127,7 @@ Pressed]]>
-
+
@@ -1313,15 +2214,12 @@ Pressed]]>
-
-
-
-
+
-
+
-
-
+
+
@@ -1338,35 +2236,30 @@ Pressed]]>
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
@@ -1375,7 +2268,7 @@ Pressed]]>
-
+
@@ -1384,7 +2277,7 @@ Pressed]]>
-
+
@@ -1393,7 +2286,7 @@ Pressed]]>
-
+
@@ -1402,19 +2295,14 @@ Pressed]]>
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
@@ -1435,189 +2323,7 @@ Pressed]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -1635,13 +2341,13 @@ NEEDS CLARIFICATION]]>
-
-
+
+
-
-
+
+
-
+
@@ -1650,20 +2356,9 @@ NEEDS CLARIFICATION]]>
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -1673,9 +2368,6 @@ NEEDS CLARIFICATION]]>
-
-
-
@@ -1684,9 +2376,6 @@ NEEDS CLARIFICATION]]>
-
-
-
@@ -1716,9 +2405,9 @@ NEEDS CLARIFICATION]]>
-
+
-
+
@@ -1727,6 +2416,14 @@ NEEDS CLARIFICATION]]>
+
+
+
+
+
+
+
+
@@ -1738,21 +2435,7 @@ NEEDS CLARIFICATION]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1760,10 +2443,7 @@ NEEDS CLARIFICATION]]>
-
-
-
-
+
@@ -1771,10 +2451,7 @@ NEEDS CLARIFICATION]]>
-
-
-
-
+
@@ -1793,21 +2470,7 @@ NEEDS CLARIFICATION]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1817,7 +2480,7 @@ NEEDS CLARIFICATION]]>
-
+
@@ -1827,9 +2490,6 @@ NEEDS CLARIFICATION]]>
-
-
-
@@ -1850,7 +2510,7 @@ NEEDS CLARIFICATION]]>
-
+
@@ -1860,9 +2520,6 @@ NEEDS CLARIFICATION]]>
-
-
-
@@ -1871,9 +2528,6 @@ NEEDS CLARIFICATION]]>
-
-
-
@@ -1883,7 +2537,7 @@ NEEDS CLARIFICATION]]>
-
+
@@ -1915,9 +2569,6 @@ NEEDS CLARIFICATION]]>
-
-
-
@@ -1926,9 +2577,6 @@ NEEDS CLARIFICATION]]>
-
-
-
@@ -1937,8 +2585,27 @@ NEEDS CLARIFICATION]]>
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1949,7 +2616,7 @@ NEEDS CLARIFICATION]]>
-
+
@@ -2045,9 +2712,6 @@ NEEDS CLARIFICATION]]>
-
-
-
@@ -2067,10 +2731,7 @@ NEEDS CLARIFICATION]]>
-
-
-
-
+
@@ -2089,21 +2750,7 @@ NEEDS CLARIFICATION]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -2172,17 +2819,6 @@ NEEDS CLARIFICATION]]>
-
-
-
-
-
-
-
-
-
-
-
@@ -2221,10 +2857,10 @@ NEEDS CLARIFICATION]]>
-
+
-
-
+
+
@@ -2238,15 +2874,15 @@ NEEDS CLARIFICATION]]>
-
+
-
+
-
+
-
+
@@ -2254,10 +2890,10 @@ NEEDS CLARIFICATION]]>
-
+
-
-
+
+
@@ -2265,10 +2901,10 @@ NEEDS CLARIFICATION]]>
-
+
-
-
+
+
@@ -2276,10 +2912,10 @@ NEEDS CLARIFICATION]]>
-
+
-
-
+
+
@@ -2287,10 +2923,37 @@ NEEDS CLARIFICATION]]>
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2299,12 +2962,12 @@ NEEDS CLARIFICATION]]>
-
+
-
+
@@ -2339,255 +3002,220 @@ NEEDS CLARIFICATION]]>
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -2596,158 +3224,188 @@ NEEDS CLARIFICATION]]>
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
@@ -2764,14 +3422,6 @@ NEEDS CLARIFICATION]]>
-
-
-
-
-
-
-
-
@@ -2790,85 +3440,71 @@ NEEDS CLARIFICATION]]>
-
+
-
-
-
-
-
-
-
+
-
+
+
-
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2887,11 +3523,11 @@ NEEDS CLARIFICATION]]>
-
@@ -2900,30 +3536,36 @@ NEEDS CLARIFICATION]]>
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
-
+
@@ -2937,8 +3579,9 @@ NEEDS CLARIFICATION]]>
-
+
+
@@ -2953,74 +3596,6 @@ NEEDS CLARIFICATION]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -3029,210 +3604,21 @@ NEEDS CLARIFICATION]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -3242,21 +3628,19 @@ NEEDS CLARIFICATION]]>
-
-
-
+
+
+
-
-
-
+
+
-
@@ -3270,60 +3654,47 @@ NEEDS CLARIFICATION]]>
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -3354,8 +3725,8 @@ NEEDS CLARIFICATION]]>
-
-
+
+
@@ -3366,7 +3737,7 @@ NEEDS CLARIFICATION]]>
-
+
@@ -3407,7 +3778,7 @@ NEEDS CLARIFICATION]]>
-
+
@@ -3417,17 +3788,12 @@ NEEDS CLARIFICATION]]>
-
+
-
-
-
-
-
-
+
@@ -3436,12 +3802,7 @@ NEEDS CLARIFICATION]]>
-
-
-
-
-
-
+
diff --git a/PLC/Simulations/STATION_EPC/PLC/UDTs/IO_BLOCK_DataTypes.L5X b/PLC/Simulations/STATION_EPC/PLC/UDTs/IO_BLOCK_DataTypes.L5X
new file mode 100644
index 0000000..1a141e2
--- /dev/null
+++ b/PLC/Simulations/STATION_EPC/PLC/UDTs/IO_BLOCK_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_EPC/PLC/UDTs/MCM_DataTypes.L5X b/PLC/Simulations/STATION_EPC/PLC/UDTs/MCM_DataTypes.L5X
new file mode 100644
index 0000000..e05428b
--- /dev/null
+++ b/PLC/Simulations/STATION_EPC/PLC/UDTs/MCM_DataTypes.L5X
@@ -0,0 +1,1124 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/PLC/Simulations/STATION_EPC/PLC/UDTs/STATION_EPC_DataTypes.L5X b/PLC/Simulations/STATION_EPC/PLC/UDTs/STATION_EPC_DataTypes.L5X
index 47a87b1..0b8c9d7 100644
--- a/PLC/Simulations/STATION_EPC/PLC/UDTs/STATION_EPC_DataTypes.L5X
+++ b/PLC/Simulations/STATION_EPC/PLC/UDTs/STATION_EPC_DataTypes.L5X
@@ -1,7 +1,69 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -15,6 +77,11 @@
+
+
+
+
+
@@ -83,9 +150,9 @@
-
+
-
+
@@ -93,62 +160,403 @@
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/PLC/Simulations/STATION_EPC/PLC/UDTs/VFD_DataTypes.L5X b/PLC/Simulations/STATION_EPC/PLC/UDTs/VFD_DataTypes.L5X
new file mode 100644
index 0000000..b68efe6
--- /dev/null
+++ b/PLC/Simulations/STATION_EPC/PLC/UDTs/VFD_DataTypes.L5X
@@ -0,0 +1,1478 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VFD (PowerFlex)
+1 -> APF (ArmourFlex)]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+