Производство по чертежам Подбор аналогов Цены производителя Оригинальная продукция в короткие сроки
INNERпроизводство и поставка промышленных комплектующих и оборудования
Бесплатно Личный кабинет — избранное и расчёты ★ Регистрация →
Новинка Симуляторы и тренажёры — ЧПУ, допуски, ПИД Попробовать →
Правовая информация →

INNER
Контакты

Как работает цикл сканирования ПЛК

  • 14.07.2026
  • Принцип работы

Цикл сканирования ПЛК — это повторяющаяся последовательность операций, которую программируемый логический контроллер выполняет в рабочем режиме: чтение входов, выполнение прикладной программы и запись выходов. Абсолютное большинство контроллеров работают именно по методу периодического опроса (сканирования): ПЛК опрашивает входы, отрабатывает пользовательскую программу и устанавливает нужные значения на выходах, после чего цикл повторяется. Понимание того, как работает цикл сканирования, необходимо для корректной обработки сигналов, оценки времени реакции и настройки защиты по сторожевому таймеру.

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

Содержание статьи
Принцип работы

Что такое цикл сканирования ПЛК

В рабочем режиме (RUN) контроллер не обрабатывает сигналы «на лету» непрерывно, а действует тактами. Один такой такт — рабочий цикл (цикл сканирования, scan): контроллер считывает состояние входов, один раз проходит прикладную программу и обновляет выходы. Завершив цикл, ПЛК немедленно начинает следующий. В режиме STOP программа не исполняется, а выходы переводятся в заданное безопасное состояние.

Ключевая особенность: программа работает не с физическими клеммами напрямую, а с их копией в памяти — образом процесса.

Образ процесса

Перед выполнением программы состояние всех физических входов копируется во внутреннюю область памяти — образ процесса на входах. Всю итерацию программа читает именно эту копию, поэтому в пределах одного цикла значение входа стабильно и не «дрожит». Результаты программа пишет в образ процесса на выходах, и уже он в конце цикла переносится на физические выходы. Такой подход обеспечивает целостность данных: логика оперирует согласованным «снимком» входов, снятым в начале цикла.

Прямое следствие модели образа процесса: изменение входа, произошедшее после его чтения, контроллер «увидит» только в следующем цикле. Это нормальное поведение сканирующего ПЛК, и его нужно учитывать при работе с быстрыми сигналами.

Наверх
Последовательность

Фазы рабочего цикла

Базовое ядро цикла — три фазы: чтение входов, выполнение программы, запись выходов. К ним добавляются служебные операции (самодиагностика, сброс сторожевого таймера) и обслуживание связи. Порядок и состав служебных фаз зависят от системного ПО конкретного контроллера, но ядро «входы → программа → выходы» неизменно.

  1. Служебные операции. Самодиагностика, контроль памяти и модулей, сброс сторожевого таймера, обновление системных часов и таймеров.
  2. Чтение входов. Состояние физических входов фиксируется в образе процесса на входах.
  3. Выполнение программы. Прикладная программа обрабатывается по образу входов; результаты записываются в образ выходов.
  4. Запись выходов. Значения из образа выходов передаются на физические выходные каналы.
  5. Обслуживание связи. Обмен с ЧМИ, сетевыми устройствами и средствами программирования и отладки.
ФазаЧто происходитС чем работает
Чтение входовопрос физических входов и обновление их образафизические входы, образ входов
Выполнение программыоднократный проход прикладной программыобраз входов, память, образ выходов
Запись выходовперенос рассчитанных значений на клеммыобраз выходов, физические выходы
Служебные операции и связьдиагностика, watchdog, коммуникациисистемные ресурсы, интерфейсы

Чтение входов

Контроллер копирует текущее состояние дискретных и аналоговых входов в образ процесса. Далее программа обращается только к этой копии. Поэтому кратковременный сигнал будет воспринят, лишь если он присутствовал на входе в момент фазы чтения.

Выполнение программы

Прикладная программа исполняется по порядку, от начала к концу, один раз за цикл. В моделях языков по стандарту программа может состоять из функций и функциональных блоков, выполняемых под управлением задач. Все обращения к входам и выходам внутри прохода идут через образ процесса, а не к физическим каналам.

Запись выходов

По завершении прохода программы значения из образа выходов разом переносятся на физические выходные модули. Пока цикл не дошёл до этой фазы, изменения в образе выходов на клеммах не появляются.

Наверх
Быстродействие

Время цикла

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

Объём программы
чем больше инструкций отрабатывается за проход, тем дольше цикл
Число каналов ввода-вывода
влияет на длительность фаз чтения и записи
Производительность процессора
определяет скорость обработки инструкций
Ветвления и вызовы
условная логика и подпрограммы меняют путь и длину прохода
Коммуникации
обмен с сетью и ЧМИ добавляет служебное время

