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

Настройка Nport в режиме Multicast


Recommended Posts

Устройство посылает данные через COM-порт, которые необходимо

принять на нескольких компьютерах. Предполагаю использовать

передачу в режиме UDP/Multicast.

 

Вопросы:

 

1. Какие адреса надо указывать в настройке Destination Start/End?

 

Физические IP-адреса компьютеров, которые будут получать данные ?

Или multicast адрес, на который будет идти рассылка данных ?

Если второе - что в этом случае подразумевается под диапазоном адресов ?

 

2. Где найти пример программирования приема этих данных под Windows ?

На CD, приложенном к устройству, находится примеры использования

библиотеки Ipserial, которая, если я понял правильно, не поддерживает этот режим.

Link to comment

Пытаюсь разобраться сам.

 

1. Ставлю в полях Destination IP Address Begin/End физические

IP компьютеров, которые должны получать данные:

например, 192.168.128.50/192.168.128.60.

 

При этом адрес самого NPort - 192.168.128.254.

 

Смотрю, что ходит в сети. Ходят запросы ARP на каждый

адрес из диапазона 50..60, затем, получив MAC-адрес компьютера,

идет UDP на соответствующий IP.

 

Все понятно.

 

2. Ставлю в полях Destination адрес 192.168.128.255.

 

Как и следовало ожидать, идет Broadcast на 192.168.128.254

 

3. Ставлю в полях Destination адрес 234.5.6.7

 

Ходит только ARP запрос на 234.5.6.7.

 

Ответа нет, что не мудрено, так как компьютера с таким IP нет.

 

Вопрос остается: как же мне задать передачу данных

на multicast адрес ?

Link to comment

Опытным путем выяснил, что прилагаемая библиотека ipserial

работает только когда NPort стоит в режиме TCP Server.

 

Где найти примеры программирования когда NPort стоит в режиме TCP Client ?

Link to comment

Пока только вопросы.

 

Выяснив, что в режиме TCP Server блок NPort и библиотека IPserial

нормально функционируют, решил продолжить исследования.

 

В компьютере есть две сетевых платы.

Делаю независимые подключения к двум блокам NPort.

 

Lan1 (192.168.127.51) ---- HUB1 ---- NPort1 (192.168.127.254)

Lan2 (192.168.128.51) ---- HUB2 ---- NPort2 (192.168.128.254)

 

Настраиваю у обоих блоков один COM-порт в режим TCP Server.

Модифицирую программу, чтобы она открывала два устройства.

 

Открывается только один из блоков (подключенный к первой сетевой карте).

На другой идет ошибка NSIO_CONNECT_FAIL, хотя блок вполне доступен,

так как только что настраивал его через протокол http.

 

Похоже, что библиотека IPSerial может работать c одним интерфейсом.

Это так ?

 

К сожалению, в BIOS нельзя отключить одну из сетевых карт, поэтому

не смог сделать вторую сетевую карту первой и единственной.

 

Кто нибудь сталкивался с таким ?

Link to comment
Пока только вопросы.

 

Выяснив, что в режиме TCP Server блок NPort и библиотека IPserial

нормально функционируют, решил продолжить исследования.

 

В компьютере есть две сетевых платы.

Делаю независимые подключения к двум блокам NPort.

 

Lan1 (192.168.127.51) ---- HUB1 ---- NPort1 (192.168.127.254)

Lan2 (192.168.128.51) ---- HUB2 ---- NPort2 (192.168.128.254)

 

Настраиваю у обоих блоков один COM-порт в режим TCP Server.

Модифицирую программу, чтобы она открывала два устройства.

 

Открывается только один из блоков (подключенный к первой сетевой карте).

На другой идет ошибка NSIO_CONNECT_FAIL, хотя блок вполне доступен,

так как только что настраивал его через протокол http.

 

Похоже, что библиотека IPSerial может работать c одним интерфейсом.

Это так ?

 

К сожалению, в BIOS нельзя отключить одну из сетевых карт, поэтому

не смог сделать вторую сетевую карту первой и единственной.

 

Кто нибудь сталкивался с таким ?

Добрый день,

Вобщем-то Вы всё описываете правильно.

По протоколу UDP передача unicast и broadcast осуществляется в точности так, как Вы и описали.

Multicast, к сожалению, не поддерживается.

 

Что касается IP Serial Library - да, действительно, она работает только в режиме TCP Server. То есть NPort выступает сервером, на который Вы можете подать с компьютера команды типа "открыть порт", "передать данные", "прочитать данные" итп.

 

Вообще говоря, функции IP Serial Library пользователи применяют не часто. Данные в NPort (и из NPort'а) можно передавать напрямую через TCP- или UDP-сокеты. Например, если взять изначально выбранный Вами режим UDP:

Настройте NPort так, чтобы он передавал данные на IP-адрес Вашего компьютера. А на компьютере откройте UDP-сокет 4001 и ожидайте приема данных. Всё, что придет в последовательный порт NPort'а, будет принято в этом сокете. То есть Вашей прикладной программе придется на компьютере читать те же самые последовательны данные, только не из COM-порта, а из сокета. Аналогично и для передачи данных.

 

Обратите внимание, что в режиме UDP нельзя управлять служебными сигналами последовательного порта, такими как RTS/CTS, DTR/DSR. Это можно делать только по TCP. Если Вы заметили, то в режимах TCP Server и TCP Client помимо "основного" сокета 4001 есть и "командный" сокет 966, по которому и происходит управление сигналами, и по которому в своем специальном формате IP Serial Library выдает команды. А просто передача данных по TCP идет так же как и по UDP - в прозрачном режиме, через сокет 4001 (по умолчанию).

Link to comment
  • 1 month later...

>Если Вы заметили, то в режимах TCP Server и TCP Client помимо "основного" сокета 4001 есть и "командный" сокет 966, по которому и происходит >управление сигналами, и по которому в своем специальном формате IP Serial Library выдает команды.

 

Добрый день!

 

В нашей фирме необходимо разработать программу под WinCE, которая будет получать данные с весов, подключенных к NPort 5210. Библиотеку ip serial library под WinCE я не нашел. Можно ли получить документацию о протоколе ip serial library, чтобы работать с Nport через сокеты напрямую?

 

dsmover собака mail.ru

Link to comment
Интересно именно как настроить скорость порта и прочие параметры через "командный" сокет 966...

 

Спасибо

 

Эта информация не опубликовывается?

Link to comment
Эта информация не опубликовывается?

Добрый день,

Сорри за поздний ответ.

Нет, к сожалению эту информацию мы не можем опубликовать публично, поскольку служебный протокол управления не описан в стандартной документации и, более того, не оформлен в виде отдельного документа.

Я Вам скину имеющиеся материалы по электронной почте.

Link to comment
Guest
This topic is now closed to further replies.
×
×
  • Create New...