WB-MAO4 Registers: различия между версиями

Материал из Wiren Board
Строка 68: Строка 68:
| 0x005D
| 0x005D
| Канал 4
| Канал 4
|-
! colspan="9" style="text-align: left;"| Управление выходами через диммер
|-
| 0
| 0x0000
| rowspan="4" | Coil
| rowspan="4" | RW
| rowspan="4" | u8
| Канал 1
| rowspan="4" | Состояние канала (выкл/вкл)
| rowspan="4" | 0 - 1 ('''0''')
| rowspan="4" | 2.4.0
|-
| 1
| 0x0001
| Канал 2
|-
| 2
| 0x0002
| Канал 3
|-
| 3
| 0x0003
| Канал 4
|-
| 16
| 0x0010
| rowspan="4" | Holding
| rowspan="4" | RW
| rowspan="4" | u16
| Канал 1
| rowspan="4" | Уровень в процентах %
| rowspan="4" | 0 - 100 ('''0''')
| rowspan="4" | 2.4.0
|-
| 17
| 0x0011
| Канал 2
|-
| 18
| 0x0012
| Канал 3
|-
| 19
| 0x0013
| Канал 4
|-
| 912
| 0x0390
| rowspan="4" | Holding
| rowspan="4" | RW
| rowspan="4" | u16
| Канал 1
| rowspan="4" | Напряжение на выходе при уровне 0 %
| rowspan="4" | 0 - 10000 ('''0''')
| rowspan="4" | 2.4.0
|-
| 913
| 0x0391
| Канал 2
|-
| 914
| 0x0392
| Канал 3
|-
| 915
| 0x0393
| Канал 4
|-
| 928
| 0x03A0
| rowspan="4" | Holding
| rowspan="4" | RW
| rowspan="4" | u16
| Канал 1
| rowspan="4" | Напряжение на выходе при уровне 100 %
| rowspan="4" | 0 - 10000 ('''10000''')
| rowspan="4" | 2.4.0
|-
| 929
| 0x03A1
| Канал 2
|-
| 930
| 0x03A2
| Канал 3
|-
| 931
| 0x03A3
| Канал 4
|-
| 944
| 0x03B0
| rowspan="4" | Holding
| rowspan="4" | RW
| rowspan="4" | u16
| Канал 1
| rowspan="4" | При плавных переходах уровень будет уменьшаться на 1% за заданный период времени (мс). При нулевом периоде уровень будет уменьшаться мгновенно
| rowspan="4" | 0 - 500 ('''20''')
| rowspan="4" | 2.4.0
|-
| 945
| 0x03B1
| Канал 2
|-
| 946
| 0x03B2
| Канал 3
|-
| 947
| 0x03B3
| Канал 4
|-
| 960
| 0x03C0
| rowspan="4" | Holding
| rowspan="4" | RW
| rowspan="4" | u16
| Канал 1
| rowspan="4" | При плавных переходах уровень будет увеличиваться на 1% за заданный период времени (мс). При нулевом периоде уровень будет увеличиваться мгновенно
| rowspan="4" | 0 - 500 ('''20''')
| rowspan="4" | 2.4.0
|-
| 961
| 0x03C1
| Канал 2
|-
| 962
| 0x03C2
| Канал 3
|-
| 963
| 0x03C3
| Канал 4
|-
! colspan="9" style="text-align: left;"| Настройка событий с кнопок
|-
| 768
| 0x0300
| rowspan="3" | Holding
| rowspan="3" | RW
| rowspan="3" | u16
| Вход 1
| rowspan="3" | Выход на котором произойдет действие при коротком нажатии
| rowspan="12"| '''0 - событие игнорируется''' <br /> 1 - действие произойдет на 1 выходе <br /> 2 - действие произойдет на 2 выходе <br /> 3 - действие произойдет на 3 выходе <br /> 4 - действие произойдет на 4 выходе <br /> 100 - действие произойдет на всех выходах сразу
| rowspan="3" | 2.4.0
|-
| 769
| 0x0301
| Вход 2
|-
| 770
| 0x0302
| Вход 3
|-
| 784
| 0x0310
| rowspan="3" | Holding
| rowspan="3" | RW
| rowspan="3" | u16
| Вход 1
| rowspan="3" | Выход на котором произойдет действие при долгом нажатии
| rowspan="3" | 2.4.0
|-
| 785
| 0x0311
| Вход 2
|-
| 786
| 0x0312
| Вход 3
|-
| 800
| 0x0320
| rowspan="3" | Holding
| rowspan="3" | RW
| rowspan="3" | u16
| Вход 1
| rowspan="3" | Выход на котором произойдет действие при двойном нажатии
| rowspan="3" | 2.4.0
|-
| 801
| 0x0321
| Вход 2
|-
| 802
| 0x0322
| Вход 3
|-
| 816
| 0x0330
| rowspan="3" | Holding
| rowspan="3" | RW
| rowspan="3" | u16
| Вход 1
| rowspan="3" | Выход на котором произойдет действие при коротком, а затем долгом нажатии
| rowspan="3" | 2.4.0
|-
| 817
| 0x0331
| Вход 2
|-
| 818
| 0x0332
| Вход 3
|-
| 832
| 0x0340
| rowspan="3" | Holding
| rowspan="3" | RW
| rowspan="3" | u16
| Вход 1
| rowspan="3" | Действие при коротком нажатии
| rowspan="12"| '''0 - отключить выход''' <br /> 1 - включить выход <br /> 2 - переключить состояние выхода <br /> 3 - увеличить уровень <br /> 4 - уменьшить уровень <br /> 5 - увеличить/уменьшить уровень
| rowspan="3" | 2.4.0
|-
| 833
| 0x0341
| Вход 2
|-
| 834
| 0x0342
| Вход 3
|-
| 848
| 0x0350
| rowspan="3" | Holding
| rowspan="3" | RW
| rowspan="3" | u16
| Вход 1
| rowspan="3" | Действие при долгом нажатии
| rowspan="3" | 2.4.0
|-
| 849
| 0x0351
| Вход 2
|-
| 850
| 0x0352
| Вход 3
|-
| 864
| 0x0360
| rowspan="3" | Holding
| rowspan="3" | RW
| rowspan="3" | u16
| Вход 1
| rowspan="3" | Действие при двойном нажатии
| rowspan="3" | 2.4.0
|-
| 865
| 0x0361
| Вход 2
|-
| 866
| 0x0362
| Вход 3
|-
| 880
| 0x0370
| rowspan="3" | Holding
| rowspan="3" | RW
| rowspan="3" | u16
| Вход 1
| rowspan="3" | Действие при коротком, а затем долгом нажатии
| rowspan="3" | 2.4.0
|-
| 881
| 0x0371
| Вход 2
|-
| 882
| 0x0372
| Вход 3
|-
| 896
| 0x0380
| rowspan="4" | Holding
| rowspan="4" | RW
| rowspan="4" | u16
| Выход 1
| rowspan="4" | Период повторения продолжительного действия
| rowspan="4" | 5 - 500 ('''20''')
| rowspan="4" | 2.4.0
|-
| 897
| 0x0381
| Выход 2
|-
| 898
| 0x0372
| Выход 3
|-
| 899
| 0x0373
| Выход 4
|-
|-
! colspan="9" style="text-align: left;"| Состояние входов и счётчики нажатий
! colspan="9" style="text-align: left;"| Состояние входов и счётчики нажатий

