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

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Блок управления двигателем»)
Перейти к навигации Перейти к поиску
Модульный программируемый логический контроллер

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

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

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

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

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

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

Первым в мире программируемым контроллером (ПК) в 1968 году стал Modicon 084 (1968) (от англ. modular digital controller), спроектированный в прочном корпусе, без вентиляторов, переключателя ON/OFF и отверстий для циркуляции воздуха с расчётом на тяжелые условия ��ксплуатации[2]. Ричард Морли[англ.] объяснял это так:

Мысленно мы представили, что программируемый контроллер находится на открытом воздухе под грузовиком и ездит между Техасом и Аляской. В тех обстоятельствах мы хотели, чтобы он выжил. Другое требование, чтобы он стоял на столбе, выполняя служебную программу, или радиовышке, которая не имела климат-контроля и вообще не обслуживалась.

ПК появились в качестве замены системам на релейной автоматике[2]. Такая схема не могла быть изменена после этапа проектирования и поэтому получила название жёсткая логика. Системы управления на основе ПК имели ряд преимуществ по сравнению со своими предшественниками[3]:

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

В 1971 инженеры Allen-Bradley Одо Жозеф Стругер[англ.] и Ричард Морли (т.н. "отцы ПЛК") разработали Bulletin 1774 PLC, впервые использовав термин ПЛК вместо ПК. В дальнейшем именно ПЛК будет являться стандартом в области автоматизации, а ПК станет чаще ассоциироваться с персональным компьютером. Несмотря на революционность ПЛК, его продвижение на рынке сопрягалось с трудностями[2]. По словам Морли:

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

Первые ПЛК имели 16 входов, 16 выходов и 1 килобайт памяти[3], а логика их работы программировалась схемой соединений LD. Устройство имело тот же принцип работы, но реле и контакты (кроме входных и выходных) были виртуальными, то есть существовали в виде программы, выполняемой ПЛК. Такая технология была знакома инженерам и техникам, обслуживающим системы управления, поэтому они могли без обширной подготовки интерпретировать программы и вносить в них изменения[4]. Современные ПЛК являются свободно программируемыми[источник не указан 649 дней].

Контроллер на базе персонального компьютера

[править | править код]

Именно это направление существенно развивается в последнее время, и это обусловлено определенными причинами. Таковыми причинами являются:

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

Эти контроллеры используются для управления небольшими замкнутыми объектами в промышленности, в специализированных системах автоматизации в медицине и др. направлениях. Контроллер выполняет функции, которые предусматривают сложную обработку измерительной информации с расчетом нескольких управляющих воздействий, при этом общее число входов/выходов не превышает нескольких десятков. Основными достоинствами этих контроллеров является большой объем вычислений за достаточно малый отрезок времени. Схожесть с условиями работы офисных ПК, возможность программирования на языке высокого уровня. Аппаратная поддержка обеспечивается обычными контроллерами, обладающего функциями глубокой диагностикой и устранением неисправностей без остановки работы контроллера[5].

Локальный программируемый контроллер

[править | править код]

ЛПК подлежит следующей классификации:

  • Встраиваемый в оборудование и являющийся его неотъемлемой частью
  • Автономный, реализующий функции контроля и управления

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

Устройство ПЛК

[править | править код]

Часто ПЛК состоит из следующих частей:

  • центральная микросхема (микроконтроллер, или микросхема FPGA), с необходимой обвязкой;
  • подсистема часов реального времени;
  • энергонезависимая память;
  • интерфейсы последовательного ввода-вывода (RS-485, RS-232, Ethernet)
  • схемы защиты и преобразования напряжений на входах и выходах ПЛК.

Обычно вход или выход ПЛК нельзя сразу же подключить к соответствующему выходу центральной микросхемы. Эти выходы характеризуются низкими уровнями напряжений, обычно от 3,3 до 5 вольт. Входы и выходы ПЛК обычно должны работать с напряжениями 24 В постоянного либо 220 В переменного тока. Поэтому между выходом ПЛК и выходом микросхемы необходимо предусматривать усилительные и защитные элементы.

Структуры систем управления

[править | править код]
Прямоуголный разъём DeviceNet на интерфейсном модуле SST 5136-DNS-200, осуществляющем функцию шлюза для SIEMENS SIMATIC S7 (ET 200S).
  • Централизованная: в корзину ПЛК, зачастую в объединительную панель, устанавливаются модули процессора(ов), ввода-вывода и связи. В случае необходимости расширения системы сверх ограничения существующей корзины, в неё ставят модули расширения, добавляющие возможность масштабирования в пределах одного шкафа. Датчики и исполнительные устройства подключаются отдельными проводами непосредственно к модулям ввода-вывода, при помощи модулей согласования к входам/выходам сигнальных модулей либо (в случае организации в устройстве интерфейса с шиной) через модуль связи (мост); в случае использования полевой шины типа AS-i возможно питание исполнительного механизма по шине с одновременной передачей сигналов управления.
  • Распределенная: удалённые от шкафа с ПЛК датчики и исполнительные устройства связаны с ПЛК посредством каналов связи (через модули или процессоры связи) и, возможно, корзин-расширителей с использованием связей типа «ведущий-ведомый» (англ. 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) — Паскале-подобный язык
  • C-YART — Си-подобный язык (YART Studio)

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

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

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

Программирование ПЛК

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

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

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

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

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

Литература

[править | править код]
  • Мишель Ж. Программируемые контроллеры: архитектура и применение. — М.: Машиностроение, 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.
  • Минаев И.Г. Свободно программируемые устройства в автоматизированных системах управления / И.Г. Минаев, В.В. Самойленко, Д.Г. Ушкур, И.В. Федоренко - Ставрополь: АГРУС. 2016. - 168 с. ISBN 978-5-9596-1222-1

Примечания

[править | править код]
  1. ГОСТ Р МЭК 61131-1—2016 Контроллеры программируемые. Часть 1. Общая информация.
  2. 1 2 3 Segovia V. R., Theorin A. History of Control History of PLC and DCS //University of Lund. – 2012.
  3. 1 2 "The Origin Story of the PLC - Technical Articles". Архивировано 20 февраля 2023. Дата обращения: 20 февраля 2023.
  4. Walker M, Bissell C, Monk J. The PLC: A Logical Development. Measurement and Control. 2010;43(9):280-284.
  5. Елизаров И. А., Мартемьянов Ю. Ф., Схиртладзе А. Г., Фролов С. В. Технические средства автоматизации. Программно-технические комплексы и контроллеры: Учебное пособие. М.: «Издательство Машиностроение-1», 2004, - с. 7-8 - 180 с.