WB-MRGBW-D Modbus Registers v.3: различия между версиями
Matveevrj (обсуждение | вклад) |
|||
(не показано 10 промежуточных версий 4 участников) | |||
Строка 5: | Строка 5: | ||
| fw_other= 1.0 | | fw_other= 1.0 | ||
| fw_other_page= WB_Dimmers_Modbus_Registers_Map_v.1 | | fw_other_page= WB_Dimmers_Modbus_Registers_Map_v.1 | ||
}} | }} | ||
Про обновление прошивки читайте на [[WB-MRGBW-D Modbus LED Dimmer | странице устройства]] в разделе «Обновление прошивки и сброс настроек». | Про обновление прошивки читайте на [[WB-MRGBW-D Modbus LED Dimmer | странице устройства]] в разделе «Обновление прошивки и сброс настроек». | ||
{{Wbincludes: | |||
==Общие | {{Wbincludes:Header Registers Universal|fw=true|channel=true}} | ||
{{Wbincludes:Header Registers Universal| | |- | ||
! colspan="9" style="text-align: left;"| Состояние входов и счётчики нажатий | |||
{{ | |- | ||
| class ="text-right" | 0 | |||
| 0x0000 | |||
| rowspan="4" | Discrete Input | |||
| rowspan="4" | RO | |||
{{Wbincludes: Registers | | rowspan="4" | bool | ||
| Вход 1 | |||
| rowspan="4" | Состояние | |||
| rowspan="4" | 0 - неактивен<br />1 - активен | |||
| 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 | |||
| rowspan="4" | Input | |||
| rowspan="4" | RO | |||
| rowspan="4" | u16 | |||
| Вход 1 | |||
| rowspan="4" | Счётчик замыканий | |||
| rowspan="4" | 0 − 65535<br /> по кругу | |||
| 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 | |||
| rowspan="4" | Input | |||
| rowspan="4" | RO | |||
| rowspan="4" | u16 | |||
| Вход 1 | |||
| rowspan="4" | Счётчик короткого нажатия | |||
| rowspan="4" | 0 − 65535<br /> по кругу | |||
| 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 | |||
| rowspan="4" | Input | |||
| rowspan="4" | RO | |||
| rowspan="4" | u16 | |||
| Вход 1 | |||
| rowspan="4" | Счётчик долгого нажатия | |||
| rowspan="4" | 0 − 65535<br /> по кругу | |||
| 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 | |||
| rowspan="4" | Input | |||
| rowspan="4" | RO | |||
| rowspan="4" | u16 | |||
| Вход 1 | |||
| rowspan="4" | Счётчик двойного нажатия | |||
| rowspan="4" | 0 − 65535<br /> по кругу | |||
| 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 | |||
| rowspan="4" | Input | |||
| rowspan="4" | RO | |||
| rowspan="4" | u16 | |||
| Вход 1 | |||
| rowspan="4" | Счётчик короткого, а затем долгого нажатия | |||
| rowspan="4" | 0 − 65535<br /> по кругу | |||
| rowspan="4" | | |||
|- | |||
| class ="text-right" | 513 | |||
| 0x0201 | |||
| Вход 2 | |||
|- | |||
| class ="text-right" | 514 | |||
| 0x0202 | |||
| Вход 3 | |||
|- | |||
| class ="text-right" | 515 | |||
| 0x0203 | |||
| Вход 4 | |||
|- | |||
! colspan="9" style="text-align: left;"| Состояние выходов | |||
|- | |||
| class ="text-right" | 0 | |||
| 0x0000 | |||
| rowspan="3" | Coil | |||
| rowspan="3" | RW | |||
| rowspan="3" | bool | |||
| Канал 1 | |||
| rowspan="3" | Состояние при независимой работе | |||
| rowspan="3" | '''0''' - выключен<br /> 1 - включён | |||
| rowspan="3" | | |||
|- | |||
| class="text-right" | 1 | |||
| 0x0001 | |||
| Канал 2 | |||
|- | |||
| class="text-right" | 2 | |||
| 0x0002 | |||
| Канал 3 | |||
|- | |||
| class ="text-right" | 3 | |||
| 0x0003 | |||
| Coil | |||
| RW | |||
| bool | |||
| Канал 4 | |||
| Состояние при независимой работе или в режиме RGB+W | |||
| '''0''' - выключен<br /> 1 - включён | |||
| | |||
|- | |||
| class ="text-right" | 4 | |||
| 0x0004 | |||
| rowspan="3" | Coil | |||
| rowspan="3" | RW | |||
| rowspan="3" | bool | |||
| Каналы 1 и 2 | |||
| rowspan="3" | Состояние при параллельной работе | |||
| rowspan="3" | '''0''' - выключен<br /> 1 - включён | |||
| rowspan="3" | | |||
|- | |||
| class="text-right" | 5 | |||
| 0x0005 | |||
| Каналы 3 и 4 | |||
|- | |||
| class="text-right" | 6 | |||
| 0x0006 | |||
| Каналы 1, 2, 3, 4 | |||
|- | |||
| class ="text-right" | 7 | |||
| 0x0007 | |||
| rowspan="2" | Coil | |||
| rowspan="2" | RW | |||
| rowspan="2" | bool | |||
| Каналы 1 и 2 | |||
| rowspan="2" | Состояние каналов при работе с CCT лентой | |||
| rowspan="2" | '''0''' - выключен<br /> 1 - включён | |||
| rowspan="2" | | |||
|- | |||
| class="text-right" | 8 | |||
| 0x0008 | |||
| Каналы 3 и 4 | |||
|- | |||
| class ="text-right" | 9 | |||
| 0x0009 | |||
| Coil | |||
| RW | |||
| bool | |||
| Каналы 1, 2, 3 | |||
| Состояние каналов при работе с RGB лентой | |||
| '''0''' - выключен<br /> 1 - включён | |||
| | |||
|- | |||
| class ="text-right" | 10 | |||
| 0x00010 | |||
| Coil | |||
| RW | |||
| bool | |||
| Каналы 1, 2, 3, 4 | |||
| Непрерывная смена цвета RGB ленты | |||
| '''0''' - выключен<br /> 1 - включён | |||
| | |||
|- | |||
! colspan="9" style="text-align: left;"| Управление каналами | |||
|- | |||
| class ="text-right" | 2000 | |||
| 0x07D0 | |||
| rowspan="3" | Holding | |||
| rowspan="3" | RW | |||
| rowspan="3" | u16 | |||
| Канал 1 | |||
| rowspan="3" | Яркость при независимой работе | |||
| rowspan="3" | x1, %<br /> 0 - 100 ('''50''')<br />Error: 0xFFFF | |||
| rowspan="3" | | |||
|- | |||
| class="text-right" | 2001 | |||
| 0x07D1 | |||
| Канал 2 | |||
|- | |||
| class="text-right" | 2002 | |||
| 0x07D2 | |||
| Канал 3 | |||
|- | |||
| class ="text-right" | 2003 | |||
| 0x07D3 | |||
| Holding | |||
| RW | |||
| u16 | |||
| Канал 4 | |||
| Яркость при независимой работе | |||
| x1, %<br />0 - 100 ('''50''')<br />Error: 0xFFFF | |||
| | |||
|- | |||
| class ="text-right" | 2004 | |||
| 0x07D4 | |||
| rowspan="3" | Holding | |||
| rowspan="3" | RW | |||
| rowspan="3" | u16 | |||
| Каналы 1 и 2 | |||
| rowspan="3" | Яркость при параллельной работе | |||
| rowspan="3" | x1, %<br /> 0 - 100 ('''50''')<br />Error: 0xFFFF | |||
| rowspan="3" | | |||
|- | |||
| class="text-right" | 2005 | |||
| 0x07D5 | |||
| Каналы 3 и 4 | |||
|- | |||
| class="text-right" | 2006 | |||
| 0x07D6 | |||
| Каналы 1, 2, 3, 4 | |||
|- | |||
| class ="text-right" | 2007 | |||
| 0x07D7 | |||
| Holding | |||
| RW | |||
| u16 | |||
| Каналы 1 и 2 | |||
| Цветовая температура CCT ленты | |||
| x1, %<br />0 - 100 ('''50''')<br />* 0 - тёплый цвет<br />* 100 - холодный цвет<br />Error: 0xFFFF | |||
| | |||
|- | |||
| class ="text-right" | 2008 | |||
| 0x07D8 | |||
| Holding | |||
| RW | |||
| u16 | |||
| Каналы 1 и 2 | |||
| Яркость CCT ленты | |||
| x1, %<br />0 - 100 ('''50''')<br />Error: 0xFFFF | |||
| | |||
|- | |||
| class ="text-right" | 2009 | |||
| 0x07D9 | |||
| Holding | |||
| RW | |||
| u16 | |||
| Каналы 3 и 4 | |||
| Цветовая температура CCT ленты | |||
| x1, %<br />0 - 100 ('''50''')<br />* 0 - тёплый цвет<br />* 100 - холодный цвет<br />Error: 0xFFFF | |||
| | |||
|- | |||
| class ="text-right" | 2010 | |||
| 0x07DA | |||
| Holding | |||
| RW | |||
| u16 | |||
| Каналы 3 и 4 | |||
| Яркость CCT ленты | |||
| x1, %<br />0 - 100 ('''50''')<br />Error: 0xFFFF | |||
| | |||
|- | |||
| class ="text-right" | 2011 | |||
| 0x07DB | |||
| rowspan="3" | Holding | |||
| rowspan="3" | RW | |||
| rowspan="3" | u16 | |||
| Компонент R | |||
| rowspan="3" | в цвете RGB ленты, RGB палитра | |||
| rowspan="3" | x1<br /> 0 - 255 ('''127''')<br />Error: 0xFFFF | |||
| rowspan="3" | | |||
|- | |||
| class="text-right" | 2012 | |||
| | 0x07DC | |||
| | Компонент G | |||
|- | |||
| class="text-right" | 2013 | |||
| | 0x07DD | |||
| | Компонент B | |||
|- | |||
| class ="text-right" | 2014 | |||
| 0x07DE | |||
| rowspan="3" | Holding | |||
| rowspan="3" | RW | |||
| rowspan="3" | u16 | |||
| Компонент H | |||
| rowspan="3" | в цвете RGB ленты, HSV палитра | |||
| x1, градус<br /> '''0''' - 360 <br />Error: 0xFFFF | |||
| rowspan="3" | | |||
|- | |||
| class="text-right" | 2015 | |||
| | 0x07DF | |||
| | Компонент S | |||
| | x1, %<br />0 - '''100'''<br />Error: 0xFFFF | |||
|- | |||
| class="text-right" | 2016 | |||
| | 0x07E0 | |||
| | Компонент V | |||
| | x1, %<br />0 - 100 ('''50''')<br />Error: 0xFFFF | |||
|- | |||
| class ="text-right" | 2017 | |||
| 0x07E1 | |||
| Holding | |||
| RW | |||
| u16 | |||
| | |||
| Скорость непрерывного изменения цвета RGB ленты, период увеличения Hue на 1 градус | |||
| x1, миллисекунды<br />3 - 10000 ('''30''')<br />Error: 0xFFFF | |||
| | |||
|- | |||
! colspan="9" style="text-align: left;"| Настройка выходов и прямое управление ШИМ выходов | |||
|- | |||
| class ="text-right" | 70 | |||
| 0x0046 | |||
| rowspan="4" | Holding | |||
| rowspan="4" | RW | |||
| rowspan="4" | u16 | |||
| Канал 1 | |||
| rowspan="4" | Минимальный ШИМ | |||
| rowspan="4" | 0 – 2048 ('''6''') | |||
| 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 | |||
| rowspan="4" | Holding | |||
| rowspan="4" | RW | |||
| rowspan="4" | u16 | |||
| Канал 1 | |||
| rowspan="4" | Максимальный ШИМ | |||
| rowspan="4" | 0 – '''2048''' | |||
| 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 | |||
| rowspan="4" | Holding | |||
| rowspan="4" | RW | |||
| rowspan="4" | u16 | |||
| Канал 1 | |||
| rowspan="4" | Прямое управление | |||
| rowspan="4" | '''0''' – 2048 | |||
| rowspan="4" | | |||
|- | |||
| class="text-right" | 91 | |||
| 0x005B | |||
| Канал 2 | |||
|- | |||
| class="text-right" | 92 | |||
| 0x005C | |||
| Канал 3 | |||
|- | |||
| class="text-right" | 93 | |||
| 0x005D | |||
| Канал 4 | |||
|- | |||
! colspan="9" style="text-align: left;"| Обработка типов нажатий | |||
|- | |||
| class ="text-right" | 1100 | |||
| 0x044C | |||
| rowspan="4" | Holding | |||
| rowspan="4" | RW | |||
| rowspan="4" | u16 | |||
| Вход 1 | |||
| rowspan="4" | Время удержания входа в замкнутом состоянии для фиксации долгого нажатия | |||
| rowspan="4" | x1, миллисекунды<br />500 – 5000 ('''2000''') | |||
| 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 | |||
| rowspan="4" | Holding | |||
| rowspan="4" | RW | |||
| rowspan="4" | u16 | |||
| Вход 1 | |||
| rowspan="4" | Скорость изменения параметра при удержании кнопки | |||
| rowspan="4" | x1, миллисекунды/ед.<br />5 – 500 ('''20''') | |||
| 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 | |||
| rowspan="4" | Holding | |||
| rowspan="4" | RW | |||
| rowspan="4" | u16 | |||
| Вход 1 | |||
| rowspan="4" | Время двойного нажатия | |||
| rowspan="4" | x1, миллисекунды<br />100 – 2000 ('''500''') | |||
| 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 | |||
| rowspan="4" | Holding | |||
| rowspan="4" | RW | |||
| rowspan="4" | u16 | |||
| Вход 1 | |||
| rowspan="4" | Время подавления дребезга | |||
| rowspan="4" | x1, миллисекунды<br />5 – 200 ('''50''') | |||
| rowspan="4" | | |||
|- | |||
| class="text-right" | 1161 | |||
| 0x0489 | |||
| Вход 2 | |||
|- | |||
| class="text-right" | 1162 | |||
| 0x048A | |||
| Вход 3 | |||
|- | |||
| class="text-right" | 1163 | |||
| 0x048B | |||
| Вход 4 | |||
|- | |||
! colspan="9" style="text-align: left;"| Время изменения яркости, цветовой температуры и насыщенности цвета | |||
|- | |||
| class ="text-right" | 3000 | |||
| 0x0BB8 | |||
| rowspan="4" | Holding | |||
| rowspan="4" | RW | |||
| rowspan="4" | u16 | |||
| Канал 1 | |||
| rowspan="4" | Время увеличения яркости при независимой работе | |||
| rowspan="4" | x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| rowspan="4" | | |||
|- | |||
| class="text-right" | 3001 | |||
| 0x0BB9 | |||
| Канал 2 | |||
|- | |||
| class="text-right" | 3002 | |||
| 0x0BBA | |||
| Канал 3 | |||
|- | |||
| class="text-right" | 3003 | |||
| 0x0BBB | |||
| Канал 4 | |||
|- | |||
| class ="text-right" | 3004 | |||
| 0x0BBС | |||
| rowspan="3" | Holding | |||
| rowspan="3" | RW | |||
| rowspan="3" | u16 | |||
| Каналы 1 и 2 | |||
| rowspan="3" | Время увеличения яркости при параллельной работе | |||
| rowspan="3" | x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| rowspan="3" | | |||
|- | |||
| class="text-right" | 3005 | |||
| 0x0BBD | |||
| Каналы 3 и 4 | |||
|- | |||
| class="text-right" | 3006 | |||
| 0x0BBE | |||
| Каналы 1, 2, 3, 4 | |||
|- | |||
| class ="text-right" | 3007 | |||
| 0x0BBF | |||
| Holding | |||
| RW | |||
| u16 | |||
| Каналы 1 и 2 | |||
| Время увеличения цветовой температуры CCT ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
| class ="text-right" | 3008 | |||
| 0x0BC0 | |||
| Holding | |||
| RW | |||
| u16 | |||
| Каналы 1 и 2 | |||
| Время увеличения яркости CCT ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
| class ="text-right" | 3009 | |||
| 0x0BC1 | |||
| Holding | |||
| RW | |||
| u16 | |||
| Каналы 3 и 4 | |||
| Время увеличения цветовой температуры CCT ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
| class ="text-right" | 3010 | |||
| 0x0BC2 | |||
| Holding | |||
| RW | |||
| u16 | |||
| Каналы 3 и 4 | |||
| Время увеличения яркости CCT ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
| class ="text-right" | 3011 | |||
| 0x0BC3 | |||
| Holding | |||
| RW | |||
| u16 | |||
| HSV-H | |||
| Время увеличения цвета RGB ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
| class ="text-right" | 3012 | |||
| 0x0BC3 | |||
| Holding | |||
| RW | |||
| u16 | |||
| HSV-S | |||
| Время увеличения насыщенности цвета RGB ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
| class ="text-right" | 3013 | |||
| 0x0BC3 | |||
| Holding | |||
| RW | |||
| u16 | |||
| HSV-V | |||
| Время увеличения яркости RGB ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
| class ="text-right" | 3100 | |||
| 0x0C1C | |||
| rowspan="4" | Holding | |||
| rowspan="4" | RW | |||
| rowspan="4" | u16 | |||
| Канал 1 | |||
| rowspan="4" | Время уменьшения яркости при независимой работе | |||
| rowspan="4" | x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| rowspan="4" | | |||
|- | |||
| class="text-right" | 3101 | |||
| 0x0BB9 | |||
| Канал 2 | |||
|- | |||
| class="text-right" | 3102 | |||
| 0x0BBA | |||
| Канал 3 | |||
|- | |||
| class="text-right" | 3103 | |||
| 0x0BBB | |||
| Канал 4 | |||
|- | |||
| class ="text-right" | 3104 | |||
| 0x0C20 | |||
| rowspan="3" | Holding | |||
| rowspan="3" | RW | |||
| rowspan="3" | u16 | |||
| Каналы 1 и 2 | |||
| rowspan="3" | Время уменьшения яркости при параллельной работе | |||
| rowspan="3" | x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| rowspan="3" | | |||
|- | |||
| class="text-right" | 3105 | |||
| 0x0BBD | |||
| Каналы 3 и 4 | |||
|- | |||
| class="text-right" | 3106 | |||
| 0x0BBE | |||
| Каналы 1, 2, 3, 4 | |||
|- | |||
| class ="text-right" | 3107 | |||
| 0x0C23 | |||
| Holding | |||
| RW | |||
| u16 | |||
| Каналы 1 и 2 | |||
| Время уменьшения цветовой температуры CCT ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
| class ="text-right" | 3108 | |||
| 0x0C24 | |||
| Holding | |||
| RW | |||
| u16 | |||
| Каналы 1 и 2 | |||
| Время уменьшения яркости CCT ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
| class ="text-right" | 3109 | |||
| 0x0C25 | |||
| Holding | |||
| RW | |||
| u16 | |||
| Каналы 3 и 4 | |||
| Время уменьшения цветовой температуры CCT ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
| class ="text-right" | 3110 | |||
| 0x0C26 | |||
| Holding | |||
| RW | |||
| u16 | |||
| Каналы 3 и 4 | |||
| Время уменьшения яркости CCT ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
| class ="text-right" | 3111 | |||
| 0x0C27 | |||
| Holding | |||
| RW | |||
| u16 | |||
| HSV-H | |||
| Время уменьшения цвета RGB ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
| class ="text-right" | 3112 | |||
| 0x0C28 | |||
| Holding | |||
| RW | |||
| u16 | |||
| HSV-S | |||
| Время уменьшения насыщенности цвета RGB ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
| class ="text-right" | 3113 | |||
| 0x0C29 | |||
| Holding | |||
| RW | |||
| u16 | |||
| HSV-V | |||
| Время уменьшения яркости RGB ленты | |||
| x1, миллисекунды<br />0 – 30000 ('''100''') | |||
| | |||
|- | |||
! colspan="9" style="text-align: left;"| Общие для всех режимов настройки | |||
|- | |||
| class ="text-right" | 9 | |||
| 0x0009 | |||
| Holding | |||
| RW | |||
| u16 | |||
| | |||
| Настройка частоты ШИМ выходов | |||
| x1<br />1 – 240 ('''8''')<br />F = 24 kHz / value | |||
| | |||
|- | |||
| class ="text-right" | 4000 | |||
| 0x0FA0 | |||
| Holding | |||
| RW | |||
| u16 | |||
| | |||
| Настройка режима работы диммера | |||
| Код режима можно взять в [[WB-MRGBW-D_Modbus_LED_Dimmer#Режимы | таблице режимов работы]]<br />'''256''' | |||
| | |||
|- | |||
|} | |||
{{Wbincludes:Header Registers Universal|fw=true|channel=true|no_description=true|header=Регистры настройки действий}} | |||
|+ Действия по типам нажатий | |||
|- | |||
| class ="text-right" | 1000 | |||
| 0x03E8 | |||
| rowspan="4" | Holding | |||
| rowspan="4" | RW | |||
| rowspan="4" | u16 | |||
| Вход 1 | |||
| rowspan="4" | Действие при коротком нажатии | |||
| rowspan="4" | Смотрите формулу расчёта ниже<br />'''0''' | |||
| 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 | |||
| rowspan="4" | Holding | |||
| rowspan="4" | RW | |||
| rowspan="4" | u16 | |||
| Вход 1 | |||
| rowspan="4" | Действие при долгом нажатии | |||
| rowspan="4" | Смотрите формулу расчёта ниже<br />'''0''' | |||
| 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 | |||
| rowspan="4" | Holding | |||
| rowspan="4" | RW | |||
| rowspan="4" | u16 | |||
| Вход 1 | |||
| rowspan="4" | Действие при двойном нажатии | |||
| rowspan="4" | Смотрите формулу расчёта ниже<br />'''0''' | |||
| 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 | |||
| rowspan="4" | Holding | |||
| rowspan="4" | RW | |||
| rowspan="4" | u16 | |||
| Вход 1 | |||
| rowspan="4" | Действие при коротком, а затем долгом нажатии | |||
| rowspan="4" | Смотрите формулу расчёта ниже<br />'''0''' | |||
| 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 и имеет формат <code>MAJOR.MINOR.PATCH</code> с опциональным суффиксом <code>(-rc|+wb)SUFFIX</code> | |||
*: Суффикс <code>-rc</code> означает, что прошивка предназначена для тестирования и может быть нестабильной. Хранится в регистре с отрицательным знаком | |||
*: Суффикс <code>+wb</code> добавляется, когда к прошивке, зафиксированной в релизе, требуется выпустить фикс. Хранится в регистре с положительным знаком | |||
* Цифры версии доступны по отдельности в формате u16 (для суффикса - i16), регистры 320-323 | |||
* Доступно число u32, содержащее комбинацию цифр версии и позволяющее за одно сравнение понять, увеличилась или уменьшилась версия прошивки | |||
*: Число рассчитывается по формуле: | |||
*: <syntaxhighlight> | |||
if (SUFFIX >= 0) { | |||
SUFFIX = SUFFIX + 128; | |||
} else { | |||
SUFFIX = -1 - SUFFIX; | |||
} | |||
VERSION = (MAJOR << 24) + (MINOR << 16) + (PATCH << 8) + SUFFIX; | |||
</syntaxhighlight> | |||
*: Число доступно для чтения в little-endian и big-endian форматах | |||
*: Число для более свежей версии всегда будет больше, чем для предыдущей, в том числе, когда прошивка переходит из тестовой в стабильную | |||
*: Таким образом обеспечивается корректное сравнение версий: | |||
*:<syntaxhighlight lang="js"> | |||
1.2.3-rc1 < 1.2.3-rc10 < 1.2.3 < 1.2.3+wb1 < 1.2.3+wb10 | |||
</syntaxhighlight> | |||
{{Wbincludes:Header Registers Universal|fw=true|no_description=true|header=Новые регистры для хранения версии прошивки}} | |||
|- | |||
| class ="text-right" | 200-219 | |||
| 0x00C8 - 0x00DB | |||
| Input | |||
| RO | |||
| string | |||
| Модель устройства | |||
| | |||
| rowspan="7" | 3.0.0 | |||
|- | |||
| class ="text-right" | 320 | |||
| 0x0140 | |||
| rowspan="4" | Input | |||
| rowspan="4" | RO | |||
| rowspan="4" | u16 | |||
| rowspan="4" | Версия прошивки в числовом формате | |||
| MAJOR | |||
|- | |||
| class ="text-right" | 321 | |||
| 0x0141 | |||
| MINOR | |||
|- | |||
| class ="text-right" | 322 | |||
| 0x0142 | |||
| PATCH | |||
|- | |||
| class ="text-right" | 323 | |||
| 0x0143 | |||
| SUFFIX | |||
|- | |||
| class ="text-right" | 324-325 | |||
| 0x0144 - 0x0145 | |||
| Input | |||
| RO | |||
| u32 | |||
| Версия прошивки в числовом формате | |||
|- | |||
| class ="text-right" | 326-327 | |||
| 0x0146 - 0x0147 | |||
| Input | |||
| RO | |||
| u32 | |||
| Версия прошивки в Big Endian формате | |||
|- | |||
|} | |} | ||
{{Wbincludes:Common Modbus Registers}} |
Версия 12:48, 1 апреля 2022
Описание
Обратите внимание на версию прошивки устройства — таблицы регистров в разных версиях отличаются. На этой странице описаны регистры прошивки 3.x, описание регистров прошивки 1.0.
Про обновление прошивки читайте на странице устройства в разделе «Обновление прошивки и сброс настроек».
RO / RW | Read only / Read/Write |
Выделено жирным | Значение регистра по умолчанию |
xN | Множитель, на который надо умножить число из регистра, чтобы получить значение в единицах измерения.
Не указан — считать равным 1 |
⚡ | Регистр поддерживает отправку данных с помощью событий Быстрого Modbus. |
FW | Версия прошивки устройства, с которой появился регистр. Пусто — регистр был всегда. |
Error: | Значение при ошибке |
Серый цвет ячейки | Служебный регистр: назначение, формат и содержимое может измениться в новых версиях прошивки |
Адрес | Параметры регистра no_description | Канал | Описание | Значения | FW | |||
---|---|---|---|---|---|---|---|---|
Dec | Hex | Тип | Доступ | Формат | ||||
Состояние входов и счётчики нажатий | ||||||||
0 | 0x0000 | Discrete Input | RO | bool | Вход 1 | Состояние | 0 - неактивен 1 - активен |
|
1 | 0x0001 | Вход 2 | ||||||
2 | 0x0002 | Вход 3 | ||||||
3 | 0x0003 | Вход 4 | ||||||
32 | 0x0020 | Input | RO | u16 | Вход 1 | Счётчик замыканий | 0 − 65535 по кругу |
|
33 | 0x0021 | Вход 2 | ||||||
34 | 0x0022 | Вход 3 | ||||||
35 | 0x0023 | Вход 4 | ||||||
464 | 0x01D0 | Input | RO | u16 | Вход 1 | Счётчик короткого нажатия | 0 − 65535 по кругу |
|
465 | 0x01D1 | Вход 2 | ||||||
466 | 0x01D2 | Вход 3 | ||||||
467 | 0x01D3 | Вход 4 | ||||||
480 | 0x01E0 | Input | RO | u16 | Вход 1 | Счётчик долгого нажатия | 0 − 65535 по кругу |
|
481 | 0x01E1 | Вход 2 | ||||||
482 | 0x01E2 | Вход 3 | ||||||
483 | 0x01E3 | Вход 4 | ||||||
496 | 0x01F0 | Input | RO | u16 | Вход 1 | Счётчик двойного нажатия | 0 − 65535 по кругу |
|
497 | 0x01F1 | Вход 2 | ||||||
498 | 0x01F2 | Вход 3 | ||||||
499 | 0x01F3 | Вход 4 | ||||||
512 | 0x0200 | Input | RO | u16 | Вход 1 | Счётчик короткого, а затем долгого нажатия | 0 − 65535 по кругу |
|
513 | 0x0201 | Вход 2 | ||||||
514 | 0x0202 | Вход 3 | ||||||
515 | 0x0203 | Вход 4 | ||||||
Состояние выходов | ||||||||
0 | 0x0000 | Coil | RW | bool | Канал 1 | Состояние при независимой работе | 0 - выключен 1 - включён |
|
1 | 0x0001 | Канал 2 | ||||||
2 | 0x0002 | Канал 3 | ||||||
3 | 0x0003 | Coil | RW | bool | Канал 4 | Состояние при независимой работе или в режиме RGB+W | 0 - выключен 1 - включён |
|
4 | 0x0004 | Coil | RW | bool | Каналы 1 и 2 | Состояние при параллельной работе | 0 - выключен 1 - включён |
|
5 | 0x0005 | Каналы 3 и 4 | ||||||
6 | 0x0006 | Каналы 1, 2, 3, 4 | ||||||
7 | 0x0007 | Coil | RW | bool | Каналы 1 и 2 | Состояние каналов при работе с CCT лентой | 0 - выключен 1 - включён |
|
8 | 0x0008 | Каналы 3 и 4 | ||||||
9 | 0x0009 | Coil | RW | bool | Каналы 1, 2, 3 | Состояние каналов при работе с RGB лентой | 0 - выключен 1 - включён |
|
10 | 0x00010 | Coil | RW | bool | Каналы 1, 2, 3, 4 | Непрерывная смена цвета RGB ленты | 0 - выключен 1 - включён |
|
Управление каналами | ||||||||
2000 | 0x07D0 | Holding | RW | u16 | Канал 1 | Яркость при независимой работе | x1, % 0 - 100 (50) Error: 0xFFFF |
|
2001 | 0x07D1 | Канал 2 | ||||||
2002 | 0x07D2 | Канал 3 | ||||||
2003 | 0x07D3 | Holding | RW | u16 | Канал 4 | Яркость при независимой работе | x1, % 0 - 100 (50) Error: 0xFFFF |
|
2004 | 0x07D4 | Holding | RW | u16 | Каналы 1 и 2 | Яркость при параллельной работе | x1, % 0 - 100 (50) Error: 0xFFFF |
|
2005 | 0x07D5 | Каналы 3 и 4 | ||||||
2006 | 0x07D6 | Каналы 1, 2, 3, 4 | ||||||
2007 | 0x07D7 | Holding | RW | u16 | Каналы 1 и 2 | Цветовая температура CCT ленты | x1, % 0 - 100 (50) * 0 - тёплый цвет * 100 - холодный цвет Error: 0xFFFF |
|
2008 | 0x07D8 | Holding | RW | u16 | Каналы 1 и 2 | Яркость CCT ленты | x1, % 0 - 100 (50) Error: 0xFFFF |
|
2009 | 0x07D9 | Holding | RW | u16 | Каналы 3 и 4 | Цветовая температура CCT ленты | x1, % 0 - 100 (50) * 0 - тёплый цвет * 100 - холодный цвет Error: 0xFFFF |
|
2010 | 0x07DA | Holding | RW | u16 | Каналы 3 и 4 | Яркость CCT ленты | x1, % 0 - 100 (50) Error: 0xFFFF |
|
2011 | 0x07DB | Holding | RW | u16 | Компонент R | в цвете RGB ленты, RGB палитра | x1 0 - 255 (127) Error: 0xFFFF |
|
2012 | 0x07DC | Компонент G | ||||||
2013 | 0x07DD | Компонент B | ||||||
2014 | 0x07DE | Holding | RW | u16 | Компонент H | в цвете RGB ленты, HSV палитра | x1, градус 0 - 360 Error: 0xFFFF |
|
2015 | 0x07DF | Компонент S | x1, % 0 - 100 Error: 0xFFFF | |||||
2016 | 0x07E0 | Компонент V | x1, % 0 - 100 (50) Error: 0xFFFF | |||||
2017 | 0x07E1 | Holding | RW | u16 | Скорость непрерывного изменения цвета RGB ленты, период увеличения Hue на 1 градус | x1, миллисекунды 3 - 10000 (30) Error: 0xFFFF |
||
Настройка выходов и прямое управление ШИМ выходов | ||||||||
70 | 0x0046 | Holding | RW | u16 | Канал 1 | Минимальный ШИМ | 0 – 2048 (6) | |
71 | 0x0047 | Канал 2 | ||||||
72 | 0x0048 | Канал 3 | ||||||
73 | 0x0049 | Канал 4 | ||||||
80 | 0x0050 | Holding | RW | u16 | Канал 1 | Максимальный ШИМ | 0 – 2048 | |
81 | 0x0051 | Канал 2 | ||||||
82 | 0x0052 | Канал 3 | ||||||
83 | 0x0053 | Канал 4 | ||||||
90 | 0x005A | Holding | RW | u16 | Канал 1 | Прямое управление | 0 – 2048 | |
91 | 0x005B | Канал 2 | ||||||
92 | 0x005C | Канал 3 | ||||||
93 | 0x005D | Канал 4 | ||||||
Обработка типов нажатий | ||||||||
1100 | 0x044C | Holding | RW | u16 | Вход 1 | Время удержания входа в замкнутом состоянии для фиксации долгого нажатия | x1, миллисекунды 500 – 5000 (2000) |
|
1101 | 0x044D | Вход 2 | ||||||
1102 | 0x044E | Вход 3 | ||||||
1103 | 0x044F | Вход 4 | ||||||
1120 | 0x0460 | Holding | RW | u16 | Вход 1 | Скорость изменения параметра при удержании кнопки | x1, миллисекунды/ед. 5 – 500 (20) |
|
1121 | 0x0461 | Вход 2 | ||||||
1122 | 0x0462 | Вход 3 | ||||||
1123 | 0x0463 | Вход 4 | ||||||
1140 | 0x0474 | Holding | RW | u16 | Вход 1 | Время двойного нажатия | x1, миллисекунды 100 – 2000 (500) |
|
1141 | 0x0475 | Вход 2 | ||||||
1142 | 0x0476 | Вход 3 | ||||||
1143 | 0x0477 | Вход 4 | ||||||
1160 | 0x0488 | Holding | RW | u16 | Вход 1 | Время подавления дребезга | x1, миллисекунды 5 – 200 (50) |
|
1161 | 0x0489 | Вход 2 | ||||||
1162 | 0x048A | Вход 3 | ||||||
1163 | 0x048B | Вход 4 | ||||||
Время изменения яркости, цветовой температуры и насыщенности цвета | ||||||||
3000 | 0x0BB8 | Holding | RW | u16 | Канал 1 | Время увеличения яркости при независимой работе | x1, миллисекунды 0 – 30000 (100) |
|
3001 | 0x0BB9 | Канал 2 | ||||||
3002 | 0x0BBA | Канал 3 | ||||||
3003 | 0x0BBB | Канал 4 | ||||||
3004 | 0x0BBС | Holding | RW | u16 | Каналы 1 и 2 | Время увеличения яркости при параллельной работе | x1, миллисекунды 0 – 30000 (100) |
|
3005 | 0x0BBD | Каналы 3 и 4 | ||||||
3006 | 0x0BBE | Каналы 1, 2, 3, 4 | ||||||
3007 | 0x0BBF | Holding | RW | u16 | Каналы 1 и 2 | Время увеличения цветовой температуры CCT ленты | x1, миллисекунды 0 – 30000 (100) |
|
3008 | 0x0BC0 | Holding | RW | u16 | Каналы 1 и 2 | Время увеличения яркости CCT ленты | x1, миллисекунды 0 – 30000 (100) |
|
3009 | 0x0BC1 | Holding | RW | u16 | Каналы 3 и 4 | Время увеличения цветовой температуры CCT ленты | x1, миллисекунды 0 – 30000 (100) |
|
3010 | 0x0BC2 | Holding | RW | u16 | Каналы 3 и 4 | Время увеличения яркости CCT ленты | x1, миллисекунды 0 – 30000 (100) |
|
3011 | 0x0BC3 | Holding | RW | u16 | HSV-H | Время увеличения цвета RGB ленты | x1, миллисекунды 0 – 30000 (100) |
|
3012 | 0x0BC3 | Holding | RW | u16 | HSV-S | Время увеличения насыщенности цвета RGB ленты | x1, миллисекунды 0 – 30000 (100) |
|
3013 | 0x0BC3 | Holding | RW | u16 | HSV-V | Время увеличения яркости RGB ленты | x1, миллисекунды 0 – 30000 (100) |
|
3100 | 0x0C1C | Holding | RW | u16 | Канал 1 | Время уменьшения яркости при независимой работе | x1, миллисекунды 0 – 30000 (100) |
|
3101 | 0x0BB9 | Канал 2 | ||||||
3102 | 0x0BBA | Канал 3 | ||||||
3103 | 0x0BBB | Канал 4 | ||||||
3104 | 0x0C20 | Holding | RW | u16 | Каналы 1 и 2 | Время уменьшения яркости при параллельной работе | x1, миллисекунды 0 – 30000 (100) |
|
3105 | 0x0BBD | Каналы 3 и 4 | ||||||
3106 | 0x0BBE | Каналы 1, 2, 3, 4 | ||||||
3107 | 0x0C23 | Holding | RW | u16 | Каналы 1 и 2 | Время уменьшения цветовой температуры CCT ленты | x1, миллисекунды 0 – 30000 (100) |
|
3108 | 0x0C24 | Holding | RW | u16 | Каналы 1 и 2 | Время уменьшения яркости CCT ленты | x1, миллисекунды 0 – 30000 (100) |
|
3109 | 0x0C25 | Holding | RW | u16 | Каналы 3 и 4 | Время уменьшения цветовой температуры CCT ленты | x1, миллисекунды 0 – 30000 (100) |
|
3110 | 0x0C26 | Holding | RW | u16 | Каналы 3 и 4 | Время уменьшения яркости CCT ленты | x1, миллисекунды 0 – 30000 (100) |
|
3111 | 0x0C27 | Holding | RW | u16 | HSV-H | Время уменьшения цвета RGB ленты | x1, миллисекунды 0 – 30000 (100) |
|
3112 | 0x0C28 | Holding | RW | u16 | HSV-S | Время уменьшения насыщенности цвета RGB ленты | x1, миллисекунды 0 – 30000 (100) |
|
3113 | 0x0C29 | Holding | RW | u16 | HSV-V | Время уменьшения яркости RGB ленты | x1, миллисекунды 0 – 30000 (100) |
|
Общие для всех режимов настройки | ||||||||
9 | 0x0009 | Holding | RW | u16 | Настройка частоты ШИМ выходов | x1 1 – 240 (8) F = 24 kHz / value |
||
4000 | 0x0FA0 | Holding | RW | u16 | Настройка режима работы диммера | Код режима можно взять в таблице режимов работы 256 |
Адрес | Параметры регистра no_description | Канал | Описание | Значения | FW | |||
---|---|---|---|---|---|---|---|---|
Dec | Hex | Тип | Доступ | Формат | ||||
1000 | 0x03E8 | Holding | RW | u16 | Вход 1 | Действие при коротком нажатии | Смотрите формулу расчёта ниже 0 |
|
1001 | 0x03E9 | Вход 2 | ||||||
1002 | 0x03EA | Вход 3 | ||||||
1003 | 0x03EB | Вход 4 | ||||||
1020 | 0x03FC | Holding | RW | u16 | Вход 1 | Действие при долгом нажатии | Смотрите формулу расчёта ниже 0 |
|
1021 | 0x03FD | Вход 2 | ||||||
1022 | 0x03FE | Вход 3 | ||||||
1023 | 0x03FF | Вход 4 | ||||||
1040 | 0x0410 | Holding | RW | u16 | Вход 1 | Действие при двойном нажатии | Смотрите формулу расчёта ниже 0 |
|
1041 | 0x0411 | Вход 2 | ||||||
1042 | 0x0412 | Вход 3 | ||||||
1043 | 0x0413 | Вход 4 | ||||||
1060 | 0x0424 | Holding | RW | u16 | Вход 1 | Действие при коротком, а затем долгом нажатии | Смотрите формулу расчёта ниже 0 |
|
1061 | 0x0425 | Вход 2 | ||||||
1062 | 0x0426 | Вход 3 | ||||||
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
Адрес | Параметры регистра | Описание | Значения | FW | |||
---|---|---|---|---|---|---|---|
Dec | Hex | Тип | Доступ | Формат | |||
200-219 | 0x00C8 - 0x00DB | Input | RO | string | Модель устройства | 3.0.0 | |
320 | 0x0140 | Input | RO | u16 | Версия прошивки в числовом формате | MAJOR | |
321 | 0x0141 | MINOR | |||||
322 | 0x0142 | PATCH | |||||
323 | 0x0143 | SUFFIX | |||||
324-325 | 0x0144 - 0x0145 | Input | RO | u32 | Версия прошивки в числовом формате | ||
326-327 | 0x0146 - 0x0147 | Input | RO | u32 | Версия прошивки в Big Endian формате |
Адрес | Параметры регистра | Описание | Значения | |||
---|---|---|---|---|---|---|
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 формате |