Версия 13:51, 17 апреля 2023

Описание

Условные обозначения
RO / RW Read only / Read/Write
Выделено жирным Значение регистра по умолчанию
xN Множитель, на который надо умножить число из регистра, чтобы получить значение в единицах измерения.

Не указан — считать равным 1

Регистр поддерживает отправку данных с помощью событий Быстрого Modbus.
FW Версия прошивки устройства, с которой появился регистр. Пусто — регистр был всегда.
Error: Значение при ошибке
Серый цвет ячейки Служебный регистр: назначение, формат и содержимое может измениться в новых версиях прошивки
Modbus-регистры устройства
Адрес Параметры регистра no_description Канал Описание Значения FW
Dec Hex Тип Доступ Формат
Управление выходами
0 0x0000 Holding RW u16 Канал 1 Аналоговый режим: Напряжение канала в милливольтах
ШИМ режим: Коэффициент заполнения с шагом 0.01%
0 - 10000 (0)
1 0x0001 Канал 2
2 0x0002 Канал 3
3 0x0003 Канал 4
9 0x0009 Holding RW u16 Все каналы Частота ШИМ на выходах в режиме 0 1 - 240 (24)
F = 24 кГц / значение
10 0x000A Holding RW u16 Все каналы Режим выхода
0 - режим ШИМ с амплитудой 10В
1 - аналоговый режим 0-10В
90 0x005A Holding RW u16 Канал 1 Служебный регистр raw duty cycle 0 - 2000 (0)
91 0x005B Канал 2
92 0x005C Канал 3
93 0x005D Канал 4
Управление выходами через диммер
0 0x0000 Coil RW u8 Канал 1 Состояние канала (выкл/вкл) 0 - 1 (0) 2.4.0
1 0x0001 Канал 2
2 0x0002 Канал 3
3 0x0003 Канал 4
16 0x0010 Holding RW u16 Канал 1 Уровень в процентах % 0 - 100 (0) 2.4.0
17 0x0011 Канал 2
18 0x0012 Канал 3
19 0x0013 Канал 4
912 0x0390 Holding RW u16 Канал 1 Напряжение на выходе при уровне 0 % 0 - 10000 (0) 2.4.0
913 0x0391 Канал 2
914 0x0392 Канал 3
915 0x0393 Канал 4
928 0x03A0 Holding RW u16 Канал 1 Напряжение на выходе при уровне 100 % 0 - 10000 (10000) 2.4.0
929 0x03A1 Канал 2
930 0x03A2 Канал 3
931 0x03A3 Канал 4
944 0x03B0 Holding RW u16 Канал 1 При плавных переходах уровень будет уменьшаться на 1% за заданный период времени (мс). При нулевом периоде уровень будет уменьшаться мгновенно 0 - 500 (20) 2.4.0
945 0x03B1 Канал 2
946 0x03B2 Канал 3
947 0x03B3 Канал 4
960 0x03C0 Holding RW u16 Канал 1 При плавных переходах уровень будет увеличиваться на 1% за заданный период времени (мс). При нулевом периоде уровень будет увеличиваться мгновенно 0 - 500 (20) 2.4.0
961 0x03C1 Канал 2
962 0x03C2 Канал 3
963 0x03C3 Канал 4
Настройка событий с кнопок
768 0x0300 Holding RW u16 Вход 1 Выход на котором произойдет действие при коротком нажатии 0 - событие игнорируется
1 - действие произойдет на 1 выходе
2 - действие произойдет на 2 выходе
3 - действие произойдет на 3 выходе
4 - действие произойдет на 4 выходе
100 - действие произойдет на всех выходах сразу
2.4.0
769 0x0301 Вход 2
770 0x0302 Вход 3
784 0x0310 Holding RW u16 Вход 1 Выход на котором произойдет действие при долгом нажатии 2.4.0
785 0x0311 Вход 2
786 0x0312 Вход 3
800 0x0320 Holding RW u16 Вход 1 Выход на котором произойдет действие при двойном нажатии 2.4.0
801 0x0321 Вход 2
802 0x0322 Вход 3
816 0x0330 Holding RW u16 Вход 1 Выход на котором произойдет действие при коротком, а затем долгом нажатии 2.4.0
817 0x0331 Вход 2
818 0x0332 Вход 3
832 0x0340 Holding RW u16 Вход 1 Действие при коротком нажатии 0 - отключить выход
1 - включить выход
2 - переключить состояние выхода
3 - увеличить уровень
4 - уменьшить уровень
5 - увеличить/уменьшить уровень
2.4.0
833 0x0341 Вход 2
834 0x0342 Вход 3
848 0x0350 Holding RW u16 Вход 1 Действие при долгом нажатии 2.4.0
849 0x0351 Вход 2
850 0x0352 Вход 3
864 0x0360 Holding RW u16 Вход 1 Действие при двойном нажатии 2.4.0
865 0x0361 Вход 2
866 0x0362 Вход 3
880 0x0370 Holding RW u16 Вход 1 Действие при коротком, а затем долгом нажатии 2.4.0
881 0x0371 Вход 2
882 0x0372 Вход 3
896 0x0380 Holding RW u16 Выход 1 Период повторения продолжительного действия 5 - 500 (20) 2.4.0
897 0x0381 Выход 2
898 0x0372 Выход 3
899 0x0373 Выход 4
Состояние входов и счётчики нажатий
0 0x0000 Discrete Input RO bool Вход 1 Состояние

