Карта Modbus-регистров RGBW-диммеров
Регистры устройства
Прошивка 3.0
Wbincludes:Header Relay Registers
|-
! colspan="13" style="text-align: left;"| Состояние входов и счётчики нажатий
|-
| class ="text-right" | 0
| 0x0000
| class="nowrap"| Вход 1
| rowspan="4" | Состояние
| rowspan="4" | Discrete Input
| rowspan="4" | RO
| rowspan="4" | bool
| rowspan="4" |
| rowspan="4" |
| rowspan="4" | 0 - неактивен
1 - активен
| rowspan="4" |
| rowspan="4" class ="text-right" | 0
| rowspan="4" |
|-
| class ="text-right" | 1
| 0x0001
| Вход 2
|-
| class ="text-right" | 2
| 0x0002
| Вход 3
|-
| class ="text-right" | 3
| 0x0003
| Вход 4
|-
| class ="text-right" | 32
| 0x0020
| Вход 1
| rowspan="4" | Счётчик замыканий
| rowspan="4" | Input register
| rowspan="4" | RO
| rowspan="4" | u16
| rowspan="4" |
| rowspan="4" |
| rowspan="4" | 0 − 65535
по кругу
| rowspan="4" |
| rowspan="4" class ="text-right" | 0
| rowspan="4" |
|-
| class ="text-right" | 33
| 0x0021
| Вход 2
|-
| class ="text-right" | 34
| 0x0022
| Вход 3
|-
| class ="text-right" | 35
| 0x0023
| Вход 4
|-
| class ="text-right" | 464
| 0x01D0
| Вход 1
| rowspan="4" | Счётчик короткого нажатия
| rowspan="4" | Input register
| rowspan="4" | RO
| rowspan="4" | u16
| rowspan="4" |
| rowspan="4" |
| rowspan="4" | 0 − 65535
по кругу
| rowspan="4" |
| rowspan="4" class ="text-right" | 0
| rowspan="4" |
|-
| class ="text-right" | 465
| 0x01D1
| Вход 2
|-
| class ="text-right" | 466
| 0x01D2
| Вход 3
|-
| class ="text-right" | 467
| 0x01D3
| Вход 4
|-
| class ="text-right" | 480
| 0x01E0
| Вход 1
| rowspan="4" | Счётчик долгого нажатия
| rowspan="4" | Input register
| rowspan="4" | RO
| rowspan="4" | u16
| rowspan="4" |
| rowspan="4" |
| rowspan="4" | 0 − 65535
по кругу
| rowspan="4" |
| rowspan="4" class ="text-right" | 0
| rowspan="4" |
|-
| class ="text-right" | 481
| 0x01E1
| Вход 2
|-
| class ="text-right" | 482
| 0x01E2
| Вход 3
|-
| class ="text-right" | 483
| 0x01E3
| Вход 4
|-
| class ="text-right" | 496
| 0x01F0
| Вход 1
| rowspan="4" | Счётчик двойного нажатия
| rowspan="4" | Input register
| rowspan="4" | RO
| rowspan="4" | u16
| rowspan="4" |
| rowspan="4" |
| rowspan="4" | 0 − 65535
по кругу
| rowspan="4" |
| rowspan="4" class ="text-right" | 0
| rowspan="4" |
|-
| class ="text-right" | 497
| 0x01F1
| Вход 2
|-
| class ="text-right" | 498
| 0x01F2
| Вход 3
|-
| class ="text-right" | 499
| 0x01F3
| Вход 4
|-
| class ="text-right" | 512
| 0x0200
| Вход 1
| rowspan="4" | Счётчик короткого, а затем долгого нажатия
| rowspan="4" | Input register
| rowspan="4" | RO
| rowspan="4" | u16
| rowspan="4" |
| rowspan="4" |
| rowspan="4" | 0 − 65535
по кругу
| rowspan="4" |
| rowspan="4" class ="text-right" | 0
| rowspan="4" |
|-
| class ="text-right" | 513
| 0x0201
| Вход 2
|-
| class ="text-right" | 514
| 0x0202
| Вход 3
|-
| class ="text-right" | 515
| 0x0203
| Вход 4
|-
! colspan="13" style="text-align: left;"| Состояние выходов
|-
| class="text-right" | 0
| 0x0000
| Канал 1
| rowspan="3" | Состояние при независимой работе
| rowspan="3" | Coil
| rowspan="3" | RW
| rowspan="3" | bool
| rowspan="3" |
| rowspan="3" |
| rowspan="3" | 0 - включён
1 - выключен
| rowspan="3" class="text-right" | 0
| rowspan="3" |
| rowspan="3" |
|-
| class="text-right" | 1
| 0x0001
| Канал 2
|-
| class="text-right" | 2
| 0x0002
| Канал 3
|-
| class="text-right" | 3
| 0x0003
| Канал 4
| Состояние при независимой работе или в режиме RGB+W
| Coil
| RW
| bool
|
|
| 0 - включён
1 - выключен
| class="text-right" | 0
|
|
|-
| class="text-right" | 4
| 0x0004
| Каналы 1 и 2
| rowspan="3" | Состояние при параллельной работе
| rowspan="3" | Coil
| rowspan="3" | RW
| rowspan="3" | bool
| rowspan="3" |
| rowspan="3" |
| rowspan="3" | 0 - включён
1 - выключен
| rowspan="3" class="text-right" | 0
| rowspan="3" |
| rowspan="3" |
|-
| class="text-right" | 5
| 0x0005
| Каналы 3 и 4
|-
| class="text-right" | 6
| 0x0006
| Каналы 1, 2, 3, 4
|-
| class="text-right" | 7
| 0x0007
| Каналы 1 и 2
| rowspan="2" | Состояние каналов при работе с CCT лентой
| rowspan="2" | Coil
| rowspan="2" | RW
| rowspan="2" | bool
| rowspan="2" |
| rowspan="2" |
| rowspan="2" | 0 - включён
1 - выключен
| rowspan="2" class="text-right" | 0
| rowspan="2" |
| rowspan="2" |
|-
| class="text-right" | 8
| 0x0008
| Каналы 3 и 4
|-
| class="text-right" | 9
| 0x0009
| Каналы 1, 2, 3
| Состояние каналов при работе с RGB лентой
| Coil
| RW
| bool
|
|
| 0 - включён
1 - выключен
| class="text-right" | 0
|
|
|-
| class="text-right" | 10
| 0x000A
| Каналы 1, 2, 3, 4
| Непрерывная смена цвета RGB ленты
| Coil
| RW
| bool
|
|
| 0 - включён
1 - выключен
| class="text-right" | 0
|
|
|-
! colspan="13" style="text-align: left;"| Управление каналами
|-
| class="text-right" | 2000
| | 0x07D0
| | Канал 1
| rowspan="3" | Яркость при независимой работе
| rowspan="3" | Holding register
| rowspan="3" | RW
| rowspan="3" | u16
| rowspan="3" class="text-right" | 1
| rowspan="3" | %
| rowspan="3" | 0 – 100
| rowspan="3" class="text-right" | 50
| rowspan="3" | 0xFFFF
| rowspan="3" |
|-
| class="text-right" | 2001
| | 0x07D1
| | Канал 2
|-
| class="text-right" | 2002
| | 0x07D2
| | Канал 3
|-
| class="text-right" | 2003
| 0x07D3
| Канал 4
| Яркость при независимой работе или в режиме RGB+W
| Holding register
| RW
| u16
| class="text-right" | 1
| %
|
| class="text-right" | 50
| 0xFFFF
|
|-
| class="text-right" | 2004
| | 0x07D4
| | Каналы 1 и 2
| rowspan="3" | Яркость при параллельной работе
| rowspan="3" | Holding register
| rowspan="3" | RW
| rowspan="3" | u16
| rowspan="3" class="text-right" | 1
| rowspan="3" | %
| rowspan="3" |
| rowspan="3" class="text-right" | 50
| rowspan="3" | 0xFFFF
| rowspan="3" |
|-
| class="text-right" | 2005
| | 0x07D5
| | Каналы 3 и 4
|-
| class="text-right" | 2006
| | 0x07D6
| | Каналы 1, 2, 3, 4
|-
| class="text-right" | 2007
| 0x07D7
| Каналы 1 и 2
| Цветовая температура CCT ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| %
| 0 – 100:
* 0 - тёплый цвет
* 100 - холодный цвет
| class="text-right" | 50
| 0xFFFF
|
|-
| class="text-right" | 2008
| 0x07D8
| Каналы 1 и 2
| Яркость CCT ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| %
| 0 – 100
| class="text-right" | 50
| 0xFFFF
|
|-
| class="text-right" | 2009
| 0x07D9
| Каналы 3 и 4
| Цветовая температура CCT ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| %
| 0 – 100:
* 0 - тёплый цвет
* 100 - холодный цвет
| class="text-right" | 50
| 0xFFFF
|
|-
| class="text-right" | 2010
| 0x07DA
| Каналы 3 и 4
| Яркость CCT ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| %
| 0 – 100
| class="text-right" | 50
| 0xFFFF
|
|-
| class="text-right" | 2011
| | 0x07DB
| | Компонент R
| rowspan="3" | в цвете RGB ленты, RGB палитра
| rowspan="3" | Holding register
| rowspan="3" | RW
| rowspan="3" | u16
| rowspan="3" class="text-right" | 1
| rowspan="3" | -
| rowspan="3" | 0 – 255
| rowspan="3" class="text-right" | 127
| rowspan="3" | 0xFFFF
| rowspan="3" |
|-
| class="text-right" | 2012
| | 0x07DC
| | Компонент G
|-
| class="text-right" | 2013
| | 0x07DD
| | Компонент B
|-
| class="text-right" | 2014
| | 0x07DE
| | Компонент H
| rowspan="3" | в цвете RGB ленты, HSV палитра
| rowspan="3" | Holding register
| rowspan="3" | RW
| rowspan="3" | u16
| rowspan="3" class="text-right" | 1
| | градус
| | 0 – 360
| class="text-right" | 0
| rowspan="3" | 0xFFFF
| rowspan="3" |
|-
| class="text-right" | 2015
| | 0x07DF
| | Компонент S
| | %
| | 0 – 100
| class="text-right" | 100
|-
| class="text-right" | 2016
| | 0x07E0
| | Компонент V
| | %
| |
| class="text-right" | 50
|-
| class="text-right" | 2017
| 0x07E1
|
| Скорость непрерывного изменения цвета RGB ленты, период увеличения Hue на 1 градус
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 3 – 10000
| class="text-right" | 30
| 0xFFFF
|
|-
! colspan="13" style="text-align: left;"| Настройка выходов и прямое управление ШИМ выходов
|-
| class="text-right" | 70
| 0x0046
| Канал 1
| rowspan="4" | Минимальный ШИМ
| rowspan="4" | Holding register
| rowspan="4" | RW
| rowspan="4" | u16
| rowspan="4" |
| rowspan="4" |
| rowspan="4" | 0 – 2048
| rowspan="4" class="text-right" | 6
| rowspan="4" |
| rowspan="4" |
|-
| class="text-right" | 71
| 0x0047
| Канал 2
|-
| class="text-right" | 72
| 0x0048
| Канал 3
|-
| class="text-right" | 73
| 0x0049
| Канал 4
|-
| class="text-right" | 80
| 0x0050
| Канал 1
| rowspan="4" | Максимальный ШИМ
| rowspan="4" | Holding register
| rowspan="4" | RW
| rowspan="4" | u16
| rowspan="4" |
| rowspan="4" |
| rowspan="4" | 0 – 2048
| rowspan="4" class="text-right" | 2048
| rowspan="4" |
| rowspan="4" |
|-
| class="text-right" | 81
| 0x0051
| Канал 2
|-
| class="text-right" | 82
| 0x0052
| Канал 3
|-
| class="text-right" | 83
| 0x0053
| Канал 4
|-
| class="text-right" | 90
| 0x005A
| Канал 1
| rowspan="4" | Прямое управление
| rowspan="4" | Holding register
| rowspan="4" | RW
| rowspan="4" | u16
| rowspan="4" |
| rowspan="4" |
| rowspan="4" | 0 – 2048
| rowspan="4" class="text-right" | 0
| rowspan="4" |
| rowspan="4" |
|-
| class="text-right" | 91
| 0x005B
| Канал 2
|-
| class="text-right" | 92
| 0x005C
| Канал 3
|-
| class="text-right" | 93
| 0x005D
| Канал 4
|-
! colspan="13" style="text-align: left;"| Обработка типов нажатий
|-
| class="text-right" | 1100
| 0x044C
| Вход 1
| rowspan="4" | Время удержания входа в замкнутом состоянии для фиксации долгого нажатия
| rowspan="4" | Holding register
| rowspan="4" | RW
| rowspan="4" | u16
| rowspan="4" class="text-right" | 1
| rowspan="4" | мс
| rowspan="4" | 500 - 5000
| rowspan="4" class="text-right" | 2000
| rowspan="4" | -
| rowspan="4" |
|-
| class="text-right" | 1101
| 0x044D
| Вход 2
|-
| class="text-right" | 1102
| 0x044E
| Вход 3
|-
| class="text-right" | 1103
| 0x044F
| Вход 4
|-
| class="text-right" | 1120
| 0x0460
| Вход 1
| rowspan="4" | Скорость изменения параметра при удержании кнопки
| rowspan="4" | Holding register
| rowspan="4" | RW
| rowspan="4" | u16
| rowspan="4" class="text-right" | 1
| rowspan="4" | мс/ед.
| rowspan="4" | 5 - 500
| rowspan="4" class="text-right" | 20
| rowspan="4" |
| rowspan="4" |
|-
| class="text-right" | 1121
| 0x0461
| Вход 2
|-
| class="text-right" | 1122
| 0x0462
| Вход 3
|-
| class="text-right" | 1123
| 0x0463
| Вход 4
|-
| class="text-right" | 1140
| 0x0474
| Вход 1
| rowspan="4" | Время двойного нажатия
| rowspan="4" | Holding register
| rowspan="4" | RW
| rowspan="4" | u16
| rowspan="4" class="text-right" | 1
| rowspan="4" | мс
| rowspan="4" | 100 - 2000
| rowspan="4" class="text-right" | 500
| rowspan="4" |
| rowspan="4" |
|-
| class="text-right" | 1141
| 0x0475
| Вход 2
|-
| class="text-right" | 1142
| 0x0476
| Вход 3
|-
| class="text-right" | 1143
| 0x0477
| Вход 4
|-
| class="text-right" | 1160
| 0x0488
| Вход 1
| rowspan="4" | Время подавления дребезга
| rowspan="4" | Holding register
| rowspan="4" | RW
| rowspan="4" | u16
| rowspan="4" class="text-right" | 1
| rowspan="4" | мс
| rowspan="4" | 5 - 200
| rowspan="4" class="text-right" | 50
| rowspan="4" |
| rowspan="4" |
|-
| class="text-right" | 1161
| 0x0489
| Вход 2
|-
| class="text-right" | 1162
| 0x048A
| Вход 3
|-
| class="text-right" | 1163
| 0x048B
| Вход 4
|-
! colspan="13" style="text-align: left;"| Время изменения яркости, цветовой температуры и насыщенности цвета
|-
| class="text-right" | 3000
| 0x0BB8
| Канал 1
| rowspan="4" | Время увеличения яркости при независимой работе
| rowspan="4" | Holding register
| rowspan="4" | RW
| rowspan="4" | u16
| rowspan="4" class="text-right" | 1
| rowspan="4" | мс
| rowspan="4" | 0 – 30000
| rowspan="4" class="text-right" | 100
| rowspan="4" |
| rowspan="4" |
|-
| class="text-right" | 3001
| 0x0BB9
| Канал 2
|-
| class="text-right" | 3002
| 0x0BBA
| Канал 3
|-
| class="text-right" | 3003
| 0x0BBB
| Канал 4
|-
| class="text-right" | 3004
| 0x0BBC
| Каналы 1 и 2
| rowspan="3" | Время увеличения яркости при параллельной работе
| rowspan="3" | Holding register
| rowspan="3" | RW
| rowspan="3" | u16
| rowspan="3" class="text-right" | 1
| rowspan="3" | мс
| rowspan="3" | 0 – 30000
| rowspan="3" class="text-right" | 100
| rowspan="3" |
| rowspan="3" |
|-
| class="text-right" | 3005
| 0x0BBD
| Каналы 3 и 4
|-
| class="text-right" | 3006
| 0x0BBE
| Каналы 1, 2, 3, 4
|- style="vertical-align:bottom;"
| class="text-right" | 3007
| 0x0BBF
| Каналы 1 и 2
| Время увеличения цветовой температуры CCT ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|- style="vertical-align:bottom;"
| class="text-right" | 3008
| 0x0BC0
| Каналы 1 и 2
| Время увеличения яркости CCT ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|- style="vertical-align:bottom;"
| class="text-right" | 3009
| 0x0BC1
| Каналы 3 и 4
| Время увеличения цветовой температуры CCT ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|- style="vertical-align:bottom;"
| class="text-right" | 3010
| 0x0BC2
| Каналы 3 и 4
| Время увеличения яркости CCT ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|- style="vertical-align:bottom;"
| class="text-right" | 3011
| 0x0BC3
| HSV-H
| Время увеличения цвета RGB ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|- style="vertical-align:bottom;"
| class="text-right" | 3012
| 0x0BC4
| HSV-S
| Время увеличения насыщенности цвета RGB ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|- style="vertical-align:bottom;"
| class="text-right" | 3013
| 0x0BC5
| HSV-V
| Время увеличения яркости RGB ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|-
| class="text-right" | 3100
| 0x0BB8
| Канал 1
| rowspan="4" | Время уменьшения яркости при независимой работе
| rowspan="4" | Holding register
| rowspan="4" | RW
| rowspan="4" | u16
| rowspan="4" class="text-right" | 1
| rowspan="4" | мс
| rowspan="4" | 0 – 30000
| rowspan="4" class="text-right" | 100
| rowspan="4" |
| rowspan="4" |
|-
| class="text-right" | 3101
| 0x0BB9
| Канал 2
|-
| class="text-right" | 3102
| 0x0BBA
| Канал 3
|-
| class="text-right" | 3103
| 0x0BBB
| Канал 4
|-
| class="text-right" | 3104
| 0x0BBC
| Каналы 1 и 2
| rowspan="3" | Время уменьшения яркости при параллельной работе
| rowspan="3" | Holding register
| rowspan="3" | RW
| rowspan="3" | u16
| rowspan="3" class="text-right" | 1
| rowspan="3" | мс
| rowspan="3" | 0 – 30000
| rowspan="3" class="text-right" | 100
| rowspan="3" |
| rowspan="3" |
|-
| class="text-right" | 3105
| 0x0BBD
| Каналы 3 и 4
|-
| class="text-right" | 3106
| 0x0BBE
| Каналы 1, 2, 3, 4
|- style="vertical-align:bottom;"
| class="text-right" | 3107
| 0x0BBF
| Каналы 1 и 2
| Время уменьшения цветовой температуры CCT ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|- style="vertical-align:bottom;"
| class="text-right" | 3108
| 0x0BC0
| Каналы 1 и 2
| Время уменьшения яркости CCT ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|- style="vertical-align:bottom;"
| class="text-right" | 3109
| 0x0BC1
| Каналы 3 и 4
| Время уменьшения цветовой температуры CCT ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|- style="vertical-align:bottom;"
| class="text-right" | 3110
| 0x0BC2
| Каналы 3 и 4
| Время уменьшения яркости CCT ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|- style="vertical-align:bottom;"
| class="text-right" | 3111
| 0x0BC3
| HSV-H
| Время уменьшения цвета RGB ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|- style="vertical-align:bottom;"
| class="text-right" | 3112
| 0x0BC4
| HSV-S
| Время уменьшения насыщенности цвета RGB ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|- style="vertical-align:bottom;"
| class="text-right" | 3113
| 0x0BC5
| HSV-V
| Время уменьшения яркости RGB ленты
| Holding register
| RW
| u16
| class="text-right" | 1
| мс
| 0 – 30000
| class="text-right" | 100
|
|
|-
! colspan="13" style="text-align: left;"| Общие для всех режимов настройки
|-
| class="text-right" | 9
| 0x0009
|
| Настройка частоты ШИМ выходов
| Holding register
| RW
| u16
| class="text-right" | 1
|
| 1 – 240
F = 24 kHz / value
| class="text-right" | 8
|
|
|-
| class="text-right" | 4000
| 0x0FA0
|
| Настройка режима работы диммера
| Holding register
| RW
| u16
|
|
| Код режима можно взять в таблице режимов работы
| class="text-right" | 256
|
|
|}
Wbincludes:Header Relay Registers |+ Действия по типам нажатий |- | class="text-right" | 1000 | 0x03E8 | Вход 1 | rowspan="4" | Действие при коротком нажатии | rowspan="4" | Holding register | rowspan="4" | RW | rowspan="4" | u16 | rowspan="4" | | rowspan="4" | | rowspan="4" | Смотрите формулу расчёта ниже | rowspan="4" class="text-right" | 0 | rowspan="4" | | rowspan="4" | |- | class="text-right" | 1001 | 0x03E9 | Вход 2 |- | class="text-right" | 1002 | 0x03EA | Вход 3 |- | class="text-right" | 1003 | 0x03EB | Вход 4 |- | class="text-right" | 1020 | 0x03FC | Вход 1 | rowspan="4" | Дейтсвие при долгом нажатии | rowspan="4" | Holding register | rowspan="4" | RW | rowspan="4" | u16 | rowspan="4" | | rowspan="4" | | rowspan="4" | Смотрите формулу расчёта ниже | rowspan="4" class="text-right" | 0 | rowspan="4" | | rowspan="4" | |- | class="text-right" | 1021 | 0x03FD | Вход 2 |- | class="text-right" | 1022 | 0x03FE | Вход 3 |- | class="text-right" | 1023 | 0x03FF | Вход 4 |- | class="text-right" | 1040 | 0x0410 | Вход 1 | rowspan="4" | Дейтсвие при двойном нажатии | rowspan="4" | Holding register | rowspan="4" | RW | rowspan="4" | u16 | rowspan="4" | | rowspan="4" | | rowspan="4" | Смотрите формулу расчёта ниже | rowspan="4" class="text-right" | 0 | rowspan="4" | | rowspan="4" | |- | class="text-right" | 1041 | 0x0411 | Вход 2 |- | class="text-right" | 1042 | 0x0412 | Вход 3 |- | class="text-right" | 1043 | 0x0413 | Вход 4 |- | class="text-right" | 1060 | 0x0424 | Вход 1 | rowspan="4" | Действие при коротком, а затем долгом нажатии | rowspan="4" | Holding register | rowspan="4" | RW | rowspan="4" | u16 | rowspan="4" | | rowspan="4" | | rowspan="4" | Смотрите формулу расчёта ниже | rowspan="4" class="text-right" | 0 | rowspan="4" | | rowspan="4" | |- | class="text-right" | 1061 | 0x0425 | Вход 2 |- | class="text-right" | 1062 | 0x0426 | Вход 3 |- | class="text-right" | 1063 | 0x0427 | Вход 4 |}
Для настройки действий для типа нажатия нужно в соответствующий регистр записать число, составленное по следующему правилу:
0000 0000 0000 0000
Старшие 4 бита - тип действия:
- 0 - нет действия
- 0b0001 - установить coil регистр в 0
- 0b0010 - установить coil регистр в 1
- 0b0011 - переключить coil регистр 0 <-> 1
- 0b1001 - увеличить значение в holding регистре (уменьшается на 1 за каждое событие от кнопки)
- 0b1010 - уменьшить значение в holding регистре (увеличивается на 1 за каждое событие от кнопки)
- 0b1011 - уменьшить/увеличить значение в holding регистре. Направление меняется при каждом новом нажатии.
0000 0000 0000 0000
Младшие 12 бит - номер регистра без базового адреса. То есть для coil регистров адреса начинаются с нуля, и номер регистра совпадает с его адресом. Для регистров данных - адреса начинаются с 2000 - это базовый адрес. Из адреса holding регистра нужно вычесть 2000 и это значение (от 0 до 17) поместить в младшие 12 бит.
Value = (action << 12) | reg_number
Кнопки меняют значения modbus-регистров. Могут быть изменены значения только coil регистров включения (coil 0-10) и holding регистров данных (2000-2017).
Новый формат версионирования прошивок
Изменения относительно старого формата:
- Диапазон регистров «Модель устройства» расширен до 20 регистров
- Версия формируется согласно semver и имеет формат
MAJOR.MINOR.PATCH
с опциональным суффиксом(-rc|+wb)SUFFIX
- Суффикс
-rc
означает, что прошивка предназначена для тестирования и может быть нестабильной. Хранится в регистре с отрицательным знаком - Суффикс
+wb
добавляется, когда к прошивке, зафиксированной в релизе, требуется выпустить фикс. Хранится в регистре с положительным знаком
- Суффикс
- Цифры версии доступны по отдельности в формате u16 (для суффикса - i16), регистры 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
Wbincludes:Header Registers | 200-219 | 0x00C8 - 0x00D8 | Модель устройства | Input register | RO | null-terminated string | | | | | |rowspan="7"| 3.0.0 |- | 320 | 0x0140 |rowspan="4"| Версия прошивки в числовом формате |rowspan="4"| Input register |rowspan="4"| RO |rowspan="4"| u16 | | | MAJOR | | |- | 321 | 0x0141 | | | MINOR | | |- | 322 | 0x0142 | | | PATCH | | |- | 323 | 0x0143 | | | SUFFIX | | |- | 324-325 | 0x0144 - 0x0144 | Версия прошивки в Little Endian формате | Input register | RO | u32 | | | | | |- | 326-327 | 0x0146 - 0x0147 | Версия прошивки в Big Endian формате | Input register | RO | u32 | | | | | |- |}
Прошивка 1.0
Текущая серийная версия прошивки.
Регистр / адрес | тип | чтение/запись | значение по умолчанию | формат | назначение | Примечание |
---|---|---|---|---|---|---|
0 | holding | RW | - | 0-255 | Уровень канала G, логарифмическая кривая | |
1 | holding | RW | - | 0-255 | Уровень канала R, логарифмическая кривая | |
2 | holding | RW | - | 0-255 | Уровень канала B, логарифмическая кривая | |
3 | holding | RW | - | 0-255 | Уровень канала W, логарифмическая кривая | WB-MRGBW-D |
5 | holding | RW | 0 | 0: стандартный режим, 1: отключить управление | режим работы кнопок | |
6 | input | R | 1 - нажата, 0 - отпущена | состояние кнопки 1 | ||
7 | input | R | 1 - нажата, 0 - отпущена | состояние кнопки 2 | ||
8 | input | R | 1 - нажата, 0 - отпущена | состояние кнопки 3 (WB-MRGBW-D) | ||
9 | holding | RW | 0 | 0 - 239 | частота ШИМ * freq = 24 кГц / (value + 1)
|
|
13 | holding | RW | 100 | x 10ms (2 - 500) | Время плавного изменения яркости во время включения и выключения | |
32 | input | R | 0 | 0 - 65535 и дальше снова 0 | количество нажатий кнопки 1 | с версии 1.1.1 |
33 | input | R | 0 | 0 - 65535 и дальше снова 0 | количество нажатий кнопки 2 | с версии 1.1.1 |
34 | input | R | 0 | 0 - 65535 и дальше снова 0 | количество нажатий кнопки 3 | с версии 1.1.1 |
* Для регистра 9 приведена формула расчёта частоты. Значение регистра считается так: value=24кГц/freq−1, где freq — нужная частота. По умолчанию в регистр записано 0 — это 24 кГц: 24/24−1=0 В регистр пишется только целое число, возможные значения: 0 - 24 кГц 1 - 12 кГц 2 - 8 кГц 3 - 6 кГц 4 - 5.4 кГц 5 - 4 кГц
Адрес | Параметры регистра | Описание | Значения | |||
---|---|---|---|---|---|---|
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.
Адрес | Параметры регистра | Описание | Значения | |||
---|---|---|---|---|---|---|
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 формате |