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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



 

Новый стандарт 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 – способ программирования при помощи блок-схем. Эта технология позволяет создавать программы, которые просты и гораздо ближе к блок-схемам работы машин. Этот язык программирования легок для новичков и позволяет им без труда писать как маленькие, так и большие программы.

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

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

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

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

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

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

 

 

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 2.19

Пример реализации секвенциально-логических алгоритмов в TRACE MODE

 

В качестве примера реализации секвенциально-логических алгоритмов в TRACE MODE приведена простая машина для проставления штампа на готовых изделиях. В «Редакторе Представления данных» SCADA– системы TRACE MODE указываются значения датчиков положения детали, датчиков верхнего и нижнего положений зажима и пресса.

Основными регулирующими величинами служат сигналы Start и Stop. Графическое представление рабочего экрана опреатора приведено на рис. 2.20, 2.21.

 

Рис.2.20

 

При запуске оператором процесса происходит запуск конвейера с заготовкой.

 

Рис. 2.21

 

Обработка информации при работе данной программы происходит с помощью секвенциально-логического алгоритма, выполненного в «Редакторе базы каналов» SCADA– системы TRACE MODE.

 

Язык функциональных блоков (Техно FBD) TRACE MODE содержит язык Техно LD (Ladder Diagram), который позволяет реализовать секвенциально-логические алгоритмы на языке стандартной релейной логики RLL.

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

Рассмотрим основные функции языка LD, реализуемые в TRACE MODE. Они реализуются с помощью блоков, которые могут быть представлены как в окне LD программы, так и в окне FBD программы. В окне LD программы блоки имеют представление и средства редактирования, соответствующие стандарту языка LD. Рассмотрим описание блоков в окне FBD программы и в окне LD программы.

 

Таблица 2.1

Разомкнутый контакт (| |) Если VAR<>0, ENQ=RUN(на вход RUNможно подавать только неотрицательные значения). Если VAR=0, ENQ=0.
Замкнутый контакт (|/|) Если VAR=0, ENQ=RUN(на вход RUNможно подавать только неотрицательные значения). Если VAR<>0, ENQ=0.
Катушка (()) Блок передает неотрицательное значение входа на выходы ENQи VAR..
Контакт по положительному переходу (|P|) Если RUN<>0, а вход VARменяет свое значение с 0 на любое ненулевое, то на один (следующий) такт пересчета ENQ=1. Во всех остальных случаях ENQ=0.
Продолжение таблицы 2.1
Контакт по отрицательному переходу (|N|)

Если RUN <>0, а вход VAR меняет свое значение с любого ненулевого на 0, то на один (следующий) такт пересчета ENQ =1. Во всех остальных случаях ENQ =0.

Инверсная катушка ((/)) Если значение входа больше нуля, VAR=0. Если значение входа равно нулю, VAR=1. Значение входа всегда передается на выход ENQ.
Катушка установки ((S)) Значение выхода VARустанавливается в 1 при подаче на вход любого ненулевого значения. В дальнейшем значение выхода VARне зависит от значения входа.
Катушка сброса ((R)) Значение выхода VARустанавливается в 0 при подаче на вход любого ненулевого значения. В дальнейшем значение выхода VARне зависит от значения входа.
Катушка положительного перехода ((P)) Если значение входа изменяется с 0 на любое положительное, то на один (следующий) такт пересчета VAR=1. Значение входа всегда передается на выход ENQ.
Катушка отрицательного перехода ((N)) Если значение входа изменяется с любого положительного на 0, то на один (следующий) такт пересчета VAR=1. Значение входа всегда передается на выход ENQ.
Блок логического сложения (LOR) Q0=1, если хотя бы один из входов блока отличен от нуля. Если значения всех входов равны нулю, Q0=0.

При программировании ПЛК в ТРЕЙС МОУД следует учитывать особенности редактирования в окне «LD программы».

В окне «LD программы» для блоков раздела LD-функции существуют следующие дополнительные элементы и средства редактирования:

1. Отображение связи входов.

Соединенные входы принимают тип, индекс и значение входа, к которому проведена связь. Если значение соединенных входов равно нулю или тип таких входов - аргумент, связь невидима. Кроме того, связь видима только в том случае, если блоки расположены один под другим. Чтобы удалить связь, нужно вручную изменить индекс одного из соединенных входов. Это свойство может быть использовано для прорисовки левой шины питания, предусмотренной стандартом языка LD. Для этого надо расположить блоки один под другим, задать ненулевое значение входа одного из них, установить тип этого входа константа и далее провести к этому входу связь от входа другого блока.

2. Правая шина питания. Эту функцию выполняет блок LOR.

3. Особенности комментария к связанной переменной.

Связанная переменная настраивается таким же образом, как вход или выход блока. Комментарий выводится на блоке вместо заданного по умолчанию слова "VAR". Знак ";" выполняет в комментарии функцию разделителя – на блок выводится текст до этого знака (не более 10 символов).

4. Установка привязки нескольких блоков к одной переменной.

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

- при соединении переменных блоков-контактов итоговая переменная принимает тип, индекс и значение переменной, к которой проведена связь;

- при соединении переменных контакта и катушки итоговая переменная принимает тип и индекс переменной катушки;

- при соединении переменных катушек в диаграмму блоков добавляется блок LOR, к входам которого автоматически подключаются соединяемые переменные.

Программа RLC контроллера, построенная для устройства проштамповки готовых изделий, составленная в TRACE MODE изображена на рис. 2.22 и 2.23. На рисунке 2.22 изображена программа в окне LD программы, а на рис. 2.23 – в окне FBD программы.

Рис. 2.22

Рис. 2.23



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 2498; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.216.174 (0.064 с.)