Исправление
This commit is contained in:
@@ -53,17 +53,17 @@ class TestPRD extends Node:
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
pass
|
||||
|
||||
|
||||
func on_data_received(unit_pribor: Object) -> void:
|
||||
if not is_inside_tree():
|
||||
return
|
||||
|
||||
|
||||
var status: PackedByteArray = unit_pribor.status
|
||||
|
||||
block_config = check_block_ip(status, block_config)
|
||||
|
||||
check_temperature_um(status, power_amplify)
|
||||
|
||||
|
||||
if current_fs == 1 and control_results.fs_1:
|
||||
control_results = check_dkm(status, constants.DKM_BIT_1, control_results)
|
||||
flag_check_dkm = control_results.dkm_1
|
||||
@@ -73,15 +73,15 @@ class TestPRD extends Node:
|
||||
elif current_fs == 7 and control_results.fs_7:
|
||||
control_results = check_dkm(status, constants.DKM_BIT_7, control_results)
|
||||
flag_check_dkm = control_results.dkm_7
|
||||
|
||||
|
||||
if control_results.dkm_1 and current_fs == 1:
|
||||
power_result['ray_25_1'] = power_um_ukp(status, current_fs, power_result['ray_25_1'])
|
||||
if control_results.dkm_6 and current_fs == 6:
|
||||
power_result['ray_25_6'] = power_um_ukp(status, current_fs, power_result['ray_25_6'])
|
||||
if control_results.dkm_7 and current_fs == 7:
|
||||
power_result['ray_25_7'] = power_um_ukp(status, current_fs, power_result['ray_25_7'])
|
||||
|
||||
|
||||
|
||||
|
||||
func on_fs_update_state(packet_type_7: Dictionary, fs_mapping: Dictionary, fs_array: Array) -> void:
|
||||
var fs_result: Dictionary
|
||||
if current_fs == 1:
|
||||
@@ -96,7 +96,7 @@ class TestPRD extends Node:
|
||||
if fs_result.has(fs_meta):
|
||||
fs.state = fs_result[fs_meta]
|
||||
control_results[fs_meta] = fs_result[fs_meta]
|
||||
|
||||
|
||||
|
||||
func state_control_machine() -> void:
|
||||
match state:
|
||||
@@ -107,21 +107,21 @@ class TestPRD extends Node:
|
||||
else:
|
||||
on_control_result()
|
||||
state = STATE_MASHINE.AWAIT
|
||||
|
||||
|
||||
STATE_MASHINE.FS_TURN_ON:
|
||||
control_label.text = 'Выполняется включение ФС-%s' % current_fs
|
||||
manage_fs(true, self_name, pribor_config, fs_parameters, current_fs, constants.POWER_UM)
|
||||
control_timer.wait_time = constants.TIMER_DELAY
|
||||
control_timer.start()
|
||||
state = STATE_MASHINE.FS_WORK
|
||||
|
||||
|
||||
STATE_MASHINE.FS_WORK:
|
||||
control_label.text = 'Выполняется проверка ФС-%s' % current_fs
|
||||
if (current_fs == 6 and flag_check_dkm and not flag_timer_started) or \
|
||||
(current_fs == 7 and flag_check_dkm and not flag_timer_started) or \
|
||||
(current_fs == 1 and not flag_timer_started):
|
||||
state = STATE_MASHINE.UG_SET
|
||||
|
||||
|
||||
STATE_MASHINE.UG_SET:
|
||||
control_label.text = 'Выполняется настройка угла (%s) и атт (%s, %s, %s)' % [constants.dou_ray_nuber, constants.attenutor_um_1, constants.attenutor_um_2, constants.attenutor_um_3]
|
||||
on_ug_setting()
|
||||
@@ -132,12 +132,12 @@ class TestPRD extends Node:
|
||||
module_prd.cmd_array.append([unit_prd.CmdCode.WRITE_ISA, [constants.BASE_ADDR_EMS_G, 6666]])
|
||||
flag_timer_started = true
|
||||
state = STATE_MASHINE.FS_WORK
|
||||
|
||||
|
||||
STATE_MASHINE.FS_TURN_OFF:
|
||||
control_label.text = 'Выполняется отключение ФС-%s' % current_fs
|
||||
manage_fs(false, self_name, pribor_config, fs_parameters, current_fs, constants.POWER_UM)
|
||||
state = STATE_MASHINE.STOP_CONTROL
|
||||
|
||||
|
||||
STATE_MASHINE.STOP_CONTROL:
|
||||
control_label.text = 'Выполняется завершение проверки ФС-%s' % current_fs
|
||||
power_um_control_result()
|
||||
@@ -148,8 +148,8 @@ class TestPRD extends Node:
|
||||
6: current_fs = 7
|
||||
7: current_fs = 0
|
||||
state = STATE_MASHINE.INIT
|
||||
|
||||
|
||||
|
||||
|
||||
func initialize_connections() -> void:
|
||||
var current_unit = unit_prd.name
|
||||
var parts = current_unit.split('-')
|
||||
@@ -182,12 +182,12 @@ class TestPRD extends Node:
|
||||
|
||||
func on_control_result() -> void:
|
||||
print('on_control_result')
|
||||
|
||||
|
||||
|
||||
func on_stop_control() -> void:
|
||||
state = STATE_MASHINE.FS_TURN_OFF
|
||||
|
||||
|
||||
|
||||
|
||||
func on_ug_setting() -> void:
|
||||
var result_1 = ((constants.attenutor_um_1 & 0x07) << 3) | (constants.dou_ray_nuber & 0x07)
|
||||
var result_2 = ((constants.attenutor_um_2 & 0x07) << 3) | (constants.dou_ray_nuber & 0x07)
|
||||
@@ -198,15 +198,15 @@ class TestPRD extends Node:
|
||||
|
||||
module_prd.cmd_array.append([unit_prd.CmdCode.READ_ISA, [constants.ADDR_UG_LITERA_1, constants.ADDR_UG_LITERA_2, constants.ADDR_UG_LITERA_3]])
|
||||
|
||||
|
||||
|
||||
func power_um_control_result() -> void:
|
||||
control_results['power_um'] = true
|
||||
for amp in power_result[cur_ray]:
|
||||
if amp > constants.TEMP_THRESHOLD:
|
||||
control_results['power_um'] = false
|
||||
break
|
||||
|
||||
|
||||
|
||||
|
||||
static func manage_fs(mode: bool, pribor: String, p_conf: Dictionary, fs_params: Dictionary, cur_fs: int, power_um: int) -> void:
|
||||
# Получаем конфигурацию для текущего прибора
|
||||
var config: Dictionary = p_conf[pribor]
|
||||
@@ -227,7 +227,7 @@ class TestPRD extends Node:
|
||||
])
|
||||
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr, power_um)
|
||||
|
||||
|
||||
## Проверка касет П1 и ИП МА2000
|
||||
static func check_block_ip(status_prd: PackedByteArray, block_ip_config: Dictionary) -> Dictionary:
|
||||
# Конфигурация проверяемых блоков
|
||||
@@ -239,7 +239,7 @@ class TestPRD extends Node:
|
||||
var status = status_prd[byte_dry] >> bit & 1
|
||||
block_ip_config[block][1] = false if status else true
|
||||
return block_ip_config
|
||||
|
||||
|
||||
## Проверка температур УМ от УКП
|
||||
static func check_temperature_um(status_prd: PackedByteArray, power_amplifier: Array) -> void:
|
||||
const Constants: Dictionary = {
|
||||
@@ -269,8 +269,8 @@ class TestPRD extends Node:
|
||||
var temperature_ukp_2: int = status_prd.decode_u16(Constants.TEMPERATURE_UKP_2 + 2 * i_temp)
|
||||
var tmp_2: int = round(Constants.CONST_MIN_TEMP + (Constants.MAXIMUM_CODE_ADC - temperature_ukp_2) * TEMP + 3)
|
||||
power_amplifier[i_temp+7].value0 = tmp_2
|
||||
|
||||
|
||||
|
||||
|
||||
## Проверка ДКМ
|
||||
static func check_dkm(status_prd: PackedByteArray, bit_dkm: int, dkm_result: Dictionary) -> Dictionary:
|
||||
var dkm: int = 28
|
||||
|
||||
Reference in New Issue
Block a user