отладка ПРД-Н 2го
This commit is contained in:
@@ -180,13 +180,6 @@ corner_radius_bottom_left = 5
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_tn8m6"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_13x31"]
|
||||
bg_color = Color(0.111197, 0.111197, 0.111197, 0.201)
|
||||
corner_radius_top_left = 15
|
||||
corner_radius_top_right = 15
|
||||
corner_radius_bottom_right = 15
|
||||
corner_radius_bottom_left = 15
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_07wue"]
|
||||
shader = ExtResource("10_lf1xh")
|
||||
shader_parameter/frequency = 5.0
|
||||
@@ -200,6 +193,13 @@ shader_parameter/color4 = Color(0, 0, 0, 0)
|
||||
shader_parameter/opacity = 0.5
|
||||
shader_parameter/turn = 0.785
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_13x31"]
|
||||
bg_color = Color(0.111197, 0.111197, 0.111197, 0.201)
|
||||
corner_radius_top_left = 15
|
||||
corner_radius_top_right = 15
|
||||
corner_radius_bottom_right = 15
|
||||
corner_radius_bottom_left = 15
|
||||
|
||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_ooo4i"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_cm644"]
|
||||
@@ -277,6 +277,7 @@ offset_top = -8.0
|
||||
offset_right = 222.0
|
||||
offset_bottom = 1112.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_4qm5k")
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="select_prd" type="Button" parent="Background/switch_panel" groups=["select_grp"]]
|
||||
layout_mode = 0
|
||||
@@ -466,10 +467,10 @@ stretch_mode = 0
|
||||
|
||||
[node name="notice" type="GridContainer" parent="Background"]
|
||||
layout_mode = 0
|
||||
offset_left = 986.0
|
||||
offset_top = 937.0
|
||||
offset_right = 1720.0
|
||||
offset_bottom = 1000.0
|
||||
offset_left = 240.0
|
||||
offset_top = 977.0
|
||||
offset_right = 1000.0
|
||||
offset_bottom = 1040.0
|
||||
columns = 3
|
||||
|
||||
[node name="lbl_commit" type="Label" parent="Background/notice"]
|
||||
@@ -479,10 +480,11 @@ theme_override_colors/font_color = Color(1, 1, 0.941176, 1)
|
||||
[node name="bind_addr" type="Label" parent="Background/notice"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="bind_port" type="Label" parent="Background/notice"]
|
||||
[node name="load_notice" type="Label" parent="Background/notice"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="load_notice" type="Label" parent="Background/notice"]
|
||||
[node name="bind_port" type="Label" parent="Background/notice"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="TabContainer" type="TabContainer" parent="."]
|
||||
@@ -739,9 +741,9 @@ metadata/_edit_lock_ = true
|
||||
|
||||
[node name="socket_ym_lb" type="NinePatchRect" parent="TabContainer/ControlPanel"]
|
||||
layout_mode = 0
|
||||
offset_left = 47.0
|
||||
offset_left = 623.0
|
||||
offset_top = -14.0
|
||||
offset_right = 272.0
|
||||
offset_right = 848.0
|
||||
offset_bottom = 769.0
|
||||
texture = ExtResource("9_0r2qk")
|
||||
patch_margin_left = 16
|
||||
@@ -804,11 +806,12 @@ fname = "УМ 6"
|
||||
|
||||
[node name="blok_ym_litera_1" parent="TabContainer/ControlPanel/socket_ym_lb" instance=ExtResource("11_k47r2")]
|
||||
layout_mode = 0
|
||||
offset_left = 309.0
|
||||
offset_top = 830.0
|
||||
offset_right = 490.0
|
||||
offset_bottom = 939.0
|
||||
offset_left = -268.0
|
||||
offset_top = 814.0
|
||||
offset_right = -87.0
|
||||
offset_bottom = 923.0
|
||||
fname = "УМОМ"
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Kasseta" type="Label" parent="TabContainer/ControlPanel/socket_ym_lb"]
|
||||
self_modulate = Color(1, 1, 1, 0.62)
|
||||
@@ -823,9 +826,9 @@ vertical_alignment = 1
|
||||
|
||||
[node name="socket_ym_pb" type="NinePatchRect" parent="TabContainer/ControlPanel"]
|
||||
layout_mode = 0
|
||||
offset_left = 623.0
|
||||
offset_left = 47.0
|
||||
offset_top = -14.0
|
||||
offset_right = 848.0
|
||||
offset_right = 272.0
|
||||
offset_bottom = 769.0
|
||||
texture = ExtResource("9_0r2qk")
|
||||
patch_margin_left = 16
|
||||
@@ -1042,9 +1045,9 @@ rname = "A1"
|
||||
[node name="soc_P1" type="NinePatchRect" parent="TabContainer/ControlPanel"]
|
||||
layout_mode = 0
|
||||
offset_left = 349.0
|
||||
offset_top = 615.0
|
||||
offset_top = 607.0
|
||||
offset_right = 537.0
|
||||
offset_bottom = 810.0
|
||||
offset_bottom = 802.0
|
||||
texture = ExtResource("9_0r2qk")
|
||||
patch_margin_left = 16
|
||||
patch_margin_top = 16
|
||||
@@ -1214,7 +1217,25 @@ fname = "ИП9-50"
|
||||
rname = "A22"
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="log_array" type="TextEdit" parent="TabContainer/ControlPanel"]
|
||||
[node name="log_array" type="RichTextLabel" parent="TabContainer/ControlPanel"]
|
||||
layout_mode = 0
|
||||
offset_left = 872.0
|
||||
offset_top = -6.0
|
||||
offset_right = 1664.0
|
||||
offset_bottom = 850.0
|
||||
scroll_following = true
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="await" type="ColorRect" parent="TabContainer/ControlPanel/log_array"]
|
||||
material = SubResource("ShaderMaterial_07wue")
|
||||
layout_mode = 0
|
||||
offset_left = -66.0
|
||||
offset_top = -14.0
|
||||
offset_right = 787.0
|
||||
offset_bottom = 26.0
|
||||
|
||||
[node name="log_array_1" type="TextEdit" parent="TabContainer/ControlPanel"]
|
||||
visible = false
|
||||
layout_mode = 0
|
||||
offset_left = 870.0
|
||||
offset_top = -11.0
|
||||
@@ -1227,13 +1248,6 @@ placeholder_text = "Ожидание контроля ..."
|
||||
wrap_mode = 1
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="await" type="ColorRect" parent="TabContainer/ControlPanel/log_array"]
|
||||
material = SubResource("ShaderMaterial_07wue")
|
||||
layout_mode = 0
|
||||
offset_top = -17.0
|
||||
offset_right = 853.0
|
||||
offset_bottom = 23.0
|
||||
|
||||
[node name="EMS_G" type="Panel" parent="TabContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
@@ -30,8 +30,7 @@ var modul_um: Array = [0, 0, 0, 0]
|
||||
|
||||
func _ready() -> void:
|
||||
$Background/notice/lbl_commit.text = commit.VCS_HEAD
|
||||
$Background/notice/bind_addr.text = '/Базовый адресс: %s' % Constants.UNICAST_ADDRESS
|
||||
$Background/notice/bind_port.text = '/Базовый порт: %s ' % Constants.UNICAST_PORT
|
||||
$Background/notice/bind_addr.text = '/Базовый адрес: %s' % Constants.UNICAST_ADDRESS
|
||||
|
||||
# Таблица 1 УКП-1 (Температура, Мощность)
|
||||
node_select1 = $TabContainer/PRD/body_grid/litera_2_4_6/table_ukp_1
|
||||
@@ -164,10 +163,13 @@ func _ready() -> void:
|
||||
$TabContainer/EMS_G.CI_1_UF = $TabContainer/PRD/body_grid/litera_1/yau07b_control.get_node2(1, 6).get_child(1)
|
||||
$TabContainer/EMS_G.CI_2_UF = $TabContainer/PRD/body_grid/litera_2_4_6/yau07b_control.get_node2(1, 6).get_child(1)
|
||||
$TabContainer/EMS_G.CI_3_UF = $TabContainer/PRD/body_grid/litera_3_5_7/yau07b_control.get_node2(1, 6).get_child(1)
|
||||
$TabContainer/EMS_G.CZI_1_FS = $TabContainer/PRD/body_grid/litera_1/yau07b_control.get_node2(1, 7).get_child(1)
|
||||
$TabContainer/EMS_G.CZI_2_FS = $TabContainer/PRD/body_grid/litera_2_4_6/yau07b_control.get_node2(1, 7).get_child(1)
|
||||
$TabContainer/EMS_G.CZI_3_FS = $TabContainer/PRD/body_grid/litera_3_5_7/yau07b_control.get_node2(1, 7).get_child(1)
|
||||
$TabContainer/EMS_G.CZI_4_FS = $TabContainer/PRD/body_grid/litera_2_4_6/yau07b_control.get_node2(1, 7).get_child(1)
|
||||
$TabContainer/EMS_G.CZI_5_FS = $TabContainer/PRD/body_grid/litera_3_5_7/yau07b_control.get_node2(1, 7).get_child(1)
|
||||
$TabContainer/EMS_G.CZI_6_FS = $TabContainer/PRD/body_grid/litera_2_4_6/yau07b_control.get_node2(1, 7).get_child(1)
|
||||
$TabContainer/EMS_G.CZI_7_FS = $TabContainer/PRD/body_grid/litera_3_5_7/yau07b_control.get_node2(1, 7).get_child(1)
|
||||
$TabContainer/EMS_G.CI_2_FS = $TabContainer/PRD/body_grid/litera_2_4_6/fs_control.get_node2(1, 6).get_child(1)
|
||||
$TabContainer/EMS_G.CI_3_FS = $TabContainer/PRD/body_grid/litera_3_5_7/fs_control.get_node2(1, 6).get_child(1)
|
||||
$TabContainer/EMS_G.CI_4_FS = $TabContainer/PRD/body_grid/litera_2_4_6/fs_control.get_node2(1, 6).get_child(1)
|
||||
@@ -320,15 +322,16 @@ func add_signs_scene():
|
||||
|
||||
func _on_yau_status(addr: String):
|
||||
if addr != '':
|
||||
$TabContainer/PRD/status_yau.modulate = Color.AQUAMARINE
|
||||
for check in Constants.ADDRESSES:
|
||||
if check[1] == addr:
|
||||
$TabContainer/PRD/status_yau.modulate = Color.AQUAMARINE
|
||||
$TabContainer/PRD/status_yau.text = 'ЯУ-07Б: ' + check[0]
|
||||
else:
|
||||
$TabContainer/PRD/status_yau.modulate = Color.CRIMSON
|
||||
$TabContainer/PRD/status_yau.text = 'ЯУ-07Б: нет связи'
|
||||
|
||||
|
||||
$TabContainer/PRD/status_yau.text = 'ЯУ-07Б: нет связи'
|
||||
modul_um = [0, 0, 0, 0]
|
||||
|
||||
|
||||
func _on_read_isa(unit_isa_ports: Dictionary) -> void:
|
||||
isa_from_yau07b = unit_isa_ports
|
||||
var isa_data: Dictionary = {}
|
||||
@@ -679,17 +682,19 @@ func _on_write_ems_g(data_to_ems_g: Dictionary):
|
||||
|
||||
|
||||
func on_mode_select(intem_from_sector: int) -> void:
|
||||
var pribor_selec: String = Constants.ADDRESSES[intem_from_sector][0]
|
||||
_load_selected_file('user://saves/' + pribor_selec)
|
||||
var node_select_device: GDTable = $TabContainer/PRD/select_dev
|
||||
var get_select_device = node_select_device.get_node2(1, 0)
|
||||
var meta = get_select_device.get_item_metadata(intem_from_sector)
|
||||
var get_select_device: Node = node_select_device.get_node2(1, 0)
|
||||
var meta: Array = get_select_device.get_item_metadata(intem_from_sector)
|
||||
Constants.CURRENT_MODE = meta[2]
|
||||
add_signs_scene()
|
||||
Network.on_command_change_device(meta)
|
||||
Network.read_port_isa([Constants.BASE_PORTS.UG+8, Constants.BASE_PORTS.UG+6, Constants.BASE_PORTS.UG+0xA])
|
||||
Network.start_work_fs_1(Constants.ADDRESSES[intem_from_sector][0])
|
||||
Network.start_work_fs_2(Constants.ADDRESSES[intem_from_sector][0])
|
||||
Network.start_work_fs_1(pribor_selec)
|
||||
Network.start_work_fs_2(pribor_selec)
|
||||
if meta[2] == Constants.MODE.PRD_K:
|
||||
Network.start_work_fs_3(Constants.ADDRESSES[intem_from_sector][0])
|
||||
Network.start_work_fs_3(pribor_selec)
|
||||
$load_status_yau.value = 0
|
||||
emit_signal('read_ems_g_start')
|
||||
$load_status_yau.visible = true
|
||||
@@ -740,16 +745,19 @@ func _on_modul_um(item_from_ray_1: int, node: Node):
|
||||
else:
|
||||
return
|
||||
|
||||
if modul_um.has(0x2000):
|
||||
if modul_um.has(0x2000) or modul_um.has(0x8000):
|
||||
timer_modul_um.wait_time = 2.3
|
||||
timer_modul_um.start()
|
||||
|
||||
|
||||
## Таймер для модуляции УМ
|
||||
func _on_timer_modul_um():
|
||||
if modul_um.has(0x2000):
|
||||
if modul_um.has(0x2000) or modul_um.has(0x8000):
|
||||
for i in range(3):
|
||||
if modul_um[i] == 0x2000:
|
||||
if modul_um[i] == 0x8000:
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G + 2, current_meta[i])
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G + 8, modul_um[i])
|
||||
elif modul_um[i] == 0x2000:
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G + 2, current_meta[i])
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G + 8, modul_um[i])
|
||||
|
||||
@@ -1059,7 +1067,9 @@ func set_tab_and_buttons(tab_index: int, button_name: String, txt_button_name: S
|
||||
|
||||
|
||||
func _on_connect_prd_pressed() -> void:
|
||||
on_mode_select($TabContainer/PRD/select_dev.get_node2(1, 0).get_selected_id())
|
||||
var pribor_selec: int = $TabContainer/PRD/select_dev.get_node2(1, 0).get_selected_id()
|
||||
_load_selected_file('user://saves/' + Constants.ADDRESSES[pribor_selec][0])
|
||||
on_mode_select(pribor_selec)
|
||||
|
||||
|
||||
func save_settings(to_att_change: float, mode: int):
|
||||
|
||||
@@ -240,7 +240,7 @@ const SIGNS: Dictionary = {
|
||||
'Модуляция УМ',
|
||||
'Положение луча',
|
||||
'Аттенюатор УМ',
|
||||
'ФГОЗ 6',
|
||||
'ФРЛС 6',
|
||||
'СИ 6 в УФ',
|
||||
'СЗИ 6 от УФ',
|
||||
|
||||
|
||||
@@ -28,34 +28,32 @@ var prep_set_ug: int = 0
|
||||
|
||||
|
||||
class Logger extends Node:
|
||||
var log_counter: int = 0
|
||||
var log_level = "INFO"
|
||||
var log_array
|
||||
var log_level: String = "INFO"
|
||||
var log_array: Node
|
||||
|
||||
func _init(log_node):
|
||||
func _init(log_node: RichTextLabel = null):
|
||||
log_array = log_node
|
||||
log_array.clear()
|
||||
log_array.text = ""
|
||||
|
||||
func get_current_datetime_string() -> String:
|
||||
var time = Time.get_datetime_dict_from_system()
|
||||
return ' [%02d-%02d-%04d %02d:%02d] ' % [time['day'], time['month'], time['year'], time['hour'], time['minute']]
|
||||
|
||||
func info(message):
|
||||
if log_level == "INFO" or log_level == "DEBUG":
|
||||
func _add_message(level: String, message: String) -> void:
|
||||
if (level == "INFO" and log_level in ["INFO", "DEBUG"]) or \
|
||||
(level == "WARNING" and log_level in ["WARNING", "INFO", "DEBUG"]) or \
|
||||
(level == "ERROR"):
|
||||
var datetime_string = get_current_datetime_string()
|
||||
log_array.insert_line_at(log_counter, "[INFO]" + datetime_string + message)
|
||||
log_counter += 1
|
||||
log_array.text += "[" + level + "]" + datetime_string + " " + message + "\n"
|
||||
|
||||
func warning(message):
|
||||
if log_level == "WARNING" or log_level == "INFO" or log_level == "DEBUG":
|
||||
var datetime_string = get_current_datetime_string()
|
||||
log_array.insert_line_at(log_counter, "[WARNING]" + datetime_string + message)
|
||||
log_counter += 1
|
||||
func info(message: String) -> void:
|
||||
_add_message("INFO", message)
|
||||
|
||||
func error(message):
|
||||
var datetime_string = get_current_datetime_string()
|
||||
log_array.insert_line_at(log_counter, "[ERROR]" + datetime_string + message)
|
||||
log_counter += 1
|
||||
func warning(message: String) -> void:
|
||||
_add_message("WARNING", message)
|
||||
|
||||
func error(message: String) -> void:
|
||||
_add_message("ERROR", message)
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@@ -427,8 +425,9 @@ func _on_start_super_control():
|
||||
$log_array/await.visible = true
|
||||
logger = Logger.new(get_node('log_array'))
|
||||
flag_continue_control = true
|
||||
|
||||
|
||||
if (past_pribor != Constants.CURRENT_MODE):
|
||||
past_pribor = Constants.CURRENT_MODE
|
||||
_draw_control_panel_prd(Constants.CURRENT_MODE)
|
||||
|
||||
for i in count_cell:
|
||||
@@ -491,21 +490,21 @@ func _on_start_super_control():
|
||||
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_att_1 = Constants.FS_ATT[Constants.ADDRESSES[self.get_parent().get_child(0).get_child(1).get_node2(1, 0).get_selected_id()][0]][0]
|
||||
fs_freq.append(Constants.FS_FREQ.f3)
|
||||
fs_att_2 = Constants.FS_ATT['ПРД-Н1'][1]
|
||||
fs_att_2 = Constants.FS_ATT[Constants.ADDRESSES[self.get_parent().get_child(0).get_child(1).get_node2(1, 0).get_selected_id()][0]][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_att_1 = Constants.FS_ATT[Constants.ADDRESSES[self.get_parent().get_child(0).get_child(1).get_node2(1, 0).get_selected_id()][0]][0]
|
||||
fs_freq.append(Constants.FS_FREQ.f5)
|
||||
fs_att_2 = Constants.FS_ATT['ПРД-В1'][1]
|
||||
fs_att_2 = Constants.FS_ATT[Constants.ADDRESSES[self.get_parent().get_child(0).get_child(1).get_node2(1, 0).get_selected_id()][0]][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_att_1 = Constants.FS_ATT[Constants.ADDRESSES[self.get_parent().get_child(0).get_child(1).get_node2(1, 0).get_selected_id()][0]][0]
|
||||
fs_freq.append(Constants.FS_FREQ.f7)
|
||||
fs_att_2 = Constants.FS_ATT['ПРД-К1'][1]
|
||||
fs_att_2 = Constants.FS_ATT[Constants.ADDRESSES[self.get_parent().get_child(0).get_child(1).get_node2(1, 0).get_selected_id()][0]][1]
|
||||
fs_freq.append(Constants.FS_FREQ.f1)
|
||||
fs_att_3 = Constants.FS_ATT['ПРД-К1'][2]
|
||||
fs_att_3 = Constants.FS_ATT[Constants.ADDRESSES[self.get_parent().get_child(0).get_child(1).get_node2(1, 0).get_selected_id()][0]][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) # Гц
|
||||
@@ -549,7 +548,7 @@ func _status_cell(status):
|
||||
|
||||
if node_cell_ind[3].state == Constants.STATE_VAL.GOOD:
|
||||
var mask: int = 0x7
|
||||
prep_set_ug = 0
|
||||
prep_set_ug = 0
|
||||
var index_ray: int = Constants.RAY_DICT.find(' 25°')
|
||||
var index_att: int = Constants.ATT_DICT.find(' 10.5 dB')
|
||||
## Регулировка положением луча 1
|
||||
@@ -579,120 +578,126 @@ func set_bits(v, a, m):
|
||||
|
||||
|
||||
func _on_timer():
|
||||
_on_start_super_control()
|
||||
var control_button: Node = self.get_parent().get_parent().get_child(0).get_child(1).get_child(1)
|
||||
var texture_control_button: Node = self.get_parent().get_parent().get_child(0).get_child(1).get_child(8)
|
||||
if control_button.button_pressed or texture_control_button.button_pressed:
|
||||
_on_start_super_control()
|
||||
|
||||
|
||||
func _on_fs_status(META:int):
|
||||
if logger and flag_continue_control:
|
||||
if META == Constants.META.CI_2_OT_FS or META == Constants.META.CI_4_OT_FS or META == Constants.META.CI_6_OT_FS:
|
||||
flag_fs_1_ready = true
|
||||
logger.info('✅ Состояние генератора ФС-1: Включен')
|
||||
elif META == Constants.META.CI_3_OT_FS or META == Constants.META.CI_5_OT_FS or META == Constants.META.CI_7_OT_FS:
|
||||
flag_fs_2_ready = true
|
||||
logger.info('✅ Состояние генератора ФС-2: Включен')
|
||||
elif META == Constants.META.CI_1_OT_FS:
|
||||
flag_fs_3_ready = true
|
||||
logger.info('✅ Состояние генератора ФС-3: Включен')
|
||||
|
||||
|
||||
if flag_fs_1_ready and flag_fs_2_ready:
|
||||
if Constants.CURRENT_MODE == Constants.MODE.PRD_K:
|
||||
if not flag_fs_3_ready:
|
||||
return
|
||||
|
||||
#dkm
|
||||
var dkm: int = Network.unit.status.decode_u8(Constants.DataIndices.DKM)
|
||||
var control_button: Node = self.get_parent().get_parent().get_child(0).get_child(1).get_child(1)
|
||||
var texture_control_button: Node = self.get_parent().get_parent().get_child(0).get_child(1).get_child(8)
|
||||
if control_button.button_pressed or texture_control_button.button_pressed:
|
||||
if logger and flag_continue_control:
|
||||
if META == Constants.META.CI_2_OT_FS or META == Constants.META.CI_4_OT_FS or META == Constants.META.CI_6_OT_FS:
|
||||
flag_fs_1_ready = true
|
||||
logger.info('✅ Состояние генератора ФС-1: Включен')
|
||||
elif META == Constants.META.CI_3_OT_FS or META == Constants.META.CI_5_OT_FS or META == Constants.META.CI_7_OT_FS:
|
||||
flag_fs_2_ready = true
|
||||
logger.info('✅ Состояние генератора ФС-2: Включен')
|
||||
elif META == Constants.META.CI_1_OT_FS:
|
||||
flag_fs_3_ready = true
|
||||
logger.info('✅ Состояние генератора ФС-3: Включен')
|
||||
|
||||
if Constants.CURRENT_MODE == Constants.MODE.PRD_H:
|
||||
if (dkm >> 1) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s' % [$Kasseta_FS/ref_A3.fname, 'Включено'])
|
||||
$soc_DKM/DKM_2.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||
else:
|
||||
logger.info('❌ %s: %s' % [$Kasseta_FS/ref_A3.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_2.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||
if (dkm >> 2) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s' % [$Kasseta_FS/ref_A4.fname, 'Включено'])
|
||||
$soc_DKM/DKM_3.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||
else:
|
||||
logger.info('❌ %s: %s' % [$Kasseta_FS/ref_A4.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_3.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||
|
||||
if flag_fs_1_ready and flag_fs_2_ready:
|
||||
if Constants.CURRENT_MODE == Constants.MODE.PRD_K:
|
||||
if not flag_fs_3_ready:
|
||||
return
|
||||
|
||||
#dkm
|
||||
var dkm: int = Network.unit.status.decode_u8(Constants.DataIndices.DKM)
|
||||
|
||||
if (dkm >> 1) & 0x1 == 1 and (dkm >> 2) & 0x1 == 1: # Следующий шаг ->
|
||||
flag_dkm = true
|
||||
else:
|
||||
Network.set_fs_gen_status(true) ## отключен = true
|
||||
Network.get_gen_state_1()
|
||||
Network.set_fs_gen_status_2(true) ## отключен = true
|
||||
Network.get_gen_state_2()
|
||||
_on_contol_err()
|
||||
if Constants.CURRENT_MODE == Constants.MODE.PRD_H:
|
||||
if (dkm >> 1) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s' % [$Kasseta_FS/ref_A3.fname, 'Включено'])
|
||||
$soc_DKM/DKM_2.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||
else:
|
||||
logger.info('❌ %s: %s' % [$Kasseta_FS/ref_A3.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_2.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||
if (dkm >> 2) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s' % [$Kasseta_FS/ref_A4.fname, 'Включено'])
|
||||
$soc_DKM/DKM_3.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||
else:
|
||||
logger.info('❌ %s: %s' % [$Kasseta_FS/ref_A4.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_3.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||
|
||||
elif Constants.CURRENT_MODE == Constants.MODE.PRD_B:
|
||||
if (dkm >> 3) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s' % [$Kasseta_FS/ref_A3.fname, 'Включено'])
|
||||
$soc_DKM/DKM_2.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||
else:
|
||||
logger.info('❌ %s: %s' % [$Kasseta_FS/ref_A3.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_2.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||
if (dkm >> 4) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s' % [$Kasseta_FS/ref_A4.fname, 'Включено'])
|
||||
$soc_DKM/DKM_3.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||
else:
|
||||
logger.info('❌ %s: %s' % [$Kasseta_FS/ref_A4.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_3.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||
|
||||
if (dkm >> 3) & 0x1 == 1 and (dkm >> 4) & 0x1 == 1: # Следующий шаг ->
|
||||
flag_dkm = true
|
||||
else:
|
||||
Network.set_fs_gen_status(true) ## отключен = true
|
||||
Network.get_gen_state_1()
|
||||
Network.set_fs_gen_status_2(true) ## отключен = true
|
||||
Network.get_gen_state_2()
|
||||
_on_contol_err()
|
||||
if (dkm >> 1) & 0x1 == 1 and (dkm >> 2) & 0x1 == 1: # Следующий шаг ->
|
||||
flag_dkm = true
|
||||
else:
|
||||
Network.set_fs_gen_status(true) ## отключен = true
|
||||
Network.get_gen_state_1()
|
||||
Network.set_fs_gen_status_2(true) ## отключен = true
|
||||
Network.get_gen_state_2()
|
||||
_on_contol_err()
|
||||
|
||||
elif Constants.CURRENT_MODE == Constants.MODE.PRD_B:
|
||||
if (dkm >> 3) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s' % [$Kasseta_FS/ref_A3.fname, 'Включено'])
|
||||
$soc_DKM/DKM_2.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||
else:
|
||||
logger.info('❌ %s: %s' % [$Kasseta_FS/ref_A3.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_2.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||
if (dkm >> 4) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s' % [$Kasseta_FS/ref_A4.fname, 'Включено'])
|
||||
$soc_DKM/DKM_3.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||
else:
|
||||
logger.info('❌ %s: %s' % [$Kasseta_FS/ref_A4.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_3.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||
|
||||
elif Constants.CURRENT_MODE == Constants.MODE.PRD_K:
|
||||
if (dkm >> 0) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s ' % [$Kasseta_FS/Block_FS_PRD_K.fname, 'Включено'])
|
||||
$soc_DKM/DKM_1.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/Block_FS_PRD_K.state = $soc_DKM/DKM_1.state
|
||||
else:
|
||||
logger.info('❌ %s: %s ' % [$Kasseta_FS/Block_FS_PRD_K.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_1.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/Block_FS_PRD_K.state = $soc_DKM/DKM_1.state
|
||||
if (dkm >> 5) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s ' % [$Kasseta_FS/ref_A3.fname, 'Включено'])
|
||||
$soc_DKM/DKM_2.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||
else:
|
||||
logger.info('❌ %s: %s' % [$Kasseta_FS/ref_A3.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_2.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||
if (dkm >> 6) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s' % [$Kasseta_FS/ref_A4.fname, 'Включено'])
|
||||
$soc_DKM/DKM_3.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||
else:
|
||||
logger.info('❌ %s: %s' % [$Kasseta_FS/ref_A4.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_3.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||
|
||||
if (dkm >> 5) & 0x1 and (dkm >> 6) & 0x1 and (dkm >> 0) & 0x1: # Следующий шаг ->
|
||||
flag_dkm = true
|
||||
else:
|
||||
Network.set_fs_gen_status(true) ## отключен = true
|
||||
Network.get_gen_state_1()
|
||||
Network.set_fs_gen_status_2(true) ## отключен = true
|
||||
Network.get_gen_state_2()
|
||||
Network.set_fs_gen_status_3(true) ## отключен = true
|
||||
Network.get_gen_state_3()
|
||||
_on_contol_err()
|
||||
if (dkm >> 3) & 0x1 == 1 and (dkm >> 4) & 0x1 == 1: # Следующий шаг ->
|
||||
flag_dkm = true
|
||||
else:
|
||||
Network.set_fs_gen_status(true) ## отключен = true
|
||||
Network.get_gen_state_1()
|
||||
Network.set_fs_gen_status_2(true) ## отключен = true
|
||||
Network.get_gen_state_2()
|
||||
_on_contol_err()
|
||||
|
||||
elif Constants.CURRENT_MODE == Constants.MODE.PRD_K:
|
||||
if (dkm >> 0) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s ' % [$Kasseta_FS/Block_FS_PRD_K.fname, 'Включено'])
|
||||
$soc_DKM/DKM_1.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/Block_FS_PRD_K.state = $soc_DKM/DKM_1.state
|
||||
else:
|
||||
logger.info('❌ %s: %s ' % [$Kasseta_FS/Block_FS_PRD_K.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_1.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/Block_FS_PRD_K.state = $soc_DKM/DKM_1.state
|
||||
if (dkm >> 5) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s ' % [$Kasseta_FS/ref_A3.fname, 'Включено'])
|
||||
$soc_DKM/DKM_2.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||
else:
|
||||
logger.info('❌ %s: %s' % [$Kasseta_FS/ref_A3.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_2.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||
if (dkm >> 6) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s' % [$Kasseta_FS/ref_A4.fname, 'Включено'])
|
||||
$soc_DKM/DKM_3.state = Constants.STATE_VAL.GOOD
|
||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||
else:
|
||||
logger.info('❌ %s: %s' % [$Kasseta_FS/ref_A4.fname, 'Нет связи'])
|
||||
$soc_DKM/DKM_3.state = Constants.STATE_VAL.ERROR
|
||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||
|
||||
if (dkm >> 5) & 0x1 and (dkm >> 6) & 0x1 and (dkm >> 0) & 0x1: # Следующий шаг ->
|
||||
flag_dkm = true
|
||||
else:
|
||||
Network.set_fs_gen_status(true) ## отключен = true
|
||||
Network.get_gen_state_1()
|
||||
Network.set_fs_gen_status_2(true) ## отключен = true
|
||||
Network.get_gen_state_2()
|
||||
Network.set_fs_gen_status_3(true) ## отключен = true
|
||||
Network.get_gen_state_3()
|
||||
_on_contol_err()
|
||||
logger.info('🛈 ДКМ: %s ' % dkm)
|
||||
|
||||
|
||||
|
||||
@@ -10,10 +10,13 @@ var status_fs_3
|
||||
var CI_1_UF: Node
|
||||
var CI_2_UF: Node
|
||||
var CI_3_UF: Node
|
||||
var CZI_1_FS: Node
|
||||
var CZI_2_FS: Node
|
||||
var CZI_3_FS: Node
|
||||
var CZI_4_FS: Node
|
||||
var CZI_5_FS: Node
|
||||
var CZI_6_FS: Node
|
||||
var CZI_7_FS: Node
|
||||
var CI_2_FS: Node
|
||||
var CI_3_FS: Node
|
||||
var CI_4_FS: Node
|
||||
@@ -166,6 +169,13 @@ func process_sockets_vert(blank: int, imp: int, count: int, col: int):
|
||||
set_frame(CZI_4_FS, frame_type)
|
||||
if i == 4: # СЗИ_5_от_УФ
|
||||
set_frame(CZI_5_FS, frame_type)
|
||||
elif Constants.CURRENT_MODE == Constants.MODE.PRD_K:
|
||||
if i == 0: # СЗИ_1_от_УФ
|
||||
set_frame(CZI_1_FS, frame_type)
|
||||
if i == 5: # СЗИ_6_от_УФ
|
||||
set_frame(CZI_6_FS, frame_type)
|
||||
if i == 6: # СЗИ_7_от_УФ
|
||||
set_frame(CZI_7_FS, frame_type)
|
||||
|
||||
if Constants.CURRENT_MODE == Constants.MODE.PRD_H:
|
||||
if i == 9: # СИ_2_от_ФС
|
||||
@@ -274,11 +284,12 @@ func on_mode_link(mode, list):
|
||||
func _on_btn_connect(toggled_on: bool, chk_btn: Node):
|
||||
## Формирование команды для выбора устройства
|
||||
var meta = chk_btn.get_meta('device')
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, meta[1]) # Отправка команды
|
||||
## Формирование команды для отправкы команды на устройство
|
||||
if toggled_on:
|
||||
button_link_meta[meta[1]] += 1 << meta[0]-1
|
||||
else:
|
||||
button_link_meta[meta[1]] -= 1 << meta[0]-1
|
||||
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, meta[1]) # Отправка команды
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+4, button_link_meta[meta[1]])
|
||||
Network.read_port_isa([Constants.BASE_PORTS.EMS_G+4])
|
||||
|
||||
@@ -126,7 +126,7 @@ func _ready() -> void:
|
||||
if rc != OK:
|
||||
print_debug('Ошибка: неудачная привязка адреса: ', Constants.UNICAST_ADDRESS)
|
||||
|
||||
unit.connect('command_fail', Callable(self, 'on_command_fail'))
|
||||
unit.connect('line_changed', Callable(self, '_on_connect_change'))
|
||||
set_config()
|
||||
|
||||
|
||||
@@ -212,10 +212,9 @@ func write_port_isa(port_isa: int, data_isa: int) -> void:
|
||||
send_array.append(['wr', write_data])
|
||||
|
||||
|
||||
|
||||
## Ессли отсутствует подключение к ячейке ЯУ-07Б
|
||||
func on_command_fail(_unit) -> void:
|
||||
print('Отсутствует подключение к ячейке ЯУ-07Б')
|
||||
## Изменения состояния соединения с ячейкой ЯУ-07Б
|
||||
func _on_connect_change(unit_state_connect) -> void:
|
||||
print("%s" % unit_state_connect)
|
||||
|
||||
|
||||
func on_command_change_device(meta_device):
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_i3io3"]
|
||||
bg_color = Color(0, 0, 0, 0.490196)
|
||||
corner_radius_top_left = 5
|
||||
corner_radius_top_right = 5
|
||||
corner_radius_bottom_right = 5
|
||||
corner_radius_bottom_left = 5
|
||||
|
||||
[node name="OptionButton" type="OptionButton"]
|
||||
offset_right = 130.0
|
||||
|
||||
Reference in New Issue
Block a user