From OpenSCADAWiki
Jump to: navigation, search
This page is a translated version of the page Using/Model AGLKS and the translation is 100% complete.

Other languages:
English • ‎российский • ‎українська

Динамічна модель реального часу газо-ліфтної компресорної станції
Статус:

Засновано: Січень 2006
Версія: 2.0 — BlockCalc.{gen,gen_cntr,CM*0*}, 2.0 — LogicLev.gen, 2.0 — VCA.AGLKS
Учасники: Роман Савоченко
Опис: Проект присвячено створенню повної моделі Анастасіївської газо-ліфтної компресорної станції (ГЛКС).
Адреса:

  • постачається пакетом Linux дистрибутиву на кшталт "openscada-model-aglks";
  • безпосередньо з репозиторію subversion та перетворене у файли БД SQLite шляхом:
$ wget http://oscada.org/svn/trunk/OpenSCADA/data/ModelsDB/AGLKS/Model.sql
$ sqlite3 -init Model.sql Model.db .exit
Model AGLKS so gen uk.png

Анастасіївська ГЛКС (АГЛКС) представляє собою технологічний процес, призначений для двох-ступеневого стиснення газу газових родовищ. Для цієї мети ГЛКС має шість відцентрових компресори, по три компресора на низький та високий тиск, забезпечуючи тим самим резервування та допускаючи паралельну роботу з метою підвищення продуктивності.

1 Призначення

Функціонально, розробка призначена для створення динамічної моделі реального часу газо-ліфтної компресорної станції.

Експлуатаційним призначенням розробки є:

  • тестування алгоритмів керування АСУ ТП, особливо антипомпажних алгоритмів;
  • тестування адекватності функціювання SCADA-системи;
  • навчання технологічного персоналу;
  • "жива" демонстрація функцій та приклад проекту у SCADA-системі OpenSCADA, як фактична, та наразі кінцева, мета.

2 Розробка

Первісно цей проект та модель створювалися для тестування алгоритмів керування ГЛКС, в особливості антипомпажних алгоритмів. Передбачалося запуск моделі на одно-платному комп'ютері з ПУО та взаємодія з контролером керування технологічним процесом. У розробці моделі було використано бібліотеку технологічних апаратів OpenSCADA. Надалі модель ТП компресорної станції виросла у автономну систему, котра використовується у проекті OpenSCADA в якості прикладу, демонстрації функції та можливостей. Текстові значення моделі доступні на трьох мовах: Англійська, Українська та Російська.

Концептуально, комплексні моделі технологічних процесів поділяються та складаються з трьох чітко-визначених структурних одиниць, які так само чітко окреслені у практичному застосуванні та можуть використовуватися незалежно, після спільного відпрацювання, а саме це (з низу на гору):

  • технологічний процес — математична модель реального часу, що описує роботу технологічного процесу у динаміці;
  • Програмований Логічний Контролер (ПЛК) — фактично це алгоритми та регулятори, призначені для здійснення контролю за стабільністю технологічного процесу у межах режимів визначених технологічним регламентом, та такі що відтворюються комплексною моделлю;
  • Supervisory Control And Data Acquisition (SCADA) — диспетчерська система збору даних, що безпосередньо є вікном до технологічного процесу, отримуючи дані від ПЛК та видаючи керуючі дії.

2.1 Технологічний процес

Перед створенням моделі ГЛКС було сформовано принципову схему моделі її технологічного процесу, засновану на принциповій схемі реального технологічного процесу. Отриману схему зображено на рисунку 1.

Рис.1. Схема технологічного процесу АГЛКС.

2.2 Моделювання

Для побудови моделі технологічного процесу, на основі доступних моделей апаратів, була безпосередньо використана початкова принципова схема та блоковий обчислювач (BlockCalc) OpenSCADA. Моделі апаратів технологічної схеми додавалися до блокової схему відповідно до принципової. Частину блоків було додано для допоміжного обладнання, а також вузлів потоків. Номери блоків вузлів на принциповій схемі вказано номерами біля вузлів потоків.

Модель реалізовано у вигляді вісьмох блокових схем блокового обчислювача. Склад та властивості блокових схем наведено у таблиці 1.

Таблиця 1. Блокові схеми моделі

