Групповое чтение регистров MODBUS TCP

Добрый день. А как настроить в WB групповое чтение регистров? Пытаюсь прочитать 6 регистров, расположенных подряд через MODBUS TCP порт. Режим непрерывного чтения включён. Минимальное число регистров за 1 запрос - 6. Минимальный интервал между запросами к устройству - 1 сек. Один из регистров - секундомер. И судя по его показаниям, регистры читаются по одному, т.к. его показания меняются раз в 6-7 секунд.
wb-mqtt-serial_20250916T104251.log (35,7 КБ)

Добрый день!

минимальный или максимальный?

Смотрю ваш лог. По времени видно, что обращается к устройству с адресом 0a раз в секунду, запрашивает шесть holding регистров, но почему-то по разным адресам: 0202, 0203, 0204, 0205, 0206, 0207. При этом устройство каждый раз возвращает значение шести регистров, начиная с указанного. По значениям регистров, которые возвращает, можете увидеть, что они как бы сдвигаются влево с каждым запросом.

Прикрепите диагархив, пожалуйста, и опишите подробнее, как настраивали чтение, может со скриншотом.

Для наглядности расшифровка смысловой части запроса к устройству

Подскажите, требуется ли ещё наша помощь? Удалось ли решить вопрос?

diag_output_AXXHXUH7_2025-09-18-07.57.55.zip (283,0 КБ)


Настройки - на скриншоте.

Регистры идут подряд. Настройки идентичные.
Режим непрерывного чтения включен.

Обновление параметра Sec идет 1 раз в 6 секунд, что, на мой взгляд, соответствует последовательному чтению регистров.
Или я чего-то не понимаю.

Посоветовалась с коллегами.

Попробуйте поставить максимальное число регистров за один запрос - 6, а минимальное число регистров за один запрос -1.

Функция непрерывного чтения только для устройств Wiren Board.

Как я понял групповое чтение регистров не работает, если есть промежутки даже в 1 регистр (не WB устройства), или если для канала включена периодичность опроса. У меня были включены периоды опроса для каналов, поэтому регистры читались по одному.

Для истории отмечу, что читалось по шесть, как написала в первом своём сообщении.

Сначала 0x202 и пять за ним, потом 0x203 и пять за ним и так далее шесть раз - раз в секунду - цикл шесть секунд.

Предполагаю, что из-за уменьшения периода опроса, цикл теперь занимает гораздо меньше, чем 6 секунд, поэтому проблема решилась.

Проблема решилась удалением периода опроса для каналов. При включенном периоде опроса для канала, регистры всё равно читаются по одному.