Доработка проверки яу 07б
и корректировка температур ум в контроле
This commit is contained in:
@@ -84,6 +84,8 @@ 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 flag_no_trust_yau07: bool = false
|
||||
var flag_only_fs: bool = false
|
||||
var unit_prd: Object
|
||||
var control_timer: Timer = Timer.new()
|
||||
var ems_6666_timer: Timer = Timer.new()
|
||||
@@ -222,8 +224,9 @@ func _process(_delta: float) -> void:
|
||||
func on_data_received(unit_pribor: Object) -> void:
|
||||
if not flag_in_control: return
|
||||
var status: PackedByteArray = unit_pribor.status
|
||||
block_kasseta_y5_config = check_block_kasseta_y5(status, block_kasseta_y5_config, flag_no_trust_yau07)
|
||||
if flag_no_trust_yau07: return
|
||||
socket_status_ems_g(status)
|
||||
block_kasseta_y5_config = check_block_kasseta_y5(status, block_kasseta_y5_config)
|
||||
block_ip_config = check_block_ip(status, block_ip_config)
|
||||
temperature_um = check_temperature_um(status)
|
||||
if machine_timer.is_stopped():
|
||||
@@ -284,6 +287,7 @@ func on_fs_update_state(packet_type_7: Dictionary, fs_mapping: Dictionary) -> vo
|
||||
control_results[fs_key] = fs_result[fs_key]
|
||||
flag_fs_status_ok = control_results[fs_key] == 1
|
||||
|
||||
|
||||
##
|
||||
func state_control_machine() -> void:
|
||||
match state:
|
||||
@@ -306,6 +310,8 @@ func state_control_machine() -> void:
|
||||
STATE_MACHINE.CHEK_KASSETA_Y5:
|
||||
if block_kasseta_y5_config['yau07']:
|
||||
state = STATE_MACHINE.WRITE_ISA
|
||||
elif flag_only_fs:
|
||||
state = STATE_MACHINE.IN_EMS_STOP
|
||||
STATE_MACHINE.WRITE_ISA:
|
||||
if not flag_write_isa:
|
||||
_handle_ug_set_state(0x6)
|
||||
@@ -375,7 +381,7 @@ func state_control_machine() -> void:
|
||||
STATE_MACHINE.STOP_CONTROL:
|
||||
_handle_stop_control_state()
|
||||
## В машине состояний вызов изменения состояния прогресс бара контроля
|
||||
if block_kasseta_y5_config['yau07']:
|
||||
if block_kasseta_y5_config['yau07'] or flag_no_trust_yau07:
|
||||
progressbar_status()
|
||||
|
||||
|
||||
@@ -522,6 +528,9 @@ func _handle_stop_control_state() -> void:
|
||||
|
||||
_advance_to_next_fs()
|
||||
state = STATE_MACHINE.INIT
|
||||
if current_litera == 0: return
|
||||
if flag_no_trust_yau07:
|
||||
state = STATE_MACHINE.STOP_CONTROL
|
||||
|
||||
|
||||
## Переходит на следующую литеру, если 0 то считай закончил выполнения контроля
|
||||
@@ -565,6 +574,8 @@ func _on_start_contol_device()-> void:
|
||||
|
||||
|
||||
func _determine_self_name() -> void:
|
||||
flag_no_trust_yau07 = false
|
||||
flag_only_fs = false
|
||||
cc = 0
|
||||
state = STATE_MACHINE.get("INIT", 0)
|
||||
var current_unit = unit_prd.name
|
||||
@@ -652,6 +663,11 @@ func on_state_mashine():
|
||||
## При таймауте таймера ожидания выполнения команды и перехода на следующий шаг машины состояний
|
||||
func on_stop_control() -> void:
|
||||
_handle_fs_turn_off_state()
|
||||
|
||||
if state == STATE_MACHINE.UG_SET_RAY:
|
||||
flag_no_trust_yau07 = true
|
||||
elif state == STATE_MACHINE.CHEK_KASSETA_Y5:
|
||||
flag_only_fs = true
|
||||
state = STATE_MACHINE.FS_TURN_OFF
|
||||
|
||||
|
||||
@@ -661,6 +677,8 @@ func on_mode_changed(in_tree: bool) -> void:
|
||||
if not in_tree: ## TODO: Дополнительная проверка если контроль идет, если нет, то смысла вызывать нет
|
||||
_set_status("Ожидание запуска контроля")
|
||||
flag_control_is_over = false
|
||||
flag_no_trust_yau07 = false
|
||||
flag_only_fs = false
|
||||
progress_value = 0
|
||||
machine_timer.stop()
|
||||
state = STATE_MACHINE.INIT
|
||||
@@ -778,12 +796,13 @@ static func check_block_ip(status_prd: PackedByteArray, ip_config: Dictionary) -
|
||||
|
||||
|
||||
## Проверка кассеты у-5 (ЯУ-07Б, ЭМС-Г, УГ, УКП-1, УКП-2)
|
||||
static func check_block_kasseta_y5(status_prd: PackedByteArray, y5_config: Dictionary) -> Dictionary:
|
||||
y5_config.yau07 = true
|
||||
y5_config.ems = (status_prd[0] & 1) and ((status_prd[0] >> 4) & 1)
|
||||
y5_config.ug = (status_prd[0] >> 1) & 1
|
||||
y5_config.ukp1 = (status_prd[0] >> 2) & 1
|
||||
y5_config.ukp2 = (status_prd[0] >> 3) & 1
|
||||
static func check_block_kasseta_y5(status_prd: PackedByteArray, y5_config: Dictionary, flag_not_trust: bool) -> Dictionary:
|
||||
y5_config.yau07 = not flag_not_trust
|
||||
if y5_config.yau07:
|
||||
y5_config.ems = (status_prd[0] & 1) and ((status_prd[0] >> 4) & 1)
|
||||
y5_config.ug = (status_prd[0] >> 1) & 1
|
||||
y5_config.ukp1 = (status_prd[0] >> 2) & 1
|
||||
y5_config.ukp2 = (status_prd[0] >> 3) & 1
|
||||
return y5_config
|
||||
|
||||
|
||||
@@ -860,7 +879,6 @@ static func _should_apply_rule(fs_num: int, rule: Dictionary, results: Dictionar
|
||||
return bool(fs_num >= rule.min and fs_num < rule.max) and results.has(rule.key)
|
||||
|
||||
|
||||
|
||||
## Получение мощности при выполнении контроля
|
||||
static func power_um_ukp(status: PackedByteArray, litera: int, pwr_result: Array) -> Array:
|
||||
const Constants: Dictionary = {'POWER_UKP_1' : 31, 'POWER_UKP_2': 63}
|
||||
|
||||
Reference in New Issue
Block a user