Что делает PMP20, если ведомый не ответил на запрос Modbus?

Проверено экспертом Опубликовано: 13.03.2026 Обновлено: 15.05.2026 591 просмотр Помогло 82%

Контроллер повторяет запрос дважды. Если и третья попытка не удалась, обмен завершается, признак занятости порта снимается, а причина остаётся в регистре результата — программа должна сама решить, что делать дальше.

Как это устроено:

  1. Команда обмена запускается по нарастающему фронту условия. Постоянно замкнутое условие не заставляет запрос повторяться — новый обмен начнётся только после нового фронта.
  2. При неудаче контроллер сам делает два повтора. Число повторов настраивается в блоке параметров порта в диапазоне 0…5, заводское поведение — два повтора.
  3. После третьей неудачной попытки обмен считается завершённым с ошибкой. Код причины лежит в регистре результата порта, признак занятости порта выключается.

Что из этого следует для программы. Опрос строят циклически: по признаку занятости порта видно, что предыдущий запрос закончился, и только тогда подаётся фронт на следующий. Без этого запросы накладываются друг на друга и обмен разваливается на первой же помехе.

Обработка отказов отдельная: одиночная ошибка на линии RS-485 в шкафу с преобразователями частоты — нормальное явление, поэтому аварию по связи выставляют не по первому сбою, а по счётчику подряд идущих неудач. Разумный порог — три-пять неуспешных циклов опроса подряд, после чего прибор помечается как недоступный, а его данные в логике замораживаются или считаются недостоверными.

Отдельно учитывайте тайм-аут ответа: он задаётся в параметрах порта, и при опросе медленных приборов слишком короткое значение даёт постоянные повторы там, где связь исправна.

Прикреплённая документация

Георгий Жуков Георгий Жуков Ведущий инженер

Этот ответ был полезен?

Не нашли ответ?

Инженер сервисной службы ответит на почту. Вопросы, которые повторяются, мы публикуем в базе знаний — без ваших контактов.

Вопрос из раздела Что делает PMP20, если ведомый не ответил на запрос Modbus?