diff --git a/PRD_MP550.tscn b/PRD_MP550.tscn
index 5bacb4a..fef3e76 100644
--- a/PRD_MP550.tscn
+++ b/PRD_MP550.tscn
@@ -441,6 +441,7 @@ stretch_mode = 0
[node name="texture_save_config" type="TextureButton" parent="Background/switch_panel" groups=["burger_gr"]]
self_modulate = Color(1, 1, 0.941, 0.85)
+layout_mode = 0
offset_left = -155.0
offset_top = 824.0
offset_right = -115.0
@@ -454,6 +455,7 @@ stretch_mode = 0
[node name="texture_load_config" type="TextureButton" parent="Background/switch_panel" groups=["burger_gr"]]
self_modulate = Color(1, 1, 0.941, 0.85)
+layout_mode = 0
offset_left = -155.0
offset_top = 880.0
offset_right = -115.0
@@ -467,11 +469,11 @@ stretch_mode = 0
[node name="notice" type="GridContainer" parent="Background"]
layout_mode = 0
-offset_left = 280.0
-offset_top = 944.0
-offset_right = 864.0
-offset_bottom = 984.0
-columns = 4
+offset_left = 1098.0
+offset_top = 937.0
+offset_right = 1832.0
+offset_bottom = 1000.0
+columns = 3
[node name="lbl_commit" type="Label" parent="Background/notice"]
layout_mode = 2
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a48099a
--- /dev/null
+++ b/README.md
@@ -0,0 +1,26 @@
+# ТПО для сдачи по ТУ приборов ПРД
+
+## Описание
+Программа для управления блоками ФС и УМ в приборах ПРД.
+Производит контроль и отладку прибора.
+Сохраняет и загружает настройки для ячейки ЭМС-Г.
+
+## Структура
+- **Окно управления ФС и УМ**
+
+- **Окно "Контроля"**
+
+
+### Установление
+1. Необходимо задать адрес на вашем устройстве для подсети 10.1.1.0 и 10.1.2.0
+2. Клонируйте репозиторий:
+ ```bash
+ git clone http://gitea.srez.local:3000/Maxim/PRD-TU-MP550
+ cd PRD-TU-MP550
+ ```
+3. Аргументы при запуске (Windows):
+ ```bash
+ .\testPRD_2.0.exe --addr 3
+ ```
+ * *где "3" - это адрес вашего устройства (10.1.1.3:50003)
+ * по умолчанию программа запускается на адресе 10.1.1.100:50100
diff --git a/Shaders/ray_2.gdshader b/Shaders/ray_2.gdshader
index 037b71c..72e44cb 100644
--- a/Shaders/ray_2.gdshader
+++ b/Shaders/ray_2.gdshader
@@ -23,14 +23,14 @@ float mask(vec2 uv, float value)
float r = atan(uv.x, uv.y);
r = remap(-PI, PI, 0.0, 1.0, r);
r = step(r, value * 0.5);
-
+
uv.x = uv.x + 1.0;
uv.x = uv.x * -1.0;
uv.x += 1.0;
float l = atan(uv.x, uv.y);
l = remap(-PI, PI, 0.0, 1.0, l);
l = step(l, value * 0.5);
-
+
return r + l ;
}
@@ -41,13 +41,13 @@ vec2 rotate_uv(vec2 uv, vec2 pivot, float rotation) {
uv -= pivot;
return vec2(
cosa * uv.x - sina * uv.y,
- cosa * uv.y + sina * uv.x
+ cosa * uv.y + sina * uv.x
) + pivot;
}
float circle(vec2 uv, float value)
-{
+{
float d = length(uv);
float t = smoothstep(
inner_radius + blur,
@@ -57,7 +57,7 @@ float circle(vec2 uv, float value)
outer_radius + blur,
outer_radius - blur,
d
- );
+ );
return t;
}
@@ -79,6 +79,6 @@ void fragment(){
//d = abs(d);
d = size/d;
color *= d*t;
-
+
COLOR = vec4(color * mask * c);
}
\ No newline at end of file
diff --git a/Shaders/ray_litera_1.gdshader b/Shaders/ray_litera_1.gdshader
index 037b71c..72e44cb 100644
--- a/Shaders/ray_litera_1.gdshader
+++ b/Shaders/ray_litera_1.gdshader
@@ -23,14 +23,14 @@ float mask(vec2 uv, float value)
float r = atan(uv.x, uv.y);
r = remap(-PI, PI, 0.0, 1.0, r);
r = step(r, value * 0.5);
-
+
uv.x = uv.x + 1.0;
uv.x = uv.x * -1.0;
uv.x += 1.0;
float l = atan(uv.x, uv.y);
l = remap(-PI, PI, 0.0, 1.0, l);
l = step(l, value * 0.5);
-
+
return r + l ;
}
@@ -41,13 +41,13 @@ vec2 rotate_uv(vec2 uv, vec2 pivot, float rotation) {
uv -= pivot;
return vec2(
cosa * uv.x - sina * uv.y,
- cosa * uv.y + sina * uv.x
+ cosa * uv.y + sina * uv.x
) + pivot;
}
float circle(vec2 uv, float value)
-{
+{
float d = length(uv);
float t = smoothstep(
inner_radius + blur,
@@ -57,7 +57,7 @@ float circle(vec2 uv, float value)
outer_radius + blur,
outer_radius - blur,
d
- );
+ );
return t;
}
@@ -79,6 +79,6 @@ void fragment(){
//d = abs(d);
d = size/d;
color *= d*t;
-
+
COLOR = vec4(color * mask * c);
}
\ No newline at end of file
diff --git a/export_presets.cfg b/export_presets.cfg
index f1e233b..9469392 100644
--- a/export_presets.cfg
+++ b/export_presets.cfg
@@ -9,7 +9,7 @@ custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
-export_path="bin/testPRD_2.0.exe"
+export_path="./testPRD_2.0.exe"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
diff --git a/saves/ПРД-К1 b/saves/ПРД-К1
index e4e2231..cfdb460 100644
--- a/saves/ПРД-К1
+++ b/saves/ПРД-К1
@@ -1 +1 @@
-{"1":{"290":1,"292":16384,"296":0,"298":0},"2":{"290":2,"292":16384,"296":0,"298":0},"3":{"290":3,"292":16384,"296":0,"298":0},"4":{"290":4,"292":16384,"296":0,"298":32768},"5":{"290":5,"292":16384,"296":0,"298":0},"6":{"290":6,"292":16384,"296":0,"298":0},"7":{"290":7,"292":16384,"296":0,"298":0},"8":{"290":8,"292":16384,"296":0,"298":32768},"9":{"290":9,"292":16384,"296":0,"298":32768},"10":{"290":10,"292":16384,"296":0,"298":0},"11":{"290":11,"292":16384,"296":0,"298":0},"12":{"290":12,"292":16384,"296":0,"298":32768},"13":{"290":13,"292":16384,"296":0,"298":32768},"14":{"290":14,"292":16384,"296":0,"298":32768},"15":{"290":15,"292":16384,"296":0,"298":32768},"16":{"290":16,"292":16384,"296":0,"298":32768},"47":{"290":47,"292":256,"296":0,"298":32768},"48":{"290":48,"292":8192,"296":0,"298":32768},"49":{"290":49,"292":16384,"296":0,"298":32768},"50":{"290":50,"292":0,"296":16384,"298":32768},"51":{"290":51,"292":0,"296":16384,"298":32768},"52":{"290":52,"292":0,"296":16384,"298":32768},"53":{"290":53,"292":0,"296":0,"298":32768},"54":{"290":54,"292":0,"296":0,"298":32768},"55":{"290":55,"292":0,"296":0,"298":32768},"56":{"290":56,"292":0,"296":0,"298":32768},"57":{"290":57,"292":0,"296":16384,"298":32768},"58":{"290":58,"292":0,"296":0,"298":32768},"59":{"290":59,"292":0,"296":0,"298":32768},"60":{"290":60,"292":0,"296":0,"298":32768},"61":{"290":61,"292":0,"296":0,"298":32768},"62":{"290":62,"292":0,"296":0,"298":32768}}
\ No newline at end of file
+{"1":{"290":1,"292":0,"296":8192,"298":32768},"2":{"290":2,"292":0,"296":8192,"298":0},"3":{"290":3,"292":0,"296":8192,"298":32768},"4":{"290":4,"292":0,"296":8192,"298":32768},"5":{"290":5,"292":0,"296":8192,"298":32768},"6":{"290":6,"292":0,"296":8192,"298":32768},"7":{"290":7,"292":0,"296":8192,"298":32768},"8":{"290":8,"292":0,"296":8192,"298":32768},"9":{"290":9,"292":0,"296":8192,"298":32768},"10":{"290":10,"292":0,"296":8192,"298":32768},"11":{"290":11,"292":0,"296":8192,"298":0},"12":{"290":12,"292":0,"296":8192,"298":32768},"13":{"290":13,"292":0,"296":8192,"298":0},"14":{"290":14,"292":0,"296":8192,"298":0},"15":{"290":15,"292":0,"296":8192,"298":0},"16":{"290":16,"292":0,"296":8192,"298":32768},"47":{"290":47,"292":256,"296":0,"298":32768},"48":{"290":48,"292":8192,"296":0,"298":32768},"49":{"290":49,"292":16384,"296":0,"298":32768},"50":{"290":50,"292":0,"296":8192,"298":32768},"51":{"290":51,"292":0,"296":16384,"298":32768},"52":{"290":52,"292":0,"296":16384,"298":32768},"53":{"290":53,"292":0,"296":0,"298":32768},"54":{"290":54,"292":0,"296":0,"298":32768},"55":{"290":55,"292":0,"296":0,"298":32768},"56":{"290":56,"292":0,"296":0,"298":32768},"57":{"290":57,"292":0,"296":8192,"298":32768},"58":{"290":58,"292":0,"296":0,"298":32768},"59":{"290":59,"292":0,"296":0,"298":32768},"60":{"290":60,"292":0,"296":0,"298":32768},"61":{"290":61,"292":0,"296":0,"298":32768},"62":{"290":62,"292":0,"296":0,"298":32768}}
\ No newline at end of file
diff --git a/screen_1.png b/screen_1.png
new file mode 100644
index 0000000..ff0ebcd
Binary files /dev/null and b/screen_1.png differ
diff --git a/screen_1.png.import b/screen_1.png.import
new file mode 100644
index 0000000..ab13cd3
--- /dev/null
+++ b/screen_1.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://uku4lt0yiutm"
+path="res://.godot/imported/screen_1.png-fed41d657f299dafb50407f0b4e36df6.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://screen_1.png"
+dest_files=["res://.godot/imported/screen_1.png-fed41d657f299dafb50407f0b4e36df6.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/screen_2.png b/screen_2.png
new file mode 100644
index 0000000..e6fddac
Binary files /dev/null and b/screen_2.png differ
diff --git a/screen_2.png.import b/screen_2.png.import
new file mode 100644
index 0000000..296fc72
--- /dev/null
+++ b/screen_2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bam4e067s74on"
+path="res://.godot/imported/screen_2.png-74671ef65bcb0507a0b9dcf13e41c770.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://screen_2.png"
+dest_files=["res://.godot/imported/screen_2.png-74671ef65bcb0507a0b9dcf13e41c770.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/scripts/PRD.gd b/scripts/PRD.gd
index 4bcbfd7..1a36338 100644
--- a/scripts/PRD.gd
+++ b/scripts/PRD.gd
@@ -59,12 +59,16 @@ func _ready() -> void:
node_select_yau_07b = $TabContainer/PRD/body_grid/litera_2_4_6/yau07b_control
draw_tabl(node_select_yau_07b, Constants.ROWS_YAU_07B_2, Constants.ROWS_YAU_07B_2.size())
node_select_yau_07b.set_columns_min_size([160, 120])
-
+ node_select_yau_07b.get_node2(1, 1).get_child(1).tooltip_text = 'Переключение запрета си в уф'
+ node_select_yau_07b.get_node2(1, 5).get_child(1).tooltip_text = 'Переключение сигнала ФГОЗ'
+
# Таблица ЯУ-07б-2
node_select_yau_07b_2 = $TabContainer/PRD/body_grid/litera_3_5_7/yau07b_control
draw_tabl(node_select_yau_07b_2, Constants.ROWS_YAU_07B_2, Constants.ROWS_YAU_07B_2.size())
node_select_yau_07b_2.set_columns_min_size([160, 120])
-
+ node_select_yau_07b_2.get_node2(1, 1).get_child(1).tooltip_text = 'Переключение запрета си в уф'
+ node_select_yau_07b_2.get_node2(1, 5).get_child(1).tooltip_text = 'Переключение сигнала ФГОЗ'
+
# Таблица ЯУ-07б-3
var node_select_yau_07b_3: Node = $TabContainer/PRD/body_grid/litera_1/yau07b_control
draw_tabl(node_select_yau_07b_3, Constants.ROWS_YAU_07B_2, Constants.ROWS_YAU_07B_2.size())
@@ -83,7 +87,7 @@ func _ready() -> void:
node_select_fs_2.set_columns_min_size([150, 120, 150])
node_select_fs_2.get_node2(1, 4).add_item('Const')
node_select_fs_2.get_node2(1, 4).add_item('MSK')
-
+
#Таблица ФС-3
node_select_fs_3 = $TabContainer/PRD/body_grid/litera_1/fs_control
draw_tabl(node_select_fs_3, Constants.ROWS_FS, Constants.ROWS_FS.size())
diff --git a/scripts/control_panel.gd b/scripts/control_panel.gd
index 02e877a..12adea1 100644
--- a/scripts/control_panel.gd
+++ b/scripts/control_panel.gd
@@ -79,8 +79,8 @@ func _ready() -> void:
$soc_y5/yau_07b,
$soc_y5/ems_g,
$soc_y5/ug,
- $soc_y5/ukp_2,
$soc_y5/ukp_1,
+ $soc_y5/ukp_2,
$soc_P1/MAA_1,
$soc_P1/MAA_2,
@@ -450,13 +450,13 @@ func _on_start_super_control():
if TMP_1 > 70:
um_cell_ind[i_temperature].value0 = TMP_1
um_cell_ind[i_temperature].state = Constants.STATE_VAL.ERROR
- _on_contol_err()
+ logger.warning('❌ Температура УМ %s = %d' % [um_cell_ind[i_temperature].fname, TMP_1])
else:
um_cell_ind[i_temperature].value0 = TMP_1
if TMP_2 > 70:
um_cell_ind[i_temperature+6].value0 = TMP_2
um_cell_ind[i_temperature+6].state = Constants.STATE_VAL.ERROR
- _on_contol_err()
+ logger.warning('❌ Температура %s: %d' % [um_cell_ind[i_temperature+6].fname, TMP_2])
else:
um_cell_ind[i_temperature+6].value0 = TMP_2
if Constants.CURRENT_MODE == Constants.MODE.PRD_K:
@@ -465,8 +465,7 @@ func _on_start_super_control():
var TEMPERATURE = Constants.CONST_MIN_TEMP + (Constants.MAXIMUM_CODE_ADC - temperature_litera_1) * Constants.TEMP + 3
if TEMPERATURE > 70:
um_cell_ind[12].value0 = TEMPERATURE
- _on_contol_err()
- return
+ logger.warning('❌ Температура %s = %d' % [um_cell_ind[12].fname, TEMPERATURE])
else:
um_cell_ind[12].value0 = TEMPERATURE
@@ -482,37 +481,39 @@ func _on_start_super_control():
$soc_y5/yau_07b.state = Constants.STATE_VAL.ERROR
logger.error("❌ ЯУ-07Б: Нет связи")
_on_contol_err()
+ return
- if Network.unit_fs.online:
- var fs_freq: Array
- var fs_att_1: float
- var fs_att_2: float
- var fs_att_3: float
- if Constants.CURRENT_MODE == Constants.MODE.PRD_H:
- fs_freq.append(Constants.FS_FREQ.f2)
- fs_att_1 = Constants.FS_ATT['ПРД-Н1'][0]
- fs_freq.append(Constants.FS_FREQ.f3)
- fs_att_2 = Constants.FS_ATT['ПРД-Н1'][1]
- elif Constants.CURRENT_MODE == Constants.MODE.PRD_B:
- fs_freq.append(Constants.FS_FREQ.f4)
- fs_att_1 = Constants.FS_ATT['ПРД-В1'][0]
- fs_freq.append(Constants.FS_FREQ.f5)
- fs_att_2 = Constants.FS_ATT['ПРД-В1'][1]
- elif Constants.CURRENT_MODE == Constants.MODE.PRD_K:
- fs_freq.append(Constants.FS_FREQ.f6)
- fs_att_1 = Constants.FS_ATT['ПРД-К1'][0]
- fs_freq.append(Constants.FS_FREQ.f7)
- fs_att_2 = Constants.FS_ATT['ПРД-К1'][1]
- fs_freq.append(Constants.FS_FREQ.f1)
- fs_att_3 = Constants.FS_ATT['ПРД-К1'][2]
- fs_3_setup(fs_freq[2], fs_att_3)
- logger.info('🛈 Настройка модулей ФС %s Гц, [%s / %s / %s] АТТ' % [str(fs_freq), str(fs_att_1), str(fs_att_2), str(fs_att_3)])
- fs_1_setup(fs_freq[0], fs_att_1) # Гц
- fs_2_setup(fs_freq[1], fs_att_2) # Гц
-
- else:
- logger.info('❌ Настройка модулей ФС')
- _on_contol_err()
+ if flag_continue_control:
+ if Network.unit_fs.online:
+ var fs_freq: Array
+ var fs_att_1: float
+ var fs_att_2: float
+ var fs_att_3: float
+ if Constants.CURRENT_MODE == Constants.MODE.PRD_H:
+ fs_freq.append(Constants.FS_FREQ.f2)
+ fs_att_1 = Constants.FS_ATT['ПРД-Н1'][0]
+ fs_freq.append(Constants.FS_FREQ.f3)
+ fs_att_2 = Constants.FS_ATT['ПРД-Н1'][1]
+ elif Constants.CURRENT_MODE == Constants.MODE.PRD_B:
+ fs_freq.append(Constants.FS_FREQ.f4)
+ fs_att_1 = Constants.FS_ATT['ПРД-В1'][0]
+ fs_freq.append(Constants.FS_FREQ.f5)
+ fs_att_2 = Constants.FS_ATT['ПРД-В1'][1]
+ elif Constants.CURRENT_MODE == Constants.MODE.PRD_K:
+ fs_freq.append(Constants.FS_FREQ.f6)
+ fs_att_1 = Constants.FS_ATT['ПРД-К1'][0]
+ fs_freq.append(Constants.FS_FREQ.f7)
+ fs_att_2 = Constants.FS_ATT['ПРД-К1'][1]
+ fs_freq.append(Constants.FS_FREQ.f1)
+ fs_att_3 = Constants.FS_ATT['ПРД-К1'][2]
+ fs_3_setup(fs_freq[2], fs_att_3)
+ logger.info('🛈 Настройка модулей ФС %s Гц, [%s / %s / %s] АТТ' % [str(fs_freq), str(fs_att_1), str(fs_att_2), str(fs_att_3)])
+ fs_1_setup(fs_freq[0], fs_att_1) # Гц
+ fs_2_setup(fs_freq[1], fs_att_2) # Гц
+
+ else:
+ logger.info('❌ Настройка модулей ФС')
+ _on_contol_err()
func _status_cell(status):
@@ -528,6 +529,7 @@ func _status_cell(status):
node_cell_ind[i].state = Constants.STATE_VAL.ERROR
logger.error("❌ %s : Нет связи" % node_cell_ind[i].get('fname'))
_on_contol_err()
+ return
#dry_contact
if (node_cell_ind[2].state == Constants.STATE_VAL.GOOD):
@@ -750,7 +752,9 @@ func _on_contol_err():
logger.warning('❌❌❌')
flag_continue_control = false
_status_prd()
- #timer.start(5)
+ timer.wait_time = 5.0
+ timer.one_shot = true
+ timer.start()
func _status_prd():
diff --git a/testPRD_2.0.exe b/testPRD_2.0.exe
new file mode 100644
index 0000000..55690f8
Binary files /dev/null and b/testPRD_2.0.exe differ
diff --git a/Документация/Прибор ПРД-В/КСЦИ.464233.002ТУ.docm b/Документация/Прибор ПРД-В/КСЦИ.464233.002ТУ.docm
new file mode 100644
index 0000000..e1f4a88
Binary files /dev/null and b/Документация/Прибор ПРД-В/КСЦИ.464233.002ТУ.docm differ
diff --git a/Документация/Прибор ПРД-В/КСЦИ.464233.002ТУ.pdf b/Документация/Прибор ПРД-В/КСЦИ.464233.002ТУ.pdf
new file mode 100644
index 0000000..916859a
Binary files /dev/null and b/Документация/Прибор ПРД-В/КСЦИ.464233.002ТУ.pdf differ
diff --git a/Документация/Прибор ПРД-К/КСЦИ.464236.001ТУ.docm b/Документация/Прибор ПРД-К/КСЦИ.464236.001ТУ.docm
new file mode 100644
index 0000000..a34c277
Binary files /dev/null and b/Документация/Прибор ПРД-К/КСЦИ.464236.001ТУ.docm differ
diff --git a/Документация/Прибор ПРД-Н/КСЦИ.464233.001ТУ.docm b/Документация/Прибор ПРД-Н/КСЦИ.464233.001ТУ.docm
new file mode 100644
index 0000000..f7ff794
Binary files /dev/null and b/Документация/Прибор ПРД-Н/КСЦИ.464233.001ТУ.docm differ