Ідентифікатор Ім'я Призначення Період виконання, секунди
gen Загальностанційка Містить модель загальної частини компресорної станції, а саме все що зображено на принциповій схемі за межами сірих блоків окремих компресорів. 0.01
gen_cntr Загальностанційка (контролер) Містить модель системи керування загальностанційною частиною. 1
CM101 Модель КМ101 Містить модель першого компресора низького тиску КМ101. 0.01
CM102 Модель КМ102 Містить модель першого компресора високого тиску КМ102. 0.01
CM201 Модель КМ201 Містить модель другого компресора низького тиску КМ201. 0.01
CM202 Модель КМ202 Містить модель другого компресора високого тиску КМ202. 0.01
CM301 Модель КМ301 Містить модель третього компресора низького тиску КМ301. 0.01
CM302 Модель КМ302 Містить модель третього компресора високого тиску КМ302. 0.01

У таблиці 2 наведено перелік використаних моделей апаратів, відповідно до принципової схеми.

Таблиця 2. Використані моделі апаратів

Модель апарату Апарати (блоки моделі)
Кульовий кран (ballCrane) gen.G_BC1, gen.G_BC2, gen.G_BC5, gen.G_BC6, gen.G_BC7, gen.G_BC21, G_BC22, CM*01.G_BC101, CM*01.G_BC102, CM*01.G_BC104, CM*01.G_BC105, CM*01.G_BC106, CM*02.G_BC111, CM*02.G_BC112, CM*02.G_BC114, CM*02.G_BC115, CM*02.G_BC116
Компресор газовий (compressor) CM*01.CM101_1, CM*01.CM101_2, CM*02.CM102_1, CM*02.CM102_2
Повітряний холодильник (cooler) CM*01.AT101_1, CM*01.AT101_2, CM*02.AT102_1, CM*02.AT102_2
Діафрагма (diafragma) gen.PP1, gen.PP3, gen.PP5, gen.PP7, CM*01.PP101, CM*01.PP102, CM*02.PP103, CM*02.PP104
Засувка (klap) gen.BC1, gen.BC5, gen.BC6, gen.BC21, CM*01.KPP101, CM*01.DR100, CM*01.BC101, CM*01.BC104, CM*01.BC106, CM*02.KPP102, CM*02.DR101, CM*02.BC111, CM*02.BC113, CM*02.BC114, CM*02.BC116
Затримка (lag) gen.P_PCV2
Мережа, навантаження (net) gen.netHPG, gen.netGlinsk, gen.netTorch, CM*02.net102
Труба 1->1 (pipe1_1) gen.pipeGlinsk
Труба 1->2 (pipe1_2) gen.node1, gen.node20
Труба 1->3 (pipe1_3) gen.node1_1, gen.node21, CM*01.node4_1
Труба 1->4 (pipe1_4) CM*02.node6_1
Труба 3->1 (pipe3_1) gen.node22, gen.node19, CM*01.node3_1, CM*02.node5_1
Шум, 2 гарм. + вип. (noise) gen.noisePP3
Сепаратор (separator) gen.C1, gen.C2, CM*01.C101_1, CM*01.C101_2, CM*01.C101_3, CM*02.С102_1, CM*02.С102_2, CM*02.С102_3
Джерело, тиск (src_press) gen.SrcGas

Завдяки використанню бібліотеки моделей апаратів та концепції побудови динамічних моделей була отримана динамічна модель, з якої можна взяти параметри у будь-якому місті принципової схеми як для вивчення, так і для відпрацювання алгоритмів керування.

Для отримання інформації про технологічний процес були створені параметри (таблиця 3), які представляють дані з окремих вузлів моделі.

Таблиця 3. Параметри технологічного процесу

Шифр Опис Властивості Джерело
Загальностанційка (BlockCalc.gen)
F2, F_PP1 Витрати газу через діафрагму PP1 PP1.Fi
F3 Витрати газу через трубу на Глінск pipeGlinsk.Fi
F4, F_PP5, F5_6 Витрати газу через діафрагму PP5 PP5.Fi
F7_8 Витрати газу через діафрагму PP7 PP7.Fi
F_PP3 Витрати газу через діафрагму PP3 PP3.Fo
КК1 Блок керування кульовим краном КК1 G_BC1.com, G_BC1.st_open, G_BC1.st_close
КК2 Блок керування кульовим краном КК2 G_BC2.com, G_BC2.st_open, G_BC2.st_close
КК5 Блок керування кульовим краном КК5 G_BC5.com, G_BC5.st_open, G_BC5.st_close
КК6 Блок керування кульовим краном КК6 G_BC6.com, G_BC6.st_open, G_BC6.st_close
КК7 Блок керування кульовим краном КК7 G_BC7.com, G_BC7.st_open, G_BC7.st_close
КК21 Блок керування кульовим краном КК21 G_BC21.com, G_BC21.st_open, G_BC21.st_close
КК22 Блок керування кульовим краном КК22 G_BC22.com, G_BC22.st_open, G_BC22.st_close
L1 Рівень рідини у сепараторі C2 C2.Lж
Ti Температура газу на вході КС BC1.Ti
T_PP1 Температура газу на діафрагмі PP1 PCV1.To
T_PP3 Температура газу на діафрагмі PP3 node19.To
T_PP5 Температура газу на діафрагмі PP5 BC21.To
Pi Тиск газу на вході КС BC1.Pi
P_PP1 Тиск газу на діафрагмі PP1 PP1.Po
P_PP3, PC0601 Тиск газу на діафрагмі PP3 PP3.Po
P_PP5, P4, PT0404 Тиск газу на діафрагмі PP5 PP5.Po
PT0804, P3 Тиск газу у трубі на Глінск pipeGlinsk.Pi
PT1606, PT0503 Тиск газу у сепараторі С1 C1.Po
PT0406 Тиск газу на діафрагмі PP7 PP7.Po
PT0605 Тиск газу перед регулюючим клапаном КРТ1 PCV1.Pi
Загальностанційка (LogicLev.gen)
F3 Витрати газу через трубу на Глінск Шаблон: base.anUnif

