выезд 24.10.2025. Промежуточные соханения

This commit is contained in:
Maxim
2025-10-24 08:39:04 +03:00
parent 633376f37a
commit 8a7e0c040b
13 changed files with 686 additions and 157 deletions

View File

@@ -33,6 +33,7 @@ offset_right = 55.0
offset_bottom = 183.0
fname = "Блок ФС-1"
rname = "A4"
metadata/case = 2
[node name="ref_A3" parent="." groups=["case", "default_reset", "fs_group"] instance=ExtResource("3_kqnvt")]
offset_left = 55.0
@@ -42,6 +43,7 @@ offset_bottom = 183.0
fname = "Модуль ФС"
rname = "A1"
metadata/fs = "fs_1"
metadata/case = 3
[node name="ref_A4" parent="." groups=["case", "default_reset"] instance=ExtResource("3_kqnvt")]
offset_left = 105.0
@@ -50,6 +52,7 @@ offset_right = 155.0
offset_bottom = 183.0
fname = "Блок ФС-2"
rname = "A2"
metadata/case = 0
[node name="ref_A6" parent="." groups=["case", "default_reset", "fs_group"] instance=ExtResource("3_kqnvt")]
offset_left = 155.0
@@ -59,6 +62,7 @@ offset_bottom = 183.0
fname = "Модуль ФС"
rname = "A5"
metadata/fs = "fs_6"
metadata/case = 4
[node name="ref_A5" parent="." groups=["case", "default_reset", "fs_group"] instance=ExtResource("3_kqnvt")]
offset_left = 205.0
@@ -68,6 +72,7 @@ offset_bottom = 183.0
fname = "Модуль ФС"
rname = "A3"
metadata/fs = "fs_7"
metadata/case = 3
[node name="ref_A7" parent="." groups=["case", "default_reset"] instance=ExtResource("3_kqnvt")]
offset_left = 255.0
@@ -76,3 +81,4 @@ offset_right = 305.0
offset_bottom = 183.0
fname = "Блок ФС-6"
rname = "A6"
metadata/case = 5

View File

@@ -95,9 +95,9 @@ func _ready() -> void:
func _on_element_hover(case_node: Node) -> void:
$ref_ZZ4.visible = true
var case_mata = case_node.get_meta('case')
if not case_mata: return
$ref_ZZ4/label.text = 'Ящик - %s Позиция - %s' % [case_mata, case_mata+3]
if 'case' in case_node.get_meta_list():
var case_mata = case_node.get_meta('case')
$ref_ZZ4/label.text = 'Ящик - %s Позиция - %s' % [case_mata, case_mata+3]
func _on_element_unhover() -> void:
@@ -164,6 +164,7 @@ func _exit_tree() -> void:
if Engine.is_editor_hint():
return
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')
func on_line_changed(unit_pribor: Object) -> void:
@@ -255,9 +256,4 @@ func on_control_result(result_dic: Dictionary, power_dic: Dictionary) -> void:
result = false
var name_prd = control_prd_k.self_name
if result:
$ref_ZZ4/label.text = 'Прибор ПРД-%s исправен' % name_prd
$ref_ZZ4/label.add_theme_color_override('font_color', Color.GREEN)
else:
$ref_ZZ4/label.text = 'Прибор ПРД-%s неисправен' % name_prd
$ref_ZZ4/label.add_theme_color_override('font_color', Color.RED)
log.message(Logger.INFO, 'Прибор ПРД-%s %s' % [name_prd, ['неисправен', 'исправен'][int(result)]])

View File

