Программируемые логические контроллеры (ПЛК) можно перевести в режим «Пуск» (Run) или «Стоп» (Stop), а иногда и в режим «Программирование» (Program) обычно с помощью физических или виртуальных методов. Но что означают эти режимы и когда их следует использовать?

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

Загрузка программ в память (режим остановки)

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

ПЛК только с режимами пуска и остановки:

Рисунок. 1. ПЛК, имеющий только режимы «Пуск» (Run) и «Стоп» (Stop) в качестве опций физического переключателя
Рисунок. 1. ПЛК, имеющий только режимы «Пуск» (Run) и «Стоп» (Stop) в качестве опций физического переключателя

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

Что на самом деле происходит в режиме Стоп?

Когда ЦП находится в режиме остановки он продолжает регистрировать входные сигналы. Вы по‑прежнему увидите, что светодиоды входного модуля светятся, когда на датчик/кнопку подается питание. Вы также увидите все входные инструкции в релейной логике, отражающие их реальное состояние пока включена функция мониторинга. Однако в режиме остановки ЦП не выполняет логику и не обновляет выходные данные. Другими словами, он просто наблюдает и ждет, ничего не делая.

Не путайте режим «Стоп» с «Выкл» или «Пауза». ПЛК, безусловно, все еще работает, и при возвращении в режим работы он перезапустит логику и инициализирует любые переменные/теги, как если бы он был включен.

Неисправности (режим Стоп)

Ряд сбоев может привести к переводу ЦП в режим остановки. Не все неисправности могут инициировать остановку, но все серьезные неисправности, связанные с ЦП вызывают остановку. Если ЦП не обнаруживает модуль ввода‑вывода, это может быть просто неисправность ввода‑вывода, которая не приведет к принудительной остановке, но большинство событий, которые вызывают появление красного светодиода «неисправность» на процессоре, скорее всего также будут отражены как остановить событие. После устранения ошибок контроллеру может потребоваться ручной возврат в режим «Пуск» (Run), чтобы снова начать выполнение программы.

Выполнение логики в режиме Run

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

Ручное переключение на ЦП всегда переводит ПЛК в режим остановки, независимо от того, что говорит программное обеспечение — что‑то вроде кнопки аварийной остановки. Возврат переключателя в режим выполнения будет эффективным, но только в том случае, если программное обеспечение также переводит программу в режим выполнения.

Выбор режима онлайн или режима работы:

Рисунок 2. Подключения Online/Offline (выделено зеленым) полностью отличаются от выбора режима работы (выделено красным).
Рисунок 2. Подключения Online/Offline (выделено зеленым) полностью отличаются от выбора режима работы (выделено красным).

Могу ли я просто перейти в автономный режим, чтобы остановить ПЛК?

Для удаленного изменения режима из программного обеспечения требуется подключение к ПЛК в режиме онлайн. Если вы «отключитесь» от ПЛК, это НЕ переведет ПЛК в режим остановки. Более того, вы больше не сможете удаленно менять режимы, пока соединение не будет восстановлено. Переход в автономный режим абсолютно не помешает ПЛК выполнять команды.

Существует ли более трех режимов работы?

Не все ПЛК имеют одинаковые два режима работы; некоторые имеют три опции выбора режима на физическом переключателе ЦП: Prog, Run и Rem (дистанционное управление). Однако, например, среда разработки Rockwell Studio и Logix Designer имеют другой набор из трех режимов (рис. 3): «Программирование», «Выполнение» и «Тест» … но что означает переключение этих действий?

Режим работы в отличие от режима удаленного запуска:

Рисунок 3. Run, Rem и Prog позволяют пользователю блокировать или разрешать онлайн-редактирование, а также переводить ПЛК в режим остановки
Рисунок 3. Run, Rem и Prog позволяют пользователю блокировать или разрешать онлайн-редактирование, а также переводить ПЛК в режим остановки

До сих пор мы называли режим остановки программным режимом. Это позволяет ПЛК загрузить программу, но также останавливает выполнение программы внутри ЦП. Другими словами, Prog — это то же самое, что и Stop для других марок.

В чем разница между режимами запуска и удаленного управления?

Переключив тумблер (CompactLogix) или ключ (ControlLogix) на передней панели ЦП, системные инженеры могут определить, заблокирован ли ЦП от любых удаленных изменений или онлайн‑редактирования. Режим выполнения (Run) ограничивает ЦП и не позволяет редактировать программу в режиме онлайн. Чаще всего ПЛК следует оставить в режиме Rem, который по‑прежнему будет выполнять программу, но позволит вносить изменения через онлайн‑соединение. Мониторинг тегов и логики по‑прежнему можно выполнять в режиме Run.

Если ПЛК работает правильно через установленное онлайн соединение, но вы не можете вносить какие‑либо изменения в программу, убедитесь, что переключатель находится в режиме Rem.

Этот функционал может использоваться в другой терминологии. Например, на некоторых ПЛК Direct Logic переключатель позволяет использовать положение Term или «удаленный терминал», которое позволяет редактировать данные в режиме онлайн, тогда как Run обеспечивает режим только чтения для мониторинга, но без внесения изменений.

Term или терминальный режим для программирования онлайн:

Рисунок 4. Терминальный режим означает то же, что и Rem, позволяет ПЛК принимать онлайн-редактирование
Рисунок 4. Терминальный режим означает то же, что и Rem, позволяет ПЛК принимать онлайн-редактирование

В чем разница между программным и тестовым режимами?

Тестовый режим можно рассматривать как комбинацию программного режима (когда на выходы не подается питание, а смешивается с режимом работы), где фактически выполняется логика. Если вы подаете питание на реальные устройства ввода, ступени релейной схемы будут выполняться, но на выходы не будет подавать питание.

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

Другие режимы и функции ПЛК

Некоторые ПЛК предлагают третий вариант, при котором переключатель на ЦП сам по себе является не режимом работы, а скорее функцией сброса для устранения ошибок или установки параметров после крупных обновлений оборудования. Обычно это обозначается кнопкой Reset в качестве положения переключателя.

Сброс положения переключателя на некоторых ПЛК:

Рисунок 5. Третья позиция сброса, как показано на некоторых ПЛК
Рисунок 5. Третья позиция сброса, как показано на некоторых ПЛК

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

Комментарии (2)


  1. 9982th
    30.11.2023 14:40
    +1

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


  1. Siemargl
    30.11.2023 14:40

    Собственно, непонятно, в чем смысл статьи.

    Вкратце - ПЛК это железка с ОС, в которой интерпретируется загружаемая программа пользователя.

    Так вот последняя может изменяться, в т.ч кусками, может ставиться на паузу, может работать в отладочном режиме, а может в тестовом (когда работает старая версия, а новая - просмотр результатов).

    Всё