diff --git a/scenes/pribor-prd-v/pribor-prd-v.gd b/scenes/pribor-prd-v/pribor-prd-v.gd index 21fce08..8c159cb 100644 --- a/scenes/pribor-prd-v/pribor-prd-v.gd +++ b/scenes/pribor-prd-v/pribor-prd-v.gd @@ -1,22 +1,22 @@ -extends "res://scenes/контроль/прибор.gd" +extends 'res://scenes/контроль/прибор.gd' const Constants = { - "IN_BLANK_PRD": 1, - "OUT_BLANK_PRD": 13, - "CI_4_OT_FS": 11, - "CI_5_OT_FS": 12, - "CI_4_B_UF": 4, - "CI_5_B_UF": 5, - "POWER_UKP_1": 31, - "POWER_UKP_2": 63, - "DKM_BIT_3": 3, - "DKM_BIT_4": 4, - "ADDR_UG_LITERA_1": 0x106, - "ADDR_UG_LITERA_2": 0x108, - "TEMP_THRESHOLD": 70, - "POWER_THRESHOLD": 40, - "TIMER_DELAY": 1.4, - "POWER_UM": 70, + 'IN_BLANK_PRD': 1, + 'OUT_BLANK_PRD': 13, + 'CI_4_OT_FS': 11, + 'CI_5_OT_FS': 12, + 'CI_4_B_UF': 4, + 'CI_5_B_UF': 5, + 'POWER_UKP_1': 31, + 'POWER_UKP_2': 63, + 'DKM_BIT_3': 3, + 'DKM_BIT_4': 4, + 'ADDR_UG_LITERA_1': 0x106, + 'ADDR_UG_LITERA_2': 0x108, + 'TEMP_THRESHOLD': 70, + 'POWER_THRESHOLD': 40, + 'TIMER_DELAY': 1.4, + 'POWER_UM': 70, } enum STATE_VAL { NONE = 0, GOOD = 1, ERROR = 2 } # Основные переменные @@ -32,13 +32,13 @@ var control_timer: Timer = Timer.new() var flag_timer_started: bool = false # Результаты контроля var _control_results: Dictionary = { - "block_ip": false, # Проверка касет П1 и ИП МА2000 - "temperature": true, # Проверка температур УМ - "dkm_1": false, # Проверка ДКМ - "dkm_2": false, # Проверка ДКМ - "power_ukp": false, # Мощность от УКП - "fs_1": false, # Проверка ФС - "fs_2": false, + 'block_ip': false, # Проверка касет П1 и ИП МА2000 + 'temperature': true, # Проверка температур УМ + 'dkm_1': false, # Проверка ДКМ + 'dkm_2': false, # Проверка ДКМ + 'power_ukp': false, # Мощность от УКП + 'fs_1': false, # Проверка ФС + 'fs_2': false, } @@ -138,7 +138,7 @@ func check_block_ip(status_prd: PackedByteArray) -> void: $kasseta_P_1/ref_A20.state = STATE_VAL.ERROR if ip9_50_2 else STATE_VAL.GOOD $kasseta_P_1/ref_A21.state = STATE_VAL.ERROR if ip12_50_1 else STATE_VAL.GOOD - _control_results["block_ip"] = ( + _control_results['block_ip'] = ( $maa2000_A23.state == STATE_VAL.GOOD and $maa2000_A22.state == STATE_VAL.GOOD and $kasseta_P_1/ref_A19.state == STATE_VAL.GOOD and @@ -150,18 +150,18 @@ func check_block_ip(status_prd: PackedByteArray) -> void: ## Проверка температур УМ от УКП func check_temperature_um(status_prd: PackedByteArray) -> void: const TEMP_CONSTANTS = { - "min_temp": -25, - "max_code": 3796, - "min_code": 2660, - "temp_factor": 115.0 / (3796 - 2660), - "offset": 3 # Корректировка температуры + 'min_temp': -25, + 'max_code': 3796, + 'min_code': 2660, + 'temp_factor': 115.0 / (3796 - 2660), + 'offset': 3 # Корректировка температуры } const TEMPERATURE_UKP_1: int = 47 const TEMPERATURE_UKP_2: int = 79 var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier') # Сбрас флагов перед проверкой - _control_results["temperature"] = true + _control_results['temperature'] = true var ukp1_online: int = (status_prd[0] >> 2) & 1 if ukp1_online: @@ -170,7 +170,7 @@ func check_temperature_um(status_prd: PackedByteArray) -> void: var tmp_1: int = round(TEMP_CONSTANTS['min_temp'] + (TEMP_CONSTANTS['max_code'] - temperature_ukp_1) * TEMP_CONSTANTS['temp_factor'] + TEMP_CONSTANTS['offset']) power_amplifier[i_temp].value0 = tmp_1 if tmp_1 > Constants.TEMP_THRESHOLD: - _control_results["temperature"] = false + _control_results['temperature'] = false var ukp2_online = (status_prd[0] >> 3) & 1 if ukp2_online: @@ -179,7 +179,7 @@ func check_temperature_um(status_prd: PackedByteArray) -> void: var tmp_2: int = round(TEMP_CONSTANTS['min_temp'] + (TEMP_CONSTANTS['max_code'] - temperature_ukp_2) * TEMP_CONSTANTS['temp_factor'] + TEMP_CONSTANTS['offset']) power_amplifier[i_temp+6].value0 = tmp_2 if tmp_2 > Constants.TEMP_THRESHOLD: - _control_results["temperature"] = false + _control_results['temperature'] = false ## Проверка ДКМ @@ -189,11 +189,11 @@ func check_dkm(status_prd: PackedByteArray, bit_dkm: int) -> void: if bit_dkm == Constants.DKM_BIT_3: $dou5_A6.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR $kasseta_FS_VD/ref_A2.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR - _control_results["dkm_1"] = status_dkm + _control_results['dkm_1'] = status_dkm elif bit_dkm == Constants.DKM_BIT_4: $dou4_A5.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR $kasseta_FS_VD/ref_A6.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR - _control_results["dkm_2"] = status_dkm + _control_results['dkm_2'] = status_dkm # Обрабатывает данные ЭМС и обновляет UI панели @@ -254,10 +254,10 @@ func _process_ukp_power(status: PackedByteArray) -> void: count_packet_2 += 1 - _control_results["power_ukp"] = true + _control_results['power_ukp'] = true for amp in power_amplifier: if amp.state != STATE_VAL.GOOD: - _control_results["power_ukp"] = false + _control_results['power_ukp'] = false break @@ -302,25 +302,25 @@ func on_fs_update_state(packet_type_7: Dictionary) -> void: # Словарь для маппинга: ключ - номер FS, значение - целевая нода и условие прибора var fs_mapping = { - 12: { "node": $kasseta_FS_VD/ref_A3, "condition": last_part == '1в' }, - 13: { "node": $kasseta_FS_VD/ref_A3, "condition": last_part == '4в' }, - 14: { "node": $kasseta_FS_VD/ref_A3, "condition": last_part == '3в' }, - 15: { "node": $kasseta_FS_VD/ref_A3, "condition": last_part == '2в' }, - 16: { "node": $kasseta_FS_VD/ref_A4, "condition": last_part == '1в' }, - 17: { "node": $kasseta_FS_VD/ref_A4, "condition": last_part == '4в' }, - 18: { "node": $kasseta_FS_VD/ref_A4, "condition": last_part == '3в' }, - 19: { "node": $kasseta_FS_VD/ref_A4, "condition": last_part == '2в' } + 12: { 'node': $kasseta_FS_VD/ref_A3, 'condition': last_part == '1в' }, + 13: { 'node': $kasseta_FS_VD/ref_A3, 'condition': last_part == '4в' }, + 14: { 'node': $kasseta_FS_VD/ref_A3, 'condition': last_part == '3в' }, + 15: { 'node': $kasseta_FS_VD/ref_A3, 'condition': last_part == '2в' }, + 16: { 'node': $kasseta_FS_VD/ref_A4, 'condition': last_part == '1в' }, + 17: { 'node': $kasseta_FS_VD/ref_A4, 'condition': last_part == '4в' }, + 18: { 'node': $kasseta_FS_VD/ref_A4, 'condition': last_part == '3в' }, + 19: { 'node': $kasseta_FS_VD/ref_A4, 'condition': last_part == '2в' } } for fs in packet_type_7: - if fs in fs_mapping and fs_mapping[fs]["condition"]: + if fs in fs_mapping and fs_mapping[fs]['condition']: var data = packet_type_7[fs] var state = STATE_VAL.GOOD if data.isg == 1 else STATE_VAL.ERROR if data.isg == 0 else STATE_VAL.NONE - fs_mapping[fs]["node"].state = state + fs_mapping[fs]['node'].state = state if fs < 16: - _control_results["fs_1"] = (data.isg == 1) + _control_results['fs_1'] = (data.isg == 1) else: - _control_results["fs_2"] = (data.isg == 1) - if _control_results['fs_1'] and _control_results["fs_2"] and not flag_timer_started: + _control_results['fs_2'] = (data.isg == 1) + if _control_results['fs_1'] and _control_results['fs_2'] and not flag_timer_started: on_ug_setting() control_timer.wait_time = Constants.TIMER_DELAY control_timer.start() @@ -365,9 +365,9 @@ func on_control_result() -> void: var last_part = parts[-1] # Прибор if result: $control_result.text = 'Прибор ПРД-%s исправен' % last_part - $control_result.add_theme_color_override("font_color", Color.AQUAMARINE) + $control_result.add_theme_color_override('font_color', Color.AQUAMARINE) else: $control_result.text = 'Прибор ПРД-%s неисправен' % last_part - $control_result.add_theme_color_override("font_color", Color.CRIMSON) + $control_result.add_theme_color_override('font_color', Color.CRIMSON) await get_tree().create_timer(Constants.TIMER_DELAY).timeout flag_timer_started = false