RS-485
Описание
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 бит/с. Однако при плохом качестве кабеля, отсутствии экранирования и внешних помехах может понадобиться снизить скорость.
Как правильно проложить шину
В статье RS-485:Физическое подключение описано, как правильно проложить шину.
Добавление устройства в веб-интерфейс
RS-485:Настройка через веб-интерфейс - что сделать для появления устройства в веб-интерфейсе контроллера.
Как ускорить опрос устройств
Для ускорения опроса устройств по шине RS-485 рекомендуем:
- Проверить физическое подключение и отсутствие ошибок.
- Увеличить скорость обмена до 115200 бит/с. На разумных длинах и топологии сети все должно нормально работать. Если на шине есть устройства, не поддерживающие эту скорость, см. пункт 6.
- Отключить через веб-интерфейс в настройках устройства ненужные каналы.
- Если канал не поддерживает события, настроить период опроса каналов. Точная настройка периода опроса может быть полезна, если какие-то каналы нужно опрашивать часто или наоборот — редко.
- Разделить устройства по типам и портам, в контроллере 2 порта RS-485 и еще 3 можно добавить модулями расширения:
- Устройства, не поддерживающие скорость 115200, подключите отдельно.
- Счетчики MAP так же подключите отдельно или с оборудованием, не требующим быстрой реакции. В счетчиках очень много параметров, опрос идет медленно.
- При большом количестве устройств разделите их на несколько портов. При прочих равных скорость вырастет кратно количеству портов.
Также полезно использовать свежие версии прошивок, поддерживающие Быстрый Modbus⚡. В расширении некоторые Modbus-регистры поддерживают события, которые опрашиваются широковещательными командами без очереди. Это позволяет значительно сократить время опроса изменений в регистрах.
Работа с портом RS-485 контроллера из собственного ПО
- Стандартно в Wiren Board с подключёнными по RS-485 устройствами работает Драйвер wb-mqtt-serial (ранее wb-homa-modbus). Он позволяет работать с подключёнными устройствами RS-485 через систему MQTT-сообщений.
- Если вы хотите работать с портом RS-485 напрямую, не используя этот драйвер — отключите его, иначе он будет писать в порт RS-485.
- Работа с последовательным портом из Linux
- Доступ к порту RS-485 контроллера Wiren Board с компьютера
- Настройка параметров обмена данными по RS-485 для modbus-устройств Wiren Board
Реализация портов 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 | Зелёная пара клеммников | Полудуплексные порты. Трансиверы подключен к чипу SC16IS752. На плате установлены терминаторы между линиями A и В, их можно отклчить, распаяв перемычки (по умолчанию запаяны) - смотрите фото | |
/dev/ttyNSC1 | Синяя пара клеммников | |||
Wiren Board 2.8 | /dev/ttyNSC0 | Линии A и B на клеммниках | (Есть не во всех комплектациях) Полудуплексный порт. Трансивер подключен к чипу SC16IS752 |