Программируемый логический контроллер

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Широко применяемый контроллер с программируемой логикой семейства SIMATIC S7-300

Программи́руемый логи́ческий контро́ллер (сокр. ПЛК; англ. programmable logic controller, сокр. PLC; более точный перевод на русский — контроллер с программируемой логикой), программируемый контроллер — электронная составляющая промышленного контроллера, специализированного (компьютеризированного) устройства, используемого для автоматизации технологических процессов. В качестве основного режима работы ПЛК выступает его длительное автономное использование, зачастую в неблагоприятных условиях окружающей среды, без серьёзного обслуживания и практически без вмешательства человека.

Иногда на ПЛК строятся системы числового программного управления станков.

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

ПЛК имеют ряд особенностей, отличающих их от прочих электронных приборов, применяемых в промышленности:

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

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

История[править | править вики-текст]

Первые логические контроллеры появились в виде шкафов с набором соединённых между собой реле и контактов. Эта схема задавалась жёстко на этапе проектирования и не могла быть изменена далее. Первым в мире, программируемым логическим контроллером, в 1968 году стал Modicon 084 (1968) (от англ. modular digital controller), имевший 4 кБ памяти.

Термин PLC ввел Odo Josef Struger (Allen-Bradley) в 1971 году. Он также сыграл ключевую роль в унификации языков программирования ПЛК и принятии стандарта IEC61131-3. Вместе с Richard Morley (Modicon) их называют 'отцами ПЛК’. Параллельно с термином ПЛК в 1970-е годы широко использовался термин микропроцессорный командоаппарат.

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

Виды ПЛК[править | править вики-текст]

Основные ПЛК[править | править вики-текст]

Программируемое (интеллектуальные) реле[править | править вики-текст]

Программные ПЛК на базе IBM PC-совместимых компьютеров (англ. SoftPLC)[править | править вики-текст]

ПЛК на базе простейших микропроцессоров (i8088/8086/8051 и т. п.)[править | править вики-текст]

Контроллер ЭСУД[править | править вики-текст]

  • Электронный блок управления — Контроллер ЭСУД (Электронная система управления двигателем).
  • ECM (Engine Control Module) — Модуль управления двигателем.
  • ECU (Electronic Control Unit) — Электронный блок управления, является общим термином для любого электронного блока управления. (См. п.3.9. SAE J1979[1].)

Структуры систем управления[править | править вики-текст]

  • Централизованная: в корзину ПЛК устанавливаются модули ввода-вывода. Датчики и исполнительные устройства подключаются отдельными проводами непосредственно, либо при помощи модулей согласования к входам/выходам сигнальных модулей;
  • Распределенная: удалённые от ПЛК датчики и исполнительные устройства связаны с ПЛК посредством каналов связи и, возможно, корзин-расширителей с использованием связей типа «ведущий-ведомый» (англ. Master-Slave).

Интерфейсы ПЛК[править | править вики-текст]

Удаленное управление и мониторинг[править | править вики-текст]

Языки программирования ПЛК[править | править вики-текст]

Для программирования ПЛК используются стандартизированные языки МЭК (IEC) стандарта IEC61131-3

Языки программирования (графические)

  • LD (Ladder Diagram) — Язык релейных схем — самый распространённый язык для PLC
  • FBD (Function Block Diagram) — Язык функциональных блоков — 2-й по распространённости язык для PLC
  • SFC (Sequential Function Chart) — Язык диаграмм состояний — используется для программирования автоматов
  • CFC (Continuous Function Chart) — Не сертифицирован IEC61131-3, дальнейшее развитие FBD

Языки программирования (текстовые)

  • IL (Instruction List) — Ассемблеро-подобный язык
  • ST (Structured Text) — Паскале-подобный язык

Структурно в IEC61131-3 среда исполнения представляет собой набор ресурсов (в большинстве случаев это и есть ПЛК, хотя некоторые мощные компьютеры под управлением многозадачных ОС представляют возможность запустить несколько программ типа softPLC и имитировать на одном ЦП несколько ресурсов). Ресурс предоставляет возможность исполнять задачи. Задачи представляют собой набор программ. Задачи могут вызываться циклически, по событию, с максимальной частотой.

Программа — это один из типов программных модулей POU. Модули (Pou) могут быть типа программа, функциональный блок и функция. В некоторых случаях для программирования ПЛК используются нестандартные языки, например: Блок-схемы алгоритмов Си-ориентированная среда разработки программ для ПЛК. HiGraph 7 — язык управления на основе графа состояний системы.

Инструменты программирования ПЛК на языках МЭК 61131-3 могут быть специализированными для отдельного семейства ПЛК (например, STEP 7 для контроллеров SIMATIC S7-300/400) или универсальными, работающими с несколькими (но далеко не всеми) типами контроллеров:

Программирование ПЛК[править | править вики-текст]

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

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

  • считывание входных сигналов, в том числе манипуляций, например, на клавиатуре оператором;
  • вычисления выходных сигналов и проверка логических условий;
  • выдача управляющих сигналов и при необходимости управление индикаторами интерфейса оператора.

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

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

См. также[править | править вики-текст]

Литература[править | править вики-текст]

  • Мишель Ж. Программируемые контроллеры: архитектура и применение. — М.: Машиностроение, 1986
  • Э. Парр. Программируемые контроллеры: руководство для инженера. — М.: БИНОМ. Лаборатория знаний, 2007. — 516 с. ISBN 978-5-94774-340-1
  • Петров И. В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования / Под ред. проф. В. П. Дьяконова. — М.: СОЛОН-Пресс, 2004. — 256 c. ISBN 5-98003-079-4
  • Денисенко В. В. Компьютерное управление технологическим процессом, экспериментом, оборудованием. — М: Горячая Линия-Телеком, 2009. — 608 с. ISBN 978-5-9912-0060-8
  • Минаев И. Г. Программируемые логические контроллеры. Практическое руководство для начинающего инженера. /И. Г. Минаев, В. В. Самойленко — Ставрополь: АГРУС, 2009. — 100 с. ISBN 978-5-9596-0609-1
  • Минаев И. Г. Программируемые логические контроллеры в автоматизированных системах управления / И. Г. Минаев, В. М. Шарапов, В. В. Самойленко, Д. Г. Ушкур. 2-е изд., перераб. и доп. — Ставрополь: АГРУС, 2010. — 128 с. ISBN 978-5-9596-0670-1
  • О. А. Андрюшенко, В. А. Водичев. Электронные программируемые реле серий EASY и MFD-Titan. — 2-е изд., испр. — Одесса: Одесский национальный политехнический университет, 2006. — С. 223.

Примечания[править | править вики-текст]


Ссылки[править | править вики-текст]