Доработка. WIP Добавление элементов для ЭМС-ТГ

This commit is contained in:
sasha80
2026-03-19 09:18:32 +03:00
parent 190f06b72c
commit dac7987585
6 changed files with 153 additions and 520 deletions

View File

@@ -1,8 +1,7 @@
@tool
class_name Network extends Node
const YAU07_PROTO: = {'yau07tx': yau07.YaU07}
const IYEMS_PROTO: = {'iyems-tx': yems_info.YeMSInfo}
const YAU07_PROTO: = {'yau07tx': yau07.YaU07, 'iyems-tx': yems_info.YeMSInfo}
const UDP_PROTO: = {'capsrpb': capsrpb.CapsRpb, 'trassa': trassa.Trassa}
const TCP_PROTO: = {'5p28': tcp5p28.TCP5P28}
const SERIAL_PROTO: = {'spt25': spt25.SPT25}
@@ -147,12 +146,15 @@ func create_socket_udp(unit_name: StringName) -> SocketUDP:
var bind = st[3]
var sock: = SocketUDP.new()
sock.set_broadcast_enabled(broad)
var rc: = sock.bind(port, addr)
if rc == Error.OK:
log.info('\"%s\" привязан к %s:%d' % [unit_name, addr, port])
else:
var errmsg: = error_string(rc)
log.error('привязка \"%s\" к %s:%d не удалась: \"%s\"' % [unit_name, addr, port, errmsg])
if broad:
log.info('\"%s\" - установлен широковещательный режим' % unit_name)
if bind:
var rc: = sock.bind(port, addr)
if rc == Error.OK:
log.info('\"%s\" привязан к %s:%d' % [unit_name, addr, port])
else:
var errmsg: = error_string(rc)
log.error('привязка \"%s\" к %s:%d не удалась: \"%s\"' % [unit_name, addr, port, errmsg])
return sock
@@ -198,7 +200,8 @@ func _ready() -> void:
var sock_navi: = create_socket_udp('навигация')
var sock_caps: = create_socket_caps('уарэп-капсрпб')
var sock_trassa: = create_socket_caps('уарэп-трасса')
poll_sockets = [sock_unicast, sock_broadcast, sock_caps, sock_navi, sock_trassa]
var sock_yems: = create_socket_udp('эмс-ведущий')
poll_sockets = [sock_unicast, sock_broadcast, sock_caps, sock_navi, sock_trassa, sock_yems]
send_sockets['уарэп-яу07-частный'] = sock_unicast
send_sockets['уарэп-яу07-общий'] = sock_broadcast
send_sockets['уарэп-капсрпб'] = sock_caps
@@ -216,6 +219,14 @@ func _ready() -> void:
send_sockets['уарэп-яу07-3в'] = sock_unicast
send_sockets['уарэп-яу07-3н'] = sock_unicast
send_sockets['уарэп-яу07-3к'] = sock_unicast
send_sockets['эмс-ор63'] = sock_yems
send_sockets['эмс-454'] = sock_yems
send_sockets['эмс-го'] = sock_yems
send_sockets['эмс-рлс1'] = sock_yems
send_sockets['эмс-рлс2'] = sock_yems
send_sockets['эмс-ннвс'] = sock_yems
send_sockets['эмс-изделие7'] = sock_yems
send_sockets['эмс-изделие8'] = sock_yems
var bind_serials: = []
var bind_modbuses: = []

View File

@@ -27,15 +27,16 @@ var UnitProfiles: Dictionary[StringName, Array] = { \
'уарэп-яу07-3к': ['yau07tx', ['10.1.1.33', 50033, false, false], 'IP-адрес прибора ПРД-К3'],
'навигация': ['navi', ['*', 60000, true, true ], 'IP-адрес на котором принимают сообщения от навигации'],
# <Название: >
'ор-63': ['iyems-tx', [ '192.168.10.1', 60001 ], 'IP-адрес для приёма докладов от информационному ЭМС устройств'],
'454': ['iyems-tx', ['192.168.10.2', 60002 ], 'IP-адрес для передачи команд информационному ЭМС устройству'],
'го': ['iyems-tx', ['192.168.10.3', 60003 ], 'IP-адрес для передачи команд информационному ЭМС устройству'],
'рлс1': ['iyems-tx', ['192.168.10.4', 60004 ], 'IP-адрес для передачи команд информационному ЭМС устройству'],
'рлс2': ['iyems-tx', ['192.168.10.5', 60005 ], 'IP-адрес для передачи команд информационному ЭМС устройству'],
'ннвс': ['iyems-tx', ['192.168.10.6', 60006 ], 'IP-адрес для передачи команд информационному ЭМС устройству'],
'изделие7': ['iyems-tx', ['192.168.10.7', 60007 ], 'IP-адрес для передачи команд информационному ЭМС устройству'],
'изделие8': ['iyems-tx', ['192.168.10.8', 60008 ], 'IP-адрес для передачи команд информационному ЭМС устройству'],
# < Название: [протокол, [адрес, порт, широковещательное, привязывать], комментарий >
'эмс-ведущий': ['iyems-rx', ['192.168.10.1', 61000, false, true], 'IP-адрес для приёма докладов от информационных ЭМС устройств'],
'эмс-ор63': ['iyems-tx', ['192.168.10.1', 61001, false, false], 'IP-адрес для передачи команд информационному ЭМС устройству'],
'эмс-454': ['iyems-tx', ['192.168.10.2', 61002, false, false], 'IP-адрес для передачи команд информационному ЭМС устройству'],
'эмс-го': ['iyems-tx', ['192.168.10.3', 61003, false, false], 'IP-адрес для передачи команд информационному ЭМС устройству'],
'эмс-рлс1': ['iyems-tx', ['192.168.10.4', 61004, false, false], 'IP-адрес для передачи команд информационному ЭМС устройству'],
'эмс-рлс2': ['iyems-tx', ['192.168.10.5', 61005, false, false], 'IP-адрес для передачи команд информационному ЭМС устройству'],
'эмс-ннвс': ['iyems-tx', ['192.168.10.6', 61006, false, false], 'IP-адрес для передачи команд информационному ЭМС устройству'],
'эмс-изделие7': ['iyems-tx', ['192.168.10.7', 61007, false, false], 'IP-адрес для передачи команд информационному ЭМС устройству'],
'эмс-изделие8': ['iyems-tx', ['192.168.10.8', 61008, false, false], 'IP-адрес для передачи команд информационному ЭМС устройству'],
# < Название: Протокол, < Адрес, Порт получения >, Комментарий >
'уарэп-5п28': ['5p28', ['127.0.0.1', 50000], 'IP-адрес комплекса 5П-28'],