Доработка, отлажен ПРД-К контроль

This commit is contained in:
Maxim
2025-07-15 00:05:32 +03:00
parent 6972557f8e
commit 547890cd93
11 changed files with 856 additions and 163 deletions

View File

@@ -34,7 +34,7 @@ offset_bottom = 182.0
fname = "Модуль ФС"
rname = "A1"
[node name="ref_A3" parent="." instance=ExtResource("3_w4hiq")]
[node name="ref_A3" parent="." groups=["default_reset"] instance=ExtResource("3_w4hiq")]
offset_left = 105.0
offset_top = 32.0
offset_right = 155.0
@@ -50,7 +50,7 @@ offset_bottom = 182.0
fname = "Модуль ФС"
rname = "A2"
[node name="ref_A4" parent="." instance=ExtResource("3_w4hiq")]
[node name="ref_A4" parent="." groups=["default_reset"] instance=ExtResource("3_w4hiq")]
offset_left = 205.0
offset_top = 32.0
offset_right = 255.0

View File

@@ -44,7 +44,7 @@ offset_right = 15.0
offset_bottom = 30.0
script = ExtResource("1_c20s6")
[node name="maa2000_A22" parent="." instance=ExtResource("2_xpo4b")]
[node name="maa2000_A22" parent="." groups=["default_reset"] instance=ExtResource("2_xpo4b")]
layout_mode = 2
offset_left = 485.0
offset_top = 877.0
@@ -53,7 +53,7 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A22"
[node name="dou4_A5" parent="." instance=ExtResource("2_xpo4b")]
[node name="dou4_A5" parent="." groups=["default_reset"] instance=ExtResource("2_xpo4b")]
layout_mode = 2
offset_left = 485.0
offset_top = 812.0
@@ -62,7 +62,7 @@ offset_bottom = 877.0
fname = "ДОУ-4"
rname = "A5"
[node name="maa2000_A23" parent="." instance=ExtResource("2_xpo4b")]
[node name="maa2000_A23" parent="." groups=["default_reset"] instance=ExtResource("2_xpo4b")]
layout_mode = 2
offset_left = 8.0
offset_top = 877.0
@@ -71,7 +71,7 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A23"
[node name="dou5_A6" parent="." instance=ExtResource("2_xpo4b")]
[node name="dou5_A6" parent="." groups=["default_reset"] instance=ExtResource("2_xpo4b")]
layout_mode = 2
offset_left = 8.0
offset_top = 812.0
@@ -135,7 +135,7 @@ patch_margin_bottom = 16
script = ExtResource("6_os4mt")
fname = "Кассета П-1В"
[node name="ref_A19" parent="kasseta_P_1" instance=ExtResource("7_38u2b")]
[node name="ref_A19" parent="kasseta_P_1" groups=["default_reset"] instance=ExtResource("7_38u2b")]
offset_left = 9.0
offset_top = 33.0
offset_right = 59.0
@@ -143,7 +143,7 @@ offset_bottom = 183.0
fname = "ИП9-50"
rname = "A19"
[node name="ref_A20" parent="kasseta_P_1" instance=ExtResource("7_38u2b")]
[node name="ref_A20" parent="kasseta_P_1" groups=["default_reset"] instance=ExtResource("7_38u2b")]
offset_left = 59.0
offset_top = 33.0
offset_right = 109.0
@@ -151,7 +151,7 @@ offset_bottom = 183.0
fname = "ИП9-50"
rname = "A20"
[node name="ref_A21" parent="kasseta_P_1" instance=ExtResource("7_38u2b")]
[node name="ref_A21" parent="kasseta_P_1" groups=["default_reset"] instance=ExtResource("7_38u2b")]
offset_left = 109.0
offset_top = 33.0
offset_right = 159.0
@@ -329,6 +329,7 @@ fname = "УМ1535А"
rname = "A18"
[node name="Monitoring_panel" type="Panel" parent="."]
visible = false
layout_mode = 0
theme_override_styles/panel = SubResource("StyleBoxTexture_vxfkm")
@@ -408,5 +409,6 @@ offset_right = 649.0
offset_bottom = 1003.0
theme_override_colors/font_color = Color(0.862745, 0.0784314, 0.235294, 1)
theme_override_font_sizes/font_size = 28
text = "Прибор ПРД- неисправен"
horizontal_alignment = 1
metadata/_edit_lock_ = true

View File

@@ -6,8 +6,8 @@ const Constants = {
"OUT_BLANK_PRD": 13,
"CI_4_OT_FS": 11,
"CI_5_OT_FS": 12,
"CI_4_B_UF": 1,
"CI_5_B_UF": 2,
"CI_4_B_UF": 4,
"CI_5_B_UF": 5,
"POWER_UKP_1": 31,
"POWER_UKP_2": 63,
"DKM_BIT_3": 3,
@@ -16,7 +16,7 @@ const Constants = {
"ADDR_UG_LITERA_2": 0x108,
"TEMP_THRESHOLD": 70,
"POWER_THRESHOLD": 40,
"TIMER_DELAY": 2.0
"TIMER_DELAY": 1.0
}
enum STATE_VAL { NONE = 0, GOOD = 1, ERROR = 2 }
# Основные переменные
@@ -80,8 +80,8 @@ func _exit_tree() -> void:
func set_default_state() -> void:
for node in [$kasseta_P_1/ref_A19, $kasseta_P_1/ref_A20, $kasseta_P_1/ref_A21, $maa2000_A23, $maa2000_A22]:
node.state = STATE_VAL.NONE
for group in get_tree().get_nodes_in_group('default_reset'):
group.state = STATE_VAL.NONE
for group in get_tree().get_nodes_in_group('power_amplifier'):
group.state = STATE_VAL.NONE
@@ -102,6 +102,7 @@ func on_data_received(unit_prd: Object) -> void:
check_temperature_um(status)
# Обработка данных ЭМС
_process_ems_data(status)
if flag_timer_started:
check_dkm(status, Constants.DKM_BIT_3)
check_dkm(status, Constants.DKM_BIT_4)
@@ -185,12 +186,12 @@ func check_dkm(status_prd: PackedByteArray, bit_dkm: int) -> void:
const DKM: int = 28
var status_dkm = status_prd[DKM] >> bit_dkm & 1
if bit_dkm == Constants.DKM_BIT_3:
$dou4_A5.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR
$kasseta_FS_VD/ref_A6.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR
_control_results["dkm_1"] = status_dkm
elif bit_dkm == Constants.DKM_BIT_4:
$dou5_A6.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR
$kasseta_FS_VD/ref_A2.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR
_control_results["dkm_1"] = status_dkm
elif bit_dkm == Constants.DKM_BIT_4:
$dou4_A5.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR
$kasseta_FS_VD/ref_A6.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR
_control_results["dkm_2"] = status_dkm