Добрый день.
Прошу помощи с кастомным шаблоном modbus устройства (шлюз modbus-dali DGW-521).
К WirenBoard 7 по modbus подключен шлюз DGW-521.
С помощью modbus_client научился отправлять команды со значением яркости на светильники.
01 06 00 21 02 05 18 A3
01 - адрес устройства
06 - функциональный код
00 - адрес первого регистра Hi байт
21 - адрес первого регистра Lo байт - Регистр 33
02 - значение Hi байт - в первых двух байтах номер группы светильников
05 - значение Lo байт - во вторых двух байтах яркость (от 00 до FF)
18 A3 - контрольная сумма
Вопрос.
Надо устанавливать группу светильников в настройках устройства в “Настройка драйвера serial-устройств”,
потом настраивать на вкладке “Устройства” ползунком яркость.
Как сделать так, чтобы при установке яркости в регистр 33 (0x021) уходило не значение яркости 05, а вместе с номером группы 02 05 ?
Нужно будет сделать 6 таких групп: в настройках задать 6 адресов групп и на вкладке “Устройства” должно быть 6 ползунков для настройки их яркости.
Произвольные значения в регистрах с бинарной логикой - мне бы помогло, если бы нужно было устанавливать определенное значение из списка. Тогда к каждому из списка в начале данных я захардкодил бы адрес. Но значений яркости 256. Можно конечно сделать 10 значений и выбирать между ними. Но хотелось бы полноценную шкалу регулировки яркости
Также видел Scale и Offset - Но это арифметические действия с данными шкалы, не строковые? Мне же надо сложить шестнадцатиричные 02 (адрес) и 05 (значение яркости по шкале) так, чтобы получилось 0205 и отправить это значение в регистр.
Добрый день!
Предположу, что для того чтобы передавать значение в регистр в формате 0x0205 (где 02 - номер группы, а 05 - яркость), вам необходимо объединить эти значения в одно число и отправить его в регистр Modbus. Вот шаги, которые помогут вам это сделать:
Шаги для настройки:
Форматирование данных:
Создайте виртуальные регистры в Wiren Board для каждой группы светильников. Эти регистры будут принимать значения яркости.
Перед отправкой значения преобразуйте его в необходимый формат.
Кастомизация шаблона устройства:
В шаблоне устройства укажите функцию записи данных, которая будет объединять номер группы и значение яркости в одно число и записывать его в регистр.
Настройка виртуальных регистров:
Добавьте виртуальные регистры для каждой группы светильников, которые будут управлять яркостью.
Настройка функции записи данных:
Убедитесь, что функция записи правильно обрабатывает значения и отправляет их в регистр.
Проверка работы:
Измените яркость для разных групп и убедитесь, что значения правильно формируются и записываются в регистр.