3690
правок
(Новая страница: «===Holding Registers===») |
|||
(не показаны 24 промежуточные версии 3 участников) | |||
Строка 14: | Строка 14: | ||
===Holding Registers=== | ===Holding Registers=== | ||
{| | {| border="1" class="wikitable" style="text-align:center" | ||
!rowspan="2"| | !rowspan="2"|Register/ address | ||
!rowspan="2"| | !rowspan="2"|Type | ||
!rowspan="2"| | !rowspan="2"|Read/ write | ||
!rowspan="2"| | !rowspan="2"|default or error Value | ||
!rowspan="2"| | !rowspan="2"|Format | ||
!rowspan="2"| | !rowspan="2"|Purpose | ||
!colspan="5"| | !colspan="5"|Supported in | ||
! | !From version | ||
insertions | |||
|- | |- | ||
!WB-MS ( | !WB-MS (model code) | ||
!WB-MS v2 ( | !WB-MS v2 (model code) | ||
!WB-MSW | !WB-MSW | ||
!WB-MSW2 | !WB-MSW2 | ||
!WB-MSW | !WB-MSW V. 3 | ||
! | ! | ||
|- | |- | ||
| 0 || input || R || 0x7FFF ||°C × 10 (signed)|| | | 0 || input || R || 0x7FFF ||°C × 10 (signed)||Temperature with built-in sensor | ||
| T | | T | ||
| - | | - | ||
Строка 40: | Строка 40: | ||
| | | | ||
|- | |- | ||
|1|| input || R || 0xFFFF | |1|| input || R || 0xFFFF / |<blockquote>%RH × 10 (signed)</blockquote>||relative humidity with built-in sensor | ||
|H | |H | ||
|<nowiki>-</nowiki> | |<nowiki>-</nowiki> | ||
Строка 52: | Строка 52: | ||
|R | |R | ||
|<nowiki>-</nowiki> | |<nowiki>-</nowiki> | ||
| | |LC | ||
| | |"(register is not used in WB-MSW sensors, registers 9 and 10 instead)"<br>Illumination from built-in sensor | ||
|L | |L | ||
|Lux | |Lux | ||
Строка 65: | Строка 65: | ||
|R | |R | ||
|<nowiki>-</nowiki> | |<nowiki>-</nowiki> | ||
| | |dB × 100 | ||
| | |Noise level multiplied by 100 | ||
|S | |S | ||
|<nowiki>-</nowiki> | |<nowiki>-</nowiki> | ||
Строка 79: | Строка 79: | ||
|0x7FFF | |0x7FFF | ||
|°C × 100 (signed) | |°C × 100 (signed) | ||
| | |Temperature with built-in sensor | ||
| + | | + | ||
| + | | + | ||
Строка 92: | Строка 92: | ||
|<nowiki>-</nowiki> | |<nowiki>-</nowiki> | ||
|%RH × 100 (signed) | |%RH × 100 (signed) | ||
| | |Relative humidity with built-in sensor | ||
| + | | + | ||
| + | | + | ||
Строка 105: | Строка 105: | ||
|0x7FFF | |0x7FFF | ||
|°C × 16 (signed) | |°C × 16 (signed) | ||
| | |Temperature from external sensor | ||
| D | | D | ||
| + | | + | ||
Строка 118: | Строка 118: | ||
|0x7FFF | |0x7FFF | ||
|°C × 16 (signed) | |°C × 16 (signed) | ||
| | |Temperature from external sensor | ||
| D | | D | ||
| + | | + | ||
Строка 131: | Строка 131: | ||
|0xFFFF | |0xFFFF | ||
|PPM | |PPM | ||
| | |CO2 concentration | ||
| - | | - | ||
| - | | - | ||
| | |After | ||
|C | |C | ||
| | | | ||
Строка 142: | Строка 142: | ||
| R | | R | ||
| | | | ||
| | |LC | ||
|''' | |'''The illumination, multiplied by 100''' (9 - high-order, 10 — LSB luminance values) | ||
| - | | - | ||
| - | | - | ||
Строка 155: | Строка 155: | ||
|0xFFFF | |0xFFFF | ||
|PPM | |PPM | ||
| | |Air quality | ||
| - | | - | ||
| VOC | | VOC | ||
Строка 168: | Строка 168: | ||
|0 | |0 | ||
|ppm (400-1500) | |ppm (400-1500) | ||
| | |Service register, doesn't present in most devices. Manual calibration of CO2 sensor. For calibration, write down here the current CO2 concentration measured by another instrument | ||
| - | | - | ||
| - | | - | ||
Строка 180: | Строка 180: | ||
|RW | |RW | ||
|0xFF | |0xFF | ||
| | |days' | ||
| | |Service register, doesn't present in most devices. Cycle time for co sensor self-calibration algorithm (ABC) | ||
| - | | - | ||
| - | | - | ||
Строка 189: | Строка 189: | ||
|3.12 | |3.12 | ||
|- | |- | ||
|90||holding||RW||20 (200 ms)||× 10 ms|| | |90||holding||RW||20 (200 ms)||× 10 ms||light averaging Time | ||
|<blockquote>L, B</blockquote> | |<blockquote>L, B</blockquote> | ||
| - | | - | ||
Строка 197: | Строка 197: | ||
| | | | ||
|- | |- | ||
|91||holding||RW||20 (200 ms)||× 10 ms | |||
||Noise averaging time | |||
|S | |||
| - | |||
| + | |||
|S | |||
|S | |||
| | |||
|- | |||
|95 | |||
|holding | |||
|RW | |||
|1 | |||
|1 or 0 | |||
|CO2 sensor (ABC) auto-calibration to atmospheric CO2 | |||
| - | |||
| - | |||
| - | |||
|After | |||
|C | |||
| | |||
|- | |||
|96||holding||R||2000 / 5000||ppm | |||
||(available from firmware version 3.5.0) CO2 concentration measurement Range. Valid values: 2000, 5000, 10000. | |||
| - | |||
| - | |||
| - | |||
|C | |||
|C | |||
|3.5.0 | |||
|- | |||
|91||holding||RW||20 (200 ms)||× 10 ms | |91||holding||RW||20 (200 ms)||× 10 ms | ||
||Время усреднения шума | ||Время усреднения шума | ||
Строка 204: | Строка 236: | ||
|S | |S | ||
|S | |S | ||
| | |- | ||
|92 | |||
||holding | |||
||RW||0||x0.0625||Служебный регистр HOLD_REG_SPL_RAW_OFFSET - сдвиг значения АЦП | |||
|<nowiki>-</nowiki> | |||
|<nowiki>-</nowiki> | |||
|S | |||
|S | |||
|S | |||
|4.9.0 | |||
|- | |||
|93 | |||
||holding | |||
||RW||0||x0.1dB||Служебный регистр HOLD_REG_SPL_OFFSET - поправка к значению уровня шума | |||
|<nowiki>-</nowiki> | |||
|<nowiki>-</nowiki> | |||
|S | |||
|S | |||
|S | |||
|4.9.0 | |||
|- | |||
|- | |- | ||
|95 | |95 | ||
Строка 230: | Строка 288: | ||
|97||holding||RW||0 — 10||c | |97||holding||RW||0 — 10||c | ||
|| | ||Period between flashes of signal LEDs | ||
| - | | - | ||
| - | | - | ||
Строка 240: | Строка 298: | ||
|98||holding||RW||0 — 50|| | |98||holding||RW||0 — 50||MS | ||
|| | ||Led flash duration | ||
| - | | - | ||
| - | | - | ||
Строка 254: | Строка 312: | ||
|99||holding||RW||16|| 1 = 0. | |99||holding||RW||16|| 1 = 0.0625 C | ||
||( | ||(available from firmware version 3.10.0) suspicious value Filter for 1-Wire sensors (85.000 C, 127.937 C). The values are discarded if the previous value differs from the suspicious value by more than * 0.0625 C. Write 0 to disable the filter. | ||
| D | | D | ||
| + | | + | ||
Строка 265: | Строка 323: | ||
|100 | |||
||input | |||
||R||||||Служебный регистр HOLD_REG_SPL_RAW_INT | |||
|<nowiki>-</nowiki> | |||
|<nowiki>-</nowiki> | |||
|S | |||
|S | |||
|S | |||
| | |||
|- | |||
|101 | |101 | ||
||input | ||input | ||
||R|||||| | ||R||||||Service register HOLD_REG_TH_READS | ||
|colspan="5"| | |colspan="5"|all | ||
| | | | ||
|- | |- | ||
Строка 276: | Строка 345: | ||
|102 | |102 | ||
||input | ||input | ||
||R|||||| | ||R||||||Service register HOLD_REG_TH_ERRORS | ||
|colspan="5"| | |colspan="5"|all | ||
| | | | ||
|- | |- | ||
|104-105 | |103 | ||
||input | ||holding | ||
||R||||32-bit unsigned int|| | ||RW||||||Служебный регистр HOLD_REG_ILLUMINANCE_MODE | ||
|colspan="5"| | |<nowiki>+</nowiki> | ||
|<nowiki>+</nowiki> | |||
|<nowiki>+</nowiki> | |||
|<nowiki>-</nowiki> | |||
|<nowiki>-</nowiki> | |||
| | |||
|- | |||
| 104-105 || input || R|| || 32-bit unsigned int || uptime counter in seconds ||colspan="5"|all | |||
| | | | ||
|- | |- | ||
|106||input||R|| || | |106||input||R|| || | ||
|| | || Service register INPUT_REG_SGPC3_BASELINE | ||
| - | | - | ||
| - | | - | ||
Строка 300: | Строка 378: | ||
|107||input||R|| || | |107||input||R|| || | ||
|| | || Service register INPUT_REG_SGPC3_RAW_SIGNAL | ||
| - | | - | ||
| - | | - | ||
Строка 313: | Строка 391: | ||
|0xFFFF | |0xFFFF | ||
| | | | ||
| | |Sgpc3 VERSION service register | ||
| - | | - | ||
| - | | - | ||
Строка 323: | Строка 401: | ||
| 110 || holding || RW || 96 || | | 110 || holding || RW|| 96 || baud rate / 100 || RS-485 port speed, '''divided by 100'''. Permissible speeds: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 <br>([[UART_Communication_Settings/en|Configure RS-485 communication parameters for Wiren Board Modbus devices]]) | ||
|colspan="5"| | |colspan="5"|all | ||
| rowspan="3" |>3.1.0 | | rowspan="3" |>3.1.0 | ||
|- | |- | ||
| 111 || holding || RW || 0 || || | | 111 || holding || RW|| 0 || || configure the RS-485 port parity bit. Valid values: 0 - no parity bit (none), 1 - odd (odd), 2 - even (even) | ||
|colspan="5"| | |colspan="5"|all | ||
|- | |- | ||
| 112 || holding || RW || 2 || || | | 112 || holding || RW|| 2 || || number of stop bits of RS-485 port. Valid values: 1, 2 | ||
|colspan="5"| | |colspan="5"|all | ||
|- | |- | ||
| 120 (0x78) || holding || RW || 0 || | | 120 (0x78) || holding || RW|| 0 || non-0 || writing to the register causes the module to restart without saving state | ||
|colspan="5"| | |colspan="5"|all | ||
| | | | ||
|- | |- | ||
| 121 (0x79) || input || R || - || | | 121 (0x79) || input || R || - || mV || current supply voltage of the module | ||
|colspan="5"| | |colspan="5"|all | ||
| | | | ||
|- | |- | ||
| 128 (0x80) || holding || RW || 1 || || Modbus | | 128 (0x80) || holding || RW|| 1 || || Modbus device address | ||
|colspan="5"| | |colspan="5"|all | ||
| | | | ||
|- | |- | ||
| 129 (0x81) || holding || RW || 0 || 0 | | 129 (0x81) || holding || RW|| 0 || 0 or 1 || Go to [[WB-MCU-Flasher/en|bootloader mode]] | ||
|colspan="5"| | |colspan="5"|all || 4.5.0 | ||
|- | |- | ||
| 200-206 || input || R || | | 200-206 || input || R || see [[#Device signature|Device signature]] || || signature | ||
|colspan="5"| | |colspan="5"|all | ||
| | | | ||
|- | |- | ||
| 220-241 || input || R || || | | 220-241 || input || R | | | | _date__ _time__|| firmware build date | ||
|colspan="5"| | |colspan="5"|all | ||
| | | | ||
|- | |- | ||
Строка 361: | Строка 439: | ||
|0 | |0 | ||
|°C × 100 (signed) | |°C × 100 (signed) | ||
| | |Self-heating temperature compensation for temperature and humidity sensor (value is subtracted from measured temperature) | ||
| + | | + | ||
| - | | - | ||
Строка 369: | Строка 447: | ||
|4.2 | |4.2 | ||
|- | |- | ||
| 250-269 || input || R || | | | 250-269 || input || R | | | / string, null-terminated || firmware version | ||
|colspan="5"| | |colspan="5"|all | ||
| | | | ||
|- | |- | ||
| 270-271 || input || R || || | | 270-271 || input || R|| || 32-bit unsigned int || unique identifier (S/N) | ||
|colspan="5"| | |colspan="5"|all | ||
| | | | ||
|- | |- | ||
|280||input||R|| || | |280||input||R|| || | ||
|| | ||Maximum value of motion sensor with ADC | ||
| - | | - | ||
| - | | - | ||
Строка 387: | Строка 465: | ||
|- | |- | ||
|281||input||R|| || | |281||input||R|| || | ||
|| | ||Value of the motion sensor with ADC | ||
| - | | - | ||
| - | | - | ||
Строка 395: | Строка 473: | ||
| | | | ||
|- | |- | ||
|282||holding||RW||10|| | |282||holding||RW||10||s | ||
|| | ||The width of the time window for calculating the maximum average value of the motion sensor (from 1 to 60 seconds) | ||
| - | | - | ||
| - | | - | ||
Строка 405: | Строка 483: | ||
|- | |- | ||
|283||input||R|| || | |283||input||R|| || | ||
|| | ||Current average value of movement in conventional units | ||
| - | | - | ||
| - | | - | ||
Строка 416: | Строка 494: | ||
|} | |} | ||
=== | ===Coils=== | ||
Registers related to IR control are described in [[WB-MSx_Consumer_IR_Manual/en]]. | |||
{| | {| border="1" class="wikitable" style="text-align:center" | ||
! | !Starting address || Quantity || Purpose || In modifications | ||
! | !From firmware version | ||
|- | |- | ||
| 0 || 1 || style="text-align:left" | | | 0 || 1 || style="text-align:left" |Enable buzzer (buzzer) || WB-MSW v.3, WB-MSW2 | ||
| | | | ||
|- | |- | ||
| 1 || 1 || style="text-align:left" | | | 1 || 1 || style="text-align:left" | Forced calibration of the built-in CO2 sensor. Turn on after 20 minutes of operation at a CO2 level of 400 ppm || WB-MSW v.3, WB-MSW2 | ||
| | | | ||
|- | |- | ||
| 2 || 1 || style="text-align:left" | | | 2 || 1 || style="text-align:left" | Turn on the heating (heater) in the temperature and humidity sensor chip HDC1080 || WB-MS, WB-MSW v.3, WB-MSW2 | ||
|3.2.0 | |3.2.0 | ||
|- | |- | ||
|3 | |3 | ||
|1 | |1 | ||
| | |Power on/off of the CO2 sensor | ||
|WB-MSW | |WB-MSW V. 3 | ||
|4.1.0 | |4.1.0 | ||
|- | |- | ||
| 10 || 1 || style="text-align:left" | | | 10 || 1 || style="text-align:left" | Green led on || WB-MSW v.3 | ||
| | | | ||
|- | |- | ||
| 11 || 1 || style="text-align:left" | | | 11 || 1 || style="text-align:left" | Enable red led || WB-MSW v.3 | ||
| | | | ||
|- | |- | ||
|} | |} | ||
== | == Device signature == | ||
The 6-byte module signature is stored at address 200. The signature is unique for each model of Wiren Board devices and allows to identify the model by Modbus: | |||
{| class="wikitable" | {| class="wikitable" | ||
! style="font-weight: bold;" | | ! style="font-weight: bold;" | Module | ||
! style="font-weight: bold;" | | ! style="font-weight: bold;" | Signature | ||
|- | |- | ||
| WB-MS | | WB-MS | ||
Строка 467: | Строка 545: | ||
|} | |} | ||
To get the signature of a device you need to run command READ_HOLDING_REGISTERS at 200 (length of 6 registers). Writing to this area of memory is not supported, and error 3 is returned when attempting to write to an invalid location. Empty spaces in the signature text are clogged with the value 0x00. | |||
Starting from register 220, the firmware build date is recorded, in the format ''number'''x00'''time'''x00''''' as a string (example: 'Jan 27 2017 17:01:13'). The length of the record is 21 registers. | |||
== | == Command-line device management == | ||
The Wiren Board controller software includes modbus_client utility to work with devices connected to the RS-485 outputs, via Modbus Protocol, the detailed description of the command is on the page [[Modbus-client/en| Modbus client]]. Access to the command line is described in [[SSH/en| SSH]]. | |||
=== | === Register reading example === | ||
Let's check whether it is true that we are connected to the module of the desired type. (Module wb-mqtt-serial needs to be stopped). At address 200, a unique signature of 6 registers is stored. Let's read 6 registers, starting with the address 200, and convert the received hexadecimal answer into a character string: | |||
<syntaxhighlight lang="bash">echo -e `modbus_client --debug -mrtu -pnone -s2 /dev/ | <syntaxhighlight lang="bash">echo -e `modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 \ | ||
-a1 -t0x03 -r200 -c 6 | \ | -a1 -t0x03 -r200 -c 6 | \ | ||
grep Data | sed -e 's/0x00/\\\x/g' -e 's/Data://' -e 's/\s//g'` </syntaxhighlight> | grep Data | sed -e 's/0x00/\\\x/g' -e 's/Data://' -e 's/\s//g'` </syntaxhighlight> | ||
As a result of the command we receive string '''WBMS'''. The WB-MS module in the example has Modbus address 1. |