Реферат: Создание проекта с использованием программы GeniDAQ и контроллеров серии АДАМ-4000

Министерство образования РТ

Альметьевский нефтянойинститут

Кафедра АИТ

<span Times New Roman",«serif»">Лабораторнаяработа

«СОЗДАНИЕПРОЕКТА С ИСПОЛЬЗОВАНИЕМ ПРОГРАММЫ GeniDAQ И КОНТРОЛЛЕРОВ СЕРИИ АДАМ-4000»

                                                    Выполнили: студенты гр. 38-61

                                                                 Хакимов Р.К. 

                                                                   Кузьмина О.И.

                                                                

                                          Проверил:преподаватель

                                                                  Тугашова Л. Г.

<span Times New Roman",«serif»">Альметьевск 2003

Для создания АСУ ТП НПСиспользовалась SCADA-система на базе программы GeniDAQ и модульные контроллерысерии ADAM 4000.

Объём автоматизации колонны ректификации:

1.<span Times New Roman"">    

Измерение, индикация ирегулирование уровня смеси в колонне;

2.<span Times New Roman"">    

Измерение притока нефти навходе в колонну;

3.<span Times New Roman"">    

Измерение притока смеси нарибойлер;

4.<span Times New Roman"">    

Сигнализация и сигнализацияпредельного уровня смеси.

5.<span Times New Roman"">    

Измерение температурырибойлера, пара и кубовой жидкости.

При создании АСУ ТП,ввиду отсутствия реальных технологических объектов и процессов, использовалисьих математические модели.

Проект АСУ ТП подоболочкой  SCADA-сиcтемы GeniDAQ представляетсобой программно оформленный алгоритм работы системы, разбитый на два видаокона: TASK и DISPLAY. В окнах TASK задаётся собственно алгоритм функционированияАСУ ТП с помощью готовых программных блоков (объектов программной среды),объединяемых в единую систему посредством линий связи.

В окнах DISPLAY создаётсярабочий интерфейс оператора АСУ ТП, также посредством готовых элементов.

TASK1 разработчикзадач(Task Designer).

В данном окне используютсяследующие блоки:

Basic Script (SCR#) — блок встроенного средства программирования;

Tag (Tag*) — блок-контейнер переменной типа Tag, используется для передачизначения переменной между окнами TASK, DISPLAY;

Блок SCR1служит дляформирования текущего значения расхода  жидкости на входе в колонну и регулирующего воздействия, Значениерасхода выводится в окне DISPLAY1 в блоке NumericString.

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

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

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

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

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

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

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

<span Times New Roman",«serif»">   Indicator -<span Times New Roman",«serif»">в данном случае используется дляотображения сигнализации.

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

 

<img src="/cache/referats/14277/image002.jpg" v:shapes="_x0000_s1030">
СтруктураокнаTask Designer (TASK1).

СтруктураокнаDisplay Designer (DISP1).

<img src="/cache/referats/14277/image004.jpg" v:shapes="_x0000_s1031">

Описаниескриптов:

SubSCR1()

         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 thenk=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

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