Поднятие сцен контроля приборов. Line separator - LF

This commit is contained in:
kira-a-k
2025-11-17 23:10:15 +03:00
parent 2d23772546
commit f3f593a597
12 changed files with 434 additions and 388 deletions

View File

@@ -62,6 +62,7 @@ var flag_fs_status_ok: bool = false
var flag_si_fs_input: bool = false
var flag_si_fs_output: bool = false
var flag_in_control: bool = false
var flag_control_is_over: bool = false
var unit_prd: Object
var control_timer: Timer = Timer.new()
var ems_6666_timer: Timer = Timer.new()
@@ -127,12 +128,12 @@ func _ensure_config_exists() -> bool:
func _load_configuration() -> void:
if not _ensure_config_exists():
return
if not _ensure_config_exists(): return
var config_file = FileAccess.open(CONFIG_PATH, FileAccess.READ)
if config_file:
var json_text = config_file.get_as_text()
config_file.close()
var json = JSON.new()
var parse_result = json.parse(json_text)
if parse_result == OK:
@@ -202,13 +203,14 @@ func on_data_received(unit_pribor: Object) -> void:
return
_process_dkm_status(status)
if current_litera != 0:
if current_litera != 0: # Формирование мощностей в литерах
var tek_litera: Dictionary = power_for_litera[current_litera]
var interes = _get_ray_key(state)
if interes != '':
tek_litera[_get_ray_key(state)] = power_um_ukp(status, current_litera, tek_litera[_get_ray_key(state)])
power_for_litera[current_litera] = tek_litera
var ems_input_1: int
var ems_input_2: int
var ems_input_lit_1: int
@@ -220,17 +222,18 @@ var ems_output_lit_1: int
func _get_data_index(key: String) -> int:
return data_indices.get(key, -1)
func socket_status_ems_g(packet_form_yau_07: PackedByteArray) -> void:
if self_name in ['', '', '', '']:
ems_input_1 = (packet_form_yau_07.decode_u16(_get_data_index('IN_BLANK_PRD')) & (1 << 9)) != 0
ems_input_2 = (packet_form_yau_07.decode_u16(_get_data_index('IN_BLANK_PRD')) & (1 << 10)) != 0
if self_name in ['', '', '', '']:
ems_input_1 = (packet_form_yau_07.decode_u16(_get_data_index('IN_BLANK_PRD')) & (1 << 11)) != 0
ems_input_1 = (packet_form_yau_07.decode_u16(_get_data_index('IN_BLANK_PRD')) & (1 << 12)) != 0
ems_input_2 = (packet_form_yau_07.decode_u16(_get_data_index('IN_BLANK_PRD')) & (1 << 12)) != 0
if self_name in ['', '', '', '']:
ems_input_1 = (packet_form_yau_07.decode_u16(_get_data_index('IN_BLANK_PRD')) & (1 << 13)) != 0
ems_input_1 = (packet_form_yau_07.decode_u16(_get_data_index('IN_BLANK_PRD')) & (1 << 14)) != 0
ems_input_lit_1 = (packet_form_yau_07.decode_u16(_get_data_index('IN_BLANK_PRD')) & (1 << 8)) != 0
ems_input_1 = (packet_form_yau_07.decode_u16(_get_data_index('IN_BLANK_PRD')) & (1 << 13)) != 0
ems_input_2 = (packet_form_yau_07.decode_u16(_get_data_index('IN_BLANK_PRD')) & (1 << 14)) != 0
ems_output_1 = (packet_form_yau_07.decode_u16(_get_data_index('OUT_BLANK_PRD')) & (1 << 4)) != 0
ems_output_2 = (packet_form_yau_07.decode_u16(_get_data_index('OUT_BLANK_PRD')) & (1 << 5)) != 0
@@ -265,7 +268,6 @@ func on_fs_update_state(packet_type_7: Dictionary, fs_mapping: Dictionary) -> vo
func state_control_machine() -> void:
match state:
STATE_MACHINE.INIT:
print("Start control for %s device %s litera" % [self_name, current_litera])
_handle_init_state()
STATE_MACHINE.FS_TURN_ON:
_handle_fs_turn_on_state()
@@ -353,15 +355,24 @@ func state_control_machine() -> void:
STATE_MACHINE.STOP_CONTROL:
_handle_stop_control_state()
## В машине состояний вызов изменения состояния прогресс бара контроля
progressbar_status()
if block_kasseta_y5_config['yau07']:
progressbar_status()
## 'Выполняется инициализация ФС-%s' % current_litera
func _handle_init_state() -> void:
if current_litera in [1, 2, 3, 4, 5, 6, 7]:
if not ecms.size():
var flag_ecm: bool = false
for key in ecms:
var params = ecms[key].params.freq
if fs_parameters[current_litera].freq == params:
var kni = ecms[key].kni
if pribor_config[self_name].angle == kni:
flag_ecm = true
if not flag_ecm:
state = STATE_MACHINE.FS_TURN_ON
else:
flag_control_is_over = true
control_results = on_control_result(block_ip_config, control_results)
power_result = prep_power(power_for_litera, self_name)
emit_signal('control_is_over')
@@ -542,12 +553,12 @@ func setup_timer() -> void:
func on_mode_changed(in_tree: bool) -> void:
flag_in_control = in_tree
if not in_tree: ## TODO: Дополнительная проверка если контроль идет, если нет, то смысла вызывать нет
flag_control_is_over = false
progress_value = 0
machine_timer.stop()
state = STATE_MACHINE.INIT
_handle_fs_turn_off_state()
#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 _process_dkm_status(status: PackedByteArray) -> void: