Зачем в PMP20 включать поддержание сетевого соединения?

Проверено экспертом Опубликовано: 20.02.2026 552 просмотра Помогло 74%

Соединение с установлением соединения устроено так, что обрыв линии сам по себе не заметен: пока никто ничего не передаёт, обе стороны считают связь живой. Поэтому в блоке параметров сокета есть отдельное поле — поддержание соединения. Нулевое значение выключает функцию, ненулевое включает.

Что происходит при включённой функции. Контроллер периодически отправляет удалённой стороне служебное сообщение поддержания связи. Если ответа нет, узел считается недоступным, и контроллер поднимает флаг нештатной ситуации соединения. Время срабатывания — от одной до пяти минут.

Именно этот флаг и делает функцию полезной: по нему строится восстановление связи. Стандартная схема из руководства — закрыть сокет и открыть его заново, когда флаг нештатной ситуации поднялся. Без такой обработки контроллер после выдёргивания патч-корда останется с «мёртвым» сокетом, а данные в регистрах замрут на последних принятых значениях — самый опасный вид отказа, потому что на экране всё выглядит рабочим.

Что учесть при проектировании. Задержка обнаружения в одну–пять минут для управляющих связей слишком велика. Если по сети идут команды или блокировки, делайте собственный контроль: счётчик, который контроллер шлёт в удалённое устройство и читает обратно, либо признак свежести данных по времени последнего успешного приёма. Поддержание соединения тогда остаётся страховкой второго уровня — оно закрывает случай, когда линия оборвалась, а обмена в этот момент не было.

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

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

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

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

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

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

Вопрос из раздела Зачем в PMP20 включать поддержание сетевого соединения?