From 74f266ce7742bd09894228fef91ce1d5d7d22851 Mon Sep 17 00:00:00 2001 From: Maxim Date: Tue, 25 Feb 2025 00:52:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BF=D0=BE=D1=87=D1=82=D0=B8=20=D0=B3=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=20=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PRD_MP550.tscn | 37 ++++- scripts/PRD.gd | 14 +- scripts/control_panel.gd | 302 +++++++++++++++++++++++++-------------- 3 files changed, 234 insertions(+), 119 deletions(-) diff --git a/PRD_MP550.tscn b/PRD_MP550.tscn index 12056f9..386207e 100644 --- a/PRD_MP550.tscn +++ b/PRD_MP550.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=53 format=3 uid="uid://cvor2jm4xk3ha"] +[gd_scene load_steps=55 format=3 uid="uid://cvor2jm4xk3ha"] [ext_resource type="Script" path="res://scripts/PRD.gd" id="1_v273n"] [ext_resource type="Texture2D" uid="uid://cdxdluvyb5uei" path="res://table/on.png" id="2_dv7xx"] @@ -136,6 +136,26 @@ shader_parameter/speed = 0.0 [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_tn8m6"] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_13x31"] +bg_color = Color(0.111197, 0.111197, 0.111197, 0.201) +corner_radius_top_left = 15 +corner_radius_top_right = 15 +corner_radius_bottom_right = 15 +corner_radius_bottom_left = 15 + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_07wue"] +shader = ExtResource("10_lf1xh") +shader_parameter/frequency = 5.0 +shader_parameter/amplitude = 0.1 +shader_parameter/speed = 5.0 +shader_parameter/direction = -1.0 +shader_parameter/color1 = Color(0, 0, 0, 1) +shader_parameter/color2 = Color(0.235, 0.18, 0.235, 1) +shader_parameter/color3 = Color(0.235, 0.18, 0.235, 0.5) +shader_parameter/color4 = Color(0, 0, 0, 0) +shader_parameter/opacity = 0.5 +shader_parameter/turn = 0.785 + [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_ooo4i"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_cm644"] @@ -798,11 +818,20 @@ metadata/_edit_lock_ = true [node name="log_array" type="TextEdit" parent="TabContainer/ControlPanel"] layout_mode = 0 -offset_left = 810.0 +offset_left = 786.0 offset_top = 22.0 -offset_right = 1569.0 -offset_bottom = 664.0 +offset_right = 1639.0 +offset_bottom = 837.0 +theme_override_styles/normal = SubResource("StyleBoxFlat_13x31") placeholder_text = "Ожидание контроля ..." +metadata/_edit_lock_ = true + +[node name="await" type="ColorRect" parent="TabContainer/ControlPanel/log_array"] +material = SubResource("ShaderMaterial_07wue") +layout_mode = 0 +offset_top = 767.0 +offset_right = 853.0 +offset_bottom = 807.0 [node name="EMS_G" type="Panel" parent="TabContainer"] visible = false diff --git a/scripts/PRD.gd b/scripts/PRD.gd index d242b79..780b4fe 100644 --- a/scripts/PRD.gd +++ b/scripts/PRD.gd @@ -678,9 +678,10 @@ func _on_modul_fs_1(modulation_select_1) -> void: func _on_get_status_1(toggled_btn): - var inverted_state = not toggled_btn - Network.set_fs_gen_status(inverted_state) - #Network.get_gen_state_1() + if $Background/side_panel/select_prd.button_pressed: + var inverted_state = not toggled_btn + Network.set_fs_gen_status(inverted_state) + Network.get_gen_state_1() func _on_set_ferq_1(freq: String): @@ -724,9 +725,10 @@ func _on_start_fs_2(): func _on_get_status_2(toggled_btn): - var inverted_state = not toggled_btn - Network.set_fs_gen_status_2(inverted_state) - #Network.get_gen_state_2() + if $Background/side_panel/select_prd.button_pressed: + var inverted_state = not toggled_btn + Network.set_fs_gen_status_2(inverted_state) + Network.get_gen_state_2() func _on_set_ferq_2(freq: String): diff --git a/scripts/control_panel.gd b/scripts/control_panel.gd index 75bd8e0..6a9ed0c 100644 --- a/scripts/control_panel.gd +++ b/scripts/control_panel.gd @@ -1,6 +1,7 @@ extends Panel signal signal_on_start_timer_03() +signal signal_on_modul_um() var timer: Timer = Timer.new() var timer_03: Timer = Timer.new() @@ -8,11 +9,17 @@ var node_cell_ind: Array var count_cell: int var past_pribor: int var logger: Node -var array_pow: Array = [] +var array_pow_1: Array = [] +var array_pow_2: Array = [] var count_packet:int = 0 -var flag_control_on: bool = false +var flag_control_add: bool = false var flag_fs_1_ready: bool = false var flag_fs_2_ready: bool = false +var flag_dkm: bool = false +var flag_ug: bool = false +var flag_modul_on_1: bool = false +var flag_modul_on_2: bool = false +var flag_start: bool = false class Logger extends Node: @@ -56,15 +63,13 @@ func _ready() -> void: Network.connect('data_from_fs_2', _on_data_fs.bind('ФС-2')) self.add_child(timer) - timer.connect('timeout', Callable(self, '_on_timer')) - Network.connect('yau_receive', Callable(self, '_on_yau_received')) - self.get_parent().get_child(2).connect('signal_FS_is_ready', Callable(self, '_on_fs_status')) - - # Добавляем таймер как дочерний узел self.add_child(timer_03) - # Подключаем сигнал timeout к функции _on_timer_03 + timer.connect('timeout', Callable(self, '_on_timer')) + self.get_parent().get_child(2).connect('signal_FS_is_ready', Callable(self, '_on_fs_status')) timer_03.connect('timeout', Callable(self, '_on_timer_03')) self.connect('signal_on_start_timer_03', Callable(self, '_on_start_timer_03')) + Network.connect('yau_receive', Callable(self, '_on_yau_received')) + self.connect('signal_on_modul_um', Callable(self, '_on_modul_um')) node_cell_ind = [ $soc_y5/yau_07b, @@ -99,75 +104,11 @@ func _ready() -> void: _draw_control_panel_prd(Constants.CURRENT_MODE) -func _status_cell(status): - var status_board: int = status.decode_u8(Constants.DataIndices.STATUS_BOARD) - var dry_contact: int = status.decode_u8(Constants.DataIndices.DRY_CONTACT) - - # status_board - for i in range(1, 5): - if ((status_board >> (i-1)) & 0x1) == 1: - node_cell_ind[i].state = Constants.STATE_VAL.GOOD - logger.info("%s : Есть связь ✅" % node_cell_ind[i].get('fname')) - else: - node_cell_ind[i].state = Constants.STATE_VAL.ERROR - logger.error("%s : Нет связи ❌" % node_cell_ind[i].get('fname')) - - #dry_contact - if (node_cell_ind[2].state == Constants.STATE_VAL.GOOD): - for i_node in range(5, 13): - var skip = false - if i_node == 10 or i_node == 11: - skip = Constants.CURRENT_MODE != Constants.MODE.PRD_K - - if not skip: - if ((dry_contact >> (i_node-5)) & 0x1) == 0: - node_cell_ind[i_node].state = Constants.STATE_VAL.GOOD - logger.info("%s : Есть связь ✅" % node_cell_ind[i_node].get('fname')) - else: - node_cell_ind[i_node].state = Constants.STATE_VAL.ERROR - logger.error("%s : Нет связи ❌" % node_cell_ind[i_node].get('fname')) - else: - for i_node_unknow in range(5, 13): - node_cell_ind[i_node_unknow].state = Constants.STATE_VAL.NONE - - -func _on_yau_received(status_yau): - if flag_control_on: - var arr_power_ukp_1: Array = [] - for i in range(6): ## Мощность от УКП_1 - var power_ukp_1 = status_yau.decode_u16(Constants.DataIndices.POWER_UKP_1 + 2 * i) - arr_power_ukp_1.append(power_ukp_1) - - if count_packet == 0: - array_pow = arr_power_ukp_1 - else: - for i in range(6): - if arr_power_ukp_1[i] > array_pow[i]: - array_pow[i] = arr_power_ukp_1[i] - count_packet +=1 - #print(Network.unit.isa_ports) - - -func _status_prd(): - var status: int = 0 - for i in range(10): - status += 1 if (node_cell_ind[i].state == Constants.STATE_VAL.GOOD) else 0 - for i in range(12, count_cell-2): - status += 1 if (node_cell_ind[i].state == Constants.STATE_VAL.GOOD) else 0 - - if (Constants.CURRENT_MODE == Constants.MODE.PRD_K): - status += 1 if (node_cell_ind[10].state == Constants.STATE_VAL.GOOD) else 0 - status += 1 if (node_cell_ind[11].state == Constants.STATE_VAL.GOOD) else 0 - status += 1 if (node_cell_ind[12].state == Constants.STATE_VAL.GOOD) else 0 - status += 1 if (node_cell_ind[17].state == Constants.STATE_VAL.GOOD) else 0 - status += 1 if (node_cell_ind[18].state == Constants.STATE_VAL.GOOD) else 0 - - if (status == count_cell-3): - $lbl_control.text = 'Прибор исправен' - $lbl_control.modulate = Color.AQUAMARINE - else: - $lbl_control.text = 'Прибор неисправен' - $lbl_control.modulate = Color.CRIMSON +func _process(_delta: float) -> void: + if flag_dkm and flag_ug: + emit_signal('signal_on_modul_um') + if flag_modul_on_1 and flag_modul_on_2 and flag_start: + emit_signal('signal_on_start_timer_03') func _draw_control_panel_prd(pribor): @@ -292,7 +233,7 @@ func _on_fs_status_2(_name_port, status_fs_2): func fs_1_setup(freq): await get_tree().create_timer(0.4).timeout - Network.set_fs_gen_status(true) ## отключен на false + Network.set_fs_gen_status(true) ## отключен на true await get_tree().create_timer(0.4).timeout Network.get_gen_state_1() Network.status_can_macro_1(false) @@ -301,14 +242,14 @@ func fs_1_setup(freq): Network.set_can_macro(freq) Network.status_can_macro_1(true) await get_tree().create_timer(0.4).timeout - Network.set_fs_gen_status(false) + Network.set_fs_gen_status(false) ## отключен на true await get_tree().create_timer(0.4).timeout Network.get_gen_state_1() func fs_2_setup(freq): await get_tree().create_timer(1.8).timeout - Network.set_fs_gen_status_2(true) + Network.set_fs_gen_status_2(true) ## отключен = true await get_tree().create_timer(0.8).timeout Network.get_gen_state_2() Network.status_can_macro_2(false) @@ -317,7 +258,7 @@ func fs_2_setup(freq): Network.set_can_macro_2(freq) Network.status_can_macro_2(true) await get_tree().create_timer(0.8).timeout - Network.set_fs_gen_status_2(false) ## отключен = false + Network.set_fs_gen_status_2(false) ## отключен = true await get_tree().create_timer(0.8).timeout Network.get_gen_state_2() @@ -326,9 +267,9 @@ func yau_07b_setup(): Network.write_port_isa(Constants.BASE_PORTS.UG+6, 56) Network.write_port_isa(Constants.BASE_PORTS.UG+8, 56) Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_2) - Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 2<<13) + Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 2<<13) ## Отключить модуляцию (литера 2) Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_3) - Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 2<<13) + Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 2<<13) ## Отключить модуляцию (литера 3) func _on_data_fs(fs_data:PackedByteArray, fs_name: String): @@ -357,10 +298,69 @@ func _on_data_fs(fs_data:PackedByteArray, fs_name: String): logger.info('В модуль %s установлена частота CAN: %s МГц ✅' % [fs_name, (fs_data.decode_u16(0x20))]) +func _on_yau_received(status_yau): + if flag_control_add: + # Сбор урожая с УКП-1 + var arr_power_ukp_1: Array = [] + for i in range(6): ## Мощность от УКП_1 + var power_ukp_1 = status_yau.decode_u16(Constants.DataIndices.POWER_UKP_1 + 2 * i) + arr_power_ukp_1.append(power_ukp_1) + + if count_packet == 0: + array_pow_1 = arr_power_ukp_1 + else: + for i in range(6): + if arr_power_ukp_1[i] > array_pow_1[i]: + array_pow_1[i] = arr_power_ukp_1[i] + # Сбор урожая с УКП-2 + var arr_power_ukp_2: Array = [] + for i in range(6): ## Мощность от УКП_2 + var power_ukp_2 = status_yau.decode_u16(Constants.DataIndices.POWER_UKP_2 + 2 * i) + arr_power_ukp_2.append(power_ukp_2) + + if count_packet == 0: + array_pow_2 = arr_power_ukp_2 + else: + for i in range(6): + if arr_power_ukp_2[i] > array_pow_2[i]: + array_pow_2[i] = arr_power_ukp_2[i] + count_packet += 1 + if logger: + ## Флаг для проверки настройки угла и аттенюации на двух литерах + if Network.unit.isa_ports.has(Constants.BASE_PORTS.UG+6) and Network.unit.isa_ports.has(Constants.BASE_PORTS.UG+8): + if Network.unit.isa_ports[Constants.BASE_PORTS.UG+6] == 56 and Network.unit.isa_ports[Constants.BASE_PORTS.UG+8] == 56: + flag_ug = true + else: + flag_ug = false + ## Флаг для проверки модуяции на высоком + if Network.unit.isa_ports.has(Constants.BASE_PORTS.EMS_G+8) and Network.unit.isa_ports.has(Constants.BASE_PORTS.EMS_G+2): + if Network.unit.isa_ports[Constants.BASE_PORTS.EMS_G+2] == Constants.META.MODUL_UM_2: + if Network.unit.isa_ports[Constants.BASE_PORTS.EMS_G+8] == 0x8000: + flag_modul_on_1 = true + print('Модуляция 1 включена!') + #logger.info('Модуляция УМ (2, 4, 6) включена!') + elif Network.unit.isa_ports[Constants.BASE_PORTS.EMS_G+8] == 0x4000: + flag_modul_on_1 = false + print('Модуляция 1 отключена!') + #logger.info('Модуляция УМ (2, 4, 6) отключена!') + if Network.unit.isa_ports[Constants.BASE_PORTS.EMS_G+2] == Constants.META.MODUL_UM_3: + if Network.unit.isa_ports[Constants.BASE_PORTS.EMS_G+8] == 0x8000: + flag_modul_on_2 = true + print('Модуляция 2 включена!') + #logger.info('Модуляция УМ (3, 5, 7) включена!') + elif Network.unit.isa_ports[Constants.BASE_PORTS.EMS_G+8] == 0x4000: + flag_modul_on_2 = false + print('Модуляция 2 отключена!') + #logger.info('Модуляция УМ (3, 5, 7) включена!!') + + func _on_start_super_control(): + $log_array/await.visible = true logger = Logger.new(get_node('log_array')) for i in count_cell: node_cell_ind[i].state = Constants.STATE_VAL.NONE + flag_dkm = false + flag_ug = false #timer.start(5) if (past_pribor != Constants.CURRENT_MODE): @@ -368,7 +368,6 @@ func _on_start_super_control(): if (Network.unit.online): $soc_y5/yau_07b.state = Constants.STATE_VAL.GOOD logger.info("ЯУ-07Б: Есть связь ✅") - yau_07b_setup() _status_cell(Network.unit.status) else: for i in range(1, count_cell): @@ -376,6 +375,7 @@ func _on_start_super_control(): $soc_y5/yau_07b.state = Constants.STATE_VAL.ERROR logger.error("ЯУ-07Б: Нет связи ❌") + $log_array/await.visible = false if Network.unit_fs.online: var fs_freq: Array = [0, 0, 0] @@ -392,6 +392,38 @@ func _on_start_super_control(): logger.info('Настройка модулей ФС ❌') +func _status_cell(status): + var status_board: int = status.decode_u8(Constants.DataIndices.STATUS_BOARD) + var dry_contact: int = status.decode_u8(Constants.DataIndices.DRY_CONTACT) + + # status_board + for i in range(1, 5): + if ((status_board >> (i-1)) & 0x1) == 1: + node_cell_ind[i].state = Constants.STATE_VAL.GOOD + logger.info("%s : Есть связь ✅" % node_cell_ind[i].get('fname')) + else: + node_cell_ind[i].state = Constants.STATE_VAL.ERROR + logger.error("%s : Нет связи ❌" % node_cell_ind[i].get('fname')) + + #dry_contact + if (node_cell_ind[2].state == Constants.STATE_VAL.GOOD): + for i_node in range(5, 13): + var skip = false + if i_node == 10 or i_node == 11: + skip = Constants.CURRENT_MODE != Constants.MODE.PRD_K + + if not skip: + if ((dry_contact >> (i_node-5)) & 0x1) == 0: + node_cell_ind[i_node].state = Constants.STATE_VAL.GOOD + logger.info("%s : Есть связь ✅" % node_cell_ind[i_node].get('fname')) + else: + node_cell_ind[i_node].state = Constants.STATE_VAL.ERROR + logger.error("%s : Нет связи ❌" % node_cell_ind[i_node].get('fname')) + else: + for i_node_unknow in range(5, 13): + node_cell_ind[i_node_unknow].state = Constants.STATE_VAL.NONE + + func _on_timer(): if (Network.unit.online): logger = Logger.new(get_node('log_array')) @@ -399,42 +431,20 @@ func _on_timer(): $soc_y5/yau_07b.state = Constants.STATE_VAL.GOOD _status_cell(Network.unit.status) else: - for i in range(1, count_cell): + for i in range(1, count_cell-9): node_cell_ind[i].state = Constants.STATE_VAL.NONE $soc_y5/yau_07b.state = Constants.STATE_VAL.ERROR logger.error("ЯУ-07Б: Нет связи ❌") if (Network.unit_fs.online): - logger.info('Настройка модулей ФС Гц') + logger.info('Настройка модулей ФС Гц:') fs_1_setup(Constants.FS_FREQ.f2) # Гц fs_2_setup(Constants.FS_FREQ.f3) # Гц else: logger.error('Настройка модулей ФС ❌') -func _on_start_timer_03(): - timer_03.wait_time = 0.3 - timer_03.one_shot = true - array_pow = [] - flag_control_on = true - count_packet = 0 - logger.info('Включение Модуляции УМ на высокое') - #Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_2) - #Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 1<<13) - timer_03.start() - - -func _on_timer_03(): - #Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_2) - #Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 0<<13) - logger.info('Отключение Модуляции УМ') - flag_control_on = false - logger.info('Количество принятых пакетов от ЯУ-07Б: %s пакета' % count_packet) - logger.info('Максимальные значения по мощности от УКП-1: %s ' % str(array_pow)) - _status_prd() - - func _on_fs_status(META:int): if logger: if META == Constants.META.CI_2_OT_FS or META == Constants.META.CI_4_OT_FS: @@ -459,6 +469,10 @@ func _on_fs_status(META:int): logger.info('%s: %s ✅' % [$Kasseta_FS/ref_A4.fname, 'Включено']) else: logger.info('%s: %s ❌' % [$Kasseta_FS/ref_A4.fname, 'Нет связи']) + + if (dkm >> 1) & 0x1 == 1 and (dkm >> 2) & 0x1 == 1: # Следующий шаг -> + flag_dkm = true + yau_07b_setup() elif Constants.CURRENT_MODE == Constants.MODE.PRD_B: $soc_DKM/DKM_2.state = (dkm >> 3) & 0x1 $soc_DKM/DKM_3.state = (dkm >> 4) & 0x1 @@ -472,6 +486,9 @@ func _on_fs_status(META:int): logger.info('%s: %s ✅' % [$Kasseta_FS/ref_A4.fname, 'Включено']) else: logger.info('%s: %s ❌' % [$Kasseta_FS/ref_A4.fname, 'Нет связи']) + if (dkm >> 3) & 0x1 == 1 and (dkm >> 4) & 0x1 == 1: # Следующий шаг -> + flag_dkm = true + yau_07b_setup() elif Constants.CURRENT_MODE == Constants.MODE.PRD_K: $soc_DKM/DKM_1.state = (dkm >> 0) & 0x1 $soc_DKM/DKM_2.state = (dkm >> 5) & 0x1 @@ -479,5 +496,72 @@ func _on_fs_status(META:int): $Kasseta_FS/Block_FS_PRD_K.state = $soc_DKM/DKM_1.state $Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state $Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state - emit_signal('signal_on_start_timer_03') + + +func _on_modul_um(): + Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_2) + Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 0x8000) + Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_3) + Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 0x8000) + flag_ug = false + flag_dkm = false + flag_start = true + +func _on_start_timer_03(): + flag_start = false + timer_03.wait_time = 0.3 + timer_03.one_shot = true + array_pow_1 = [] + array_pow_2 = [] + count_packet = 0 + flag_control_add = true + timer_03.start() + + +func _on_timer_03(): + Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_2) + Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 0x4000) + Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_3) + Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 0x4000) + flag_control_add = false + await get_tree().create_timer(1.0).timeout + logger.info('Количество принятых пакетов от ЯУ-07Б: %s пакета' % count_packet) + logger.info('Максимальные значения по мощности от УКП-1: %s ' % str(array_pow_1)) + logger.info('Максимальные значения по мощности от УКП-1: %s ' % str(array_pow_2)) + _status_prd() + $log_array/await.visible = false + Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.CZI_1) + + +func _status_prd(): + var status: int = 0 + for i in range(10): + status += 1 if (node_cell_ind[i].state == Constants.STATE_VAL.GOOD) else 0 + for i in range(12, count_cell-2): + status += 1 if (node_cell_ind[i].state == Constants.STATE_VAL.GOOD) else 0 + + if (Constants.CURRENT_MODE == Constants.MODE.PRD_K): + status += 1 if (node_cell_ind[10].state == Constants.STATE_VAL.GOOD) else 0 + status += 1 if (node_cell_ind[11].state == Constants.STATE_VAL.GOOD) else 0 + status += 1 if (node_cell_ind[12].state == Constants.STATE_VAL.GOOD) else 0 + status += 1 if (node_cell_ind[17].state == Constants.STATE_VAL.GOOD) else 0 + status += 1 if (node_cell_ind[18].state == Constants.STATE_VAL.GOOD) else 0 + + var pribor_ispraven: bool = false + var min_dopusk: int = 40 + if (status == count_cell-7): + pribor_ispraven = true + for i_pow in array_pow_1: + if i_pow < min_dopusk: + pribor_ispraven = false + for i_pow in array_pow_2: + if i_pow < min_dopusk: + pribor_ispraven = false + + if pribor_ispraven: + $lbl_control.text = 'Прибор исправен' + $lbl_control.modulate = Color.AQUAMARINE + else: + $lbl_control.text = 'Прибор неисправен' + $lbl_control.modulate = Color.CRIMSON