From 7013c9c1e8eb414ed02adee269b372f78338e6c8 Mon Sep 17 00:00:00 2001 From: ilia gurielidze Date: Mon, 26 May 2025 22:26:58 +0400 Subject: [PATCH] Updated Station JR PB Simulation --- .../PLC_SIMULATIONS_2025-05-26_1536.zip | Bin 6621 -> 8951 bytes .../STATION_JR_PB/OIP/STATION_JR_PB.tscn | 77 +++++++++ Simulations/STATION_JR_PB/OIP/Simulation.tscn | 147 ------------------ .../STATION_JR_PB/OIP/station_jr_pb.gd | 2 + Simulations/STATION_JR_PB/OIP/utils.gd | 62 +------- .../STATION_JR_PB/PLC/STATION_JR_PB.L5X | 131 +++++++++------- 6 files changed, 152 insertions(+), 267 deletions(-) create mode 100644 Simulations/STATION_JR_PB/OIP/STATION_JR_PB.tscn delete mode 100644 Simulations/STATION_JR_PB/OIP/Simulation.tscn diff --git a/Simulations/STATION_JR_PB/Ignition/PLC_SIMULATIONS_2025-05-26_1536.zip b/Simulations/STATION_JR_PB/Ignition/PLC_SIMULATIONS_2025-05-26_1536.zip index d58b33ae30d4114389fe43bf52fdb3278af8d33c..36c2ab68217b3393d25db6de6175e02191abf67b 100644 GIT binary patch delta 7715 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 IqxyI9KaO{MHUIzs diff --git a/Simulations/STATION_JR_PB/OIP/STATION_JR_PB.tscn b/Simulations/STATION_JR_PB/OIP/STATION_JR_PB.tscn new file mode 100644 index 0000000..df29a7c --- /dev/null +++ b/Simulations/STATION_JR_PB/OIP/STATION_JR_PB.tscn @@ -0,0 +1,77 @@ +[gd_scene load_steps=9 format=3 uid="uid://bbt38yd6yc0sc"] + +[ext_resource type="PackedScene" uid="uid://dyhvoundu2kqc" path="res://parts/Building.tscn" id="1_3b5ec"] +[ext_resource type="PackedScene" uid="uid://bqlkj4ar8q1ws" path="res://parts/assemblies/BeltConveyorAssembly.tscn" id="2_rxahx"] +[ext_resource type="PackedScene" uid="uid://c1mup2vown0ak" path="res://parts/BladeStop.tscn" id="3_gvmjx"] +[ext_resource type="PackedScene" uid="uid://co2mqmdwpn57w" path="res://parts/BoxSpawner.tscn" id="4_6eg1i"] +[ext_resource type="PackedScene" uid="uid://bl73u0rvt2orv" path="res://parts/Despawner.tscn" id="5_rcr4s"] +[ext_resource type="PackedScene" uid="uid://gddgyvex6gdj" path="res://parts/PushButton.tscn" id="8_kfv3x"] +[ext_resource type="PackedScene" uid="uid://kdpe7o4ec1fa" path="res://parts/DiffuseSensor.tscn" id="9_bk1n2"] +[ext_resource type="Script" uid="uid://mk68t7o3rd8u" path="res://station_jr_pb.gd" id="10_ow4ia"] + +[node name="Simulation" type="Node3D"] + +[node name="Building" parent="." instance=ExtResource("1_3b5ec")] + +[node name="UL1_3" parent="." instance=ExtResource("2_rxahx")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0166965, -0.308412, -1.61317) +local_floor_plane = Plane(0, 1, 0, -1.69159) +speed = 0.0 +enable_comms = true +speed_tag_name = "[PLC]UL1_3_OIP" +running_tag_name = "" +metadata/hijack_scale = true +size = Vector3(14.7823, 0.5, 1.524) +metadata/hijack_scale = true + +[node name="BladeStop" parent="." instance=ExtResource("3_gvmjx")] +transform = Transform3D(-1, -5.96046e-08, 0, 5.96046e-08, -1, 0, 0, 0, 0.448, 2.55519, 1.10247, -1.69079) +active = true + +[node name="BoxSpawner" parent="." instance=ExtResource("4_6eg1i")] +transform = Transform3D(1, 2.30012e-09, -9.31322e-10, -2.30012e-09, 1, 8.84756e-09, 9.31322e-10, -8.84756e-09, 1, -6.66841, 0.177073, -1.71267) +disable = true + +[node name="Despawner" parent="." instance=ExtResource("5_rcr4s")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.60256, 0.176073, -1.63491) + +[node name="UL1_3_JR_PB1" parent="." instance=ExtResource("8_kfv3x")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.73416, -0.180284, -0.714896) +text = "JR_PB1" +lamp = true +enable_comms = true +pushbutton_tag_group_name = "TagGroup0" +pushbutton_tag_name = "[PLC]UL1_3_JR_PB1_OIP" +lamp_tag_group_name = "TagGroup0" +lamp_tag_name = "[PLC]UL1_3_JR_PB1_LT_OIP" + +[node name="UL1_3_JR_PB2" parent="." instance=ExtResource("8_kfv3x")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.908714, -0.198275, -0.741422) +text = "JR_PB2" +lamp = true +enable_comms = true +pushbutton_tag_group_name = "TagGroup0" +pushbutton_tag_name = "[PLC]UL1_3_JR_PB2_OIP" +lamp_tag_group_name = "TagGroup0" +lamp_tag_name = "[PLC]UL1_3_JR_PB2_LT_OIP" + +[node name="MCM_Start_PB" parent="." instance=ExtResource("8_kfv3x")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.31822, -0.180284, -0.714896) +text = "MCM_START" +toggle = true +pressed = true +lamp = true +enable_comms = true +pushbutton_tag_group_name = "TagGroup0" +pushbutton_tag_name = "[PLC]UL1_3_VFD1.CTRL.STS.MCM_Started" +lamp_tag_group_name = "TagGroup0" +lamp_tag_name = "[PLC]UL1_3_VFD1.CTRL.STS.MCM_Started" + +[node name="UL1_3_JPE1" parent="." instance=ExtResource("9_bk1n2")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.87801, -0.080121, -2.97105) +max_range = 1.684 +enable_comms = true +tag_name = "[PLC]UL1_3_JPE1_OIP" + +[node name="station_jr_pb" type="Node" parent="."] +script = ExtResource("10_ow4ia") diff --git a/Simulations/STATION_JR_PB/OIP/Simulation.tscn b/Simulations/STATION_JR_PB/OIP/Simulation.tscn deleted file mode 100644 index e9336af..0000000 --- a/Simulations/STATION_JR_PB/OIP/Simulation.tscn +++ /dev/null @@ -1,147 +0,0 @@ -[gd_scene load_steps=14 format=4 uid="uid://bbt38yd6yc0sc"] - -[ext_resource type="PackedScene" uid="uid://dyhvoundu2kqc" path="res://parts/Building.tscn" id="1_3b5ec"] -[ext_resource type="PackedScene" uid="uid://bqlkj4ar8q1ws" path="res://parts/assemblies/BeltConveyorAssembly.tscn" id="2_rxahx"] -[ext_resource type="PackedScene" uid="uid://c1mup2vown0ak" path="res://parts/BladeStop.tscn" id="3_gvmjx"] -[ext_resource type="PackedScene" uid="uid://co2mqmdwpn57w" path="res://parts/BoxSpawner.tscn" id="4_6eg1i"] -[ext_resource type="PackedScene" uid="uid://bl73u0rvt2orv" path="res://parts/Despawner.tscn" id="5_rcr4s"] -[ext_resource type="PackedScene" uid="uid://dvjrx5crpqs5f" path="res://parts/SideGuard.tscn" id="6_a36lg"] -[ext_resource type="Shader" uid="uid://wtu5yyfpdcgl" path="res://assets/3DModels/Shaders/MetalShaderSideGuard.tres" id="7_huqq8"] -[ext_resource type="PackedScene" uid="uid://gddgyvex6gdj" path="res://parts/PushButton.tscn" id="8_kfv3x"] -[ext_resource type="PackedScene" uid="uid://kdpe7o4ec1fa" path="res://parts/DiffuseSensor.tscn" id="9_bk1n2"] -[ext_resource type="Script" uid="uid://mk68t7o3rd8u" path="res://utils.gd" id="10_ow4ia"] - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_3b5ec"] -render_priority = 0 -shader = ExtResource("7_huqq8") -shader_parameter/Scale = 3.70031 -shader_parameter/Metallic = 0.94 -shader_parameter/Roughness = 0.5 -shader_parameter/Specular = 0.5 - -[sub_resource type="ArrayMesh" id="ArrayMesh_gn6s2"] -_surfaces = [{ -"aabb": AABB(-0.5, -0.00427932, -1.12983, 1, 0.604281, 0.169856), -"format": 34896613377, -"index_count": 204, -"index_data": PackedByteArray("AAACAAEAAAADAAIADQACAAwADQABAAIAAwAJAAoAAwAAAAkACAAKAAkACAALAAoACAAHAAsACAAGAAcADgAMAA8ADgANAAwABAAPAAUABAAOAA8ABAARABAABAAFABEAEgAUABUAEgATABQAHwAUABMAHwAeABQAFQAbABIAFQAcABsAGgAcAB0AGgAbABwAGgAZABgAGgAdABkAIAAeAB8AIAAhAB4AFgAhACAAFgAXACEAFgAjABcAFgAiACMAAQASAAAAAQATABIAAwAUAAIAAwAVABQAAgAeAAwAAgAUAB4ACgAVAAMACgAcABUAAAAbAAkAAAASABsACQAaAAgACQAbABoACwAcAAoACwAdABwABwAdAAsABwAZAB0ACAAYAAYACAAaABgADAAhAA8ADAAeACEADQATAAEADQAfABMADgAfAA0ADgAgAB8ADwAXAAUADwAhABcAEAAWAAQAEAAiABYABAAgAA4ABAAWACAABQAjABEABQAXACMABgAZAAcABgAYABkAEQAiABAAEQAjACIA"), -"name": "BeltTopDown", -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 36, -"vertex_data": PackedByteArray("AADMEI2IAAAAAPkeREsAAP//+R5ESwAA///MEI2IAAAAAIX3ukoAAP//hfe6SgAAAAASAEDhAAD//xIAQOEAAAAAKxC/4QAAAADNEIvfAAD//80Qi98AAP//KxC/4QAA//+KVhxLAAAAAIpWHEsAAAAAHfTESgAA//8d9MRKAAAAAIX3AAAAAP//hfcAAAAAAABFGVuTAAAAAPoiZmkAAP//+iJmaQAA//9FGVuTAAAAAP//yGgAAP///v/IaAAAAAAAAGX/AAD//wAAZf8AAAAAlhP+/wAAAABGGT7sAAD//0YZPuwAAP//lhP//wAA//+MVkFpAAAAAIxWQWkAAAAAIfToaAAA//8g9OhoAAAAAP//AAAAAP///v8AAAAA") -}] -blend_shape_mode = 0 - -[sub_resource type="ArrayMesh" id="ArrayMesh_rxahx"] -resource_name = "RCSideGuard_RCSideGuard" -_surfaces = [{ -"aabb": AABB(-0.5, -0.00427932, -1.12983, 1, 0.604281, 0.169856), -"attribute_data": PackedByteArray("lm///5Zv//+Wb///lm///110//8AABfVAAAX1V10//8AAHopXXRhVAAAeilddGFUlm9hVJZvYVSWb2FUiFkX1YhZF9WIWRfViFl6KYhZeimIWXopiFl6KV10//9ddP//XXT//110YVRddGFUXXRhVEx8//9MfP//d2X//5t+//93Zf//m37//3dlYVSafmFUd2VhVJp+YVRMfGFUTHxhVOQUeinkFHop5BR6KeQUF9XkFBfV5BQX1bpUF9W6VBfVulQX1bpUeim6VHopulR6KXdlF9V3ZRfVd2UX1Xdleil3ZXopd2V6KZZv//+Wb///lm///5Zv//9ddP//AAAX1QAAF9VddP//XXRhVAAAeikAAHopXXRhVJZvYVSWb2FUlm9hVJZvYVSIWRfViFkX1YhZF9WIWRfViFl6KYhZeimIWXopiFl6KV10//9ddP//XXT//110YVRddGFUXXRhVEx8//9MfP//THz//0x8//93Zf//m37//3dl//+bfv//mn5hVHdlYVSafmFUd2VhVEx8YVRMfGFUTHxhVEx8YVTkFHop5BR6KeQUeinkFBfV5BQX1eQUF9W6VBfVulQX1bpUF9W6VBfVulR6KbpUeim6VHopulR6KXdlF9V3ZRfVd2UX1Xdleil3ZXopd2V6KQ=="), -"format": 34896613399, -"index_count": 204, -"index_data": PackedByteArray("AgAJAAcAAgAMAAkALAAIACgALAAGAAgADAAgACIADAADACAAHQAjACEAHQAmACMAHQAaACYAHQAYABoALwApADEALwAtACkAEQAyABMAEQAwADIAEAA3ADUAEAASADcAPQBCAEYAPQBBAEIAbQBDAEAAbQBpAEMARwBeADwARwBhAF4AWgBgAGUAWgBfAGAAWwBWAFQAWwBkAFYAcQBoAGwAcQByAGgATABzAHAATABPAHMATQB6AE4ATQB4AHoABAA7AAAABAA+ADsADgBFAAsADgBIAEUACgBqACoACgBEAGoAJABJAA0AJABjAEkAAQBcAB4AAQA6AFwAHwBYABwAHwBdAFgAJwBiACUAJwBnAGIAGwBmACcAGwBXAGYAHABSABYAHABZAFIAKgB0ADMAKgBqAHQAKwA/AAUAKwBrAD8ALgBrACsALgBuAGsAMwBQABQAMwB1AFAANABKAA8ANAB2AEoADwBvAC4ADwBLAG8AFQB7ADkAFQBRAHsAFwBVABkAFwBTAFUAOAB3ADYAOAB5AHcA"), -"material": SubResource("ShaderMaterial_3b5ec"), -"name": "BeltTopDown", -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 124, -"vertex_data": PackedByteArray("AADMEI2IH88AAMwQjYgdwwAAzBCNiNjdAADMEI2I1t0AAPkeREu11gAA+R5ES+jfAAD5HkRLVPMAAPkeREtU8///+R5ES1Tz///5HkRLVPP///keREvo3///+R5ES7XW///MEI2I1t3//8wQjYgdw///zBCNiCHPAACF97pKqaUAAIX3ukqf6QAAhfe6SqDp//+F97pKn+n//4X3ukqg6f//hfe6Sqml//+F97pKqaUAABIAQOH/vwAAEgBA4VjAAAASAEDhv////xIAQOFYwP//EgBA4b////8SAEDh/78AACsQv+GqowAAKxC/4QP1AADNEIvf4rQAAM0Qi9/itAAAzRCL30DfAADNEIvfQN///80Qi99A3///zRCL30Df///NEIvf4rT//80Qi9/itP//KxC/4QP1//8rEL/hqqP//4pWHEv5////ilYcS/v///+KVhxL/78AAIpWHEv/vwAAilYcS/n/AACKVhxL+/8AAB30xEqiqgAAHfTESvH/AAAd9MRK8v///x30xErx////HfTESvL///8d9MRKoqoAAIX3AAD/vwAAhfcAAFTVAACF9wAA/////4X3AABU1f//hfcAAP////+F9wAA/78AAEUZW5Pk3AAARRlbk8ulAABFGVuT2d0AAEUZW5PBzQAA+iJmaZXQAAD6ImZpfrcAAPoiZmnzwQAA+iJmacPP///6ImZp88H///oiZmnwwf//+iJmaX63///6ImZpldD//0UZW5Pgwv//RRlbk8HN//9FGVuTzaX//0UZW5Pk3AAA///IaJ/pAAD//8ho5L8AAP//yGjrxQAA///IaALG///+/8hon+n///7/yGgBxv///v/IaOS////+/8hon+kAAAAAZf//vwAAAABl/1jAAAAAAGX//7///wAAZf9YwP//AABl//+///8AAGX//78AAJYT/v+B1AAAlhP+/z3AAACWE/7/d8EAAJYT/v+awQAARhk+7EHfAABGGT7sX6sAAEYZPuyqzAAARhk+7GjB//9GGT7sqcz//0YZPuxD3///Rhk+7F6r//9GGT7sQd///5YT//93wf//lhP//4LM//+WE///PcD//5YT//+B1P//jFZBaf+///+MVkFp/7///4xWQWn/vwAAjFZBaf+/AACMVkFp/78AAIxWQWn/vwAAIfToaP+/AAAh9Oho/78AACH06Gj/vwAAIfToaP+///8g9Oho/7///yD06Gj/v///IPToaP+///8g9Oho/78AAP//AAD/vwAA//8AAP//AAD//wAAVNX///7/AAD//////v8AAFTV///+/wAA/79YOle6EjUStalQqVCoUKhQMD4wvuBn4Od0RnRGdEZ0RnRGdEZ0RnRG4GceGDA+zkGoUKhQEjXsSlo6pEWx0Eyv/0r/Sv9K/0r/Sv9K/0r/SrHQslCx0LJQ/3///wAA/3/cv9y/AAD/f9y/3L//fwAAzq0v0qVFpUVoypa1aMqWtfNP80/yT/JP80/zT/JP8k9oymhKaMpoSqVFpUXOrc8tAkACQAFAAUD/fwAA/3///wJAAkABQAFA/3///wdAB0AGQAZAB0AHQAZABkD/fwAA/3///1RVVFX///9/VFVUVf///3//fwAAPZ/B4JROk86t3lcvKO3NKKHIXLcCMwGzO+wp7IDwdyuHz0YR1hPEEwIz/UyhyKJIltOAFNPKayWJTnUxPZ89H/9///+MJYulEx3eHA+6CB3+6f80JuPw4owlc1r/fwAA/3///wAA/3+LAHP/AAD/f4sAc///fwAAIcLdvVMzUrNQ03APwBGKEvJ/8v+XPZa9AMmBJPnSJw8o8h4pGOANMJg9Z0LyfwwAb+057t7x4ChTM6xMIcIhQvX/CQDx/w0A/38AAP9////1/wkA8f8NAPU/9L8JwPS/uP8bAB8ACwDz/9//4/9GAPU/CkAJwApA/3///////39U1aoq////f1TVqir/fwAA") -}] -blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_gn6s2") - -[node name="Simulation" type="Node3D"] - -[node name="Building" parent="." instance=ExtResource("1_3b5ec")] - -[node name="UL1_3" parent="." instance=ExtResource("2_rxahx")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00308008, -0.308412, -1.61317) -local_floor_plane = Plane(0, 1, 0, -1.69159) -enable_comms = true -speed_tag_name = "UL1_3_OIP" -running_tag_name = "" -metadata/hijack_scale = true -size = Vector3(14.7823, 0.5, 1.524) -metadata/hijack_scale = true - -[node name="BladeStop" parent="." instance=ExtResource("3_gvmjx")] -transform = Transform3D(-1, -5.96046e-08, 0, 5.96046e-08, -1, 0, 0, 0, 0.448, 2.55519, 1.10247, -1.69079) -active = true - -[node name="BoxSpawner" parent="." instance=ExtResource("4_6eg1i")] -transform = Transform3D(1, 2.30012e-09, -9.31322e-10, -2.30012e-09, 1, 8.84756e-09, 9.31322e-10, -8.84756e-09, 1, -6.66841, 0.177073, -1.71267) - -[node name="Despawner" parent="." instance=ExtResource("5_rcr4s")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.60256, 0.176073, -1.63491) - -[node name="SideGuard" parent="." instance=ExtResource("6_a36lg")] -transform = Transform3D(-3.26872e-07, 1, -1.98591e-08, -1.50447, -1.77722e-08, 0.913615, 3.38066, 8.87797e-08, 0.406579, -0.352454, -0.158379, 1.7058) -mesh = SubResource("ArrayMesh_rxahx") -length = 3.70031 - -[node name="UL1_3_JR_PB1" parent="." instance=ExtResource("8_kfv3x")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.734562, -0.180284, -0.714896) -text = "JR_PB1" -enable_comms = true -pushbutton_tag_group_name = "TagGroup0" -pushbutton_tag_name = "UL1_3_JR_PB1_OIP" -lamp_tag_group_name = "TagGroup0" -lamp_tag_name = "UL1_3_JR_PB1_LT_OIP" - -[node name="HMI_UL1_3_JR_PB1" parent="." instance=ExtResource("8_kfv3x")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.29688, -0.180284, -0.714896) -text = "HMI_JR_PB1" -button_color = Color(1, 1, 1, 1) -enable_comms = true -pushbutton_tag_group_name = "TagGroup0" -pushbutton_tag_name = "UL1_3_JR_PB1.HMI.Start_PB" -lamp_tag_group_name = "TagGroup0" - -[node name="HMI_UL1_3_JR_PB2" parent="." instance=ExtResource("8_kfv3x")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.1626, -0.180284, -0.714896) -text = "HMI_JR_PB2" -button_color = Color(1, 1, 1, 1) -enable_comms = true -pushbutton_tag_group_name = "TagGroup0" -pushbutton_tag_name = "UL1_3_JR_PB2.HMI.Start_PB" -lamp_tag_group_name = "TagGroup0" - -[node name="UL1_3_JR_PB2" parent="." instance=ExtResource("8_kfv3x")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.914809, -0.180284, -0.714896) -text = "JR_PB2" -enable_comms = true -pushbutton_tag_group_name = "TagGroup0" -pushbutton_tag_name = "UL1_3_JR_PB2_OIP" -lamp_tag_group_name = "TagGroup0" -lamp_tag_name = "UL1_3_JR_PB2_LT_OIP" - -[node name="MCM_Start_PB" parent="." instance=ExtResource("8_kfv3x")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.31822, -0.180284, -0.714896) -text = "MCM_START" -toggle = true -lamp = true -enable_comms = true -pushbutton_tag_group_name = "TagGroup0" -pushbutton_tag_name = "UL1_3_VFD1.CTRL.STS.MCM_Started" -lamp_tag_group_name = "TagGroup0" -lamp_tag_name = "UL1_3_VFD1.CTRL.STS.MCM_Started" - -[node name="UL1_3_JPE1" parent="." instance=ExtResource("9_bk1n2")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.87801, -0.080121, -2.97105) -max_range = 1.684 -enable_comms = true -tag_name = "UL1_3_JPE1_OIP" - -[node name="Utils" type="Node" parent="."] -script = ExtResource("10_ow4ia") - -[node name="HMI_Start_PB" type="Label3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.29096, 0.183071, -0.697029) -text = "HMI -" - -[node name="HMI_Start_PB2" type="Label3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.16515, 0.183071, -0.697029) -text = "HMI -" diff --git a/Simulations/STATION_JR_PB/OIP/station_jr_pb.gd b/Simulations/STATION_JR_PB/OIP/station_jr_pb.gd index 8c99163..a36d351 100644 --- a/Simulations/STATION_JR_PB/OIP/station_jr_pb.gd +++ b/Simulations/STATION_JR_PB/OIP/station_jr_pb.gd @@ -16,6 +16,7 @@ func _ready() -> void: func _on_simulation_started() -> void: OIPComms.register_tag(tag_group, "[PLC]UL1_3_JR_PB1.CTRL.STS.Log.LEN", 1) + OIPComms.register_tag(tag_group, "[PLC]UL1_3_JR_PB1.HMI.STATE", 1) # Register all 82 DATA tags for i in range(82): @@ -25,6 +26,7 @@ func _on_simulation_started() -> void: func _physics_process(delta: float) -> void: box_spawner.disable = ul_1_3.speed == 0 + #print(OIPComms.read_int32(tag_group,"[PLC]UL1_3_JR_PB1.HMI.STATE")) #print("Log String: ", Utils.read_string(tag_group, "UL1_3_JR_PB1.CTRL.STS.Log")) diff --git a/Simulations/STATION_JR_PB/OIP/utils.gd b/Simulations/STATION_JR_PB/OIP/utils.gd index 468d51c..5d6e894 100644 --- a/Simulations/STATION_JR_PB/OIP/utils.gd +++ b/Simulations/STATION_JR_PB/OIP/utils.gd @@ -1,31 +1,7 @@ -@tool +class_name Utils extends Node -@onready var box_spawner: BoxSpawner = $"../BoxSpawner" -@onready var ul_1_3: BeltConveyorAssembly = $"../UL1_3" -@onready var hmi_start_pb: PushButton = $"../HMI_UL1_3_JR_PB1" -@onready var hmi_ul_1_3_jr_pb_2: PushButton = $"../HMI_UL1_3_JR_PB2" -var color_1 -var color_2 -var tag_group = "TagGroup0" -var hmi_start_color_1 = "UL1_3_JR_PB1.HMI.Start_Color" -var hmi_start_color_2 = "UL1_3_JR_PB2.HMI.Start_Color" -var display_color_1 -var display_color_2 -func _ready() -> void: - SimulationEvents.simulation_started.connect(_on_simulation_started) - -func _on_simulation_started() -> void: - OIPComms.register_tag(tag_group,hmi_start_color_1,1) - OIPComms.register_tag(tag_group,hmi_start_color_2,1) - OIPComms.register_tag(tag_group, "UL1_3_JR_PB1.CTRL.STS.Log.LEN", 1) - - # Register all 82 DATA tags - for i in range(82): - var data_tag = "UL1_3_JR_PB1.CTRL.STS.Log.DATA[" + str(i) + "]" - OIPComms.register_tag(tag_group, data_tag, 1) - -func read_string(tag_group_name: String, base_tag_name: String) -> String: +static func read_string(tag_group_name: String, base_tag_name: String) -> String: """Reads the log string from PLC DATA array""" var result = "" @@ -53,37 +29,3 @@ func read_string(tag_group_name: String, base_tag_name: String) -> String: result += char(char_value) return result - -func _physics_process(delta: float) -> void: - - box_spawner.disable = ul_1_3.speed == 0 - color_1 = OIPComms.read_int32(tag_group,hmi_start_color_1) - color_2 = OIPComms.read_int32(tag_group,hmi_start_color_2) - - #print("Log String: ", read_string(tag_group, "UL1_3_JR_PB1.CTRL.STS.Log")) - - match color_1: - 1: - display_color_1 = Color.CHOCOLATE - 2: - display_color_1 = Color.GRAY - 3: - display_color_1 = Color.GREEN - 4: - display_color_1 = Color.BLACK - _: - display_color_1 = Color.WHITE - match color_2: - 1: - display_color_2 = Color.CHOCOLATE - 2: - display_color_2 = Color.GRAY - 3: - display_color_2 = Color.GREEN - 4: - display_color_2 = Color.BLACK - _: - display_color_2 = Color.WHITE - hmi_start_pb.button_color = display_color_1 - hmi_ul_1_3_jr_pb_2.button_color = display_color_2 - diff --git a/Simulations/STATION_JR_PB/PLC/STATION_JR_PB.L5X b/Simulations/STATION_JR_PB/PLC/STATION_JR_PB.L5X index 4ba88db..d88f18d 100644 --- a/Simulations/STATION_JR_PB/PLC/STATION_JR_PB.L5X +++ b/Simulations/STATION_JR_PB/PLC/STATION_JR_PB.L5X @@ -1,6 +1,6 @@  - - + @@ -1065,7 +1065,7 @@ Pressed]]> - - + @@ -1204,21 +1204,37 @@ Pressed]]> + + + - - - - - + + + + + + + + + + + + + + @@ -2387,32 +2403,32 @@ Pressed]]> - + - + - + - - + + - + - + - + @@ -2426,21 +2442,21 @@ Pressed]]> - + - + - + ],[0],0,1,0,1,0,0],[[1,[12,'UL1_3 Jammed$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00' + ]],[0,[12,'UL1_3 Jammed$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00' + ],1]]]]]> @@ -2448,7 +2464,7 @@ Pressed]]> - + @@ -2475,20 +2491,20 @@ Pressed]]> - + - + - + - + - + @@ -2497,12 +2513,12 @@ Pressed]]> - + - + - + @@ -2511,10 +2527,10 @@ Pressed]]> - + - + @@ -2527,13 +2543,13 @@ Pressed]]> - + ],1]]]]]> @@ -2541,7 +2557,7 @@ Pressed]]> - + @@ -2568,9 +2584,9 @@ Pressed]]> - + - + @@ -2595,7 +2611,7 @@ Pressed]]> - + @@ -2604,10 +2620,10 @@ Pressed]]> - + - + @@ -2620,10 +2636,10 @@ Pressed]]> - + - + @@ -2640,7 +2656,7 @@ Pressed]]> ]],[0,[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00' ],[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00' ],[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00' - ],[0],3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[[0,0,[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00' + ],[0],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[[0,0,[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00' ],[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00' ],0,0],[0,0,0,4,[0,'$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00$00' ],0]]]]]> @@ -2707,7 +2723,7 @@ Pressed]]> - + @@ -2800,50 +2816,45 @@ Pressed]]> - + - + - + - + - + - + - + - - - - - - +