Добрый день. А как настроить в 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 секунд, поэтому проблема решилась.
Проблема решилась удалением периода опроса для каналов. При включенном периоде опроса для канала, регистры всё равно читаются по одному.


