Построение системы контроля и управления технологическим процессом

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

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 17.04.2012
Размер файла 7,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

Московский государственный индустриальный университет (ГОУ МГИУ)

Кафедра 33 «Автоматика, информатика и системы управления»

Лабораторная работа №1

по курсу: «Интегрированные системы проектирования и управления»

Выполнил: Мустафин Д.А.

Группа: 10331

Преподаватель: Никольский Д.Н.

Москва, 2009

Цель работы: построить систему контроля и управления ТП с учетом имеющихся точек контроля, исполнительных механизмов и аппаратных средств автоматизации. Рассматриваемый технологический процесс (ТП) ведется на трех участках: термической обработки, хранения и дозирования.

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

Участок термической обработки управляется PC-based контроллером (используются два входных аналоговых сигнала - 2AI и два дискретных выходных - 2DO). Технологическая задача - поддержание постоянной температуры в аппарате - технологической установке осуществляющей длительный нагрев исходного сырья (функция регулирования). Регулирование температуры производится путем изменения расхода поступающего в аппарат теплоносителя. Алгоритм управления - пропорционально-дифференциальный-дифференциальный (ПДД), способ управления исполнительным механизмом - широтно-импульсная модуляция (ШИМ). Аналоговые сигналы от датчиков технологических параметров через нормирующие преобразователи поступают в PC-based контроллер, где обрабатываются 12-ти разрядным аналого-цифровым преобразователем (АЦП) и имеют представление в кодах (0-4095). Примем, что для измеряемой датчиком температуры коды соответствуют диапазону (0-100) С», а для расхода теплоносителя - (0-10) м3/час. АРМ контролирует подключенные к PC-based контроллеру технологические параметры (функция мониторинга) и задает настройки регулятора (функция управления).

Участок хранения обслуживается контроллером с традиционной архитектурой - PLC (используются три дискретных входных сигнала - 3DI и четыре аналоговых входных - 4AI) . АРМ выполняет только функцию мониторинга. PLC контроллер SIEMENS S7-200 содержит в своем составе центральный процессор CPU222 (8DI, 6DO) и модуль EM231 (4AI). С помощью программного пакета STEP7 разработана программа управления поддержанием уровня в хранилище и организована связь с АРМ с использованием имеющегося «на борту» процессорного блока свободно конфигурируемого коммуникационного интерфейса PPI по стандартному протоколу обмена Modbus RTU. В байтовой ячейке контроллера с адресом 0х0 в младших битах содержатся данные о сигналах состояния входной двери в хранилище (0 - закрыта, 1 - открыта), вентиляции (0 - не работает, 1 - работает) и пожарной сигнализации (0 - задымления нет, 1 - задымление). В двухбайтовых ячейках с адресами 0х1, 0х3, 0х5 и 0х7 содержатся данные, характеризующие такие параметры, как уровень заполнения, температура в хранилище, давление и влажность воздуха. АЦП в ЕМ231 12-ти разрядный, представление в кодах (0-4095) и соответственно контролируемые величины имеют диапазоны (0-5) м, (0-100) С», (0-5) атм. и (0-100) % соответственно. Настройки коммуникационного последовательного порта PPI CPU222 - 19200,n,8,1.

Участок дозирования контролируется и управляется PC-based контроллером (используется один аналоговый входной сигнал - 1AI и один выходной дискретный - 1 DO). По заданию, передаваемому с АРМ, производится отпуск готового продукта, контроль отпуска ведется по показаниям расходомера (коды (0-4095), соответствующий им расход (0-100 л/мин)), в качестве управляемого оборудования выступает дозирующий насос (включение - подача от контроллера логической «1» на модуль гальванической развязки, имеющий в качестве нагрузки пускатель насоса, отключение - логический «0»).

PC-based контроллер подключен к АРМ по сети через концентратор, используемый сетевой протокол - TCP/IP. В качестве контроллера выступает обычный РС-совместимый компьютер с установленной в системную шину ISA платой ввода/вывода А-8111 с 8AI, 16DI и 16DO /ICP DAS/, работающий под управлением ОС MS DOS.

Во время работы системы необходимо записывать в таблицу СУБД MS ACCESS данные по параметрам хранения (уровень, температура, давление и влажность) с меткой времени каждые пять минут.

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

В системе необходимо предусмотреть возможность работы двух пользователей - разработчика и оператора. Оператор в отличие от разработчика не должен иметь возможности вносить какие-либо изменения в структуру системы.

