Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
«ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
_________________________________________________
Утверждаю
Декан АВТФ
__________ С.А. Гайворонский
«___»____________2009г.
В.Н Скороспешкин, В.С. Аврамчук
СИСТЕМА АВТОМАТИЧЕСКОГО РЕГУЛИРОВАНИЯ НА БАЗЕ КОНТРОЛЛЕРА КРОСС-500
Методические указания к выполнению лабораторной работы № 4
по курсу «Основы автоматизации производственных процессов» для студентов, обучающихся по специальности 130501 - «Проектирование, сооружение и эксплуатация газонефтепроводов и газонефтехранилищ» и 130503 «Разработка и эксплуатация нефтяных и газовых месторожде-ний»
Издательство
Томского политехнического университета
2009
УДК 681.325.5-181.48(076.5)
ББК 32.973.26-04я73
С446
Скороспешкин В.Н., Аврамчук В.С.
С446 Система автоматического регулирования на базе контроллера КРОСС 500 № 5 по курсу «Основы автоматизации производственных процессов» для студентов, обучающихся по специальности 130501 - «Проектирование, сооружение и эксплуатация газонефтепроводов и газонефтехранилищ» и 130503 «Разработка и эксплуатация нефтяных и газовых месторожде-ний» / В.Н. Скороспешкин, В.С. Аврамчук. – Томск: Изд-во Томского политехнического университета, 2009. – 16 с.
УДК 681.325.5-181.48(076.5)
ББК 32.973.26-04я73
Методические указания рассмотрены и рекомендованы к изданию методическим семинаром кафедры автоматики и компьютерных систем АВТФ « 17 »
сентября
2009 г.
Зав. кафедрой АиКС
доктор технических наук ___________Г.П. Цапко
Председатель учебно-методической
комиссии ___________В.И. Рейзлин
Рецензент
Доцент, кандидат технических наук
В.И. Коновалов
© Скороспешкин В.Н.,
Аврамчук В.С. 2009 © Томский политехнический университет, 2009
© Оформление. Издательство Томского политехнического университета, 2009
Целью лабораторной работы
является создание программы регулирования лабораторным комплексом на основе ПИД-регулятора на языке ST в системе ISaGRAF.
1 Структурная схема лабораторного комплекса
Данный лабораторный комплекс состоит из контроллера КРОСС-500, аналогового вычислительного комплекса АВК-6 и персонального компьютера с ОС Windows 2000. В качестве объекта управления используется математическая модель САУ, набранная на аналоговом вычислительном комплексе АВК-6.
На рисунке 1 приведена структурная схема комплекса.
1.1 Аналоговый вычислительный комплекс (АВК-6)
Назначение АВК-6
Аналоговый вычислительный комплекс АВК-6 предназначен для исследования систем автоматического управления (САУ) путем математического моделирования динамических процессов. АВК-6 применяется в инженерной практике, а также как техническое средство при изучении курсов физико-математических и общетехнических дисциплин.
Общие характеристики и состав АВК-6
АВК-6 объединяет в одном приборе малую аналогово-вычислительную машину (МЭМ-6) и систему индикационно-измерительных средств (СИИС).
Организация МЭМ-6 обеспечивает возможность её программирования непосредственно по структурной математической модели изучаемого динамического процесса и не требует от исследователя владения специальными знаниями и навыками программирования, которые необходимы при использовании традиционных ЭВМ.
Рис. 1 – Структурная схема комплекса
Система СИИС комплекса состоит из комплекта индикационных и измерительных устройств, позволяющих проводить полное исследование моделируемых на МЭМ-6 динамических процессов непосредственно по их графическим характеристикам.
Комплектность и организация СИИС освобождает пользователя от необходимости применения дополнительной аппаратуры в процессе изучения моделей динамических процессов.
Конструкция АВК-6
Конструктивно АВК-6 выполнен в виде отдельных функционально законченных модулей и блока, заключенных в единый корпус. Такая структура удобна при изготовлении и настройке, а также при ремонте комплекса.
Корпус АВК-6 представляет собой каркас с четырьмя отсеками. Каждый блок, модуль вставляется в свой отсек и винтами крепится к корпусу комплекса. Расположение блока, модулей на корпусе АВК-6 показано на рисунке 2.
Рис. 2 – Состав АВК-6
Центральное место занимает аналоговая вычислительная машина
МЭМ-6, в которую входят служебные модули, блок и монтажное поле со сменными решающими модулями. Монтажное поле состоит из распределительной платы с направляющими штырями и контактами. Справа от МЭМ-6 расположен блок питания, слева – генератор и коммутатор, а в крайнем левом отсеке – электронно-лучевой индикатор.
Соединения между модулями, блоком питания, платой распределительной выполнены проводами.
Снизу комплекс закрывается нижней крышкой, которая винтами соединяется с корпусом АВК-6.
1.2 Конфигурация контроллера КРОСС-500
Контроллер КРОСС-500 состоит из центрального блока процессора, модулей УСО (DIO1-8/8, AIO1-8/4 и TC1-7), модуля питания АС 220/5, терминальных блоков (T1-DIO, T1-AIO и T1-TC), блока питания DRA60-24A и соединителей (C1-A, C1-D).
Модули УСО связаны с центральным блоком шиной SPI, а с терминальными блоками соединителями C1-A, C1-D.
2 Программирование контроллера
Технологическое программирование контроллера осуществляется в системе ISaGRAF, на языках, предусмотренных стандартом МЭК 1131-3:
· язык управляющих последовательностей (SFC);
· язык функциональных блоков (FBD);
· язык релейной логики (LD);
· структурированный текст (ST);
· язык инструкций (IL);
· язык потоковых диаграмм (FC).
Язык функциональных блоков FBD может быть расширен привычной для многих потребителей библиотекой алгоритмов контроллера Р-130.
2.1 Архитектура проекта
Проект ISaGRAF разделен на несколько программных модулей, называемых программами. Программы проекта связаны в древовидную структуру. Программы могут быть описаны с помощью графических или текстовых языков FBD, SFC, LD, IL и ST.
Программа – это логическая программируемая единица, которая описывает операции с переменными процесса. Программа описывает либо последовательные, либо циклические операции. Циклические программы выполняются на каждом цикле целевой системы. Исполнение последовательных программ определяется динамическими правилами языка SFC.
Программы связаны друг с другом в иерархическое дерево. Программы, находящиеся наверху иерархии, активизируются системой. Подпрограммы (нижний уровень иерархии) активизируются их родителями.
Одна и та же программа не может смешивать несколько языков, за исключением LD и FBD, которые могут быть скомбинированы в одной диаграмме.
Иерархия программ разделена на четыре основных секции:
· Begin – программы, выполняемые в начале каждого цикла целевой задачи;
· Sequential – программы, определяемые динамическими правилами языка SFC;
· End – программы, выполняемые в конце каждого цикла целевой задачи;
· Function – набор подпрограмм.
Программы секции Begin и End описывают циклические операции и не зависят от времени. Программы секции Sequential описывают последовательные операции, где временная переменная явно синхронизирует основные действия. Программы секции Function – это подпрограммы, которые могут быть вызваны любой другой программой в проекте.
Программы секции Sequential должны быть описаны при помощи языка SFC. Программы циклических секций не могут быть описаны с помощью SFC.
2.2 Основные типы
Любая константа, переменная или выражение, используемые в программе, должны характеризоваться своим типом. Типы должны быть согласованы в графических операциях и текстовых выражениях. Вот основные типы программных объектов:
· BOOLEAN – логическая величина;
· ANALOG – целая или действительная непрерывная величина;
· TIMER – временная величина;
· MESSAGE – строка символов.
2.3 Работа с программами
При создании программы идет запрос об имени программы, затем о языке, на котором будет она написана, и о режиме выполнения программы.
Команда меню Файл/Словарь
запускает редактор словаря, в котором могут быть объявлены переменные проекта. Переменные могут быть глобальными или локальными для выделенной программы.
Команда Создать
запускает генерацию кода проекта. До генерации целевого кода любая непроверенная программа проверяется для выявления синтаксических ошибок.
Команда Соединение В/В
запускает редактор соединения переменных ISaGRAF. Этот инструмент используется для создания связей между объявленными в словаре переменными ввода/вывода и соответствующей аппаратурой.
2.4 Симуляция и отладка работы приложения
После написания программы, генерирования кода проекта, соединения ввода/вывода можно симулировать отладку. Команда Симулировать
открывает отладчик в режиме симуляции. Эта программа очень полезна, когда целевая машина не доступна.
Команда Установление связи
позволяет пользователю определить параметры связи, используемые для коммуникации между отладчиком на главном компьютере и целевой системой ISaGRAF.
Команда Отладка
открывает главное окно отладчика при условии, что код сгенерирован и связь с целевой системой установлена.
2.5 Прожектор
С помощью средства ISaGRAF «прожектор» пользователь может определить списки наблюдения, которые могут показывать либо графические картинки, либо списки во время отладки. Графические символы должны быть связаны с переменными ISaGRAF. Картинки могут быть определены и анимированы в процессе работы.
3 ПИД-регулятор
В качестве объекта управления (ОУ) выбирается модель, набранная на аналоговом вычислительном комплексе АВК-6. Структурная схема данной системы автоматического управления отображена на рисунке 3.
Управление объектом осуществляется по ПИД-закону. Уравнение ПИД-регулятора имеет вид:
(1)
4 Программа регулирования
Создадим программу, реализующую ПИД-регулирование лабораторным комплексом. Для этого запускаем приложение ISaGRAF
(рис.4).
ign:center;">Рис. 4 – Окно приложения ПРОЕКТЫ
Создадим новый проект с помощью меню ФАЙЛ/НОВЫЙ
или используя сочетания клавиш CTRL
+
N
. В результате, в появившемся окне введите имя своего проекта, например PID
_
ST
.
После этого ваш проект появился в списке ПРОЕКТОВ. Нажав дважды ЛК на проекте, появится окно ПРОГРАММЫ, в котором необходимо создать две программы (на языке ST и FBD, соответственно PIDREGUL и IN_OUT), используя меню ФАЙЛ/НОВЫЙ
(рис.5). Программу IN_OUT будем использовать для ввода-вывода аналоговых сигналов с АВК-6, а в программе PIDREGUL опишем уравнение ПИД-регулятора.
Рисунок 5 – Окно создания нового проекта
Теперь откройте программу IN_OUT, нажав дважды ЛК по ее имени. Появится рабочая область, где и будем создавать нашу программу. Прежде чем выберем какие-либо блоки, опишем в СЛОВАРЕ все переменные согласно таблице 1, которые пригодятся нам в процессе программирования.
Выберите в панели управления функциональный блок ввода-вывода аналоговых сигналов (craio). Вставьте необходимые переменные и соедините их с блоком как показано на рисунке 6.
Таблица 1 - Описание переменных.
Имя переменной |
Тип данных |
Атрибуты/Тип |
Формат |
Начальное значение |
phys1 |
Булевые |
константа |
false |
|
Co |
внутренняя |
false |
||
Czb |
константа |
false |
||
Czm |
константа |
false |
||
Cbeg |
константа |
false |
||
Cp |
внутренняя |
false |
||
Cres |
внутренняя |
false |
||
adr |
Целые – действительные |
константа |
целая |
230 |
Xin |
внутренняя |
вещественная |
0 |
|
Yout |
внутренняя |
вещественная |
0 |
|
e |
внутренняя |
вещественная |
0 |
|
Xzdn |
внутренняя |
вещественная |
20 |
|
Td |
внутренняя |
вещественная |
0 |
|
km |
константа |
вещественная |
1 |
|
Xmax |
константа |
вещественная |
500000 |
|
Ximin |
константа |
вещественная |
-500000 |
|
Xbeg |
константа |
вещественная |
0 |
|
Xpor |
константа |
вещественная |
100000 |
|
Ti |
внутренняя |
вещественная |
0,05 |
|
Ydif |
внутренняя |
вещественная |
0 |
|
Yint |
внутренняя |
вещественная |
0 |
|
Kp |
внутренняя |
вещественная |
0,5 |
|
INPUT |
внутренняя |
вещественная |
0 |
|
differ |
FB экземпляры |
dif |
||
integrir |
integer |
Рис. 6 – Реализация ввода-вывода аналоговых сигналов
Сохраните программу и закройте. Теперь необходимо установить связь нашей программы с контроллером. Для этого заходим в меню ОПЦИИ/ОПЦИИ КОМПИЛЯТОРА
(рис.7) и устанавливаем метку напротив TIC
code
for
Intel
. Затем открываем окно ISaGRAF
-ПРОГРАММЫ
, заходим в меню ОТЛАДКА/УСТАНОВЛЕНИЕ СВЯЗЕЙ
. Устанавливаем коммуникационный порт ETHERNET
, а в УСТАНОВКЕ
прописываем адрес
192.168.0.11 (адрес контроллера); номер порта
1100.
Рис. 7 – Опции компилятора
Проверьте программу на отсутствие ошибок. Для этого откройте окно ISaGRAF
-ПРОГРАММЫ
и зайдите в меню СОЗДАТЬ/СОЗДАТЬ КОД ПРИЛОЖЕНИЯ.
При наличии ошибок исправьте их и проверьте программу заново.
Теперь откройте программу PIDREGUL. Опишем в ней на языке ST уравнение ПИД-регулятора.
Согласно уравнению (1), нам потребуются блоки INT и DIF. В СЛОВАРЕ они описаны как differ и integrir. Ошибка регулирования определяется как разность между заданным и текущим значениями сигнала:
Xin:=INPUT;
e:=Xzdn-Xin;
Вызовем блок DIF:
differ(e, km, Td, Co); (при вызове блоков в скобках указываются все входные
параметры)
Ydif:= differ.Y; (переменной Ydif присваивается значение выходного сигнала
блока DIF)
Вызовем блок INT:
integrir(x, Ti, Cbeg, Xbeg, Xmax, Xmin, Xpor, Czb, Czm);
Yint:= integrir.Y;
В итоге получим следующее уравнение ПИД-регулятора:
Yout:= Kp*(e+Yint+Ydif);
Общий вид программы представлен на рисунке 8.
Закройте программу, предварительно сохранив все изменения, проверьте ее на отсутствие ошибок. Теперь программа регулирования готова к загрузке в контроллер. Запустите отладчик с помощью ФАЙЛ/ОТЛАДКА
или кнопкой на панели управления, при этом на экране появится окно отладчика.
Рис. 8 – Окно программы PIDREGUL
Для наглядного отображения процесса регулирования необходимо воспользоваться приложением ПРОЖЕКТОР (Окно ОТЛАДЧИКА/меню ИНСТРУМЕНТЫ/ПРОЖЕКТОР). Появится окно ПРОЖЕКТОРА. Здесь входим в меню ВСТАВИТЬ/КРИВАЯ или используем кнопку из панели инструментов. Появится окно СТИЛЬ СИМВОЛА. В нем выберете ИМЯ – Xzdn, ЗАГОЛОВОК – Имя+значение, скорректируйте МАСШТАБ в единицы изменения сигнала. Таким же образом добавьте кривые сигналов Xin, Pomexa, Pomexa2. Изменяя входное воздействие (с АВК-6), вы увидите работу ПИД-регулятора (рис. 9).
5 Задание на лабораторную работу
1) Изучить структурную схему лабораторного комплекса.
2) Собрать модель объекта управления 1-5 порядка (по заданию преподавателя) на АВК-6.
Рис. 9 – Прожектор
3) Следуя пункту 3 данного пособия, создайте программу регулирования лабораторным комплексом.
4) Организуйте сигнализацию по ограничению входного сигнала на максимальное и минимальное значения.
5) Добавьте к входному сигналу импульсную (блок Blink или любой другой генератор импульсных сигналов) или синусоидальную (блок Sin_Gen) помеху по указанию преподавателя. Для преобразования импульсного сигнала в действительный используйте блок Real. При необходимости воспользуйтесь СПРАВКОЙ. Не забудьте добавить графики помех в ПРОЖЕКТОР.
6) Изменяя возмущающее воздействие путем изменения коэффициента передачи одного из звеньев, обеспечьте реализацию переходного процесса и исследуйте работу системы с ПИД-регулятором.
6 Контрольные вопросы
1) Что входит в состав лабораторного комплекса?
2) Что используется в качестве объекта управления?
3) Напишите уравнение ПИД-регулятора, поясните все его составляющие.
4) Каким образом можно воспользоваться существующими в библиотеке ISaGRAF функциональными блоками при составлении программы на языке ST?
5) Для чего предназначено приложение «ПРОЖЕКТОР» в системе ISaGRAF?
Учебное издание
Скороспешкин Владимир Николаевич
Аврамчук Валерий Степанович
СИСТЕМА АВТОМАТИЧЕСКОГО РЕГУЛИРОВАНИЯ НА БАЗЕ КОНТРОЛЛЕРА КРОСС 500
Методические указания к выполнению лабораторной работы № 5 по курсу «Основы автоматизации производственных процессов» для студентов, обучающихся по специальности 130501 - «Проектирование, сооружение и эксплуатация газонефтепроводов и газонефтехранилищ» и 130503 «Разработка и эксплуатация нефтяных и газовых месторожде-ний»
Подписано к печати 21.01.2004. Формат 60х84/16. Бумага «Снегурочка». Печать Xerox. Усл. печ. л. 1,68. Уч.-изд. л. 1,53. Заказ . Тираж 100 экз. |
||
|
Томский политехнический университет Система менеджмента качества Томского политехнического университета сертифицирована NATIONAL QUALITY ASSURANCE по стандарту ISO 9001:2000 |
|
. 634050, г. Томск, пр. Ленина, 30. |