рефактор
This commit is contained in:
@@ -71,8 +71,8 @@ var control_results_v: Dictionary = {
|
||||
'block_ip': false, # Проверка касет П1 и ИП МА2000
|
||||
'temperature': true, # Проверка температур УМ
|
||||
'dkm': false,
|
||||
'dou': false,
|
||||
'power_um': false, # Мощность от УКП
|
||||
'dou_4': false,
|
||||
'dou_5': false,
|
||||
'fs': false,
|
||||
}
|
||||
var test = preload('res://scripts/pribor-prd.gd')
|
||||
@@ -81,52 +81,6 @@ var test = preload('res://scripts/pribor-prd.gd')
|
||||
func on_state_mashine() -> void:
|
||||
control_prd_v.state_control_machine()
|
||||
|
||||
block_kasseta_y5_prd_config_v = control_prd_v.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_v.has(meta_y5):
|
||||
if block_kasseta_y5_prd_config_v['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_v[meta_y5] else STATE_VAL.ERROR
|
||||
|
||||
block_ip_config_v = control_prd_v.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_v.has(meta_ip) and block_kasseta_y5_prd_config_v.ug:
|
||||
power_supply.state = STATE_VAL.GOOD if block_ip_config_v[meta_ip][1] else STATE_VAL.ERROR
|
||||
|
||||
var fs_results: Dictionary = control_prd_v.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_v.block_dkm_config
|
||||
if control_prd_v.current_fs == 4 and fs_results.fs_4:
|
||||
$kasseta_FS_VD/ref_A2.state = STATE_VAL.GOOD if dkm.dkm_4 else STATE_VAL.ERROR
|
||||
elif control_prd_v.current_fs == 5 and fs_results.fs_5:
|
||||
$kasseta_FS_VD/ref_A6.state = STATE_VAL.GOOD if dkm.dkm_5 else STATE_VAL.ERROR
|
||||
|
||||
#if not control_prd_v.power_result['ray_25_4'] or not control_prd_v.power_result['ray_25_5']:
|
||||
#return
|
||||
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_v.power_result['ray_25_4'][i_pow])
|
||||
elif i_pow < 12:
|
||||
var pw = node_arr_power[i_pow]
|
||||
pw.value1 = str(control_prd_v.power_result['ray_25_5'][i_pow-6])
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
if Engine.is_editor_hint():
|
||||
@@ -161,6 +115,7 @@ func initialize_connections() -> void:
|
||||
}
|
||||
control_prd_v = test.TestPRD.new(init_data)
|
||||
add_child(control_prd_v)
|
||||
control_prd_v.connect('control_is_over', Callable(self, 'on_control_result'))
|
||||
|
||||
|
||||
func setup_timer() -> void:
|
||||
@@ -199,28 +154,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()
|
||||
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]])
|
||||
signaller.emit_signal('interfer_off_all')
|
||||
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_v = control_prd_v.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_v.has(meta_y5):
|
||||
if block_kasseta_y5_prd_config_v['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_v[meta_y5] else STATE_VAL.ERROR
|
||||
|
||||
block_ip_config_v = control_prd_v.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_v.has(meta_ip) and block_kasseta_y5_prd_config_v.ug:
|
||||
power_supply.state = STATE_VAL.GOOD if block_ip_config_v[meta_ip][1] else STATE_VAL.ERROR
|
||||
|
||||
var fs_results: Dictionary = control_prd_v.block_fs_config
|
||||
var dkm: Dictionary = control_prd_v.block_dkm_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
|
||||
|
||||
if fs_results.fs_4:
|
||||
$kasseta_FS_VD/ref_A2.state = STATE_VAL.GOOD if dkm.dkm_4 else STATE_VAL.ERROR
|
||||
$dou4_A5.state = STATE_VAL.GOOD if result_dic.dou_4 else STATE_VAL.ERROR
|
||||
if fs_results.fs_5:
|
||||
$kasseta_FS_VD/ref_A6.state = STATE_VAL.GOOD if dkm.dkm_5 else STATE_VAL.ERROR
|
||||
$dou5_A6.state = STATE_VAL.GOOD if result_dic.dou_5 else STATE_VAL.ERROR
|
||||
|
||||
var result = true
|
||||
for device in result_dic.values():
|
||||
if not device:
|
||||
result = false
|
||||
|
||||
var name_prd = control_prd_v.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)
|
||||
|
||||
Reference in New Issue
Block a user