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

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

@@ -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