Merge remote-tracking branch 'origin/master-prd'
# Conflicts: # scenes/pribor-prd-k/pribor-prd-k.gd # scenes/pribor-prd-v/pribor-prd-v.gd
This commit is contained in:
@@ -77,8 +77,8 @@ var control_results_k: Dictionary = {
|
||||
'block_ip': false, # Проверка касет П1 и ИП МА2000
|
||||
'temperature': true, # Проверка температур УМ
|
||||
'dkm': false,
|
||||
'dou': false,
|
||||
'power_um': false, # Мощность от УКП
|
||||
'dou_6': false,
|
||||
'dou_7': false, # Мощность от УКП
|
||||
'fs': false,
|
||||
}
|
||||
|
||||
@@ -98,57 +98,6 @@ func _ready() -> void:
|
||||
func on_state_mashine() -> void:
|
||||
control_prd_k.state_control_machine()
|
||||
|
||||
block_kasseta_y5_prd_config_k = control_prd_k.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_k.has(meta_y5):
|
||||
if block_kasseta_y5_prd_config_k['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_k[meta_y5] else STATE_VAL.ERROR
|
||||
|
||||
block_ip_config_k = control_prd_k.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_k.has(meta_ip) and block_kasseta_y5_prd_config_k.ug:
|
||||
power_supply.state = STATE_VAL.GOOD if block_ip_config_k[meta_ip][1] else STATE_VAL.ERROR
|
||||
|
||||
var fs_results: Dictionary = control_prd_k.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_k.block_dkm_config
|
||||
if control_prd_k.current_fs == 1 and fs_results.fs_1:
|
||||
$kasseta_fs_kd/ref_A2.state = STATE_VAL.GOOD if dkm.dkm_1 else STATE_VAL.ERROR
|
||||
elif control_prd_k.current_fs == 6 and fs_results.fs_6:
|
||||
$kasseta_fs_kd/ref_A4.state = STATE_VAL.GOOD if dkm.dkm_6 else STATE_VAL.ERROR
|
||||
elif control_prd_k.current_fs == 7 and fs_results.fs_7:
|
||||
$kasseta_fs_kd/ref_A7.state = STATE_VAL.GOOD if dkm.dkm_7 else STATE_VAL.ERROR
|
||||
|
||||
#if not control_prd_k.power_result['ray_25_1'] or not control_prd_k.power_result['ray_25_6'] or not control_prd_k.power_result['ray_25_7']:
|
||||
#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 < 1:
|
||||
var pw = node_arr_power[i_pow]
|
||||
pw.value1 = str(control_prd_k.power_result['ray_25_1'][i_pow])
|
||||
elif i_pow < 7:
|
||||
var pw = node_arr_power[i_pow]
|
||||
pw.value1 = str(control_prd_k.power_result['ray_25_6'][i_pow-1])
|
||||
elif i_pow < 13:
|
||||
var pw = node_arr_power[i_pow]
|
||||
pw.value1 = str(control_prd_k.power_result['ray_25_7'][i_pow-7])
|
||||
|
||||
|
||||
func initialize_connections() -> void:
|
||||
var unit_name = get_meta('unit_name')[0]
|
||||
@@ -174,6 +123,7 @@ func initialize_connections() -> void:
|
||||
}
|
||||
control_prd_k = test.TestPRD.new(init_data)
|
||||
add_child(control_prd_k)
|
||||
control_prd_k.connect('control_is_over', Callable(self, 'on_control_result'))
|
||||
|
||||
|
||||
func setup_timer() -> void:
|
||||
@@ -212,38 +162,60 @@ 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_k_module.cmd_array.append([unit_prd_k.CmdCode.WRITE_ISA, [constants_k.ADDR_UG_LITERA_1, ug_work_1, constants_k.ADDR_UG_LITERA_2, ug_work_2, constants_k.ADDR_UG_LITERA_3, ug_work_3]])
|
||||
signaller.emit_signal('interfer_off_all')
|
||||
else:
|
||||
mashine_timer.start()
|
||||
|
||||
#
|
||||
#func on_control_result() -> void:
|
||||
#var pribor = 'her'
|
||||
#var all_blocks_ok = true
|
||||
#for block in block_ip_config_k:
|
||||
#if not block_ip_config_k[block][1]:
|
||||
#all_blocks_ok = false
|
||||
#break
|
||||
#control_results_k['block_ip'] = all_blocks_ok
|
||||
|
||||
## Словарь соответствия ключей ошибок и нод
|
||||
#var error_nodes := {
|
||||
#'fs_1': $kasseta_fs_kd/ref_A3,
|
||||
#'fs_6': $kasseta_fs_kd/ref_A6,
|
||||
#'fs_7': $kasseta_fs_kd/ref_A5
|
||||
#}
|
||||
## Проверка результатов и установка состояний
|
||||
#var result: bool = true
|
||||
#for key in control_results_k:
|
||||
#if not control_results_k[key]:
|
||||
#result = false
|
||||
#if error_nodes.has(key):
|
||||
#error_nodes[key].state = STATE_VAL.ERROR
|
||||
#
|
||||
## Установка текста и цвета результата
|
||||
#var status_text := 'неисправен'
|
||||
#var status_color := Color.RED
|
||||
#if result:
|
||||
#status_text = 'исправен'
|
||||
#status_color = Color.GREEN
|
||||
#
|
||||
#$control_result.text = 'Прибор ПРД-%s %s' % [pribor, status_text]
|
||||
#$control_result.add_theme_color_override('font_color', status_color)
|
||||
func on_control_result(result_dic: Dictionary) -> void:
|
||||
mashine_timer.stop()
|
||||
block_kasseta_y5_prd_config_k = control_prd_k.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_k.has(meta_y5):
|
||||
if block_kasseta_y5_prd_config_k['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_k[meta_y5] else STATE_VAL.ERROR
|
||||
|
||||
block_ip_config_k = control_prd_k.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_k.has(meta_ip) and block_kasseta_y5_prd_config_k.ug:
|
||||
power_supply.state = STATE_VAL.GOOD if block_ip_config_k[meta_ip][1] else STATE_VAL.ERROR
|
||||
|
||||
var fs_results: Dictionary = control_prd_k.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_k.block_dkm_config
|
||||
if fs_results.fs_1:
|
||||
$kasseta_fs_kd/ref_A2.state = STATE_VAL.GOOD if dkm.dkm_1 else STATE_VAL.ERROR
|
||||
if fs_results.fs_6:
|
||||
$kasseta_fs_kd/ref_A4.state = STATE_VAL.GOOD if dkm.dkm_6 else STATE_VAL.ERROR
|
||||
$dou6_A7.state = STATE_VAL.GOOD if result_dic.dou_6 else STATE_VAL.ERROR
|
||||
if fs_results.fs_7:
|
||||
$kasseta_fs_kd/ref_A7.state = STATE_VAL.GOOD if dkm.dkm_7 else STATE_VAL.ERROR
|
||||
$dou7_A8.state = STATE_VAL.GOOD if result_dic.dou_7 else STATE_VAL.ERROR
|
||||
|
||||
var result = true
|
||||
for device in result_dic.values():
|
||||
if not device:
|
||||
result = false
|
||||
|
||||
var name_prd = control_prd_k.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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -64,13 +64,13 @@ class TestPRD extends Node:
|
||||
var state: int = STATE_MASHINE.INIT
|
||||
var current_fs: int
|
||||
var flag_timer_started: bool = false
|
||||
#var ug_online: bool
|
||||
var unit_prd: Object
|
||||
var module_prd: Object
|
||||
var power_amplify: Array
|
||||
var control_label: Label
|
||||
var control_timer: Timer = Timer.new()
|
||||
var ems_6666_timer: Timer = Timer.new()
|
||||
signal control_is_over(control_results)
|
||||
|
||||
|
||||
## Инициализация аргуметнов
|
||||
@@ -85,9 +85,9 @@ class TestPRD extends Node:
|
||||
block_ip_config = init_data['block_ip_prd_config']
|
||||
block_dkm_config = init_data['block_dkm_prd_config']
|
||||
block_fs_config = init_data['block_fs_prd_config']
|
||||
block_kasseta_y5_config = init_data['block_kasseta_y5_prd_config']
|
||||
control_results = init_data['control_results']
|
||||
current_fs = init_data['current_fs']
|
||||
block_kasseta_y5_config = init_data['block_kasseta_y5_prd_config']
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@@ -171,6 +171,8 @@ 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:
|
||||
if not current_fs == 1:
|
||||
control_results = check_dou_result(control_results, power_result, self_name, current_fs, constants)
|
||||
state = STATE_MASHINE.IN_EMS_STOP
|
||||
elif unit_prd.isa_ports[addr] & 0x07 == 6:
|
||||
state = STATE_MASHINE.UG_SET_RAY_0
|
||||
@@ -209,9 +211,9 @@ class TestPRD extends Node:
|
||||
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, power_result, self_name, constants)
|
||||
control_results = on_control_result(block_ip_config, block_dkm_config, block_fs_config, control_results)
|
||||
emit_signal('control_is_over', control_results)
|
||||
state = STATE_MASHINE.AWAIT
|
||||
#print_debug(power_result)
|
||||
|
||||
|
||||
func _handle_fs_turn_on_state() -> void:
|
||||
@@ -312,7 +314,7 @@ class TestPRD extends Node:
|
||||
control_timer.one_shot = true
|
||||
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
|
||||
@@ -341,18 +343,6 @@ class TestPRD extends Node:
|
||||
_: return -1
|
||||
|
||||
|
||||
func _get_dkm_key_for_current_fs() -> String:
|
||||
match current_fs:
|
||||
1: return 'dkm_1'
|
||||
2: return 'dkm_2'
|
||||
3: return 'dkm_3'
|
||||
4: return 'dkm_4'
|
||||
5: return 'dkm_5'
|
||||
6: return 'dkm_6'
|
||||
7: return 'dkm_7'
|
||||
_: return ''
|
||||
|
||||
|
||||
static func _get_ray_key(machine_state: int) -> String:
|
||||
match machine_state:
|
||||
STATE_MASHINE.UG_SET_RAY_0: return RAY_m5
|
||||
@@ -368,11 +358,10 @@ 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, power_config: Dictionary, pribor: String, cnstnt: Dictionary) -> Dictionary:
|
||||
static func on_control_result(ip_config: Dictionary, dkm_config: Dictionary, fs_config: Dictionary, ctrl_results: 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]:
|
||||
@@ -388,31 +377,6 @@ 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
|
||||
|
||||
|
||||
@@ -655,3 +619,33 @@ class TestPRD extends Node:
|
||||
max_power_values[i] = power_data[i]
|
||||
|
||||
return max_power_values.duplicate()
|
||||
|
||||
|
||||
static func check_dou_result(control_dic: Dictionary, power_dic: Dictionary, pribor: String, cur_prd: int, cnst: Dictionary) -> Dictionary:
|
||||
var all_dou_ok = true
|
||||
var dou: String = 'dou_2' if cur_prd == 2 else 'dou_3'
|
||||
if pribor == '1к' or pribor == '2к' or pribor == '3к' or pribor == '4к':
|
||||
dou = 'dou_6' if cur_prd == 6 else 'dou_7'
|
||||
elif pribor == '1в' or pribor == '2в' or pribor == '3в' or pribor == '4в':
|
||||
dou = 'dou_4' if cur_prd == 5 else 'dou_5'
|
||||
|
||||
var ray_dic: Dictionary = power_dic[cur_prd]
|
||||
if ray_dic[RAY_m5].size() == 0 or \
|
||||
ray_dic[RAY_5 ].size() == 0 or \
|
||||
ray_dic[RAY_15].size() == 0 or \
|
||||
ray_dic[RAY_25].size() == 0 or \
|
||||
ray_dic[RAY_35].size() == 0 or \
|
||||
ray_dic[RAY_45].size() == 0:
|
||||
control_dic[dou] = false
|
||||
return control_dic
|
||||
|
||||
for i_pow_arr in ray_dic.values():
|
||||
for i_pow in i_pow_arr.size():
|
||||
if i_pow_arr[i_pow] < cnst.POWER_THRESHOLD:
|
||||
print_debug('dou_%s: false' % cur_prd)
|
||||
all_dou_ok = false
|
||||
|
||||
print([cur_prd, ray_dic])
|
||||
control_dic[dou] = all_dou_ok
|
||||
|
||||
return control_dic
|
||||
|
||||
Reference in New Issue
Block a user