0 - разомкнут,
1 - замкнут

1 0x0001 Вход 2
2 0x0002 Вход 3
32 0x0020 Input RO u16 Вход 1 Счётчик замыканий 0 − 65535
по кругу
33 0x0021 Вход 2
34 0x0022 Вход 3
464 0x01D0 Input RO u16 Вход 1 Счётчик короткого нажатия 0 − 65535
по кругу
2.3.0
465 0x01D1 Вход 2
466 0x01D2 Вход 3
480 0x01E0 Input RO u16 Вход 1 Счётчик долгого нажатия 0 − 65535
по кругу
2.3.0
481 0x01E1 Вход 2
482 0x01E2 Вход 3
496 0x01F0 Input RO u16 Вход 1 Счётчик двойного нажатия 0 − 65535
по кругу
2.3.0
497 0x01F1 Вход 2
498 0x01F2 Вход 3
512 0x0200 Input RO u16 Вход 1 Счётчик короткого, а затем долгого нажатия 0 − 65535
по кругу
2.3.0
513 0x0201 Вход 2
514 0x0202 Вход 3
Обработка типов нажатий
1100 0x044C Holding RW u16 Вход 1 Время длинного нажатия

Если нажатие длится больше указанного времени - считаем его длинным

мс
500 – 5000 (1000)
2.3.0
1101 0x044D Вход 2
1102 0x044E Вход 3
1120 0x0460 Holding RW u16 Вход 1 Скорость изменения параметра при удержании кнопки