Время цикла у промышленных ПЛК обычно измеряется миллисекундами, но конкретная величина зависит от перечисленных факторов и указывается в документации на контроллер и его конфигурацию. Поскольку путь исполнения от прохода к проходу может меняться (разные ветвления, обработка связи), время цикла не строго постоянно — его колебание называют джиттером. Для задач, чувствительных к равномерности, применяют циклические задачи с заданным периодом.

Правило контроля сигналов: длительность входного сигнала должна превышать время цикла. Импульс короче цикла может прийтись на промежуток между фазами чтения и остаться незамеченным программой.

Наверх
Защита

Сторожевой таймер (watchdog)

Сторожевой таймер (watchdog) контролирует, что рабочий цикл укладывается в отведённое максимальное время. В штатной работе контроллер регулярно сбрасывает таймер в начале каждого цикла. Если из-за зацикливания, чрезмерно длинной обработки или аппаратного сбоя цикл не завершается вовремя и сброс не происходит, сторожевой таймер срабатывает.

По срабатыванию watchdog контроллер фиксирует ошибку и переходит в безопасное состояние: как правило, останавливает выполнение программы и переводит выходы в заданное безопасное значение. Это защищает управляемое оборудование от «зависшего» контроллера, у которого выходы застыли бы в произвольном положении.

Ошибка в логике создала условие, при котором проход программы не завершается (например, бесконечный цикл в подпрограмме). Сброс сторожевого таймера не выполняется, таймаут истекает — ПЛК останавливается и обесточивает выходы, вместо того чтобы удерживать исполнительные механизмы в непредсказуемом состоянии.

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

Наверх
Практика

Влияние на быстродействие

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

ФакторВлияние на реакцию
Рост объёма программыувеличивает время цикла и задержку отклика
Короткий входной импульсможет быть пропущен, если короче времени цикла
Тяжёлые коммуникацииудлиняют служебные фазы, увеличивают джиттер
Оптимизация логикисокращает проход и повышает быстродействие

Как обходят ограничения цикла

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

  1. Аппаратные прерывания. Событие на специальном входе вызывает обработчик немедленно, не дожидаясь очередной фазы чтения.
  2. Прямой доступ к входу-выходу. Чтение или запись конкретного канала прямо в программе, минуя образ процесса.
  3. Скоростные счётчики. Аппаратный подсчёт импульсов, частота которых превышает возможности программного опроса.

Эти средства снимают ограничения там, где они критичны, но усложняют логику, поэтому применяются точечно — для действительно быстрых сигналов, а не для всей программы.

Наверх
Как работает цикл сканирования ПЛК простыми словами?

Контроллер повторяет один и тот же такт: считывает входы в память, один раз проходит программу, обновляет выходы, затем начинает цикл заново. Программа при этом работает с копией входов и выходов (образом процесса), а не с клеммами напрямую.

Что такое образ процесса и зачем он нужен?

Это копия состояния входов и выходов в памяти контроллера. Входы копируются в образ в начале цикла, программа работает с этой копией, а образ выходов переносится на клеммы в конце. Так обеспечивается целостность данных: в пределах цикла значения не меняются, и логика оперирует согласованным снимком.

От чего зависит время цикла?

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

Почему короткий сигнал может быть пропущен?

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

Зачем в ПЛК сторожевой таймер?

Сторожевой таймер следит, что цикл завершается за отведённое время. Если контроллер «завис» и вовремя не сбросил таймер, watchdog срабатывает и переводит ПЛК в безопасное состояние с остановкой программы и переводом выходов в заданное значение. Это защищает оборудование от последствий отказа контроллера.

Чем отличается режим RUN от STOP?

В режиме RUN контроллер циклически исполняет прикладную программу и обновляет выходы. В режиме STOP программа не выполняется, а выходы переводятся в заданное безопасное состояние; этот режим используется при загрузке, отладке и при обнаружении критических ошибок.

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

Источники

  1. ГОСТ Р МЭК 61131-1-2016 — Контроллеры программируемые. Часть 1. Общая информация.
  2. ГОСТ IEC 61131-2-2012 — Контроллеры программируемые. Часть 2. Требования к оборудованию и испытания.
  3. ГОСТ Р МЭК 61131-3-2016 — Контроллеры программируемые. Часть 3. Языки программирования.
  4. Петров И. В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования. — Серия «Библиотека инженера».
  5. Руководства по системному программному обеспечению программируемых логических контроллеров.

© Компания Иннер Инжиниринг. Все права защищены.

Появились вопросы?

Вы можете задать любой вопрос на тему нашей продукции или работы нашего сайта.