Реклама


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

Модульный программируемый логический контроллер

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

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

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

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

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

История[ | код]

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

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

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

Виды ПЛК[ | код]

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

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

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

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

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

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

Устройство ПЛК[ | код]

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

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

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

Прямоуголный разъём DeviceNet на интерфейсном модуле SST 5136-DNS-200, осуществляющем функцию шлюза для SIEMENS SIMATIC S7 (ET 200S).

Интерфейсы ПЛК[ | код]

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

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

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

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

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

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

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

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

Программирование ПЛК[ | код]

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

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

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

См. также[ | код]

Литература[ | код]

Примечания[ | код]

  1. Елизаров И. А., Мартемьянов Ю. Ф., Схиртладзе А. Г., Фролов С. В. Технические средства автоматизации. Программно-технические комплексы и контроллеры: Учебное пособие. М.: «Издательство Машиностроение-1», 2004, - с. 7-8 - 180 с.

Ссылки[ | код]

Реклама