WB-MAI6: Таблица Modbus-регистров, режимы работы и типы стандартных датчиков

Материал из Wiren Board

Режимы

WB-MAI6 позволяет для каждого входа настроить следующие режимы работы:

  • Измерение напряжения — в дифференциальном или однополярном режиме.
  • Измерение сопротивления — в дифференциальном или однополярном режиме.
  • Измерение тока — только в однополярном режиме.

В таблице 3 приведено полное описание базовых режимов работы на которых основано измерение сигналов со стандартных датчиков.

В регистры «тип датчика» (0xX400, 0xX401) таблицы 5 для каждого входа могут быть занесены коды из таблицы 3 либо из таблицы 4. Для измерения нестандартных величин можно выбрать режим входа и диапазон измерения вручную из таблицы 3.

Таблица 3. Режимы работы устройства
Тип

измеряемого

сигнала

Режим входа Код

HEX

Код

DEC

Описание Коэффициент

усиления

Диапазон измерения Погрешность Формат

выходных

данных

Вход отключен - 0x0000 0 - - - - -
Измерение

напряжения

Однополярный 0x0001 1 Измерение напряжения в однополярном режиме, рис. 1 1...4 2 В .. 10 В ±0.2 % мкВ
10 В .. 30 В ±1 %
0...2000 мВ ±(0.2 % + 100 мкВ)
Дифференциальный 0x0101 257 Измерение напряжения в дифференциальном режиме от −2 до 2 В относительно iGnd, рис. 5

Измерение напряжения с термопары,  рис. 6

1...128 ± 2048 мВ ±(0.2 % + 30 мкВ)
Измерение

сопротивления

Однополярный 0x0002 2 Измерение сопротивления по двухпроводной схеме, рис. 3

Подключение датчиков типа «сухой контакт», рис. 4

1 0...1 кОм (±0.1 % + 0.3 Ом) Ом · 100
1 кОм...100 кОм ±0.2 %
100 кОм...1 МОм ±1 %
Дифференциальный

(трехпроводная схема)

0x0102 258 Измерение сопротивления по трехпроводной схеме, рис. 7 0...5000 Ом ±(0.1 % + 0.15 Ом)
Измерение

тока

Однополярный 0x0003 3 Измерение тока от 0 до 20 мА, рис. 2 1...4 0...20.48 мА ±(0.2 % + 1мкА) нА

Типы поддерживаемых стандартных датчиков

В таблице 4 приведены типы поддерживаемых стандартных датчиков, которые надо занести в регистры «тип датчика» таблицы 5.

При использовании стандартных датчиков значения регистров 0xX40 А и 0xX40 В (коэффициент усиления) игнорируется. Стандартные датчики имеют код 0x1XXX.

Таблица 4. Типы стандартных датчиков
Код датчика

HEX

Код датчика

DEC

Описание Формат

сырых данных

Формат

пересчитанных данных

Погрешность
Термоэлектрические преобразователи

Режим работы — измерение напряжения с термопары, рис. 6

0x1000 4096 ТХА (K) мкВ °C · 10 ±(0.8 °С + 0.2% · Δt)
Примечание: Δt — разница между измеряемой термопарой температурой и температурой WB-MAI, если термопара подключена напрямую к входу WB-MAI6 без удлинения проводов.
Термометры сопротивления по двухпроводной схеме

Режим работы — измерение сопротивления по двухпроводной схеме, рис. 3