Чем меньше значение, тем быстрее изменяется параметр

мс/ед
5 – 500 (20)
2.3.0
1121 0x0461 Вход 2
1122 0x0462 Вход 3
1140 0x0474 Holding RW u16 Вход 1 Время ожидания второго нажатия

Если за указанное время второго нажатия не было - считаем нажатие одиночным. 0 - отключит все нажатия кроме короткого и длинного

мс
0 – 2000 (300)
2.3.0
1141 0x0475 Вход 2
1142 0x0476 Вход 3
1160 0x0488 Holding RW u16 Вход 1 Время подавления дребезга

Должно быть в 5-10 раз меньше, чем время ожидания второго нажатия. Если двойные нажатия отключены - любое значение

мс
5 – 200 (50)
2.3.0
1161 0x0489 Вход 2
1162 0x048A Вход 3


Общие для всех Modbus-устройств Wiren Board регистры
Адрес Параметры регистра Описание Значения
Dec Hex Тип Доступ Формат
104­-105 0x0068 - 0x0069 Input RO u32 Время работы с момента загрузки секунды
121 0x0079 Input RO u16 Текущее напряжение питания мВ
110 0x006E Holding RW u16 Скорость порта RS-485.
Настройка параметров подключения по RS-485
x100, Боды
12 — 1200 бит/с,
24 — 2400 бит/с,
48 — 4800 бит/с,
96 — 9600 бит/с,
192 — 19 200 бит/с,
384 — 38 400 бит/с,
576 — 57 600 бит/с,
1152 — 115 200 Кбит/с
111 0x006F Holding RW u16 Настройка бита чётности порта RS-485 0 — нет бита чётности (none),
1 — нечётный,
2 — чётный
112 0x0070 Holding RW u16 Количество стоп-битов порта RS-485 1, 2
113 0x0071 Holding RW u16 Время перед отправкой ответа на modbus запрос 0 - 254 мс
114 0x0072 Holding RW u16 Режим непрерывного чтения регистров с зазором 0 - отключен
1 - включен
2 - включение сохраняется после перезагрузки
128 0x0080 Holding RW u16 Modbus-адрес устройства (подробнее)
120 0x0078 Holding RW u16 Перезагрузка устройства без сохранения состояния любое, отличное от 0 перезагружает устройство
129 0x0081 Holding RW u16 Перевод в режим обновления прошивки на 2 минуты любое, отличное от 0 переводит устройство в режим обновления прошивки
130 0x0082 Holding RW u8 Отключение индикатора состояния 0 - активен,
1 - отключен
123 0x007B Input RO u16 Напряжение на микроконтроллере мВ
124 0x007C Input RO u16 Внутренняя температура микроконтроллера x0.1, °C
200-205 0x00C8 - 0x00CD Input RO string Модель устройства
206-219 0x00CE - 0x00DB Input RO string Расширение модели устройства. Для новых устройств WB-LED и WB-MAI6 поле поддерживается изначально, для остальных - в прошивках с "быстрым Modbus". Для чтения модели устройства нужно читать диапазон из 20 регистров (200 - 219). Если устройство возвращает ошибку Illegal Data Address - читать 6 регистров (200 - 205).
220-248 0x00DC - 0x00F8 Input RO string Хэш коммита и название ветки откуда собрана прошивка (2 символа в регистре)
250-265 0x00FA - 0x0109 Input RO string Версия прошивки
266-269 0x010A - 0x010D Input RO u64 Расширение серийного номера
270-271 0x010E - 0x010F Input RO u32 Серийный номер
290-301 0x0122 - 0x012D Holding RO string Сигнатура прошивки
330-336 0x014A - 0x0150 Holding RO string Версия загрузчика


