RS-485

From Wiren Board
This is the approved revision of this page, as well as being the most recent.
Other languages:

Описание

Эксперимент, подтверждающий работу контроллера Wiren Board с 247 периферийными устройствами Wiren Board на одной шине

RS-485 — стандарт коммуникации по двухпроводной шине.

Устройства Wiren Board используют шину RS-485 и протокол Modbus поверх неё. Ограничения стандартов по количеству устройств на одной шине:

  • RS-485 — не более 256 устройств, при этом точное количество зависит от самих устройств;
  • протокол Modbus — не более 247 ведомых (slave) устройств.

Контроллер Wiren Board может работать с 247 периферийными устройствами Wiren Board на шине, это было проверено опытным путем.

Скорость передачи данных в периферийных устройствах Wiren Board — до 115200 бит/с.

Длина линии RS-485 по стандарту может быть до 1200 метров. При такой длине линии устройства могут работать на скорости 115200 бит/с. Однако при плохом качестве кабеля, отсутствии экранирования и внешних помехах может понадобиться снизить скорость.

Как правильно проложить шину

Подключение Modbus модулей по RS-485

В статье RS-485:Физическое подключение описано, как правильно проложить шину.

Добавление устройства в веб-интерфейс

Настройка происходит через страницу Configs веб-интерфейса

RS-485:Настройка через веб-интерфейс - что сделать для появления устройства в веб-интерфейсе контроллера.

Как ускорить опрос устройств

Как ускорить работу Modbus-устройств (30:19)

Для ускорения опроса устройств по шине RS-485 рекомендуем:

  1. Проверить физическое подключение и отсутствие ошибок.
  2. Увеличить скорость обмена до 115200 бит/с. На разумных длинах и топологии сети все должно нормально работать. Если на шине есть устройства, не поддерживающие эту скорость, см. пункт 6.
  3. Отключить через веб-интерфейс в настройках устройства ненужные каналы.
  4. Если канал не поддерживает события, настроить период опроса каналов. Точная настройка периода опроса может быть полезна, если какие-то каналы нужно опрашивать часто или наоборот — редко.
  5. Разделить устройства по типам и портам, в контроллере 2 порта RS-485 и еще 3 можно добавить модулями расширения:
    • Устройства, не поддерживающие скорость 115200, подключите отдельно.
    • Счетчики MAP так же подключите отдельно или с оборудованием, не требующим быстрой реакции. В счетчиках очень много параметров, опрос идет медленно.
    • При большом количестве устройств разделите их на несколько портов. При прочих равных скорость вырастет кратно количеству портов.

Также полезно использовать свежие версии прошивок, поддерживающие Быстрый Modbus⚡. В расширении некоторые Modbus-регистры поддерживают события, которые опрашиваются широковещательными командами без очереди. Это позволяет значительно сократить время опроса изменений в регистрах.

Работа с портом RS-485 контроллера из собственного ПО

Реализация портов RS-485 в старых версиях контроллера

Модель контроллера Название порта в Linux Альтернативное имя порта в Linux Разъём на контроллере Примечание
Wiren Board 6 /dev/ttymxc1 /dev/ttyRS485-1 Подписан RS-485, клеммники A и B Неизолированный порт, установлен терминатор
/dev/ttymxc3 /dev/ttyRS485-2 Подписан CAN (так как этот же порт может использоваться как CAN) Неизолированный порт, установлен терминатор, мультиплексирован с CAN
Wiren Board 5 /dev/ttyAPP1 /dev/ttyRS485-1 Подписан RS-485, клеммники A и B Неизолированный порт, установлен терминатор
/dev/ttyAPP4 /dev/ttyRS485-2 Подписан CAN (так как этот же порт может использоваться как CAN) Неизолированный порт, установлен терминатор, мультиплексирован с CAN
Wiren Board 4 /dev/ttyNSC0 Подписан RS-485-ISO Изолированный порт, установлен терминатор
/dev/ttyNSC1 Неизолированный порт, установлен терминатор
Wiren Board NETMON-1 /dev/ttyNSC0 Подпись и8 Полудуплексные порты. Трансиверы подключен к чипу SC16IS752
/dev/ttyNSC1 Подпись и6
Wiren Board Smart Home 3.5 /dev/ttyNSC0 Зелёная пара клеммников
Перемычки терминаторов в Wiren Board Smart Home 3.5
Полудуплексные порты. Трансиверы подключен к чипу SC16IS752.
На плате установлены терминаторы между линиями A и В, их можно отклчить, распаяв перемычки (по умолчанию запаяны) - смотрите фото
/dev/ttyNSC1 Синяя пара клеммников
Wiren Board 2.8 /dev/ttyNSC0 Линии A и B на клеммниках (Есть не во всех комплектациях) Полудуплексный порт. Трансивер подключен к чипу SC16IS752