4 Commits

20 changed files with 979 additions and 360 deletions

View File

@@ -154,6 +154,7 @@ default_reset=""
power_supply="Ноды источников питания прибора"
fs_group="Группа модулей ФС"
y-5=""
case=""
[gui]

View File

@@ -26,15 +26,16 @@ text = "Кассета ФС-КД"
horizontal_alignment = 1
vertical_alignment = 1
[node name="ref_A2" parent="." groups=["default_reset"] instance=ExtResource("3_kqnvt")]
[node name="ref_A2" parent="." groups=["case", "default_reset"] instance=ExtResource("3_kqnvt")]
offset_left = 5.0
offset_top = 33.0
offset_right = 55.0
offset_bottom = 183.0
fname = "Блок ФС-1"
rname = "A4"
metadata/case = 2
[node name="ref_A3" parent="." groups=["default_reset", "fs_group"] instance=ExtResource("3_kqnvt")]
[node name="ref_A3" parent="." groups=["case", "default_reset", "fs_group"] instance=ExtResource("3_kqnvt")]
offset_left = 55.0
offset_top = 33.0
offset_right = 105.0
@@ -42,16 +43,18 @@ offset_bottom = 183.0
fname = "Модуль ФС"
rname = "A1"
metadata/fs = "fs_1"
metadata/case = 3
[node name="ref_A4" parent="." groups=["default_reset"] instance=ExtResource("3_kqnvt")]
[node name="ref_A4" parent="." groups=["case", "default_reset"] instance=ExtResource("3_kqnvt")]
offset_left = 105.0
offset_top = 33.0
offset_right = 155.0
offset_bottom = 183.0
fname = "Блок ФС-2"
rname = "A2"
metadata/case = 0
[node name="ref_A6" parent="." groups=["default_reset", "fs_group"] instance=ExtResource("3_kqnvt")]
[node name="ref_A6" parent="." groups=["case", "default_reset", "fs_group"] instance=ExtResource("3_kqnvt")]
offset_left = 155.0
offset_top = 33.0
offset_right = 205.0
@@ -59,8 +62,9 @@ offset_bottom = 183.0
fname = "Модуль ФС"
rname = "A5"
metadata/fs = "fs_6"
metadata/case = 4
[node name="ref_A5" parent="." groups=["default_reset", "fs_group"] instance=ExtResource("3_kqnvt")]
[node name="ref_A5" parent="." groups=["case", "default_reset", "fs_group"] instance=ExtResource("3_kqnvt")]
offset_left = 205.0
offset_top = 33.0
offset_right = 255.0
@@ -68,11 +72,13 @@ offset_bottom = 183.0
fname = "Модуль ФС"
rname = "A3"
metadata/fs = "fs_7"
metadata/case = 3
[node name="ref_A7" parent="." groups=["default_reset"] instance=ExtResource("3_kqnvt")]
[node name="ref_A7" parent="." groups=["case", "default_reset"] instance=ExtResource("3_kqnvt")]
offset_left = 255.0
offset_top = 33.0
offset_right = 305.0
offset_bottom = 183.0
fname = "Блок ФС-6"
rname = "A6"
metadata/case = 5

View File

