рефактор

This commit is contained in:
Maxim
2025-08-15 17:46:24 +03:00
parent 295f81f694
commit bc8581773c
5 changed files with 212 additions and 275 deletions

View File

@@ -72,8 +72,8 @@ var control_results_n: Dictionary = {
'block_ip': false, # Проверка касет П1 и ИП МА2000
'temperature': true, # Проверка температур УМ
'dkm': false,
'dou': false,
'power_um': false, # Мощность от УКП
'dou_2': false,
'dou_3': false,
'fs': false,
}
var test = preload('res://scripts/pribor-prd.gd')
@@ -83,51 +83,6 @@ var test = preload('res://scripts/pribor-prd.gd')
func on_state_mashine() -> void:
control_prd_n.state_control_machine()
block_kasseta_y5_prd_config_n = control_prd_n.block_kasseta_y5_config
var nodes_y5: Array = get_tree().get_nodes_in_group('y-5')
for node_y5 in nodes_y5:
var meta_y5 = node_y5.get_meta('y5')
if block_kasseta_y5_prd_config_n.has(meta_y5):
if block_kasseta_y5_prd_config_n['yau07'] == false:
node_y5.state = STATE_VAL.ERROR if meta_y5 == 'yau07' else STATE_VAL.NONE
return
node_y5.state = STATE_VAL.GOOD if block_kasseta_y5_prd_config_n[meta_y5] else STATE_VAL.ERROR
block_ip_config_n = control_prd_n.block_ip_config
var node_ip_power_arr: Array = get_tree().get_nodes_in_group('power_supply')
for power_supply in node_ip_power_arr:
var meta_ip = power_supply.get_meta('ip')
if block_ip_config_n.has(meta_ip) and block_kasseta_y5_prd_config_n.ug:
power_supply.state = STATE_VAL.GOOD if block_ip_config_n[meta_ip][1] else STATE_VAL.ERROR
var fs_results: Dictionary = control_prd_n.block_fs_config
var fs_nodes: Array = get_tree().get_nodes_in_group('fs_group')
for f in fs_nodes:
var fs_meta: String = f.get_meta('fs')
if fs_results.has(fs_meta):
var new_state = fs_results[fs_meta]
f.state = new_state
fs_results[fs_meta] = new_state
var dkm: Dictionary = control_prd_n.block_dkm_config
if control_prd_n.current_fs == 2 and fs_results.fs_2:
$kasseta_FS_ND/ref_A4.state = STATE_VAL.GOOD if dkm.dkm_2 else STATE_VAL.ERROR
elif control_prd_n.current_fs == 3 and fs_results.fs_3:
$kasseta_FS_ND/ref_A3.state = STATE_VAL.GOOD if dkm.dkm_3 else STATE_VAL.ERROR
#if not control_prd_n.power_result['ray_25_2'] or not control_prd_n.power_result['ray_25_3']:
if 1 == 1:
return
var node_arr_power: Array = get_tree().get_nodes_in_group('power_amplifier')
for i_pow in node_arr_power.size():
if i_pow < 6:
var pw = node_arr_power[i_pow]
pw.value1 = str(control_prd_n.power_result['ray_25_2'][i_pow])
elif i_pow < 12:
var pw = node_arr_power[i_pow]
pw.value1 = str(control_prd_n.power_result['ray_25_3'][i_pow-6])
func _ready() -> void:
if Engine.is_editor_hint():
@@ -162,6 +117,7 @@ func initialize_connections() -> void:
}
control_prd_n = test.TestPRD.new(init_data)
add_child(control_prd_n)
control_prd_n.connect('control_is_over', Callable(self, 'on_control_result'))
func setup_timer() -> void:
@@ -200,28 +156,58 @@ func on_line_changed(unit_pribor: Object) -> void:
func on_mode_changed(in_tree: bool) -> void:
if not in_tree:
queue_free()
mashine_timer.stop()
signaller.emit_signal('interfer_off_all')
prd_n_module.cmd_array.append([unit_prd_n.CmdCode.WRITE_ISA, [constants_n.ADDR_UG_LITERA_1, ug_work_1, constants_n.ADDR_UG_LITERA_2, ug_work_2]])
else:
mashine_timer.start()
#
#func on_control_result() -> void:
#var result: bool = true
#
#for key in _control_results:
#if not _control_results[key]:
#if key == 'fs_1':
#$kasseta_FS_VD/ref_A3.state = STATE_VAL.ERROR
#if key == 'fs_2':
#$kasseta_FS_VD/ref_A4.state = STATE_VAL.ERROR
#result = false
#print_debug('%s false' % key)
#
#var parts = currecnt_unit.split('-')
#var last_part = parts[-1] # Прибор
#if result:
#$control_result.text = 'Прибор ПРД-%s исправен' % last_part
#$control_result.add_theme_color_override('font_color', Color.AQUAMARINE)
#else:
#$control_result.text = 'Прибор ПРД-%s неисправен' % last_part
#$control_result.add_theme_color_override('font_color', Color.CRIMSON)
#await get_tree().create_timer(Constants.TIMER_DELAY).timeout
#flag_timer_started = false
func on_control_result(result_dic: Dictionary) -> void:
mashine_timer.stop()
block_kasseta_y5_prd_config_n = control_prd_n.block_kasseta_y5_config
var nodes_y5: Array = get_tree().get_nodes_in_group('y-5')
for node_y5 in nodes_y5:
var meta_y5 = node_y5.get_meta('y5')
if block_kasseta_y5_prd_config_n.has(meta_y5):
if block_kasseta_y5_prd_config_n['yau07'] == false:
node_y5.state = STATE_VAL.ERROR if meta_y5 == 'yau07' else STATE_VAL.NONE
return
node_y5.state = STATE_VAL.GOOD if block_kasseta_y5_prd_config_n[meta_y5] else STATE_VAL.ERROR
block_ip_config_n = control_prd_n.block_ip_config
var node_ip_power_arr: Array = get_tree().get_nodes_in_group('power_supply')
for power_supply in node_ip_power_arr:
var meta_ip = power_supply.get_meta('ip')
if block_ip_config_n.has(meta_ip) and block_kasseta_y5_prd_config_n.ug:
power_supply.state = STATE_VAL.GOOD if block_ip_config_n[meta_ip][1] else STATE_VAL.ERROR
var fs_results: Dictionary = control_prd_n.block_fs_config
var fs_nodes: Array = get_tree().get_nodes_in_group('fs_group')
for f in fs_nodes:
var fs_meta: String = f.get_meta('fs')
if fs_results.has(fs_meta):
var new_state = fs_results[fs_meta]
f.state = new_state
fs_results[fs_meta] = new_state
var dkm: Dictionary = control_prd_n.block_dkm_config
if fs_results.fs_2:
$kasseta_FS_ND/ref_A4.state = STATE_VAL.GOOD if dkm.dkm_2 else STATE_VAL.ERROR
$dou2_A5.state = STATE_VAL.GOOD if result_dic.dou_2 else STATE_VAL.ERROR
if fs_results.fs_3:
$kasseta_FS_ND/ref_A3.state = STATE_VAL.GOOD if dkm.dkm_3 else STATE_VAL.ERROR
$dou3_A6.state = STATE_VAL.GOOD if result_dic.dou_3 else STATE_VAL.ERROR
var result = true
for device in result_dic.values():
if not device:
result = false
var name_prd = control_prd_n.self_name
if result:
$control_result.text = 'Прибор ПРД-%s исправен' % name_prd
$control_result.add_theme_color_override('font_color', Color.AQUAMARINE)
else:
$control_result.text = 'Прибор ПРД-%s неисправен' % name_prd
$control_result.add_theme_color_override('font_color', Color.CRIMSON)

View File

@@ -62,7 +62,7 @@ fname = "MAA2000"
rname = "A22"
metadata/ip = "maa2000_1"
[node name="dou3_A5" parent="." groups=["default_reset"] instance=ExtResource("2_is25t")]
[node name="dou2_A5" parent="." groups=["default_reset"] instance=ExtResource("2_is25t")]
layout_mode = 2
offset_left = 485.0
offset_top = 812.0
@@ -71,7 +71,7 @@ offset_bottom = 877.0
fname = "ДОУ-2"
rname = "A5"
[node name="dou2_A6" parent="." groups=["default_reset"] instance=ExtResource("2_is25t")]
[node name="dou3_A6" parent="." groups=["default_reset"] instance=ExtResource("2_is25t")]
layout_mode = 2
offset_left = 8.0
offset_top = 812.0