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

Подготовка прошивки


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=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 применяются шаблоны устройств и выделены необходимые ресурсы.