@@ -77,7 +77,6 @@ var control_results_k: Dictionary = {
}
var test_control_k = preload('res://scripts/pribor-prd.gd')
var ctrl_pos = 30
func _ready() -> void:
@@ -87,7 +86,22 @@ func _ready() -> void:
initialize_connections()
setup_timer()
set_default_state()
find_labels(self)
var case_nodes = get_tree().get_nodes_in_group("case")
for case in case_nodes:
case.mouse_entered.connect(_on_element_hover.bind(case))
case.mouse_exited.connect(_on_element_unhover)
func _on_element_hover(case_node: Node) -> void:
$ref_ZZ4.visible = true
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:
$ref_ZZ4.visible = false
func on_state_mashine() -> void:
@@ -102,7 +116,7 @@ func initialize_connections() -> void:
unit_prd_k.connect('line_changed', Callable(self, 'on_line_changed'))
var power_amplifiers: Array = get_tree().get_nodes_in_group('power_amplifier')
var init_data: Dictionary = {
'control_label': $control_result,
'control_label': $ref_ZZ4/label,
'power_amplifiers': power_amplifiers,
'unit_prd': unit_prd_k,
'module_prd' : prd_k_module,
@@ -137,8 +151,8 @@ func set_default_state() -> void:
func _enter_tree() -> void:
if Engine.is_editor_hint():
return
$control_result.text = 'Выполняется ...'
$control_result.add_theme_color_override('font_color', Color.ALICE_BLUE)
$ref_ZZ4/label.text = 'Выполняется ...'
$ref_ZZ4/label.add_theme_color_override('font_color', Color.ALICE_BLUE)
signaller.connect('режим_работа', Callable(self, 'on_mode_changed').bind(false))
signaller.connect('режим_журнал', Callable(self, 'on_mode_changed').bind(false))
signaller.connect('режим_эмс', Callable(self, 'on_mode_changed').bind(false))
@@ -150,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:
@@ -241,25 +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:
$control_result.text = 'Прибор ПРД-%s исправен' % name_prd
$control_result.add_theme_color_override('font_color', Color.GREEN)
else:
$control_result.text = 'Прибор ПРД-%s неисправен' % name_prd
$control_result.add_theme_color_override('font_color', Color.RED)
func find_labels(node1: Node):
if node1 is Label:
if node1.name in ["lbl_rname", "rname"]:
if not node1.has_meta("tooltip_set"):
ctrl_pos += 1
var box_number = ceili(float(ctrl_pos) / 10.0)
var position_number = ctrl_pos % 10
if position_number == 0:
position_number = 10
node1.tooltip_text = "Ящик - %d, Позиция - %d" % [box_number, position_number]
node1.mouse_filter = Control.MOUSE_FILTER_STOP
node1.set_meta("tooltip_set", true)
for child in node1.get_children():
find_labels(child)
log.message(Logger.INFO, 'Прибор ПРД-%s %s' % [name_prd, ['неисправен', 'исправен'][int(result)]])

View File

@@ -26,7 +26,7 @@ offset_top = 242.0
offset_right = 485.0
offset_bottom = 432.0
[node name="maa2000_A22" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("1_8dmgr")]
[node name="maa2000_A22" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("1_8dmgr")]
layout_mode = 0
offset_left = 485.0
offset_top = 907.0
@@ -35,8 +35,9 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A28"
metadata/ip = "maa2000_1"
metadata/case = 1
[node name="dou6_A7" parent="." groups=["default_reset"] instance=ExtResource("1_8dmgr")]
[node name="dou6_A7" parent="." groups=["case", "default_reset"] instance=ExtResource("1_8dmgr")]
layout_mode = 0
offset_left = 8.0
offset_top = 862.0
@@ -44,8 +45,9 @@ offset_right = 175.0
offset_bottom = 907.0
fname = "ДОУ-6"
rname = "A7"
metadata/case = 3
[node name="maa2000_A23" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("1_8dmgr")]
[node name="maa2000_A23" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("1_8dmgr")]
layout_mode = 0
offset_left = 8.0
offset_top = 907.0
@@ -54,8 +56,9 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A27"
metadata/ip = "maa2000_2"
metadata/case = 4
[node name="dou7_A8" parent="." groups=["default_reset"] instance=ExtResource("1_8dmgr")]
[node name="dou7_A8" parent="." groups=["case", "default_reset"] instance=ExtResource("1_8dmgr")]
layout_mode = 0
offset_left = 8.0
offset_top = 812.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
@@ -88,7 +92,7 @@ text = "Панель
horizontal_alignment = 1
vertical_alignment = 1
[node name="um1535_A10" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
[node name="um1535_A10" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
offset_left = 485.0
offset_top = 242.0
@@ -100,8 +104,9 @@ rname = "A10"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_1"
metadata/case = 0
[node name="um1535_A11" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
[node name="um1535_A11" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
offset_left = 485.0
offset_top = 337.0
@@ -112,8 +117,9 @@ rname = "A11"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_2"
metadata/case = 7
[node name="um1535_A12" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
[node name="um1535_A12" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
offset_left = 485.0
offset_top = 432.0
@@ -124,8 +130,9 @@ rname = "A12"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_3"
metadata/case = 8
[node name="um1535_A13" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
[node name="um1535_A13" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
offset_left = 485.0
offset_top = 527.0
@@ -136,8 +143,9 @@ rname = "A13"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_4"
metadata/case = 9
[node name="um1535_A14" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
[node name="um1535_A14" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
offset_left = 485.0
offset_top = 622.0
@@ -148,8 +156,9 @@ rname = "A14"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_5"
metadata/case = 11
[node name="um1535_A15" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
[node name="um1535_A15" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
offset_left = 485.0
offset_top = 717.0
@@ -160,8 +169,9 @@ rname = "A15"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_6"
metadata/case = 12
[node name="utm80_A9" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
[node name="utm80_A9" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
offset_left = 485.0
offset_top = 812.0
@@ -172,8 +182,9 @@ rname = "A9"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_7"
metadata/case = 13
[node name="rm1620m_A16" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
[node name="rm1620m_A16" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
offset_left = 8.0
offset_top = 242.0
@@ -184,8 +195,9 @@ rname = "A16"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_8"
metadata/case = 1
[node name="rm1620m_A17" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
[node name="rm1620m_A17" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
offset_left = 8.0
offset_top = 337.0
@@ -196,8 +208,9 @@ rname = "A17"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_9"
metadata/case = 2
[node name="rm1620m_A18" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
[node name="rm1620m_A18" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
offset_left = 8.0
offset_top = 432.0
@@ -208,8 +221,9 @@ rname = "A18"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_10"
metadata/case = 3
[node name="rm1620m_A19" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
[node name="rm1620m_A19" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
offset_left = 8.0
offset_top = 527.0
@@ -220,8 +234,9 @@ rname = "A19"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_11"
metadata/case = 4
[node name="rm1620m_A20" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
[node name="rm1620m_A20" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
offset_left = 8.0
offset_top = 622.0
@@ -232,8 +247,9 @@ rname = "A20"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_12"
metadata/case = 5
[node name="rm1620m_A21" parent="." groups=["power_amplifier"] instance=ExtResource("5_c7lv8")]
[node name="rm1620m_A21" parent="." groups=["case", "power_amplifier"] instance=ExtResource("5_c7lv8")]
layout_mode = 0
offset_left = 8.0
offset_top = 717.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
@@ -267,7 +284,7 @@ patch_margin_bottom = 16
script = ExtResource("7_xpa2n")
fname = "Кассета П-1"
[node name="ref_A26" parent="kasseta_p_1" groups=["default_reset", "power_supply"] instance=ExtResource("8_la5yt")]
[node name="ref_A26" parent="kasseta_p_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("8_la5yt")]
offset_left = 9.0
offset_top = 33.0
offset_right = 59.0
@@ -275,8 +292,9 @@ 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=["default_reset", "power_supply"] instance=ExtResource("8_la5yt")]
[node name="ref_A23" parent="kasseta_p_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("8_la5yt")]
offset_left = 59.0
offset_top = 33.0
offset_right = 109.0
@@ -284,8 +302,9 @@ 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=["default_reset", "power_supply"] instance=ExtResource("8_la5yt")]
[node name="ref_A24" parent="kasseta_p_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("8_la5yt")]
offset_left = 109.0
offset_top = 33.0
offset_right = 159.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)
@@ -313,12 +333,25 @@ offset_right = 485.0
offset_bottom = 812.0
fname = "Кассета П-2"
[node name="control_result" type="Label" parent="."]
[node name="ref_ZZ4" type="NinePatchRect" parent="."]
layout_mode = 0
offset_left = 9.0
offset_top = 960.0
offset_right = 649.0
offset_bottom = 1003.0
text = "Прибор ПРД- неисправен"
horizontal_alignment = 1
offset_left = 8.0
offset_top = 964.0
offset_right = 652.0
offset_bottom = 1010.0
texture = ExtResource("2_14h25")
patch_margin_left = 16
patch_margin_top = 16
patch_margin_right = 16
patch_margin_bottom = 16
metadata/_edit_lock_ = true
[node name="label" type="Label" parent="ref_ZZ4"]
self_modulate = Color(0.996078, 1, 1, 0.627451)
layout_mode = 0
offset_left = 10.0
offset_top = 8.0
offset_right = 633.0
offset_bottom = 38.0
horizontal_alignment = 1
vertical_alignment = 1

View File

@@ -26,15 +26,16 @@ text = "Кассета ФС-ВД"
horizontal_alignment = 1
vertical_alignment = 1
[node name="ref_A2" parent="." groups=["default_reset"] instance=ExtResource("2_mkgdh")]
[node name="ref_A2" parent="." groups=["case", "default_reset"] instance=ExtResource("2_mkgdh")]
offset_left = 55.0
offset_top = 32.0
offset_right = 105.0
offset_bottom = 182.0
fname = "Блок ФС-3"
rname = "A3"
metadata/case = 0
[node name="ref_A3" parent="." groups=["fs_group"] instance=ExtResource("2_mkgdh")]
[node name="ref_A3" parent="." groups=["case", "fs_group"] instance=ExtResource("2_mkgdh")]
offset_left = 105.0
offset_top = 32.0
offset_right = 155.0
@@ -42,8 +43,9 @@ offset_bottom = 182.0
fname = "Модуль ФС"
rname = "A1"
metadata/fs = "fs_4"
metadata/case = 0
[node name="ref_A4" parent="." groups=["fs_group"] instance=ExtResource("2_mkgdh")]
[node name="ref_A4" parent="." groups=["case", "fs_group"] instance=ExtResource("2_mkgdh")]
offset_left = 155.0
offset_top = 32.0
offset_right = 205.0
@@ -51,11 +53,13 @@ offset_bottom = 182.0
fname = "Модуль ФС"
rname = "A2"
metadata/fs = "fs_5"
metadata/case = 0
[node name="ref_A6" parent="." instance=ExtResource("2_mkgdh")]
[node name="ref_A6" parent="." groups=["case"] instance=ExtResource("2_mkgdh")]
offset_left = 205.0
offset_top = 32.0
offset_right = 255.0
offset_bottom = 182.0
fname = "Блок ФС-3"
rname = "A4"
metadata/case = 0

View File

@@ -53,10 +53,12 @@ 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
# Результаты контроля
var control_results_n: Dictionary = {
'block_ip': false, # Проверка касет П1 и ИП МА2000
@@ -69,7 +71,8 @@ var control_results_n: Dictionary = {
'fs_3': 2,
}
var test_control_n = preload('res://scripts/pribor-prd.gd')
var ctrl_pos = 0
################################
func on_state_mashine() -> void:
control_prd_n.state_control_machine()
@@ -82,7 +85,23 @@ func _ready() -> void:
initialize_connections()
setup_timer()
set_default_state()
find_labels(self)
var case_nodes = get_tree().get_nodes_in_group("case")
for case in case_nodes:
case.mouse_entered.connect(_on_element_hover.bind(case))
case.mouse_exited.connect(_on_element_unhover)
func _on_element_hover(case_node: Node) -> void:
$ref_ZZ4.visible = true
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:
$ref_ZZ4.visible = false
func initialize_connections() -> void:
@@ -93,7 +112,7 @@ func initialize_connections() -> void:
unit_prd_n.connect('line_changed', Callable(self, 'on_line_changed'))
var power_amplifiers: Array = get_tree().get_nodes_in_group('power_amplifier')
var init_data: Dictionary = {
'control_label': $control_result,
'control_label': $ref_ZZ4/label,
'power_amplifiers': power_amplifiers,
'unit_prd': unit_prd_n,
'module_prd' : prd_n_module,
@@ -111,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:
@@ -128,8 +147,8 @@ func set_default_state() -> void:
func _enter_tree() -> void:
if Engine.is_editor_hint():
return
$control_result.text = 'Выполняется ...'
$control_result.add_theme_color_override('font_color', Color.ALICE_BLUE)
$ref_ZZ4/label.text = 'Выполняется ...'
$ref_ZZ4/label.add_theme_color_override('font_color', Color.ALICE_BLUE)
signaller.connect('режим_работа', Callable(self, 'on_mode_changed').bind(false))
signaller.connect('режим_журнал', Callable(self, 'on_mode_changed').bind(false))
signaller.connect('режим_эмс', Callable(self, 'on_mode_changed').bind(false))
@@ -141,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:
@@ -150,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:
@@ -179,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:
@@ -224,25 +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:
$control_result.text = 'Прибор ПРД-%s исправен' % name_prd
$control_result.add_theme_color_override('font_color', Color.GREEN)
else:
$control_result.text = 'Прибор ПРД-%s неисправен' % name_prd
$control_result.add_theme_color_override('font_color', Color.RED)
func find_labels(node1: Node):
if node1 is Label:
if node1.name in ["lbl_rname", "rname"]:
if not node1.has_meta("tooltip_set"):
ctrl_pos += 1
var box_number = ceili(float(ctrl_pos) / 10.0)
var position_number = ctrl_pos % 10
if position_number == 0:
position_number = 10
node1.tooltip_text = "Ящик - %d, Позиция - %d" % [box_number, position_number]
node1.mouse_filter = Control.MOUSE_FILTER_STOP
node1.set_meta("tooltip_set", true)
for child in node1.get_children():
find_labels(child)
log.message(Logger.INFO, 'Прибор ПРД-%s %s' % [name_prd, ['неисправен', 'исправен'][int(result)]])

View File

@@ -17,7 +17,7 @@ offset_right = 15.0
offset_bottom = 30.0
script = ExtResource("1_bnnv3")
[node name="maa2000_A23" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("2_is25t")]
[node name="maa2000_A23" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("2_is25t")]
layout_mode = 2
offset_left = 8.0
offset_top = 877.0
@@ -26,8 +26,9 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A23"
metadata/ip = "maa2000_2"
metadata/case = 1
[node name="maa2000_A22" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("2_is25t")]
[node name="maa2000_A22" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("2_is25t")]
layout_mode = 2
offset_left = 485.0
offset_top = 877.0
@@ -36,8 +37,9 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A22"
metadata/ip = "maa2000_1"
metadata/case = 0
[node name="dou2_A5" parent="." groups=["default_reset"] instance=ExtResource("2_is25t")]
[node name="dou2_A5" parent="." groups=["case", "default_reset"] instance=ExtResource("2_is25t")]
layout_mode = 2
offset_left = 485.0
offset_top = 812.0
@@ -45,8 +47,9 @@ offset_right = 652.0
offset_bottom = 877.0
fname = "ДОУ-2"
rname = "A5"
metadata/case = 0
[node name="dou3_A6" parent="." groups=["default_reset"] instance=ExtResource("2_is25t")]
[node name="dou3_A6" parent="." groups=["case", "default_reset"] instance=ExtResource("2_is25t")]
layout_mode = 2
offset_left = 8.0
offset_top = 812.0
@@ -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
@@ -112,15 +116,16 @@ text = "Кассета ФС-НД"
horizontal_alignment = 1
vertical_alignment = 1
[node name="ref_A3" parent="kasseta_FS_ND" groups=["default_reset"] instance=ExtResource("7_eoqf2")]
[node name="ref_A3" parent="kasseta_FS_ND" groups=["case", "default_reset"] instance=ExtResource("7_eoqf2")]
offset_left = 55.0
offset_top = 32.0
offset_right = 105.0
offset_bottom = 182.0
fname = "Блок ФС-3"
rname = "A3"
metadata/case = 11
[node name="ref_A1" parent="kasseta_FS_ND" groups=["default_reset", "fs_group"] instance=ExtResource("7_eoqf2")]
[node name="ref_A1" parent="kasseta_FS_ND" groups=["case", "default_reset", "fs_group"] instance=ExtResource("7_eoqf2")]
offset_left = 105.0
offset_top = 32.0
offset_right = 155.0
@@ -128,8 +133,9 @@ offset_bottom = 182.0
fname = "Модуль ФС"
rname = "A1"
metadata/fs = "fs_3"
metadata/case = 11
[node name="ref_A2" parent="kasseta_FS_ND" groups=["default_reset", "fs_group"] instance=ExtResource("7_eoqf2")]
[node name="ref_A2" parent="kasseta_FS_ND" groups=["case", "default_reset", "fs_group"] instance=ExtResource("7_eoqf2")]
offset_left = 155.0
offset_top = 32.0
offset_right = 205.0
@@ -137,14 +143,16 @@ offset_bottom = 182.0
fname = "Модуль ФС"
rname = "A2"
metadata/fs = "fs_2"
metadata/case = 11
[node name="ref_A4" parent="kasseta_FS_ND" groups=["default_reset"] instance=ExtResource("7_eoqf2")]
[node name="ref_A4" parent="kasseta_FS_ND" groups=["case", "default_reset"] instance=ExtResource("7_eoqf2")]
offset_left = 205.0
offset_top = 32.0
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
@@ -160,7 +168,7 @@ patch_margin_bottom = 16
script = ExtResource("6_b5wvk")
fname = "Кассета П-1"
[node name="ref_A21" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_eoqf2")]
[node name="ref_A21" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_eoqf2")]
offset_left = 9.0
offset_top = 33.0
offset_right = 59.0
@@ -168,8 +176,9 @@ 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=["default_reset", "power_supply"] instance=ExtResource("7_eoqf2")]
[node name="ref_A20" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_eoqf2")]
offset_left = 59.0
offset_top = 33.0
offset_right = 109.0
@@ -177,8 +186,9 @@ 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=["default_reset", "power_supply"] instance=ExtResource("7_eoqf2")]
[node name="ref_A19" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_eoqf2")]
offset_left = 109.0
offset_top = 33.0
offset_right = 159.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)
@@ -198,7 +209,7 @@ text = "Кассета П-1"
horizontal_alignment = 1
vertical_alignment = 1
[node name="um1535_A7" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")]
[node name="um1535_A7" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
offset_left = 485.0
offset_top = 242.0
@@ -209,8 +220,9 @@ rname = "A7"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_1"
metadata/case = 11
[node name="um1535_A8" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")]
[node name="um1535_A8" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
offset_left = 485.0
offset_top = 337.0
@@ -221,8 +233,9 @@ rname = "A8"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_2"
metadata/case = 11
[node name="um1535_A9" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")]
[node name="um1535_A9" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
offset_left = 485.0
offset_top = 432.0
@@ -233,8 +246,9 @@ rname = "A9"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_3"
metadata/case = 11
[node name="um1535_A10" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")]
[node name="um1535_A10" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
offset_left = 485.0
offset_top = 527.0
@@ -245,8 +259,9 @@ rname = "A10"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_4"
metadata/case = 11
[node name="um1535_A11" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")]
[node name="um1535_A11" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
offset_left = 485.0
offset_top = 622.0
@@ -257,8 +272,9 @@ rname = "A11"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_5"
metadata/case = 11
[node name="um1535_A12" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")]
[node name="um1535_A12" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
offset_left = 485.0
offset_top = 717.0
@@ -269,8 +285,9 @@ rname = "A12"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_6"
metadata/case = 11
[node name="um1535_A13" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")]
[node name="um1535_A13" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
offset_left = 8.0
offset_top = 242.0
@@ -281,8 +298,9 @@ rname = "A13"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_7"
metadata/case = 11
[node name="um1535_A14" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")]
[node name="um1535_A14" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
offset_left = 8.0
offset_top = 337.0
@@ -293,8 +311,9 @@ rname = "A14"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_8"
metadata/case = 11
[node name="um1535_A15" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")]
[node name="um1535_A15" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
offset_left = 8.0
offset_top = 432.0
@@ -305,8 +324,9 @@ rname = "A15"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_9"
metadata/case = 11
[node name="um1535_A16" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")]
[node name="um1535_A16" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
offset_left = 8.0
offset_top = 527.0
@@ -317,8 +337,9 @@ rname = "A16"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_10"
metadata/case = 11
[node name="um1535_A17" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")]
[node name="um1535_A17" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
offset_left = 8.0
offset_top = 622.0
@@ -329,8 +350,9 @@ rname = "A17"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_11"
metadata/case = 11
[node name="um1535_A18" parent="." groups=["power_amplifier"] instance=ExtResource("7_bnnv3")]
[node name="um1535_A18" parent="." groups=["case", "power_amplifier"] instance=ExtResource("7_bnnv3")]
layout_mode = 0
offset_left = 8.0
offset_top = 717.0
@@ -341,12 +363,27 @@ rname = "A18"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_12"
metadata/case = 11
[node name="control_result" type="Label" parent="."]
[node name="ref_ZZ4" type="NinePatchRect" parent="."]
layout_mode = 0
offset_left = 9.0
offset_top = 960.0
offset_right = 649.0
offset_bottom = 1003.0
horizontal_alignment = 1
offset_left = 8.0
offset_top = 964.0
offset_right = 652.0
offset_bottom = 1010.0
texture = ExtResource("3_meukj")
patch_margin_left = 16
patch_margin_top = 16
patch_margin_right = 16
patch_margin_bottom = 16
metadata/_edit_lock_ = true
[node name="label" type="Label" parent="ref_ZZ4"]
self_modulate = Color(0.996078, 1, 1, 0.627451)
layout_mode = 0
offset_left = 10.0
offset_top = 8.0
offset_right = 633.0
offset_bottom = 38.0
horizontal_alignment = 1
vertical_alignment = 1

View File

@@ -69,7 +69,6 @@ var control_results_v: Dictionary = {
'fs_5': 2,
}
var test_control_v = preload('res://scripts/pribor-prd.gd')
var ctrl_pos = 70
func on_state_mashine() -> void:
@@ -83,7 +82,22 @@ func _ready() -> void:
initialize_connections()
setup_timer()
set_default_state()
find_labels(self)
var case_nodes: Array = get_tree().get_nodes_in_group("case")
for case in case_nodes:
case.mouse_entered.connect(_on_element_hover.bind(case))
case.mouse_exited.connect(_on_element_unhover)
func _on_element_hover(case_node: Node) -> void:
$ref_ZZ4.visible = true
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:
$ref_ZZ4.visible = false
func initialize_connections() -> void:
@@ -94,7 +108,7 @@ func initialize_connections() -> void:
unit_prd_v.connect('line_changed', Callable(self, 'on_line_changed'))
var power_amplifiers: Array = get_tree().get_nodes_in_group('power_amplifier')
var init_data: Dictionary = {
'control_label': $control_result,
'control_label': $ref_ZZ4/label,
'power_amplifiers': power_amplifiers,
'unit_prd': unit_prd_v,
'module_prd' : prd_v_module,
@@ -129,8 +143,8 @@ func set_default_state() -> void:
func _enter_tree() -> void:
if Engine.is_editor_hint():
return
$control_result.text = 'Выполняется ...'
$control_result.add_theme_color_override('font_color', Color.ALICE_BLUE)
$ref_ZZ4/label.text = 'Выполняется ...'
$ref_ZZ4/label.add_theme_color_override('font_color', Color.ALICE_BLUE)
signaller.connect('режим_работа', Callable(self, 'on_mode_changed').bind(false))
signaller.connect('режим_журнал', Callable(self, 'on_mode_changed').bind(false))
signaller.connect('режим_эмс', Callable(self, 'on_mode_changed').bind(false))
@@ -143,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:
@@ -223,25 +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:
$control_result.text = 'Прибор ПРД-%s исправен' % name_prd
$control_result.add_theme_color_override('font_color', Color.GREEN)
else:
$control_result.text = 'Прибор ПРД-%s неисправен' % name_prd
$control_result.add_theme_color_override('font_color', Color.RED)
func find_labels(node1: Node):
if node1 is Label:
if node1.name in ["lbl_rname", "rname"]:
if not node1.has_meta("tooltip_set"):
ctrl_pos += 1
var box_number = ceili(float(ctrl_pos) / 10.0)
var position_number = ctrl_pos % 10
if position_number == 0:
position_number = 10
node1.tooltip_text = "Ящик - %d, Позиция - %d" % [box_number, position_number]
node1.mouse_filter = Control.MOUSE_FILTER_STOP
node1.set_meta("tooltip_set", true)
for child in node1.get_children():
find_labels(child)
log.message(Logger.INFO, 'Прибор ПРД-%s %s' % [name_prd, ['неисправен', 'исправен'][int(result)]])

View File

@@ -18,7 +18,7 @@ offset_right = 15.0
offset_bottom = 30.0
script = ExtResource("1_c20s6")
[node name="maa2000_A22" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("2_xpo4b")]
[node name="maa2000_A22" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("2_xpo4b")]
layout_mode = 2
offset_left = 485.0
offset_top = 877.0
@@ -27,8 +27,9 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A22"
metadata/ip = "maa2000_1"
metadata/case = 1
[node name="dou4_A5" parent="." groups=["default_reset"] instance=ExtResource("2_xpo4b")]
[node name="dou4_A5" parent="." groups=["case", "default_reset"] instance=ExtResource("2_xpo4b")]
layout_mode = 2
offset_left = 485.0
offset_top = 812.0
@@ -36,8 +37,9 @@ offset_right = 652.0
offset_bottom = 877.0
fname = "ДОУ-4"
rname = "A5"
metadata/case = 5
[node name="maa2000_A23" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("2_xpo4b")]
[node name="maa2000_A23" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("2_xpo4b")]
layout_mode = 2
offset_left = 8.0
offset_top = 877.0
@@ -46,8 +48,9 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A23"
metadata/ip = "maa2000_2"
metadata/case = 3
[node name="dou5_A6" parent="." groups=["default_reset"] instance=ExtResource("2_xpo4b")]
[node name="dou5_A6" parent="." groups=["case", "default_reset"] instance=ExtResource("2_xpo4b")]
layout_mode = 2
offset_left = 8.0
offset_top = 812.0
@@ -55,6 +58,7 @@ offset_right = 175.0
offset_bottom = 877.0
fname = "ДОУ-5"
rname = "A6"
metadata/case = 4
[node name="ref_ZZ3" type="NinePatchRect" parent="."]
layout_mode = 0
@@ -109,7 +113,7 @@ patch_margin_bottom = 16
script = ExtResource("6_os4mt")
fname = "Кассета П-1В"
[node name="ref_A19" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_38u2b")]
[node name="ref_A19" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_38u2b")]
offset_left = 9.0
offset_top = 33.0
offset_right = 59.0
@@ -117,8 +121,9 @@ offset_bottom = 183.0
fname = "ИП9-50"
rname = "A19"
metadata/ip = "ip9_50_1"
metadata/case = 3
[node name="ref_A20" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_38u2b")]
[node name="ref_A20" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_38u2b")]
offset_left = 59.0
offset_top = 33.0
offset_right = 109.0
@@ -126,8 +131,9 @@ offset_bottom = 183.0
fname = "ИП9-50"
rname = "A20"
metadata/ip = "ip9_50_2"
metadata/case = 0
[node name="ref_A21" parent="kasseta_P_1" groups=["default_reset", "power_supply"] instance=ExtResource("7_38u2b")]
[node name="ref_A21" parent="kasseta_P_1" groups=["case", "default_reset", "power_supply"] instance=ExtResource("7_38u2b")]
offset_left = 109.0
offset_top = 33.0
offset_right = 159.0
@@ -135,6 +141,7 @@ offset_bottom = 183.0
fname = "ИП12-50"
rname = "A21"
metadata/ip = "ip12_50_1"
metadata/case = 0
[node name="lbl_fname" type="Label" parent="kasseta_P_1"]
self_modulate = Color(1, 1, 1, 0.62)
@@ -147,7 +154,7 @@ text = "Кассета П-1В"
horizontal_alignment = 1
vertical_alignment = 1
[node name="um1535_A7" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")]
[node name="um1535_A7" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")]
layout_mode = 0
offset_left = 485.0
offset_top = 242.0
@@ -158,8 +165,9 @@ rname = "A7"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_1"
metadata/case = 1
[node name="um1535_A8" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")]
[node name="um1535_A8" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")]
layout_mode = 0
offset_left = 485.0
offset_top = 337.0
@@ -170,8 +178,9 @@ rname = "A8"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_2"
metadata/case = 1
[node name="um1535_A9" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")]
[node name="um1535_A9" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")]
layout_mode = 0
offset_left = 485.0
offset_top = 432.0
@@ -182,8 +191,9 @@ rname = "A9"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_3"
metadata/case = 1
[node name="um1535_A10" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")]
[node name="um1535_A10" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")]
layout_mode = 0
offset_left = 485.0
offset_top = 527.0
@@ -194,8 +204,9 @@ rname = "A10"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_4"
metadata/case = 1
[node name="um1535_A11" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")]
[node name="um1535_A11" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")]
layout_mode = 0
offset_left = 485.0
offset_top = 622.0
@@ -206,8 +217,9 @@ rname = "A11"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_5"
metadata/case = 1
[node name="um1535_A12" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")]
[node name="um1535_A12" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")]
layout_mode = 0
offset_left = 485.0
offset_top = 717.0
@@ -218,8 +230,9 @@ rname = "A12"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_6"
metadata/case = 5
[node name="um1535_A13" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")]
[node name="um1535_A13" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")]
layout_mode = 0
offset_left = 8.0
offset_top = 242.0
@@ -230,8 +243,9 @@ rname = "A13"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_7"
metadata/case = 1
[node name="um1535_A14" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")]
[node name="um1535_A14" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")]
layout_mode = 0
offset_left = 8.0
offset_top = 337.0
@@ -242,8 +256,9 @@ rname = "A14"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_8"
metadata/case = 1
[node name="um1535_A15" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")]
[node name="um1535_A15" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")]
layout_mode = 0
offset_left = 8.0
offset_top = 432.0
@@ -254,8 +269,9 @@ rname = "A15"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_9"
metadata/case = 1
[node name="um1535_A16" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")]
[node name="um1535_A16" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")]
layout_mode = 0
offset_left = 8.0
offset_top = 527.0
@@ -266,8 +282,9 @@ rname = "A16"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_10"
metadata/case = 1
[node name="um1535_A17" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")]
[node name="um1535_A17" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")]
layout_mode = 0
offset_left = 8.0
offset_top = 622.0
@@ -278,8 +295,9 @@ rname = "A17"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_11"
metadata/case = 1
[node name="um1535_A18" parent="." groups=["power_amplifier"] instance=ExtResource("8_4e87c")]
[node name="um1535_A18" parent="." groups=["case", "power_amplifier"] instance=ExtResource("8_4e87c")]
layout_mode = 0
offset_left = 8.0
offset_top = 717.0
@@ -290,12 +308,27 @@ rname = "A18"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_12"
metadata/case = 10
[node name="control_result" type="Label" parent="."]
[node name="ref_ZZ4" type="NinePatchRect" parent="."]
layout_mode = 0
offset_left = 9.0
offset_top = 960.0
offset_right = 649.0
offset_bottom = 1003.0
horizontal_alignment = 1
offset_left = 8.0
offset_top = 964.0
offset_right = 652.0
offset_bottom = 1010.0
texture = ExtResource("3_wyy1b")
patch_margin_left = 16
patch_margin_top = 16
patch_margin_right = 16
patch_margin_bottom = 16
metadata/_edit_lock_ = true
[node name="label" type="Label" parent="ref_ZZ4"]
self_modulate = Color(0.996078, 1, 1, 0.627451)
layout_mode = 0
offset_left = 10.0
offset_top = 8.0
offset_right = 633.0
offset_bottom = 38.0
horizontal_alignment = 1
vertical_alignment = 1

View File

@@ -10,13 +10,13 @@ var is_uf_operational: bool = false
func _ready() -> void:
tooltip_text = 'Нет связи с приборами комплекса'
for prd_module in prd.prd_dict.values():
prd_module.connect('update_serviceability', Callable(self, 'on_serviceability_changed').bind(prd_module))
prd_module.connect('update_serviceability', Callable(self, 'on_update_serviceability').bind(prd_module))
var unit_uf: = network.get_unit_instance('уарэп-эмс')
unit_uf.connect('data_received', Callable(self, 'on_uf_status_receive'))
add_theme_color_override("font_color", Color.BLACK)
func on_serviceability_changed(unit_prd_module: Object) -> void:
func on_update_serviceability(unit_prd_module: Object) -> void:
var check_service: bool = true
for prd_module in prd.prd_dict.values():
if prd_module.unit_yau07.online:

View File

@@ -351,7 +351,7 @@ layout_mode = 2
size_flags_vertical = 3
columns = 7
[node name="level1" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]]
[node name="level1" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case", "уровни"]]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
@@ -371,7 +371,7 @@ texture_progress = ExtResource("6_3w8fg")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
[node name="level2" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]]
[node name="level2" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case", "уровни"]]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
@@ -391,7 +391,7 @@ texture_progress = ExtResource("6_3w8fg")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
[node name="level3" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]]
[node name="level3" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case", "уровни"]]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
@@ -411,7 +411,7 @@ texture_progress = ExtResource("6_3w8fg")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
[node name="level4" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]]
[node name="level4" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case", "уровни"]]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
@@ -431,7 +431,7 @@ texture_progress = ExtResource("6_3w8fg")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
[node name="level5" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]]
[node name="level5" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case", "уровни"]]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
@@ -451,7 +451,7 @@ texture_progress = ExtResource("6_3w8fg")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
[node name="level6" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["уровни"]]
[node name="level6" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case", "уровни"]]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
@@ -471,7 +471,7 @@ texture_progress = ExtResource("6_3w8fg")
tint_under = Color(1, 1, 1, 0.419608)
tint_progress = Color(0.890196, 0.486275, 0.196078, 1)
[node name="level7" type="TextureProgressBar" parent="margin/vbox/grid1"]
[node name="level7" type="TextureProgressBar" parent="margin/vbox/grid1" groups=["case"]]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3

View File

@@ -14,7 +14,7 @@ patch_margin_right = 16
patch_margin_bottom = 16
script = ExtResource("2_mdnod")
[node name="ref_A26" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("3_4a27g")]
[node name="ref_A26" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("3_4a27g")]
offset_left = 10.0
offset_top = 30.0
offset_right = 60.0
@@ -22,8 +22,9 @@ offset_bottom = 180.0
fname = "ИП9-50"
rname = "A22"
metadata/ip = "ip9_50_3"
metadata/case = 1
[node name="ref_A23" parent="." groups=["default_reset", "power_supply"] instance=ExtResource("3_4a27g")]
[node name="ref_A23" parent="." groups=["case", "default_reset", "power_supply"] instance=ExtResource("3_4a27g")]
offset_left = 60.0
offset_top = 30.0
offset_right = 110.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

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

View File

@@ -25,7 +25,7 @@ text = "Кассета У5"
horizontal_alignment = 1
vertical_alignment = 1
[node name="ref_A24" parent="." groups=["power_supply"] instance=ExtResource("3_picsk")]
[node name="ref_A24" parent="." groups=["case", "power_supply"] instance=ExtResource("3_picsk")]
offset_left = 5.0
offset_top = 32.0
offset_right = 55.0
@@ -33,8 +33,9 @@ offset_bottom = 182.0
fname = "ИП5-25"
rname = "A24"
metadata/ip = "ip5_25"
metadata/case = 1
[node name="ref_A30" parent="." groups=["y-5"] instance=ExtResource("3_picsk")]
[node name="ref_A30" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")]
offset_left = 55.0
offset_top = 32.0
offset_right = 105.0
@@ -42,8 +43,9 @@ offset_bottom = 182.0
fname = "ЯУ-07Б"
rname = "A30"
metadata/y5 = "yau07"
metadata/case = 2
[node name="ref_A26" parent="." groups=["y-5"] instance=ExtResource("3_picsk")]
[node name="ref_A26" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")]
offset_left = 105.0
offset_top = 32.0
offset_right = 155.0
@@ -51,8 +53,9 @@ offset_bottom = 182.0
fname = "ЭМС-Г"
rname = "A26"
metadata/y5 = "ems"
metadata/case = 0
[node name="ref_A27" parent="." groups=["y-5"] instance=ExtResource("3_picsk")]
[node name="ref_A27" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")]
offset_left = 155.0
offset_top = 32.0
offset_right = 205.0
@@ -60,8 +63,9 @@ offset_bottom = 182.0
fname = "УГ"
rname = "A27"
metadata/y5 = "ug"
metadata/case = 2
[node name="ref_A28" parent="." groups=["y-5"] instance=ExtResource("3_picsk")]
[node name="ref_A28" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")]
offset_left = 205.0
offset_top = 32.0
offset_right = 255.0
@@ -69,8 +73,9 @@ offset_bottom = 182.0
fname = "УКП"
rname = "A28"
metadata/y5 = "ukp1"
metadata/case = 1
[node name="ref_A29" parent="." groups=["y-5"] instance=ExtResource("3_picsk")]
[node name="ref_A29" parent="." groups=["case", "y-5"] instance=ExtResource("3_picsk")]
offset_left = 254.0
offset_top = 32.0
offset_right = 304.0
@@ -78,3 +83,4 @@ offset_bottom = 182.0
fname = "УКП"
rname = "A29"
metadata/y5 = "ukp2"
metadata/case = 0

View File

@@ -1,47 +0,0 @@
extends "res://scenes/контроль/кассета.gd"
enum STATE_VAL {
NONE = 0,
GOOD = 1,
ERROR = 2 }
func _ready() -> void:
var unit_name = get_parent().get_meta('unit_name')[0]
var unit_prd = network.get_unit_instance(unit_name)
unit_prd.connect('data_received', Callable(self, 'on_data_received'))
unit_prd.connect('line_changed', Callable(self, 'on_line_changed'))
set_default_state()
func set_default_state():
$ref_A30.state = STATE_VAL.ERROR # ЯУ-07Б
$ref_A24.state = STATE_VAL.NONE # ИП5-25
$ref_A26.state = STATE_VAL.NONE # ЭМС-Г
$ref_A27.state = STATE_VAL.NONE # УГ
$ref_A28.state = STATE_VAL.NONE # УКП
$ref_A29.state = STATE_VAL.NONE # УКП
func on_line_changed(unit_prd):
if not unit_prd.online:
set_default_state()
func on_data_received(unit_prd):
$ref_A30.state = STATE_VAL.GOOD
var ems_online = unit_prd.status[0] & 1
var bit_load = 4
var ems_load = (unit_prd.status[0] >> bit_load) & 1
var ug_online = (unit_prd.status[0] >> 1) & 1
$ref_A26.state = STATE_VAL.GOOD if ems_online and ems_load else STATE_VAL.ERROR
$ref_A27.state = STATE_VAL.GOOD if ug_online else STATE_VAL.ERROR
$ref_A28.state = STATE_VAL.GOOD if (unit_prd.status[0] >> 2) & 1 else STATE_VAL.ERROR
$ref_A29.state = STATE_VAL.GOOD if (unit_prd.status[0] >> 3) & 1 else STATE_VAL.ERROR
if ug_online:
var byte_dry_contact: int = 27
var bit_ip5_25: int = 7
var ip5_25 = unit_prd.status[byte_dry_contact] >> bit_ip5_25 & 1
$ref_A24.state = STATE_VAL.ERROR if ip5_25 else STATE_VAL.GOOD
else:
$ref_A24.state = STATE_VAL.NONE

View File

@@ -1 +0,0 @@
uid://dow4nqi6hbak8

View File

@@ -1,12 +1,16 @@
@tool
extends TextureButton
@onready var tween: Tween
@export var state_colors: Array
func _on_toggled(toggled_on): $frame.visible = toggled_on
func _on_toggled(toggled_on) -> void: $frame.visible = toggled_on
func _enter_tree() -> void: $label.self_modulate = state_colors[state]
func update_progress_bar(target_value) -> void:
if tween:
tween.kill()
tween = create_tween()
tween.tween_property($progress, "value", target_value, 0.3)
@export var state: int:
set(v):
@@ -14,3 +18,33 @@ func _enter_tree() -> void: $label.self_modulate = state_colors[state]
state = v
if is_inside_tree():
$label.self_modulate = state_colors[v]
@export var progress_value: float:
set(v):
progress_value = v
if is_inside_tree():
update_progress_bar(v)
var result = (progress_value/20.0) * 100.0
$progress.tooltip_text = 'Процесс контроля %s' % progress_value + '%'
@export var progress_visible: bool:
set(v):
progress_visible = v
if is_inside_tree():
$progress.visible = v
@export var progress_max_value: float:
set(v):
progress_max_value = v
if is_inside_tree():
$progress.max_value = v
@export var progress_min_value: float:
set(v):
progress_min_value = v
if is_inside_tree():
$progress.min_value = v

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=18 format=3 uid="uid://lwmw4egynmd1"]
[gd_scene load_steps=20 format=3 uid="uid://lwmw4egynmd1"]
[ext_resource type="Texture2D" uid="uid://bar8k5qef7kch" path="res://data/УФ.png" id="2_0nvm1"]
[ext_resource type="Script" uid="uid://q3gmpsqspjfp" path="res://scenes/контроль/внешний.gd" id="2_8r80x"]
@@ -14,6 +14,8 @@
[ext_resource type="Texture2D" uid="uid://dnreyfh3cd1k2" path="res://data/состояние-исправности-1.png" id="8_isjua"]
[ext_resource type="Texture2D" uid="uid://b4isaggma6q3" path="res://data/Грани22.png" id="9_iqgf5"]
[ext_resource type="Texture2D" uid="uid://c6booa8753u5t" path="res://data/состояние-исправности-2.png" id="9_ll0vs"]
[ext_resource type="Texture2D" uid="uid://00871pb6moln" path="res://data/прогресс-фон-1.png" id="9_w6m6a"]
[ext_resource type="Texture2D" uid="uid://c1k856fxhrjnh" path="res://data/прогресс-заполнение-1.png" id="10_lbx5w"]
[ext_resource type="Script" uid="uid://bncy1x53jp73d" path="res://scenes/контроль/connect_pribor.gd" id="11_u7tym"]
[sub_resource type="GDScript" id="GDScript_iqgf5"]
@@ -83,7 +85,8 @@ func _ready():
for item in unit_names:
if prd.prd_dict.has(item):
var prd_module = prd.prd_dict[item]
prd_module.connect('update_serviceability', Callable(self, 'on_serviceability_changed').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))
# Пиктограммы приборов, которые отображают состояние подключения только
@@ -135,7 +138,7 @@ func on_pribor_press(pribor_path, header_text, pribor_node):
add_child(pribor)
func on_serviceability_changed(prd_module: Object, prd_pribor:Node)-> void:
func on_update_serviceability(prd_module: Object, prd_pribor:Node)-> void:
if not prd_module.unit_yau07.online:
prd_pribor.state = 0
return
@@ -143,8 +146,18 @@ func on_serviceability_changed(prd_module: Object, prd_pribor:Node)-> void:
func on_update_uf_serviceability(uf_serviceaability: bool, uf_pribor: Node)-> void:
uf_pribor.state = 1 if uf_serviceaability else 2
func _on_control_prd_pressed() -> void:
var prim = prd.prd_dict['уарэп-яу07-1н'].unit_control
prim._determine_self_name()
prim.machine_timer.start()
func on_update_progress(value_progress: float, pribor_node: Node) -> void: # Пока не надо
pribor_node.progress_value = value_progress
pribor_node.progress_visible = value_progress > 0
"
[sub_resource type="SpriteFrames" id="SpriteFrames_foasq"]
@@ -360,6 +373,8 @@ stretch_mode = 4
flip_h = true
script = ExtResource("3_4pt7j")
state_colors = [Color(1, 1, 1, 1), Color(0, 0.87, 0, 1), Color(0.65, 0.0715, 0.0715, 1)]
progress_value = 15.0
progress_max_value = 30.0
metadata/online_proc = "on_line_changed"
metadata/unit_name = ["уарэп-яу07-1н"]
@@ -396,6 +411,32 @@ sprite_frames = SubResource("SpriteFrames_foasq")
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
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
step = 0.1
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_uf" type="TextureButton" parent="." groups=["pribor_buttons"]]
editor_description = "Кнопка для выбора прибора."
layout_mode = 0
@@ -416,6 +457,7 @@ metadata/unit_name = ["уарэп-эмс"]
metadata/online_proc = "on_line_changed"
[node name="label" type="Label" parent="pribor_uf"]
self_modulate = Color(0, 1, 0, 1)
layout_mode = 0
offset_left = 15.0
offset_top = -34.0
@@ -746,6 +788,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
@@ -800,6 +867,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
@@ -852,6 +944,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
@@ -904,6 +1021,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
@@ -956,6 +1098,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
@@ -1008,6 +1175,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
@@ -1060,6 +1252,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
@@ -1112,6 +1329,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
@@ -1163,6 +1405,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
@@ -1214,6 +1481,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
@@ -1265,6 +1557,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
@@ -1386,6 +1703,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"]
@@ -1403,3 +1728,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
@@ -160,12 +161,25 @@ class PRD:
var ug_online: bool = false ## Состояние ячейки УГ
var serviceability: bool = false
var set_ug_state: bool = true ## Необходимо ли записать в УГ настройки
signal update_serviceability()
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 = []
@@ -281,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,31 +225,30 @@ 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()
signal control_is_over(control_results, power_result)
var machine_timer: Timer = Timer.new()
var ecms: Dictionary ## Словарь помеховых воздействий
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:
initialize_connections()
_determine_self_name()
setup_timer()
@@ -121,7 +264,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:
@@ -162,107 +305,106 @@ class TestPRD extends Node:
##
func state_control_machine() -> void:
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()
## В машине состояний вызов изменения состояния контроля
progressbar_status()
func _handle_init_state() -> void:
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
print('control_is_over')
machine_timer.stop()
func _handle_fs_turn_on_state() -> void:
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 \
@@ -270,7 +412,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:
@@ -293,11 +435,6 @@ 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
]
flag_write_isa = on_ug_setting(module_prd, unit_prd, dic_att)
@@ -306,15 +443,13 @@ class TestPRD extends Node:
func _handle_fs_turn_off_state() -> void:
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
_advance_to_next_fs()
state = STATE_MASHINE.INIT
state = STATE_MACHINE.INIT
func _advance_to_next_fs() -> void:
@@ -330,7 +465,6 @@ class TestPRD extends Node:
######################################
func initialize_connections() -> void:
_determine_self_name()
var fs_mapping = _create_fs_mapping(self_name)
signaller.conn(signaller.fs_update_state, Callable(self, 'on_fs_update_state').bind(fs_mapping))
interfer.connect('interfer_resized', Callable(self, 'on_interfer_resized'))
@@ -345,19 +479,61 @@ 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 == '':
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:
add_child(control_timer)
control_timer.timeout.connect(on_stop_control)
control_timer.one_shot = true
control_timer.wait_time = 15.0
control_timer.start()
control_timer.wait_time = constants.TIMER_DELAY
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():
state_control_machine()
var cc: int = 0
func progressbar_status() -> void:
match state:
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()
if current_litera == 0:
progress_value = 0
func _process_dkm_status(status: PackedByteArray) -> void:
if not control_results.has(_get_current_fs_key()):
@@ -405,18 +581,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: