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

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


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" для плавного управления внешними устройствами. Например, для плавной регулировки скорости вращения вентилятора. Для таких выходов на главной странице возможно вывести cлайдер для удобного изменения значения параметра. В последствии возможности этой группы элементов были расширены и теперь группа поддерживает виртуальные выходы PWМ, которые связаны с Modbus регистрами. Можно устанавливать значения Modbus регистров от 0 до 255 (в планах расширить диапазон до 16 bit). Группа позволяет изменять значения регистров через слайдер. Подробнее эта возможность будет рассмотрена на примерах в других частях документации для опции Modbus FS.

Зачем нужна интеграция

Для полноценной работы с устройствами Modbus необходимо интегрировать их в контроллер.
Это позволяет опрашивать значения (а в некоторых случаях и управлять) устройствами, а также соединять технологии, используя различные программные опции прошивки. Например, интеграция позволяет:

  • контролировать, выводить на главную страницу значения параметров устройств
  • выполнять математические преобразования над значениями
  • передавать эти значения по различным каналам связи (используя опции MQTT, Telegram, GET и т.п.)
  • передавать значения другим опциям, узлам или устройствам системы
  • управлять некоторыми параметрами устройств по различным каналам связи, если шаблон это предусматривает
  • вводить элементы автоматизации и реакции на изменение значений
  • создавать интерфейсы управления
  • вести удалённый мониторинг и настройку через облачный сервис Lavritech

Для интеграции в рамках Modbus FS применяются шаблоны устройств и выделяются необходимые ресурсы.

Подробнее про общие принципы интеграции устройств в контроллер Lavritech и распределение ресурсов можно прочитать в разделе Модель данных.