т/год, (0;100), a(10;90), w(35;80)

BlockCalc.gen.F3.var
F4, F_PP5 Витрати газу через діафрагму PP5 Шаблон: base.anUnif

т/год, (0;100), a(10;90), w(35;80)

BlockCalc.gen.F4.var, BlockCalc.gen.F_PP5.var
F_PP1 Витрати газу через діафрагму PP1 Шаблон: base.anUnif

т/год, (0;150)

BlockCalc.gen.F_PP1.var
F_PP3 Витрати газу через діафрагму PP3 Шаблон: base.anUnif

т/год, (0;150)

BlockCalc.gen.F_PP3.var
Ti Температура газу на вході КС Шаблон: base.anUnif

град. С, (-50;50), a(-20;40), w(-10;30)

BlockCalc.gen.Ti.var
T_PP1 Температура газу на діафрагмі PP1 Шаблон: base.anUnif

град. С, (0;50)

BlockCalc.gen.T_PP1.var
T_PP3 Температура газу на діафрагмі PP3 Шаблон: base.anUnif

град. С, (0;50)

BlockCalc.gen.T_PP3.var
T_PP5 Температура газу на діафрагмі PP5 Шаблон: base.anUnif

град. С, (0;50)

BlockCalc.gen.T_PP5.var
Pi Тиск газу на вході КС Шаблон: base.anUnif

кгс/см2, (0;20), a(4;15), w(5;10)

BlockCalc.gen.Pi.var
P3 Тиск газу у трубі на Глінск Шаблон: base.anUnif

кгс/см2, (0;100), a(10;90), w(20;80)

BlockCalc.gen.P3.var
P_PP1 Тиск газу на діафрагмі PP1 Шаблон: base.anUnif

кгс/см2, (0;10)

BlockCalc.gen.P_PP1.var
P_PP3 Тиск газу на діафрагмі PP3 Шаблон: base.anUnif

кгс/см2, (0;50)

BlockCalc.gen.P_PP3.var
P_PP5, P4 Тиск газу на діафрагмі PP5 Шаблон: base.anUnif

кгс/см2, (0;50)

BlockCalc.gen.P_PP5.var, BlockCalc.gen.P4.var
PT0503 Тиск газу у сепараторі С1 Шаблон: base.anUnif

кгс/см2, (0;10), a(2;8), w(3;7)

BlockCalc.gen.PT0503.var
BC6close Сигналізація по закриттю крана КК6 Шаблон: base.digAlarm BlockCalc.gen.BC6.st_open
gN1 Вузол обліку діафрагми PP1 Шаблон: base.gasPoint
КК7 Блок контролю кульовим краном КК7 Шаблон: base.digitBlock

t=5c