0x1100 4352 Pt 50 (α = 0,00385 °C -1) Ом · 100 °C · 10 ±1.5 °С
0x1101 4353 Pt 100 (α = 0,00385 °C -1) ±0.8 °С
0x1102 4354 Pt 500 (α = 0,00385 °C -1) ±0.2 °С
0x1103 4355 Pt 1000 (α = 0,00385 °C -1) ±0.15 °С
0x1110 4368 50П (α = 0,00391 °C -1) ±1.5 °С
0x1111 4369 100П (α = 0,00391 °C -1) ±0.8 °С
0x1112 4370 500П (α = 0,00391 °C -1) ±0.2 °С
0x1113 4371 1000П (α = 0,00391 °C -1) ±0.15 °С
0x1120 4384 50М (α = 0,00428 °C -1) ±1.4 °С
0x1121 4385 100М (α = 0,00428 °C -1) ±0.7 °С
0x1122 4386 500М (α = 0,00428 °C -1) ±0.2 °С
0x1123 4387 1000М (α = 0,00428 °C -1) ±0.14 °С
0x1130 4400 Ni 100 (α = 0,00617 °C -1) ±0.5 °С
0x1131 4401 Ni 500 (α = 0,00617 °C -1) ±0.13 °С
0x1132 4402 Ni 1000 (α = 0,00617 °C -1) ±0.1 °С
0x1701 5889 NTC 10k (B = 3988 K) Ом · 100 °C · 10 ±0.2 °С
Примечание: без учёта сопротивления проводов и контактов
Термометры сопротивления по трехпроводной схеме

Режим работы — измерение сопротивления по трехпроводной схеме,   рис. 7

0x1200 4608 Pt 50 (α = 0,00385 °C -1) Ом · 100 °C · 10 ±(0.6 + Rw · 0.02 Ом-1 )°С
0x1201 4609 Pt 100 (α = 0,00385 °C -1) ±(0.33 + Rw · 0.01 Ом-1 )°С
0x1202 4610 Pt 500 (α = 0,00385 °C -1) ±(0.14 + Rw · 0.002 Ом-1 )°С
0x1203 4611 Pt 1000 (α = 0,00385 °C -1) ±(0.13 + Rw · 0.001 Ом-1 )°С
0x1210 4624 50П (α = 0,00391 °C -1) ±(0.6 + Rw · 0.02 Ом-1 )°С
0x1211 4625 100П (α = 0,00391 °C -1) ±(0.33 + Rw · 0.01 Ом-1 )°С
0x1212 4626 500П (α = 0,00391 °C -1) ±(0.14 + Rw · 0.002 Ом-1 )°С
0x1213 4627 1000П (α = 0,00391 °C -1) ±(0.13 + Rw · 0.001 Ом-1 )°С
0x1220 4640 50М (α = 0,00428 °C -1) ±(0.6 + Rw · 0.02 Ом-1 )°С
0x1221 4641 100М (α = 0,00428 °C -1) ±(0.31 + Rw · 0.01 Ом-1 )°С
0x1222 4642 500М (α = 0,00428 °C -1) ±(0.13 + Rw · 0.002 Ом-1 )°С
0x1223 4643 1000М (α = 0,00428 °C -1) ±(0.12 + Rw · 0.001 Ом-1 )°С
0x1230 4656 Ni 100 (α = 0,00617 °C -1) ±(0.23 + Rw · 0.006 Ом-1 )°С
0x1231 4657 Ni 500 (α = 0,00617 °C -1) ±(0.09 + Rw · 0.0013 Ом-1 )°С
0x1232 4658 Ni 1000 (α = 0,00617 °C -1) ±(0.08 + Rw · 0.0006 Ом-1 )°С
Примечание: Rw — сопротивление каждого провода. Должны использоваться одинаковые провода одинаковой длины для подключения к клеммам P и N.
Датчики с токовым выходом

Режим работы — измерение тока от 0 до 20 мА, рис. 2

0x1300 4864 от 0 до 5 мА нА 0 мА = нижняя граница (регистры 0xX408 / 0xX409)

5 мА = верхняя граница (регистры 0xX40A / 0xX40B)

±0.25 %
0x1301 4865 от 0 до 20 мА нА 0 мА = нижняя граница (регистры 0xX408 / 0xX409)

20 мА = верхняя граница (регистры 0xX40A / 0xX40B)

±0.25 %
0x1302 4866 от 4 до 20 мА нА 4 мА = нижняя граница (регистры 0xX408 / 0xX409)

20 мА = верхняя граница (регистры 0xX40A / 0xX40B)

±0.25 %
Датчики с выходом «напряжение» в однополярном режиме

Режим работы — измерение напряжения в однополярном режиме, рис. 1

0x1400 5120 от 0 до 1 В мкВ 0 В = нижняя граница(регистры 0xX408 / 0xX409)

1 В = верхняя граница (регистры 0xX40A / 0xX40B)

±0.2 %
0x1401 5121 от 0 до 10 В мкВ 0 В = нижняя граница(регистры 0xX408 / 0xX409)

10 В = верхняя граница (регистры 0xX40A / 0xX40B)

±0.2 %
Примечание: входы WB-MAI в этом режиме имеют низкий импеданс (50мкА подтяжку к верху), чтобы обнаруживать входы, к которым ничего не подключено. Обратитесь к производителю для отключения.
Датчики с выходом «напряжение» в дифференциальном режиме

Режим работы — измерение напряжения в дифференциальном режиме от −2 до 2 В, рис. 5

0x1500 5376 от -50 до 50 мВ мкВ -50 мВ = нижняя граница(регистры 0xX408 / 0xX409)

50 мВ = верхняя граница (регистры 0xX40A / 0xX40B)

±0.2 %
Датчики контактные (сухие)

Режим работы — измерение сопротивления по двухпроводной схеме,  рис. 3

0x1600 5632 Сухой контакт Ом · 100 0 — датчик разомкнут или отсутствует

1 — датчик замкнут

Датчики тока на эффекте Холла

Режим работы — измерение напряжения в однополярном режиме,  рис. 1

0x1800 6144 С выходом (2.500±0.625) В А · 10 2.500В соответствует 0 А, или сдвигу (регистры 0xX408 / 0xX409)

(2.500+0.625) В - соответствует номинальному значению (регистры 0xX40A / 0xX40B)

формат регистров 0xX408-0xX40B - А · 10

±1 %

Карта регистров

В таблице 5 символ X в адресе регистра — это номер входа от 1 до 6 (от 0x1 до 0x6).

Так как каждый вход поддерживает и дифференциальный и однополярный режим работы, то тип датчика задается для входов INxP и INxN в отдельности в соответствующих регистрах 0xX400 и 0xX401, где X — номер входа от 1 до 6 в шестнадцатеричной системе счисления.

Не рекомендуется вручную устанавливать коэффициент усиления. Для однополярного режима работы канала доступны только коэффициенты усиления 1, 2 и 4.

Если для входа INxP установлен дифференциальный режим, значение регистров конфигурации входов INxN игнорируются. Для входов INxN может быть установлен только однополярный режим.

Таблица 5. Modbus-регистры настройки измерительных каналов и получения измеренных значений
Адрес HEX Адрес DEC Тип Чтение/запись Значение по умолчанию Формат Назначение
Настройка измерительных каналов
0xX400 4096·X + 1024 holding RW 0 Таблица 3, таблица 4, 0 - выкл Тип датчика, подключенного к каналу INxP либо к INx в дифференциальном режиме (см. таблицы 3 и 4)
0xX401 4096·X + 1025 holding RW 0 Таблица 3, таблица 4, 0 - выкл Тип датчика, подключенного к каналу INxN (см. таблицы 3 и 4)
0xX402 4096·X + 1026 holding RW 20 20, 45, 90, 175, 330, 600, 1000 Data rate для каналов INxP либо INx в дифференциальном режиме, 1/с. Например, число 20 соответствует времени сэмплирования 1/20=0.05c.
0xX403 4096·X + 1027 holding RW 20 20, 45, 90, 175, 330, 600, 1000 Data rate для каналов INxN, 1/с.
0xX404 4096·X + 1028 holding RW 1 0 - 50 Число непрерывных измерений для каналов INxP либо INx в дифференциальном режиме
0xX405 4096·X + 1029 holding RW 1 0 – 50 Число непрерывных измерений для каналов INxN
0xX406 4096·X + 1030 holding RW 0 0 - 65000 Характерное время lowpass-фильтра для каналов INxP либо INx в дифференциальном режиме, мс
0xX407 4096·X + 1031 holding RW 0 0 - 65000 Характерное время lowpass-фильтра для каналов INxN, мс
0xX408 4096·X + 1032 holding RW 0 16-bit signed int Нижняя граница диапазона измерения активного датчика для каналов INxP либо INx в дифференциальном режиме
0xX409 4096·X + 1033 holding RW 0 16-bit signed int Нижняя граница диапазона измерения активного датчика для каналов INxN
0xX40A 4096·X + 1034 holding RW 10000 16-bit signed int Верхняя граница диапазона измерения активного датчика для каналов INxP либо INx в дифференциальном режиме
0xX40B 4096·X + 1035 holding RW 10000 16-bit signed int Верхняя граница диапазона измерения активного датчика для каналов INxN
0xX40C 4096·X + 1036 holding RW 0 0 (авто), 1, 2, 4, 8, 16, 32, 64, 128 Коэффициент усиления для каналов INxP либо INx в дифференциальном режиме
0xX40D 4096·X + 1037 holding RW 0 0 (авто), 1, 2, 4, 8, 16, 32, 64, 128 Коэффициент усиления для каналов INxN
Измеренные значения
0xX500 4096·X + 1280 input R 0 32-bit signed int Измеренное значение для канала INxP либо дифференциального канала INx
0xX502 4096·X + 1282 input R 0 32-bit signed int Измеренное значение для канала INxN
0xX504 4096·X + 1284 input R 0 16-bit signed int Пересчитанное в физическую величину значение для канала INxP либо дифференциального канала INx
0xX505 4096·X + 1285 input R 0 16-bit signed int Пересчитанное в физическую величину значение для канала INxN
0xX506 4096·X + 1286 input R 1 16-bit signed int Текущий коэффициент усиления для канала INxP либо дифференциального канала INx
0xX507 4096·X + 1287 input R 1 16-bit signed int Текущий коэффициент усиления для канала INxN
0x0600 1536 input R 0 16-bit signed int Напряжение на клеммах +5V, мВ
0x0601 1537 input R 0 16-bit signed int Температура внутри устройства, °C·100
Служебные регистры
0x7400-0x740D,

0x7500-0x7507, 0x8400-0x840D, 0x8500-0x8507

Регистры настроек и данных двух служебных калибровочных каналов. Описание см. в таблице выше.
0x0629 1577 input R 0 16-bit signed int Опорное напряжение AVCC, мВ
0x062A 1578 input R 0 16-bit signed int Сдвиг сопротивления 2-W, каналы 1-3, P, мОм
0x062B 1579 input R 0 16-bit signed int Сдвиг сопротивления 2-W, каналы 1-3, N, мОм
0x062C 1580 input R 0 16-bit signed int Сдвиг сопротивления 2-W, каналы 4-6, P, мОм
0x062D 1581 input R 0 16-bit signed int Сдвиг сопротивления 2-W, каналы 4-6, N, мОм
0x062E 1582 input R 0 16-bit unsigned int Счётчик циклов опроса входов
0x0610 1552 input R 0 16-bit unsigned int Длительность цикла опроса входов, мс
0x0800 - 0x80B 2048 - 2059 holding RW 16-bit signed int Калибровочные коэффициенты делителей для измерения большого напряжения, устанавливаются на заводе

Общие регистры

Общие для всех Modbus-устройств Wiren Board регистры
Адрес Параметры регистра Описание Значения
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 - включен
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 - отключен
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.
    


Регистры для хранения версии прошивки в устройствах с быстрым Modbus
Адрес Параметры регистра Описание Значения
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 формате