Меню
Главная
Авторизация/Регистрация
 
Главная arrow Техника arrow Проектирование автоматизированных систем производства

Программирование на языках стандарта IEC 61131

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

В 1998 г. Международная электротехническая комиссия (1ЕС) ввела стандарт IEC 61131-3 на языки программирования управляющих систем [9]. Число языков ограничено пятью: двумя текстовыми (вербальными), двумя графическими и одним комбинированным (рис. 9.9). К вербальным языкам относятся список инструкций (IL) и структурированный текст (57). В группу графических языков входят функционально-блочные (FBD) и лестничные (LD) диаграммы. К обеим группам относятся диаграммы последовательных функций (SFC).

1. Список инструкций IL (Instruction List) представляет собой язык типа Ассемблера, близкий к внутренним командам программируемого контроллера (рис. 9.10). Алгоритм записывают в виде текста. Программа состоит из последовательности инструкций, каждая из которых начинается с отдельной строки и является инструкцией для устройства управления. Инструкция начинается с оператора LD (записать отмеченный операнд и установить равный ему текущий результат) и может содержать операторы: ST (присоединить текущий результат к отмеченному), R (установить булев опе-

Р и с. 9.9. Языки программирования управляющих систем по стандарту

IEC 61131-3

Р и с. 9.10. Пример описания алгоритма на языке списка инструкций (1L)

ранд равным 1, если текущий результат равен 1), AND (логическое «И»), OR (логическое «ИЛИ»), XOR (исключающее «ИЛИ»), ADD (дополнение), SUB (вычитание), MUL (умножение), DIV (деление), GT, GE, EQ, NE, ЕЕ, LT (разные виды сравнения), JMP (перейти к метке). После оператора в инструкции записывают операнды или переменные: %1Х, %ОХ (булев вход-выход); %1В, %ОВ (кодовый вход-выход); %IW, %OW (целочисленный вход-выход); %/Д %OD (реальный вход-выход). Затем может следовать комментарий тех-

Р и с. 9.11. Пример описания алгоритма на языке структурированного текста (ST) 186

нолога («нагрев закончен», «нормально открытый контакт» и др.). На языке списка инструкций можно записывать извлечение корня, взятие логарифма и подобные им операции.

2. Структурированный текст ST (Structured Text) является высокоуровневым текстовым языком (рис. 9.11). Программу записывают в виде текста. Она описывает последовательность состояний, каждое из которых вводится несколькими линиями или набором состояний в одной линии. Применяют следующие виды состояний: назначение, вызов функции, вызов функционального блока, разветвление (//’—если, CASE — в случае), циклы (FOR — для, WHILE — пока, REPEAT — повторить, EXIT — выйти). Приведем примеры состояний.

Назначение: А := В; CV:= CV + 1; Y:= cos (х)

Разветвление: IF D< 0,0 THEN Number_Lsg := 0 CASE voltage OF

101.. .200 : View := too large

20.. . 100 : View := large

2.. .19 1 TO 5 DO sum := s : View := normal

Циклы: FOR I := um + 1

3. Функционально-блочная диаграмма FBD (Function Block Diagram) описывает алгоритм управления в виде соединения функциональных блоков. Порядок работы блоков отображает движение потока данных через устройство управления. Функциональный блок может быть четырех видов: элементарная функция, элементарный блок, порядок исполнения, назначение и исполнение (рис. 9.12). Элементарной функцией называют преобразователь с входами и выходами, не имеющий внутреннего состояния (см. рис. 9.12, а). Внутри преобразователя указывают вид функции, вверху — номер преобразователя. Элементарный блок имеет внутреннее состояние. Внутри блока указывают его тип, вверху — номер его секции, затем номер блока в секции (см. рис. 9.12, б). Блок «Порядок исполнения» описывает размещение элементарных блоков (см. рис. 9.12, в). Блок «Назначение и исполнение» описывает включение или отключение отдельных порядков исполнения по командам в программе (см. рис. 9.12, г) по принципу «не работающий сейчас блок не участвует в программе».

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

Рис. 9.12. Функциональные блоки:

а — элементарная функция; б — элементарный блок; в — порядок исполнения; г — назначение

и исполнение

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

Рис. 9.13. Пример описания алгоритма на языке функционально-блочных диаграмм

В качестве примера опишем некоторую релейную схему на языке лестничных диаграмм (рис. 9.14). Кнопкой S1 включают контактор К1. Его контактами включается контактор КЗ, своими блок- контактами включающий индикатор Н1. При повторном нажатии кнопки S1 включается контактор К2. При этом контактор КЗ и индикатор Н1 отключаются.

В лестничную диаграмму можно вводить функциональные блоки из языка FBD (рис. 9.15).

На рис. 9.16 показан пример описания алгоритма управления на языке лестничных диаграмм.

5. Диаграмма последовательных функций SFC (Sequential Function Chart) описывает процесс управления в виде последовательности исполнения (без разветвлений, с разветвлением, с переходом, с петлей) и выполняемых действий (незакрывающие, закрывающие, с временной задержкой, с ограничением времени, пульсирующее и т.д.).

Последовательность исполнения формируют в виде последовательности шагов программы, соответствующей последовательности шагов управляемого процесса (рис. 9.17). Шаги показывают опера

Р и с. 9.14. Описание алгоритма логического управления в виде релейно-контактной схемы (а) и лестничной диаграммы (б)

цию управления процессом. Для каждого шага задают время исполнения. Между смежными шагами имеется переход, открываемый при выполнении некоторого логического условия, например после срабатывания датчика конечного положения. Переход показывает завершение операции. Шаги и переходы можно сопровождать комментариями. При описании алгоритма управления на языке SFC также применяют:

— условные переходы, показывающие выполнение некоторого условия и разрешающие следующий шаг;

— механические связи, соединяющие шаги и переходы;

Рис. 9.15. Ввод функциональных блоков в лестничную диаграмму

— альтернативные ответвления, удовлетворяющие логическому «ИЛИ»;

— параллельные ответвления, показывающие одновременное выполнение операций;

— пропуски шагов, петли и действия.

Рис. 9.16. Пример описания алгоритма на языке лестничных диаграмм (LD)

Рис. 9.17. Пример программы управления на языке диаграмм последовательных

функций

В качестве примера опишем на языке SFC процесс управления подачей заготовок на конвейер (рис. 9.18).Сначала заготовка находится в накопителе. Из накопителя ее выталкивает шток гидроцилиндра 1, а шток гидроцилиндра 2 перемещает заготовку на конвейер. Затем этот шток возвращается в корпус гидроцилиндра 2, после чего возвращается шток в корпус гидроцилиндра 1. Диаграмма последовательных функций содержит восемь шагов (рис. 9.19). Справа от каждого шага описаны выполняемые действия.

Рис. 9.18. Процесс подачи заготовок на конвейер

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

 
Посмотреть оригинал
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
 
Популярные страницы