Рефактор. Табуляция
This commit is contained in:
@@ -231,22 +231,22 @@ class PRD:
|
||||
execute_cmd()
|
||||
return
|
||||
execute_cmd()
|
||||
|
||||
|
||||
## Мониторинг состояния юнита прд
|
||||
func set_prd_status() -> void:
|
||||
# Обновление статуса платы ЯУ-07
|
||||
yemsg_board.set_status(unit_yau07.status)
|
||||
|
||||
|
||||
# Проверка онлайн-статусов основных модулей
|
||||
ug_online = (unit_yau07.status[0] >> 1) & 1
|
||||
var ukp_1_online = (unit_yau07.status[0] >> 2) & 1
|
||||
var ukp_2_online = (unit_yau07.status[0] >> 3) & 1
|
||||
var ems_g_online = (unit_yau07.status[0] & 1) & 1
|
||||
|
||||
|
||||
# Установка флага состояния УГ
|
||||
if not ug_online:
|
||||
set_ug_state = true
|
||||
|
||||
|
||||
# Проверка источников питания
|
||||
var ip_online: bool = _check_dry_contact(unit_yau07.status, prd_name)
|
||||
var check_temperature_um: bool = unit_control.flags.temperature_ok
|
||||
@@ -264,7 +264,7 @@ class PRD:
|
||||
serviceability = _set_serviceability_from_control_results(unit_control)
|
||||
else:
|
||||
serviceability = _set_serviceability_from_online_status(check_dic)
|
||||
|
||||
|
||||
## Проверка онлайн-статуса сухих контактов
|
||||
static func _check_dry_contact(unit_yau07_status: PackedByteArray, self_name: String) -> bool:
|
||||
var bit_ip_config: Array = [0, 1, 2, 3, 4, 5, 6, 7]
|
||||
@@ -276,7 +276,7 @@ class PRD:
|
||||
if status:
|
||||
return false
|
||||
return true
|
||||
|
||||
|
||||
## Установка состояния обслуживания на основе результатов контроля
|
||||
static func _set_serviceability_from_control_results(unit_ctrl: Object) -> int:
|
||||
var control_results = unit_ctrl.get_control_results()
|
||||
@@ -293,7 +293,7 @@ class PRD:
|
||||
all_ok = false
|
||||
break
|
||||
return STATE_DEVICE.GOOD if all_ok else STATE_DEVICE.ERROR
|
||||
|
||||
|
||||
## Установка состояния обслуживания на основе онлайн-статусов
|
||||
static func _set_serviceability_from_online_status(check_dic: Dictionary) -> int:
|
||||
var all_online: bool = true
|
||||
@@ -302,8 +302,8 @@ class PRD:
|
||||
all_online = false
|
||||
break
|
||||
return STATE_DEVICE.NONE if all_online else STATE_DEVICE.ERROR
|
||||
|
||||
|
||||
|
||||
|
||||
func execute_cmd():
|
||||
if not len(cmd_array): return
|
||||
if unit_yau07.cmd_state != unit_yau07.CmdState.DONE: return
|
||||
@@ -362,7 +362,7 @@ func _ready() -> void:
|
||||
if prd_dict.has(fs.prd_name):
|
||||
prd_dict[fs.prd_name].fs_dic[key] = fs
|
||||
fs.connect('update_modulation', prd_dict[fs.prd_name].on_update_modulation.bind(fs.index))
|
||||
|
||||
|
||||
for key in FS_PRD.keys():
|
||||
fs_caps_id[FS_PRD[key][1]] = key
|
||||
var unit_caps = network.get_unit_instance('уарэп-капсрпб')
|
||||
|
||||
@@ -296,7 +296,7 @@ func on_data_received(unit_pribor: Object) -> void:
|
||||
block_kasseta_y5_config = check_block_kasseta_y5(status, block_kasseta_y5_config, flags.no_trust_yau07)
|
||||
_set_control_result('block_kasseta', on_y5_control_result(block_kasseta_y5_config))
|
||||
_set_control_result('temperature', flags.temperature_ok)
|
||||
_set_control_result('block_ip', on_dry_control_result(block_ip_config))
|
||||
_set_control_result('block_ip', on_dry_control_result(block_ip_config))
|
||||
if not flags.in_control: return
|
||||
if machine_timer.is_stopped(): return
|
||||
if flags.no_trust_yau07: return
|
||||
@@ -415,7 +415,7 @@ func _handle_fs_turn_on_state() -> void:
|
||||
state = STATE_MACHINE.FS_WORK
|
||||
|
||||
|
||||
static func take_ecm_id(ecm_dic: Dictionary, device_name: String, current_lit: int) -> int:
|
||||
static func take_ecm_id(ecm_dic: Dictionary, device_name: String, current_lit: int) -> int:
|
||||
# Получаем целевой nmfs из таблицы
|
||||
var target_nmfs: int = LITER_TO_NMFS.get(device_name, {}).get(current_lit, -1)
|
||||
if target_nmfs == -1:
|
||||
@@ -555,14 +555,14 @@ func _handle_ray_read_mode() -> void:
|
||||
func _handle_ray_write_mode(ray_num: int) -> void:
|
||||
if not _can_write_ray():
|
||||
return
|
||||
|
||||
|
||||
if ray_num == 0 and current_litera != 1 and not control_timer.is_stopped():
|
||||
control_timer.stop()
|
||||
# Установка луча
|
||||
if not flags.write_isa:
|
||||
_handle_ug_set_state(ray_num)
|
||||
flags.write_isa = true
|
||||
|
||||
|
||||
# Ожидание COUNT_PACK_POWER_RECIEVE пакетов от ЯУ-07
|
||||
if count_packets_power < COUNT_PACK_POWER_RECIEVE: return
|
||||
state = STATE_MACHINE.READ_ISA
|
||||
@@ -999,12 +999,13 @@ static func on_ug_setting(prd_unit: Object, settings_ug: Dictionary, prd_cmd_arr
|
||||
var result: int
|
||||
if cur_litera in [2, 4, 6]:
|
||||
result = ((settings_ug.ATT_UM_1 & 0x07) << 3) | (settings_ug.RAY_DOU_NUM & 0x07)
|
||||
prd_cmd_array.append([prd_unit.CmdCode.WRITE_ISA, [settings_ug.ADDR_UG_LITERA_1, result]])
|
||||
prd_cmd_array.append([prd_unit.CmdCode.WRITE_ISA, [settings_ug.ADDR_UG_LITERA_1, result]])
|
||||
elif cur_litera in [3, 5, 7]:
|
||||
result = ((settings_ug.ATT_UM_2 & 0x07) << 3) | (settings_ug.RAY_DOU_NUM & 0x07)
|
||||
prd_cmd_array.append([prd_unit.CmdCode.WRITE_ISA, [settings_ug.ADDR_UG_LITERA_2, result]])
|
||||
elif cur_litera == 1:
|
||||
result = ((settings_ug.ATT_UM_2 & 0x07) << 3) | (settings_ug.RAY_DOU_NUM & 0x07)
|
||||
result = ((settings_ug.ATT_UM_1 & 0x07) << 3) | (settings_ug.RAY_DOU_NUM & 0x07)
|
||||
prd_cmd_array.append([prd_unit.CmdCode.WRITE_ISA, [settings_ug.ADDR_UG_LITERA_1, result]])
|
||||
prd_cmd_array.append([prd_unit.CmdCode.WRITE_ISA, [settings_ug.ADDR_UG_LITERA_3, settings_ug.ATT_UM_3]])
|
||||
return true
|
||||
|
||||
@@ -1081,7 +1082,7 @@ static func check_temperature_um(status_prd: PackedByteArray) -> Dictionary:
|
||||
else:
|
||||
for i_temp in 8:
|
||||
return_dic_temp[arr_um[i_temp]] = -999 # Заполняем нулями если УКП нет на связи
|
||||
|
||||
|
||||
if ukp2_online:
|
||||
for i_temp in 8:
|
||||
var temperature_ukp_2: int = status_prd.decode_u16(Constants.TEMPERATURE_UKP_2 + 2 * i_temp)
|
||||
@@ -1152,7 +1153,7 @@ static func on_fs_state(packet_type_7: Dictionary, fs_mapping: Dictionary, fs_re
|
||||
|
||||
## Вспомогательная функция для проверки применения правила
|
||||
static func _should_apply_rule(fs_num: int, rule: Dictionary, results: Dictionary) -> bool:
|
||||
return bool(fs_num >= rule.min and fs_num < rule.max) and results.has(rule.key)
|
||||
return bool(fs_num >= rule.min and fs_num <= rule.max) and results.has(rule.key)
|
||||
|
||||
|
||||
## Получение мощности при выполнении контроля
|
||||
|
||||
Reference in New Issue
Block a user