Создание экранов АРМ. Проиллюстрируем создание системы автоматизации путем проектирования «от шаблонов», т.е. будем создавать информационную базу проекта - каналы по аргументам разрабатываемых шаблонов экранов и программ, дополняя основной подход методами автопостроения и связывания каналов в узлах проекта.

Воспользуемся пользовательской библиотекой компонентов. Для этого скопируем файл tmdevenv.tmul из поддиректории %TRACE MODE%\Lib в директорию %TRACE MODE%.

Откроем интегрированную систему разработки и с помощью щелчка ЛК по иконке создадим новый проект. В качестве стиля разработки выберем Стандартный.

Перейдем в слой Библиотеки_компонентов, где в разделе Пользовательская откроем библиотеку Библиотека_1.

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

Перенесем группы в слой Ресурсы текущего проекта с помощью механизма drag-and-drop и переименуем их как показано ниже.

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

Создадим в группе Картинки новый компонент - Библиотека_Изображений#1.

Откроем двойным щелчком ЛК вновь созданную библиотеку для редактирования. Для ее наполнения воспользуемся иконкой на панели инструментов. В открывшемся диалоге выбора файлов для импорта укажем поддиректорию …\Lib\Texture. Выберем все файлы и нажмем экранную кнопку Открыть.

Содержимое библиотеки Библиотека_Изображений#1 станет следующим:

Подобным описанному выше способу создадим в слое Ресурсы группу Анимация, в ней - библиотеку Библиотека_Видеоклипов#1. Наполним ее содержимым …\Lib\Animation.

Из всех представленных в библиотеке видеоклипов мы будем использовать только fluid_blue, остальные можно убрать с помощью иконки на панели инструментов, предварительно выбрав видеоклип ЛК.

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

Перейдя в слой Шаблоны_экранов, создадим в нем компонент Экран#1.

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

Переименуем его в Участок_термообработки. Создадим также экраны для задания параметров ПДД-регулятора, участков хранения и дозирования. Переименуем их соответственно:

В соответствии с ТЗ на проектирование назначим аргументы шаблону экрана участка термообработки - щелчок ПК на созданном шаблоне экрана и выбор из выпадающего списка пункта Свойства, далее переход во вкладку Аргументы. Здесь и далее с помощью иконки создаются необходимые аргументы, задаются их имена, тип, тип данных, значения по умолчанию, привязки, флаги и т.д.

Те аргументы, значения которых будут отображаться на экране, имеют тип IN, а те, что задаются с клавиатуры АРМ, отображаются на экране и пересылаются в конечном итоге в PC-based контроллер, имеют тип OUT. В процедуре автопостроения каналов от шаблонов автопривязка аргументов будет осуществляться соответственно к атрибутам Реальное и входное значение каналов.

Закроем бланк свойств экрана щелчком ЛК на . Для перехода к непосредственному созданию и редактированию содержимого экрана дважды нажмем на нем ЛК мыши. Зададим в качестве фона экрана текстуру metal_011. Для этого выберем в основном меню пункт Сервис, в нем - Параметры экрана. В открывшемся диалоговом окне укажем в качестве типа фона изображение, а из имеющихся в библиотеке текстур - metal_011.

После нажатия экранной кнопки Готово фон графического экрана будет изменен на указанный.

С помощью графических объектов (ГО), сохраненных в ресурсных библиотеках и вызываемых с помощью иконки панели инструментов, а также графических элементов (ГЭ) объемных труб и текста , создадим статическую часть экрана. Примерный вид представлен ниже.

Графические объекты размещаются с использованием метода drag-and-drop и допускают масштабирование. Для изменения размера ГО необходимо выделить его ЛК и с помощью позиционирования указателя мыши в узловые точки выполнить необходимые корректирующие действия:

Значения расхода теплоносителя и рабочей температуры будем отображать с помощью ГЭ Показывающий прибор . Разместив их на экране, двойным щелчком ЛК откроем свойства левого ГЭ и зададим ему свойства:

Аналогичным образом поступим с правым ГЭ:

В нижней части экрана с помощью иконки разместим ГЭ Тренд для вывода значений аргументов Температура_рабочая, Расход_теплоносителя и Задание_температуры.

Основные свойства ГЭ оставим заданными по умолчанию, добавив заголовок Участок термообработки.

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

Для формирования задания регулятору разместим справа от ГЭ Тренд ГЭ Прямоугольник , он будет служить подложкой для ГЭ Ползунок с помощью которого будем задавать величину задания и отображать его же. Точную величину задания будем отображать в верхней части прямоугольника с помощью ГЭ Текст .

Свойства ГЭ будут:

