Подготовка прошивки
Modbus FS - Подготовка прошивки
Настройка опции "ModBus master" в «Конструкторе прошивок»
Если Вам поставляется готовый комплект (контроллер Lavritech с модулями расширения и настроенной прошивкой), тогда можно пропустить этапы выбора аппаратной конфигурации и подготовки в «Конструкторе прошивок» и сразу переходить к разделу "Настройка в контроллере"
Как включить новый ModBus FS
- Если вы работаете в конструкторе прошивок http://soft.lavritech.com, необходимо нажать на "шестерёнку" в опции "Modbus master" и активировать третий вариант опции:
FS(File System) - означает что для хранения шаблонов в контроллере будет использоваться файловая система
Настройка опции "ModBus master"
Ниже проиллюстрирован общий вид настроек в опции "ModBus master"
Группы настроек
Настройки, актуальные для режима опции "Modbus FS", можно разделить по следующим группам:
- группа настроек интерфейса связи - выделена красным цветом
- группа настроек количества элементов - выделена синим цветом
- группа выбора функций для FS - выделена фиолетовым цветом
- группа настроек GPIO и PWM - выделена зелёным цветом
Настройки для других режимов выделены серым цветом,
они не используются в новом режиме "Modbus FS" и оставлены для обеспечения совместимости со старыми версиями прошивок.
Также в заголовке некоторых параметров присутствуют подсказки:
- (для всех режимов) - параметр актуален для всех режимов
- (режим FS) - параметр актуален только для "Modbus FS" (если используется ✓ Новый третий вариант(FS))
Группа настроек интерфейса связи
TXD, RXD — задаются номера GPIO контроллера для обмена по Modbus, возможные варианты:
- TXD=26, RXD=25 - если модуль RS-485 установлен в разъём WB1.1
- TXD=17, RXD=16 - если модуль RS-485 установлен в разъём WB1.2
*значение по умолчанию
RTS — номер GPIO, который используется для контроля направления потока передачи данных.
- в контроллерах Lavritech обычно применяются модули расширения с автоматическим контролем направления передачи:
- RTS=-1 - линия RTS не используется
*значение по умолчанию
- RTS=-1 - линия RTS не используется
- если модуль расширения не имеет автоматического контроля направления, то устанавливаем следующие значения:
- RTS=22 - если модуль RS-485 установлен в разъём WB1.1
- RTS=23 - если модуль RS-485 установлен в разъём WB1.2
Номер UART — это номер UART микроконтроллера ESP32 (по умолчанию, 2).
В других опциях не должен стоять тот же номер UART.
✓ 2 stop bits — настройка не актуальна для ModBus FS (в новой версии настройки перенесены в веб-интерфейс). Задаёт количество стоповых бит. Если отключить, будет использоваться один стоповый бит.
Группа настроек количества элементов
Количество устройств (для всех режимов) — здесь указывается максимальное количество ModBus устройств с которыми может работать контроллер. Влияет на количество доступных устройств в веб-интерфейсе
Количество дискретных модулей — настройка не актуальна для ModBus FS. Задаёт максимальное количество устройств на вкладке "Discrete device" для работы с Discrete Inputs или Coils
Количество цифровых выходов на устройстве - настройка не актуальна для ModBus FS. Задаёт максимальное количество выделяемых GPIO под одно устройство на вкладке "Discrete device" (см. поле len)
Группа выбора функций для FS
✓ Новый третий вариант(FS)— включение этой опции активирует работу нового варианта опции (Modbus FS).
✓ Быстрый Modbus WirenBoard (режим FS) — эта галочка включает поддержку протокола Быстрый Modbus (Fast Modbus Wiren Board). Облегчает работу с устройствами от Wiren Board, которые поддерживают этот протокол.
✓ Старый первый формат — настройка не актуальна для ModBus FS. Настройка для старых типов модулей (Modbus v1) (не актуален в настоящее время, галочку не ставим).
Группа настроек GPIO и PWM
В этой группе настроек выделяются необходимых ресурсы контроллера для интеграции Modbus устройств в прошивку, главным образом с целью удобного управления и изменения значений параметров устройств.
Выбор подходящих значений настроек зависит от применяемых шаблонов устройств (используются ли в шаблонах функции управления или нет). Если Вы заранее не знаете подходящих значений - примените настройки как показано на скриншоте выше.
Для управления устройствами Modbus и их интеграции в систему контроллера используются дополнительные группы (массивы) элементов. Здесь в настройках устанавливаются параметры таких групп. Каждый Modbus регистр (описанный в шаблоне устройства) в зависимости от типа, включается в одну из групп:
-
группа элементов "GPIO" - используется для дискретных значений (0/1).
В неё транслируются Modbus регистры Coils (или Discrete Inputs, если элемент предназначен только для чтения)
(массив виртуальных GPIO) -
группа элементов "PWM" - используется для цифровых значений (целые, 16 bit, 0-65535)
В неё транслируются Modbus регистры Holding Registers (или Input Registers, если элемент предназначен только для чтения)
(массив виртуальных PWM)
Используя нумерацию элементов из групп можно обращаться к устройству из других частей прошивки:
- одному GPIO элементу с определённым номером соответствует один Coil и Discrete Input.
- одному PWM элементу с определённым номером соответствует один Holding Register или Input Register.
Список параметров
Максимальное количество GPIO (режим FS) — общее количество элементов GPIO, выделяемое под опцию Modbus.
Максимальное количество PWM (режим FS) — общее количество элементов PWM, выделяемое под опцию Modbus.
Начальный номер GPIO (для всех режимов) — номер элемента GPIO, с которого начинается нумерация GPIO, задействованных в опции. Определяет начало диапазона виртуальных GPIO опции ModBus.
🔔 Важно, чтобы диапазон GPIO опции ModBus не накладывался на диапазоны других опций.
Начальный номер PWM (режим FS) — номер элемента PWM, с которого будет начинаться нумерация каналов управления Holding регистрами.
Распределение номеров в GPIO / PWM группах определяется применяемыми шаблонами устройств и будет доступно в веб-интерфейсе контроллера. Подробнее об этом будет рассказано в следующих разделах при настройке Modbus на контроллере.
Примечание. Расшифровка терминов и названий групп.
"GPIO" - это порт, или ножка микроконтроллера, которая работает как вход или выход. Один GPIO может принимать значения 0 либо 1 (вкл/выкл). Микроконтроллер изначально имеет несколько физических GPIO, которыми можно управлять. Каждая программная опция может добавлять свои (уже виртуальные) GPIO. В даном случае опция "Modbus master" создаёт свою подгруппу виртуальных GPIO, начальный номер и количество которых задаётся в настройках, и это подмножество включается в общее количество GPIO, доступных в системе.
"PWM" - название группы происходит от английского названия термина "ШИМ" (широтно-импульсная модуляция). Изначально некоторые выходы контроллера могут использоваться в режиме "PWM" для плавного управления внешними устройствами. Например, для плавной регулировки скорости вращения вентилятора. Для таких выходов на главной странице возможно вывести ползунок для удобного изменения значения параметра. В последствии возможности этой группы элементов были расширены и теперь группа поддерживает виртуальные выходы PWМ, которые связаны с Modbus регистрами. Можно устанавливать значения Modbus регистров от 0 до 255 (в планах расширить диапазон до 16 bit). Группа позволяет изменять значения регистров через ползунок. Подробнее эта возможность будет рассмотрена на примерах в других частях документации для опции Modbus FS.
Зачем нужна интеграция
Для полноценной работы с устройствами Modbus необходимо интегрировать их в контроллер.
Это позволяет опрашивать значения (а в некоторых случаях и управлять) устройствами, а также соединять технологии, используя различные программные опции прошивки.
Например, интеграция позволяет:
- контролировать, выводить на главную страницу значения параметров устройств
- выполнять математические преобразования над значениями
- передавать эти значения по различным каналам связи (используя опции MQTT, Telegram, GET и т.п.)
- передавать значения другим опциям, узлам или устройствам системы
- управлять некоторыми параметрами устройств по различным каналам связи, если шаблон это предусматривает
- вводить элементы автоматизации и реакции на изменение значений
- создавать интерфейсы управления
- вести удалённый мониторинг и настройку через облачный сервис Lavritech
Для интеграции в рамках Modbus FS применяются шаблоны устройств и выделены необходимые ресурсы.