Создание проекта с использованием программы GeniDAQ и контроллеров серии АДАМ-4000
Создание проекта с использованием программы GeniDAQ и контроллеров серии АДАМ-4000
Министерство образования РТ
Альметьевский нефтяной институт
Кафедра АИТ
Лабораторная работа
«СОЗДАНИЕ ПРОЕКТА С ИСПОЛЬЗОВАНИЕМ ПРОГРАММЫ GeniDAQ И КОНТРОЛЛЕРОВ СЕРИИ
АДАМ-4000»
Выполнили: студенты
гр. 38-61
Хакимов
Р.К.
Кузьмина О.И.
Проверил: преподаватель
Тугашова
Л. Г.
Альметьевск 2003
Для создания АСУ ТП НПС использовалась SCADA-система на базе программы
GeniDAQ и модульные контроллеры серии ADAM 4000.
Объём автоматизации колонны ректификации:
1. Измерение, индикация и регулирование уровня смеси в колонне;
2. Измерение притока нефти на входе в колонну;
3. Измерение притока смеси на рибойлер;
4. Сигнализация и сигнализация предельного уровня смеси.
5. Измерение температуры рибойлера, пара и кубовой жидкости.
При создании АСУ ТП, ввиду отсутствия реальных технологических объектов
и процессов, использовались их математические модели.
Проект АСУ ТП под оболочкой SCADA-сиcтемы GeniDAQ представляет собой
программно оформленный алгоритм работы системы, разбитый на два вида окона:
TASK и DISPLAY. В окнах TASK задаётся собственно алгоритм функционирования
АСУ ТП с помощью готовых программных блоков (объектов программной среды),
объединяемых в единую систему посредством линий связи.
В окнах DISPLAY создаётся рабочий интерфейс оператора АСУ ТП, также
посредством готовых элементов.
TASK1 разработчик задач (Task Designer).
В данном окне используются следующие блоки:
Basic Script (SCR#) - блок встроенного средства программирования;
Tag (Tag*) - блок-контейнер переменной типа Tag, используется для
передачи значения переменной между окнами TASK, DISPLAY;
Блок SCR1служит для формирования текущего значения расхода жидкости
на входе в колонну и регулирующего воздействия, Значение расхода выводится
в окне DISPLAY1 в блоке Numeric String.
Блок SCR2: здесь формируются значения тепературы жидкости на входе
колонны, значение тепературы рибойлера и расхода кубовой жидкости,
индикация текущего уровня жидкости в кубовой секции, его сигнализация при
аварийной ситуации, расход газа и кубовой жидкости, тепература кубовой
жидкости, а также качество смеси. Индикация выводится в окнах DISPLAY1 в
блоке Numeric String.
Блок SCR3предназначен для формирования значения тепературы пара и
кубовой жидкости на выходе колонны, значение расхода пара, индикация
текущего расхода пара и тепературы жидкости в кубовой секции. Индикация
выводится в окнах DISPLAY1 в блоке Numeric String
DISP1 разработчик экрана (Display Designer).
В данных окнах используются блоки:
Numeric Control - блок числового ввода, данные блоки используются для
задания величин технологических параметров.
Numeric String - блок вывода числовых значений, служит для отображения
текущих значений величин: расхода нефти, температуры, уровня в ёмкости.
ABC (Text String) - для выведения на экран надписей и обозначений;
Indicator - в данном случае используется для отображения сигнализации.
Realtime Trend Graph ( блок построения графиков в реальном времени) -
данный блок позволяет наблюдать за изменением во времени сразу нескольких
величин.
Структура окна Task Designer (TASK1).
Структура окна Display Designer (DISP1).
Описание скриптов:
Sub SCR1()
F=GetTag("Task1","AI1")
Xp=GetTag("Task1","PID1")
F1=F+Xp/10
Outputf 0, F1
End Sub
public L, Qpr0, Sum
Sub SCR2()
T1=GetTag("Task1","AI2")
F1=GetTag("virtask","F1")
Ffleg=GetTag("Disp1","NCTL5")
Tfleg=GetTag("Disp1","NCTL6")
Trib=GetTag("virtask","TRIB")
Fkb=GetTag("Task1","PID2")
Fg=0.553*F1
Qpr=F1-Fg+Fkb/4
dQpr=Qpr-Qpr0
Qpr0=Qpr
Sum=Sum+dQpr
L=L+0.08*Sum
P105=0.985+0.183*Fg
Tkb=0.31*Trib+0.28*T1*0.43*F1
P29=0.156*Tkb
if l>=3 then k=1 else k=0
Outputf 0, L
Outputf 1, Fg
Outputf 2, -Fkb
Outputf 3, Tkb
Outputf 5, P105
End Sub
Sub SCR3()
Fpar=GetTag("Disp1","NCTL3")
Tpar=GetTag("Disp1","NCTL4")
Tkb=GetTag("virtask","TKB")
Xp=GetTag("Task1","PID4")
Fpar1=Fpar+Xp
Trib=0.54*Tpar*0.4*Fpar1-0.21*Tkb
Outputf 0, Fpar1
Outputf 1, Trib
End Sub
|