ЛАБОРАТОРНАЯ РАБОТА №2 ПОСТРОЕНИЕ СИСТЕМ ЛОГИЧЕСКОГО УПРАВЛЕНИЯ НА ЯЗЫКЕ LD (LADDER DIAGRAM)
Цель работы:Знакомство со структурой проекта на языке LD, создание анимационной таблицы, разработка операторского экрана (экрана реального времени).
Основные теоретические сведения
Язык программирования LD (релейно – контактных схем) является графическим языком программирования контроллеров. Редактор LD используется для программирования лестничных диаграмм, в соответствии со стандартом MЭК 61131-3.
Рисунок 2.1 Редактор языка LD в Unity Pro
Структура программы LD соответствует ступени переключения реле. Левая шина питания расположена в левой части редактора LD. Левая шина питания соответствует фазе (L проводник) ступени. При программировании LD, также как для ступени, «обрабатываются» только те объекты LD, которые соединены с источником питания, т.е. соединены с левой шиной питания. Правая шина питания соответствует нейтральному проводу.
Свойства программы LD:
1. Секция LD содержит 11-64 столбцов и 17-2000 строк.
2. Программы LD являются ориентированными на ячейки, т.е. только один объект может быть помещен в одну ячейку.
3.Последовательность обработки отдельных объектов в программе LD определена потоком данных в пределах секции. Сети, подключенные к левой шине питания, обрабатываются сверху вниз. Отдельные сети внутри секции обрабатываются в порядке их расположения (сверху вниз).
4. Проверка синтаксиса и семантики выполняется сразу после ввода оператора. Результат проверки отображается цветным текстом и объектами.
5. Синтаксически или семантически неверные секции могут быть сохранены.
Таблица 2.1 Условные обозначения элементов языка LD
№ | Графический значок | Значение |
Нормально открытый контакт, тип А | ||
Нормально закрытый контакт, тип В | ||
Последовательный нормально открытый контакт (Логический элемент «И») | ||
Паралельный нормально открытый контакт (Логический элемент «ИЛИ») | ||
Паралельный нормально закрытый контакт (Логический элемент «ИЛИ-НЕ») | ||
Контакт, формирующий импульс по переднему фронту входного сигнала | ||
Контакт, формирующий импульс по заднему фронту входного сигнала | ||
Последовательный контакт, формирующий импульс по переднему фронту входного сигнала | ||
Последовательный контакт, формирующий импульс по заднему фронту входного сигнала | ||
Параллельный контакт, формирующий импульс по заднему фронту входного сигнала | ||
Параллельный контакт, формирующий импульс по заднему фронту входного сигнала | ||
Паралельный блок контактов | ||
Срабатывание нескольких выходов от одного входа |
Пример решения задачи на языке LD
Необходимо запрограммировать кнопку, при нажатии которой, будет загораться индикатор.
Решение данной задачи можно разделить на несколько этапов:
1. Создание таблицы переменных.
2. Разработка программы в редакторе LD.
3. Создание анимационной таблицы.
4. Разработка операторского экрана (экрана реального времени).
1 шаг. Создается новый проект в среде программирования Unity Pro, на следующем этапе, конфигурируется ПЛК (лабораторная работа 1).
2 шаг.В браузере проекта, в разделе Program Section необходимо создать новую секцию на языке LD.
3 шаг. Далее в разделе Variables & FB Instances Elementary Variables создается таблица переменных. Для данной задачи она будет выглядеть следующим образом:
4 шаг.В редакторе LD собирается схема. Основными элементами которой будет нормально открытый контакт и катушка.
5 шаг. Необходимо создать анимационную таблицу, которая показывает текущее состояние переменной.
Доступ к анимационной таблице можно получить несколькими способами. Первым способом можно с помощью нажатия левой кнопки мыши выделить все элементы релейно-контактной схемы в редакторе LD и в раскрывшемся контекстном меню выбрать раздел Initialize Animation Table.
Вторым способом можно открыть анимационную таблицу через браузер проекта. В разделе Animation Table New Animation Table.
6 шаг. На данном этапе осуществляется разработка экрана оператора. Для этого необходимо в браузере проекта найти раздел Operator Screens, нажать правой кнопкой мыши и в раскрывшемся контекстном меню выбрать вкладку New Screen. Далее на панели инструментов выбрать кнопку Push button и разместить в рабочем поле редактора. Двойным щелчком мыши раскрыть элемент для подключения переменной. В разделе Control Variable вставить раннее созданную переменную kn (рисунок 2).Далее в разделе Сontrol element style поставить галочку на функции With Latching. Название кнопки можно подписать в окне Text . Необходимо переключить вкладку на Animation, далее поставить галочку в разделе Animated Object (рисунок 2.3).
Рисунок 2.2 Программирование свойств объекта Push Button
Рисунок 2.3 Подключение анимации к объекту Push Button
Аналогичным образом осуществляется программирование индикатора. Его можно создать с помощью элемента Ellipse на панели инструментов. Растянуть в рабочем поле до необходимых размеров, внутри задать цвет линий, заливки и подключить переменную ind, при этом выставив бит на 1.
7 шаг. Данный этап заключается в отладке программы, построении приложения для проверки наличия ошибок. Эта операция осуществляется с помощью кнопки Build на панели инструментов. В случае, если после анализа не обнаружены ошибки необходимо установить соединение с контроллером в режиме эмулятора. Для этого нажать на кнопку Simulation Mode Connect Transfer Project to PLC. Итоговая программа показана на рисунке 2.4. Управление можно осуществлять как через операторский экран, при этом при нажатии кнопки kn будет загораться индикатор, так и через окно редактора языка LD присвоив значение 1 нормально открытому контакту kn. Данную операцию можно осуществить нажав правой кнопкой мыши на контакт и в раскрывшемся меню выбрать раздел Set value Set to 1. При этом в анимационной таблице поменяется значение переменных kn и ind с 0 на 1 .
Рисунок 2.4 Результат работы программы в среде программирования Unity Pro.
Пример работы комибинированной программы на языке LD c использованием функционального блока
Необходимо разработать программу по управлению режимом работы трехцветной гирлянды, осуществляя переключение цветов в заданный интервал времени.
1 шаг.В новом проекте создается секция на языке LD, для установки заданного интервала времени, необходимо использовать функциональный блок таймер, доступ к которому можно осуществить через функцию FFB Input Assistant. Для этого необходимо нажать правой кнопкой мыши на рабочем поле редактора LD и выбрать соответсвующий раздел контектсного меню, другой вариант возможен благодаря панели инструментов, на которой есть пиктограмма с данной функцией или при нажатии комбинации клавиш Ctrl+I.
Рисунок 2.5 Доступ к помощнику по работе с функциональными блоками FFB Input Assistant
Далее появится окно, в котором необходимо выбрать нужный функциональный блок. Если разработчик программы знает его название заранее, то он может его вписать в первую графу FFB type, в нашем случае необходим счетчик TON, в противном случае пользователь может зайти в библиотеку функциональных блоков и выбрать необходимый, нажав на кнопку с тремя точками, которая расположена справа от окна ввода. Ниже описаны входы и выходы функционального блока, а так же их тип. После осуществления данной операции нажимаем OK, подтверждая выбранный блок.
Рисунок 2.6 Выбор функционального блока
2 шаг. Необходимо создать программу в рабочем поле LD. Контакты, которые отвечают за запуск цикла устанавливаются согласно логике программы, при этом их необходимо подключить к таймеру, который будет обеспечивать задержку появления цвета в несколько секунд. Программа показана на рисунке 2.7.
Рисунок 2.7 Программа по переключению цветов гирлянды
3 шаг. Необходимо создать анимационную таблицу, для отслеживания текущего состояния переменных, а так же управления элементами.
4 шаг.Операторский экран демонстрирует цветовое переключение гирлянды в интервале 2 секунды.Так женеобходимо разместить кнопки по запуску работы механизма на экране (рисунок 2.8). Элементы гирлянды создаются с помощью фигуры Elipse на панели инструментов редактора.
Рисунок 2.8 Операторский экран программы по управлению трех цветной гирляндой
Рисунок 2.9 Результат работы программы по управлению трехцветной гирляндой
2.4 Порядок выполнения лабораторной работы №2. Решение задач на языке LD.
Очень часто в системах автоматики необходимо организовать пуск и стоп с помощью кнопок без фиксации, т.е. организовать самоблокировку выхода. Примеры некоторых из них приведены ниже.
Задача 1Самоблокировка выхода с приоритетом «Стоп».
При нажатии кнопки start, сигнал проходит через нормально замкнутую кнопку stop и вызывает замыкание катушки ind (индикатор), при этом замыкается связанный входной контакт ind. При нажатии кнопки stop цепь разомкнется и катушка (выход) ind отключится. Поэтому данную схему называют приоритетом Стопа.
Задача 2Самоблокировка выхода с приоритетом «Старт».
При нажатии кнопки start, сигнал проходит через нормально замкнутую кнопку stop и вызывает замыкание катушки ind. При этом замыкается связанный входной контакт ind. При нажатии кнопки stop цепь не разомкнется и катушка (выход) ind останется включенной. Поэтому данную схему называют приоритетом «Старта».
Необходимо реализовать данные задачи в программе Unity Pro.
Cхема логического управления для задачи 1 на языке LD:
Cхема логического управления для задачи 2 на языке LD:
2.5 Оформление отчета по результатам выполненных работ. Отчет должен включать:
- Решение задачи 1,2.
- Пояснения к каждому пункту задания.
- Выводы по результатам практикума.
- Пакет прикладных программ с результатами работы.
Литература. 2 осн. [1- 6]
2.6 Контрольные вопросы
1. Охарактеризуйте язык лестничной диаграммы LD.
2. Что такое катушка в языке LD?
3. Что такое контакт в языке LD?
4. Для чего служат связи? Какие связи различают в языке LD?
ЛАБОРАТОРНАЯ РАБОТА №3 РАЗРАБОТКА ПРОЕКТА НА ЯЗЫКЕ FBD (FUNCTION BLOCK DIAGRAM)
Цель работы:Знакомство со структурой проекта на языке FBD. Работа с основными функциональными блоками, понятиями и определениями. Получение навыков разработки приложений на языке функциональных блоков.