Регистры Modbus
Шинные датчики Bus Probes компании Tibbo управляются только на уровне регистров. В таблицах ниже описаны регистры Modbus, которые используют шинные датчики.
Все регистры шинных датчиков 16-разрядные, знаковые или беззнаковые. Это значит, что при записи или чтении регистра команда Modbus должна иметь следующий формат:
| B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 |
| ID ведомого устройства Modbus | Код функции | Целевой регистр | Записываемые данные / Длина читаемых данных | CRC (младший байт) | CRC (старший байт) | ||
Например, чтобы проверить версию прошивки шинного датчика с ID 1, отправьте ему такой запрос:
Допустим, в данных ответного сообщения устройства пришло значение 0x0103. Для версий монитора и прошивки шинных датчиков старший номер версии - первые два шестнадцатеричных символа ("01"), а младший номер - вторые два ("03"). Значит, на шинном датчике работает прошивка версии 1.03.
Общие регистры
Эти регистры есть у всех шинных датчиков. Регистры, значения которых записываются в EEPROM, энергонезависимы (то есть их значения сохраняются и после отключения питания датчика). Значения регистров, не сохраняемых в EEPROM, считываются при загрузке.
Для регистров, значения которых хранятся в EEPROM, слишком частая запись сокращает срок службы устройства. Подробнее см. в разделе Продление и оценка ресурса EEPROM.
| Адрес (hex) | Имя | Доступ | Тип | Описание |
| 200 (0xC8) | ID | R/Wp | Unsigned 16-bit | ID устройства (адрес Modbus). ID должен быть в диапазоне от 1 до 247. Попытки задать ID вне этого диапазона игнорируются. ID шинного датчика по умолчанию зависит от его типа:
Значение этого регистра сохраняется в EEPROM. |
| 201 (0xC9) | TYPE | R | Unsigned 16-bit | Тип датчика:
|
| 202 (0xCA)(1)(2) | BAUDRATE | R/Wp | Unsigned 16-bit | Скорость (бод), которую будет использовать шинный датчик:
Значение этого регистра сохраняется в EEPROM. |
| 203 (0xCB) | SIGNATURE | R | Unsigned 16-bit | Всегда возвращает 0xAA55. Это общая сигнатура всех шинных датчиков. |
| 204 (0xCC)(1)(2) | PARITY | R/Wp | Unsigned 16-bit | Режим чётности последовательного порта, который будет использовать шинный датчик:
Значение этого регистра сохраняется в EEPROM. |
| 205 (0xCD) | RESERVED | R | Unsigned 16-bit | Этот регистр зарезервирован для будущего использования. |
| 206 (0xCE) | RESERVED | R | Unsigned 16-bit | Этот регистр зарезервирован для будущего использования. |
| 207 (0xCF) | USER WORD 1 | R/W | Unsigned 16-bit | В этом регистре можно сохранять любые данные, нужные вашему приложению. Значение этого регистра сохраняется в EEPROM. |
| 208 (0xD0) | USER WORD 2 | R/W | Unsigned 16-bit | В этом регистре можно сохранять любые данные, нужные вашему приложению. Значение этого регистра сохраняется в EEPROM. |
| 209 (0xD1) | USER WORD 3 | R/W | Unsigned 16-bit | В этом регистре можно сохранять любые данные, нужные вашему приложению. Значение этого регистра сохраняется в EEPROM. |
| 210 (0xD2) | USER WORD 4 | R/W | Unsigned 16-bit | В этом регистре можно сохранять любые данные, нужные вашему приложению. Значение этого регистра сохраняется в EEPROM. |
| 211 (0xD3) | MONITOR VERSION | R | Unsigned 16-bit | Версия прошивки загрузчика Monitor/Loader. |
| 212 (0xD4) | FIRMWARE VERSION | R | Unsigned 16-bit | Версия прошивки приложения. |
R = только чтение, R/W = чтение/запись, R/Wp = чтение/запись с защитой (запись возможна, только пока нажата кнопка MD). К каждому шинному датчику прилагается металлический штифт, которым удобнее нажимать и удерживать кнопку MD.
1. Это значение можно сбросить к значению по умолчанию: выключите и снова включите питание устройства, дождитесь, пока зелёный и красный светодиоды мигнут три раза, затем быстро нажмите кнопку MD три раза менее чем за две секунды.
2. Обновлением прошивки занимается загрузчик Monitor/Loader шинного датчика, который работает только на 38,400-8-N-1. При обновлении прошивки значения этих регистров игнорируются.
3. Если нужны два стоповых бита, для чётности можно выбрать режим mark, что равносильно 8-N-2 (8 бит данных, без чётности, два стоповых бита).
Дополнительные регистры BP#01 (датчик температуры окружающей среды)
| Адрес (hex) | Имя | Доступ | Тип | Описание |
| 300 (0x12C) | TEMP_PROC | R | Signed 16-bit | Обработанные данные температуры с фиксированной точкой в шагах по 0.01°C. Разрешение измерения - 0.25°C. |
| 301 (0x12D) | TEMP_RAW | R | Unsigned 16-bit | Необработанные данные температуры от измерительной микросхемы (MCP9808). Подробности см. в документации производителя. |
R = только чтение
Дополнительные регистры BP#02 (датчик температуры и относительной влажности окружающей среды)
| Адрес (hex) | Имя | Доступ | Тип | Описание |
| 400 (0x190) | TEMP_PROC | R | Signed 16-bit | Обработанные данные температуры с фиксированной точкой в шагах по 0.1°C. Разрешение измерения - 0.5°C. |
| 401 (0x191) | TEMP_RAW | R | Unsigned 16-bit | Необработанные данные температуры от измерительной микросхемы (HIH6130). Подробности см. в документации производителя. |
| 404 (0x194) | HUM_PROC | R | Unsigned 16-bit | Обработанные данные относительной влажности с фиксированной точкой в шагах по 0.1%. Разрешение измерения - 0.1%. |
| 405 (0x195) | HUM_RAW | R | Unsigned 16-bit | Необработанные данные влажности от измерительной микросхемы (HIH6130). Подробности см. в документации производителя. |
R = только чтение
Дополнительные регистры BP#03 (датчик освещённости)
| Адрес (hex) | Имя | Доступ | Тип | Описание |
| 500 (0x1F4) | LUM_PROC | R | Unsigned 16-bit | Обработанные данные освещённости с фиксированной точкой в шагах по 1 Lux. Разрешение измерения - 1 Lux. |
| 501 (0x1F5) | LUM_RAW | R | Unsigned 16-bit | Необработанные данные освещённости от измерительной микросхемы (BH1721FVC). Подробности см. в документации производителя. |
R = только чтение
Дополнительные регистры BP#04 (трёхосевой акселерометр)

