logo
АИУС

2.2.2. Языки программирования логических контроллеров

Новый стандарт IEC 1131-3, ранее называвшийся IEC 65А(SEC)67, определяет пять типов языковых средств программирования ПЛК:

– список команд (instruction list – IL) текстовый язык низкого уровня. Выглядит как типичный язык Ассемблера, что объясняется его происхождением: для некоторых моделей ПЛК фирмы Siemens является языком Ассемблера. В рамках стандарта IEC 1131-3 к архитектуре конкретного процессора не привязан. Самостоятельного значения не имеет: используется только совместно с SFC. Происхождение - STEP 5 (Siemens);

– функциональная блок-схема, т.н. схема на основе функциональных блоков (function bloсk diagram – FBD). Вместо реле в этом языке используются функциональные блоки, по внешнему виду – микросхемы. Алгоритм работы некоторого устройства на этом языке выглядит как функциональна схема электронного устройства: элементы типа "логическое И", "логическое ИЛИ" и т.п., соединенные линиями;

– принципиальная схема (ladder diagram – LD) – графический язык программирования, являющийс стандартизованным вариантом класса языков релейно-контактных схем. Ввиду своих ограниченных возможностей язык дополнен привнесенными средствами: таймерами, счетчиками и т.п.;

– функциональная карта (sequential function chart – SFC) – графический язык, используемый для описания алгоритма в виде набора связанных пар: шаг (step) и переход (transition). Шаг представляет собой набор операций над переменными. Переход – набор логических условных выражений, определяющий передачу управления к следующей паре шаг-переход. По внешнему виду описание на языке SFC напоминает хорошо известные логические блок-схемы алгоритмов. SFC имеет возможность распараллеливания алгоритма. Однако SFC не имеет средств для описания шагов и переходов, которые могут быть выражены только средствами других языков стандарта;

– язык типа «структурированный текст» (structured text) с синтаксисом, подобным языку программирования Pascal. Самостоятельного значения не имеет, используется только совместно с SFC.

Таким образом, международный стандарт IEC 1131-3 гарантирует широкий спектр возможностей для программирования ПЛК.

Стандартная релейная логика RLL (Realay Ladder Logic)

Стандартная релейная логика RLL (Realay Ladder Logic) – язык программирования, эмулирующий работу релейных схем. Этот язык программирования позволяет легко адаптироваться технологам к новой технике. Недостаток этого языка заключается в громоздкости больших программ, что часто портит жизнь начинающим программистам и молодым специалистам. Рассмотрим более подробно основные элементы релейной логики и ее применение для реализации пошагового управления.

Принципиальные схемы

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

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

Широко распространено изображение логических цепей в виде принципиальных схем (рис. 2.12). Принципиальная схема (ladder diagram) – это упрощенный вариант обычной монтажной схемы без явного указания всех электрических связей. На принципиальной схеме каждая ветвь управляющей цепи показана отдельным горизонтальным рядом, «ступенькой лестницы» (английское название происходит от ladder – лестница) и отражает одну конкретную функцию и соответствующую ей последовательность операций. В принятой системе обозначений косвенно подразумевается, что одна вертикальная линия присоединяется к источнику питания, а другая заземлена.

Рис. 2.12. Структура принципиальной схемы

Принципиальные схемы очень популярны при описании комбинационных и последовательностных сетей.

Н

Стандарт DIN 19239

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

Американские символы

Рис. 2.13. Символы, используемые на принципиальных схемах:

а – нормально разомкнутого контакта,

б – нормально замкнутого контакта и в – катушки реле.

Последовательностные цепи

В последовательностных системах (sequencing system), т.е. системах управления порядком операций, выход зависит не только от текущих значений на входе, но и от предыдущих входных сигналов и состояний системы. Соответствующее графическое представление должно, следовательно, включать операции записи и обозначение состояний в различные моменты времени. Многие последовательности операций можно описать, например, с помощью принципиальных схем и определить некоторым числом состояний, где каждое состояние будет связано с конкретным управляющим воздействием.

На принципиальной схеме можно представить различные состояния или шаги, но в каждый момент времени схема находится только в одном из них. Следовательно, необходим некоторый испольнительный управляющий сигнал для перехода от одного состояния к другому. Этот управляющий сигнал подается при удовлетворении соответствующего условия (естественно, это условие может быть сложной комбинацией управляющих сигналов). Он действует как сигнал сброса для одного шага и как сигнал установки для следующего. То есть процесс последовательностного управления можно описать как каскад элементов типа SR, где каждый шаг соответствует горизонтали принципиальной схемы (рис. 2.14). Каждый управляющий сигнал переводит следующий триггер в состояние S. Выполнение происходит шаг за шагом и после последнего возвращается на начало последовательности (Шаг 1).

Рис. 2.14. Последовательные операции в нотации принципиальной схемы

На практике Шаг 1 инициируется с помощью кнопки старта или, в случае замкнутой исполнительной последовательности, автоматически после выполнения последнего шага. Когда последний шаг выполнен, и условие перехода к первому шагу удовлетворено, подается питание на катушку Шага 1, и самоудерживающееся реле сохраняет ее включенной даже после исчезновения первого условия. Выходной сигнал первого шага также подает питание на входные контакты «шаг 1», соединенные последовательно с контактами условия для второго шага. При выполнении этого условия реле Шаг 2 замыкает цепь для устройств Шаг 2, и в то же время размыкает цепь для устройств Шаг 1. Последующие шаги выполняются таким же образом. Очевидно, что для повторяющейся последовательности необходимо последний шаг соединить снова с устройством Шаг 1.

Такой порядок называется асинхронным (asynchronous). Если переход к очередному шагу происходит по сигналам таймера, то это называется синхронным (sunchronous) управлением. Таким образом, асинхронная система определяется как управляемая событием, а синхронная – временем. В промышленной автоматике асинхронный контроль встречается намного чаще, поскольку операции большинства станков и оборудования и, соответственно, изменение их состояния, скорее зависят от выполнения набора условий, чем от расписания.

Построение контроллера на основе языка RLL

Рассмотрим пример программирования ПЛК.

На рис. 2.15 приведена простая машина для проставления штампа на готовых изделиях. Принцип работы машины, заключается в следующем12:

1. Оператор нажимает кнопку старт для запуска машины, или кнопку стоп для останова машины.

2. Оптический датчик проверяет наличие детали на конвейере. Конвейер движется до тех пор, пока под штампом не появится деталь. После того как деталь подошла к штампу, запускается алгоритм PLC.

3. Деталь зажимается на месте при помощи фиксатора (clamp).

4. Пресс ставит штамп на детали.

5. Фиксатор разжимается, и готовая деталь идет по конвейеру далее.

6. При выборе одноцикличной работы машина останавливается, в противном случае она продолжает работу при выборе автоматического режима.

Рис. 2.15. Устройство для проштамповки готовых изделий

Блок-схема функционирования машины для проставления штампа на готовых изделиях представлена на рис. 3.16.

Рис. 2.16. Блок-схема функционирования машины

Работа программы RLL

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

Рис. 2.17 Пример ступеньки

Логика RRL PLUS

Логика RRL PLUS – способ программирования при помощи блок-схем. Эта технология позволяет создавать программы, которые просты и гораздо ближе к блок-схемам работы машин. Этот язык программирования легок для новичков и позволяет им без труда писать как маленькие, так и большие программы.

Решение на основе RLLPLUS использует все те же понятные катушки и контакты, но еще включает несколько простых функций для разбиения программы на блок-схемы, которые называются ступенями.

Программа напоминает вертикально ориентированную блок-схему. Ступени разбивают программу на сегменты, которые легко и просто понять, кроме того, процессор обрабатывает все эти ступени по специальным правилам обработки инструкций. При использовании этого подхода можно значительно сократить время, потраченное на разработку и написание программы.

Программа на языке RRL PLUS состоит из элементарных компонентов, имеющих вид, изображенный на рис. 2.18.

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

Правила обработки информации:

1. Выполняются только активные ступени. Когда процессор находит неактивную ступень, он перепрыгивает логику этой ступени и движется к следующей активной ступени. (Можно даже иметь параллельные ветви или несколько активных ступеней).

Рис. 2.18. Основной элемент логики RLLPLUS

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

Начальные ступени включаются автоматически при переходе процессора из программного режима в режим обработки информации.

Ступени могут активизироваться, когда программа «перескакивает» со ступеньки на ступеньку при применении команды (JMP).

Для активизации ступени можно использовать команду SET, так же как можно установить и точку выхода.

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

Активная ступень автоматически выключается, если программа переходит от активной ступени к другой.

Можно использовать команду Reset (RST) для выключения ступени, точно так же как вы используете Reset для отключения выходной точки.

Текущая ступень автоматически выключается, если у программы есть переток энергии между текущей ступенью и следующей ступенью.

При помощи контактов можно реализовать все функции алгебры логики. Например последовательное соединение контактов – логическое И (AND), а параллельное соединение –логическое ИЛИ (OR). Нормально замкнутый контакт реализует инверсия (STORE NOT).

В пакете DirectSOFT моделирования логики RLLPLUS применяются также стандартные операционные блоки, как, например, умножение, деление, запоминание и т.д. Подробнее со всеми этими полезными вещами можно ознакомится непосредственно из описания программы DirectSOFT.

Программа на языке RLLPLUS для рассмотренного выше устройства для проштамповки готовых изделий, изображена на рис. 2.19.

Рис. 2.19