Версия прошивки в устройствах с «Быстрым Modbus»

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

  • Диапазон регистров «Модель устройства» расширен до 20 регистров.
  • Версия формируется согласно semver и имеет формат MAJOR.MINOR.PATCH с опциональным суффиксом (-rc|+wb)SUFFIX:
    суффикс -rc означает, что прошивка предназначена для тестирования и может быть нестабильной. Хранится в регистре с отрицательным знаком;
    суффикс +wb добавляется, когда к прошивке, зафиксированной в релизе, требуется выпустить фикс. Хранится в регистре с положительным знаком.
  • Цифры версии доступны по отдельности в формате u16 (для суффикса - s16), регистры 320-323.
  • Доступно число u32, содержащее комбинацию цифр версии и позволяющее за одно сравнение понять, увеличилась или уменьшилась версия прошивки:
    число рассчитывается по формуле
    if (SUFFIX >= 0) {
        SUFFIX = SUFFIX + 128;
    } else {
        SUFFIX = -1 - SUFFIX;
    }
    VERSION = (MAJOR << 24) + (MINOR << 16) + (PATCH << 8) + SUFFIX;
    число доступно для чтения в little-endian и big-endian форматах;
    число для более свежей версии всегда будет больше, чем для предыдущей, в том числе, когда прошивка переходит из тестовой в стабильную.
    Таким образом обеспечивается корректное сравнение версий:
    1.2.3-rc1 < 1.2.3-rc10 < 1.2.3 < 1.2.3+wb1 < 1.2.3+wb10.
    


Регистры для хранения версии прошивки в устройствах с быстрым Modbus
Адрес Параметры регистра Описание Значения
Dec Hex Тип Доступ Формат
200-219 0x00C8 - 0x00DB Input RO string Модель устройства
320 0x0140 Input RO u16 Версия прошивки в числовом формате MAJOR
321 0x0141 MINOR
322 0x0142 PATCH
323 0x0143 s16 SUFFIX
324-325 0x0144 - 0x0145 Input RO u32 Версия прошивки в числовом формате
326-327 0x0146 - 0x0147 Input RO u32 Версия прошивки в Big Endian формате