Сомнительно. Прибор после тряски неисправен. Изменили параметры проверки
This commit is contained in:
@@ -6,7 +6,7 @@ signal signal_on_modul_um()
|
||||
var timer: Timer = Timer.new()
|
||||
var timer_03: Timer = Timer.new()
|
||||
var node_cell_ind: Array
|
||||
var um_cell_ind: Array
|
||||
var um_cell_ind: Array
|
||||
var count_cell: int
|
||||
var past_pribor: int
|
||||
var logger: Node
|
||||
@@ -31,7 +31,7 @@ var prep_set_ug: int = 0
|
||||
class Logger extends Node:
|
||||
var log_level: String = "INFO"
|
||||
var log_array: Node
|
||||
|
||||
|
||||
func _init(log_node: RichTextLabel = null):
|
||||
log_array = log_node
|
||||
log_array.text = ""
|
||||
@@ -39,7 +39,7 @@ class Logger extends Node:
|
||||
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 _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 \
|
||||
@@ -61,7 +61,7 @@ func _ready() -> void:
|
||||
Network.connect('data_from_fs_1', _on_data_fs.bind('ФС-1'))
|
||||
Network.connect('data_from_fs_2', _on_data_fs.bind('ФС-2'))
|
||||
Network.connect('data_from_fs_3', _on_data_fs.bind('ФС-3'))
|
||||
|
||||
|
||||
self.add_child(timer)
|
||||
self.add_child(timer_03)
|
||||
timer.connect('timeout', Callable(self, '_on_timer'))
|
||||
@@ -71,7 +71,7 @@ func _ready() -> void:
|
||||
Network.connect('yau_receive', Callable(self, '_on_yau_received'))
|
||||
Network.connect('yau_feedback_receive', Callable(self, '_on_yau_feedback_receive'))
|
||||
self.connect('signal_on_modul_um', Callable(self, '_on_modul_um'))
|
||||
|
||||
|
||||
node_cell_ind = [
|
||||
$soc_y5/yau_07b,
|
||||
$soc_y5/ems_g,
|
||||
@@ -96,7 +96,7 @@ func _ready() -> void:
|
||||
$Kasseta_FS/ref_A4,
|
||||
$Kasseta_FS/Block_FS_PRD_K,
|
||||
$Kasseta_FS/FS_PRD_K,
|
||||
|
||||
|
||||
$soc_DKM/DKM_1,
|
||||
$soc_DKM/DKM_2,
|
||||
$soc_DKM/DKM_3,
|
||||
@@ -109,14 +109,14 @@ func _ready() -> void:
|
||||
$socket_ym_lb/blok_ym_4,
|
||||
$socket_ym_lb/blok_ym_5,
|
||||
$socket_ym_lb/blok_ym_6,
|
||||
|
||||
|
||||
$socket_ym_pb/blok_ym_1,
|
||||
$socket_ym_pb/blok_ym_2,
|
||||
$socket_ym_pb/blok_ym_3,
|
||||
$socket_ym_pb/blok_ym_4,
|
||||
$socket_ym_pb/blok_ym_5,
|
||||
$socket_ym_pb/blok_ym_6,
|
||||
|
||||
|
||||
$socket_ym_lb/blok_ym_litera_1,
|
||||
]
|
||||
_draw_control_panel_prd(Constants.CURRENT_MODE)
|
||||
@@ -166,21 +166,21 @@ func _draw_control_panel_prd(pribor):
|
||||
$soc_DKM/DKM_3.fname = 'ДКМ-3'
|
||||
# УМ УМ
|
||||
$socket_ym_lb/blok_ym_litera_1.visible = false
|
||||
|
||||
$socket_ym_lb/blok_ym_1.rname = 'A7'
|
||||
$socket_ym_lb/blok_ym_2.rname = 'A8'
|
||||
$socket_ym_lb/blok_ym_3.rname = 'A9'
|
||||
|
||||
$socket_ym_lb/blok_ym_1.rname = 'A7'
|
||||
$socket_ym_lb/blok_ym_2.rname = 'A8'
|
||||
$socket_ym_lb/blok_ym_3.rname = 'A9'
|
||||
$socket_ym_lb/blok_ym_4.rname = 'A10'
|
||||
$socket_ym_lb/blok_ym_5.rname = 'A11'
|
||||
$socket_ym_lb/blok_ym_6.rname = 'A12'
|
||||
|
||||
|
||||
$socket_ym_pb/blok_ym_1.rname = 'A13'
|
||||
$socket_ym_pb/blok_ym_2.rname = 'A14'
|
||||
$socket_ym_pb/blok_ym_3.rname = 'A15'
|
||||
$socket_ym_pb/blok_ym_4.rname = 'A16'
|
||||
$socket_ym_pb/blok_ym_5.rname = 'A17'
|
||||
$socket_ym_pb/blok_ym_6.rname = 'A18'
|
||||
|
||||
|
||||
elif pribor == Constants.MODE.PRD_B:
|
||||
# Кассета У5
|
||||
$soc_y5/IP5_25.rname = 'А24'
|
||||
@@ -215,14 +215,14 @@ func _draw_control_panel_prd(pribor):
|
||||
$soc_DKM/DKM_3.fname = 'ДКМ-5'
|
||||
# УМ УМ
|
||||
$socket_ym_lb/blok_ym_litera_1.visible = false
|
||||
|
||||
$socket_ym_lb/blok_ym_1.rname = 'A7'
|
||||
$socket_ym_lb/blok_ym_2.rname = 'A8'
|
||||
$socket_ym_lb/blok_ym_3.rname = 'A9'
|
||||
|
||||
$socket_ym_lb/blok_ym_1.rname = 'A7'
|
||||
$socket_ym_lb/blok_ym_2.rname = 'A8'
|
||||
$socket_ym_lb/blok_ym_3.rname = 'A9'
|
||||
$socket_ym_lb/blok_ym_4.rname = 'A10'
|
||||
$socket_ym_lb/blok_ym_5.rname = 'A11'
|
||||
$socket_ym_lb/blok_ym_6.rname = 'A12'
|
||||
|
||||
|
||||
$socket_ym_pb/blok_ym_1.rname = 'A13'
|
||||
$socket_ym_pb/blok_ym_2.rname = 'A14'
|
||||
$socket_ym_pb/blok_ym_3.rname = 'A15'
|
||||
@@ -266,21 +266,21 @@ func _draw_control_panel_prd(pribor):
|
||||
$soc_DKM/DKM_1.visible = true
|
||||
$soc_DKM/DKM_2.fname = 'ДКМ-6'
|
||||
$soc_DKM/DKM_3.fname = 'ДКМ-7'
|
||||
|
||||
|
||||
$socket_ym_lb/blok_ym_1.rname = 'A16'
|
||||
$socket_ym_lb/blok_ym_2.rname = 'A17'
|
||||
$socket_ym_lb/blok_ym_3.rname = 'A18'
|
||||
$socket_ym_lb/blok_ym_4.rname = 'A19'
|
||||
$socket_ym_lb/blok_ym_5.rname = 'A20'
|
||||
$socket_ym_lb/blok_ym_6.rname = 'A21'
|
||||
|
||||
|
||||
$socket_ym_pb/blok_ym_1.rname = 'A10'
|
||||
$socket_ym_pb/blok_ym_2.rname = 'A11'
|
||||
$socket_ym_pb/blok_ym_3.rname = 'A12'
|
||||
$socket_ym_pb/blok_ym_4.rname = 'A13'
|
||||
$socket_ym_pb/blok_ym_5.rname = 'A14'
|
||||
$socket_ym_pb/blok_ym_6.rname = 'A15'
|
||||
|
||||
|
||||
# УМ УМ
|
||||
$socket_ym_lb/blok_ym_litera_1.rname = 'A9'
|
||||
$socket_ym_lb/blok_ym_litera_1.visible = true
|
||||
@@ -350,7 +350,7 @@ func yau_07b_setup(angle_and_att: int):
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_3)
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 0x4000) ## Отключить модуляцию (литера 3)
|
||||
if Constants.CURRENT_MODE == Constants.MODE.PRD_K:
|
||||
Network.write_port_isa(Constants.BASE_PORTS.UG+0xA, (angle_and_att & 0x38)>>3)
|
||||
Network.write_port_isa(Constants.BASE_PORTS.UG+0xA, 0)
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_1)
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 0x2000) ## Включить (Контроль) модуляцию (литера 1)
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_28)
|
||||
@@ -406,7 +406,7 @@ func _on_yau_received(status_yau):
|
||||
i +=1
|
||||
var power_ukp_1 = status_yau.decode_u16(Constants.DataIndices.POWER_UKP_1 + 2 * i)
|
||||
arr_power_ukp_1.append(power_ukp_1)
|
||||
|
||||
|
||||
if count_packet == 0:
|
||||
array_pow_1 = arr_power_ukp_1
|
||||
else:
|
||||
@@ -419,7 +419,7 @@ func _on_yau_received(status_yau):
|
||||
for i in range(numbre_scrape): ## Мощность от УКП_2
|
||||
var power_ukp_2 = status_yau.decode_u16(Constants.DataIndices.POWER_UKP_2 + 2 * i)
|
||||
arr_power_ukp_2.append(power_ukp_2)
|
||||
|
||||
|
||||
if count_packet == 0:
|
||||
array_pow_2 = arr_power_ukp_2
|
||||
else:
|
||||
@@ -427,15 +427,15 @@ func _on_yau_received(status_yau):
|
||||
if arr_power_ukp_2[i] > array_pow_2[i]:
|
||||
array_pow_2[i] = arr_power_ukp_2[i]
|
||||
count_packet += 1
|
||||
|
||||
|
||||
|
||||
func _on_yau_feedback_receive(_status_yau):
|
||||
if logger and flag_continue_control:
|
||||
## Флаг для проверки настройки угла и аттенюации на двух литерах
|
||||
if Network.unit.isa_ports.has(Constants.BASE_PORTS.UG+6) and Network.unit.isa_ports.has(Constants.BASE_PORTS.UG+8):
|
||||
if Network.unit.isa_ports[Constants.BASE_PORTS.UG+6] == prep_set_ug and Network.unit.isa_ports[Constants.BASE_PORTS.UG+8] == prep_set_ug:
|
||||
if Constants.CURRENT_MODE == Constants.MODE.PRD_K:
|
||||
if Network.unit.isa_ports[Constants.BASE_PORTS.UG+0xA] == (prep_set_ug & 0x38)>>3:
|
||||
if Constants.CURRENT_MODE == Constants.MODE.PRD_K:
|
||||
if Network.unit.isa_ports[Constants.BASE_PORTS.UG+0xA] == 0:
|
||||
flag_ug = true
|
||||
$soc_y5/ug.state = Constants.STATE_VAL.GOOD
|
||||
else:
|
||||
@@ -481,7 +481,7 @@ func _on_start_super_control():
|
||||
if (past_pribor != Constants.CURRENT_MODE):
|
||||
past_pribor = Constants.CURRENT_MODE
|
||||
_draw_control_panel_prd(Constants.CURRENT_MODE)
|
||||
|
||||
|
||||
for i in count_cell:
|
||||
node_cell_ind[i].state = Constants.STATE_VAL.NONE
|
||||
flag_dkm = false
|
||||
@@ -491,7 +491,7 @@ func _on_start_super_control():
|
||||
node.value0 = 0
|
||||
node.value1 = 0
|
||||
node.state = Constants.STATE_VAL.NONE
|
||||
|
||||
|
||||
## Temperature for
|
||||
for i_temperature in range(6): ## Температура от УКП
|
||||
if len(Network.unit.status) > Constants.DataIndices.TEMPERATURE_UKP_2 + 2 * i_temperature:
|
||||
@@ -531,7 +531,7 @@ func _on_start_super_control():
|
||||
node_cell_ind[i].state = Constants.STATE_VAL.NONE
|
||||
$soc_y5/yau_07b.state = Constants.STATE_VAL.ERROR
|
||||
logger.error("❌ ЯУ-07Б: Нет связи")
|
||||
|
||||
|
||||
if flag_continue_control:
|
||||
if Network.unit_fs.online:
|
||||
var fs_freq: Array
|
||||
@@ -562,7 +562,7 @@ func _on_start_super_control():
|
||||
else:
|
||||
logger.info('❌ Настройка модулей ФС')
|
||||
_on_contol_err()
|
||||
|
||||
|
||||
timer.set_one_shot(true)
|
||||
timer.set_wait_time(10)
|
||||
timer.start()
|
||||
@@ -571,7 +571,7 @@ func _on_start_super_control():
|
||||
func _status_cell(status):
|
||||
var status_board: int = status.decode_u8(Constants.DataIndices.STATUS_BOARD)
|
||||
var dry_contact: int = status.decode_u8(Constants.DataIndices.DRY_CONTACT)
|
||||
|
||||
|
||||
# status_board
|
||||
for i in range(1, 5):
|
||||
if ((status_board >> (i-1)) & 0x1) == 1:
|
||||
@@ -597,25 +597,27 @@ func _status_cell(status):
|
||||
else:
|
||||
node_cell_ind[i_node].state = Constants.STATE_VAL.ERROR
|
||||
logger.error("❌ %s : Нет связи" % node_cell_ind[i_node].get('fname'))
|
||||
|
||||
|
||||
if node_cell_ind[3].state == Constants.STATE_VAL.GOOD:
|
||||
var mask: int = 0x7
|
||||
prep_set_ug = 0
|
||||
var index_ray: int = Constants.RAY_DICT.find(' 25°')
|
||||
if Constants.CURRENT_MODE == Constants.MODE.PRD_B or Constants.CURRENT_MODE == Constants.MODE.PRD_K:
|
||||
index_ray = Constants.RAY_DICT.find(' 15°')
|
||||
var index_att: int = Constants.ATT_DICT.find(' 10.5 dB')
|
||||
## Регулировка положением луча 1
|
||||
prep_set_ug = set_bits(prep_set_ug, index_ray, mask)
|
||||
## Регулировка положением луча 2
|
||||
mask = 0x38
|
||||
prep_set_ug = set_bits(prep_set_ug, index_att << 3, mask)
|
||||
|
||||
|
||||
logger.info('🛈 %s: Настройка угла %s' % [node_cell_ind[2].get('fname'), Constants.RAY_DICT[index_ray]])
|
||||
logger.info('🛈 %s: Настройка аттенюации %s' % [node_cell_ind[2].get('fname'), Constants.ATT_DICT[index_att]])
|
||||
yau_07b_setup(prep_set_ug)
|
||||
else:
|
||||
logger.error('❌ %s: Нет на связи, не буду продолжать' % node_cell_ind[2].get('fname'))
|
||||
_on_contol_err()
|
||||
|
||||
|
||||
else:
|
||||
for i_node_unknow in range(5, 13):
|
||||
node_cell_ind[i_node_unknow].state = Constants.STATE_VAL.NONE
|
||||
@@ -640,8 +642,8 @@ func _on_fs_status(META:int):
|
||||
logger.info('✅ СИ от ФС-2: Включен')
|
||||
elif META == Constants.META.CI_1_OT_FS:
|
||||
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:
|
||||
@@ -649,7 +651,7 @@ func _on_fs_status(META:int):
|
||||
|
||||
#dkm
|
||||
var dkm: int = Network.unit.status.decode_u8(Constants.DataIndices.DKM)
|
||||
|
||||
|
||||
if Constants.CURRENT_MODE == Constants.MODE.PRD_H:
|
||||
if (dkm >> 1) & 0x1 == 1:
|
||||
logger.info('✅ %s: %s' % [$Kasseta_FS/ref_A3.fname, 'Включено'])
|
||||
@@ -667,7 +669,7 @@ func _on_fs_status(META:int):
|
||||
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 >> 1) & 0x1 == 1 and (dkm >> 2) & 0x1 == 1: # Следующий шаг ->
|
||||
flag_dkm = true
|
||||
else:
|
||||
@@ -676,7 +678,7 @@ func _on_fs_status(META:int):
|
||||
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, 'Включено'])
|
||||
@@ -694,7 +696,7 @@ func _on_fs_status(META:int):
|
||||
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:
|
||||
@@ -703,7 +705,7 @@ func _on_fs_status(META:int):
|
||||
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, 'Включено'])
|
||||
@@ -729,7 +731,7 @@ func _on_fs_status(META:int):
|
||||
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
|
||||
timer.stop()
|
||||
@@ -753,12 +755,12 @@ func _on_modul_um():
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 0x8000)
|
||||
if Constants.CURRENT_MODE == Constants.MODE.PRD_K:
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_1)
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 0x2000)
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 0x8000)
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+2, Constants.META.MODUL_UM_28)
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 0x2000)
|
||||
flag_dkm = false
|
||||
flag_start = true
|
||||
|
||||
|
||||
|
||||
func _on_start_timer_03():
|
||||
count_packet = 0
|
||||
@@ -786,7 +788,7 @@ func _on_timer_03():
|
||||
Network.write_port_isa(Constants.BASE_PORTS.EMS_G+8, 0x4000)
|
||||
Network.set_fs_gen_status_3(true) ## отключен = true
|
||||
Network.get_gen_state_3()
|
||||
|
||||
|
||||
await get_tree().create_timer(1.0).timeout
|
||||
logger.info('🛈 Количество принятых пакетов от ЯУ-07Б: %s пкт.' % count_packet)
|
||||
logger.info('🛈 Максимальные значения мощностей от УКП-1: %s ' % str(array_pow_1))
|
||||
@@ -801,7 +803,7 @@ func _on_contol_err():
|
||||
_status_prd()
|
||||
|
||||
|
||||
func _on_timer():
|
||||
func _on_timer():
|
||||
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:
|
||||
@@ -843,13 +845,13 @@ func _status_prd():
|
||||
status += 1 if (node_cell_ind[12].state == Constants.STATE_VAL.GOOD) else 0
|
||||
status += 1 if (node_cell_ind[17].state == Constants.STATE_VAL.GOOD) else 0
|
||||
status += 1 if (node_cell_ind[18].state == Constants.STATE_VAL.GOOD) else 0
|
||||
|
||||
|
||||
var pribor_ispraven: bool = false
|
||||
var min_dopusk: int = 40
|
||||
var status_need = count_cell-7 if Constants.CURRENT_MODE != Constants.MODE.PRD_K else count_cell+1
|
||||
if (status == status_need):
|
||||
pribor_ispraven = true
|
||||
|
||||
|
||||
var count_um: int = 0
|
||||
for i_pow in array_pow_1:
|
||||
if count_um == 6:
|
||||
@@ -869,7 +871,7 @@ func _status_prd():
|
||||
um_cell_ind[count_um].state = Constants.STATE_VAL.GOOD
|
||||
count_um += 1
|
||||
|
||||
|
||||
|
||||
for i_pow in array_pow_2:
|
||||
um_cell_ind[count_um].value1 = i_pow
|
||||
if i_pow < min_dopusk:
|
||||
@@ -878,10 +880,10 @@ func _status_prd():
|
||||
else:
|
||||
um_cell_ind[count_um].state = Constants.STATE_VAL.GOOD
|
||||
count_um += 1
|
||||
|
||||
|
||||
array_pow_1 = []
|
||||
array_pow_2 = []
|
||||
|
||||
|
||||
if pribor_ispraven:
|
||||
$lbl_control.text = 'Прибор %s исправен' % Constants.ADDRESSES[self.get_parent().get_child(0).get_child(1).get_node2(1, 0).get_selected_id()][0]
|
||||
$lbl_control.modulate = Color.AQUAMARINE
|
||||
|
||||
Reference in New Issue
Block a user