RS-485: различия между версиями

Материал из Wiren Board
(не показано 76 промежуточных версий 10 участников)
Строка 1: Строка 1:
<languages/>
'''RS-485''' - стандарт коммуникации по двухпроводной шине. К порту RS-485 контроллера [[Wiren Board]] можно подключать периферийные устройства.
<translate>
== Какие устройства можно подключать к Wiren Board по RS-485 ==
<!--T:1-->
К контроллеру можно подключать [[Периферийные устройства с интерфейсом Modbus серии WB-xxxx | устройства с интерфейсом Modbus нашего производства]], счётчики Меркурий и Милур, а также некоторые другие устройства, в том числе работающие по протоколу Modbus.
__NOTOC__
== Описание ==
[[File:Max number WB RS-485 devices.jpg|thumb|right|300 px|Эксперимент, подтверждающий работу контроллера Wiren Board с 247 периферийными устройствами Wiren Board на одной шине]]
'''RS-485''' — стандарт коммуникации по двухпроводной шине.


<!--T:2-->
Полный список протестированных устройств: [[Поддерживаемые устройства#Подключаемые по RS-485]].
Устройства Wiren Board используют шину RS-485 и [[Special:MyLanguage/Протокол Modbus|протокол Modbus]] поверх неё. Ограничения стандартов по количеству устройств на одной шине:
==Как физически подключить==
* RS-485 — не более 256 устройств, при этом точное количество зависит от самих устройств;
Смотрите статью [[RS-485:Физическое подключение]].
* протокол Modbus — не более 247 ведомых (slave) устройств.
Контроллер Wiren Board может работать с 247 периферийными устройствами Wiren Board на шине, это было проверено опытным путем.


Скорость передачи данных в периферийных устройствах Wiren Board — до 115200 бит/с.
==Настройка через веб-интерфейс==
Смотрите статью [[RS-485:Настройка через веб-интерфейс]].


Длина линии RS-485 по стандарту может быть до 1200 метров. При такой длине линии устройства могут работать на скорости 115200 бит/с. Однако при плохом качестве кабеля, отсутствии экранирования и внешних помехах может понадобиться снизить скорость.
== Низкоуровневая работа с портом RS-485 ==
За работу с последовательными портами (в том числе RS-485) в Wiren Board отвечает [[Драйвер wb-mqtt-serial]] (ранее ''wb-homa-modbus''). Он обеспечивает работу с подключёнными по RS-485 устройствами через систему [[MQTT]]-сообщений.


<!--T:5-->
Если вы хотите работать с портом RS-485, не используя этот драйвер, - отключите его или очистите файл конфигурации, иначе стандартный драйвер будет писать в этот порт.
[https://www.bookasutp.ru/Chapter2_3.aspx Энциклопедия АСУ ТП. Интерфейс RS-485] — подробно про работу интерфейса.


==Как правильно проложить шину==
Перед началом работы ознакомьтесь со статьями [[Работа с последовательным портом из Linux]] и [[Доступ к порту RS-485 контроллера Wiren Board с компьютера]].
{{YouTube
|link= https://youtu.be/f9zvU900sPI?feature=shared
|text= Подключение Modbus модулей по RS-485
}}
<!--T:8-->
В статье [[RS-485:Физическое подключение|RS-485:Физическое подключение]] описано, как правильно проложить шину.


==Добавление устройства в веб-интерфейс== <!--T:9-->
== Реализация портов в разных версиях Wiren Board ==


<!--T:10-->
{| class="wikitable"
[[File:rs-485-setup-configs.png|thumb|right|300 px|Настройка происходит через страницу ''Configs'' [[RS-485:Настройка через веб-интерфейс|веб-интерфейса]]]]
|'''Модель контроллера'''
[[RS-485:Настройка через веб-интерфейс|RS-485:Настройка через веб-интерфейс]] - что сделать для появления устройства в веб-интерфейсе контроллера.
|'''Название порта в Linux'''
 
|'''Разъём на контроллере'''
==Как ускорить опрос устройств==
|'''Примечание'''
{{YouTube
|-
|link= https://youtu.be/d_olK15Xhkw
|rowspan="2"|[[Wiren Board 5]]
|text= Как ускорить работу Modbus-устройств (30:19)
|''/dev/ttyAPP1''
|start=1819
|Подписан ''RS-485'', клеммники A и B
}}
|Неизолированный порт, установлен терминатор
 
|-
Для ускорения опроса устройств по шине RS-485 рекомендуем:
|''/dev/ttyAPP4''
# Проверить [[RS-485:Физическое подключение | физическое подключение]] и отсутствие ошибок.
|Подписан ''CAN'' (так как этот же порт может использоваться как CAN)
# [[UART Communication Settings | Увеличить скорость обмена до 115200 бит/с]]. На разумных длинах и топологии сети все должно нормально работать. Если на шине есть устройства, не поддерживающие эту скорость, см. пункт 6.
|Неизолированный порт, установлен терминатор, мультиплексирован с CAN
# [[RS-485:Configuration_via_Web_Interface#Отключение каналов, смена режимов и настройка параметров | Отключить]] через веб-интерфейс в настройках устройства ненужные каналы.
|-
# Если канал не поддерживает события, [[RS-485:Configuration_via_Web_Interface#poll-period | настроить период опроса каналов]]. Точная настройка периода опроса может быть полезна, если какие-то каналы нужно опрашивать часто или наоборот — редко.
|rowspan="2"|[[Wiren Board 4]]
# Разделить устройства по типам и портам, в контроллере 2 порта RS-485 и еще 3 можно добавить модулями расширения:
|''/dev/ttyNSC0''
#* Устройства, не поддерживающие скорость 115200,  подключите отдельно.
|Подписан ''RS-485-ISO''
#* Счетчики MAP так же подключите отдельно или с оборудованием, не требующим быстрой реакции. В счетчиках очень много параметров, опрос идет медленно.
|Изолированный порт, установлен терминатор
#* При большом количестве устройств разделите их на несколько портов. При прочих равных скорость вырастет кратно количеству портов.
|-
 
|''/dev/ttyNSC1''
Также полезно использовать свежие версии прошивок, поддерживающие [[Fast Modbus | Быстрый Modbus]]&#9889;. В расширении некоторые Modbus-регистры поддерживают события, которые опрашиваются широковещательными командами без очереди. Это позволяет значительно сократить время опроса изменений в регистрах.
|
 
|Неизолированный порт, установлен терминатор
== Работа с портом RS-485 контроллера из собственного ПО == <!--T:11-->
|-
 
|rowspan="2"|[[Wiren Board NETMON-1]]
<!--T:12-->
|''/dev/ttyNSC0''
*Стандартно в Wiren Board с подключёнными по RS-485 устройствами работает [[Special:MyLanguage/Драйвер wb-mqtt-serial|Драйвер wb-mqtt-serial]] (ранее ''wb-homa-modbus''). Он позволяет работать с подключёнными устройствами RS-485 через систему [[Special:MyLanguage/MQTT|MQTT]]-сообщений.
|Подпись ''и8''
*Если вы хотите работать с портом RS-485 напрямую, не используя этот драйвер — отключите его, иначе он будет писать в порт RS-485.
|rowspan="2"|Полудуплексные порты. Трансиверы подключен к чипу [[SC16IS752]]
*[[Special:MyLanguage/Работа с последовательным портом из Linux|Работа с последовательным портом из Linux]]
|-
*[[Special:MyLanguage/Доступ к порту RS-485 контроллера Wiren Board с компьютера|Доступ к порту RS-485 контроллера Wiren Board с компьютера]]
|''/dev/ttyNSC1''
*[[Special:MyLanguage/UART_Communication_Settings|Настройка параметров обмена данными по RS-485 для modbus-устройств Wiren Board]]
|Подпись ''и6''
</translate>
|-
|rowspan="2"|[[Wiren Board Smart Home 3.5]]
|''/dev/ttyNSC0''
|Зелёная пара клеммников
|rowspan="2"|[[Файл:Перемычки.png|thumb|200px|Перемычки терминаторов в Wiren Board Smart Home 3.5]] Полудуплексные порты. Трансиверы подключен к чипу [[SC16IS752]]. <br> На плате установлены терминаторы между линиями A и В, их можно отклчить, распаяв перемычки (по умолчанию запаяны) - смотрите фото
|-
|''/dev/ttyNSC1''
|Синяя пара клеммников
|-
|[[Wiren Board 2.8]]
|''/dev/ttyNSC0''
|Линии A и B на клеммниках
|(Есть не во всех комплектациях) Полудуплексный порт. Трансивер подключен к чипу [[SC16IS752]]
|}

Версия 18:17, 11 февраля 2016

RS-485 - стандарт коммуникации по двухпроводной шине. К порту RS-485 контроллера Wiren Board можно подключать периферийные устройства.

Какие устройства можно подключать к Wiren Board по RS-485

К контроллеру можно подключать устройства с интерфейсом Modbus нашего производства, счётчики Меркурий и Милур, а также некоторые другие устройства, в том числе работающие по протоколу Modbus.

Полный список протестированных устройств: Поддерживаемые устройства#Подключаемые по RS-485.

Как физически подключить

Смотрите статью RS-485:Физическое подключение.

Настройка через веб-интерфейс

Смотрите статью RS-485:Настройка через веб-интерфейс.

Низкоуровневая работа с портом RS-485

За работу с последовательными портами (в том числе RS-485) в Wiren Board отвечает Драйвер wb-mqtt-serial (ранее wb-homa-modbus). Он обеспечивает работу с подключёнными по RS-485 устройствами через систему MQTT-сообщений.

Если вы хотите работать с портом RS-485, не используя этот драйвер, - отключите его или очистите файл конфигурации, иначе стандартный драйвер будет писать в этот порт.

Перед началом работы ознакомьтесь со статьями Работа с последовательным портом из Linux и Доступ к порту RS-485 контроллера Wiren Board с компьютера.

Реализация портов в разных версиях Wiren Board

Модель контроллера Название порта в Linux Разъём на контроллере Примечание
Wiren Board 5 /dev/ttyAPP1 Подписан RS-485, клеммники A и B Неизолированный порт, установлен терминатор
/dev/ttyAPP4 Подписан 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