alreves Posted March 23, 2011 Share Posted March 23, 2011 Добрый вечер. Задача. Есть преобразователи NPort 5150A. Настроены в режиме TCP Client на один! ip:port. На сервере есть приложение, которое слушает этот порт и устанавливает соединение. Можно ли как-то идентифицировать преобразователь-клиент, который устанавливает соединение, например string GetID(). Понимаю, что можно настроить каждый преобразователь на свой порт. Это удобно, если их 10-20 штук. Но когда количество далеко превышает 100, то поддерживать эту инфраструктуру будет сложно (хранение портов, настройка файервола и т.д.) Link to comment
Komantsev Posted March 24, 2011 Share Posted March 24, 2011 Добрый день! Нет, к сожалению не получится никак получить идентификатор устройства NPort. Это противоречило бы основному назначению NPort - прозрачной передаче данных. Поэтому, как только TCP-соединение установлено, через сокет будут только данные, передаваемые с COM-порта. Служебную информацию передать не получится. Можно только идентифицировать NPort по IP-адресу, с которого пришло соединение. Такая идентификация Вам не подойдёт? Link to comment
alreves Posted March 25, 2011 Author Share Posted March 25, 2011 Всё бы ничего, но если Moxa будет в сети Internet с динамическим IP, то адрес не пойдёт для идентификации. Т.е. нет никаких команд, формата [префикс][команда] для отправки сообщений напрямую устройству? Например [0x05 0x0b] [команда] Или на адрес устройства, но на другой порт? Добрый день! Нет, к сожалению не получится никак получить идентификатор устройства NPort. Это противоречило бы основному назначению NPort - прозрачной передаче данных. Поэтому, как только TCP-соединение установлено, через сокет будут только данные, передаваемые с COM-порта. Служебную информацию передать не получится. Можно только идентифицировать NPort по IP-адресу, с которого пришло соединение. Такая идентификация Вам не подойдёт? Link to comment
Komantsev Posted March 25, 2011 Share Posted March 25, 2011 Добрый день, Да, понял, что Вы имеете ввиду. К сожалению, командами через стандартный порт это сделать нельзя. Пообщаюсь с Тайванем, что разработчики предложат на этот счет. Возможно, есть какие-то недокументированные возможности. Но не обещаю. Попробую уточнить в течение пары дней. Link to comment
alreves Posted March 25, 2011 Author Share Posted March 25, 2011 Заранее спасибо. Добрый день, Да, понял, что Вы имеете ввиду. К сожалению, командами через стандартный порт это сделать нельзя. Пообщаюсь с Тайванем, что разработчики предложат на этот счет. Возможно, есть какие-то недокументированные возможности. Но не обещаю. Попробую уточнить в течение пары дней. Link to comment
Komantsev Posted March 28, 2011 Share Posted March 28, 2011 Добрый день, Есть пара дельных предложений на счет Вашей проблемы: Идентифицировать NPort по номеру исходящего TCP-порта (т.е. в разных NPort при настройке ставить разный номер исходящего порта) Если NPort получает адрес по DHCP, у него активируется опция Auto IP Report. Она, в принципе, и предназначена для информирования сетевых устройств о том, что NPort получил IP-адрес. В пакете IP Report содержится и имя NPort, и его MAC и его IP. Подробнее - во вложении. Auto_IP_Report.pdf Link to comment
alreves Posted March 28, 2011 Author Share Posted March 28, 2011 Важная информация. Судя по информации в пакете, можно организовать сервис, который будет отслеживать соответствие серийных номеров и адресов устройств. Досадно, что нельзя получить серийный номер напрямую. Но это лучше, чем ничего. Добрый день, Есть пара дельных предложений на счет Вашей проблемы: Идентифицировать NPort по номеру исходящего TCP-порта (т.е. в разных NPort при настройке ставить разный номер исходящего порта) Если NPort получает адрес по DHCP, у него активируется опция Auto IP Report. Она, в принципе, и предназначена для информирования сетевых устройств о том, что NPort получил IP-адрес. В пакете IP Report содержится и имя NPort, и его MAC и его IP. Подробнее - во вложении. Link to comment
Komantsev Posted March 28, 2011 Share Posted March 28, 2011 Да, серийник, к сожалению, нигде программно не отображается. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now