Доработка контроля с ЭМС-Г
This commit is contained in:
@@ -516,7 +516,6 @@ func set_tab_and_buttons(tab_index: int, button_name: String) -> void:
|
|||||||
|
|
||||||
|
|
||||||
func on_mode_select(intem_from_sector: int) -> void:
|
func on_mode_select(intem_from_sector: int) -> void:
|
||||||
Network.send_array = []
|
|
||||||
var node_select_device: GDTable = $TabContainer/PRD/select_dev
|
var node_select_device: GDTable = $TabContainer/PRD/select_dev
|
||||||
var get_select_device = node_select_device.get_node2(1, 0)
|
var get_select_device = node_select_device.get_node2(1, 0)
|
||||||
var meta = get_select_device.get_item_metadata(intem_from_sector)
|
var meta = get_select_device.get_item_metadata(intem_from_sector)
|
||||||
|
|||||||
@@ -8,9 +8,11 @@ var node_cell_ind: Array
|
|||||||
var count_cell: int
|
var count_cell: int
|
||||||
var past_pribor: int
|
var past_pribor: int
|
||||||
var logger: Node
|
var logger: Node
|
||||||
var flag_control_on: bool = false
|
|
||||||
var array_pow: Array = []
|
var array_pow: Array = []
|
||||||
var count_packet:int = 0
|
var count_packet:int = 0
|
||||||
|
var flag_control_on: bool = false
|
||||||
|
var flag_fs_1_ready: bool = false
|
||||||
|
var flag_fs_2_ready: bool = false
|
||||||
|
|
||||||
|
|
||||||
class Logger extends Node:
|
class Logger extends Node:
|
||||||
@@ -56,6 +58,7 @@ func _ready() -> void:
|
|||||||
self.add_child(timer)
|
self.add_child(timer)
|
||||||
timer.connect('timeout', Callable(self, '_on_timer'))
|
timer.connect('timeout', Callable(self, '_on_timer'))
|
||||||
Network.connect('yau_receive', Callable(self, '_on_yau_received'))
|
Network.connect('yau_receive', Callable(self, '_on_yau_received'))
|
||||||
|
self.get_parent().get_child(2).connect('signal_FS_is_ready', Callable(self, '_on_fs_status'))
|
||||||
|
|
||||||
# Добавляем таймер как дочерний узел
|
# Добавляем таймер как дочерний узел
|
||||||
self.add_child(timer_03)
|
self.add_child(timer_03)
|
||||||
@@ -94,8 +97,6 @@ func _ready() -> void:
|
|||||||
func _status_cell(status):
|
func _status_cell(status):
|
||||||
var status_board: int = status.decode_u8(Constants.DataIndices.STATUS_BOARD)
|
var status_board: int = status.decode_u8(Constants.DataIndices.STATUS_BOARD)
|
||||||
var dry_contact: int = status.decode_u8(Constants.DataIndices.DRY_CONTACT)
|
var dry_contact: int = status.decode_u8(Constants.DataIndices.DRY_CONTACT)
|
||||||
var dkm: int = status.decode_u8(Constants.DataIndices.DKM)
|
|
||||||
$DKM.text = str(dkm)
|
|
||||||
|
|
||||||
# status_board
|
# status_board
|
||||||
for i in range(1, 5):
|
for i in range(1, 5):
|
||||||
@@ -106,25 +107,6 @@ func _status_cell(status):
|
|||||||
node_cell_ind[i].state = Constants.STATE_VAL.ERROR
|
node_cell_ind[i].state = Constants.STATE_VAL.ERROR
|
||||||
logger.error("%s : Нет связи ❌" % node_cell_ind[i].get('fname'))
|
logger.error("%s : Нет связи ❌" % node_cell_ind[i].get('fname'))
|
||||||
|
|
||||||
#dkm
|
|
||||||
if Constants.CURRENT_MODE == Constants.MODE.PRD_H:
|
|
||||||
$soc_DKM/DKM_2.state = (dkm >> 1) & 0x1
|
|
||||||
$soc_DKM/DKM_3.state = (dkm >> 2) & 0x1
|
|
||||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
|
||||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
|
||||||
elif Constants.CURRENT_MODE == Constants.MODE.PRD_B:
|
|
||||||
$soc_DKM/DKM_2.state = (dkm >> 3) & 0x1
|
|
||||||
$soc_DKM/DKM_3.state = (dkm >> 4) & 0x1
|
|
||||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
|
||||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
|
||||||
elif Constants.CURRENT_MODE == Constants.MODE.PRD_K:
|
|
||||||
$soc_DKM/DKM_1.state = (dkm >> 0) & 0x1
|
|
||||||
$soc_DKM/DKM_2.state = (dkm >> 5) & 0x1
|
|
||||||
$soc_DKM/DKM_3.state = (dkm >> 6) & 0x1
|
|
||||||
$Kasseta_FS/Block_FS_PRD_K.state = $soc_DKM/DKM_1.state
|
|
||||||
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
|
||||||
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
|
||||||
|
|
||||||
#dry_contact
|
#dry_contact
|
||||||
if (node_cell_ind[2].state == Constants.STATE_VAL.GOOD):
|
if (node_cell_ind[2].state == Constants.STATE_VAL.GOOD):
|
||||||
for i_node in range(5, 13):
|
for i_node in range(5, 13):
|
||||||
@@ -158,6 +140,7 @@ func _on_yau_received(status_yau):
|
|||||||
if arr_power_ukp_1[i] > array_pow[i]:
|
if arr_power_ukp_1[i] > array_pow[i]:
|
||||||
array_pow[i] = arr_power_ukp_1[i]
|
array_pow[i] = arr_power_ukp_1[i]
|
||||||
count_packet +=1
|
count_packet +=1
|
||||||
|
#print(Network.unit.isa_ports)
|
||||||
|
|
||||||
|
|
||||||
func _status_prd():
|
func _status_prd():
|
||||||
@@ -303,7 +286,8 @@ func _on_fs_status_2(_name_port, status_fs_2):
|
|||||||
|
|
||||||
|
|
||||||
func fs_1_setup(freq):
|
func fs_1_setup(freq):
|
||||||
#Network.get_fs_gen_status(true) ## отключен пока что (поменять на false)
|
Network.get_fs_gen_status(true) ## отключен пока что (поменять на false)
|
||||||
|
await get_tree().create_timer(0.5).timeout
|
||||||
Network.status_can_macro_1(false)
|
Network.status_can_macro_1(false)
|
||||||
Network.set_fs_ferq_carrier(freq * 1_000_000)
|
Network.set_fs_ferq_carrier(freq * 1_000_000)
|
||||||
Network.set_fs_attenuation(float(19))
|
Network.set_fs_attenuation(float(19))
|
||||||
@@ -313,12 +297,14 @@ func fs_1_setup(freq):
|
|||||||
|
|
||||||
|
|
||||||
func fs_2_setup(freq):
|
func fs_2_setup(freq):
|
||||||
|
Network.get_fs_gen_status_2(true)
|
||||||
|
await get_tree().create_timer(0.5).timeout
|
||||||
Network.status_can_macro_2(false)
|
Network.status_can_macro_2(false)
|
||||||
Network.set_fs_ferq_carrier_2(freq * 1_000_000)
|
Network.set_fs_ferq_carrier_2(freq * 1_000_000)
|
||||||
Network.set_fs_attenuation_2(float(19))
|
Network.set_fs_attenuation_2(float(19))
|
||||||
Network.set_can_macro_2(freq)
|
Network.set_can_macro_2(freq)
|
||||||
Network.status_can_macro_2(true)
|
Network.status_can_macro_2(true)
|
||||||
Network.get_fs_gen_status_2(true) ## отключен пока что (поменять на false)
|
Network.get_fs_gen_status_2(false) ## отключен пока что (поменять на false)
|
||||||
|
|
||||||
|
|
||||||
func yau_07b_setup():
|
func yau_07b_setup():
|
||||||
@@ -345,8 +331,11 @@ func _on_data_fs(fs_data:PackedByteArray, fs_name: String):
|
|||||||
if GRP == Constants.GROUP.GENERATOR:
|
if GRP == Constants.GROUP.GENERATOR:
|
||||||
if fs_data.decode_u32(0xC) == 0:
|
if fs_data.decode_u32(0xC) == 0:
|
||||||
logger.info('Состояние генератора %s: Включен ✅' % fs_name)
|
logger.info('Состояние генератора %s: Включен ✅' % fs_name)
|
||||||
emit_signal('signal_on_start_timer_03')
|
|
||||||
else:
|
else:
|
||||||
|
if fs_name == 'ФС-1':
|
||||||
|
flag_fs_1_ready = false
|
||||||
|
if fs_name == 'ФС-2':
|
||||||
|
flag_fs_2_ready = false
|
||||||
logger.info('Состояние генератора %s: Отключен ❌' % fs_name)
|
logger.info('Состояние генератора %s: Отключен ❌' % fs_name)
|
||||||
Constants.CMD.BASE_CAN_MACRO_READ:
|
Constants.CMD.BASE_CAN_MACRO_READ:
|
||||||
if GRP == Constants.GROUP.BASE:
|
if GRP == Constants.GROUP.BASE:
|
||||||
@@ -427,3 +416,39 @@ func _on_timer_03():
|
|||||||
logger.info('Количество принятых пакетов от ЯУ-07Б: %s пакета' % count_packet)
|
logger.info('Количество принятых пакетов от ЯУ-07Б: %s пакета' % count_packet)
|
||||||
logger.info('Максимальные значения по мощности от УКП-1: %s ' % str(array_pow))
|
logger.info('Максимальные значения по мощности от УКП-1: %s ' % str(array_pow))
|
||||||
_status_prd()
|
_status_prd()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_fs_status(META:int):
|
||||||
|
if logger:
|
||||||
|
if META == Constants.META.CI_2_OT_FS or META == Constants.META.CI_4_OT_FS:
|
||||||
|
flag_fs_1_ready = true
|
||||||
|
elif META == Constants.META.CI_3_OT_FS or META == Constants.META.CI_5_OT_FS:
|
||||||
|
flag_fs_2_ready = true
|
||||||
|
|
||||||
|
if flag_fs_1_ready and flag_fs_2_ready:
|
||||||
|
#dkm
|
||||||
|
var dkm: int = Network.unit.status.decode_u8(Constants.DataIndices.DKM)
|
||||||
|
$DKM.text = str(dkm)
|
||||||
|
if Constants.CURRENT_MODE == Constants.MODE.PRD_H:
|
||||||
|
$soc_DKM/DKM_2.state = (dkm >> 1) & 0x1
|
||||||
|
$soc_DKM/DKM_3.state = (dkm >> 2) & 0x1
|
||||||
|
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||||
|
logger.info('%s: %s ❌' % [$Kasseta_FS/ref_A3.fname, $soc_DKM/DKM_2.state])
|
||||||
|
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||||
|
elif Constants.CURRENT_MODE == Constants.MODE.PRD_B:
|
||||||
|
$soc_DKM/DKM_2.state = (dkm >> 3) & 0x1
|
||||||
|
$soc_DKM/DKM_3.state = (dkm >> 4) & 0x1
|
||||||
|
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||||
|
logger.info('%s: %s ❌' % [$Kasseta_FS/ref_A3.fname, $soc_DKM/DKM_2.state])
|
||||||
|
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||||
|
logger.info('%s: %s ❌' % [$Kasseta_FS/ref_A4.fname, $soc_DKM/DKM_3.state])
|
||||||
|
elif Constants.CURRENT_MODE == Constants.MODE.PRD_K:
|
||||||
|
$soc_DKM/DKM_1.state = (dkm >> 0) & 0x1
|
||||||
|
$soc_DKM/DKM_2.state = (dkm >> 5) & 0x1
|
||||||
|
$soc_DKM/DKM_3.state = (dkm >> 6) & 0x1
|
||||||
|
$Kasseta_FS/Block_FS_PRD_K.state = $soc_DKM/DKM_1.state
|
||||||
|
$Kasseta_FS/ref_A3.state = $soc_DKM/DKM_2.state
|
||||||
|
$Kasseta_FS/ref_A4.state = $soc_DKM/DKM_3.state
|
||||||
|
emit_signal('signal_on_start_timer_03')
|
||||||
|
print('Флаг ФС: ', [flag_fs_1_ready, flag_fs_2_ready])
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
extends Panel
|
extends Panel
|
||||||
|
signal signal_FS_is_ready()
|
||||||
|
|
||||||
var node_select1: Node
|
var node_select1: Node
|
||||||
var shift: int = 2
|
var shift: int = 2
|
||||||
var button_link_meta: Dictionary = {}
|
var button_link_meta: Dictionary = {}
|
||||||
|
var status_fs_1
|
||||||
|
var status_fs_2
|
||||||
|
|
||||||
|
|
||||||
func _on_read_ems_g():
|
func _on_read_ems_g():
|
||||||
@@ -139,19 +143,49 @@ func process_sockets_vert(blank: int, imp: int, count: int, col: int, parent_nod
|
|||||||
|
|
||||||
set_frame(socket_status, frame_type)
|
set_frame(socket_status, frame_type)
|
||||||
|
|
||||||
if i == 1: # СЗИ_2_от_УФ
|
if Constants.CURRENT_MODE == Constants.MODE.PRD_H:
|
||||||
# $TabContainer /PRD /body_grid/litera_2_4_6/yau07b_control
|
if i == 1: # СЗИ_2_от_УФ
|
||||||
var CZI_2_FS = parent_node2.get_child(3).get_child(0).get_child(0).get_child(0).get_child(2).get_node2(1, 7).get_child(1)
|
# $TabContainer /PRD /body_grid/litera_2_4_6/yau07b_control
|
||||||
set_frame(CZI_2_FS, frame_type)
|
var CZI_2_FS = parent_node2.get_child(3).get_child(0).get_child(0).get_child(0).get_child(2).get_node2(1, 7).get_child(1)
|
||||||
if i == 2: # СЗИ_3_от_УФ
|
set_frame(CZI_2_FS, frame_type)
|
||||||
var CZI_3_FS = parent_node2.get_child(3).get_child(0).get_child(0).get_child(1).get_child(2).get_node2(1, 7).get_child(1)
|
if i == 2: # СЗИ_3_от_УФ
|
||||||
set_frame(CZI_3_FS, frame_type)
|
var CZI_3_FS = parent_node2.get_child(3).get_child(0).get_child(0).get_child(1).get_child(2).get_node2(1, 7).get_child(1)
|
||||||
if i == 9: # СИ_2_от_ФС
|
set_frame(CZI_3_FS, frame_type)
|
||||||
var CI_2_FS = parent_node2.get_child(3).get_child(0).get_child(0).get_child(0).get_child(0).get_node2(1, 6).get_child(1)
|
elif Constants.CURRENT_MODE == Constants.MODE.PRD_B:
|
||||||
set_frame(CI_2_FS, frame_type)
|
if i == 3: # СЗИ_4_от_УФ
|
||||||
if i == 10: # СИ_3_от_ФС
|
# $TabContainer /PRD /body_grid/litera_2_4_6/yau07b_control
|
||||||
var CI_3_FS = parent_node2.get_child(3).get_child(0).get_child(0).get_child(1).get_child(0).get_node2(1, 6).get_child(1)
|
var CZI_2_FS = parent_node2.get_child(3).get_child(0).get_child(0).get_child(0).get_child(2).get_node2(1, 7).get_child(1)
|
||||||
set_frame(CI_3_FS, frame_type)
|
set_frame(CZI_2_FS, frame_type)
|
||||||
|
if i == 4: # СЗИ_5_от_УФ
|
||||||
|
var CZI_3_FS = parent_node2.get_child(3).get_child(0).get_child(0).get_child(1).get_child(2).get_node2(1, 7).get_child(1)
|
||||||
|
set_frame(CZI_3_FS, frame_type)
|
||||||
|
|
||||||
|
if Constants.CURRENT_MODE == Constants.MODE.PRD_H:
|
||||||
|
if i == 9: # СИ_2_от_ФС
|
||||||
|
var CI_2_FS = parent_node2.get_child(3).get_child(0).get_child(0).get_child(0).get_child(0).get_node2(1, 6).get_child(1)
|
||||||
|
set_frame(CI_2_FS, frame_type)
|
||||||
|
if frame_type == Constants.Frame.CONSTANT and status_fs_1 != Constants.Frame.CONSTANT:
|
||||||
|
emit_signal('signal_FS_is_ready', Constants.META.CI_2_OT_FS)
|
||||||
|
status_fs_1 = frame_type
|
||||||
|
if i == 10: # СИ_3_от_ФС
|
||||||
|
var CI_3_FS = parent_node2.get_child(3).get_child(0).get_child(0).get_child(1).get_child(0).get_node2(1, 6).get_child(1)
|
||||||
|
set_frame(CI_3_FS, frame_type)
|
||||||
|
if frame_type == Constants.Frame.CONSTANT and status_fs_2 != Constants.Frame.CONSTANT:
|
||||||
|
emit_signal('signal_FS_is_ready', Constants.META.CI_3_OT_FS)
|
||||||
|
status_fs_2 = frame_type
|
||||||
|
elif Constants.CURRENT_MODE == Constants.MODE.PRD_B:
|
||||||
|
if i == 11: # СИ_4_от_ФС
|
||||||
|
var CI_4_FS = parent_node2.get_child(3).get_child(0).get_child(0).get_child(0).get_child(0).get_node2(1, 6).get_child(1)
|
||||||
|
set_frame(CI_4_FS, frame_type)
|
||||||
|
if frame_type == Constants.Frame.CONSTANT and status_fs_1 != Constants.Frame.CONSTANT:
|
||||||
|
emit_signal('signal_FS_is_ready', Constants.META.CI_4_OT_FS)
|
||||||
|
status_fs_1 = frame_type
|
||||||
|
if i == 12: # СИ_5_от_ФС
|
||||||
|
var CI_5_FS = parent_node2.get_child(3).get_child(0).get_child(0).get_child(1).get_child(0).get_node2(1, 6).get_child(1)
|
||||||
|
set_frame(CI_5_FS, frame_type)
|
||||||
|
if frame_type == Constants.Frame.CONSTANT and status_fs_2 != Constants.Frame.CONSTANT:
|
||||||
|
emit_signal('signal_FS_is_ready', Constants.META.CI_5_OT_FS)
|
||||||
|
status_fs_2 = frame_type
|
||||||
|
|
||||||
|
|
||||||
func set_frame(node: Node, val: int): node.set_frame(val)
|
func set_frame(node: Node, val: int): node.set_frame(val)
|
||||||
|
|||||||
@@ -199,6 +199,7 @@ func on_command_fail(_unit) -> void:
|
|||||||
|
|
||||||
|
|
||||||
func on_command_change_device(meta_device):
|
func on_command_change_device(meta_device):
|
||||||
|
send_array = []
|
||||||
ip_address_yau = meta_device[0]
|
ip_address_yau = meta_device[0]
|
||||||
ip_port_yau = meta_device[1]
|
ip_port_yau = meta_device[1]
|
||||||
ip_fs_1 = meta_device[3]
|
ip_fs_1 = meta_device[3]
|
||||||
@@ -244,6 +245,10 @@ func start_work_fs():
|
|||||||
counter_fs_1 = 0
|
counter_fs_1 = 0
|
||||||
unit_fs.start_session(counter_fs_1, client_fs_1)
|
unit_fs.start_session(counter_fs_1, client_fs_1)
|
||||||
counter_fs_1 += 1
|
counter_fs_1 += 1
|
||||||
|
unit_fs.set_gen_state(false, counter_fs_1, client_fs_1)
|
||||||
|
counter_fs_1 += 1
|
||||||
|
unit_fs.set_gen_state(true, counter_fs_1, client_fs_1)
|
||||||
|
counter_fs_1 += 1
|
||||||
unit_fs.get_gen_state(counter_fs_1, client_fs_1)
|
unit_fs.get_gen_state(counter_fs_1, client_fs_1)
|
||||||
counter_fs_1 += 1
|
counter_fs_1 += 1
|
||||||
unit_fs.get_att_batch(counter_fs_1, client_fs_1)
|
unit_fs.get_att_batch(counter_fs_1, client_fs_1)
|
||||||
@@ -329,6 +334,10 @@ func start_work_fs_2():
|
|||||||
counter_fs_2 = 0
|
counter_fs_2 = 0
|
||||||
unit_fs.start_session(counter_fs_2, client_fs_2)
|
unit_fs.start_session(counter_fs_2, client_fs_2)
|
||||||
counter_fs_2 += 1
|
counter_fs_2 += 1
|
||||||
|
unit_fs.set_gen_state(false, counter_fs_2, client_fs_2)
|
||||||
|
counter_fs_2 += 1
|
||||||
|
unit_fs.set_gen_state(true, counter_fs_2, client_fs_2)
|
||||||
|
counter_fs_2 += 1
|
||||||
unit_fs.set_att_batch(19.0, counter_fs_2, client_fs_2)
|
unit_fs.set_att_batch(19.0, counter_fs_2, client_fs_2)
|
||||||
counter_fs_2 += 1
|
counter_fs_2 += 1
|
||||||
unit_fs.get_gen_state(counter_fs_2, client_fs_2)
|
unit_fs.get_gen_state(counter_fs_2, client_fs_2)
|
||||||
|
|||||||
Reference in New Issue
Block a user