снятие мощности со всех лучей на приборе прд-н
This commit is contained in:
@@ -20,7 +20,8 @@ class TestPRD extends Node:
|
||||
UG_SET_RAY_3,
|
||||
UG_SET_RAY_4,
|
||||
UG_SET_RAY_5,
|
||||
UM_RUN,
|
||||
IN_EMS_RUN,
|
||||
IN_EMS_STOP,
|
||||
FS_TURN_OFF,
|
||||
STOP_CONTROL,
|
||||
AWAIT
|
||||
@@ -69,6 +70,7 @@ class TestPRD extends Node:
|
||||
var power_amplify: Array
|
||||
var control_label: Label
|
||||
var control_timer: Timer = Timer.new()
|
||||
var ems_6666_timer: Timer = Timer.new()
|
||||
|
||||
|
||||
## Инициализация аргуметнов
|
||||
@@ -110,9 +112,7 @@ class TestPRD extends Node:
|
||||
if current_fs != 0:
|
||||
var tek_litera: Dictionary = power_result[current_fs]
|
||||
var interes = _get_ray_key(state)
|
||||
print('interes: ', interes)
|
||||
if interes != '':
|
||||
var arr_pow = tek_litera[interes]
|
||||
tek_litera[_get_ray_key(state)] = power_um_ukp(status, current_fs, tek_litera[_get_ray_key(state)])
|
||||
power_result[current_fs] = tek_litera
|
||||
|
||||
@@ -146,9 +146,14 @@ class TestPRD extends Node:
|
||||
print_debug('Яу-07Б: нет связи ', block_kasseta_y5_config)
|
||||
STATE_MASHINE.WRITE_ISA:
|
||||
_handle_ug_set_state(0x6)
|
||||
state = STATE_MASHINE.READ_ISA
|
||||
#STATE_MASHINE.IN_EMS_RUN:
|
||||
#ems_6666_timer.start()
|
||||
#state = STATE_MASHINE.READ_ISA
|
||||
STATE_MASHINE.READ_ISA:
|
||||
_handle_read_isa(module_prd, unit_prd, [constants.ADDR_UG_LITERA_1, constants.ADDR_UG_LITERA_2, constants.ADDR_UG_LITERA_3])
|
||||
state = STATE_MASHINE.UG_SET_RAY
|
||||
if (unit_prd.cmd_state == unit_prd.CmdState.DONE) or (unit_prd.cmd_state == unit_prd.CmdState.FALSE):
|
||||
_handle_read_isa(module_prd, unit_prd, [constants.ADDR_UG_LITERA_1, constants.ADDR_UG_LITERA_2, constants.ADDR_UG_LITERA_3])
|
||||
state = STATE_MASHINE.UG_SET_RAY
|
||||
STATE_MASHINE.UG_SET_RAY:
|
||||
var addr: int = constants.ADDR_UG_LITERA_1
|
||||
if current_fs == 3 or current_fs == 5 or current_fs == 7:
|
||||
@@ -166,24 +171,32 @@ class TestPRD extends Node:
|
||||
elif unit_prd.isa_ports[addr] & 0x07 == 4:
|
||||
state = STATE_MASHINE.UG_SET_RAY_5
|
||||
elif unit_prd.isa_ports[addr] & 0x07 == 5:
|
||||
state = STATE_MASHINE.FS_TURN_OFF
|
||||
state = STATE_MASHINE.IN_EMS_STOP
|
||||
elif unit_prd.isa_ports[addr] & 0x07 == 6:
|
||||
state = STATE_MASHINE.UG_SET_RAY_0
|
||||
|
||||
STATE_MASHINE.UG_SET_RAY_0:
|
||||
_handle_ug_set_state(0x0)
|
||||
await get_tree().create_timer(1.0).timeout
|
||||
state = STATE_MASHINE.READ_ISA
|
||||
STATE_MASHINE.UG_SET_RAY_1:
|
||||
_handle_ug_set_state(0x1)
|
||||
state = STATE_MASHINE.READ_ISA
|
||||
STATE_MASHINE.UG_SET_RAY_2:
|
||||
_handle_ug_set_state(0x2)
|
||||
state = STATE_MASHINE.READ_ISA
|
||||
STATE_MASHINE.UG_SET_RAY_3:
|
||||
_handle_ug_set_state(0x3)
|
||||
state = STATE_MASHINE.READ_ISA
|
||||
STATE_MASHINE.UG_SET_RAY_4:
|
||||
_handle_ug_set_state(0x4)
|
||||
state = STATE_MASHINE.READ_ISA
|
||||
STATE_MASHINE.UG_SET_RAY_5:
|
||||
_handle_ug_set_state(0x5)
|
||||
STATE_MASHINE.UM_RUN:
|
||||
flag_timer_started = _handle_um_run_state()
|
||||
state = STATE_MASHINE.READ_ISA
|
||||
STATE_MASHINE.IN_EMS_STOP:
|
||||
ems_6666_timer.stop()
|
||||
state = STATE_MASHINE.FS_TURN_OFF
|
||||
STATE_MASHINE.FS_TURN_OFF:
|
||||
_handle_fs_turn_off_state()
|
||||
STATE_MASHINE.STOP_CONTROL:
|
||||
@@ -194,10 +207,11 @@ class TestPRD extends Node:
|
||||
control_label.text = 'Выполняется инициализация ФС-%s' % current_fs
|
||||
if current_fs in [1, 2, 3, 4, 5, 6, 7]:
|
||||
state = STATE_MASHINE.FS_TURN_ON
|
||||
#state = STATE_MASHINE.STOP_CONTROL
|
||||
else:
|
||||
control_results = on_control_result(block_ip_config, block_dkm_config, block_fs_config, control_results)
|
||||
control_results = on_control_result(block_ip_config, block_dkm_config, block_fs_config, control_results, power_result, self_name, constants)
|
||||
state = STATE_MASHINE.AWAIT
|
||||
print_debug(power_result)
|
||||
#print_debug(power_result)
|
||||
|
||||
|
||||
func _handle_fs_turn_on_state() -> void:
|
||||
@@ -228,6 +242,7 @@ class TestPRD extends Node:
|
||||
'ADDR_UG_LITERA_2': constants.ADDR_UG_LITERA_2,
|
||||
'ADDR_UG_LITERA_3': constants.ADDR_UG_LITERA_3,
|
||||
'ATT_UM_3': 0x00,
|
||||
'BASE_EMS_G': constants.BASE_ADDR_EMS_G
|
||||
}
|
||||
if self_name == '1к' or self_name == '2к' or self_name == '3к' or self_name == '4к':
|
||||
dic_att['ATT_UM_1'] = constants.ATT_UM_6
|
||||
@@ -246,14 +261,11 @@ class TestPRD extends Node:
|
||||
dic_att.ATT_UM_3,
|
||||
]
|
||||
on_ug_setting(module_prd, unit_prd, dic_att)
|
||||
state = STATE_MASHINE.UM_RUN
|
||||
|
||||
|
||||
func _handle_um_run_state() -> bool:
|
||||
control_label.text = 'Выполняется настройка ЭМС'
|
||||
func _on_ems_6666_timer() -> void:
|
||||
print_debug('Write 6666')
|
||||
module_prd.cmd_array.append([unit_prd.CmdCode.WRITE_ISA, [constants.BASE_ADDR_EMS_G, 6666]])
|
||||
state = STATE_MASHINE.READ_ISA
|
||||
return true
|
||||
|
||||
|
||||
func _handle_fs_turn_off_state() -> void:
|
||||
@@ -264,7 +276,6 @@ class TestPRD extends Node:
|
||||
|
||||
func _handle_stop_control_state() -> void:
|
||||
control_label.text = 'Выполняется завершение проверки ФС-%s' % current_fs
|
||||
control_results = power_um_control_result(control_results, constants, power_result)
|
||||
flag_timer_started = false
|
||||
_advance_to_next_fs()
|
||||
state = STATE_MASHINE.INIT
|
||||
@@ -299,8 +310,12 @@ class TestPRD extends Node:
|
||||
add_child(control_timer)
|
||||
control_timer.timeout.connect(on_stop_control)
|
||||
control_timer.one_shot = true
|
||||
control_timer.wait_time = 10.0
|
||||
control_timer.wait_time = 15.0
|
||||
control_timer.start()
|
||||
|
||||
add_child(ems_6666_timer)
|
||||
ems_6666_timer.timeout.connect(_on_ems_6666_timer)
|
||||
ems_6666_timer.wait_time = 1.5
|
||||
|
||||
|
||||
func _process_dkm_status(status: PackedByteArray) -> void:
|
||||
@@ -353,10 +368,11 @@ class TestPRD extends Node:
|
||||
state = STATE_MASHINE.FS_TURN_OFF
|
||||
|
||||
|
||||
static func on_control_result(ip_config: Dictionary, dkm_config: Dictionary, fs_config: Dictionary, ctrl_results: Dictionary) -> Dictionary:
|
||||
static func on_control_result(ip_config: Dictionary, dkm_config: Dictionary, fs_config: Dictionary, ctrl_results: Dictionary, power_config: Dictionary, pribor: String, cnstnt: Dictionary) -> Dictionary:
|
||||
var all_blocks_ip_ok = true
|
||||
var all_blocks_dkm_ok = true
|
||||
var all_blocks_fs_ok = true
|
||||
var all_dou_ok = true
|
||||
|
||||
for block in ip_config:
|
||||
if not ip_config[block][1]:
|
||||
@@ -372,7 +388,31 @@ class TestPRD extends Node:
|
||||
if not fs_config[block]:
|
||||
all_blocks_fs_ok = false
|
||||
ctrl_results['fs'] = all_blocks_fs_ok
|
||||
|
||||
|
||||
var arr_liters = [2, 3]
|
||||
if pribor == '1к' or pribor == '2к' or pribor == '3к' or pribor == '4к':
|
||||
arr_liters = [1, 6, 7]
|
||||
elif pribor == '1в' or pribor == '2в' or pribor == '3в' or pribor == '4в':
|
||||
arr_liters = [4, 5]
|
||||
|
||||
for i_liter in arr_liters:
|
||||
var amp_array = power_config[i_liter]
|
||||
if amp_array[RAY_m5].size() == 0 or \
|
||||
amp_array[RAY_5].size() == 0 or \
|
||||
amp_array[RAY_15].size() == 0 or \
|
||||
amp_array[RAY_25].size() == 0 or \
|
||||
amp_array[RAY_35].size() == 0 or \
|
||||
amp_array[RAY_45].size() == 0:
|
||||
all_dou_ok = false
|
||||
|
||||
for i_powers in amp_array.values():
|
||||
for k_pow in i_powers.size():
|
||||
if i_powers[k_pow] < cnstnt.POWER_THRESHOLD:
|
||||
print_debug(i_powers[k_pow])
|
||||
all_dou_ok = false
|
||||
|
||||
print([i_liter, amp_array])
|
||||
ctrl_results['dou'] = all_dou_ok
|
||||
return ctrl_results
|
||||
|
||||
|
||||
@@ -381,31 +421,18 @@ class TestPRD extends Node:
|
||||
var result_1 = ((settings_ug.ATT_UM_1 & 0x07) << 3) | (settings_ug.RAY_DOU_NUM & 0x07)
|
||||
var result_2 = ((settings_ug.ATT_UM_2 & 0x07) << 3) | (settings_ug.RAY_DOU_NUM & 0x07)
|
||||
|
||||
prd_module.cmd_array.append([prd_unit.CmdCode.WRITE_ISA, [settings_ug.ADDR_UG_LITERA_1, result_1,
|
||||
settings_ug.ADDR_UG_LITERA_2, result_2,
|
||||
settings_ug.ADDR_UG_LITERA_3, settings_ug.ATT_UM_3]])
|
||||
prd_module.cmd_array.append([prd_unit.CmdCode.WRITE_ISA, [ settings_ug.BASE_EMS_G, 6666,
|
||||
settings_ug.ADDR_UG_LITERA_1, result_1,
|
||||
settings_ug.ADDR_UG_LITERA_2, result_2,
|
||||
settings_ug.ADDR_UG_LITERA_3, settings_ug.ATT_UM_3,
|
||||
]
|
||||
])
|
||||
|
||||
|
||||
static func _handle_read_isa(prd_module: Object, prd_unit: Object, read_isa_ports: Array) -> void:
|
||||
prd_module.cmd_array.append([prd_unit.CmdCode.READ_ISA, read_isa_ports])
|
||||
|
||||
|
||||
static func power_um_control_result(ctrl_results: Dictionary, constan: Dictionary, pwr_result: Dictionary) -> Dictionary:
|
||||
ctrl_results['power_um'] = true
|
||||
|
||||
for amp_array in pwr_result.values():
|
||||
if amp_array.size() == 0:
|
||||
ctrl_results['power_um'] = false
|
||||
return ctrl_results
|
||||
|
||||
#for amp_array in pwr_result.values():
|
||||
#for value in amp_array:
|
||||
#if value < constan.TEMP_THRESHOLD:
|
||||
#ctrl_results['power_um'] = false
|
||||
#break
|
||||
return ctrl_results
|
||||
|
||||
|
||||
## Управаление модулем фс (включить/отключить излучение)
|
||||
static func manage_fs(mode: bool, pribor: String, p_conf: Dictionary, fs_params: Dictionary, cur_fs: int, power_um: int) -> void:
|
||||
# Получаем конфигурацию для текущего прибора
|
||||
|
||||
Reference in New Issue
Block a user