BlockCalc.gen.BC7.com, BlockCalc.gen.BC7.st_open, BlockCalc.gen.BC7.st_close
Контролер загальностанційки (BlockCalc.gen_cntr)
PC_КРТ1 Регулятор тиску на вході КС ат, (0;10) PC_PCV1.*
PC_КРТ2 Регулятор тиску між компресорами низького та високого тиску ат, (0;50) PC_PCV2.*
PC_КРТ3 Регулятор тиску на виході КС ат, (0;120) PC_PCV3.*
ПомпажКМ101 Регулятор захисту від помпажу компресору КМ101 at, (0;2) SurgeCM101.sp:sp
ПомпажКМ102 Регулятор захисту від помпажу компресору КМ102 at, (0;2) SurgeCM102.sp:sp
ПомпажКМ201 Регулятор захисту від помпажу компресору КМ201 at, (0;2) SurgeCM201.sp:sp
ПомпажКМ202 Регулятор захисту від помпажу компресору КМ202 at, (0;2) SurgeCM202.sp:sp
ПомпажКМ301 Регулятор захисту від помпажу компресору КМ301 at, (0;2) SurgeCM301.sp:sp
ПомпажКМ302 Регулятор захисту від помпажу компресору КМ302 at, (0;2) SurgeCM302.sp:sp
Модель КМ*01 (BlockCalc.CM*01)
KPP101 Антипомпажний регулюючий клапан компресору  %, (0;100), 0 знаков KPP101.l_kl1
FN101 Витрати на виході компресора BC104.Fi
F101 Витрати на діафрагмі PP101 т/год, (0;100), 1 знак PP101.Fi
F102 Витрати на діафрагмі PP102 т/год, (0;100), 1 знак PP102.Fi
TE1202_1 Температура після першого ступеня компресору К, (273;373), 0 знак CM101_1.To
TE1205_1 Температура після другого ступеня компресору К, (273;433), 0 знак CM101_2.To
TE1313_1 Температура на вході першого ступеня компресору К, (273;373), 0 знак node5_1.To
TE1314_1 Температура після холодильника першого ступеня компресору К, (273;373), 0 знак AT101_1.To
TE1206_1 Температура після холодильника другого ступеня компресору К, (273;373), 0 знак AT101_2.To
AT101_1 Блок контролю холодильника після першого ступеня компресору AT101_1.Ti, AT101_1.To, AT101_1.Wc
AT101_2 Блок контролю холодильника після другого ступеня компресору AT101_2.Ti, AT101_2.To, AT101_2.Wc
КК101 Блок керування кульовим краном КК101 G_BC101.com, G_BC101.st_open, G_BC101.st_close
КК102 Блок керування кульовим краном КК102 G_BC102.com, G_BC102.st_open, G_BC102.st_close
КК104 Блок керування кульовим краном КК104 G_BC104.com, G_BC104.st_open, G_BC104.st_close
КК105 Блок керування кульовим краном КК105 G_BC105.com, G_BC105.st_open, G_BC105.st_close
КК106 Блок керування кульовим краном КК106 G_BC106.com, G_BC106.st_open, G_BC106.st_close
PT0202_1 Тиск після першого ступеня компресору ат, (0;20), 1 знак CM101_1.Po
PT0204_1 Тиск після другого ступеня компресору ат, (0;50), 1 знак CM101_2.Po
PT1006_1 Тиск на діафрагмі PP102 ат, (0;20), 1 знак PP102.Pi
P101 Тиск на діафрагмі PP101 ат, (0;10), 1 знак PP101.Pi
ST8612_1 Оберти компресору 1000x об.хвил., (0;10), 2 знака CM101_1.N
Модель КМ*02 (BlockCalc.CM*02)
KPP102 Антипомпажний регулюючий клапан компресору  %, (0;100), 0 знаков KPP102.l_kl1
TE1202_4 Температура після першого ступеня компресору К, (273;373), 0 знак CM102_1.To
TE1205_4 Температура після другого ступеня компресору К, (273;433), 0 знак CM102_2.To
TE1313_4 Температура на вході першого ступеня компресору К, (273;373), 0 знак node5_1.To
TE1314_4 Температура після холодильника першого ступеня компресору К, (273;373), 0 знак AT102_1.To
TE1206_4 Температура після холодильника другого ступеня компресору К, (273;373), 0 знак AT102_2.To
F103 Витрати на діафрагмі PP103 т/год, (0;100), 1 знак PP103.Fi
F104 Витрати на діафрагмі PP104 т/год, (0;100), 1 знак PP104.Fi
PT0202_4 Тиск після першого ступеня компресору ат, (0;75), 1 знак CM102_1.Po
PT0204_4 Тиск після другого ступеня компресору ат, (0;150), 1 знак CM102_2.Po
PT1006_4 Тиск на діафрагмі PP104 ат, (0;75), 1 знак PP104.Pi
P103 Тиск на діафрагмі PP103 ат, (0;50), 1 знак PP103.Pi
КК111 Блок керування кульовим краном КК111 G_BC111.com, G_BC111.st_open, G_BC111.st_close
КК112 Блок керування кульовим краном КК112 G_BC112.com, G_BC112.st_open, G_BC112.st_close
КК114 Блок керування кульовим краном КК114 G_BC114.com, G_BC114.st_open, G_BC114.st_close
КК115 Блок керування кульовим краном КК115 G_BC115.com, G_BC115.st_open, G_BC115.st_close
КК116 Блок керування кульовим краном КК116 G_BC116.com, G_BC116.st_open, G_BC116.st_close
ST8612_4 Оберти компресору 1000x об.хвил., (0;15), 2 знака CM102_1.N

