Создание проекта с использованием программы 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 ( блок построения графиков в реальном времени) - данный блок позволяет наблюдать за изменением во времени сразу нескольких величин.
Структура окна 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