Программируемый логический контроллер
Программируемый логический контроллер, ПЛК — ЧПУ называется CNC-контроллер .
Первые логические контроллеры появились в виде шкафов с набором соединённых между собой реле и контактов.
Эта схема задавалась жёстко на этапе проектирования и не могла быть изменена далее.
В первых ПЛК, пришедших на замену обычным ЛК, логика соединений программировалась схемой соединений LD (Ladder logic Diagram).
Устройство имело тот же принцип работы, но реле и контакты (кроме входных и выходных) были виртуальными, то есть существовали в виде программы микроконтроллера. В системах управления технологическими объектами логические команды преобладают над числовыми операциями, поэтому за этими процессорами остаётся название ПЛК. В современных логических контроллерах числовые операции реализуются наравне с логическими, но в большинстве приложений по прежнему преобладают логические команды. В программируемых логических контроллерах обеспечивается доступ к отдельным битам памяти, в то время как большинство процессоров и компьютеров обеспечивают только одно-, 2- или 4-байтовую адресацию.
ПЛК, как правило, не имеют развитых средств интерфейса, типа клавиатуры и дисплея, устанавливаются в шкафах, их программирование, диагностика и обслуживание производится подключаемыми для этой цели программаторами — специальными устройствами (устаревшая технология) или устройствами на базе PC или ноутбука, со специальным программным обеспечением, а возможно и со специальными интерфейсными платами. В системах управления технологическими процессами ПЛК взаимодействуют с системами человеко-машинного интерфейса: операторскими панелями или рабочими местами операторов на базе PC. Датчики и исполнительные устройства подключаются к ПЛК или централизованно: в стойку ПЛК устанавливаются модули ввода-вывода, подключенные к датчикам и исполнительным устройствам отдельными проводами, или по методу распределённой периферии, когда удалённые от ПЛК датчики и исполнительные устройства связаны с ПЛК общей сетью, например, сетью Profibus с протоколом DP.
Виды ПЛК [ ]
- LOGO! , Zelio Logic , OMRON , Beckhoff , B&R — «настоящие» PLC
- Распределённые системы управления Языки программирования ПЛК [ ]
Структурно в IEC61131-3 среда исполнения представляет собой набор ресурсов (в большинстве случаев это и есть ПЛК, хотя некоторые мощные компьютеры под управлением многозадачных ОС представляют возможность запустить несколько программ типа softPLC и имитировать на одном ЦП несколько ресурсов). Ресурс предоставляет возможность исполнять задачи. Задачи представляют собой набор программ. Задачи могут вызываться циклически, по событию, с максимальной частотой.
Программа это один из типов программных модулей Коммуникации [ ]
Литература [ ]
- Мишель Ж. Программируемые контроллеры: архитектура и применение. — М.: Машиностроение, 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
Принципы программирования ПЛК
В данном обзоре рассмотрим ряд вопросов, связанных с программированием современных логических контроллеров (ПЛК или PLC). Поскольку контроллеры разных производителей имеют различную конфигурацию, функционал и программные среды, будут приведены общие принципы и приемы разработки программ для ПЛК.
Техническое задание
Создание и утверждение технического задания (ТЗ) – очень важная часть разработки ПО. От грамотно составленного ТЗ зависит, насколько эффективно будет вестись разработка.
Опытные программисты знают, что программа не пишется за один раз. Как правило, софт корректируется и приближается итерациями к конечному варианту в соответствии с пожеланиями конструкторов, инженеров, электриков, механиков и технологов. Поэтому очень важно на этапе составления ТЗ плотно взаимодействовать со всеми заинтересованными специалистами, которые подписывают ТЗ, а по окончании принимают работу.
Периферия
В первую очередь составляется список всех дискретных входов и выходов контроллера. Также указываются аналоговые входы/выходы при их наличии.
Входы и выходы логического контроллера — это начальные и конечные точки работы алгоритма, поэтому нужно четко представлять, как должно функционировать оборудование, под которое пишется программа.
Для решения некоторых стандартных задач можно не писать программу, а воспользоваться специализированными периферийными модулями, например, модулями обработки сигналов от тензодатчиков или от инкрементального энкодера, специализированным ПИД-регулятором и проч. В результате алгоритм работы существенно упростится, а быстродействие всей системы в целом увеличится.
Необходимо собрать подробную информацию о том, как работает тот или иной датчик, какие сигналы он выдает, например, какой выход у датчика – нормально открытый или нормально закрытый. Есть ряд нюансов, связанных с аварийным или ручным управлением выходными сигналами, например, некоторые приводы могут требовать коррекции временной задержки.
Помехоустойчивость
Важно помнить о возможных проблемах, связанных с максимальным выходным током, противо-ЭДС и различными помехами, поскольку все это скажется на стабильной работе программы и оборудования в целом.
В сложном оборудовании, где применяются преобразователи частоты, коммутируются силовые цепи и действуют мощные электромагнитные поля — эти факторы необходимо предусмотреть, чтобы минимизировать их отрицательное влияние на ПЛК. Об этом обычно подробно говорится в инструкции по установке логического контроллера.
Для повышения помехоустойчивости необходимо применять программные средства. Например, обязательным является использование сторожевого таймера, который «приводит в чувство» ПЛК при его «зависании».
Также необходимо учитывать возможное накопление ошибок, искажение поступаемых на входы данных и другие нарушения в работе программы. Для этого нужно вводить программные блоки по проверке и коррекции данных и программы. Например, несмотря на то, что при включении реверсивного пускателя используется аппаратная защита (блокировка) от одновременного включения встречных направлений, такая же защита должна быть реализована и программно.
Проблемы совместимости программы с аппаратной частью
Возможно, в процессе работы выяснится, что аппаратная часть контроллера не соответствует поставленной задаче. Например, не хватает входов или выходов, памяти или быстродействия.
Проблема с нехваткой входов или выходов легко решается приобретением дополнительных периферийных модулей. Они подключаются к центральному модулю (который имеет свои входы и выходы), обмен данных происходит по внутренней шине.
С памятью и быстродействием решить вопрос просто не получится, поэтому перед приобретением «железа» нужно обкатать программу в программном эмуляторе, который есть в каждой среде программирования.
Языки программирования и среды разработки
У каждого производителя имеется своя среда программирования, «заточенная» под конкретные модели ПЛК. Однако производители пришли к соглашению, что будут использовать унифицированные языки программирования, подходящие для разных контроллеров.
Наиболее простым и наглядным языком программирования ПЛК, входящим в каждую среду разработки является язык релейных схем LD (Ladder Diagram), максимально приближенный к функциональным электрическим схемам. Его любят использовать программисты, изначально хорошо разбирающиеся в электронике.
Другой язык, имеющий обширный функционал – FBD (Function Block Diagram), который относится к графическим языкам программирования. В FBD используются законченные блоки, имеющие определенные функции. Блоки поставляются со средой программирования или создаются программистом. Существуют и другие языки (6 стандартных), но их описание выходит за рамки данной статьи.
В программных средах разработки обычно имеется большой набор готовых библиотек элементов, подпрограммы стандартных процедур и шаблонов. Также среда разработки должна обязательно включать в себя программный эмулятор, позволяющий всесторонне проверить работоспособность программы перед ее переносом на реальный контроллер.
Среды разработки разных производителей могут включать в себя разные элементы, и за каждый из них необходимо платить. Например, Siemens предлагает множество версий программной среды, которые значительно отличаются по функционалу и цене. Другой производитель – Delta – имеет полностью открытое полнофункциональное ПО, которое можно бесплатно скачать с официального сайта.