Динамическая модель реального времени газо-лифтной компрессорной станции
Основан: Январь 2006
wget http://oscada.org/svn/trunk/OpenSCADA/data/ModelsDB/AGLKS/Model.sql
sqlite3 -init Model.sql Model.db .exit
|
Анастасиевская ГЛКС (АГЛКС) представляет собой технологический процесс, предназначенный для двухступенчатого компремирования газа газовых месторождений. Для этой цели ГЛКС снабжена шестью центробежными компрессорами, по три компрессора на низкое и высокое давление, обеспечивая тем самым резервирование и допуская параллельную работу с целью повышения производительности.
Contents
1 Назначение
Функционально, разработка предназначена для создания динамической модели реального времени газо-лифтной компрессорной станции.
Эксплуатационным назначением разработки является:
- тестирование алгоритмов управления АСУ ТП, особенно антипомпажных алгоритмов;
- тестирование адекватности функционирования SCADA системы;
- обучение технологического персонала;
- "живая" демонстрация функций и пример проекта в SCADA-системе OpenSCADA, как фактическая, и на данный момент конечная, цель.
2 Разработка
Первоначально этот проект и модель создавались для тестирования алгоритмов управления ГЛКС, в особенности антипомпажных алгоритмов. Предполагался запуск модели на одно-платном компьютере с УСО и взаимодействие с контроллером управления технологическим процессом. В разработке модели была использована библиотека технологических аппаратов OpenSCADA. Впоследствии модель ТП компрессорной станции выросла в автономную систему, которая используется в проекте OpenSCADA в качестве примера, демонстрации функций и возможностей. Текстовые значения модели доступны на трёх языках: Английский, Украинский и mRussian.
Концептуально, комплексные модели технологических процессов делятся и состоят из трёх чётко-определённых структурных единиц, которые так-же чётко очерчены в практическом применении и могут использоваться независимо, после совместной отработки, а именно это (с низу на верх):
- технологический процесс — математическая модель реального времени, которая описывает работу технологического процесса в динамике;
- Программируемый Логический Контроллер (ПЛК) — фактически это алгоритмы и регуляторы, предназначенные для осуществления контроля за стабильностью технологического процесса в рамках режимов определённых технологическим регламентом, и те которые воспроизводятся комплексной моделью;
- Supervisory Control And Data Acquisition (SCADA) — диспетчерская система сбора данных, которая непосредственно является окном в технологический процесс, получая данные от ПЛК и выдавая управляющие воздействия.
2.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 | Блок контроля шарового крана КШ | Шаблон: 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. Седьмой является общим для всей компрессорной станции и содержит общестанционные кадры. Общестанционная группа сигнализации содержит две мнемосхемы, две группы графиков, группу контуров, группу обзорных кадров и пять документов. Также предоставляется одна общая обзорная группа результирующих графиков.
Мнемосхемы объекта сигнализации "Общестанционка" представлены на рисунке 3 и 4.
Группы графиков "Общие" и "Температуры" представлены на рисунке 5 и 6, соответственно.
Группа контуров "Общие" (рис.7) содержит контура всех регуляторов и ряд важных параметров.
Группа обзорных кадров "Общие" (рис.8) содержит кадры основных параметров.
Документы "Таблица накопленных мгновенных значений", "Журнал вмешательств", "Таблица среднечасовых значений расходо-измерительного узла", "Таблица среднесуточных значений расходо-измерительного узла" и "Суточный отчёт" представлены на рисунку 9, 10, 11, 12 та 13, соответственно.
Объекты сигнализации компрессоров низкого давления содержат мнемосхему (рис.14) и группу графиков (рис.15).
Объект сигнализации компрессоров высокого давления содержат мнемосхему (рис.16) и группу графиков (рис.17).
Для отображения динамики всей компрессорной станции предусмотрена группа сводных графиков (рис.18).
4 Результаты
Результатом разработки стала полноценная динамическая модель технологического процесса компрессорной станции. Данная модель доступна на трёх языках и включена в дистрибутивы OpenSCADA в роли основной демонстрации функций и возможностей, и на её основе построен документ "Быстрый старт".
Модель предусматривает возможность управления ТП от лица оператора, включая операции:
- управление регуляторами давлений:
- изменение режима регулятора: "Автомат" или "Ручной";
- установка нужного значения задания или ручного выхода исполнительного механизма;
- настройка параметров ПИД-регулятора.
- управление задвижками и шаровыми кранами посредством панели управления и контекстного меню, путём закрытия или открытия;
- ручной ввод значений параметров оборотов (ST8612) и положений антипомпажных клапанов (KPPx0x).
В прикладном смысле модель с успехом применялась для отладки алгоритмов противопомпажной защиты компрессоров Анастасиевской ГЛКС.
Ресурсоёмкость модели в целом, к центральному процессору Athlon 64 3000+ (2000МГц) составляет 22%, к центральному процессору 800 МГц составляет 70%.