Как в PMP20 обновить вход или выход немедленно?

Проверено экспертом Опубликовано: 20.12.2024 Обновлено: 12.05.2025 1845 просмотров Помогло 92%

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

Где это нужно:

  • Длинный цикл сканирования. Если программа объёмная и цикл достигает десятков миллисекунд, между появлением сигнала и реакцией выхода проходит до двух циклов. Для отсечки, отрезки, остановки по метке эта задержка уже критична.
  • Внутри подпрограммы прерывания. Прерывание отрабатывает между циклами, и образ процесса в этот момент не обновляется. Чтение обычной командой даст состояние на начало цикла, а не фактическое.
  • Ожидание внутри одной цепи. Когда программа в цикле ждёт изменения сигнала, обычная команда всегда читает одно и то же значение — образ не меняется до конца цикла.

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

Что учесть при отладке: значение, прочитанное немедленной командой, может отличаться от того, что показывает монитор среды, — монитор отображает образ процесса. Это нормально и не является ошибкой.

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

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

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

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

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

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

Вопрос из раздела Как в PMP20 обновить вход или выход немедленно?