WB Dimmers Modbus Registers Map: различия между версиями
(Перенаправление на WB-MRGBW-D Modbus Registers v.3) Метка: новое перенаправление |
(→Новый формат версионирования прошивок: Форматирование) |
||
(не показано 18 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE:Карта Modbus-регистров RGBW-диммеров}} | |||
== Регистры устройства == | |||
=== Прошивка 3.0 === | |||
Версия 3.0 пока в разработке, подробнее читайте на [https://support.wirenboard.com/t/test-novoj-proshivki-3-0-0-dlya-dimmera-wb-mrgbw-d/9574 форуме]. | |||
{{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 - неактивен<br />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<br />по кругу | |||
| 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<br />по кругу | |||
| 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<br />по кругу | |||
| 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<br />по кругу | |||
| 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<br />по кругу | |||
| 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 - включён<br />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<br /> | |||
| RW | |||
| bool | |||
| | |||
| | |||
| 0 - включён<br />1 - выключен | |||
| class="text-right" | 0 | |||
| | |||
| | |||
|- | |||
| class="text-right" | 4 | |||
| 0x0004 | |||
| Каналы 1 и 2 | |||
| rowspan="3" | Состояние при параллельной работе | |||
| rowspan="3" | Coil<br /> | |||
| rowspan="3" | RW | |||
| rowspan="3" | bool | |||
| rowspan="3" | | |||
| rowspan="3" | | |||
| rowspan="3" | 0 - включён<br />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<br /> | |||
| rowspan="2" | RW | |||
| rowspan="2" | bool | |||
| rowspan="2" | | |||
| rowspan="2" | | |||
| rowspan="2" | 0 - включён<br />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<br /> | |||
| RW | |||
| bool | |||
| | |||
| | |||
| 0 - включён<br />1 - выключен | |||
| class="text-right" | 0 | |||
| | |||
| | |||
|- | |||
| class="text-right" | 10 | |||
| 0x000A | |||
| Каналы 1, 2, 3, 4 | |||
| Непрерывная смена цвета RGB ленты | |||
| Coil<br /><br /> | |||
| RW | |||
| bool | |||
| | |||
| | |||
| 0 - включён<br />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:<br />* 0 - тёплый цвет<br />* 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:<br />* 0 - тёплый цвет<br />* 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<br />F = 24 kHz / value | |||
| class="text-right" | 8 | |||
| | |||
| | |||
|- | |||
| class="text-right" | 4000 | |||
| 0x0FA0 | |||
| | |||
| Настройка режима работы диммера | |||
| Holding register | |||
| RW | |||
| u16 | |||
| | |||
| | |||
| Смотрите таблицу режимов работы | |||
| class="text-right" | 0 | |||
| | |||
| | |||
|} | |||
{{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 и имеет формат <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}} | |||
| 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 === | |||
Текущая серийная версия прошивки. | |||
{| border="1" class="wikitable" style="text-align:center" | |||
!Регистр / адрес | |||
!тип | |||
!чтение/запись | |||
!значение по умолчанию | |||
!формат | |||
!назначение | |||
!Примечание | |||
|- | |||
| 0 ||holding||RW||-||0-255||Уровень канала G, логарифмическая кривая | |||
| | |||
|- | |||
|1||holding||RW||-||0-255||Уровень канала R, логарифмическая кривая | |||
| | |||
|- | |||
|2 | |||
|holding | |||
|RW | |||
|<nowiki>-</nowiki> | |||
|0-255 | |||
|Уровень канала B, логарифмическая кривая | |||
| | |||
|- | |||
|3 | |||
|holding | |||
|RW | |||
|<nowiki>-</nowiki> | |||
|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 | |||
|freq = 24 кГц / (value + 1) (0 - 239) | |||
|частота ШИМ * | |||
| | |||
|- | |||
|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 | |||
|- | |||
|} | |||
<pre> | |||
* Для регистра 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 кГц | |||
</pre> | |||
{{Wbincludes:Common Modbus Registers}} |
Версия 18:42, 28 января 2022
Регистры устройства
Прошивка 3.0
Версия 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" | 0
|
|
|}
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 | freq = 24 кГц / (value + 1) (0 - 239) | частота ШИМ * | |
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 формате |