Changes between Initial Version and Version 1 of Examples3uRs485OverEth


Ignore:
Timestamp:
Feb 28, 2025, 12:32:48 PM (10 days ago)
Author:
roman_zhur
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Examples3uRs485OverEth

    v1 v1  
     1= Передача RS-485 через Ethernet
     2
     3> Данное руководство подходит для передачи данных RS-232, RS-422, RS-485. Для передачи данных нужно установить субмодуль (R232, R422, R485) с требуемым интерфейсом на каждой плате VE-02. Все настройки аналогичны.
     4
     5**Задача:** передать цифровые данные между двумя устройствами по стандарту RS-485.\\
     6**Схема:**
     7
     8[[Image(1-scheme.png, align=center, title=схема_блоков)]]
     9 
     10IP-адрес платы VE-02 Блок 1: 192.168.20.75\\
     11IP-адрес платы VE-02 Блок 2: 192.168.20.76\\
     12Вместо платы GE-04 можно использовать любую плату, у которой есть внешние порты Ethernet (RJ-45) и есть Ethernet-линк на кросс-плату.
     13
     14Передавать данные мы будем с помощью платы VE-02, на которой установлен субмодуль R485, который позволяет принимать и отправлять данные по стандарту RS-485.\\
     15Канальное окончание R485 не работает с каналами TDM, а является конвертером интерфейса и предназначено для передачи данных интерфейсов RS-485 через сеть IP. Канальное окончание R485 транслирует данные, приходящие через интерфейс RS-485, в сеть IP по протоколу TCP, а данные, приходящие из сети по протоколу TCP, передает в интерфейс RS-485. Плата VE-02 передает эти пакеты на коммутатор платы SW-01, потом они пересылаются через плату GE-04. На втором блоке IP-пакеты проходят обратный путь.
     16
     17== Настройка платы GE-04
     18Надо найти GE-04 в списке установленных плат и нажать на нее.
     19
     20Порты 1-4 являются портам RJ-45 на лицевой стороне платы, порт 5 – порт подключения к центральному коммутатору платы SW-01.\\
     21В столбце «Enabled» нужно установить галочку для того порта, через который будут соединяться блоки, и для пятого порта.\\
     22В таблице «Port-based VLAN settings» нужно установить галочку в столбце 5. Эта настройки влияет на прохождение трафика между портом RJ-45 на лицевой стороне и кросс-платой. (Для более детальной настройки VLAN вы можете обратиться к руководству по эксплуатации).
     23Остальные настройки можно оставить по умолчанию.
     24При подключении линка в порт в столбце «Status» должна отобразиться скорость подключения и режим (дуплекс/полудуплекс) на зеленом фоне.
     25
     26[[Image(2-conf_GE-04.png, align=center, title=конфигурация_GE-04)]]
     27
     28Если отсутствует линк на пятом порту платы GE-04, то на вкладке «Ethernet» самого блока нужно убедиться, что порт платы GE-04 не заблокирован и есть соединение между платой GE-04 и платой SW-01.
     29
     30[[Image(3-tab_eth.png, align=center, title=проверка_линка)]]
     31
     32== Настройка платы VE-02
     33Надо найти VE-02 в списке установленных плат и нажать на нее. На вкладке «Настройки» нужно указать сетевые настройки платы.
     34
     35В разделе «Параметры сети LAN» можно ничего не указывать (если вам это не надо для других задач), потому что эта настройка отвечает за разъем RJ-45 на лицевой стороне платы, который нам не понадобится.\\
     36В настройках WAN надо указать IP-адрес самой платы VE-02, маску, шлюз и DNS; чекбокс «Proxy ARP» можно убрать.\\
     37Остальные настройки можно оставить по умолчанию. На второй плате VE-02 надо сделать такие же настройки (IP-адрес указывается другой).
     38
     39[[Image(4-conf_VE_b1.png, align=center, title=настройка_VE-02)]]
     40
     41На вкладке «Канальные окончания» можно увидеть канальное окончание R485. «Канал 255» означает, что данное канальное окончание «выходит» на первый порт на лицевой стороне платы VE-02. («Канал 256» соответствует второму порту).\\
     42Для настройки канального окончания надо нажать на шестеренку в столбце «Действия».
     43
     44[[Image(5-KO_b1.png, align=center, title=вкладка_КО)]]
     45
     46В настройках канального окончания указываются следующие параметры:
     47• Скорость, Число бит данных, Контроль четности, Число стоповых бит – указываются в соответствии с параметрами оборудования, которое будет подключено к окончанию. Также эти параметры должны совпадать на обоих окончаниях.
     48• Режим работы – сервер или клиент. В режиме «сервер» канальное окончание ожидает установки входящего соединения от другого хоста в сети, в режиме «клиент» канальное окончание само делает попытки подключения к удаленному хосту. \\ Соответственно, окончание на первом блоке мы сделаем сервером, на втором блоке – клиентом.
     49• Сервер – указывается IP-адрес платы VE-02, с которым будет устанавливать соединение канальное окончание, работающее в режиме «клиент».\\Если режим окончания «сервер», то поле неактивно.
     50• Порт – параметр устанавливает номер порта TCP, на который канальное окончание R485 будет принимать соединение в режиме «сервер» или на который канальное окончание R485 будет устанавливать соединение в режиме «клиент».
     51• Таймаут неактивности – параметр устанавливает время, в течение которого при отсутствии данных, принимаемых из соединения TCP, канальное окончание разрывает соединение. Может использоваться для контроля целостности соединения, но лучше использовать следующий параметр «TCP keep-alive».
     52• TCP keep-alive – устанавливает время, в течение которого при отсутствии активности соединения канальное окончание отправляет пакет TCP ACK. В ответ на этот пакет ожидается пакет ACK.\\ Этот параметр нужен для того, чтобы поддерживать соединение между хостами в актуальном состоянии. Например, сервер и клиент успешно установили соединение, после чего на стороне сервера было отключено питание устройства. После включения питания на стороне сервера соединение TCP отсутствует, однако клиент будет по-прежнему считать, что соединение установлено, так как не получал от сервера пакетов, свидетельствующих о разрыве соединения.
     53• Таймаут передачи – параметр устанавливает время, в течение которого принимаемые из интерфейса RS-485 данные накапливаются во временном буфере.\\При нулевом значении параметра принятые из интерфейса RS-485 данные немедленно передаются в сеть удаленному хосту (записываются в сокет).\\При ненулевом значении параметра при приеме из интерфейса RS-485 первого октета данных принятый октет помещается во временный буфер, при этом запускается таймер передачи на значение таймаута, установленное конфигурационным параметром.\\До истечения заданного таймаута все принимаемые из интерфейса RS-485 данные дописываются во временный буфер. При истечении заданного таймаута все накопленные во временном буфере данные передаются в сеть удаленному хосту. Таким образом, установка ненулевого значения таймаута передачи позволяет снизить частоту передаваемых через соединение TCP сегментов данных и тем самым сократить накладные расходы и уменьшить общий объем данных, передаваемых по сети, ценой некоторого увеличения задержки передачи. Это может быть полезно, например, в случае передачи через широкополосный канал с оплатой по объему трафика.
     54
     55==== Настройка «сервера»:
     56• Скорость, Число бит данных, Контроль четности, Число стоповых бит – мы оставим все параметры по умолчанию.
     57• Режим работы – выбираем «сервер».
     58• Порт – можно указать любой свободный порт, мы укажем «708».
     59• Таймаут неактивности – не будет использован, поэтому оставим по умолчанию «0».
     60• TCP keep-alive – для контроля соединения укажем «10 сек».
     61• Таймаут передачи – оставим нулевое значение, чтобы данные сразу передавались в сеть. Так как ширина канала у нас ничем не ограничена и не тарифицируется, то можно «не экономить» на накладных расходах. В противном случае следует вычислить оптимальное время таймаута таким образом, чтобы один IP пакет содержал один пакет данных RS-485.
     62
     63Настройка канального окончания R485 на первом блоке:
     64
     65[[Image(6-conf_R485_b1.png, align=center, title=настройка_R485)]]
     66
     67==== Настройка «клиента»:
     68• Скорость, Число бит данных, Контроль четности, Число стоповых бит – также оставим все параметры по умолчанию.
     69• Режим работы – выбираем «клиент».
     70• Сервер – напишем IP-адрес платы VE-02, установленной в первом блоке.
     71• Порт – напишем порт, который указывали для «сервера» – «708».
     72• Таймаут неактивности – не используется.
     73• TCP keep-alive – также укажем «10 сек».
     74• Таймаут передачи – оставим нулевое значение, чтобы данные сразу передавались в сеть.
     75
     76Настройка канального окончания R485 на втором блоке:
     77
     78[[Image(7-conf_R485_b2.png, align=center, title=настройка_R485)]]
     79
     80После настроек окончаний на обеих платах в столбце «Состояние» отображается статус «Connected». В столбце «Вызывающий» отображается собственный IP-адрес платы VE-02, в столбце «Вызываемый» указан IP-адрес платы VE-02, с которой установлено соединение, а также порт, через который идет соединение.\\
     81Окончание R485 на первом блоке использует для соединения порт, который был задан при настройке, окончание R485 на втором блоке использует случайный свободный порт.
     82
     83Статус канального окончания на первом блоке:
     84
     85[[Image(8-R485_OK_b1.png, align=center, title=статус_КО)]]
     86
     87Статус канального окончания на втором блоке:
     88
     89[[Image(9-R485_OK_b2.png, align=center, title=статус_КО)]]
     90
     91=== Проверка
     92
     93Для проверки будет использована следующая схема:
     94
     95[[Image(10-scheme.png, align=center, title=схема_проверки)]]
     96
     97С помощью конвертеров `Ethernet <--> RS485` подключим ПК к обоим портам плат VE-02, в которых установлены субмодули R485. Затем через программу генерируем и отправляем данные на порт платы VE-02 первого блока и получаем данные с порта платы VE-02 второго блока. После успешной проверки прохождения данных в одну сторону поменяем в программе направление данных в другую сторону (данные шли `Блок 1 -> Блок 2`, теперь `Блок 1 <- Блок 2`). Как показано ниже, полученные данные соответствуют отправленным, число отправленных/полученных пакетов совпадает, ошибок не обнаружено.
     98
     99
     100[[Image(11-test.png, align=center, title=тестирование)]]
     101
     102
     103[[Image(12-test.png, align=center, title=тестирование)]]