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

Массово применяемый программируемый логический контроллер семейства SIMATIC S7-300

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

Иногда на ПЛК строятся системы числового программного управления станком (ЧПУ,англ. Computer numerical control, CNC).

ПЛК являются устройствами реального времени.

В отличие от:

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

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

Первый в мире ПЛК — MOdular DIgital CONtroller (Modicon) 084, имеющий память 4 кБ, произведен в 1968 году.

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

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

Виды ПЛК

Продукты фирмы Allen-Bradley

Основные ПЛК

Программируемое (интеллектуальные) реле

 

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

 

Распределённые системы управления SCADADCS
Интерфейсы ПЛК

ПЛК в своём составе не имеют интерфейса для человека, типа клавиатуры и дисплея. Их программирование, диагностика и обслуживание производится подключаемыми для этой цели программаторами — специальными устройствами или устройствами на базе более современных технологий — персонального компьютера или ноутбука, со специальными интерфейсами и со специальным программным обеспечением (например, SIMATIC STEP 7 в случае ПЛК SIMATIC S7-300 или SIMATIC S7-400). В системах управления технологическими процессами ПЛК взаимодействуют с различными компонентами систем человеко-машинного интерфейса (например операторскими панелями) или рабочими местами операторов на базе ПК, часто промышленных, обычно через промышленную сеть.

Датчики и исполнительные устройства подключаются к ПЛК:

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

Коммуникации

  • RS-232
  • RS-485
  • ProfiBus
  • DeviceNet
  • ControlNet
  • CAN
  • AS-Interface
  • Промышленный Ethernet

Специальное использование

Для увеличения надёжности системы управления, построенной на ПЛК, применяется резервирование разных компонентов: шасси, источников питания, самих контроллеров.

Также, выпускаются специальные линейки продуктов: например Siemens, или Allen-Bradley выпускает всю линейку (ввод-вывод, интерфейсные модули и т.д. дополнительно к самим CPU).

    • Резервирование в AB PLC ControLogix

  • Отказобезопасная и Отказоустойчивая конфигурации AB PLC ControLogix

Языки программирования ПЛК

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

  • Языки программирования для инженеров по автоматизации (графические)
    • LD — Язык релейных схем — самый распространённый язык для PLC
    • FBD — Язык функциональных блоков — 2-й по распространённости язык для PLC
    • SFC — Язык диаграмм состояний — используется для программирования автоматов
    • CFC — Не сертифицирован IEC61131-3, дальнейшее развитие FBD
  • Языки для программистов ПЛК (текстовые)
    • IL — Ассемблер
    • ST — Паскале-подобный язык

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

Программа — это один из типов программных модулей POU. Модули (Pou) могут быть типа программа, функциональный блок и функция.

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

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

устройства связи с объектами и ввода/вывода