Доработка выхода из контроля

This commit is contained in:
Maxim
2025-08-25 14:41:54 +03:00
parent a32e09e73b
commit 955baba574
7 changed files with 107 additions and 470 deletions

View File

@@ -13,7 +13,7 @@ const constants_k: Dictionary = {
'ADDR_UG_LITERA_3': 0x10A,
'TEMP_THRESHOLD': 40,
'POWER_THRESHOLD': 40,
'TIMER_DELAY': 0.50,
'TIMER_DELAY': 5.0,
'RAY_DOU_NUM': 0x3,
'ATT_UM_1': 0x0,
'ATT_UM_6': 0x7,
@@ -45,18 +45,6 @@ var block_ip_config_k := {
'ip12_50_2': [6, false],
'ip5_25': [7, false],
}
# Проверка ДКМ
var block_dkm_config_k: = {
'dkm_1': false,
'dkm_6': false,
'dkm_7': false,
}
# Проверка ФС
var block_fs_prd_config_k: = {
'fs_1': false,
'fs_6': false,
'fs_7': false,
}
var block_kasseta_y5_prd_config_k: = {
'yau07': false,
'ems': false,
@@ -75,11 +63,15 @@ var unit_prd_k: Object
# Результаты контроля
var control_results_k: Dictionary = {
'block_ip': false, # Проверка касет П1 и ИП МА2000
'temperature': true, # Проверка температур УМ
'dkm': false,
'temperature': true,
'dkm_1': false,
'dkm_6': false,
'dkm_7': false,
'dou_6': false,
'dou_7': false, # Мощность от УКП
'fs': false,
'dou_7': false,
'fs_1': false,
'fs_6': false,
'fs_7': false,
}
var test = preload('res://scripts/pribor-prd.gd')
@@ -115,8 +107,6 @@ func initialize_connections() -> void:
'prd_config': PRIBOR_CONFIG,
'fs_params': FS_PARAMS,
'block_ip_prd_config': block_ip_config_k,
'block_dkm_prd_config': block_dkm_config_k,
'block_fs_prd_config': block_fs_prd_config_k,
'block_kasseta_y5_prd_config': block_kasseta_y5_prd_config_k,
'control_results': control_results_k,
'current_litera': start_litera,
@@ -147,6 +137,10 @@ func _enter_tree() -> void:
$control_result.text = 'Выполняется ...'
$control_result.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))
signaller.connect('режим_настройки', Callable(self, 'on_mode_changed').bind(false))
signaller.connect('режим_контроль', Callable(self, 'on_mode_changed').bind(true))
func _exit_tree() -> void:
@@ -166,10 +160,14 @@ func on_mode_changed(in_tree: bool) -> void:
prd_k_module.cmd_array.append([unit_prd_k.CmdCode.WRITE_ISA, [constants_k.ADDR_UG_LITERA_1, ug_work_1, constants_k.ADDR_UG_LITERA_2, ug_work_2, constants_k.ADDR_UG_LITERA_3, ug_work_3]])
signaller.emit_signal('interfer_off_all')
else:
set_default_state()
control_prd_k.state = control_prd_k.STATE_MASHINE.INIT
mashine_timer.start()
func power_fill(pow_dic: Dictionary) -> void:
if not control_prd_k.block_kasseta_y5_config.yau07 or not control_prd_k.block_kasseta_y5_config.ukp1 or not control_prd_k.block_kasseta_y5_config.ukp2:
return
var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier')
for i_powapm in power_amplifier:
var powamp_meta: String = i_powapm.get_meta('um')
@@ -206,23 +204,21 @@ func on_control_result(result_dic: Dictionary, power_dic: Dictionary) -> void:
if block_ip_config_k.has(meta_ip) and block_kasseta_y5_prd_config_k.ug:
power_supply.state = STATE_VAL.GOOD if block_ip_config_k[meta_ip][1] else STATE_VAL.ERROR
var fs_results: Dictionary = control_prd_k.block_fs_config
var fs_nodes: Array = get_tree().get_nodes_in_group('fs_group')
for f in fs_nodes:
var fs_meta: String = f.get_meta('fs')
if fs_results.has(fs_meta):
var new_state = fs_results[fs_meta]
if result_dic.has(fs_meta):
var new_state = result_dic[fs_meta]
f.state = new_state
fs_results[fs_meta] = new_state
result_dic[fs_meta] = new_state
var dkm: Dictionary = control_prd_k.block_dkm_config
if fs_results.fs_1:
$kasseta_fs_kd/ref_A2.state = STATE_VAL.GOOD if dkm.dkm_1 else STATE_VAL.ERROR
if fs_results.fs_6:
$kasseta_fs_kd/ref_A4.state = STATE_VAL.GOOD if dkm.dkm_6 else STATE_VAL.ERROR
if result_dic.fs_1:
$kasseta_fs_kd/ref_A2.state = STATE_VAL.GOOD if result_dic.dkm_1 else STATE_VAL.ERROR
if result_dic.fs_6:
$kasseta_fs_kd/ref_A4.state = STATE_VAL.GOOD if result_dic.dkm_6 else STATE_VAL.ERROR
$dou6_A7.state = STATE_VAL.GOOD if result_dic.dou_6 else STATE_VAL.ERROR
if fs_results.fs_7:
$kasseta_fs_kd/ref_A7.state = STATE_VAL.GOOD if dkm.dkm_7 else STATE_VAL.ERROR
if result_dic.fs_7:
$kasseta_fs_kd/ref_A7.state = STATE_VAL.GOOD if result_dic.dkm_7 else STATE_VAL.ERROR
$dou7_A8.state = STATE_VAL.GOOD if result_dic.dou_7 else STATE_VAL.ERROR
power_fill(power_dic)

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=15 format=3 uid="uid://m5s87q7m66lj"]
[gd_scene load_steps=10 format=3 uid="uid://m5s87q7m66lj"]
[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="1_8dmgr"]
[ext_resource type="Script" uid="uid://cwvikiygf8b1m" path="res://scenes/pribor-prd-k/pribor-prd-k.gd" id="1_tpdyp"]
@@ -9,31 +9,6 @@
[ext_resource type="Script" uid="uid://crpedygm3gohi" path="res://scenes/контроль/кассета.gd" id="7_xpa2n"]
[ext_resource type="PackedScene" uid="uid://dq31j24gv5vi4" path="res://scenes/контроль/кассета-п-2.tscn" id="8_6fdp7"]
[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="8_la5yt"]
[ext_resource type="Texture2D" uid="uid://belwchvdktrw0" path="res://data/эмс-бланк.png" id="11_c7lv8"]
[ext_resource type="Texture2D" uid="uid://bwddxs24es81u" path="res://data/эмс-бланк-пост.png" id="12_wd1vi"]
[ext_resource type="Texture2D" uid="uid://pfoscstbm025" path="res://data/эмс-бланк-перем.png" id="13_bjebg"]
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_kc77u"]
[sub_resource type="SpriteFrames" id="SpriteFrames_di0aa"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("11_c7lv8")
}, {
"duration": 1.0,
"texture": ExtResource("12_wd1vi")
}, {
"duration": 1.0,
"texture": ExtResource("13_bjebg")
}, {
"duration": 1.0,
"texture": null
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[node name="pribor_prd_k" type="Control"]
layout_mode = 3
@@ -204,7 +179,7 @@ offset_left = 8.0
offset_top = 242.0
offset_right = 175.0
offset_bottom = 337.0
fname = "РМ16-20М"
fname = "УМ1535Б"
rname = "A16"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
@@ -216,7 +191,7 @@ offset_left = 8.0
offset_top = 337.0
offset_right = 173.0
offset_bottom = 432.0
fname = "РМ16-20М"
fname = "УМ1535Б"
rname = "A17"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
@@ -228,7 +203,7 @@ offset_left = 8.0
offset_top = 432.0
offset_right = 175.0
offset_bottom = 527.0
fname = "РМ16-20М"
fname = "УМ1535Б"
rname = "A18"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
@@ -240,7 +215,7 @@ offset_left = 8.0
offset_top = 527.0
offset_right = 175.0
offset_bottom = 622.0
fname = "РМ16-20М"
fname = "УМ1535Б"
rname = "A19"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
@@ -252,7 +227,7 @@ offset_left = 8.0
offset_top = 622.0
offset_right = 175.0
offset_bottom = 717.0
fname = "РМ16-20М"
fname = "УМ1535Б"
rname = "A20"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
@@ -264,7 +239,7 @@ offset_left = 8.0
offset_top = 717.0
offset_right = 175.0
offset_bottom = 812.0
fname = "РМ16-20М"
fname = "УМ1535Б"
rname = "A21"
value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
@@ -349,117 +324,3 @@ theme_override_font_sizes/font_size = 28
text = "Прибор ПРД- неисправен"
horizontal_alignment = 1
metadata/_edit_lock_ = true
[node name="Monitoring_panel" type="Panel" parent="."]
visible = false
layout_mode = 0
offset_left = 496.0
offset_top = 8.0
offset_right = 496.0
offset_bottom = 8.0
theme_override_styles/panel = SubResource("StyleBoxTexture_kc77u")
[node name="in_fs_1" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(206, 577)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_di0aa")
[node name="in_fs_1" type="Label" parent="Monitoring_panel/in_fs_1"]
offset_left = -15.1667
offset_top = 14.0
offset_right = 14.8333
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "In FS 1"
horizontal_alignment = 1
metadata/_edit_use_anchors_ = true
[node name="in_fs_2" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(319, 577)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_di0aa")
[node name="in_fs_3" type="Label" parent="Monitoring_panel/in_fs_2"]
offset_left = -15.1667
offset_top = 14.0
offset_right = 14.8333
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "In FS 3"
horizontal_alignment = 1
[node name="out_ems_1" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(206, 465)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_di0aa")
[node name="Out_ems_1" type="Label" parent="Monitoring_panel/out_ems_1"]
anchors_preset = -1
anchor_left = 0.0185185
anchor_right = 0.0185185
anchor_bottom = 0.555556
offset_left = -18.5
offset_top = 14.0
offset_right = 17.5
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "Out
ems 1"
horizontal_alignment = 1
metadata/_edit_use_anchors_ = true
[node name="out_ems_2" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(319, 465)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_di0aa")
[node name="Out_ems_1" type="Label" parent="Monitoring_panel/out_ems_2"]
offset_left = -15.1667
offset_top = 14.0
offset_right = 14.8333
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "Out
ems 2"
horizontal_alignment = 1
[node name="in_fs_3" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(264, 577)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_di0aa")
[node name="in_fs_2" type="Label" parent="Monitoring_panel/in_fs_3"]
offset_left = -15.1667
offset_top = 14.0
offset_right = 14.8333
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "In FS 2"
horizontal_alignment = 1
metadata/_edit_use_anchors_ = true
[node name="out_ems_3" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(264, 465)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_di0aa")
[node name="Out_ems_1" type="Label" parent="Monitoring_panel/out_ems_3"]
anchors_preset = -1
anchor_left = 0.0185185
anchor_right = 0.0185185
anchor_bottom = 0.555556
offset_left = -18.5
offset_top = 14.0
offset_right = 17.5
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "Out
ems 3"
horizontal_alignment = 1
metadata/_edit_use_anchors_ = true

View File

@@ -12,7 +12,7 @@ const constants_n = {
'ADDR_UG_LITERA_3': 0x10A,
'TEMP_THRESHOLD': 70,
'POWER_THRESHOLD': 40,
'TIMER_DELAY': 0.10,
'TIMER_DELAY': 5.0,
'RAY_DOU_NUM': 0x3,
'ATT_UM_2': 0x7,
'ATT_UM_3': 0x7,
@@ -39,17 +39,6 @@ var block_ip_config_n:= {
'ip12_50_1': [4, false],
'ip5_25': [7, false],
}
# Проверка ДКМ
var block_dkm_config_n: = {
'dkm_2': false,
'dkm_3': false,
}
# Проверка ФС
var block_fs_prd_config_n: = {
'fs_2': false,
'fs_3': false,
}
var block_kasseta_y5_prd_config_n: = {
'yau07': false,
'ems': false,
@@ -71,10 +60,12 @@ var control_prd_n: Object
var control_results_n: Dictionary = {
'block_ip': false, # Проверка касет П1 и ИП МА2000
'temperature': true, # Проверка температур УМ
'dkm': false,
'dkm_2': false,
'dkm_3': false,
'dou_2': false,
'dou_3': false,
'fs': false,
'fs_2': false,
'fs_3': false,
}
var test = preload('res://scripts/pribor-prd.gd')
@@ -109,8 +100,6 @@ func initialize_connections() -> void:
'prd_config': PRIBOR_CONFIG_N,
'fs_params': FS_PARAMS_N,
'block_ip_prd_config': block_ip_config_n,
'block_dkm_prd_config': block_dkm_config_n,
'block_fs_prd_config': block_fs_prd_config_n,
'block_kasseta_y5_prd_config': block_kasseta_y5_prd_config_n,
'control_results': control_results_n,
'current_litera': start_litera,
@@ -141,6 +130,10 @@ func _enter_tree() -> void:
$control_result.text = 'Выполняется ...'
$control_result.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))
signaller.connect('режим_настройки', Callable(self, 'on_mode_changed').bind(false))
signaller.connect('режим_контроль', Callable(self, 'on_mode_changed').bind(true))
func _exit_tree() -> void:
@@ -160,14 +153,18 @@ func on_mode_changed(in_tree: bool) -> void:
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()
func power_fill(pow_dic: Dictionary) -> void:
if not control_prd_n.block_kasseta_y5_config.yau07 or not control_prd_n.block_kasseta_y5_config.ukp1 or not control_prd_n.block_kasseta_y5_config.ukp2:
return
var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier')
for i_powapm in power_amplifier:
var powamp_meta: String = i_powapm.get_meta('um')
var status = STATE_VAL.GOOD
var status = STATE_VAL.GOOD if pow_dic else STATE_VAL.NONE
if pow_dic[powamp_meta].size() < 6:
status = STATE_VAL.ERROR
else:
@@ -197,21 +194,19 @@ func on_control_result(result_dic: Dictionary, power_dic: Dictionary) -> void:
if block_ip_config_n.has(meta_ip) and block_kasseta_y5_prd_config_n.ug:
power_supply.state = STATE_VAL.GOOD if block_ip_config_n[meta_ip][1] else STATE_VAL.ERROR
var fs_results: Dictionary = control_prd_n.block_fs_config
var fs_nodes: Array = get_tree().get_nodes_in_group('fs_group')
for f in fs_nodes:
var fs_meta: String = f.get_meta('fs')
if fs_results.has(fs_meta):
var new_state = fs_results[fs_meta]
if result_dic.has(fs_meta):
var new_state = result_dic[fs_meta]
f.state = new_state
fs_results[fs_meta] = new_state
result_dic[fs_meta] = new_state
var dkm: Dictionary = control_prd_n.block_dkm_config
if fs_results.fs_2:
$kasseta_FS_ND/ref_A4.state = STATE_VAL.GOOD if dkm.dkm_2 else STATE_VAL.ERROR
if result_dic.fs_2:
$kasseta_FS_ND/ref_A4.state = STATE_VAL.GOOD if result_dic.dkm_2 else STATE_VAL.ERROR
$dou2_A5.state = STATE_VAL.GOOD if result_dic.dou_2 else STATE_VAL.ERROR
if fs_results.fs_3:
$kasseta_FS_ND/ref_A3.state = STATE_VAL.GOOD if dkm.dkm_3 else STATE_VAL.ERROR
if result_dic.fs_3:
$kasseta_FS_ND/ref_A3.state = STATE_VAL.GOOD if result_dic.dkm_3 else STATE_VAL.ERROR
$dou3_A6.state = STATE_VAL.GOOD if result_dic.dou_3 else STATE_VAL.ERROR
power_fill(power_dic)

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=13 format=3 uid="uid://dnuexoef2nnv5"]
[gd_scene load_steps=8 format=3 uid="uid://dnuexoef2nnv5"]
[ext_resource type="Script" uid="uid://cto2r4ipew65m" path="res://scenes/pribor-prd-n/pribor-prd-n.gd" id="1_bnnv3"]
[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="2_is25t"]
@@ -7,31 +7,6 @@
[ext_resource type="Script" uid="uid://crpedygm3gohi" path="res://scenes/контроль/кассета.gd" id="6_b5wvk"]
[ext_resource type="PackedScene" uid="uid://bcyxqni7gxvtq" path="res://scenes/контроль/блок-в.tscn" id="7_bnnv3"]
[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="7_eoqf2"]
[ext_resource type="Texture2D" uid="uid://belwchvdktrw0" path="res://data/эмс-бланк.png" id="9_k1x0o"]
[ext_resource type="Texture2D" uid="uid://bwddxs24es81u" path="res://data/эмс-бланк-пост.png" id="10_7dcjd"]
[ext_resource type="Texture2D" uid="uid://pfoscstbm025" path="res://data/эмс-бланк-перем.png" id="11_ius1v"]
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_bnnv3"]
[sub_resource type="SpriteFrames" id="SpriteFrames_xkifg"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("9_k1x0o")
}, {
"duration": 1.0,
"texture": ExtResource("10_7dcjd")
}, {
"duration": 1.0,
"texture": ExtResource("11_ius1v")
}, {
"duration": 1.0,
"texture": null
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[node name="pribor_prd_n" type="Control"]
layout_mode = 3
@@ -367,79 +342,6 @@ value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_12"
[node name="Monitoring_panel" type="Panel" parent="."]
visible = false
layout_mode = 0
theme_override_styles/panel = SubResource("StyleBoxTexture_bnnv3")
[node name="in_fs_1" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(454, 577)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_xkifg")
[node name="in_fs_1" type="Label" parent="Monitoring_panel/in_fs_1"]
offset_left = -15.1667
offset_top = 14.0
offset_right = 14.8333
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "In FS 1"
horizontal_alignment = 1
metadata/_edit_use_anchors_ = true
[node name="in_fs_2" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(207, 577)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_xkifg")
[node name="in_fs_2" type="Label" parent="Monitoring_panel/in_fs_2"]
offset_left = -15.1667
offset_top = 14.0
offset_right = 14.8333
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "In FS 2"
horizontal_alignment = 1
[node name="out_ems_1" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(454, 465)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_xkifg")
[node name="Out_ems_1" type="Label" parent="Monitoring_panel/out_ems_1"]
anchors_preset = -1
anchor_left = 0.0185185
anchor_right = 0.0185185
anchor_bottom = 0.555556
offset_left = -18.5
offset_top = 14.0
offset_right = 17.5
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "Out
ems 1"
horizontal_alignment = 1
metadata/_edit_use_anchors_ = true
[node name="out_ems_2" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(207, 465)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_xkifg")
[node name="Out_ems_1" type="Label" parent="Monitoring_panel/out_ems_2"]
offset_left = -15.1667
offset_top = 14.0
offset_right = 14.8333
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "Out
ems 2"
horizontal_alignment = 1
[node name="control_result" type="Label" parent="."]
layout_mode = 0
offset_left = 9.0

View File

@@ -39,16 +39,6 @@ var block_ip_config_v := {
'ip12_50_1': [4, false],
'ip5_25': [7, false],
}
# Проверка ДКМ
var block_dkm_config_v: = {
'dkm_4': false,
'dkm_5': false,
}
# Проверка ФС
var block_fs_prd_config_v: = {
'fs_4': false,
'fs_5': false,
}
var block_kasseta_y5_prd_config_v: = {
'yau07': false,
'ems': false,
@@ -70,10 +60,12 @@ var control_prd_v: Object
var control_results_v: Dictionary = {
'block_ip': false, # Проверка касет П1 и ИП МА2000
'temperature': true, # Проверка температур УМ
'dkm': false,
'dkm_4': false,
'dkm_5': false,
'dou_4': false,
'dou_5': false,
'fs': false,
'fs_4': false,
'fs_5': false,
}
var test = preload('res://scripts/pribor-prd.gd')
@@ -107,8 +99,6 @@ func initialize_connections() -> void:
'prd_config': PRIBOR_CONFIG_V,
'fs_params': FS_PARAMS_V,
'block_ip_prd_config': block_ip_config_v,
'block_dkm_prd_config': block_dkm_config_v,
'block_fs_prd_config': block_fs_prd_config_v,
'block_kasseta_y5_prd_config': block_kasseta_y5_prd_config_v,
'control_results': control_results_v,
'current_litera': start_litera,
@@ -139,6 +129,11 @@ func _enter_tree() -> void:
$control_result.text = 'Выполняется ...'
$control_result.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))
signaller.connect('режим_настройки', Callable(self, 'on_mode_changed').bind(false))
signaller.connect('режим_контроль', Callable(self, 'on_mode_changed').bind(true))
func _exit_tree() -> void:
@@ -158,14 +153,18 @@ func on_mode_changed(in_tree: bool) -> void:
prd_v_module.cmd_array.append([unit_prd_v.CmdCode.WRITE_ISA, [constants_v.ADDR_UG_LITERA_1, ug_work_1, constants_v.ADDR_UG_LITERA_2, ug_work_2]])
signaller.emit_signal('interfer_off_all')
else:
set_default_state()
control_prd_v.state = control_prd_v.STATE_MASHINE.INIT
mashine_timer.start()
func power_fill(pow_dic: Dictionary) -> void:
if not control_prd_v.block_kasseta_y5_config.yau07 or not control_prd_v.block_kasseta_y5_config.ukp1 or not control_prd_v.block_kasseta_y5_config.ukp2:
return
var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier')
for i_powapm in power_amplifier:
var powamp_meta: String = i_powapm.get_meta('um')
var status = STATE_VAL.GOOD
var status = STATE_VAL.GOOD if pow_dic else STATE_VAL.NONE
if pow_dic[powamp_meta].size() < 6:
status = STATE_VAL.ERROR
else:
@@ -195,21 +194,19 @@ func on_control_result(result_dic: Dictionary, power_dic: Dictionary) -> void:
if block_ip_config_v.has(meta_ip) and block_kasseta_y5_prd_config_v.ug:
power_supply.state = STATE_VAL.GOOD if block_ip_config_v[meta_ip][1] else STATE_VAL.ERROR
var fs_results: Dictionary = control_prd_v.block_fs_config
var dkm: Dictionary = control_prd_v.block_dkm_config
var fs_nodes: Array = get_tree().get_nodes_in_group('fs_group')
for f in fs_nodes:
var fs_meta: String = f.get_meta('fs')
if fs_results.has(fs_meta):
var new_state = fs_results[fs_meta]
if result_dic.has(fs_meta):
var new_state = result_dic[fs_meta]
f.state = new_state
fs_results[fs_meta] = new_state
result_dic[fs_meta] = new_state
if fs_results.fs_4:
$kasseta_FS_VD/ref_A2.state = STATE_VAL.GOOD if dkm.dkm_4 else STATE_VAL.ERROR
if result_dic.fs_4:
$kasseta_FS_VD/ref_A2.state = STATE_VAL.GOOD if result_dic.dkm_4 else STATE_VAL.ERROR
$dou4_A5.state = STATE_VAL.GOOD if result_dic.dou_4 else STATE_VAL.ERROR
if fs_results.fs_5:
$kasseta_FS_VD/ref_A6.state = STATE_VAL.GOOD if dkm.dkm_5 else STATE_VAL.ERROR
if result_dic.fs_5:
$kasseta_FS_VD/ref_A6.state = STATE_VAL.GOOD if result_dic.dkm_5 else STATE_VAL.ERROR
$dou5_A6.state = STATE_VAL.GOOD if result_dic.dou_5 else STATE_VAL.ERROR
power_fill(power_dic)

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=14 format=3 uid="uid://cvskpe1ti3p45"]
[gd_scene load_steps=9 format=3 uid="uid://cvskpe1ti3p45"]
[ext_resource type="Script" uid="uid://cvuosuvjaci1h" path="res://scenes/pribor-prd-v/pribor-prd-v.gd" id="1_c20s6"]
[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="2_xpo4b"]
@@ -8,31 +8,6 @@
[ext_resource type="Script" uid="uid://crpedygm3gohi" path="res://scenes/контроль/кассета.gd" id="6_os4mt"]
[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="7_38u2b"]
[ext_resource type="PackedScene" uid="uid://bcyxqni7gxvtq" path="res://scenes/контроль/блок-в.tscn" id="8_4e87c"]
[ext_resource type="Texture2D" uid="uid://belwchvdktrw0" path="res://data/эмс-бланк.png" id="10_4e87c"]
[ext_resource type="Texture2D" uid="uid://bwddxs24es81u" path="res://data/эмс-бланк-пост.png" id="11_g8fvp"]
[ext_resource type="Texture2D" uid="uid://pfoscstbm025" path="res://data/эмс-бланк-перем.png" id="12_gsby4"]
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_vxfkm"]
[sub_resource type="SpriteFrames" id="SpriteFrames_s5gcy"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("10_4e87c")
}, {
"duration": 1.0,
"texture": ExtResource("11_g8fvp")
}, {
"duration": 1.0,
"texture": ExtResource("12_gsby4")
}, {
"duration": 1.0,
"texture": null
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[node name="pribor_prd_v" type="Control"]
layout_mode = 3
@@ -316,79 +291,6 @@ value0_info = "Мощность, Вт"
value1_info = "Температура,°C"
metadata/um = "um_12"
[node name="Monitoring_panel" type="Panel" parent="."]
visible = false
layout_mode = 0
theme_override_styles/panel = SubResource("StyleBoxTexture_vxfkm")
[node name="in_fs_1" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(454, 577)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_s5gcy")
[node name="in_fs_1" type="Label" parent="Monitoring_panel/in_fs_1"]
offset_left = -15.1667
offset_top = 14.0
offset_right = 14.8333
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "In FS 1"
horizontal_alignment = 1
metadata/_edit_use_anchors_ = true
[node name="in_fs_2" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(207, 577)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_s5gcy")
[node name="in_fs_2" type="Label" parent="Monitoring_panel/in_fs_2"]
offset_left = -15.1667
offset_top = 14.0
offset_right = 14.8333
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "In FS 2"
horizontal_alignment = 1
[node name="out_ems_1" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(454, 465)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_s5gcy")
[node name="Out_ems_1" type="Label" parent="Monitoring_panel/out_ems_1"]
anchors_preset = -1
anchor_left = 0.0185185
anchor_right = 0.0185185
anchor_bottom = 0.555556
offset_left = -18.5
offset_top = 14.0
offset_right = 17.5
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "Out
ems 1"
horizontal_alignment = 1
metadata/_edit_use_anchors_ = true
[node name="out_ems_2" type="AnimatedSprite2D" parent="Monitoring_panel"]
position = Vector2(207, 465)
scale = Vector2(1.2, 1.2)
sprite_frames = SubResource("SpriteFrames_s5gcy")
[node name="Out_ems_1" type="Label" parent="Monitoring_panel/out_ems_2"]
offset_left = -15.1667
offset_top = 14.0
offset_right = 14.8333
offset_bottom = 33.0
theme_override_colors/font_color = Color(0.890196, 0.486275, 0.196078, 1)
theme_override_font_sizes/font_size = 10
text = "Out
ems 2"
horizontal_alignment = 1
[node name="control_result" type="Label" parent="."]
layout_mode = 0
offset_left = 9.0