2.3 Регулювання

Сама по собі динамічна модель без регулювання може бути нестійкою, хоча у цьому випадку відсутні незбалансовані інтегральні ланки. З цієї причини, а також для створення самодостатньої моделі, спроможної працювати автономно та без ПЛК у ролі регулятору, було створено об'єкт контролеру регуляторів моделі, де реалізовано три загальних ПІД-регулятори PC_КРТ1, PC_КРТ2 та PC_КРТ3 для регулювання тиску на вході КС, між компресорами низького та високого тиску, а також на виході КС. Також передбачено шість регуляторів антипомпажного захисту SurgeCM*0*, по одному на компресор.

3 Інтерфейс користувача

Користувацький інтерфейс моделі містить сім об'єктів сигналізації (рис.2). Шість з них містять кадри компресорів КМ101, КМ201, КМ301, КМ102, КМ202 та КМ302. Сьомий є загальним для всіх компресорів станції та містить загальностанційні кадри. Загальностанційна група сигналізації містить дві мнемосхеми, дві групи графіків, групу контурів, групу оглядових кадрів та п'ять документів. Також надається одна загальна оглядова група результатних графіків.

Рис.2. Загальний вигляд вікна інтерфейсу користувача.

Мнемосхеми об'єкту сигналізації "Загальностанційка" представлені на рисунку 3 та 4.

Рис.3. Головна мнемосхема КС.
Рис.4. Тестова мнемосхема.

Групи графіків "Загальні" та "Температури" представлені на рисунку 5 та 6, відповідно.

Рис.5. Група графіків "Загальні".
Рис.6. Група графіків "Температури".

Група контурів "Загальні" (рис.7) містить контури всіх регуляторів та низку важливих параметрів.

Рис.7. Група контурів "Загальні".

Група оглядових кадрів "Загальні" (рис.8) містить кадри основних параметрів.

Рис.8. Група оглядових кадрів "Загальні".

Документи "Таблиця накопичених миттєвих значень", "Журнал дій", "Середні за годину значення витрато-вимірювального вузла", "Середньодобові значення витрато-вимірювального вузла" та "Добовий звіт" представлені на рисунку 9, 10, 11, 12 та 13, відповідно.

Рис.9. Документ "Таблиця накопичених миттєвих значень".
Рис.10. Документ "Журнал дій".
Рис.11. Документ "Середні за годину значення витрато-вимірювального вузла".
Рис.12. Документ "Середньодобові значення витрато-вимірювального вузла".
Рис.13. Документ "Добовий звіт".

Об'єкти сигналізації компресорів низького тиску містять мнемосхему (рис.14) та групу графіків (рис.15).

Рис.14. Мнемосхема компресору низького тиску.
Рис.15. Група графіків компресору низького тиску.

Об'єкти сигналізації компресорів високого тиску містять мнемосхему (рис.16) та групу графіків (рис.17).

Рис.16. Мнемосхема компресору високого тиску.
Рис.17. Група графіків компресору високого тиску.

Для відображення динаміки всієї компресорної станції передбачено групу зведених графіків (рис.18).

Рис.18. Група зведених графіків "Загальні".

4 Результати

Результатом розробки стала повноцінна динамічна модель технологічного процесу компресорної станції. Ця модель наявна на трьох мовах та включена до дистрибутивів OpenSCADA у ролі основної демонстрації функції та можливостей, та на її основі побудовано документ "Швидкий старт".

Модель передбачає можливість керування ТП від особи оператору, включаючи операції:

  • керування регуляторами тиску:
    • зміна режиму регулятора: "Автомат" або "Ручний";
    • встановлення потрібного значення завдання або ручного виходу виконавчого механізму;
    • налагодження параметрів ПІД-регулятору.
  • керування засувками та кульовими кранами за посередництвом панелі керування та контекстного меню, шляхом закриття або відкриття;
  • ручний ввід значень параметрів обертів (ST8612) та положення протипомпажних клапанів (KPPx0x).

У прикладному сенсі модель з успіхом застосовувалася для налагодження алгоритмів протипомпажного захисту компресорів Анастасіївської ГЛКС.

Ресурсомісткість моделі загалом, до центрального процесору Athlon 64 3000+ (2000МГц) складає 22%, до центрального процесору 800 МГц складає 70%.

5 Посилання