Передача RS-485 через Ethernet
Данное руководство подходит для передачи данных RS-232, RS-422, RS-485. Для передачи данных нужно установить субмодуль (R232, R422, R485) с требуемым интерфейсом на каждой плате VE-02. Все настройки аналогичны.
Задача: передать цифровые данные между двумя устройствами по стандарту RS-485.
Схема:
IP-адрес платы VE-02 Блок 1: 192.168.20.75
IP-адрес платы VE-02 Блок 2: 192.168.20.76
Вместо платы GE-04 можно использовать любую плату, у которой есть внешние порты Ethernet (RJ-45) и есть Ethernet-линк на кросс-плату.
Передавать данные мы будем с помощью платы VE-02, на которой установлен субмодуль R485, который позволяет принимать и отправлять данные по стандарту RS-485.
Канальное окончание R485 не работает с каналами TDM, а является конвертером интерфейса и предназначено для передачи данных интерфейсов RS-485 через сеть IP. Канальное окончание R485 транслирует данные, приходящие через интерфейс RS-485, в сеть IP по протоколу TCP, а данные, приходящие из сети по протоколу TCP, передает в интерфейс RS-485. Плата VE-02 передает эти пакеты на коммутатор платы SW-01, потом они пересылаются через плату GE-04. На втором блоке IP-пакеты проходят обратный путь.
Настройка платы GE-04
Надо найти GE-04 в списке установленных плат и нажать на нее.
Порты 1-4 являются портам RJ-45 на лицевой стороне платы, порт 5 – порт подключения к центральному коммутатору платы SW-01.
В столбце «Enabled» нужно установить галочку для того порта, через который будут соединяться блоки, и для пятого порта.
В таблице «Port-based VLAN settings» нужно установить галочку в столбце 5. Эта настройки влияет на прохождение трафика между портом RJ-45 на лицевой стороне и кросс-платой. (Для более детальной настройки VLAN вы можете обратиться к руководству по эксплуатации).
Остальные настройки можно оставить по умолчанию.
При подключении линка в порт в столбце «Status» должна отобразиться скорость подключения и режим (дуплекс/полудуплекс) на зеленом фоне.
Если отсутствует линк на пятом порту платы GE-04, то на вкладке «Ethernet» самого блока нужно убедиться, что порт платы GE-04 не заблокирован и есть соединение между платой GE-04 и платой SW-01.
Настройка платы VE-02
Надо найти VE-02 в списке установленных плат и нажать на нее. На вкладке «Настройки» нужно указать сетевые настройки платы.
В разделе «Параметры сети LAN» можно ничего не указывать (если вам это не надо для других задач), потому что эта настройка отвечает за разъем RJ-45 на лицевой стороне платы, который нам не понадобится.
В настройках WAN надо указать IP-адрес самой платы VE-02, маску, шлюз и DNS; чекбокс «Proxy ARP» можно убрать.
Остальные настройки можно оставить по умолчанию. На второй плате VE-02 надо сделать такие же настройки (IP-адрес указывается другой).
На вкладке «Канальные окончания» можно увидеть канальное окончание R485. «Канал 255» означает, что данное канальное окончание «выходит» на первый порт на лицевой стороне платы VE-02. («Канал 256» соответствует второму порту).
Для настройки канального окончания надо нажать на шестеренку в столбце «Действия».
В настройках канального окончания указываются следующие параметры:
- Скорость, Число бит данных, Контроль четности, Число стоповых бит – указываются в соответствии с параметрами оборудования, которое будет подключено к окончанию. Эти параметры должны совпадать на обоих окончаниях.
- Режим работы – сервер или клиент. В режиме «сервер» канальное окончание ожидает установки входящего соединения от другого хоста в сети, в режиме «клиент» канальное окончание само делает попытки подключения к удаленному хосту.
Соответственно, окончание на первом блоке мы сделаем сервером, на втором блоке – клиентом. - Сервер – указывается IP-адрес платы VE-02, с которым будет устанавливать соединение канальное окончание, работающее в режиме «клиент».
Если режим окончания «сервер», то поле неактивно. - Порт – параметр устанавливает номер порта TCP, на который канальное окончание R485 будет принимать соединение в режиме «сервер» или на который канальное окончание R485 будет устанавливать соединение в режиме «клиент».
- Таймаут неактивности – параметр устанавливает время, в течение которого при отсутствии данных, принимаемых из соединения TCP, канальное окончание разрывает соединение. Может использоваться для контроля целостности соединения, но лучше использовать следующий параметр «TCP keep-alive».
- TCP keep-alive – устанавливает время, в течение которого при отсутствии активности соединения канальное окончание отправляет пакет TCP ACK. В ответ на этот пакет ожидается пакет ACK.
Этот параметр нужен для того, чтобы поддерживать соединение между хостами в актуальном состоянии. Например, сервер и клиент успешно установили соединение, после чего на стороне сервера было отключено питание устройства. После включения питания на стороне сервера соединение TCP отсутствует, однако клиент будет по-прежнему считать, что соединение установлено, так как не получал от сервера пакетов, свидетельствующих о разрыве соединения. - Таймаут передачи – параметр устанавливает время, в течение которого принимаемые из интерфейса RS-485 данные накапливаются во временном буфере.
При нулевом значении параметра принятые из интерфейса RS-485 данные немедленно передаются в сеть удаленному хосту (записываются в сокет).
При ненулевом значении параметра при приеме из интерфейса RS-485 первого октета данных принятый октет помещается во временный буфер, при этом запускается таймер передачи на значение таймаута, установленное конфигурационным параметром.
До истечения заданного таймаута все принимаемые из интерфейса RS-485 данные дописываются во временный буфер. При истечении заданного таймаута все накопленные во временном буфере данные передаются в сеть удаленному хосту. Таким образом, установка ненулевого значения таймаута передачи позволяет снизить частоту передаваемых через соединение TCP сегментов данных и тем самым сократить накладные расходы и уменьшить общий объем данных, передаваемых по сети, ценой некоторого увеличения задержки передачи. Это может быть полезно, например, в случае передачи через широкополосный канал с оплатой по объему трафика.
Настройка «сервера»:
- Скорость, Число бит данных, Контроль четности, Число стоповых бит – мы оставим все параметры по умолчанию.
- Режим работы – выбираем «сервер».
- Порт – можно указать любой свободный порт, мы укажем «708».
- Таймаут неактивности – не будет использован, поэтому оставим по умолчанию «0».
- TCP keep-alive – для контроля соединения укажем «10 сек».
- Таймаут передачи – оставим нулевое значение, чтобы данные сразу передавались в сеть. Так как ширина канала у нас ничем не ограничена и не тарифицируется, то можно «не экономить» на накладных расходах. В противном случае следует вычислить оптимальное время таймаута таким образом, чтобы один IP пакет содержал один пакет данных RS-485.
Настройка канального окончания R485 на первом блоке:
Настройка «клиента»:
- Скорость, Число бит данных, Контроль четности, Число стоповых бит – также оставим все параметры по умолчанию.
- Режим работы – выбираем «клиент».
- Сервер – напишем IP-адрес платы VE-02, установленной в первом блоке.
- Порт – напишем порт, который указывали для «сервера» – «708».
- Таймаут неактивности – не используется.
- TCP keep-alive – также укажем «10 сек».
- Таймаут передачи – оставим нулевое значение, чтобы данные сразу передавались в сеть.
Настройка канального окончания R485 на втором блоке:
После настроек окончаний на обеих платах в столбце «Состояние» отображается статус «Connected». В столбце «Вызывающий» отображается собственный IP-адрес платы VE-02, в столбце «Вызываемый» указан IP-адрес платы VE-02, с которой установлено соединение, а также порт, через который идет соединение.
Окончание R485 на первом блоке использует для соединения порт, который был задан при настройке, окончание R485 на втором блоке использует случайный свободный порт.
Статус канального окончания на первом блоке:
Статус канального окончания на втором блоке:
Проверка
Для проверки будет использована следующая схема:
С помощью конвертеров Ethernet <--> RS485
подключим ПК к обоим портам плат VE-02, в которых установлены субмодули R485. Затем через программу генерируем и отправляем данные на порт платы VE-02 первого блока и получаем данные с порта платы VE-02 второго блока. После успешной проверки прохождения данных в одну сторону поменяем в программе направление данных в другую сторону (данные шли Блок 1 -> Блок 2
, теперь Блок 1 <- Блок 2
).
Как показано ниже, полученные данные соответствуют отправленным, число отправленных/полученных пакетов совпадает, ошибок не обнаружено.
Attachments (12)
- 1-scheme.png (54.1 KB ) - added by 10 days ago.
- 2-conf_GE-04.png (41.8 KB ) - added by 10 days ago.
- 3-tab_eth.png (25.0 KB ) - added by 10 days ago.
- 4-conf_VE_b1.png (65.4 KB ) - added by 10 days ago.
- 5-KO_b1.png (24.4 KB ) - added by 10 days ago.
- 6-conf_R485_b1.png (41.3 KB ) - added by 10 days ago.
- 7-conf_R485_b2.png (41.8 KB ) - added by 10 days ago.
- 8-R485_OK_b1.png (18.0 KB ) - added by 10 days ago.
- 9-R485_OK_b2.png (17.9 KB ) - added by 10 days ago.
- 11-test.png (49.0 KB ) - added by 10 days ago.
- 12-test.png (51.5 KB ) - added by 10 days ago.
- 10-scheme.png (41.7 KB ) - added by 4 days ago.
Download all attachments as: .zip