Откажемся от использования рамки и заливки для данного ГЭ, задав ему следующие свойства:

Свойства ГЭ назначим следующим образом:

также отказавшись от рамки и заливки.

В правом верхнем углу экрана разместим надпись - Участок термообработки.

Так как для АРМ будет разработано еще два экрана (Хранение и Дозирование), то для осуществления переходов между экранами необходимо предусмотреть соответствующие средства. В качестве них будем использовать ГЭ .

Двойным щелчком ЛК на ГЭ Хранение откроем его свойства, в разделе События выделим ЛК пункт mousePressed (событие по нажатию ЛК на ГЭ) и по нажатию ПК добавим переход на экран:

В открывшемся пункте Jump to Screen по нажатию ЛК из списка выберем шаблон экрана Участок_Хранения:

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

Таким образом, экран, представляющий на АРМ участок термической подготовки подготовлен и выглядит следующим образом:

Аргументы экрана Параметры_ПДД-регулятора зададим следующим образом:

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

На данном экране разместим ГЭ Рамка , переместим его на задний план с помощью иконки на панели инструментов, затем в верхней части экрана с помощью ГЭ Текст зададим заголовок экрана - Параметры ПДД-регулятора. Далее разместим ГЭ Кнопка для посылки значений параметров и левее ее ГЭ Текст для их отображения. Осуществим привязки ГЭ к аргументам экрана:

и

Затем выделим ЛК ГЭ и воспользуемся инструментарием для тиражирования ГЭ:

В открывшемся диалоговом окне зададим параметры:

Отредактируем надписи и привязки созданных ГЭ, подобным образом поступим в отношении ГЭ Текст . В итоге получим:

Аргументы для шаблона экрана Участок_Хранения будут следующие:

Аргументы Событие_Дверь, Событие_Вент и Событие_Пож предназначены для отображения и квитирования событий с использованием ГЭ События . Аргументы Слой_основной и Слой_тренд - для управления видимостью слоев экрана. В первом слое будет отображаться мнемосхема участка хранения, во втором - тренд значений параметров хранения. Флаг NP, выставленный для аргументов не позволит создавать соответствующие каналы при операциях автопостроения.

Зададим для экрана в качестве фона изображение - одну из текстур, имеющихся в библиотеке, с помощью ГО и ГЭ , выполним статическую часть рисунка:

Определим с использованием ГЭ вывод значений параметров хранения:

Выполним привязку ГЭ к аргументам шаблона экрана, установим формат вывода значений как, например, для аргумента Уровень:

Для отображения состояния дискретных сигналов открытия/закрытия двери в хранилище, включения/отключения вентиляции и срабатывания пожарной сигнализации применим совместно цветовую и текстовую индикацию, определяемую для ГЭ . Так, для отображения текущего состояния двери в хранилище назначим ГЭ следующие свойства:

Подобным образом выполним настройку свойств для остальных ГЭ. Уровень продукта в емкости будем отображать с помощью гистограммы произвольной формы, которую создадим с помощью ГЭ Многоугольник .

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

Последовательно скопируем из шаблона экрана Участок_термообработки и перенесем на шаблон Участок_Хранения ГЭ для отображения текущей даты/времени и кнопки переходов по экранам. Для этого выделяем ЛК необходимый ГЭ (для выделения нескольких ГЭ можно воспользоваться нажатием и удержанием клавиши Ctrl либо выделить мышью область при нажатой ЛК) и используем иконку на панели инструментов. Для вставки - . Можно применять и стандартные комбинации клавиш для работы с буфером обмена: Ctrl+C и Ctrl+V. После вставки ГЭ необходимо произвести их перепривязку к аргументам текущего шаблона экрана.

В нижней части экрана разместим ГЭ События , выделим его ЛК и отцентрируем горизонтально с помощью соответствующего пункта меню:

Основные свойства ГЭ оставим без изменения, во вкладке Привязки определим следующие привязки к аргументам шаблона экрана:

Таким образом, текущий экран будет выглядеть как:

Для вывода на тренде текущих значений параметров хранения создадим дополнительный графический слой для шаблона экрана Участок_Хранения. Через пункт Вид основного меню откроем окно графических слоев:

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

Разместим в данном слое (при этом в окне слоев он должен быть выделен ЛК) ГЭ Тренд и Кнопка . Для тренда определим основные свойства как:

и зададим семь кривых:

для которых укажем привязки к соответствующим аргументам, цвет и толщину линий, пределы и заголовки для их идентификации на ГЭ.

