отладка ПРД-Н 2го
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user