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 ru.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 Блок контроля шарового крана КШ Шаблон: 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 Ссылки