Реферат: Создание проекта с использованием программы 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 в блоке NumericString.

Блок SCR2: здесь формируются значениятепературы жидкости на входе колонны, значение тепературы рибойлера и расходакубовой жидкости, индикация текущего уровня жидкости в кубовой секции, егосигнализация при аварийной ситуации, расход газа  и кубовой жидкости,тепература кубовой жидкости, а также качество смеси. Индикация выводится в окнах DISPLAY1 в блоке Numeric String.

Блок SCR3предназначен для формированиязначения тепературы пара и кубовой жидкости на выходе колонны, значение расходапара, индикация текущего расхода пара и тепературы жидкости в кубовой секции.Индикация выводится в  окнах DISPLAY1 в блоке Numeric String


DISP1 разработчик экрана (DisplayDesigner).

В данных окнахиспользуются блоки:

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

Numeric String — блок вывода числовых значений, служит для отображения текущих значенийвеличин: расхода нефти, температуры, уровня в ёмкости.

ABC (Text String) — для выведения на экран надписей и обозначений;

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

Realtime Trend Graph ( блок построения графиков в реальном времени)  — данный блокпозволяет наблюдать за изменением во времени сразу нескольких величин.

 

/> <td/> />
Структураокна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

еще рефераты
Еще работы по информатике, программированию