From 56343338c224cf334e635122f5f2b04e11319761 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Wed, 5 Nov 2025 11:22:49 +0300 Subject: [PATCH 1/5] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20=D0=BE=D1=82=20=D0=A2=D1=80=D0=B0=D1=81?= =?UTF-8?q?=D1=81=D1=8B=20=D0=BD=D0=B0=20=D1=8D=D0=BA=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D0=B5=20=D0=AD=D0=9C=D0=A1=20=D0=A2=D0=93.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/tabs-switch/tab-switch.tscn | 10 ++++---- scenes/эмс2/эмс2.tscn | 13 ++++++++++- scenes/эмс2/эмс_тг.gd | 37 ++++++++++++++++++++++++++++++ scenes/эмс2/эмс_тг.gd.uid | 1 + scripts/settings.gd | 2 +- scripts/signaller.gd | 2 ++ scripts/trassa.gd | 12 ++++++---- 7 files changed, 65 insertions(+), 12 deletions(-) create mode 100644 scenes/эмс2/эмс_тг.gd create mode 100644 scenes/эмс2/эмс_тг.gd.uid diff --git a/scenes/tabs-switch/tab-switch.tscn b/scenes/tabs-switch/tab-switch.tscn index a9187a6..a148f04 100644 --- a/scenes/tabs-switch/tab-switch.tscn +++ b/scenes/tabs-switch/tab-switch.tscn @@ -47,11 +47,10 @@ theme_override_styles/tab_focus = SubResource("StyleBoxEmpty_41d34") theme_override_styles/tab_disabled = SubResource("StyleBoxEmpty_cw2ss") theme_override_styles/tabbar_background = SubResource("StyleBoxEmpty_nmdfd") theme_override_styles/panel = SubResource("StyleBoxEmpty_vap7n") -current_tab = 3 +current_tab = 0 script = ExtResource("1_fg0vd") [node name="Работа" parent="tab_switch" instance=ExtResource("2_u7p16")] -visible = false layout_mode = 2 metadata/_tab_index = 0 @@ -66,6 +65,7 @@ layout_mode = 2 metadata/_tab_index = 2 [node name="ЭМС" parent="tab_switch" instance=ExtResource("5_u71bh")] +visible = false layout_mode = 2 metadata/_tab_index = 3 @@ -95,15 +95,13 @@ script = ExtResource("8_tidwt") metadata/_edit_lock_ = true [node name="remote_control" type="Label" parent="."] -visible = false layout_mode = 2 -offset_left = 1358.0 -offset_right = 1501.0 +offset_left = 1244.0 +offset_right = 1401.0 offset_bottom = 27.0 tooltip_text = "Комплекс находится под внешним управлением" mouse_filter = 0 theme_override_colors/font_color = Color(0, 0, 0, 1) -theme_override_font_sizes/font_size = 14 theme_override_styles/normal = SubResource("StyleBoxFlat_o1r22") text = "Внешнее управление" horizontal_alignment = 1 diff --git a/scenes/эмс2/эмс2.tscn b/scenes/эмс2/эмс2.tscn index b88856c..81fd3a0 100644 --- a/scenes/эмс2/эмс2.tscn +++ b/scenes/эмс2/эмс2.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=34 format=3 uid="uid://musb21x2u0xs"] +[gd_scene load_steps=35 format=3 uid="uid://musb21x2u0xs"] [ext_resource type="Texture2D" uid="uid://hkcvl2waf63s" path="res://scenes/эмс2/вид сверху.png" id="1_b7vcf"] +[ext_resource type="Script" uid="uid://bvlqgv7aapebl" path="res://scenes/эмс2/эмс_тг.gd" id="1_l3ueu"] [ext_resource type="Texture2D" uid="uid://0w6q4vfst0ry" path="res://scenes/эмс2/OP-63.png" id="3_8gk36"] [ext_resource type="Texture2D" uid="uid://coxhivvc6uibs" path="res://scenes/эмс2/Состояние РЭС 40.png" id="4_b3mus"] [ext_resource type="Texture2D" uid="uid://073el51yholj" path="res://scenes/эмс2/454.png" id="4_nqi0i"] @@ -39,6 +40,7 @@ load_path = "res://.godot/imported/Окно частот0.png-6b01791c971bddb013 load_path = "res://.godot/imported/Скруглённый квадрат серый.png-4655829309cca3b1dec2c9ae01376d54.ctex" [node name="Panel" type="Panel"] +script = ExtResource("1_l3ueu") [node name="Sprite2D" type="Sprite2D" parent="."] modulate = Color(1, 0.596078, 0.4, 1) @@ -106,6 +108,15 @@ position = Vector2(275.641, 38.4615) scale = Vector2(3.20513, 3.20513) texture = ExtResource("6_m57px") +[node name="lbl_trassa" type="Label" parent="454"] +layout_mode = 0 +offset_left = -42.0 +offset_top = -135.0 +offset_right = 221.0 +offset_bottom = -36.0 +theme_override_font_sizes/font_size = 100 +text = "Трасса" + [node name="Го" type="TextureRect" parent="."] layout_mode = 0 offset_left = 488.0 diff --git a/scenes/эмс2/эмс_тг.gd b/scenes/эмс2/эмс_тг.gd new file mode 100644 index 0000000..242bda1 --- /dev/null +++ b/scenes/эмс2/эмс_тг.gd @@ -0,0 +1,37 @@ +extends Panel + +func _ready() -> void: + var unit_trassa = network.get_unit_instance('уарэп-трасса') + unit_trassa.connect('line_changed', Callable(self, 'on_trassa_line_changed')) + signaller.connect('sector_klaster', Callable(self, 'on_sector_klaster').bind(unit_trassa)) + + +func on_trassa_line_changed(unit_trassa): + if unit_trassa.online: + $"454/СостояниеРэс3".self_modulate = Color.WEB_GREEN + $"СкруглённыйПрямоугольникБелый/Label3".text = 'Трасса' + $"СкруглённыйПрямоугольникБелый/Label4".text = 'Трасса' + $"СкруглённыйПрямоугольникБелый/Label5".text = 'Активный' + $"СкруглённыйПрямоугольникБелый/Label6".text = str(unit_trassa.daa) + $"СкруглённыйПрямоугольникБелый/Label7".text = str(unit_trassa.dap) + $"СкруглённыйПрямоугольникБелый/Label8".text = '1' + $"СкруглённыйПрямоугольникБелый/Label9".text = str(unit_trassa.lfb) + $"СкруглённыйПрямоугольникБелый/Label10".text = str(unit_trassa.lfb) + else: + $"454/СостояниеРэс3".self_modulate = Color.WHITE + $"СкруглённыйПрямоугольникБелый/Label3".text = '-' + $"СкруглённыйПрямоугольникБелый/Label4".text = '-' + $"СкруглённыйПрямоугольникБелый/Label5".text = '-' + $"СкруглённыйПрямоугольникБелый/Label6".text = '-' + $"СкруглённыйПрямоугольникБелый/Label7".text = '-' + $"СкруглённыйПрямоугольникБелый/Label8".text = '-' + $"СкруглённыйПрямоугольникБелый/Label9".text = '-' + $"СкруглённыйПрямоугольникБелый/Label10".text = '-' + + +func on_sector_klaster(data, unit_trassa): + $"СкруглённыйПрямоугольникБелый/Label6".text = str(unit_trassa.dap) + $"СкруглённыйПрямоугольникБелый/Label7".text = str(unit_trassa.daa) + $"СкруглённыйПрямоугольникБелый/Label8".text = '1' + $"СкруглённыйПрямоугольникБелый/Label9".text = str(unit_trassa.lfb) + $"СкруглённыйПрямоугольникБелый/Label10".text = str(unit_trassa.hfb) diff --git a/scenes/эмс2/эмс_тг.gd.uid b/scenes/эмс2/эмс_тг.gd.uid new file mode 100644 index 0000000..2850227 --- /dev/null +++ b/scenes/эмс2/эмс_тг.gd.uid @@ -0,0 +1 @@ +uid://bvlqgv7aapebl diff --git a/scripts/settings.gd b/scripts/settings.gd index fe308b9..17e62c9 100644 --- a/scripts/settings.gd +++ b/scripts/settings.gd @@ -10,7 +10,7 @@ var UnitProfiles: Dictionary[StringName, Array] = { \ 'уарэп-яу07-частный': ['yau07rx', ['10.1.1.2', 50002, false, true], 'IP-адрес для приёма частных сообщений от ЯУ-07'], 'уарэп-яу07-общий': ['yau07rx', ['*', 50000, true, true], 'IP-адрес для приёма широковещательных сообщений от ЯУ-07'], 'уарэп-капсрпб': ['capsrpb', ['127.0.0.1', '127.0.0.1', 42023, 42022, false, true], 'IP-адрес для обмена сообщениями со службой \"МП550\" (СТЦ)'], - 'уарэп-трасса': ['trassa', ['127.0.0.1', '127.0.0.1', 50200, 10004, false, true], 'IP-адрес для обмена сообщениями с \"Трассой\"'], + 'уарэп-трасса': ['trassa', ['192.168.11.34', '192.168.11.105', 50200, 10004, false, true], 'IP-адрес для обмена сообщениями с \"Трассой\"'], 'уарэп-эмс': ['yau07tx', ['10.1.1.52', 50052, false, false], 'IP-адрес прибора УФ'], 'уарэп-яу07-2в': ['yau07tx', ['10.1.1.22', 50022, false, false], 'IP-адрес прибора ПРД-В2'], 'уарэп-яу07-2н': ['yau07tx', ['10.1.1.21', 50021, false, false], 'IP-адрес прибора ПРД-Н2'], diff --git a/scripts/signaller.gd b/scripts/signaller.gd index c72dcb7..e584cee 100644 --- a/scripts/signaller.gd +++ b/scripts/signaller.gd @@ -30,6 +30,8 @@ signal режим_журнал() ## Вызывается при переходе в режим [b]ЭМС[/b]. signal режим_эмс() +## Вызывается при переходе в режим [b]ЭМС ТГ[/b]. +signal режим_эмс2() ## Вызывается при переходе в режим [b]Настройка[/b]. signal режим_настройки() diff --git a/scripts/trassa.gd b/scripts/trassa.gd index bd94b61..d9b0fbf 100644 --- a/scripts/trassa.gd +++ b/scripts/trassa.gd @@ -35,6 +35,10 @@ class Trassa extends unit.Unit: [2000, 6000, 500, 100], [3500, 6000, 524, 50], [390, 6000, 374, 50*7]] + var lfb = 0 + var hfb = 0 + var dap = 0 + var daa = 0 # Инициализация func _init(nm: StringName, buttons: Array = []) -> void: @@ -105,10 +109,10 @@ class Trassa extends unit.Unit: if txe == true or rxe == true: sector_data["draw"] = true if data.has("lfb") and data.has("hfb") and data.has("dap") and data.has("daa"): - var lfb = int(data["lfb"]) - var hfb = int(data["hfb"]) - var dap = int(data["dap"]) - var daa = int(data["daa"]) + lfb = int(data["lfb"]) + hfb = int(data["hfb"]) + dap = int(data["dap"]) + daa = int(data["daa"]) for i in range(set_klaster.size()): var mapping = set_klaster[i] if lfb == mapping[0] and hfb == mapping[1]: From effbbb927298061a5b9bfcf9b6df7eb2858fc8a1 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Wed, 5 Nov 2025 12:28:33 +0300 Subject: [PATCH 2/5] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=B4=D0=BE=D0=B2=20=D1=81=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D1=8F=D0=BD=D0=B8=D1=8F=20=D0=B2=D1=8B=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=BE=D0=BC?= =?UTF-8?q?=D0=B5=D1=85=D0=B8=20=D0=B4=D0=BB=D1=8F=205=D0=9F-28?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/tcp5p28.gd | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/tcp5p28.gd b/scripts/tcp5p28.gd index 999c212..a86f775 100644 --- a/scripts/tcp5p28.gd +++ b/scripts/tcp5p28.gd @@ -29,9 +29,9 @@ const MOD_TYPES: Array = [ const CU_STATE: Dictionary = { 0: 2, # Подготовка к выполнению 1: 1, # Выполняется - 2: 9, # Ошибка в команде + 2: 3, # Ошибка в команде 3: 7, # Занят выполнением другого ЦУ - 4: 9, # Неисправность + 4: 2, # Неисправность } class TCP5P28 extends unit.Unit: @@ -135,7 +135,7 @@ class TCP5P28 extends unit.Unit: continue var cu = ecms[id] cu_data.encode_u16(0, cu.ispp) - var state: int = CU_STATE[cu.svk] if CU_STATE.has(cu.svk) else 9 + var state: int = CU_STATE[cu.svk] if CU_STATE.has(cu.svk) else 8 cu_data.encode_u8(2, state) # Состояние выполнения команды cu_data.encode_u8(3, 0xFF) # Эффективность работы помехи data.append_array(cu_data) From 77e15627d0c45e9b2f16ed3e5ee26e2868dff0f6 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Thu, 6 Nov 2025 12:41:46 +0300 Subject: [PATCH 3/5] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=9F=D0=BE=D0=B4=D1=81=D1=87=D1=91=D1=82=20?= =?UTF-8?q?=D0=BE=D0=BF=D0=B0=D1=81=D0=BD=D1=8B=D1=85=20=D1=86=D0=B5=D0=BB?= =?UTF-8?q?=D0=B5=D0=B9=201=20=D1=80=D0=B0=D0=B7=20=D0=B2=20=D1=81=D0=B5?= =?UTF-8?q?=D0=BA=D1=83=D0=BD=D0=B4=D1=83.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/работа/работа.gd | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/scenes/работа/работа.gd b/scenes/работа/работа.gd index 804c031..4da7d6d 100644 --- a/scenes/работа/работа.gd +++ b/scenes/работа/работа.gd @@ -179,6 +179,7 @@ func _ready(): signaller.connect('update_scale_map', Callable(self, 'on_update_scale_label')) signaller.connect('sector_klaster', Callable(self, 'sector_klaster')) signaller.connect('clear_klaster', Callable(self, 'clear_all_klaster')) + signaller.connect('th_aoa_update', Callable(self, 'on_th_aoa_update')) var unit_nav = network.get_unit_instance('навигация') unit_nav.connect('data_received', on_navi_data_received) on_btn_center_toggled(true) @@ -595,6 +596,7 @@ func on_btn_close(btn): fs_closed.merge(fs_selected) signaller.emit_signal('update_fs_closed', fs_closed) + func on_btn_work(btn): await get_tree().create_timer(0.2).timeout btn.pressed = false @@ -604,6 +606,13 @@ func on_btn_work(btn): fs_closed[fs_index] = null signaller.emit_signal('update_fs_closed', fs_closed) + func _on_btn_all_work_pressed() -> void: fs_closed.clear() signaller.emit_signal('update_fs_closed', fs_closed) + + +func on_th_aoa_update(ths): + $count_all_pad/count_all.text = '%02d' % ths.size() + var c: int = ths.values().filter(func(th: threats.Threat): return th.proto != '').size() + $count_danger_pad/count_danger.text = '%02d' % c From 36e47bbd130e2f4b11b09f0cd6d50ef1f9a9e38f Mon Sep 17 00:00:00 2001 From: TotMaxim Date: Sun, 9 Nov 2025 15:45:22 +0300 Subject: [PATCH 4/5] =?UTF-8?q?=D0=93=D0=BB=D0=BE=D0=B1=D0=B0=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D0=BE=D0=B5=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5:=20=D0=9F=D0=B0=D1=80=D0=B0=D0=BB=D0=BB=D0=B5?= =?UTF-8?q?=D1=8C=D0=BD=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=BB=D1=8C.=20=D0=9D=D0=BE=D0=B2=D0=B0=D1=8F=20=D0=B2=D0=B5?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20prd-control.=20=D0=9F=D0=B5=D1=80=D0=B2?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=20=D0=B8?= =?UTF-8?q?=D0=BD=D0=B8=D1=86=D0=B8=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-prd-k/pribor-prd-k.gd | 117 ++++----- scenes/pribor-prd-n/pribor-prd-n.gd | 31 ++- scenes/pribor-prd-v/pribor-prd-v.gd | 22 +- scenes/tilemap/tilemap.gd | 12 +- scenes/контроль/кнопка-прибора.gd | 42 +++- scenes/контроль/контроль.tscn | 340 +++++++++++++++++++++++++- scenes/эмс2/эмс_тг.gd | 2 +- scripts/prd.gd | 10 +- scripts/pribor-prd.gd | 356 ++++++++++++++++++++++------ scripts/signaller.gd | 4 + 10 files changed, 768 insertions(+), 168 deletions(-) diff --git a/scenes/pribor-prd-k/pribor-prd-k.gd b/scenes/pribor-prd-k/pribor-prd-k.gd index 12be888..1a3a975 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.gd +++ b/scenes/pribor-prd-k/pribor-prd-k.gd @@ -59,64 +59,70 @@ var ug_work_1: int = 3 ## Аттенюация усилителей мощно var ug_work_2: int = 2 ## Аттенюация усилителей мощности var ug_work_3: int = 0 ## Аттенюация усилителей мощности var mashine_timer: Timer = Timer.new() -var prd_k_module: Object +#var prd_k_module: Object var unit_prd_k: Object -var control_prd_k: Object +#var control_prd_k: Object # Результаты контроля -var control_results_k: Dictionary = { - 'block_ip': false, # Проверка касет П1 и ИП МА2000 - 'temperature': true, - 'dkm_1': false, - 'dkm_6': false, - 'dkm_7': false, - 'dou_6': false, - 'dou_7': false, - 'fs_1': 2, - 'fs_6': 2, - 'fs_7': 2, -} +#var control_results_k: Dictionary = { + #'block_ip': false, # Проверка касет П1 и ИП МА2000 + #'temperature': true, + #'dkm_1': false, + #'dkm_6': false, + #'dkm_7': false, + #'dou_6': false, + #'dou_7': false, + #'fs_1': 2, + #'fs_6': 2, + #'fs_7': 2, +#} -var test_control_k = preload('res://scripts/pribor-prd.gd') var ctrl_pos = 30 func _ready() -> void: if Engine.is_editor_hint(): return + var unit_name = get_meta('unit_name')[0] + var prd_k_module = prd.prd_dict[unit_name] + unit_prd_k = prd_k_module.unit_control - initialize_connections() + unit_prd_k.connect('control_is_over', Callable(self, 'on_control_result')) + + +func start_control() -> void: + #initialize_connections() setup_timer() set_default_state() find_labels(self) -func on_state_mashine() -> void: - control_prd_k.state_control_machine() +#func on_state_mashine() -> void: + #control_prd_k.state_control_machine() -func initialize_connections() -> void: - var unit_name = get_meta('unit_name')[0] - prd_k_module = prd.prd_dict[unit_name] - unit_prd_k = prd_k_module.unit_yau07 - - unit_prd_k.connect('line_changed', Callable(self, 'on_line_changed')) - var power_amplifiers: Array = get_tree().get_nodes_in_group('power_amplifier') - var init_data: Dictionary = { - 'control_label': $control_result, - 'power_amplifiers': power_amplifiers, - 'unit_prd': unit_prd_k, - 'module_prd' : prd_k_module, - 'constants': constants_k, - 'prd_config': PRIBOR_CONFIG, - 'fs_params': FS_PARAMS, - 'block_ip_prd_config': block_ip_config_k, - 'block_kasseta_y5_prd_config': block_kasseta_y5_prd_config_k, - 'control_results': control_results_k, - 'current_litera': start_litera, - } - control_prd_k = test_control_k.TestPRD.new(init_data) - add_child(control_prd_k) - control_prd_k.connect('control_is_over', Callable(self, 'on_control_result')) +#func initialize_connections() -> void: + #var unit_name = get_meta('unit_name')[0] + #prd_k_module = prd.prd_dict[unit_name] + #unit_prd_k = prd_k_module.unit_yau07 +# + #unit_prd_k.connect('line_changed', Callable(self, 'on_line_changed')) + #var power_amplifiers: Array = get_tree().get_nodes_in_group('power_amplifier') + #var init_data: Dictionary = { + #'control_label': $control_result, + #'power_amplifiers': power_amplifiers, + #'unit_prd': unit_prd_k, + #'module_prd' : prd_k_module, + #'constants': constants_k, + #'prd_config': PRIBOR_CONFIG, + #'fs_params': FS_PARAMS, + #'block_ip_prd_config': block_ip_config_k, + #'block_kasseta_y5_prd_config': block_kasseta_y5_prd_config_k, + #'control_results': control_results_k, + #'current_litera': start_litera, + #} + #control_prd_k = test_control_k.TestPRD.new(init_data) + #add_child(control_prd_k) + #control_prd_k.connect('control_is_over', Callable(self, 'on_control_result')) func setup_timer() -> void: @@ -149,7 +155,7 @@ func _enter_tree() -> void: func _exit_tree() -> void: if Engine.is_editor_hint(): return - prd_k_module.cmd_array.append([unit_prd_k.CmdCode.WRITE_ISA, [constants_k.ADDR_UG_LITERA_1, ug_work_1, constants_k.ADDR_UG_LITERA_2, ug_work_2, constants_k.ADDR_UG_LITERA_3, ug_work_3]]) + #prd_k_module.cmd_array.append([unit_prd_k.CmdCode.WRITE_ISA, [constants_k.ADDR_UG_LITERA_1, ug_work_1, constants_k.ADDR_UG_LITERA_2, ug_work_2, constants_k.ADDR_UG_LITERA_3, ug_work_3]]) func on_line_changed(unit_pribor: Object) -> void: @@ -159,13 +165,15 @@ func on_line_changed(unit_pribor: Object) -> void: func on_mode_changed(in_tree: bool) -> void: if not in_tree: - mashine_timer.stop() - prd_k_module.cmd_array.append([unit_prd_k.CmdCode.WRITE_ISA, [constants_k.ADDR_UG_LITERA_1, ug_work_1, constants_k.ADDR_UG_LITERA_2, ug_work_2, constants_k.ADDR_UG_LITERA_3, ug_work_3]]) - signaller.emit_signal('interfer_off_all') + print_debug('Выход из сцены') + #mashine_timer.stop() + #prd_k_module.cmd_array.append([unit_prd_k.CmdCode.WRITE_ISA, [constants_k.ADDR_UG_LITERA_1, ug_work_1, constants_k.ADDR_UG_LITERA_2, ug_work_2, constants_k.ADDR_UG_LITERA_3, ug_work_3]]) + #signaller.emit_signal('interfer_off_all') else: - set_default_state() - control_prd_k.state = control_prd_k.STATE_MASHINE.INIT - mashine_timer.start() + print_debug('Вход в сцену') + #set_default_state() + #control_prd_k.state = control_prd_k.STATE_MASHINE.INIT + #mashine_timer.start() func power_fill(pow_dic: Dictionary, fs_result: Dictionary) -> void: @@ -193,7 +201,7 @@ func power_fill(pow_dic: Dictionary, fs_result: Dictionary) -> void: func on_control_result(result_dic: Dictionary, power_dic: Dictionary) -> void: mashine_timer.stop() - block_kasseta_y5_prd_config_k = control_prd_k.block_kasseta_y5_config + block_kasseta_y5_prd_config_k = unit_prd_k.block_kasseta_y5_config var nodes_y5: Array = get_tree().get_nodes_in_group('y-5') for node_y5 in nodes_y5: var meta_y5 = node_y5.get_meta('y5') @@ -203,7 +211,7 @@ func on_control_result(result_dic: Dictionary, power_dic: Dictionary) -> void: break node_y5.state = STATE_VAL.GOOD if block_kasseta_y5_prd_config_k[meta_y5] else STATE_VAL.ERROR - block_ip_config_k = control_prd_k.block_ip_config + block_ip_config_k = unit_prd_k.block_ip_config var node_ip_power_arr: Array = get_tree().get_nodes_in_group('power_supply') for power_supply in node_ip_power_arr: var meta_ip = power_supply.get_meta('ip') @@ -240,13 +248,8 @@ func on_control_result(result_dic: Dictionary, power_dic: Dictionary) -> void: if not device: result = false - var name_prd = control_prd_k.self_name - if result: - $control_result.text = 'Прибор ПРД-%s исправен' % name_prd - $control_result.add_theme_color_override('font_color', Color.GREEN) - else: - $control_result.text = 'Прибор ПРД-%s неисправен' % name_prd - $control_result.add_theme_color_override('font_color', Color.RED) + var name_prd = unit_prd_k.self_name + log.message(Logger.INFO, 'Прибор ПРД-%s %s' % [name_prd, ['неисправен', 'исправен'][int(result)]]) func find_labels(node1: Node): diff --git a/scenes/pribor-prd-n/pribor-prd-n.gd b/scenes/pribor-prd-n/pribor-prd-n.gd index c69b553..ed21bc0 100644 --- a/scenes/pribor-prd-n/pribor-prd-n.gd +++ b/scenes/pribor-prd-n/pribor-prd-n.gd @@ -78,7 +78,10 @@ func on_state_mashine() -> void: func _ready() -> void: if Engine.is_editor_hint(): return + print_debug('В сцене ПРД-Н!') + +func start_control() -> void: initialize_connections() setup_timer() set_default_state() @@ -111,10 +114,11 @@ func initialize_connections() -> void: func setup_timer() -> void: - add_child(mashine_timer) - mashine_timer.connect('timeout', Callable(self, 'on_state_mashine')) - mashine_timer.wait_time = constants_n.STATE_MASHINE_TIMER - mashine_timer.start() + pass + #add_child(mashine_timer) + #mashine_timer.connect('timeout', Callable(self, 'on_state_mashine')) + #mashine_timer.wait_time = constants_n.STATE_MASHINE_TIMER + #mashine_timer.start() func set_default_state() -> void: @@ -140,7 +144,7 @@ func _enter_tree() -> void: func _exit_tree() -> void: if Engine.is_editor_hint(): return - prd_n_module.cmd_array.append([unit_prd_n.CmdCode.WRITE_ISA, [constants_n.ADDR_UG_LITERA_1, ug_work_1, constants_n.ADDR_UG_LITERA_2, ug_work_2]]) + #prd_n_module.cmd_array.append([unit_prd_n.CmdCode.WRITE_ISA, [constants_n.ADDR_UG_LITERA_1, ug_work_1, constants_n.ADDR_UG_LITERA_2, ug_work_2]]) func on_line_changed(unit_pribor: Object) -> void: @@ -149,14 +153,15 @@ func on_line_changed(unit_pribor: Object) -> void: func on_mode_changed(in_tree: bool) -> void: - if not in_tree: - mashine_timer.stop() - signaller.emit_signal('interfer_off_all') - prd_n_module.cmd_array.append([unit_prd_n.CmdCode.WRITE_ISA, [constants_n.ADDR_UG_LITERA_1, ug_work_1, constants_n.ADDR_UG_LITERA_2, ug_work_2]]) - else: - set_default_state() - control_prd_n.state = control_prd_n.STATE_MASHINE.INIT - mashine_timer.start() + print_debug('Выход из сцены') + #if not in_tree: + #mashine_timer.stop() + #signaller.emit_signal('interfer_off_all') + #prd_n_module.cmd_array.append([unit_prd_n.CmdCode.WRITE_ISA, [constants_n.ADDR_UG_LITERA_1, ug_work_1, constants_n.ADDR_UG_LITERA_2, ug_work_2]]) + #else: + #set_default_state() + #control_prd_n.state = control_prd_n.STATE_MASHINE.INIT + #mashine_timer.start() func power_fill(pow_dic: Dictionary, fs_result: Dictionary) -> void: diff --git a/scenes/pribor-prd-v/pribor-prd-v.gd b/scenes/pribor-prd-v/pribor-prd-v.gd index a40768a..1b99101 100644 --- a/scenes/pribor-prd-v/pribor-prd-v.gd +++ b/scenes/pribor-prd-v/pribor-prd-v.gd @@ -79,7 +79,10 @@ func on_state_mashine() -> void: func _ready() -> void: if Engine.is_editor_hint(): return + print_debug('В сцене ПРД-В!') + +func start_control() -> void: initialize_connections() setup_timer() set_default_state() @@ -142,7 +145,7 @@ func _enter_tree() -> void: func _exit_tree() -> void: if Engine.is_editor_hint(): return - prd_v_module.cmd_array.append([unit_prd_v.CmdCode.WRITE_ISA, [constants_v.ADDR_UG_LITERA_1, ug_work_1, constants_v.ADDR_UG_LITERA_2, ug_work_2]]) + #prd_v_module.cmd_array.append([unit_prd_v.CmdCode.WRITE_ISA, [constants_v.ADDR_UG_LITERA_1, ug_work_1, constants_v.ADDR_UG_LITERA_2, ug_work_2]]) func on_line_changed(unit_pribor: Object) -> void: @@ -151,14 +154,15 @@ func on_line_changed(unit_pribor: Object) -> void: func on_mode_changed(in_tree: bool) -> void: - if not in_tree: - mashine_timer.stop() - prd_v_module.cmd_array.append([unit_prd_v.CmdCode.WRITE_ISA, [constants_v.ADDR_UG_LITERA_1, ug_work_1, constants_v.ADDR_UG_LITERA_2, ug_work_2]]) - signaller.emit_signal('interfer_off_all') - else: - set_default_state() - control_prd_v.state = control_prd_v.STATE_MASHINE.INIT - mashine_timer.start() + print_debug('Выход из сцены') + #if not in_tree: + #mashine_timer.stop() + #prd_v_module.cmd_array.append([unit_prd_v.CmdCode.WRITE_ISA, [constants_v.ADDR_UG_LITERA_1, ug_work_1, constants_v.ADDR_UG_LITERA_2, ug_work_2]]) + #signaller.emit_signal('interfer_off_all') + #else: + #set_default_state() + #control_prd_v.state = control_prd_v.STATE_MASHINE.INIT + #mashine_timer.start() func power_fill(pow_dic: Dictionary, fs_result: Dictionary) -> void: diff --git a/scenes/tilemap/tilemap.gd b/scenes/tilemap/tilemap.gd index c638dfe..b143c97 100644 --- a/scenes/tilemap/tilemap.gd +++ b/scenes/tilemap/tilemap.gd @@ -368,12 +368,12 @@ func _process(delta) -> void: _queue.erase(tile.i) req.request_completed.connect(_response.bind(req, tile)) - if req.request(tile.url) != OK: - tile.t = now - remove_child(req) - req.queue_free() - _req_count -= 1 - push_error('запрос \"%s\" не отправлен' % tile.url) + #if req.request(tile.url) != OK: + #tile.t = now + #remove_child(req) + #req.queue_free() + #_req_count -= 1 + # push_error('запрос \"%s\" не отправлен' % tile.url) TODO: For Deugs if _queue.is_empty(): emit_signal('load_completed') diff --git a/scenes/контроль/кнопка-прибора.gd b/scenes/контроль/кнопка-прибора.gd index b6adb74..8ff2c66 100644 --- a/scenes/контроль/кнопка-прибора.gd +++ b/scenes/контроль/кнопка-прибора.gd @@ -1,12 +1,16 @@ @tool extends TextureButton - +@onready var tween: Tween @export var state_colors: Array -func _on_toggled(toggled_on): $frame.visible = toggled_on +func _on_toggled(toggled_on) -> void: $frame.visible = toggled_on func _enter_tree() -> void: $label.self_modulate = state_colors[state] - +func update_progress_bar(target_value) -> void: + if tween: + tween.kill() + tween = create_tween() + tween.tween_property($control_progress, "value", target_value, 0.3) @export var state: int: set(v): @@ -14,3 +18,35 @@ func _enter_tree() -> void: $label.self_modulate = state_colors[state] state = v if is_inside_tree(): $label.self_modulate = state_colors[v] + + +@export var progress_value: float = 0.0: + set(v): + progress_value = v + + if is_inside_tree(): + update_progress_bar(v) + var max_val = $control_progress.get('max_value') + var percentage = (v / max_val) * 100.0 + $control_progress.tooltip_text = 'Процесс контроля %01d%%' % percentage + + +@export var progress_visible: bool: + set(v): + progress_visible = v + if is_inside_tree(): + $control_progress.visible = v + + +@export var progress_max_value: int: + set(v): + progress_max_value = v + if is_inside_tree(): + $control_progress.max_value = v + + +@export var progress_min_value: int: + set(v): + progress_min_value = v + if is_inside_tree(): + $control_progress.min_value = v diff --git a/scenes/контроль/контроль.tscn b/scenes/контроль/контроль.tscn index 10e7779..3b7ad7a 100644 --- a/scenes/контроль/контроль.tscn +++ b/scenes/контроль/контроль.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=18 format=3 uid="uid://lwmw4egynmd1"] +[gd_scene load_steps=20 format=3 uid="uid://lwmw4egynmd1"] [ext_resource type="Texture2D" uid="uid://bar8k5qef7kch" path="res://data/УФ.png" id="2_0nvm1"] [ext_resource type="Script" uid="uid://q3gmpsqspjfp" path="res://scenes/контроль/внешний.gd" id="2_8r80x"] @@ -14,6 +14,8 @@ [ext_resource type="Texture2D" uid="uid://dnreyfh3cd1k2" path="res://data/состояние-исправности-1.png" id="8_isjua"] [ext_resource type="Texture2D" uid="uid://b4isaggma6q3" path="res://data/Грани22.png" id="9_iqgf5"] [ext_resource type="Texture2D" uid="uid://c6booa8753u5t" path="res://data/состояние-исправности-2.png" id="9_ll0vs"] +[ext_resource type="Texture2D" uid="uid://00871pb6moln" path="res://data/прогресс-фон-1.png" id="9_w6m6a"] +[ext_resource type="Texture2D" uid="uid://c1k856fxhrjnh" path="res://data/прогресс-заполнение-1.png" id="10_lbx5w"] [ext_resource type="Script" uid="uid://bncy1x53jp73d" path="res://scenes/контроль/connect_pribor.gd" id="11_u7tym"] [sub_resource type="GDScript" id="GDScript_iqgf5"] @@ -84,6 +86,8 @@ func _ready(): if prd.prd_dict.has(item): var prd_module = prd.prd_dict[item] prd_module.connect('update_serviceability', Callable(self, 'on_serviceability_changed').bind(prd_module, pribor_node)) + prd_module.unit_control.connect('update_progress', Callable(self, 'on_update_progress').bind(pribor_node)) + prd_module.unit_control.connect('update_max_value_progress', Callable(self, 'on_update_max_value_progress').bind(pribor_node)) if item == 'уарэп-эмс': signaller.connect('update_uf_serviceability', Callable(self, 'on_update_uf_serviceability').bind(pribor_node)) # Пиктограммы приборов, которые отображают состояние подключения только @@ -143,8 +147,20 @@ func on_serviceability_changed(prd_module: Object, prd_pribor:Node)-> void: func on_update_uf_serviceability(uf_serviceaability: bool, uf_pribor: Node)-> void: - uf_pribor.state = 1 if uf_serviceaability else 2 + + +func _on_control_prd_pressed() -> void: + signaller.emit_signal('start_contol_device') + + +func on_update_progress(value_progress: float, pribor_node: Node) -> void: + pribor_node.progress_value = value_progress + pribor_node.progress_visible = value_progress > 0 + + +func on_update_max_value_progress(max_value_progress: int, pribor_node: Node) -> void: + pribor_node.progress_max_value = max_value_progress " [sub_resource type="SpriteFrames" id="SpriteFrames_foasq"] @@ -360,6 +376,8 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/online_proc = "on_line_changed" metadata/unit_name = ["уарэп-яу07-1н"] @@ -396,6 +414,29 @@ sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") +[node name="control_progress" type="TextureProgressBar" parent="pribor_prd_n_1"] +visible = false +layout_mode = 0 +offset_left = -4.0 +offset_top = 124.0 +offset_right = 89.0 +offset_bottom = 134.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 5 +stretch_margin_top = 5 +stretch_margin_right = 5 +stretch_margin_bottom = 5 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + [node name="pribor_uf" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -412,6 +453,8 @@ stretch_mode = 0 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] state = 1 +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = ["уарэп-эмс"] metadata/online_proc = "on_line_changed" @@ -465,6 +508,8 @@ texture_normal = ExtResource("3_hhadv") stretch_mode = 0 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = [&"уарэп-бпо-1", &"уарэп-бпо-2"] metadata/online_proc = "online_change_arr" @@ -528,6 +573,8 @@ texture_normal = ExtResource("9_iqgf5") stretch_mode = 0 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = [&"уарэп-афсп-левый"] metadata/online_proc = "on_line_changed" @@ -595,6 +642,8 @@ stretch_mode = 0 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = [&"уарэп-афсп-правый"] metadata/online_proc = "on_line_changed" @@ -659,6 +708,8 @@ texture_normal = ExtResource("5_kvnex") stretch_mode = 0 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = ["уарэп-щ3", "уарэп-спт25-1", "уарэп-спт25-2"] metadata/online_proc = "online_change_arr" @@ -711,6 +762,8 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-2в"] metadata/online_proc = "on_line_changed" @@ -747,6 +800,29 @@ sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") +[node name="control_progress" type="TextureProgressBar" parent="pribor_prd_v_2"] +visible = false +layout_mode = 0 +offset_left = -4.0 +offset_top = 124.0 +offset_right = 89.0 +offset_bottom = 134.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 5 +stretch_margin_top = 5 +stretch_margin_right = 5 +stretch_margin_bottom = 5 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + [node name="pribor_prd_n_2" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -763,6 +839,8 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-2н"] metadata/online_proc = "on_line_changed" @@ -801,6 +879,29 @@ sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") +[node name="control_progress" type="TextureProgressBar" parent="pribor_prd_n_2"] +visible = false +layout_mode = 0 +offset_left = -4.0 +offset_top = 124.0 +offset_right = 89.0 +offset_bottom = 134.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 5 +stretch_margin_top = 5 +stretch_margin_right = 5 +stretch_margin_bottom = 5 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + [node name="pribor_prd_k_2" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -817,6 +918,8 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-2к"] metadata/online_proc = "on_line_changed" @@ -853,6 +956,29 @@ sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") +[node name="control_progress" type="TextureProgressBar" parent="pribor_prd_k_2"] +visible = false +layout_mode = 0 +offset_left = -4.0 +offset_top = 124.0 +offset_right = 89.0 +offset_bottom = 134.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 5 +stretch_margin_top = 5 +stretch_margin_right = 5 +stretch_margin_bottom = 5 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + [node name="pribor_prd_v_3" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -869,6 +995,8 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-3в"] metadata/online_proc = "on_line_changed" @@ -905,6 +1033,29 @@ sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") +[node name="control_progress" type="TextureProgressBar" parent="pribor_prd_v_3"] +visible = false +layout_mode = 0 +offset_left = -4.0 +offset_top = 124.0 +offset_right = 89.0 +offset_bottom = 134.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 5 +stretch_margin_top = 5 +stretch_margin_right = 5 +stretch_margin_bottom = 5 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + [node name="pribor_prd_n_3" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -921,6 +1072,8 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-3н"] metadata/online_proc = "on_line_changed" @@ -957,6 +1110,29 @@ sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") +[node name="control_progress" type="TextureProgressBar" parent="pribor_prd_n_3"] +visible = false +layout_mode = 0 +offset_left = -4.0 +offset_top = 124.0 +offset_right = 89.0 +offset_bottom = 134.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 5 +stretch_margin_top = 5 +stretch_margin_right = 5 +stretch_margin_bottom = 5 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + [node name="pribor_prd_k_3" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -973,6 +1149,8 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-3к"] metadata/online_proc = "on_line_changed" @@ -1009,6 +1187,29 @@ sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") +[node name="control_progress" type="TextureProgressBar" parent="pribor_prd_k_3"] +visible = false +layout_mode = 0 +offset_left = -4.0 +offset_top = 124.0 +offset_right = 89.0 +offset_bottom = 134.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 5 +stretch_margin_top = 5 +stretch_margin_right = 5 +stretch_margin_bottom = 5 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + [node name="pribor_prd_v_1" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1025,6 +1226,8 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-1в"] metadata/online_proc = "on_line_changed" @@ -1061,6 +1264,29 @@ sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") +[node name="control_progress" type="TextureProgressBar" parent="pribor_prd_v_1"] +visible = false +layout_mode = 0 +offset_left = -4.0 +offset_top = 124.0 +offset_right = 89.0 +offset_bottom = 134.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 5 +stretch_margin_top = 5 +stretch_margin_right = 5 +stretch_margin_bottom = 5 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + [node name="pribor_prd_k_1" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1077,6 +1303,8 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-1к"] metadata/online_proc = "on_line_changed" @@ -1113,6 +1341,29 @@ sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") +[node name="control_progress" type="TextureProgressBar" parent="pribor_prd_k_1"] +visible = false +layout_mode = 0 +offset_left = -4.0 +offset_top = 124.0 +offset_right = 89.0 +offset_bottom = 134.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 5 +stretch_margin_top = 5 +stretch_margin_right = 5 +stretch_margin_bottom = 5 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + [node name="pribor_prd_v_4" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1128,6 +1379,8 @@ texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-4в"] metadata/online_proc = "on_line_changed" @@ -1164,6 +1417,29 @@ sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") +[node name="control_progress" type="TextureProgressBar" parent="pribor_prd_v_4"] +visible = false +layout_mode = 0 +offset_left = -4.0 +offset_top = 124.0 +offset_right = 89.0 +offset_bottom = 134.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 5 +stretch_margin_top = 5 +stretch_margin_right = 5 +stretch_margin_bottom = 5 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + [node name="pribor_prd_n_4" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1179,6 +1455,8 @@ texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-4н"] metadata/online_proc = "on_line_changed" @@ -1215,6 +1493,29 @@ sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") +[node name="control_progress" type="TextureProgressBar" parent="pribor_prd_n_4"] +visible = false +layout_mode = 0 +offset_left = -4.0 +offset_top = 124.0 +offset_right = 89.0 +offset_bottom = 134.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 5 +stretch_margin_top = 5 +stretch_margin_right = 5 +stretch_margin_bottom = 5 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + [node name="pribor_prd_k_4" type="TextureButton" parent="." groups=["pribor_buttons"]] editor_description = "Кнопка для выбора прибора." layout_mode = 0 @@ -1230,6 +1531,8 @@ texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)] +progress_max_value = 0.0 +progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-4к"] metadata/online_proc = "on_line_changed" @@ -1266,6 +1569,29 @@ sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 script = ExtResource("11_u7tym") +[node name="control_progress" type="TextureProgressBar" parent="pribor_prd_k_4"] +visible = false +layout_mode = 0 +offset_left = -4.0 +offset_top = 124.0 +offset_right = 89.0 +offset_bottom = 134.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +tooltip_text = " +Текущее: 0.00" +mouse_filter = 0 +max_value = 30.0 +nine_patch_stretch = true +stretch_margin_left = 5 +stretch_margin_top = 5 +stretch_margin_right = 5 +stretch_margin_bottom = 5 +texture_under = ExtResource("9_w6m6a") +texture_progress = ExtResource("10_lbx5w") +tint_under = Color(1, 1, 1, 0.419608) +tint_progress = Color(0.890196, 0.486275, 0.196078, 1) + [node name="txr_legend0" type="TextureRect" parent="."] layout_mode = 0 offset_left = 219.0 @@ -1387,6 +1713,15 @@ points = PackedVector2Array(-8, 0, 608, 0) width = 2.0 default_color = Color(1, 1, 1, 0.352941) +[node name="control_prd" type="Button" parent="."] +layout_mode = 0 +offset_left = 1101.0 +offset_top = 64.0 +offset_right = 1326.0 +offset_bottom = 104.0 +focus_mode = 0 +text = "Запуск контроля" + [connection signal="toggled" from="pribor_prd_n_1" to="pribor_prd_n_1" method="_on_toggled"] [connection signal="toggled" from="pribor_uf" to="pribor_uf" method="_on_toggled"] [connection signal="toggled" from="pribor_rtr" to="pribor_rtr" method="_on_toggled"] @@ -1404,3 +1739,4 @@ default_color = Color(1, 1, 1, 0.352941) [connection signal="toggled" from="pribor_prd_v_4" to="pribor_prd_v_4" method="_on_toggled"] [connection signal="toggled" from="pribor_prd_n_4" to="pribor_prd_n_4" method="_on_toggled"] [connection signal="toggled" from="pribor_prd_k_4" to="pribor_prd_k_4" method="_on_toggled"] +[connection signal="pressed" from="control_prd" to="." method="_on_control_prd_pressed"] diff --git a/scenes/эмс2/эмс_тг.gd b/scenes/эмс2/эмс_тг.gd index 242bda1..7919eaf 100644 --- a/scenes/эмс2/эмс_тг.gd +++ b/scenes/эмс2/эмс_тг.gd @@ -29,7 +29,7 @@ func on_trassa_line_changed(unit_trassa): $"СкруглённыйПрямоугольникБелый/Label10".text = '-' -func on_sector_klaster(data, unit_trassa): +func on_sector_klaster(_data, unit_trassa): $"СкруглённыйПрямоугольникБелый/Label6".text = str(unit_trassa.dap) $"СкруглённыйПрямоугольникБелый/Label7".text = str(unit_trassa.daa) $"СкруглённыйПрямоугольникБелый/Label8".text = '1' diff --git a/scripts/prd.gd b/scripts/prd.gd index 46c8e08..7eddaac 100644 --- a/scripts/prd.gd +++ b/scripts/prd.gd @@ -153,6 +153,7 @@ class Fs: class PRD: var prd_name: String ## Имя прибора var unit_yau07 ## Юнит эмс + var unit_control: Object ## Класс проверки прибора ПРД var fs_dic: Dictionary ## Массив блоков ФС var yemsg_board: yemsboards.EmsBoard ## Плата ЭМС-Г var state = PrdState.WORK @@ -162,11 +163,13 @@ class PRD: var set_ug_state: bool = true ## Необходимо ли записать в УГ настройки signal update_serviceability() - func _init(u_name, u_yau07): + func _init(u_name, u_yau07, u_control: Object): prd_name = u_name unit_yau07 = u_yau07 + unit_control = u_control init_ems_g() + func init_ems_g(): var in_tbl: Array = [] var out_tbl: Array = [] @@ -281,7 +284,10 @@ func _ready() -> void: check_dir() for prd_name in PRD_NAMES: var unit_prd = network.get_unit_instance(prd_name) - var new_prd = PRD.new(prd_name, unit_prd) + var control_pribor_prd = preload('res://scripts/pribor-prd.gd') + var unit_control = control_pribor_prd.TestPRD.new({'unit_prd': unit_prd}) + add_child(unit_control) + var new_prd = PRD.new(prd_name, unit_prd, unit_control) prd_dict[prd_name] = new_prd for key in FS_PRD.keys(): var fs = Fs.new(key, FS_PRD[key][0]) diff --git a/scripts/pribor-prd.gd b/scripts/pribor-prd.gd index c717f50..74e97e4 100644 --- a/scripts/pribor-prd.gd +++ b/scripts/pribor-prd.gd @@ -1,4 +1,149 @@ class TestPRD extends Node: + const DEVICE_CONSTANT: Dictionary = { + 'PRD_N': { + CONSTANTS = { + 'POWER_UKP_1': 31, + 'POWER_UKP_2': 63, + 'DKM_BIT_2': 1, + 'DKM_BIT_3': 2, + 'BASE_ADDR_EMS_G': 0x120, + 'ADDR_UG_LITERA_1': 0x106, + 'ADDR_UG_LITERA_2': 0x108, + 'ADDR_UG_LITERA_3': 0x10A, + 'TEMP_THRESHOLD': 70, + 'POWER_THRESHOLD': 40, + 'RAY_DOU_NUM': 0x3, + 'ATT_UM_2': 0x2, + 'ATT_UM_3': 0x3, + 'POWER_UM': 100, + 'TIMER_DELAY': 10.0, + 'STATE_MASHINE_TIMER': 0.3, + }, + PRIBOR_CONFIG = { + '1н': {'angle': 0.0, 'sectors': [4, 8]}, + '2н': {'angle': 90.0, 'sectors': [7, 11]}, + '3н': {'angle': 180.0, 'sectors': [6, 10]}, + '4н': {'angle': 270.0, 'sectors': [5, 9]}, + }, + FS_PARAMS = { + 2: {'freq': 932.0, 'width': 100.0}, + 3: {'freq': 1157.0, 'width': 100.0} + }, + START_LITERA = 2 + }, + 'PRD_V': { + CONSTANTS = { + 'POWER_UKP_1': 31, + 'POWER_UKP_2': 63, + 'DKM_BIT_4': 3, + 'DKM_BIT_5': 4, + 'BASE_ADDR_EMS_G': 0x120, + 'ADDR_UG_LITERA_1': 0x106, + 'ADDR_UG_LITERA_2': 0x108, + 'ADDR_UG_LITERA_3': 0x10A, + 'TEMP_THRESHOLD': 70, + 'POWER_THRESHOLD': 40, + 'RAY_DOU_NUM': 0x3, + 'ATT_UM_4': 0x2, + 'ATT_UM_5': 0x3, + 'POWER_UM': 100, + 'TIMER_DELAY': 10.0, + 'STATE_MASHINE_TIMER': 0.3, + }, + PRIBOR_CONFIG = { + '1в': {'angle': 0.0, 'sectors': [12, 16]}, + '2в': {'angle': 90.0, 'sectors': [15, 19]}, + '3в': {'angle': 180.0, 'sectors': [14, 18]}, + '4в': {'angle': 270.0, 'sectors': [13, 17]}, + }, + FS_PARAMS = { + 4: {'freq': 1227.0, 'width': 100.0}, + 5: {'freq': 1575.0, 'width': 110.0}, + }, + START_LITERA = 4 + }, + 'PRD_K': { + CONSTANTS = { + 'POWER_UKP_1': 31, + 'POWER_UKP_2': 63, + 'DKM_BIT_1': 0, + 'DKM_BIT_6': 5, + 'DKM_BIT_7': 6, + 'BASE_ADDR_EMS_G': 0x120, + 'ADDR_UG_LITERA_1': 0x106, + 'ADDR_UG_LITERA_2': 0x108, + 'ADDR_UG_LITERA_3': 0x10A, + 'TEMP_THRESHOLD': 40, + 'POWER_THRESHOLD': 40, + 'RAY_DOU_NUM': 0x3, + 'ATT_UM_1': 0x0, + 'ATT_UM_6': 0x3, + 'ATT_UM_7': 0x2, + 'POWER_UM': 100, + 'TIMER_DELAY': 10.0, + 'STATE_MASHINE_TIMER': 0.3, + }, + PRIBOR_CONFIG = { # Конфигурация параметров для каждого прибора + '1к': {'angle': 0.0, 'sectors': [0, 20, 24]}, + '2к': {'angle': 90.0, 'sectors': [3, 23, 27]}, + '3к': {'angle': 180.0, 'sectors': [2, 22, 26]}, + '4к': {'angle': 270.0, 'sectors': [1, 21, 25]}, + }, + FS_PARAMS = { # Конфигурация частот и ширин для каждого ФС + 1: {'freq': 450.0, 'width': 80.0}, + 6: {'freq': 2450.0, 'width': 110.0}, + 7: {'freq': 4750.0, 'width': 110.0} + }, + START_LITERA = 1 + } + } + + var block_ip_config_n:= { + 'maa2000_1': [0, false], + 'maa2000_2': [1, false], + 'ip9_50_1': [2, false], + 'ip9_50_2': [3, false], + 'ip12_50_1': [4, false], + 'ip5_25': [7, false], + } + var block_kasseta_y5_prd_config_n: = { + 'yau07': false, + 'ems': false, + 'ug': false, + 'ukp1': false, + 'ukp2': false, + } + + # Результаты контроля + var control_results_n: Dictionary = { + 'block_ip': false, # Проверка касет П1 и ИП МА2000 + 'temperature': true, # Проверка температур УМ + 'dkm_2': false, + 'dkm_3': false, + 'dou_2': false, + 'dou_3': false, + 'fs_2': 2, + 'fs_3': 2, + } +#### + var block_ip_config_v := { + 'maa2000_1': [0, false], + 'maa2000_2': [1, false], + 'ip9_50_1': [2, false], + 'ip9_50_2': [3, false], + 'ip12_50_1': [4, false], + 'ip5_25': [7, false], + } + var block_kasseta_y5_prd_config_v: = { + 'yau07': false, + 'ems': false, + 'ug': false, + 'ukp1': false, + 'ukp2': false, + } + + #### + const RAY_m5:= 'RAY_m5' const RAY_5:= 'RAY_5' const RAY_15:= 'RAY_15' @@ -19,7 +164,7 @@ class TestPRD extends Node: TEMPERATURE_UKP_2 = 79, } - enum STATE_MASHINE { + enum STATE_MACHINE { INIT, FS_TURN_ON, FS_WORK, @@ -72,7 +217,7 @@ class TestPRD extends Node: var block_kasseta_y5_config: Dictionary var control_results: Dictionary var self_name: String - var state: int = STATE_MASHINE.INIT + var state: int = STATE_MACHINE.INIT var current_litera: int var flag_write_isa: bool = false var flag_fs_status_ok: bool = false @@ -81,31 +226,32 @@ class TestPRD extends Node: var unit_prd: Object var module_prd: Object var power_amplify: Array - var control_label: Label + #var control_label: Label var control_timer: Timer = Timer.new() var ems_6666_timer: Timer = Timer.new() - signal control_is_over(control_results, power_result) + var machine_timer: Timer = Timer.new() + signal control_is_over(control_results: Dictionary, power_result: Dictionary) + signal update_progress(progress_value: float) + signal update_max_value_progress(max_progress_value: int) + var cc: int = 0 + + var progress_value: float: + set(v): + if progress_value != v: + progress_value = v + call_deferred('emit_signal', 'update_progress', v) var ecms: Dictionary ## Словарь помеховых воздействий ## Инициализация аргуметнов func _init(init_data: Dictionary) -> void: - control_label = init_data['control_label'] - power_amplify = init_data['power_amplifiers'] unit_prd = init_data['unit_prd'] - module_prd = init_data['module_prd'] - constants = init_data['constants'] - pribor_config = init_data['prd_config'] - fs_parameters = init_data['fs_params'] - block_ip_config = init_data['block_ip_prd_config'] - block_kasseta_y5_config = init_data['block_kasseta_y5_prd_config'] - control_results = init_data['control_results'] - current_litera = init_data['current_litera'] func _ready() -> void: initialize_connections() + _determine_self_name() setup_timer() @@ -157,112 +303,117 @@ class TestPRD extends Node: fs_result = on_fs_state(packet_type_7, fs_mapping, fs_result) control_results[fs_key] = fs_result[fs_key] flag_fs_status_ok = control_results[fs_key] == 1 - - + ## func state_control_machine() -> void: match state: - STATE_MASHINE.INIT: + STATE_MACHINE.INIT: _handle_init_state() - STATE_MASHINE.FS_TURN_ON: + STATE_MACHINE.FS_TURN_ON: _handle_fs_turn_on_state() - state = STATE_MASHINE.FS_WORK - STATE_MASHINE.FS_WORK: + state = STATE_MACHINE.FS_WORK + STATE_MACHINE.FS_WORK: + for key in ecms.keys(): + pass + #print([fs_parameters, current_litera]) + #print('ecms: %s %s' % [ecms[key].kni, ecms[key].params.freq]) if ecms.size() and flag_fs_status_ok: ems_6666_timer.start() _handle_fs_work_state() - STATE_MASHINE.CHEK_KASSETA_Y5: + STATE_MACHINE.CHEK_KASSETA_Y5: if block_kasseta_y5_config['yau07']: - state = STATE_MASHINE.WRITE_ISA - STATE_MASHINE.WRITE_ISA: + state = STATE_MACHINE.WRITE_ISA + STATE_MACHINE.WRITE_ISA: if not flag_write_isa: _handle_ug_set_state(0x6) - state = STATE_MASHINE.READ_ISA - STATE_MASHINE.READ_ISA: + state = STATE_MACHINE.READ_ISA + STATE_MACHINE.READ_ISA: if (unit_prd.cmd_state == unit_prd.CmdState.DONE) or (unit_prd.cmd_state == unit_prd.CmdState.FAIL): _handle_read_isa(module_prd, unit_prd, [constants.ADDR_UG_LITERA_1, constants.ADDR_UG_LITERA_2, constants.ADDR_UG_LITERA_3]) flag_write_isa = false - state = STATE_MASHINE.UG_SET_RAY - STATE_MASHINE.UG_SET_RAY: + state = STATE_MACHINE.UG_SET_RAY + STATE_MACHINE.UG_SET_RAY: var addr: int = constants.ADDR_UG_LITERA_1 if current_litera == 3 or current_litera == 5 or current_litera == 7: addr = constants.ADDR_UG_LITERA_2 if unit_prd.isa_ports.has(addr) and (unit_prd.cmd_state == unit_prd.CmdState.DONE): if unit_prd.isa_ports[addr] & 0x07 == 0: - state = STATE_MASHINE.UG_SET_RAY_1 + state = STATE_MACHINE.UG_SET_RAY_1 elif unit_prd.isa_ports[addr] & 0x07 == 1: - state = STATE_MASHINE.UG_SET_RAY_2 + state = STATE_MACHINE.UG_SET_RAY_2 elif unit_prd.isa_ports[addr] & 0x07 == 2: - state = STATE_MASHINE.UG_SET_RAY_3 + state = STATE_MACHINE.UG_SET_RAY_3 elif unit_prd.isa_ports[addr] & 0x07 == 3: - state = STATE_MASHINE.UG_SET_RAY_4 + state = STATE_MACHINE.UG_SET_RAY_4 elif unit_prd.isa_ports[addr] & 0x07 == 4: - state = STATE_MASHINE.UG_SET_RAY_5 + state = STATE_MACHINE.UG_SET_RAY_5 elif unit_prd.isa_ports[addr] & 0x07 == 5: if not current_litera == 1: control_results = check_dou_result(control_results, power_result, self_name, current_litera, constants) - state = STATE_MASHINE.IN_EMS_STOP + state = STATE_MACHINE.IN_EMS_STOP elif unit_prd.isa_ports[addr] & 0x07 == 6: - state = STATE_MASHINE.UG_SET_RAY_0 + state = STATE_MACHINE.UG_SET_RAY_0 - STATE_MASHINE.UG_SET_RAY_0: + STATE_MACHINE.UG_SET_RAY_0: if flag_si_fs_input and not flag_write_isa: control_timer.stop() _handle_ug_set_state(0x0) await get_tree().create_timer(0.5).timeout - state = STATE_MASHINE.READ_ISA - STATE_MASHINE.UG_SET_RAY_1: + state = STATE_MACHINE.READ_ISA + STATE_MACHINE.UG_SET_RAY_1: if not flag_write_isa: _handle_ug_set_state(0x1) - state = STATE_MASHINE.READ_ISA - STATE_MASHINE.UG_SET_RAY_2: + state = STATE_MACHINE.READ_ISA + STATE_MACHINE.UG_SET_RAY_2: if not flag_write_isa: _handle_ug_set_state(0x2) - state = STATE_MASHINE.READ_ISA - STATE_MASHINE.UG_SET_RAY_3: + state = STATE_MACHINE.READ_ISA + STATE_MACHINE.UG_SET_RAY_3: if not flag_write_isa: _handle_ug_set_state(0x3) - state = STATE_MASHINE.READ_ISA - STATE_MASHINE.UG_SET_RAY_4: + state = STATE_MACHINE.READ_ISA + STATE_MACHINE.UG_SET_RAY_4: if not flag_write_isa: _handle_ug_set_state(0x4) - state = STATE_MASHINE.READ_ISA - STATE_MASHINE.UG_SET_RAY_5: + state = STATE_MACHINE.READ_ISA + STATE_MACHINE.UG_SET_RAY_5: if not flag_write_isa: _handle_ug_set_state(0x5) - state = STATE_MASHINE.READ_ISA - STATE_MASHINE.IN_EMS_STOP: + state = STATE_MACHINE.READ_ISA + STATE_MACHINE.IN_EMS_STOP: ems_6666_timer.stop() - state = STATE_MASHINE.FS_TURN_OFF - STATE_MASHINE.FS_TURN_OFF: + state = STATE_MACHINE.FS_TURN_OFF + STATE_MACHINE.FS_TURN_OFF: ems_6666_timer.stop() _handle_fs_turn_off_state() - state = STATE_MASHINE.STOP_CONTROL - STATE_MASHINE.STOP_CONTROL: + state = STATE_MACHINE.STOP_CONTROL + STATE_MACHINE.STOP_CONTROL: _handle_stop_control_state() + ## В машине состояний вызов изменения состояния контроля + progressbar_status() + ## 'Выполняется инициализация ФС-%s' % current_litera func _handle_init_state() -> void: - control_label.text = 'Выполняется инициализация ФС-%s' % current_litera if current_litera in [1, 2, 3, 4, 5, 6, 7]: if not ecms.size(): - state = STATE_MASHINE.FS_TURN_ON + state = STATE_MACHINE.FS_TURN_ON else: control_results = on_control_result(block_ip_config, control_results) var send_power_pack = prep_power(power_result, self_name) emit_signal('control_is_over', control_results, send_power_pack) - state = STATE_MASHINE.AWAIT + machine_timer.stop() + ##'Выполняется включение ФС-%s' % current_litera func _handle_fs_turn_on_state() -> void: - control_label.text = 'Выполняется включение ФС-%s' % current_litera manage_fs(true, self_name, pribor_config, fs_parameters, current_litera, constants.POWER_UM) control_timer.wait_time = constants.TIMER_DELAY control_timer.start() + ##'Выполняется проверка ФС-%s' % current_litera func _handle_fs_work_state() -> void: - control_label.text = 'Выполняется проверка ФС-%s' % current_litera if (current_litera == 2 and control_results.fs_2) or \ (current_litera == 3 and control_results.fs_3) or \ (current_litera == 4 and control_results.fs_4) or \ @@ -270,7 +421,7 @@ class TestPRD extends Node: (current_litera == 6 and control_results.fs_6) or \ (current_litera == 7 and control_results.fs_7) or \ (current_litera == 1 and control_results.fs_1): - state = STATE_MASHINE.CHEK_KASSETA_Y5 + state = STATE_MACHINE.CHEK_KASSETA_Y5 func _handle_ug_set_state(RAY_DOU_NUM: int) -> void: @@ -293,28 +444,41 @@ class TestPRD extends Node: dic_att['ATT_UM_1'] = constants.ATT_UM_2 dic_att['ATT_UM_2'] = constants.ATT_UM_3 - var log_text = dic_att.ATT_UM_3 if current_litera == 1 else dic_att.ATT_UM_1 if current_litera in [2, 4, 6] else dic_att.ATT_UM_2 - control_label.text = 'Выполняется настройка угла (%s) и атт (0x0%s)' % [ - dic_att.RAY_DOU_NUM, - log_text - ] + ##var log_text = dic_att.ATT_UM_3 if current_litera == 1 else dic_att.ATT_UM_1 if current_litera in [2, 4, 6] else dic_att.ATT_UM_2 + ## 'Выполняется настройка угла (%s) и атт (0x0%s)' % [dic_att.RAY_DOU_NUM, log_text] flag_write_isa = on_ug_setting(module_prd, unit_prd, dic_att) + ## Таймер отправки команды в ЭМС-Г для модуляции func _on_ems_6666_timer() -> void: module_prd.cmd_array.append([unit_prd.CmdCode.WRITE_ISA, [constants.BASE_ADDR_EMS_G, 6666]]) + + + ## Таймер вызова машины состояний + func on_state_mashine(): + state_control_machine() + + + func progressbar_status() -> void: + match state: + STATE_MACHINE.INIT: + cc += 10 if current_litera in [3, 5, 6, 7] else 0 + if control_timer.get_time_left() > 0: + progress_value = cc + control_timer.get_wait_time() - control_timer.get_time_left() + if current_litera == 0: + progress_value = 0 + ##'Выполняется отключение ФС-%s' % current_litera func _handle_fs_turn_off_state() -> void: - control_label.text = 'Выполняется отключение ФС-%s' % current_litera flag_fs_status_ok = false manage_fs(false, self_name, pribor_config, fs_parameters, current_litera, constants.POWER_UM) + ##'Выполняется завершение проверки ФС-%s' % current_litera func _handle_stop_control_state() -> void: - control_label.text = 'Выполняется завершение проверки ФС-%s' % current_litera _advance_to_next_fs() - state = STATE_MASHINE.INIT + state = STATE_MACHINE.INIT func _advance_to_next_fs() -> void: @@ -330,33 +494,74 @@ class TestPRD extends Node: ###################################### func initialize_connections() -> void: - _determine_self_name() var fs_mapping = _create_fs_mapping(self_name) signaller.conn(signaller.fs_update_state, Callable(self, 'on_fs_update_state').bind(fs_mapping)) + signaller.conn(signaller.start_contol_device, Callable(self, '_on_start_contol_device')) interfer.connect('interfer_resized', Callable(self, 'on_interfer_resized')) unit_prd.connect('data_received', Callable(self, 'on_data_received')) func on_interfer_resized(ecms_dic: Dictionary) -> void: ecms = ecms_dic + + + func _on_start_contol_device()-> void: + _determine_self_name() + machine_timer.wait_time = constants.STATE_MASHINE_TIMER + machine_timer.start() func _determine_self_name() -> void: + cc = 0 + state = STATE_MACHINE.INIT var current_unit = unit_prd.name var parts = current_unit.split('-') self_name = parts[-1] + if self_name == '1н' or self_name == '2н' or self_name == '3н' or self_name == '4н': + progress_value = 0 + call_deferred('emit_signal', 'update_max_value_progress', 20) + constants = DEVICE_CONSTANT.PRD_N.CONSTANTS + pribor_config = DEVICE_CONSTANT.PRD_N.PRIBOR_CONFIG + fs_parameters = DEVICE_CONSTANT.PRD_N.FS_PARAMS + block_ip_config = block_ip_config_n + block_kasseta_y5_config = block_kasseta_y5_prd_config_n + control_results = control_results_n + current_litera = DEVICE_CONSTANT.PRD_N.START_LITERA + if self_name == '1в' or self_name == '2в' or self_name == '3в' or self_name == '4в': + progress_value = 0 + call_deferred('emit_signal', 'update_max_value_progress', 20) + constants = DEVICE_CONSTANT.PRD_V.CONSTANTS + pribor_config = DEVICE_CONSTANT.PRD_V.PRIBOR_CONFIG + fs_parameters = DEVICE_CONSTANT.PRD_V.FS_PARAMS + block_ip_config = block_ip_config_n + block_kasseta_y5_config = block_kasseta_y5_prd_config_v + control_results = control_results_n + current_litera = DEVICE_CONSTANT.PRD_V.START_LITERA + if self_name == '1к' or self_name == '2к' or self_name == '3к' or self_name == '4к': + progress_value = 0 + call_deferred('emit_signal', 'update_max_value_progress', 30) + constants = DEVICE_CONSTANT.PRD_K.CONSTANTS + pribor_config = DEVICE_CONSTANT.PRD_K.PRIBOR_CONFIG + fs_parameters = DEVICE_CONSTANT.PRD_K.FS_PARAMS + block_ip_config = block_ip_config_n + block_kasseta_y5_config = block_kasseta_y5_prd_config_n + control_results = control_results_n + current_litera = DEVICE_CONSTANT.PRD_K.START_LITERA func setup_timer() -> void: add_child(control_timer) control_timer.timeout.connect(on_stop_control) control_timer.one_shot = true - control_timer.wait_time = 15.0 - control_timer.start() + control_timer.wait_time = constants.TIMER_DELAY add_child(ems_6666_timer) ems_6666_timer.timeout.connect(_on_ems_6666_timer) ems_6666_timer.wait_time = 1.0 + + add_child(machine_timer) + machine_timer.connect('timeout', Callable(self, 'on_state_mashine')) + func _process_dkm_status(status: PackedByteArray) -> void: @@ -405,18 +610,18 @@ class TestPRD extends Node: static func _get_ray_key(machine_state: int) -> String: match machine_state: - STATE_MASHINE.UG_SET_RAY_0: return RAY_m5 - STATE_MASHINE.UG_SET_RAY_1: return RAY_5 - STATE_MASHINE.UG_SET_RAY_2: return RAY_15 - STATE_MASHINE.UG_SET_RAY_3: return RAY_25 - STATE_MASHINE.UG_SET_RAY_4: return RAY_35 - STATE_MASHINE.UG_SET_RAY_5: return RAY_45 + STATE_MACHINE.UG_SET_RAY_0: return RAY_m5 + STATE_MACHINE.UG_SET_RAY_1: return RAY_5 + STATE_MACHINE.UG_SET_RAY_2: return RAY_15 + STATE_MACHINE.UG_SET_RAY_3: return RAY_25 + STATE_MACHINE.UG_SET_RAY_4: return RAY_35 + STATE_MACHINE.UG_SET_RAY_5: return RAY_45 _: return '' func on_stop_control() -> void: _handle_fs_turn_off_state() - state = STATE_MASHINE.FS_TURN_OFF + state = STATE_MACHINE.FS_TURN_OFF static func on_control_result(ip_config: Dictionary, ctrl_results: Dictionary) -> Dictionary: @@ -536,6 +741,7 @@ class TestPRD extends Node: all_temp_is_ok = false return all_temp_is_ok + ## Проверка ДКМ static func check_dkm(status_prd: PackedByteArray, bit_dkm: int) -> bool: var dkm: int = 28 diff --git a/scripts/signaller.gd b/scripts/signaller.gd index e584cee..c036181 100644 --- a/scripts/signaller.gd +++ b/scripts/signaller.gd @@ -214,3 +214,7 @@ signal sector_klaster (new_sector_data) signal clear_klaster () + + +## Вызывается при нажатии на кнопку "Запуск контроля".[br] +signal start_contol_device() From 71176c4869679594a0fe7d3b6c392a0aa72e31c9 Mon Sep 17 00:00:00 2001 From: TotMaxim Date: Sun, 9 Nov 2025 16:18:31 +0300 Subject: [PATCH 5/5] =?UTF-8?q?=D0=97=D0=B0=D0=B1=D1=80=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=B2=D1=8B=D0=B1=D0=BE=D1=80=D1=83=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=B1=D0=BE=D1=80=D0=BE=D0=B2=20+=20=D0=BE=D1=82=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BB=20=D0=BF=D0=BE=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=B8=D0=BD=D0=B4=D0=B8=D0=BA=D0=B0=D1=82=D0=BE=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=B2=D0=BD=D0=B5=D1=88=D0=BD=D0=B5=D0=B5=20=D1=83?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5,=20?= =?UTF-8?q?=D1=81=D0=BE=D1=81=D1=82=D0=BE=D1=8F=D0=BD=D0=B8=D1=8F=20=D0=B8?= =?UTF-8?q?=20=D1=82=D1=80=D0=B5=D0=BD=D0=B0=D0=B6=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/tabs-switch/tab-switch.tscn | 10 +- scenes/контроль/кнопка-прибора.gd | 41 ++++++++- scenes/контроль/контроль.tscn | 142 +++++++++++------------------ 3 files changed, 97 insertions(+), 96 deletions(-) diff --git a/scenes/tabs-switch/tab-switch.tscn b/scenes/tabs-switch/tab-switch.tscn index a148f04..8d27a50 100644 --- a/scenes/tabs-switch/tab-switch.tscn +++ b/scenes/tabs-switch/tab-switch.tscn @@ -81,7 +81,7 @@ metadata/_tab_index = 5 [node name="lbl_ready" type="Label" parent="."] layout_mode = 0 -offset_left = 1503.0 +offset_left = 1504.0 offset_right = 1600.0 offset_bottom = 27.0 tooltip_text = "Готовность аппаратуры к работе" @@ -96,8 +96,8 @@ metadata/_edit_lock_ = true [node name="remote_control" type="Label" parent="."] layout_mode = 2 -offset_left = 1244.0 -offset_right = 1401.0 +offset_left = 1242.0 +offset_right = 1402.0 offset_bottom = 27.0 tooltip_text = "Комплекс находится под внешним управлением" mouse_filter = 0 @@ -106,10 +106,11 @@ theme_override_styles/normal = SubResource("StyleBoxFlat_o1r22") text = "Внешнее управление" horizontal_alignment = 1 vertical_alignment = 1 +metadata/_edit_lock_ = true [node name="тренаж_режим" type="Button" parent="."] layout_mode = 0 -offset_left = 1404.0 +offset_left = 1405.0 offset_right = 1501.0 offset_bottom = 27.0 tooltip_text = "Задействовать режим Тренаж" @@ -124,6 +125,7 @@ theme_override_styles/normal = SubResource("StyleBoxFlat_imu1q") toggle_mode = true text = "Тренаж" script = ExtResource("9_41d34") +metadata/_edit_lock_ = true [connection signal="tab_changed" from="tab_switch" to="tab_switch" method="_on_tab_changed"] [connection signal="toggled" from="тренаж_режим" to="tab_switch" method="_on_button_trenaj_toggled"] diff --git a/scenes/контроль/кнопка-прибора.gd b/scenes/контроль/кнопка-прибора.gd index 8ff2c66..837c5c1 100644 --- a/scenes/контроль/кнопка-прибора.gd +++ b/scenes/контроль/кнопка-прибора.gd @@ -1,22 +1,55 @@ @tool - extends TextureButton + @onready var tween: Tween @export var state_colors: Array -func _on_toggled(toggled_on) -> void: $frame.visible = toggled_on -func _enter_tree() -> void: $label.self_modulate = state_colors[state] + +func _ready(): + toggle_mode = true + focus_mode = Control.FOCUS_ALL + connect("focus_entered", _on_focus_entered) + connect("focus_exited", _on_focus_exited) + + +func _enter_tree() -> void: + if has_node("label"): + $label.self_modulate = state_colors[state] + + func update_progress_bar(target_value) -> void: if tween: tween.kill() tween = create_tween() tween.tween_property($control_progress, "value", target_value, 0.3) + +func _on_toggled(toggled_on): + if has_node("frame"): + $frame.visible = toggled_on + + +func _on_focus_entered(): + button_pressed = true + #enter_press() TODO: Пока что без выбора прибора + + +func _on_focus_exited(): + pass + + +func enter_press(): + var enter_event = InputEventAction.new() + enter_event.action = "ui_accept" + enter_event.pressed = true + Input.parse_input_event(enter_event) + + @export var state: int: set(v): v = 0 if v < 0 else v % state_colors.size() state = v - if is_inside_tree(): + if is_inside_tree() and has_node("label"): $label.self_modulate = state_colors[v] diff --git a/scenes/контроль/контроль.tscn b/scenes/контроль/контроль.tscn index 3b7ad7a..c7c1879 100644 --- a/scenes/контроль/контроль.tscn +++ b/scenes/контроль/контроль.tscn @@ -376,17 +376,15 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/online_proc = "on_line_changed" metadata/unit_name = ["уарэп-яу07-1н"] [node name="label" type="Label" parent="pribor_prd_n_1"] layout_mode = 0 offset_left = 8.0 -offset_top = -38.0 +offset_top = -40.0 offset_right = 60.0 -offset_bottom = -19.0 +offset_bottom = -21.0 text = "ПРД Н1" horizontal_alignment = 1 vertical_alignment = 1 @@ -453,8 +451,6 @@ stretch_mode = 0 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] state = 1 -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = ["уарэп-эмс"] metadata/online_proc = "on_line_changed" @@ -462,9 +458,9 @@ metadata/online_proc = "on_line_changed" self_modulate = Color(0, 1, 0, 1) layout_mode = 0 offset_left = 15.0 -offset_top = -34.0 +offset_top = -44.0 offset_right = 91.0 -offset_bottom = -15.0 +offset_bottom = -25.0 text = "УФ" horizontal_alignment = 1 vertical_alignment = 1 @@ -508,17 +504,15 @@ texture_normal = ExtResource("3_hhadv") stretch_mode = 0 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = [&"уарэп-бпо-1", &"уарэп-бпо-2"] metadata/online_proc = "online_change_arr" [node name="label" type="Label" parent="pribor_rtr"] layout_mode = 0 -offset_left = 12.0 -offset_top = -54.0 -offset_right = 95.0 -offset_bottom = -35.0 +offset_left = 11.0 +offset_top = -49.0 +offset_right = 94.0 +offset_bottom = -30.0 text = "РТР" horizontal_alignment = 1 vertical_alignment = 1 @@ -540,17 +534,17 @@ patch_margin_bottom = 16 [node name="label2" type="Label" parent="pribor_rtr"] layout_mode = 0 -offset_left = 12.0 -offset_top = -54.0 -offset_right = 95.0 -offset_bottom = -35.0 +offset_left = 11.0 +offset_top = -49.0 +offset_right = 94.0 +offset_bottom = -30.0 text = "РТР" horizontal_alignment = 1 vertical_alignment = 1 [node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_rtr"] light_mask = 3 -position = Vector2(55, -15) +position = Vector2(53, -15) scale = Vector2(0.625, 0.625) sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 @@ -573,16 +567,14 @@ texture_normal = ExtResource("9_iqgf5") stretch_mode = 0 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = [&"уарэп-афсп-левый"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_afsp_1"] layout_mode = 0 -offset_left = 165.0 +offset_left = 175.0 offset_top = -245.0 -offset_right = 262.0 +offset_right = 272.0 offset_bottom = -225.0 scale = Vector2(5, 5) text = "АФСП 1" @@ -607,9 +599,9 @@ patch_margin_bottom = 16 [node name="label2" type="Label" parent="pribor_afsp_1"] layout_mode = 0 -offset_left = 165.0 +offset_left = 175.0 offset_top = -245.0 -offset_right = 262.0 +offset_right = 272.0 offset_bottom = -225.0 scale = Vector2(5, 5) text = "АФСП 1" @@ -642,16 +634,14 @@ stretch_mode = 0 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = [&"уарэп-афсп-правый"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_afsp_2"] layout_mode = 0 -offset_left = 200.0 +offset_left = 175.0 offset_top = -240.0 -offset_right = 297.0 +offset_right = 272.0 offset_bottom = -220.0 scale = Vector2(5, 5) text = "АФСП 2" @@ -676,9 +666,9 @@ patch_margin_bottom = 16 [node name="label2" type="Label" parent="pribor_afsp_2"] layout_mode = 0 -offset_left = 200.0 +offset_left = 175.0 offset_top = -240.0 -offset_right = 297.0 +offset_right = 272.0 offset_bottom = -220.0 scale = Vector2(5, 5) text = "АФСП 2" @@ -687,7 +677,7 @@ vertical_alignment = 1 [node name="connect_pribor" type="AnimatedSprite2D" parent="pribor_afsp_2"] light_mask = 3 -position = Vector2(425, -40) +position = Vector2(415, -40) scale = Vector2(3, 3) sprite_frames = SubResource("SpriteFrames_foasq") frame_progress = 0.72355 @@ -708,17 +698,15 @@ texture_normal = ExtResource("5_kvnex") stretch_mode = 0 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = ["уарэп-щ3", "уарэп-спт25-1", "уарэп-спт25-2"] metadata/online_proc = "online_change_arr" [node name="label" type="Label" parent="pribor_uyep"] layout_mode = 0 offset_left = 26.8566 -offset_top = -38.3276 +offset_top = -43.3276 offset_right = 66.8566 -offset_bottom = -19.3276 +offset_bottom = -24.3276 text = "У-ЭП" horizontal_alignment = 1 vertical_alignment = 1 @@ -762,17 +750,15 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-2в"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_prd_v_2"] layout_mode = 0 offset_left = 14.0 -offset_top = -38.0 +offset_top = -42.0 offset_right = 66.0 -offset_bottom = -19.0 +offset_bottom = -23.0 text = "ПРД В2" horizontal_alignment = 1 vertical_alignment = 1 @@ -839,17 +825,15 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-2н"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_prd_n_2"] layout_mode = 0 offset_left = 15.0 -offset_top = -38.0 +offset_top = -42.0 offset_right = 67.0 -offset_bottom = -19.0 +offset_bottom = -23.0 theme_override_colors/font_outline_color = Color(0, 0, 0, 1) theme_override_constants/outline_size = 0 text = "ПРД Н2" @@ -918,17 +902,15 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-2к"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_prd_k_2"] layout_mode = 0 offset_left = 17.0 -offset_top = -38.0 +offset_top = -42.0 offset_right = 69.0 -offset_bottom = -19.0 +offset_bottom = -23.0 text = "ПРД К2" horizontal_alignment = 1 vertical_alignment = 1 @@ -983,9 +965,9 @@ tint_progress = Color(0.890196, 0.486275, 0.196078, 1) editor_description = "Кнопка для выбора прибора." layout_mode = 0 offset_left = 1048.0 -offset_top = 802.0 +offset_top = 810.0 offset_right = 1125.0 -offset_bottom = 918.0 +offset_bottom = 926.0 size_flags_horizontal = 15 size_flags_vertical = 15 toggle_mode = true @@ -995,17 +977,15 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-3в"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_prd_v_3"] layout_mode = 0 offset_left = 9.0 -offset_top = -38.0 +offset_top = -41.0 offset_right = 61.0 -offset_bottom = -19.0 +offset_bottom = -22.0 text = "ПРД В3" horizontal_alignment = 1 vertical_alignment = 1 @@ -1060,9 +1040,9 @@ tint_progress = Color(0.890196, 0.486275, 0.196078, 1) editor_description = "Кнопка для выбора прибора." layout_mode = 0 offset_left = 1323.0 -offset_top = 802.0 +offset_top = 810.0 offset_right = 1400.0 -offset_bottom = 918.0 +offset_bottom = 926.0 size_flags_horizontal = 15 size_flags_vertical = 15 toggle_mode = true @@ -1072,17 +1052,15 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-3н"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_prd_n_3"] layout_mode = 0 offset_left = 8.0 -offset_top = -38.0 +offset_top = -43.0 offset_right = 60.0 -offset_bottom = -19.0 +offset_bottom = -24.0 text = "ПРД Н3" horizontal_alignment = 1 vertical_alignment = 1 @@ -1137,9 +1115,9 @@ tint_progress = Color(0.890196, 0.486275, 0.196078, 1) editor_description = "Кнопка для выбора прибора." layout_mode = 0 offset_left = 1188.0 -offset_top = 802.0 +offset_top = 810.0 offset_right = 1265.0 -offset_bottom = 918.0 +offset_bottom = 926.0 size_flags_horizontal = 15 size_flags_vertical = 15 toggle_mode = true @@ -1149,17 +1127,15 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 1, 0, 1), Color(1, 0, 0, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-3к"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_prd_k_3"] layout_mode = 0 offset_left = 9.0 -offset_top = -38.0 +offset_top = -42.0 offset_right = 61.0 -offset_bottom = -19.0 +offset_bottom = -23.0 text = "ПРД К3" horizontal_alignment = 1 vertical_alignment = 1 @@ -1214,9 +1190,9 @@ tint_progress = Color(0.890196, 0.486275, 0.196078, 1) editor_description = "Кнопка для выбора прибора." layout_mode = 0 offset_left = 1328.0 -offset_top = 198.0 +offset_top = 193.0 offset_right = 1405.0 -offset_bottom = 314.0 +offset_bottom = 309.0 size_flags_horizontal = 15 size_flags_vertical = 15 toggle_mode = true @@ -1226,17 +1202,15 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-1в"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_prd_v_1"] layout_mode = 0 offset_left = 8.0 -offset_top = -38.0 +offset_top = -44.0 offset_right = 60.0 -offset_bottom = -19.0 +offset_bottom = -25.0 text = "ПРД В1" horizontal_alignment = 1 vertical_alignment = 1 @@ -1303,17 +1277,15 @@ stretch_mode = 4 flip_h = true script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-1к"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_prd_k_1"] layout_mode = 0 offset_left = 9.0 -offset_top = -38.0 +offset_top = -44.0 offset_right = 61.0 -offset_bottom = -19.0 +offset_bottom = -25.0 text = "ПРД К1" horizontal_alignment = 1 vertical_alignment = 1 @@ -1379,17 +1351,15 @@ texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-4в"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_prd_v_4"] layout_mode = 0 offset_left = 17.0 -offset_top = -38.0 +offset_top = -41.0 offset_right = 69.0 -offset_bottom = -19.0 +offset_bottom = -22.0 text = "ПРД В4" horizontal_alignment = 1 vertical_alignment = 1 @@ -1455,17 +1425,15 @@ texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-4н"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_prd_n_4"] layout_mode = 0 offset_left = 14.0 -offset_top = -38.0 +offset_top = -41.0 offset_right = 66.0 -offset_bottom = -19.0 +offset_bottom = -22.0 text = "ПРД Н4" horizontal_alignment = 1 vertical_alignment = 1 @@ -1531,17 +1499,15 @@ texture_normal = ExtResource("6_i1yfn") stretch_mode = 4 script = ExtResource("3_4pt7j") state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)] -progress_max_value = 0.0 -progress_min_value = 0.0 metadata/unit_name = ["уарэп-яу07-4к"] metadata/online_proc = "on_line_changed" [node name="label" type="Label" parent="pribor_prd_k_4"] layout_mode = 0 offset_left = 17.0 -offset_top = -38.0 +offset_top = -40.0 offset_right = 69.0 -offset_bottom = -19.0 +offset_bottom = -21.0 text = "ПРД К4" horizontal_alignment = 1 vertical_alignment = 1