Jump to content
Форум по продукции MOXA

Идентификация преобразователя


Recommended Posts

Добрый вечер.

Задача. Есть преобразователи NPort 5150A. Настроены в режиме TCP Client на один! ip:port.

На сервере есть приложение, которое слушает этот порт и устанавливает соединение.

Можно ли как-то идентифицировать преобразователь-клиент, который устанавливает соединение,

например string GetID().

Понимаю, что можно настроить каждый преобразователь на свой порт. Это удобно, если их 10-20 штук.

Но когда количество далеко превышает 100, то поддерживать эту инфраструктуру

будет сложно (хранение портов, настройка файервола и т.д.)

Link to comment

Добрый день!

 

Нет, к сожалению не получится никак получить идентификатор устройства NPort. Это противоречило бы основному назначению NPort - прозрачной передаче данных. Поэтому, как только TCP-соединение установлено, через сокет будут только данные, передаваемые с COM-порта. Служебную информацию передать не получится.

 

Можно только идентифицировать NPort по IP-адресу, с которого пришло соединение. Такая идентификация Вам не подойдёт?

Link to comment

Всё бы ничего, но если Moxa будет в сети Internet с динамическим IP, то адрес не пойдёт для идентификации.

 

Т.е. нет никаких команд, формата [префикс][команда] для отправки сообщений напрямую устройству? Например [0x05 0x0b] [команда]

Или на адрес устройства, но на другой порт?

 

Добрый день!

 

Нет, к сожалению не получится никак получить идентификатор устройства NPort. Это противоречило бы основному назначению NPort - прозрачной передаче данных. Поэтому, как только TCP-соединение установлено, через сокет будут только данные, передаваемые с COM-порта. Служебную информацию передать не получится.

 

Можно только идентифицировать NPort по IP-адресу, с которого пришло соединение. Такая идентификация Вам не подойдёт?

Link to comment

Добрый день,

 

Да, понял, что Вы имеете ввиду. К сожалению, командами через стандартный порт это сделать нельзя. Пообщаюсь с Тайванем, что разработчики предложат на этот счет. Возможно, есть какие-то недокументированные возможности. Но не обещаю.

Попробую уточнить в течение пары дней.

Link to comment

Заранее спасибо.

 

Добрый день,

 

Да, понял, что Вы имеете ввиду. К сожалению, командами через стандартный порт это сделать нельзя. Пообщаюсь с Тайванем, что разработчики предложат на этот счет. Возможно, есть какие-то недокументированные возможности. Но не обещаю.

Попробую уточнить в течение пары дней.

Link to comment

Добрый день,

Есть пара дельных предложений на счет Вашей проблемы:


     
  1. Идентифицировать NPort по номеру исходящего TCP-порта (т.е. в разных NPort при настройке ставить разный номер исходящего порта)
  2. Если NPort получает адрес по DHCP, у него активируется опция Auto IP Report. Она, в принципе, и предназначена для информирования сетевых устройств о том, что NPort получил IP-адрес. В пакете IP Report содержится и имя NPort, и его MAC и его IP. Подробнее - во вложении.

Auto_IP_Report.pdf

Link to comment

Важная информация.

Судя по информации в пакете, можно организовать сервис, который будет отслеживать соответствие серийных номеров и адресов устройств.

Досадно, что нельзя получить серийный номер напрямую. Но это лучше, чем ничего.

 

Добрый день,

Есть пара дельных предложений на счет Вашей проблемы:


  1.  
  2. Идентифицировать NPort по номеру исходящего TCP-порта (т.е. в разных NPort при настройке ставить разный номер исходящего порта)
  3. Если NPort получает адрес по DHCP, у него активируется опция Auto IP Report. Она, в принципе, и предназначена для информирования сетевых устройств о том, что NPort получил IP-адрес. В пакете IP Report содержится и имя NPort, и его MAC и его IP. Подробнее - во вложении.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...