Wbincludes:LED Dimmer Modbus Registers: различия между версиями

м
added Sporadic
(Добавлено описание действия "выключить все каналы")
м (added Sporadic)
 
(не показано 10 промежуточных версий 5 участников)
Строка 5: Строка 5:
| class ="text-right" | 0
| class ="text-right" | 0
| 0x0000
| 0x0000
| rowspan="4" | Discrete Input
| rowspan="4" | Discrete Input {{Sporadic}}
| rowspan="4" | RO
| rowspan="4" | RO
| rowspan="4" | bool   
| rowspan="4" | bool   
Строка 29: Строка 29:
| class ="text-right" | 32
| class ="text-right" | 32
| 0x0020
| 0x0020
| rowspan="4" | Input
| rowspan="4" | Input {{Sporadic}}
| rowspan="4" | RO
| rowspan="4" | RO
| rowspan="4" | u16   
| rowspan="4" | u16   
Строка 51: Строка 51:
| class ="text-right" | 464
| class ="text-right" | 464
| 0x01D0
| 0x01D0
| rowspan="4" | Input
| rowspan="4" | Input {{Sporadic}}
| rowspan="4" | RO
| rowspan="4" | RO
| rowspan="4" | u16   
| rowspan="4" | u16   
Строка 73: Строка 73:
| class ="text-right" | 480
| class ="text-right" | 480
| 0x01E0
| 0x01E0
| rowspan="4" | Input
| rowspan="4" | Input {{Sporadic}}
| rowspan="4" | RO
| rowspan="4" | RO
| rowspan="4" | u16   
| rowspan="4" | u16   
Строка 95: Строка 95:
| class ="text-right" | 496
| class ="text-right" | 496
| 0x01F0
| 0x01F0
| rowspan="4" | Input
| rowspan="4" | Input {{Sporadic}}
| rowspan="4" | RO
| rowspan="4" | RO
| rowspan="4" | u16   
| rowspan="4" | u16   
Строка 117: Строка 117:
| class ="text-right" | 512
| class ="text-right" | 512
| 0x0200
| 0x0200
| rowspan="4" | Input
| rowspan="4" | Input {{Sporadic}}
| rowspan="4" | RO
| rowspan="4" | RO
| rowspan="4" | u16   
| rowspan="4" | u16   
Строка 141: Строка 141:
| class ="text-right" | 0
| class ="text-right" | 0
| 0x0000
| 0x0000
| rowspan="3" | Coil
| rowspan="3" | Coil {{Sporadic}}
| rowspan="3" | RW
| rowspan="3" | RW
| rowspan="3" | bool  
| rowspan="3" | bool  
Строка 161: Строка 161:
| class ="text-right" | 3
| class ="text-right" | 3
| 0x0003
| 0x0003
| Coil
| Coil {{Sporadic}}
| RW
| RW
| bool  
| bool  
Строка 173: Строка 173:
| class ="text-right" | 4
| class ="text-right" | 4
| 0x0004
| 0x0004
| rowspan="3" | Coil
| rowspan="3" | Coil {{Sporadic}}
| rowspan="3" | RW
| rowspan="3" | RW
| rowspan="3" | bool  
| rowspan="3" | bool  
Строка 193: Строка 193:
| class ="text-right" | 7
| class ="text-right" | 7
| 0x0007
| 0x0007
| rowspan="2" | Coil
| rowspan="2" | Coil {{Sporadic}}
| rowspan="2" | RW
| rowspan="2" | RW
| rowspan="2" | bool  
| rowspan="2" | bool  
Строка 209: Строка 209:
| class ="text-right" | 9
| class ="text-right" | 9
| 0x0009
| 0x0009
| Coil
| Coil {{Sporadic}}
| RW
| RW
| bool  
| bool  
Строка 220: Строка 220:
|-
|-
| class ="text-right" | 10
| class ="text-right" | 10
| 0x00010
| 0x000A
| Coil
| Coil {{Sporadic}}
| RW
| RW
| bool  
| bool  
Строка 235: Строка 235:
| class ="text-right" | 2000
| class ="text-right" | 2000
| 0x07D0
| 0x07D0
| rowspan="3" | Holding
| rowspan="3" | Holding {{Sporadic}}
| rowspan="3" | RW
| rowspan="3" | RW
| rowspan="3" | u16  
| rowspan="3" | u16  
Строка 253: Строка 253:
| class ="text-right" | 2003
| class ="text-right" | 2003
| 0x07D3
| 0x07D3
| Holding
| Holding {{Sporadic}}
| RW
| RW
| u16  
| u16  
Строка 263: Строка 263:
| class ="text-right" | 2004
| class ="text-right" | 2004
| 0x07D4
| 0x07D4
| rowspan="3" | Holding
| rowspan="3" | Holding {{Sporadic}}
| rowspan="3" | RW
| rowspan="3" | RW
| rowspan="3" | u16  
| rowspan="3" | u16  
Строка 281: Строка 281:
| class ="text-right" | 2007
| class ="text-right" | 2007
| 0x07D7
| 0x07D7
| Holding
| Holding {{Sporadic}}
| RW
| RW
| u16  
| u16  
Строка 291: Строка 291:
| class ="text-right" | 2008
| class ="text-right" | 2008
| 0x07D8
| 0x07D8
| Holding
| Holding {{Sporadic}}
| RW
| RW
| u16  
| u16  
Строка 301: Строка 301:
| class ="text-right" | 2009
| class ="text-right" | 2009
| 0x07D9
| 0x07D9
| Holding
| Holding {{Sporadic}}
| RW
| RW
| u16  
| u16  
Строка 311: Строка 311:
| class ="text-right" | 2010
| class ="text-right" | 2010
| 0x07DA
| 0x07DA
| Holding
| Holding {{Sporadic}}
| RW
| RW
| u16  
| u16  
Строка 321: Строка 321:
| class ="text-right" | 2011
| class ="text-right" | 2011
| 0x07DB
| 0x07DB
| rowspan="3" | Holding
| rowspan="3" | Holding {{Sporadic}}
| rowspan="3" | RW
| rowspan="3" | RW
| rowspan="3" | u16  
| rowspan="3" | u16  
Строка 339: Строка 339:
| class ="text-right" | 2014
| class ="text-right" | 2014
| 0x07DE
| 0x07DE
| rowspan="3" | Holding
| rowspan="3" | Holding {{Sporadic}}
| rowspan="3" | RW
| rowspan="3" | RW
| rowspan="3" | u16  
| rowspan="3" | u16  
Строка 359: Строка 359:
| class ="text-right" | 2017
| class ="text-right" | 2017
| 0x07E1
| 0x07E1
| Holding
| Holding {{Sporadic}}
| RW
| RW
| u16  
| u16  
Строка 622: Строка 622:
|-
|-
| class ="text-right" | 3012
| class ="text-right" | 3012
| 0x0BC3
| 0x0BC4
| Holding
| Holding
| RW
| RW
Строка 632: Строка 632:
|-
|-
| class ="text-right" | 3013
| class ="text-right" | 3013
| 0x0BC3
| 0x0BC5
| Holding
| Holding
| RW
| RW
Строка 652: Строка 652:
|-
|-
| class="text-right" | 3101
| class="text-right" | 3101
| 0x0BB9
| 0x0C1D
| Канал 2
| Канал 2
|-
|-
| class="text-right" | 3102
| class="text-right" | 3102
| 0x0BBA
| 0x0C1E
| Канал 3
| Канал 3
|-
|-
| class="text-right" | 3103
| class="text-right" | 3103
| 0x0BBB
| 0x0C1F
| Канал 4
| Канал 4
|-
|-
Строка 674: Строка 674:
|-
|-
| class="text-right" | 3105
| class="text-right" | 3105
| 0x0BBD
| 0x0C21
| Каналы 3 и 4
| Каналы 3 и 4
|-
|-
| class="text-right" | 3106
| class="text-right" | 3106
| 0x0BBE
| 0x0C22
| Каналы 1, 2, 3, 4
| Каналы 1, 2, 3, 4
|-
|-
Строка 911: Строка 911:
* 0b0011 - переключить coil регистр 0 <-> 1
* 0b0011 - переключить coil регистр 0 <-> 1
* 0b0100 - установить все coil регистры в 0 (выключить все каналы). Доступно начиная с прошивки 3.3.0
* 0b0100 - установить все coil регистры в 0 (выключить все каналы). Доступно начиная с прошивки 3.3.0
* 0b1001 - увеличить значение в holding регистре (уменьшается на 1 за каждое событие от кнопки)
* 0b1001 - увеличить значение в holding регистре (увеличивается на 1 за каждое событие от кнопки)
* 0b1010 - уменьшить значение в holding регистре (увеличивается на 1 за каждое событие от кнопки)
* 0b1010 - уменьшить значение в holding регистре (уменьшается на 1 за каждое событие от кнопки)
* 0b1011 - уменьшить/увеличить значение в holding регистре. Направление меняется при каждом новом нажатии.
* 0b1011 - уменьшить/увеличить значение в holding регистре. Направление меняется при каждом новом нажатии.


Строка 923: Строка 923:
Кнопки меняют значения modbus-регистров. Могут быть изменены значения только coil регистров включения (coil 0-10) и holding регистров данных (2000-2017).
Кнопки меняют значения modbus-регистров. Могут быть изменены значения только coil регистров включения (coil 0-10) и holding регистров данных (2000-2017).


== Общие регистры ==
[https://support.wirenboard.com/t/dejstvie-pri-nazhatii-smotrite-formulu-raschyota-nizhe-rilheva/15151/8 полезный пример на портале]
Обратите внимание, что в этом устройстве изменился формат версионирования прошивки, изменения:
* Диапазон регистров «Модель устройства» расширен до 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}}
11

правок