Системы автоматического контроля и сбора информации (SCADA)
Контроллер с программируемой логикой, ПЛК
Программируемый логический контроллер, ПЛК; англ.: programmable logic controller, сокр. PLC; более точный перевод на русский - контроллер с программируемой логикой), программируемый контроллер - электронная составляющая промышленного контроллера, специализированного (компьютеризированного) устройства, используемого для автоматизации технологических процессов. В качестве основного режима работы ПЛК выступает его длительное автономное использование, зачастую в неблагоприятных условиях окружающей среды, без серьёзного обслуживания и практически без вмешательства человека.
Иногда на ПЛК строятся системы числового программного управления станков.
ПЛК являются устройствами реального времени.
ПЛК имеют ряд особенностей, отличающих их от прочих электронных приборов, применяемых в промышленности:
в отличие от микроконтроллера (однокристального компьютера) - микросхемы, предназначенной для управления электронными устройствами - областью применения ПЛК обычно являются автоматизированные процессы промышленного производства в контексте производственного предприятия;
в отличие от компьютеров, ориентированных на принятие решений и управление оператором, ПЛК ориентированы на работу с машинами через развитый ввод сигналов датчиков и вывод сигналов на исполнительные механизмы;
в отличие от встраиваемых систем ПЛК изготавливаются как самостоятельные изделия, отдельные от управляемого при его помощи оборудования.
В системах управления технологическими объектами логические команды, как правило, преобладают над арифметическими операциями над числами с плавающей точкой, что позволяет при сравнительной простоте микроконтроллера (шины шириной 8 или 16 разрядов), получить мощные системы, действующие в режиме реального времени. В современных ПЛК числовые операции в языках их программирования реализуются наравне с логическими. Все языки программирования ПЛК имеют лёгкий доступ к манипулированию битами в машинных словах, в отличие от большинства высокоуровневых языков программирования современных компьютеров.
Содержание
1 История
2 Виды ПЛК
2.1 Основные ПЛК
2.2 Программируемое (интеллектуальные) реле
2.3 Программные ПЛК на базе IBM PC-совместимых компьютеров (англ. SoftPLC)
2.4 ПЛК на базе простейших микропроцессоров (i8088/8086/8051 и т. п.)
2.5 Контроллер ЭСУД
3 Структуры систем управления
4 Интерфейсы ПЛК
5 Удаленное управление и мониторинг
6 Языки программирования ПЛК
7 Программирование ПЛК
8 См. также
9 Литература
10 Примечания
11 Ссылки
История
Первые логические контроллеры появились в виде шкафов с набором соединённых между собой реле и контактов. Эта схема задавалась жёстко на этапе проектирования и не могла быть изменена далее. Первый в мире программируемый логический контроллер (1968) - Modicon 084 (от англ. modular digital controller), имевший 4 кБ памяти.
Термин PLC ввел Odo Josef Struger (Allen-Bradley) в 1971 году. Он также сыграл ключевую роль в унификации языков программирования ПЛК и принятии стандарта IEC61131-3. Вместе с Richard Morley (Modicon) их называют 'отцами ПЛК'. Параллельно с термином ПЛК в 1970-е годы широко использовался термин микропроцессорный командоаппарат.
В первых ПЛК, пришедших на замену релейным логическим контроллерам, логика работы программировалась схемой соединений LD. Устройство имело тот же принцип работы, но реле и контакты (кроме входных и выходных) были виртуальными, то есть существовали в виде программы, выполняемой микроконтроллером ПЛК. Современные ПЛК являются свободно программируемыми.
Виды ПЛК
Основные ПЛК
Siemens - SIMATIC S5 и S7;
Schneider Electric - серия Modicon (M168, M238, M258, M340, Premium, Quantum);
Beckhoff;
Segnetics - Pixel2511 и SMH 2Gi;
Mitsubishi - серия Melsec (FX, L, Q);
Honeywell - MasterLogic;
Omron CJ1, CJ2, CS1
Программируемое (интеллектуальные) реле
Основная статья: Программируемое реле
Siemens LOGO!,
Mitsubishi - серия Alpha XL,
Schneider Electric - Zelio Logic,
Omron - ZEN,
Moeller - EASY, MFD-Titan,
Comat BoxX.
ОВЕН ПР110 и ПР114
Delta Electronics DVP-SS2, DVP-SE, DVP-SA2, DVP-SV и DVP-PM
Программные ПЛК на базе IBM PC-совместимых компьютеров (англ. SoftPLC)
MicroPC,
WinCon,
WinAC,
CoDeSys SP/SP RTE,
S2 Netbox,
ICP DAS.
ПЛК на базе простейших микропроцессоров (i8088/8086/8051 и т. п.)
ICP DAS,
Advantech
Vishay PLC - одноплатный контроллер производства Vishay Israel Co.;
Контроллер ЭСУД
Электронный блок управления - Контроллер ЭСУД (Электронная система управления двигателем).
ECM (Engine Control Module) - Модуль управления двигателем.
ECU (Electronic Control Unit) - Электронный блок управления, является общим термином для любого электронного блока управления. (См. п.3.9. SAE J1979[1].)
Структуры систем управления
Централизованная: в корзину ПЛК устанавливаются модули ввода-вывода. Датчики и исполнительные устройства подключаются отдельными проводами непосредственно, либо при помощи модулей согласования к входам/выходам сигнальных модулей;
Распределенная: удалённые от ПЛК датчики и исполнительные устройства связаны с ПЛК посредством каналов связи и, возможно, корзин-расширителей с использованием связей типа <ведущий-ведомый> (англ. Master-Slave).
Интерфейсы ПЛК
См. также: Промышленная сеть
RS-232
RS-485
ModBus
ProfiBus
DeviceNet
ControlNet
CAN
AS-Interface
Промышленный Ethernet
Удаленное управление и мониторинг
SCADA
операторскими панелями
Языки программирования ПЛК
Для программирования ПЛК используются стандартизированные языки МЭК (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) или универсальными, работающими с несколькими (но далеко не всеми) типами контроллеров:
CoDeSys
ISaGRAF
ИСР "КРУГОЛ"
Beremiz
KLogic
Программирование ПЛК
Конфигурируемые: В ПЛК хранится несколько программ, а через клавиатуру ПЛК выбирается нужная версия программы.
свободно программируемые: программа загружается в ПЛК через его специальный интерфейс с Персонального компьютера используя специальное ПО производителя, иногда с помощью программатора
См. также
Микроконтроллер
Промышленный контроллер
Промышленная автоматика
Литература
Мишель Ж. Программируемые контроллеры: архитектура и применение. - М.: Машиностроение, 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.
Знаете ли Вы, что компонентное сборочное программирование - это объектно-ориентированное сборочное программирование, основанное на распространении классов в бинарном виде и предоставление доступа к методам класса через строго определенные интерфейсы. Компонентное сборочное программирование поддерживают технологические подходы COM, CORBA, .Net.