| Адрес (hex) | Имя | Доступ | Тип | Описание |
| 600 (0x258) | AXIS_X_PROC | R | Signed 16-bit | Обработанные данные ускорения по оси X с фиксированной точкой в шагах по ~0.003G. Разрешение измерения - ~0.003 G. |
| 601 (0x259) | AXIS_X_RAW | R | Signed 16-bit | Необработанные данные ускорения по оси X от измерительной микросхемы (ADXL312). Подробности см. в документации производителя. |
| 602 (0x25A) | AXIS_Y_PROC | R | Signed 16-bit | Обработанные данные ускорения по оси Y с фиксированной точкой в шагах по ~0.003G. Разрешение измерения - ~0.003 G. |
| 603 (0x25B) | AXIS_Y_RAW | R | Signed 16-bit | Необработанные данные ускорения по оси Y от измерительной микросхемы (ADXL312). Подробности см. в документации производителя. |
| 604 (0x25C) | AXIS_Z_PROC | R | Signed 16-bit | Обработанные данные ускорения по оси Z с фиксированной точкой в шагах по ~0.003G. Разрешение измерения - ~0.003 G. |
| 605 (0x25D) | AXIS_Z_RAW | R | Signed 16-bit | Необработанные данные ускорения по оси Z от измерительной микросхемы (ADXL312). Подробности см. в документации производителя. |
R = только чтение
Дополнительные регистры BP#05 (датчик затопления/протечки)
| Адрес (hex) | Имя | Доступ | Тип | Описание |
| 700 (0x2BC) | FLOOD_FLAG | R | Unsigned 16-bit | Состояние обнаружения затопления/протечки. Регистр может принимать значения:
|
| 701 (0x2BD) | FLOOD_SENSITIVITY | R/Wp | Unsigned 16-bit | Чувствительность датчика затопления/протечки. Этот регистр энергонезависим (то есть его значение сохраняется и после отключения питания шинного датчика). Регистр может принимать значения:
|
R = только чтение, R/Wp = чтение/запись с защитой (запись возможна, только пока нажата кнопка MD).
Дополнительные регистры BP#06 (цифровой вход с оптической изоляцией)
| Адрес (hex) | Имя | Доступ | Тип | Описание |
| 800 (0x320) | DIGITAL_INPUT | R | Unsigned 16-bit | Состояние цифрового входа. Регистр может принимать значения:
|
| 801 (0x321) | DIGITAL_INPUT_FILTERED | R | Unsigned 16-bit | Отфильтрованный вход. При опросе этого регистра BP#06 в течение 250µs выбирает отсчёты входного сигнала с интервалом 2.5µs. Регистр может принимать значения:
|
R = только чтение