Перейти к содержанию

ModBus

ModBus — это программная подсистема прошивки Lavritech, которая отвечает за работу контроллера с ModBus устройствами. Настройку этой подсистемы можно разделить на несколько этапов:

  1. Аппаратный модуль ModBus
  2. Предустановки ModBus в «Конструкторе прошивок»
  3. Общие настройки ModBus
  4. Настройки «Discrete device»

Аппаратный модуль ModBus

Для того, чтобы контроллер Lavritech мог работать с ModBus, в него должен быть установлен соответствующий модуль. Например, один из типовых модулей LTE2-RS485-SM или LTE2-RS485-ISO.

Как правило, такие модули устанавливаются в SOCKET1 в разъём WB1.1 или WB1.2. По умолчанию — в разъём WB1.2. В зависимости от места установки аппаратного модуля, отличаются и номера GPIO, обслуживающие работу ModBus.

Разъём WB1.1 — RXD(25), TXD(26)
Разъём WB1.2 — RXD(16), TXD(17) *по умолчанию

Примечание. Для работы с ModBus соответствующий разъём (WB1.1 или WB1.2) должен быть при помощи резисторов на плате сконфигурирован как UART.

Предустановки ModBus в «Конструкторе прошивок»

Обычно пользователь получает контроллер Lavritech с уже установленной прошивкой и ему не требуется производить какие-либо действия в «Конструкторе прошивок». Это может понадобиться только в особых случаях при перекомпиляции прошивки. Информация в этом разделе представлена только для ознакомления — вам скорее всего не понадобиться перекомпилировать прошивку.

constructor

Здесь:

RXD/TXD — задаются номера RXD(16), TXD(17) *по умолчанию.

RTS — номер GPIO, который используется для контроля направления потока передачи данных. В контроллерах Lavritech обычно используются модули с автоматическим контролем направления передачи, поэтому значение этого поля «-1».

Номер UART — это номер UART микроконтроллера ESP32 (по умолчанию, 2).

Количество устройств Input Registers — здесь указывается максимальное количество ModBus устройств с которыми может работать контроллер.

2 stop bits — настройка ModBus протокола (по умолчанию включена).

Количество дискретных модулей — максимальное количество ModBus устройств с «цифровыми» регистрами.

старый формат — настройка для старых типов модулей (не актуально для контроллеров Lavritech).

Общие настройки ModBus

Настройки ModBus контроллеров Lavritech находятся в соответствующем пункте меню веб-интерфейса.

menu

При нажатии на этот пункт меню открывается страница общих настроек ModBus, которая разделена на несколько частей:

modbus

В первом блоке:

Scan devices — сканер ModBus устройств, пока находится в разработке (временно нефункционален).

Discrete device — о настройках устройств с цифровыми регистрами см. раздел ниже на этой странице.

modbus

В следующем разделе представлен интерфейс настройки работы с ModBus устройствами. На скриншоте видно, что в данной конфигурации нам доступа работа с тремя ModBus устройствами (см. настройку в «Конфигураторе прошивок» выше).

modbus

Здесь можно выбрать готовый шаблон для работы с устройством и задать его адрес на шине.

Выбор шаблона Modbus устройства

Список шаблонов и описание метрик поддерживаемых устройств

list

Тут представлен довольно обширный список популярных Modbus устройств, на данный момент поддерживаемых системой. Этот список постоянно расширяется.

Список шаблонов и описание метрик поддерживаемых устройств

С использованием выбранного шаблона, Modbus устройство легко распознаётся и встраивается в экосистему. Для каждого из поддерживаемых устройств реализовано считывание основных параметров, с возможностью вывода информации в веб-интерфейс, а также множеством других способов. Таким образом упрощается работа с устройством, и от пользователя не требуется изучать описание карты Modbus-регистров на устройство и самостоятельно программировать работу с ним.

Примечание. Если Вашего конкретного устройства нет в списке, то можно обратиться в тех. поддержку Lavritech и согласовать с ней добавление соответствующего шаблона в прошивку.

Write register

Следующий раздел общих настроек предоставляет интерфейс для изменения значений отдельных регистров Modbus устройств.

registers

Это может понадобиться в случае тонкой настройки подключённых ModBus устройств, когда требуется изменить значение конкретного регистра(ов).

Настройки «Discrete device»

Настройка работы устройств с «цифровыми регистрами» («Discrete device») осуществляется на отдельной странице. На скриншоте ниже видно, что в нашем распоряжении имеется до четырёх таких устройств (см. выше на этой странице настройки в «Конфигураторе прошивок»). Обычно это блоки реле на выход и «Digital Input» устройства на вход.

digital

Каждому устройству можно задать работу с конкретным типом регистров («Discrete Coils» или «Discrete Input») или отключить работу с устройством («Disable»).

Здесь также можно задать адрес ModBus устройства на шине, стартовый регистр (обычно «0» для устройств Wiren Board) в выбранном типе (пуле) регистров и количество регистров для одновременного чтения (*6 в данном случае).

Система также информирует нас о том, что шести выбранным значениям соответствуют виртуальные GPIO с номерами от 180 до 185.

Примечание. Если требуется работа с большим количеством регистров, то общее их количество можно разбить на меньшие диапазоны и присвоить их разным отдельным устройствам (1-4).

Управление через GET запрос

Запись RAW данных http://[IP]/modbus&write=данные в hex строкой, crc считается автоматически, его передавать не требуется! В ответ на запрос должен прийти ответ в hex формате (у noOS нет ответа).

Запись регистра http://[IP]/modbus?addr=X?reg=Y&data=Z Где X- адрес устройства, Y - номер регистра. Z - значение.

Запись метрики http://[IP]/modbus&dev=X&num=Y&data=Z Где X- номер устройства, Y - номер метрики. Z - значение, может быть дробное число. Поддерживается запись только у типа регистров Holding Registers. Поддерживается на данный момент только тип шаблона r.

Управление через MQTT

Топик login/hostname/mbraw - запись raw данных hex строкой, crc считается автоматически, его передавать не требуется!

Топик login/hostname/mbregX/Y - запись регистра. Где X- адрес устройства, Y - номер регистра

Если тип регистра настроенных данных Holding Registers , то в его топик можно записать новое значение. Поддерживается на данный момент только тип шаблона r.

Связанные темы

Modbus шаблоны
Настройка опций
MCP23008

Где купить

Купить оборудование Lavritech можно в официальном интернет-магазине.