@@ -35,6 +35,7 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A28"
metadata/ip = "maa2000_1"
metadata/case = 1
[node name="dou6_A7" parent="." groups=["case", "default_reset"] instance=ExtResource("1_8dmgr")]
layout_mode = 0
@@ -44,6 +45,7 @@ offset_right = 175.0
offset_bottom = 907.0
fname = "ДОУ-6"
rname = "A7"
metadata/case = 3
[node name="maa2000_A23" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("1_8dmgr")]
layout_mode = 0
@@ -54,6 +56,7 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A27"
metadata/ip = "maa2000_2"
metadata/case = 4
[node name="dou7_A8" parent="." groups=["case", "default_reset"] instance=ExtResource("1_8dmgr")]
layout_mode = 0
@@ -63,6 +66,7 @@ offset_right = 175.0
offset_bottom = 860.0
fname = "ДОУ-7"
rname = "A8"
metadata/case = 2
[node name="ref_ZZ3" type="NinePatchRect" parent="."]
layout_mode = 0
@@ -100,6 +104,7 @@ rname = "A10"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_1"
metadata/case = 0
[node name="um1535_A11" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
@@ -112,6 +117,7 @@ rname = "A11"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_2"
metadata/case = 7
[node name="um1535_A12" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
@@ -124,6 +130,7 @@ rname = "A12"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_3"
metadata/case = 8
[node name="um1535_A13" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
@@ -136,6 +143,7 @@ rname = "A13"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_4"
metadata/case = 9
[node name="um1535_A14" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
@@ -148,6 +156,7 @@ rname = "A14"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_5"
metadata/case = 11
[node name="um1535_A15" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
@@ -160,6 +169,7 @@ rname = "A15"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_6"
metadata/case = 12
[node name="utm80_A9" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
@@ -172,6 +182,7 @@ rname = "A9"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_7"
metadata/case = 13
[node name="rm1620m_A16" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
@@ -184,6 +195,7 @@ rname = "A16"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_8"
metadata/case = 1
[node name="rm1620m_A17" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
@@ -196,6 +208,7 @@ rname = "A17"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_9"
metadata/case = 2
[node name="rm1620m_A18" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
@@ -208,6 +221,7 @@ rname = "A18"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_10"
metadata/case = 3
[node name="rm1620m_A19" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
@@ -220,6 +234,7 @@ rname = "A19"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_11"
metadata/case = 4
[node name="rm1620m_A20" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
@@ -232,6 +247,7 @@ rname = "A20"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_12"
metadata/case = 5
[node name="rm1620m_A21" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
@@ -244,6 +260,7 @@ rname = "A21"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_13"
metadata/case = 6
[node name="kasseta_fs_kd" parent="." instance=ExtResource("7_ia27q")]
layout_mode = 0
@@ -275,6 +292,7 @@ offset_bottom = 183.0
fname = "ИП9-50"
rname = "A23"
metadata/ip = "ip9_50_1"
metadata/case = 0
[node name="ref_A23" parent="kasseta_p_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("8_la5yt")]
offset_left = 59.0
@@ -284,6 +302,7 @@ offset_bottom = 183.0
fname = "ИП9-50"
rname = "A24"
metadata/ip = "ip9_50_2"
metadata/case = 1
[node name="ref_A24" parent="kasseta_p_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("8_la5yt")]
offset_left = 109.0
@@ -293,6 +312,7 @@ offset_bottom = 183.0
fname = "ИП12-50"
rname = "A26"
metadata/ip = "ip12_50_1"
metadata/case = 3
[node name="lbl_fname" type="Label" parent="kasseta_p_1"]
self_modulate = Color(1, 1, 1, 0.62)

View File

@@ -53,7 +53,7 @@ var start_litera: int = 2
var ug_work_1: int = 2 ## Аттенюация усилителей мощности
var ug_work_2: int = 3 ## Аттенюация усилителей мощности
# Флаги и таймеры
var mashine_timer: Timer = Timer.new()
var machine_timer: Timer = Timer.new()
var prd_n_module: Object
var unit_prd_n: Object
var control_prd_n: Object
@@ -95,9 +95,9 @@ func _ready() -> void:
func _on_element_hover(case_node: Node) -> void:
$ref_ZZ4.visible = true
var case_mata = case_node.get_meta('case')
if not case_mata: return
$ref_ZZ4/label.text = 'Ящик - %s Позиция - %s' % [case_mata, case_mata+3]
if 'case' in case_node.get_meta_list():
var case_mata = case_node.get_meta('case')
$ref_ZZ4/label.text = 'Ящик - %s Позиция - %s' % [case_mata, case_mata+3]
func _on_element_unhover() -> void:
@@ -130,10 +130,10 @@ func initialize_connections() -> void:
func setup_timer() -> void:
add_child(mashine_timer)
mashine_timer.connect('timeout', Callable(self, 'on_state_mashine'))
mashine_timer.wait_time = constants_n.STATE_MASHINE_TIMER
mashine_timer.start()
add_child(machine_timer)
machine_timer.connect('timeout', Callable(self, 'on_state_mashine'))
machine_timer.wait_time = constants_n.STATE_MASHINE_TIMER
machine_timer.start()
func set_default_state() -> void:
@@ -160,6 +160,7 @@ func _exit_tree() -> void:
if Engine.is_editor_hint():
return
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]])
signaller.emit_signal('interfer_off_all')
func on_line_changed(unit_pribor: Object) -> void:
@@ -169,13 +170,13 @@ func on_line_changed(unit_pribor: Object) -> void:
func on_mode_changed(in_tree: bool) -> void:
if not in_tree:
mashine_timer.stop()
machine_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:
set_default_state()
control_prd_n.state = control_prd_n.STATE_MASHINE.INIT
mashine_timer.start()
machine_timer.start()
func power_fill(pow_dic: Dictionary, fs_result: Dictionary) -> void:
@@ -198,7 +199,7 @@ func power_fill(pow_dic: Dictionary, fs_result: Dictionary) -> void:
func on_control_result(result_dic: Dictionary, power_dic: Dictionary) -> void:
mashine_timer.stop()
machine_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:
@@ -243,9 +244,4 @@ func on_control_result(result_dic: Dictionary, power_dic: Dictionary) -> void:
result = false
var name_prd = control_prd_n.self_name
if result:
$ref_ZZ4/label.text = 'Прибор ПРД-%s исправен' % name_prd
#$ref_ZZ4/label.add_theme_color_override('font_color', Color.GREEN)
else:
$ref_ZZ4/label.text = 'Прибор ПРД-%s неисправен' % name_prd
#$ref_ZZ4/label.add_theme_color_override('font_color', Color.RED)
log.message(Logger.INFO, 'Прибор ПРД-%s %s' % [name_prd, ['неисправен', 'исправен'][int(result)]])

View File

@@ -26,6 +26,7 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A23"
metadata/ip = "maa2000_2"
metadata/case = 1
[node name="maa2000_A22" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("2_is25t")]
layout_mode = 2
@@ -36,6 +37,7 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A22"
metadata/ip = "maa2000_1"
metadata/case = 0
[node name="dou2_A5" parent="." groups=["case", "default_reset"] instance=ExtResource("2_is25t")]
layout_mode = 2
@@ -45,6 +47,7 @@ offset_right = 652.0
offset_bottom = 877.0
fname = "ДОУ-2"
rname = "A5"
metadata/case = 0
[node name="dou3_A6" parent="." groups=["case", "default_reset"] instance=ExtResource("2_is25t")]
layout_mode = 2
@@ -54,6 +57,7 @@ offset_right = 175.0
offset_bottom = 877.0
fname = "ДОУ-3"
rname = "A6"
metadata/case = 2
[node name="ref_ZZ3" type="NinePatchRect" parent="."]
layout_mode = 0
@@ -119,6 +123,7 @@ offset_right = 105.0
offset_bottom = 182.0
fname = "Блок ФС-3"
rname = "A3"
metadata/case = 11
[node name="ref_A1" parent="kasseta_FS_ND" groups=["case", "default_reset", "fs_group"] instance=ExtResource("7_eoqf2")]
offset_left = 105.0
@@ -128,6 +133,7 @@ offset_bottom = 182.0
fname = "Модуль ФС"
rname = "A1"
metadata/fs = "fs_3"
metadata/case = 11
[node name="ref_A2" parent="kasseta_FS_ND" groups=["case", "default_reset", "fs_group"] instance=ExtResource("7_eoqf2")]
offset_left = 155.0
@@ -137,6 +143,7 @@ offset_bottom = 182.0
fname = "Модуль ФС"
rname = "A2"
metadata/fs = "fs_2"
metadata/case = 11
[node name="ref_A4" parent="kasseta_FS_ND" groups=["case", "default_reset"] instance=ExtResource("7_eoqf2")]
offset_left = 205.0
@@ -145,6 +152,7 @@ offset_right = 255.0
offset_bottom = 182.0
fname = "Блок ФС-2"
rname = "A4"
metadata/case = 11
[node name="kasseta_P_1" type="NinePatchRect" parent="."]
layout_mode = 0
@@ -168,6 +176,7 @@ offset_bottom = 183.0
fname = "ИП12-50"
rname = "A21"
metadata/ip = "ip12_50_1"
metadata/case = 11
[node name="ref_A20" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_eoqf2")]
offset_left = 59.0
@@ -177,6 +186,7 @@ offset_bottom = 183.0
fname = "ИП9-50"
rname = "A20"
metadata/ip = "ip9_50_1"
metadata/case = 11
[node name="ref_A19" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_eoqf2")]
offset_left = 109.0
@@ -186,6 +196,7 @@ offset_bottom = 183.0
fname = "ИП9-50"
rname = "A19"
metadata/ip = "ip9_50_2"
metadata/case = 11
[node name="lbl_fname" type="Label" parent="kasseta_P_1"]
self_modulate = Color(1, 1, 1, 0.62)
@@ -209,6 +220,7 @@ rname = "A7"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_1"
metadata/case = 11
[node name="um1535_A8" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
@@ -221,6 +233,7 @@ rname = "A8"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_2"
metadata/case = 11
[node name="um1535_A9" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
@@ -233,6 +246,7 @@ rname = "A9"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_3"
metadata/case = 11
[node name="um1535_A10" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
@@ -245,6 +259,7 @@ rname = "A10"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_4"
metadata/case = 11
[node name="um1535_A11" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
@@ -257,6 +272,7 @@ rname = "A11"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_5"
metadata/case = 11
[node name="um1535_A12" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
@@ -269,6 +285,7 @@ rname = "A12"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_6"
metadata/case = 11
[node name="um1535_A13" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
@@ -281,6 +298,7 @@ rname = "A13"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_7"
metadata/case = 11
[node name="um1535_A14" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
@@ -293,6 +311,7 @@ rname = "A14"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_8"
metadata/case = 11
[node name="um1535_A15" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
@@ -305,6 +324,7 @@ rname = "A15"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_9"
metadata/case = 11
[node name="um1535_A16" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
@@ -317,6 +337,7 @@ rname = "A16"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_10"
metadata/case = 11
[node name="um1535_A17" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
@@ -329,6 +350,7 @@ rname = "A17"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_11"
metadata/case = 11
[node name="um1535_A18" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
@@ -341,6 +363,7 @@ rname = "A18"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_12"
metadata/case = 11
[node name="ref_ZZ4" type="NinePatchRect" parent="."]
layout_mode = 0

View File

@@ -91,9 +91,9 @@ func _ready() -> void:
func _on_element_hover(case_node: Node) -> void:
$ref_ZZ4.visible = true
var case_mata = case_node.get_meta('case')
if not case_mata: return
$ref_ZZ4/label.text = 'Ящик - %s Позиция - %s' % [case_mata, case_mata+3]
if 'case' in case_node.get_meta_list():
var case_mata = case_node.get_meta('case')
$ref_ZZ4/label.text = 'Ящик - %s Позиция - %s' % [case_mata, case_mata+3]
func _on_element_unhover() -> void:
@@ -157,6 +157,7 @@ func _exit_tree() -> void:
if Engine.is_editor_hint():
return
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')
func on_line_changed(unit_pribor: Object) -> void:
@@ -237,9 +238,4 @@ func on_control_result(result_dic: Dictionary, power_dic: Dictionary) -> void:
result = false
var name_prd = control_prd_v.self_name
if result:
$ref_ZZ4/label.text = 'Прибор ПРД-%s исправен' % name_prd
#$ref_ZZ4/label.add_theme_color_override('font_color', Color.GREEN)
else:
$ref_ZZ4/label.text = 'Прибор ПРД-%s неисправен' % name_prd
#$ref_ZZ4/label.add_theme_color_override('font_color', Color.RED)
log.message(Logger.INFO, 'Прибор ПРД-%s %s' % [name_prd, ['неисправен', 'исправен'][int(result)]])

View File

@@ -22,6 +22,7 @@ offset_bottom = 180.0
fname = "ИП9-50"
rname = "A22"
metadata/ip = "ip9_50_3"
metadata/case = 1
[node name="ref_A23" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("3_4a27g")]
offset_left = 60.0
@@ -31,6 +32,7 @@ offset_bottom = 180.0
fname = "ИП12-50"
rname = "A25"
metadata/ip = "ip12_50_2"
metadata/case = 2
[node name="lbl_fname" type="Label" parent="."]
self_modulate = Color(1, 1, 1, 0.62)

View File

@@ -33,6 +33,7 @@ offset_bottom = 182.0
fname = "ИП5-25"
rname = "A31"
metadata/ip = "ip5_25"
metadata/case = 1
[node name="ref_A30" parent="." groups=["case", "y-5"] instance=ExtResource("3_wtlpi")]
offset_left = 55.0
@@ -42,6 +43,7 @@ offset_bottom = 182.0
fname = "ЯУ-07Б"
rname = "A37"
metadata/y5 = "yau07"
metadata/case = 2
[node name="ref_A26" parent="." groups=["case", "y-5"] instance=ExtResource("3_wtlpi")]
offset_left = 105.0
@@ -51,6 +53,7 @@ offset_bottom = 182.0
fname = "ЭМС-Г"
rname = "A33"
metadata/y5 = "ems"
metadata/case = 3
[node name="ref_A27" parent="." groups=["case", "y-5"] instance=ExtResource("3_wtlpi")]
offset_left = 155.0
@@ -60,6 +63,7 @@ offset_bottom = 182.0
fname = "УГ"
rname = "A34"
metadata/y5 = "ug"
metadata/case = 0
[node name="ref_A28" parent="." groups=["case", "y-5"] instance=ExtResource("3_wtlpi")]
offset_left = 205.0
@@ -69,6 +73,7 @@ offset_bottom = 182.0
fname = "УКП"
rname = "A35"
metadata/y5 = "ukp1"
metadata/case = 4
[node name="ref_A29" parent="." groups=["case", "y-5"] instance=ExtResource("3_wtlpi")]
offset_left = 254.0
@@ -78,3 +83,4 @@ offset_bottom = 182.0
fname = "УКП"
rname = "A36"
metadata/y5 = "ukp2"
metadata/case = 5

View File

@@ -33,7 +33,7 @@ offset_bottom = 182.0
fname = "ИП5-25"
rname = "A24"
metadata/ip = "ip5_25"
metadata/case = 0
metadata/case = 1
[node name="ref_A30" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")]
offset_left = 55.0
@@ -43,7 +43,7 @@ offset_bottom = 182.0
fname = "ЯУ-07Б"
rname = "A30"
metadata/y5 = "yau07"
metadata/case = 0
metadata/case = 2
[node name="ref_A26" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")]
offset_left = 105.0
@@ -63,7 +63,7 @@ offset_bottom = 182.0
fname = "УГ"
rname = "A27"
metadata/y5 = "ug"
metadata/case = 0
metadata/case = 2
[node name="ref_A28" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")]
offset_left = 205.0
@@ -73,7 +73,7 @@ offset_bottom = 182.0
fname = "УКП"
rname = "A28"
metadata/y5 = "ukp1"
metadata/case = 0
metadata/case = 1
[node name="ref_A29" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")]
offset_left = 254.0

View File

@@ -24,7 +24,10 @@ func update_progress_bar(target_value) -> void:
set(v):
progress_value = v
if is_inside_tree():
update_progress_bar(v)
#$progress.value = progress_value
#update_progress_bar(v)
var result = (progress_value/20.0) * 100.0
$progress.tooltip_text = 'Процесс контроля %s' % progress_value + '%'
@export var progress_visible: bool:

View File

@@ -85,7 +85,7 @@ func _ready():
for item in unit_names:
if prd.prd_dict.has(item):
var prd_module = prd.prd_dict[item]
prd_module.connect('update_progress', Callable(self, 'update_serviceability').bind(prd_module, pribor_node))
prd_module.unit_control.connect('update_progress', Callable(self, 'on_update_progress').bind(pribor_node))
prd_module.connect('update_serviceability', Callable(self, 'on_update_serviceability').bind(prd_module, pribor_node))
if item == 'уарэп-эмс':
signaller.connect('update_uf_serviceability', Callable(self, 'on_update_uf_serviceability').bind(pribor_node))
@@ -149,9 +149,17 @@ func on_update_uf_serviceability(uf_serviceaability: bool, uf_pribor: Node)-> vo
uf_pribor.state = 1 if uf_serviceaability else 2
func update_serviceability(prd_module: Object, prd_pribor:Node) -> void:
prd_pribor.progress_visible = prd_module.progress_value > 0
prd_pribor.progress_value = prd_module.progress_value
func _on_control_prd_pressed() -> void:
var prim = prd.prd_dict['уарэп-яу07-1н'].unit_control
prim.machine_timer.start()
func on_update_progress(value_progress: float, pribor_node: Node) -> void: # Пока не надо
print([pribor_node.get_meta('unit_name'), value_progress])
var progress = get_node('pribor_prd_n_1/progress')
progress.value = value_progress
pribor_node.progress_value = value_progress
pribor_node.progress_visible = value_progress > 0
"
[sub_resource type="SpriteFrames" id="SpriteFrames_foasq"]
@@ -406,7 +414,6 @@ frame_progress = 0.72355
script = ExtResource("11_u7tym")
[node name="progress" type="TextureProgressBar" parent="pribor_prd_n_1"]
visible = false
layout_mode = 0
offset_left = -4.0
offset_top = 123.0
@@ -418,7 +425,9 @@ tooltip_text = "
Состояние процесса контрля прибора
"
mouse_filter = 0
max_value = 30.0
max_value = 20.0
step = 0.1
value = 3.0
nine_patch_stretch = true
stretch_margin_left = 2
stretch_margin_top = 2
@@ -781,6 +790,31 @@ sprite_frames = SubResource("SpriteFrames_foasq")
frame_progress = 0.72355
script = ExtResource("11_u7tym")
[node name="progress" type="TextureProgressBar" parent="pribor_prd_v_2"]
visible = false
layout_mode = 0
offset_left = -4.0
offset_top = 123.0
offset_right = 89.0
offset_bottom = 131.0
size_flags_horizontal = 3
size_flags_vertical = 3
tooltip_text = "
Состояние процесса контрля прибора
"
mouse_filter = 0
max_value = 20.0
nine_patch_stretch = true
stretch_margin_left = 2
stretch_margin_top = 2
stretch_margin_right = 2
stretch_margin_bottom = 2
texture_under = ExtResource("9_w6m6a")
texture_progress = ExtResource("10_lbx5w")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
metadata/_edit_lock_ = true
[node name="pribor_prd_n_2" type="TextureButton" parent="." groups=["pribor_buttons"]]
editor_description = "Кнопка для выбора прибора."
layout_mode = 0
@@ -835,6 +869,31 @@ sprite_frames = SubResource("SpriteFrames_foasq")
frame_progress = 0.72355
script = ExtResource("11_u7tym")
[node name="progress" type="TextureProgressBar" parent="pribor_prd_n_2"]
visible = false
layout_mode = 0
offset_left = -4.0
offset_top = 123.0
offset_right = 89.0
offset_bottom = 131.0
size_flags_horizontal = 3
size_flags_vertical = 3
tooltip_text = "
Состояние процесса контрля прибора
"
mouse_filter = 0
max_value = 20.0
nine_patch_stretch = true
stretch_margin_left = 2
stretch_margin_top = 2
stretch_margin_right = 2
stretch_margin_bottom = 2
texture_under = ExtResource("9_w6m6a")
texture_progress = ExtResource("10_lbx5w")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
metadata/_edit_lock_ = true
[node name="pribor_prd_k_2" type="TextureButton" parent="." groups=["pribor_buttons"]]
editor_description = "Кнопка для выбора прибора."
layout_mode = 0
@@ -887,6 +946,31 @@ sprite_frames = SubResource("SpriteFrames_foasq")
frame_progress = 0.72355
script = ExtResource("11_u7tym")
[node name="progress" type="TextureProgressBar" parent="pribor_prd_k_2"]
visible = false
layout_mode = 0
offset_left = -4.0
offset_top = 123.0
offset_right = 89.0
offset_bottom = 131.0
size_flags_horizontal = 3
size_flags_vertical = 3
tooltip_text = "
Состояние процесса контрля прибора
"
mouse_filter = 0
max_value = 30.0
nine_patch_stretch = true
stretch_margin_left = 2
stretch_margin_top = 2
stretch_margin_right = 2
stretch_margin_bottom = 2
texture_under = ExtResource("9_w6m6a")
texture_progress = ExtResource("10_lbx5w")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
metadata/_edit_lock_ = true
[node name="pribor_prd_v_3" type="TextureButton" parent="." groups=["pribor_buttons"]]
editor_description = "Кнопка для выбора прибора."
layout_mode = 0
@@ -939,6 +1023,31 @@ sprite_frames = SubResource("SpriteFrames_foasq")
frame_progress = 0.72355
script = ExtResource("11_u7tym")
[node name="progress" type="TextureProgressBar" parent="pribor_prd_v_3"]
visible = false
layout_mode = 0
offset_left = -4.0
offset_top = 123.0
offset_right = 89.0
offset_bottom = 131.0
size_flags_horizontal = 3
size_flags_vertical = 3
tooltip_text = "
Состояние процесса контрля прибора
"
mouse_filter = 0
max_value = 20.0
nine_patch_stretch = true
stretch_margin_left = 2
stretch_margin_top = 2
stretch_margin_right = 2
stretch_margin_bottom = 2
texture_under = ExtResource("9_w6m6a")
texture_progress = ExtResource("10_lbx5w")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
metadata/_edit_lock_ = true
[node name="pribor_prd_n_3" type="TextureButton" parent="." groups=["pribor_buttons"]]
editor_description = "Кнопка для выбора прибора."
layout_mode = 0
@@ -991,6 +1100,31 @@ sprite_frames = SubResource("SpriteFrames_foasq")
frame_progress = 0.72355
script = ExtResource("11_u7tym")
[node name="progress" type="TextureProgressBar" parent="pribor_prd_n_3"]
visible = false
layout_mode = 0
offset_left = -4.0
offset_top = 123.0
offset_right = 89.0
offset_bottom = 131.0
size_flags_horizontal = 3
size_flags_vertical = 3
tooltip_text = "
Состояние процесса контрля прибора
"
mouse_filter = 0
max_value = 20.0
nine_patch_stretch = true
stretch_margin_left = 2
stretch_margin_top = 2
stretch_margin_right = 2
stretch_margin_bottom = 2
texture_under = ExtResource("9_w6m6a")
texture_progress = ExtResource("10_lbx5w")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
metadata/_edit_lock_ = true
[node name="pribor_prd_k_3" type="TextureButton" parent="." groups=["pribor_buttons"]]
editor_description = "Кнопка для выбора прибора."
layout_mode = 0
@@ -1043,6 +1177,31 @@ sprite_frames = SubResource("SpriteFrames_foasq")
frame_progress = 0.72355
script = ExtResource("11_u7tym")
[node name="progress" type="TextureProgressBar" parent="pribor_prd_k_3"]
visible = false
layout_mode = 0
offset_left = -4.0
offset_top = 123.0
offset_right = 89.0
offset_bottom = 131.0
size_flags_horizontal = 3
size_flags_vertical = 3
tooltip_text = "
Состояние процесса контрля прибора
"
mouse_filter = 0
max_value = 30.0
nine_patch_stretch = true
stretch_margin_left = 2
stretch_margin_top = 2
stretch_margin_right = 2
stretch_margin_bottom = 2
texture_under = ExtResource("9_w6m6a")
texture_progress = ExtResource("10_lbx5w")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
metadata/_edit_lock_ = true
[node name="pribor_prd_v_1" type="TextureButton" parent="." groups=["pribor_buttons"]]
editor_description = "Кнопка для выбора прибора."
layout_mode = 0
@@ -1095,6 +1254,31 @@ sprite_frames = SubResource("SpriteFrames_foasq")
frame_progress = 0.72355
script = ExtResource("11_u7tym")
[node name="progress" type="TextureProgressBar" parent="pribor_prd_v_1"]
visible = false
layout_mode = 0
offset_left = -4.0
offset_top = 123.0
offset_right = 89.0
offset_bottom = 131.0
size_flags_horizontal = 3
size_flags_vertical = 3
tooltip_text = "
Состояние процесса контрля прибора
"
mouse_filter = 0
max_value = 20.0
nine_patch_stretch = true
stretch_margin_left = 2
stretch_margin_top = 2
stretch_margin_right = 2
stretch_margin_bottom = 2
texture_under = ExtResource("9_w6m6a")
texture_progress = ExtResource("10_lbx5w")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
metadata/_edit_lock_ = true
[node name="pribor_prd_k_1" type="TextureButton" parent="." groups=["pribor_buttons"]]
editor_description = "Кнопка для выбора прибора."
layout_mode = 0
@@ -1147,6 +1331,31 @@ sprite_frames = SubResource("SpriteFrames_foasq")
frame_progress = 0.72355
script = ExtResource("11_u7tym")
[node name="progress" type="TextureProgressBar" parent="pribor_prd_k_1"]
visible = false
layout_mode = 0
offset_left = -4.0
offset_top = 123.0
offset_right = 89.0
offset_bottom = 131.0
size_flags_horizontal = 3
size_flags_vertical = 3
tooltip_text = "
Состояние процесса контрля прибора
"
mouse_filter = 0
max_value = 30.0
nine_patch_stretch = true
stretch_margin_left = 2
stretch_margin_top = 2
stretch_margin_right = 2
stretch_margin_bottom = 2
texture_under = ExtResource("9_w6m6a")
texture_progress = ExtResource("10_lbx5w")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
metadata/_edit_lock_ = true
[node name="pribor_prd_v_4" type="TextureButton" parent="." groups=["pribor_buttons"]]
editor_description = "Кнопка для выбора прибора."
layout_mode = 0
@@ -1198,6 +1407,31 @@ sprite_frames = SubResource("SpriteFrames_foasq")
frame_progress = 0.72355
script = ExtResource("11_u7tym")
[node name="progress" type="TextureProgressBar" parent="pribor_prd_v_4"]
visible = false
layout_mode = 0
offset_left = -4.0
offset_top = 123.0
offset_right = 89.0
offset_bottom = 131.0
size_flags_horizontal = 3
size_flags_vertical = 3
tooltip_text = "
Состояние процесса контрля прибора
"
mouse_filter = 0
max_value = 20.0
nine_patch_stretch = true
stretch_margin_left = 2
stretch_margin_top = 2
stretch_margin_right = 2
stretch_margin_bottom = 2
texture_under = ExtResource("9_w6m6a")
texture_progress = ExtResource("10_lbx5w")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
metadata/_edit_lock_ = true
[node name="pribor_prd_n_4" type="TextureButton" parent="." groups=["pribor_buttons"]]
editor_description = "Кнопка для выбора прибора."
layout_mode = 0
@@ -1249,6 +1483,31 @@ sprite_frames = SubResource("SpriteFrames_foasq")
frame_progress = 0.72355
script = ExtResource("11_u7tym")
[node name="progress" type="TextureProgressBar" parent="pribor_prd_n_4"]
visible = false
layout_mode = 0
offset_left = -4.0
offset_top = 123.0
offset_right = 89.0
offset_bottom = 131.0
size_flags_horizontal = 3
size_flags_vertical = 3
tooltip_text = "
Состояние процесса контрля прибора
"
mouse_filter = 0
max_value = 20.0
nine_patch_stretch = true
stretch_margin_left = 2
stretch_margin_top = 2
stretch_margin_right = 2
stretch_margin_bottom = 2
texture_under = ExtResource("9_w6m6a")
texture_progress = ExtResource("10_lbx5w")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
metadata/_edit_lock_ = true
[node name="pribor_prd_k_4" type="TextureButton" parent="." groups=["pribor_buttons"]]
editor_description = "Кнопка для выбора прибора."
layout_mode = 0
@@ -1300,6 +1559,31 @@ sprite_frames = SubResource("SpriteFrames_foasq")
frame_progress = 0.72355
script = ExtResource("11_u7tym")
[node name="progress" type="TextureProgressBar" parent="pribor_prd_k_4"]
visible = false
layout_mode = 0
offset_left = -4.0
offset_top = 123.0
offset_right = 89.0
offset_bottom = 131.0
size_flags_horizontal = 3
size_flags_vertical = 3
tooltip_text = "
Состояние процесса контрля прибора
"
mouse_filter = 0
max_value = 30.0
nine_patch_stretch = true
stretch_margin_left = 2
stretch_margin_top = 2
stretch_margin_right = 2
stretch_margin_bottom = 2
texture_under = ExtResource("9_w6m6a")
texture_progress = ExtResource("10_lbx5w")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
metadata/_edit_lock_ = true
[node name="txr_legend0" type="TextureRect" parent="."]
layout_mode = 0
offset_left = 219.0
@@ -1421,6 +1705,14 @@ points = PackedVector2Array(-8, 0, 608, 0)
width = 2.0
default_color = Color(1, 1, 1, 0.352941)
[node name="control_prd" type="Button" parent="."]
layout_mode = 0
offset_left = 1101.0
offset_top = 64.0
offset_right = 1326.0
offset_bottom = 104.0
text = "Запуск контроля приборов ПРД"
[connection signal="toggled" from="pribor_prd_n_1" to="pribor_prd_n_1" method="_on_toggled"]
[connection signal="toggled" from="pribor_uf" to="pribor_uf" method="_on_toggled"]
[connection signal="toggled" from="pribor_rtr" to="pribor_rtr" method="_on_toggled"]
@@ -1438,3 +1730,4 @@ default_color = Color(1, 1, 1, 0.352941)
[connection signal="toggled" from="pribor_prd_v_4" to="pribor_prd_v_4" method="_on_toggled"]
[connection signal="toggled" from="pribor_prd_n_4" to="pribor_prd_n_4" method="_on_toggled"]
[connection signal="toggled" from="pribor_prd_k_4" to="pribor_prd_k_4" method="_on_toggled"]
[connection signal="pressed" from="control_prd" to="." method="_on_control_prd_pressed"]

View File

@@ -153,6 +153,7 @@ class Fs:
class PRD:
var prd_name: String ## Имя прибора
var unit_yau07 ## Юнит эмс
var unit_control: Object
var fs_dic: Dictionary ## Массив блоков ФС
var yemsg_board: yemsboards.EmsBoard ## Плата ЭМС-Г
var state = PrdState.WORK
@@ -162,20 +163,23 @@ class PRD:
var set_ug_state: bool = true ## Необходимо ли записать в УГ настройки
signal update_serviceability()
signal update_progress(progress_value)
var progress_value: float:
set(v):
if progress_value != v:
progress_value = v
#print(progress_value)
call_deferred('emit_signal', 'update_progress')
func _init(u_name, u_yau07):
func _init(u_name, u_yau07, u_control: Object):
prd_name = u_name
unit_yau07 = u_yau07
unit_control = u_control
init_ems_g()
init_control(unit_control)
func init_control(u_control: Object)->void:
u_control.connect('control_is_over', Callable(self, 'on_control_result'))
func on_control_result():
print_debug('on_control_result')
func init_ems_g():
var in_tbl: Array = []
@@ -291,7 +295,10 @@ func _ready() -> void:
check_dir()
for prd_name in PRD_NAMES:
var unit_prd = network.get_unit_instance(prd_name)
var new_prd = PRD.new(prd_name, unit_prd)
var control_pribor_prd = preload('res://scripts/pribor-prd.gd')
var unit_control = control_pribor_prd.TestPRD.new({'unit_prd': unit_prd})
add_child(unit_control)
var new_prd = PRD.new(prd_name, unit_prd, unit_control)
prd_dict[prd_name] = new_prd
for key in FS_PRD.keys():
var fs = Fs.new(key, FS_PRD[key][0])

View File

@@ -1,4 +1,148 @@
class TestPRD extends Node:
const DEVICE_CONSTANT: Dictionary = {
'PRD_N': {
CONSTANTS = {
'POWER_UKP_1': 31,
'POWER_UKP_2': 63,
'DKM_BIT_2': 1,
'DKM_BIT_3': 2,
'BASE_ADDR_EMS_G': 0x120,
'ADDR_UG_LITERA_1': 0x106,
'ADDR_UG_LITERA_2': 0x108,
'ADDR_UG_LITERA_3': 0x10A,
'TEMP_THRESHOLD': 70,
'POWER_THRESHOLD': 40,
'RAY_DOU_NUM': 0x3,
'ATT_UM_2': 0x2,
'ATT_UM_3': 0x3,
'POWER_UM': 100,
'TIMER_DELAY': 10.0,
'STATE_MASHINE_TIMER': 0.3,
},
PRIBOR_CONFIG = {
'': {'angle': 0.0, 'sectors': [4, 8]},
'': {'angle': 90.0, 'sectors': [7, 11]},
'': {'angle': 180.0, 'sectors': [6, 10]},
'': {'angle': 270.0, 'sectors': [5, 9]},
},
FS_PARAMS = {
2: {'freq': 932.0, 'width': 100.0},
3: {'freq': 1157.0, 'width': 100.0}
},
START_LITERA = 2
},
'PRD_V': {
CONSTANTS = {
'POWER_UKP_1': 31,
'POWER_UKP_2': 63,
'DKM_BIT_4': 3,
'DKM_BIT_5': 4,
'BASE_ADDR_EMS_G': 0x120,
'ADDR_UG_LITERA_1': 0x106,
'ADDR_UG_LITERA_2': 0x108,
'ADDR_UG_LITERA_3': 0x10A,
'TEMP_THRESHOLD': 70,
'POWER_THRESHOLD': 40,
'RAY_DOU_NUM': 0x3,
'ATT_UM_4': 0x2,
'ATT_UM_5': 0x3,
'POWER_UM': 100,
'TIMER_DELAY': 10.0,
'STATE_MASHINE_TIMER': 0.3,
},
PRIBOR_CONFIG = {
'': {'angle': 0.0, 'sectors': [12, 16]},
'': {'angle': 90.0, 'sectors': [15, 19]},
'': {'angle': 180.0, 'sectors': [14, 18]},
'': {'angle': 270.0, 'sectors': [13, 17]},
},
FS_PARAMS = {
4: {'freq': 1227.0, 'width': 100.0},
5: {'freq': 1575.0, 'width': 110.0},
},
START_LITERA = 4
},
'PRD_K': {
CONSTANTS = {
'POWER_UKP_1': 31,
'POWER_UKP_2': 63,
'DKM_BIT_1': 0,
'DKM_BIT_6': 5,
'DKM_BIT_7': 6,
'BASE_ADDR_EMS_G': 0x120,
'ADDR_UG_LITERA_1': 0x106,
'ADDR_UG_LITERA_2': 0x108,
'ADDR_UG_LITERA_3': 0x10A,
'TEMP_THRESHOLD': 40,
'POWER_THRESHOLD': 40,
'RAY_DOU_NUM': 0x3,
'ATT_UM_1': 0x0,
'ATT_UM_6': 0x3,
'ATT_UM_7': 0x2,
'POWER_UM': 100,
'TIMER_DELAY': 10.0,
'STATE_MASHINE_TIMER': 0.3,
},
PRIBOR_CONFIG = { # Конфигурация параметров для каждого прибора
'': {'angle': 0.0, 'sectors': [0, 20, 24]},
'': {'angle': 90.0, 'sectors': [3, 23, 27]},
'': {'angle': 180.0, 'sectors': [2, 22, 26]},
'': {'angle': 270.0, 'sectors': [1, 21, 25]},
},
FS_PARAMS = { # Конфигурация частот и ширин для каждого ФС
1: {'freq': 450.0, 'width': 80.0},
6: {'freq': 2450.0, 'width': 110.0},
7: {'freq': 4750.0, 'width': 110.0}
},
START_LITERA = 1
}
}
var block_ip_config_n:= {
'maa2000_1': [0, false],
'maa2000_2': [1, false],
'ip9_50_1': [2, false],
'ip9_50_2': [3, false],
'ip12_50_1': [4, false],
'ip5_25': [7, false],
}
var block_kasseta_y5_prd_config_n: = {
'yau07': false,
'ems': false,
'ug': false,
'ukp1': false,
'ukp2': false,
}
# Результаты контроля
var control_results_n: Dictionary = {
'block_ip': false, # Проверка касет П1 и ИП МА2000
'temperature': true, # Проверка температур УМ
'dkm_2': false,
'dkm_3': false,
'dou_2': false,
'dou_3': false,
'fs_2': 2,
'fs_3': 2,
}
####
var block_ip_config_v := {
'maa2000_1': [0, false],
'maa2000_2': [1, false],
'ip9_50_1': [2, false],
'ip9_50_2': [3, false],
'ip12_50_1': [4, false],
'ip5_25': [7, false],
}
var block_kasseta_y5_prd_config_v: = {
'yau07': false,
'ems': false,
'ug': false,
'ukp1': false,
'ukp2': false,
}
######
const RAY_m5:= 'RAY_m5'
const RAY_5:= 'RAY_5'
const RAY_15:= 'RAY_15'
@@ -19,25 +163,25 @@ class TestPRD extends Node:
TEMPERATURE_UKP_2 = 79,
}
enum STATE_MASHINE {
INIT,
FS_TURN_ON,
FS_WORK,
WRITE_ISA,
READ_ISA,
CHEK_KASSETA_Y5,
UG_SET_RAY,
UG_SET_RAY_0,
UG_SET_RAY_1,
UG_SET_RAY_2,
UG_SET_RAY_3,
UG_SET_RAY_4,
UG_SET_RAY_5,
IN_EMS_RUN,
IN_EMS_STOP,
FS_TURN_OFF,
STOP_CONTROL,
AWAIT
enum STATE_MACHINE {
INIT, # 0
FS_TURN_ON, # 1
FS_WORK, # 2
WRITE_ISA, # 3
READ_ISA, # 4
CHEK_KASSETA_Y5, # 5
UG_SET_RAY, # 6
UG_SET_RAY_0, # 7
UG_SET_RAY_1, # 8
UG_SET_RAY_2, # 9
UG_SET_RAY_3, # 10
UG_SET_RAY_4, # 11
UG_SET_RAY_5, # 12
IN_EMS_RUN, # 13
IN_EMS_STOP, # 14
FS_TURN_OFF, # 15
STOP_CONTROL, # 16
AWAIT # 17
}
const FS_KEYS := {
1: 'fs_1',
@@ -72,7 +216,7 @@ class TestPRD extends Node:
var block_kasseta_y5_config: Dictionary
var control_results: Dictionary
var self_name: String
var state: int = STATE_MASHINE.INIT
var state: int = STATE_MACHINE.INIT
var current_litera: int
var flag_write_isa: bool = false
var flag_fs_status_ok: bool = false
@@ -81,27 +225,25 @@ class TestPRD extends Node:
var unit_prd: Object
var module_prd: Object
var power_amplify: Array
var control_label: Label
#var control_label: Label
var control_timer: Timer = Timer.new()
var ems_6666_timer: Timer = Timer.new()
var machine_timer: Timer = Timer.new()
var ecms: Dictionary ## Словарь помеховых воздействий
signal control_is_over(control_results, power_result)
signal control_is_over(control_results: Dictionary, power_result: Dictionary)
signal update_progress(progress_value: float)
var progress_value: float:
set(v):
if progress_value != v:
progress_value = v
call_deferred('emit_signal', 'update_progress', progress_value)
## Инициализация аргуметнов
func _init(init_data: Dictionary) -> void:
control_label = init_data['control_label']
power_amplify = init_data['power_amplifiers']
unit_prd = init_data['unit_prd']
module_prd = init_data['module_prd']
constants = init_data['constants']
pribor_config = init_data['prd_config']
fs_parameters = init_data['fs_params']
block_ip_config = init_data['block_ip_prd_config']
block_kasseta_y5_config = init_data['block_kasseta_y5_prd_config']
control_results = init_data['control_results']
current_litera = init_data['current_litera']
func _ready() -> void:
@@ -121,7 +263,7 @@ class TestPRD extends Node:
var status: PackedByteArray = unit_pribor.status
block_kasseta_y5_config = check_block_kasseta_y5(status, block_kasseta_y5_config)
block_ip_config = check_block_ip(status, block_ip_config)
control_results.temperature = check_temperature_um(status, power_amplify)
#control_results.temperature = check_temperature_um(status, power_amplify)
socket_status_ems_g(status)
_process_dkm_status(status)
if current_litera != 0:
@@ -161,113 +303,109 @@ class TestPRD extends Node:
##
func state_control_machine() -> void:
var correct_timer = 0
if current_litera in [3, 5, 7]:
correct_timer = 10
print(control_timer.get_wait_time())
module_prd.progress_value = correct_timer + control_timer.get_wait_time() - control_timer.get_time_left()
match state:
STATE_MASHINE.INIT:
STATE_MACHINE.INIT:
control_timer.start()
_handle_init_state()
STATE_MASHINE.FS_TURN_ON:
STATE_MACHINE.FS_TURN_ON:
_handle_fs_turn_on_state()
state = STATE_MASHINE.FS_WORK
STATE_MASHINE.FS_WORK:
state = STATE_MACHINE.FS_WORK
STATE_MACHINE.FS_WORK:
if ecms.size() and flag_fs_status_ok:
ems_6666_timer.start()
_handle_fs_work_state()
STATE_MASHINE.CHEK_KASSETA_Y5:
STATE_MACHINE.CHEK_KASSETA_Y5:
if block_kasseta_y5_config['yau07']:
state = STATE_MASHINE.WRITE_ISA
STATE_MASHINE.WRITE_ISA:
ems_6666_timer.start()
state = STATE_MACHINE.WRITE_ISA
STATE_MACHINE.WRITE_ISA:
if not flag_write_isa:
_handle_ug_set_state(0x6)
state = STATE_MASHINE.READ_ISA
STATE_MASHINE.READ_ISA:
state = STATE_MACHINE.READ_ISA
STATE_MACHINE.READ_ISA:
if (unit_prd.cmd_state == unit_prd.CmdState.DONE) or (unit_prd.cmd_state == unit_prd.CmdState.FAIL):
_handle_read_isa(module_prd, unit_prd, [constants.ADDR_UG_LITERA_1, constants.ADDR_UG_LITERA_2, constants.ADDR_UG_LITERA_3])
flag_write_isa = false
state = STATE_MASHINE.UG_SET_RAY
STATE_MASHINE.UG_SET_RAY:
state = STATE_MACHINE.UG_SET_RAY
STATE_MACHINE.UG_SET_RAY:
var addr: int = constants.ADDR_UG_LITERA_1
if current_litera == 3 or current_litera == 5 or current_litera == 7:
addr = constants.ADDR_UG_LITERA_2
if unit_prd.isa_ports.has(addr) and (unit_prd.cmd_state == unit_prd.CmdState.DONE):
if unit_prd.isa_ports[addr] & 0x07 == 0:
state = STATE_MASHINE.UG_SET_RAY_1
state = STATE_MACHINE.UG_SET_RAY_1
elif unit_prd.isa_ports[addr] & 0x07 == 1:
state = STATE_MASHINE.UG_SET_RAY_2
state = STATE_MACHINE.UG_SET_RAY_2
elif unit_prd.isa_ports[addr] & 0x07 == 2:
state = STATE_MASHINE.UG_SET_RAY_3
state = STATE_MACHINE.UG_SET_RAY_3
elif unit_prd.isa_ports[addr] & 0x07 == 3:
state = STATE_MASHINE.UG_SET_RAY_4
state = STATE_MACHINE.UG_SET_RAY_4
elif unit_prd.isa_ports[addr] & 0x07 == 4:
state = STATE_MASHINE.UG_SET_RAY_5
state = STATE_MACHINE.UG_SET_RAY_5
elif unit_prd.isa_ports[addr] & 0x07 == 5:
if not current_litera == 1:
control_results = check_dou_result(control_results, power_result, self_name, current_litera, constants)
state = STATE_MASHINE.IN_EMS_STOP
state = STATE_MACHINE.IN_EMS_STOP
elif unit_prd.isa_ports[addr] & 0x07 == 6:
state = STATE_MASHINE.UG_SET_RAY_0
state = STATE_MACHINE.UG_SET_RAY_0
STATE_MASHINE.UG_SET_RAY_0:
STATE_MACHINE.UG_SET_RAY_0:
if flag_si_fs_input and not flag_write_isa:
control_timer.stop()
_handle_ug_set_state(0x0)
await get_tree().create_timer(0.5).timeout
state = STATE_MASHINE.READ_ISA
STATE_MASHINE.UG_SET_RAY_1:
state = STATE_MACHINE.READ_ISA
STATE_MACHINE.UG_SET_RAY_1:
if not flag_write_isa:
_handle_ug_set_state(0x1)
state = STATE_MASHINE.READ_ISA
STATE_MASHINE.UG_SET_RAY_2:
state = STATE_MACHINE.READ_ISA
STATE_MACHINE.UG_SET_RAY_2:
if not flag_write_isa:
_handle_ug_set_state(0x2)
state = STATE_MASHINE.READ_ISA
STATE_MASHINE.UG_SET_RAY_3:
state = STATE_MACHINE.READ_ISA
STATE_MACHINE.UG_SET_RAY_3:
if not flag_write_isa:
_handle_ug_set_state(0x3)
state = STATE_MASHINE.READ_ISA
STATE_MASHINE.UG_SET_RAY_4:
state = STATE_MACHINE.READ_ISA
STATE_MACHINE.UG_SET_RAY_4:
if not flag_write_isa:
_handle_ug_set_state(0x4)
state = STATE_MASHINE.READ_ISA
STATE_MASHINE.UG_SET_RAY_5:
state = STATE_MACHINE.READ_ISA
STATE_MACHINE.UG_SET_RAY_5:
if not flag_write_isa:
_handle_ug_set_state(0x5)
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:
ems_6666_timer.stop()
state = STATE_MACHINE.READ_ISA
STATE_MACHINE.IN_EMS_STOP:
state = STATE_MACHINE.FS_TURN_OFF
STATE_MACHINE.FS_TURN_OFF:
_handle_fs_turn_off_state()
state = STATE_MASHINE.STOP_CONTROL
STATE_MASHINE.STOP_CONTROL:
ems_6666_timer.stop()
state = STATE_MACHINE.STOP_CONTROL
STATE_MACHINE.STOP_CONTROL:
_handle_stop_control_state()
if state != STATE_MACHINE.AWAIT:
progressbar_status()
func _handle_init_state() -> void:
control_label.text = 'Выполняется инициализация ФС-%s' % current_litera
print(current_litera)
#control_label.text = 'Выполняется инициализация ФС-%s' % current_litera
if current_litera in [1, 2, 3, 4, 5, 6, 7]:
if not ecms.size():
state = STATE_MASHINE.FS_TURN_ON
state = STATE_MACHINE.FS_TURN_ON
else:
control_results = on_control_result(block_ip_config, control_results)
var send_power_pack = prep_power(power_result, self_name)
emit_signal('control_is_over', control_results, send_power_pack)
state = STATE_MASHINE.AWAIT
state = STATE_MACHINE.AWAIT
func _handle_fs_turn_on_state() -> void:
control_label.text = 'Выполняется включение ФС-%s' % current_litera
#control_label.text = 'Выполняется включение ФС-%s' % current_litera
manage_fs(true, self_name, pribor_config, fs_parameters, current_litera, constants.POWER_UM)
control_timer.wait_time = constants.TIMER_DELAY
control_timer.start()
func _handle_fs_work_state() -> void:
control_label.text = 'Выполняется проверка ФС-%s' % current_litera
#control_label.text = 'Выполняется проверка ФС-%s' % current_litera
if (current_litera == 2 and control_results.fs_2) or \
(current_litera == 3 and control_results.fs_3) or \
(current_litera == 4 and control_results.fs_4) or \
@@ -275,7 +413,7 @@ class TestPRD extends Node:
(current_litera == 6 and control_results.fs_6) or \
(current_litera == 7 and control_results.fs_7) or \
(current_litera == 1 and control_results.fs_1):
state = STATE_MASHINE.CHEK_KASSETA_Y5
state = STATE_MACHINE.CHEK_KASSETA_Y5
func _handle_ug_set_state(RAY_DOU_NUM: int) -> void:
@@ -298,11 +436,11 @@ class TestPRD extends Node:
dic_att['ATT_UM_1'] = constants.ATT_UM_2
dic_att['ATT_UM_2'] = constants.ATT_UM_3
var log_text = dic_att.ATT_UM_3 if current_litera == 1 else dic_att.ATT_UM_1 if current_litera in [2, 4, 6] else dic_att.ATT_UM_2
control_label.text = 'Выполняется настройка угла (%s) и атт (0x0%s)' % [
dic_att.RAY_DOU_NUM,
log_text
]
#var log_text = dic_att.ATT_UM_3 if current_litera == 1 else dic_att.ATT_UM_1 if current_litera in [2, 4, 6] else dic_att.ATT_UM_2
#control_label.text = 'Выполняется настройка угла (%s) и атт (0x0%s)' % [
#dic_att.RAY_DOU_NUM,
#log_text
#]
flag_write_isa = on_ug_setting(module_prd, unit_prd, dic_att)
@@ -311,15 +449,15 @@ class TestPRD extends Node:
func _handle_fs_turn_off_state() -> void:
control_label.text = 'Выполняется отключение ФС-%s' % current_litera
#control_label.text = 'Выполняется отключение ФС-%s' % current_litera
flag_fs_status_ok = false
manage_fs(false, self_name, pribor_config, fs_parameters, current_litera, constants.POWER_UM)
func _handle_stop_control_state() -> void:
control_label.text = 'Выполняется завершение проверки ФС-%s' % current_litera
#control_label.text = 'Выполняется завершение проверки ФС-%s' % current_litera
_advance_to_next_fs()
state = STATE_MASHINE.INIT
state = STATE_MACHINE.INIT
func _advance_to_next_fs() -> void:
@@ -350,6 +488,31 @@ class TestPRD extends Node:
var current_unit = unit_prd.name
var parts = current_unit.split('-')
self_name = parts[-1]
if self_name == '' or self_name == '' or self_name == '' or self_name == '':
#module_prd = init_data['module_prd']
constants = DEVICE_CONSTANT.PRD_N.CONSTANTS
pribor_config = DEVICE_CONSTANT.PRD_N.PRIBOR_CONFIG
fs_parameters = DEVICE_CONSTANT.PRD_N.FS_PARAMS
block_ip_config = block_ip_config_n
block_kasseta_y5_config = block_kasseta_y5_prd_config_n
control_results = control_results_n
current_litera = DEVICE_CONSTANT.PRD_N.START_LITERA
if self_name == '' or self_name == '' or self_name == '' or self_name == '':
constants = DEVICE_CONSTANT.PRD_V.CONSTANTS
pribor_config = DEVICE_CONSTANT.PRD_V.PRIBOR_CONFIG
fs_parameters = DEVICE_CONSTANT.PRD_V.FS_PARAMS
block_ip_config = block_ip_config_n
block_kasseta_y5_config = block_kasseta_y5_prd_config_v
control_results = control_results_n
current_litera = DEVICE_CONSTANT.PRD_V.START_LITERA
if self_name == '' or self_name == '' or self_name == '' or self_name == '':
constants = DEVICE_CONSTANT.PRD_K.CONSTANTS
pribor_config = DEVICE_CONSTANT.PRD_K.PRIBOR_CONFIG
fs_parameters = DEVICE_CONSTANT.PRD_K.FS_PARAMS
block_ip_config = block_ip_config_n
block_kasseta_y5_config = block_kasseta_y5_prd_config_n
control_results = control_results_n
current_litera = DEVICE_CONSTANT.PRD_K.START_LITERA
func setup_timer() -> void:
@@ -357,12 +520,31 @@ class TestPRD extends Node:
control_timer.timeout.connect(on_stop_control)
control_timer.one_shot = true
control_timer.wait_time = constants.TIMER_DELAY
control_timer.start()
add_child(ems_6666_timer)
ems_6666_timer.timeout.connect(_on_ems_6666_timer)
ems_6666_timer.wait_time = 1.0
add_child(machine_timer)
machine_timer.timeout.connect(_on_machine_timer)
machine_timer.wait_time = 1.3
func _on_machine_timer():
#print_debug(progress_value)
state_control_machine()
var cc: int = 0
func progressbar_status() -> void:
match state:
STATE_MACHINE.AWAIT:
cc = 0
STATE_MACHINE.INIT:
cc += 10 if current_litera in [3, 5] else 20 if current_litera == 7 else 0
if control_timer.get_time_left() > 0:
progress_value = cc + control_timer.get_wait_time() - control_timer.get_time_left()
#print([cc, control_timer.get_wait_time() - control_timer.get_time_left(), state])
func _process_dkm_status(status: PackedByteArray) -> void:
if not control_results.has(_get_current_fs_key()):
@@ -410,18 +592,17 @@ class TestPRD extends Node:
static func _get_ray_key(machine_state: int) -> String:
match machine_state:
STATE_MASHINE.UG_SET_RAY_0: return RAY_m5
STATE_MASHINE.UG_SET_RAY_1: return RAY_5
STATE_MASHINE.UG_SET_RAY_2: return RAY_15
STATE_MASHINE.UG_SET_RAY_3: return RAY_25
STATE_MASHINE.UG_SET_RAY_4: return RAY_35
STATE_MASHINE.UG_SET_RAY_5: return RAY_45
STATE_MACHINE.UG_SET_RAY_0: return RAY_m5
STATE_MACHINE.UG_SET_RAY_1: return RAY_5
STATE_MACHINE.UG_SET_RAY_2: return RAY_15
STATE_MACHINE.UG_SET_RAY_3: return RAY_25
STATE_MACHINE.UG_SET_RAY_4: return RAY_35
STATE_MACHINE.UG_SET_RAY_5: return RAY_45
_: return ''
func on_stop_control() -> void:
_handle_fs_turn_off_state()
state = STATE_MASHINE.FS_TURN_OFF
state = STATE_MACHINE.FS_TURN_OFF
static func on_control_result(ip_config: Dictionary, ctrl_results: Dictionary) -> Dictionary: