Wb-mai6 вопрос

Добрый день. Вопрос по командам чтения MAI6.

блок отвечает и на 03 и на 04 команды чтения, хотя по мануалу только input указан. Возможно ли использование команды 03 для корректной работы с MAI6? Не вызовет ли это каких-либо ограничений при считывании параметров?

Добрый день.
Вы привели скриншот регистров модуля WB-MCM8
Да, в случае если в модуле нет регистров с одинаковыми адресами, например если бы был еще и holding с аналогичным адресом - чтение бы отличалось.
Ну и если включен “Режим непрерывного чтения регистров с зазором” - то чтение даже по несуществующему адресу не даст ошибку.

Такое поведение не заявлено явно, может перестать работать в следующих версиях прошивки. То есть да, использовать можно - но я бы не рекомендовал.

1 Like

Добрый день, У меня появился еще вопрос по теме mai6, сейчас подключили термопару тип К, все настроили, значения температуры из регистра 1504 (пересчитанное в физ. величину) приходят исправно, но в формате nn,n, как увеличить разрядность до сотых? nn,nn? так же возник вопрос, почему в контроллере напряжение измеренное на канале -0,0001 в?

В регистре устройства, в данном случае input 0x1500 температура представлена именно в десятых градуса.
Это меньше погрешности устройства.

Из описания типа датчика:
Термометры с термопарой К-типа (хромель-алюмель) генерируют собственное напряжение (сигнал) в милливольтах, пропорциональное температуре, обычно от -6,5мВ до 55 мВ в диапазоне температур, соответственно от -27 до 1370.
То есть какое напряжение ожидаете при текущей температуре? Оно отличается от измеряемого?

На скриншоте из веб интерфейса контроллера в моем вопросе, видно все данные IN 1 Напряжение -0,0001 в, при этом температура 23 град. Причем замечено, что напряжение не меняется в принципе. В скрине видно.

Исходя из таблицы на сайте документации должно при 23 град должно быть 0.919

Тип K при 23 - да, согласен.
0,1мВ - неожиданно.
При этом


значение должно быть в мкВ.
Да, думаю завтра подключу и проверю.

Получилось проверить?

Да, воспроизводится:


Значение соответствует отображаемому.

modbus_client_rpc --debug -mrtu -b115200 -pnone -s1 /dev/ttyRS485-1 -a0xd -t0x03 -r 0x6500 -c2
2026-02-18 12:57:36,068 [DEBUG] [0d][03][65][00][00][02][da][0b]
...
2026-02-18 12:57:37,115 [DEBUG] Response: 0d0304ffffffa9b799
2026-02-18 12:57:37,116 [DEBUG] <0d><03><04><ff><ff><ff><a9><b7><99>
SUCCESS: read 2 elements:
	Data: 0xffff 0xffa9 

Спрошу у разработчиков.

По таблице 24 градуса это 0.960 в, у вас на скрине -0,0002, как то странно все это. Ладно, пойду посмотрю что показывает modbus poll

Да, все верно. Описал багу и отдал разработчикам.

Это, с напряжением, как выяснилось даже не бага.
Выводится в регистр “сырых данных”, который назван “Напряжение” именно разница между холодным спаем и рабочим.
То есть при равной температуре между рабочим и холодным - да, будет ноль.
Подумаю как записать в документацию чтобы было понятнее.

Допустим, тогда в таком случае, как мне получить значения температуры с 2 знаками после запятой? Пересчитывать “Сырые значения” по приведенной формуле?

В документации температура описана как


В регистре значение - до десятых градуса.

Нет, точность будет той же.
Иными словами - для реальной точности в сотые градуса нужно другое устройство.
Наишите пожалуйста - какое количество в год планируется использовать?

Данные модули мы приобретаем на постоянной основе (по количеству в год не могу подсказать), но основное его использование, это преобразование сигнала 4…20 мА, в данный момент использование ТХА исключение (все по мере необходимости). В целом, если исправление данной задачи трудоемко и долго, то на данный момент можно этим не заморачиваться. Если говорить в целом на перспективу, то имеются проекты на просчете, в котором требуется измерение ТХА в сотых, (по количеству минимум 14).

Да, записал в пожелания, конечно.
При следующей итерации доработок WB-MAI6 они соберутся вместе и, скорее всего будет реализованы.