Свойство События для размещенного ниже ГЭ Возврат определим таким образом, что при нажатии на нем ЛК в аргументы шаблона экрана, для которых определены привязки к графическим слоям, осуществлялись прямые посылки. Значения, посылаемые в данные аргументы, управляют видимостью слоев, 0 - слой отображается, 1 (любое значение, отличное от 0) - нет:

ГЭ Календарь для вывода текущей даты/времени и ГЭ Текст с названием участка копируются в слой Тренд из слоя Слой. После выполнения указанных операций слой Тренд шаблона экрана Участок_Хранения будет выглядеть как:

Для перехода к просмотру значений параметров хранения на тренде, размещенном в слое Тренд, в слое Слой определим свойства ГЭ со статической надписью Параметры хранения следующим образом:

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

Для шаблона экрана Участок_Дозирования аргументы зададим как:

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

Видеоклип, изображающий поток продукта привязан к аргументу экрана следующим образом:

Пояснения требует и ГЭ Задание объема. По нажатию на нем ЛК будет осуществляться посылка значений в два аргумента экрана:

Первое - собственно для задания величины отпускаемого объема продукта, второе - для сброса накопленной в контроллере величины объема по предыдущему циклу розлива. По нажатию ЛК на ГЭ ОТПУСТИТЬ ПРОДУКТ будет посылаться 1 в соответствующий аргумент экрана, в момент, когда заданный объем продукта будет отпущен, контроллер сбросит атрибут Входное значение канала в АРМ, связанный с аргументом экрана Старт_Стоп в 0.

Написание программ. Продолжая разработку проекта принятым способом, создадим шаблоны программ, реализующие управляющие функции - поддержания температуры и розлива продукта, а также вспомогательные, предназначенные для работы с дискретными сигналами. В левом окне навигатора проекта ЛК выберем слой Шаблоны_программ, по щелчку ПК создадим компонент Программа#1:

Выделив созданный компонент ЛК, изменим его имя на Управление#1, так как данная программа будет создана для загрузки в PC-based контроллер с целью поддержания заданной температуры в аппарате на участке термообработки. Двойным щелчком ЛК на компоненте Управление#1 откроем окно редактора шаблонов программ и, выделив ЛК пункт Аргументы, перейдем в табличный редактор аргументов. Создадим аргументы для данного шаблона программы исходя из ТЗ на разработку ПДД-регулятора с управлением исполнительным механизмом методом широтно-импульсной модуляции (ШИМ).

После определения входных и выходных аргументов приступим непосредственно к разработке программы. Для этого выделим ЛК имя созданного шаблона программы и в появившемся диалоге выбора языка программирования укажем FBD диаграмму.

В открывшемся окне редактора программ выберем ЛК иконку для доступа к библиотекам функциональных блоков, далее выбирая ЛК необходимые блоки, перетаскиваем их в рабочее поле редактора, группируем, определяем внутренние связи между входами и выходами блоков, назначаем привязки к аргументам. Готовая программа выглядит следующим образом:

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

В нашем случае данное окно содержит сообщение об успешном окончании процесса компиляции:

Для процесса дозирования продукта создадим программу Розлив#2, задав для нее следующие аргументы:

Кроме того, определим одну глобальную переменную для накопления в ней величины объема отпускаемого продукта:

Для разработки программы воспользуемся языком Техно ST, для чего в окне выбора языка программирования укажем ST программа.

Текст программы может выглядеть следующим образом:

Откомпилируем программу для включения в проект нажатием F7.

Для работы с входными и выходными дискретными сигналами разработаем на Техно FBD программы Распаковка#3 распаковки получаемого от контроллера PLC байта данных и Упаковка#4 упаковки битов управления для PC-based контроллера в байт. Следует отметить, что на практике прибегать к созданию программ для упаковки битов/распаковке байтов обычно не требуется, поскольку каналы класса HEX16 имеют в своем составе атрибуты Бит1, Бит2Бит16, обеспечивающие доступ к отдельным своим битам. Однако для целостности изложения выбранного способа проектирования - «от шаблонов» воспользуемся все-таки указанным выше методом. Итак, для шаблона программы Распаковка#3 аргументы зададим как:

Программа будет выглядеть как:

Соответственно для шаблона программы Упаковка#4 аргументы и программа будут следующими:

и

Компиляцию производим по нажатию функциональной клавиши F7.

ВЫВОД

В ходе работы были созданы 3 экрана АРМ: участки термообработки, дозирования и хранения; были созданы шаблоны программ, реализующих управляющие функции - поддержания температуры и розлива продукта, а также вспомогательные, предназначенные для работы с дискретными сигналами.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.