| Name: | ModelAGLKS |
| Founded: | январь 2006г |
| Version: | 0.9.0 |
| Status: | GPL |
| Members: | Roman Savochenko |
| Description: | The project is devoted to the creation of the full dynamic model of real-time of Anastasievskaja GLKS. |
| Address: | Model is in the DB file: SQLite.AnastModel (file:AGLKSModel.db). Library of the equipment models: SQLite.OscadaLibs (file:oscadalibs.db) |
Anastasievskaya GLKS (AGLKS) is the technological process designed for two-stage gas compression of gas fields. For this purpose GLKS is provided with six centrifugal compressors: three compressor for low and high pressure part, thus providing redundancy and allowing the parallel operation.
To test the control algorithms of GLKS, especially anti surging algorithms the creation of mathematical model of GLKS was required. The model must run on the single board computer with the PCI and communicate with the controller of the technological process control. For development of the model it was used library of technological devices of OpenSCADA. Subsequently, the TP model of the compressor station has grown into an autonomous system which is used in the OpenSCADA project as the demonstration of features and capabilities.
Before creating the GLKS model, it was created the principle circuit of the model of technological process, based on the principle circuit of the real process. The resulting scheme is shown in Figure 1.
To construct the model of technological process on the basis of the available models of tech. devices it was directly used the source principle scheme and block calculator (BlockCalc) of the OpenSCADA system. The technological devices added to the block scheme in accordance to the principle scheme. Several blocks were added as the accessory ones and for the nodes of the flows. The numbers of the nodes' blocks are indicated on the principle scheme near the flows nodes.
The model is implemented as an eight-block schemes of the block calculator. Structure and properties of block schemes are shown in Table 1.
Table 1. Model block scheme
| ID | Name | Purpose | Period of execution (ms) | Execution time for Athlon 64 3000+ (ms) |
| gen | Mainstation | Contains the model of general part of the compressor station, namely, all that is shown on the principle scheme outside of the gray blocks of individual compressors. | 10 | 0.52 |
| gen_cntr | Mainstation (contr) | Contains the model of the control system of the mainstation part | 1000 | 0.033 |
| KM101 | The model of КМ101 | Contains the model of the first compressor КМ101 of low pressure. | 10 | 0.3 |
| KM102 | The model of КМ102 | Contains the model of the first compressor КМ101 of high pressure. | 10 | 0.35 |
| KM201 | The model of КМ201 | Contains the model of the second compressor КМ201 of low pressure. | 10 | 0.3 |
| KM202 | The model of КМ202 | Contains the model of the second compressor КМ201 of high pressure. | 10 | 0.35 |
| KM301 | The model of КМ301 | Contains the model of the third compressor КМ301 of low pressure. | 10 | 0.3 |
| KM302 | The model of КМ302 | Contains the model of the third compressor КМ301 of high pressure. | 10 | 0.35 |
From the characteristics of block schemes can be seen that the capacity of the model as a whole to the CPU Athlon 64 3000+ (2000MHz) is 19.5%.
Table 2. lists the models being used in accordance with the principle scheme.
Table 2. Using of the technological devices model
| Technological device model | Technological devices (blocks of the model) |
| Ball crane (ballCrane) | gen.KSH1cm, gen.KSH2cm, gen.KSH5cm, gen.KSH7cm, gen.KSH21cm, gen.KSH22cm, KM*01.KSH101cm, KM*01.KSH102cm, KM*01.KSH104cm, KM*01.KSH105cm, KM*01.KSH106cm, KM*02.KSH111cm, KM*02.KSH112cm, KM*02.KSH114cm, KM*02.KSH115cm, KM*02.KSH116cm |
| Gas compressor (compressor) | KM*01.KM101_1, KM*01.KM101_2, KM*02.KM102_1, KM*02.KM102_2 |
| Air cooler (cooler) | KM*01.AT101_1, KM*01.AT101_2, KM*02.AT102_1, KM*02.AT102_2 |
| Diaphragm (diafragma) | gen.PP1, gen.PP3, gen.PP5, gen.PP7, KM*01.PP101, KM*01.PP102, KM*02.PP103, KM*02.PP104 |
| Valve (klap) | gen.KSH1, gen.KSH5, gen.KSH6, gen.KSH21, KM*01.KPP101, KM*01.DR100, KM*01.KSH101, KM*01.KSH104, KM*01.KSH106, KM*02.KPP102, KM*02.DR101, KM*02.KSH111, KM*02.KSH113, KM*02.KSH114, KM*02.KSH116 |
| Lag (lag) | gen.P_KRD2 |
| Network (loading) (net) | gen.netGVD, gen.netGlinsk, gen.netFakel, KM*02.net102 |
| Pipe 1->1 (pipe1_1) | gen.pipeGlinsk |
| Pipe 1->2 (pipe1_2) | gen.node1, gen.node20 |
| Pipe 1->3 (pipe1_3) | gen.node1_1, gen.node21, KM*01.node4_1 |
| Pipe 1->4 (pipe1_4) | KM*02.node6_1 |
| Pipe 3->1 (pipe3_1) | gen.node22, gen.node19, KM*01.node3_1, KM*02.node5_1 |
| Noise (2 harmonic + rand) (noise) | gen.noisePP3 |
| Separator (separator) | gen.C1, gen.C2, KM*01.C101_1, KM*01.C101_2, KM*01.C101_3, KM*02.С102_1, KM*02.С102_2, KM*02.С102_3 |
| Source (pressure) (src_press) | gen.SrcGas |
Through the using of the library of the models of tech. devices and concepts for building the dynamic models it has been obtained the dynamic model, from which you can get the parameters at any point of the principle scheme as for the study and for testing of the control algorithms.
In the model of the control system of the mainstation part there are three PID: PC_KRD1, PC_KRD2 and PC_KRD3 to regulate the pressure at the input of the CS, between the compressors of low and high pressure, as well as at the output of the CS.
To obtain the information on the technological process the parameters of TP (Table 3) were created, which represent data from individual nodes of the model.
Table 3. Parameters of the technological process
| Шифр | Описание | Свойства | Источник |
| Контроллер общестанционки 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 | КШ1им.com, КШ1им.st_open, КШ1им.st_close | |
| КШ2 | Блок управления шарового крана КШ2 | КШ2им.com, КШ2им.st_open, КШ2им.st_close | |
| КШ5 | Блок управления шарового крана КШ5 | КШ5им.com, КШ5им.st_open, КШ5им.st_close | |
| КШ6 | Блок управления шарового крана КШ6 | КШ6им.com, КШ6им.st_open, КШ6им.st_close | |
| КШ7 | Блок управления шарового крана КШ7 | КШ7им.com, КШ7им.st_open, КШ7им.st_close | |
| КШ21 | Блок управления шарового крана КШ21 | КШ21им.com, КШ21им.st_open, КШ21им.st_close | |
| КШ22 | Блок управления шарового крана КШ22 | КШ22им.com, КШ22им.st_open, КШ22им.st_close | |
| L1 | Уровень жидкости в сепараторе C2 | C2.Lж | |
| Ti | Температура газа на входе КС. | КШ1.Ti | |
| T_PP1 | Температура газа на диафрагме PP1 | КРД1.To | |
| T_PP3 | Температура газа на диафрагме PP3 | node19.To | |
| T_PP5 | Температура газа на диафрагме PP5 | КШ21.To | |
| Pi | Давление газа на входе КС. | КШ1.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 | КРД1.Pi | |
| Виртуальный контроллер общестанционки LogicLev.experiment | |||
| F3 | Расход газа через трубу на Глинск | Шаблон: base.simleBoard т/ч, (0;100), a(10;90), w(35;80) | BlockCalc.Anast1to2node.F3.var |
| F4, F_PP5 | Расход газа через диафрагму PP5 | Шаблон: base.simleBoard т/ч, (0;100), a(10;90), w(35;80) | BlockCalc.Anast1to2node.F4.var, BlockCalc.Anast1to2node.F_PP5.var |
| F_PP1 | Расход газа через диафрагму PP1 | Шаблон: base.simleBoard т/ч, (0;150) | BlockCalc.Anast1to2node.F_PP1.var |
| F_PP3 | Расход газа через диафрагму PP3 | Шаблон: base.simleBoard т/ч, (0;150) | BlockCalc.Anast1to2node.F_PP3.var |
| Ti | Температура газа на входе КС. | Шаблон: base.simleBoard град. С, (-50;50), a(-20;40), w(-10;30) | BlockCalc.Anast1to2node.Ti.var |
| T_PP1 | Температура газа на диафрагме PP1 | Шаблон: base.simleBoard град. С, (0;50) | BlockCalc.Anast1to2node.T_PP1.var |
| T_PP3 | Температура газа на диафрагме PP3 | Шаблон: base.simleBoard град. С, (0;50) | BlockCalc.Anast1to2node.T_PP3.var |
| T_PP5 | Температура газа на диафрагме PP5 | Шаблон: base.simleBoard град. С, (0;50) | BlockCalc.Anast1to2node.T_PP5.var |
| Pi | Давление газа на входе КС. | Шаблон: base.simleBoard кгс/см2, (0;20), a(4;15), w(5;10) | BlockCalc.Anast1to2node.Pi.var |
| P3 | Давление газа в трубе на Глинск | Шаблон: base.simleBoard кгс/см2, (0;100), a(10;90), w(20;80) | BlockCalc.Anast1to2node.P3.var |
| P_PP1 | Давление газа на диафрагме PP1 | Шаблон: base.simleBoard кгс/см2, (0;10) | BlockCalc.Anast1to2node.P_PP1.var |
| P_PP3 | Давление газа на диафрагме PP3 | Шаблон: base.simleBoard кгс/см2, (0;50) | BlockCalc.Anast1to2node.P_PP3.var |
| P_PP5, P4 | Давление газа на диафрагме PP5 | Шаблон: base.simleBoard кгс/см2, (0;50) | BlockCalc.Anast1to2node.P_PP5.var, BlockCalc.Anast1to2node.P4.var |
| PT0503 | Давление газа в сепараторе С1 | Шаблон: base.simleBoard кгс/см2, (0;10), a(2;8), w(3;7) | BlockCalc.Anast1to2node.PT0503.var |
| КШ6close | Сигнализация по закрытию крана КШ6 | Шаблон: base.digAlarm | BlockCalc.Anast1to2node.КШ6.st_open |
| gN1 | Узел учёта 1 | Шаблон: base.gasPoint | |
| КШ7 | Блок управления шарового крана КШ7 | Шаблон: base.digitBlock t=5c | BlockCalc.Anast1to2node.КШ7.com, BlockCalc.Anast1to2node.КШ7.st_open, BlockCalc.Anast1to2node.КШ7.st_close |
| Контроллер BlockCalc.gen_cntr | |||
| PC_КРД1 | Регулятор давления на входе КС. | ат, (0;10) | PCKRD1.* |
| PC_КРД2 | Регулятор давления между компрессорами низкого и высокого давлений. | ат, (0;50) | PC_КРД2.* |
| PC_КРД3 | Регулятор давления на выходе КС. | ат, (0;120) | PC_КРД3.* |
| Контроллер BlockCalc.KM*01 | |||
| KPP101 | Антипомпажный регулирующий клапан компрессора | %, (0;100), 0 знаков | KPP101.l_kl1 |
| FN101 | Расход на выходе компрессора | КШ104.Fi | |
| F101 | Расход на диафрагме PP101 | т/ч, (0;100), 1 знак | PP101.Fi |
| F102 | Расход на диафрагме PP102 | т/ч, (0;100), 1 знак | PP102.Fi |
| TE1202_1 | Температура после первой ступени компрессора | К, (273;373), 0 знак | КМ101_1.To |
| TE1205_1 | Температура после второй ступени компрессора | К, (273;433), 0 знак | КМ101_2.To |
| TE1313_1 | Температура на входе первой ступени компрессора | К, (273;373), 0 знак | node3_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 | КШ101им.com, КШ101им.st_open, КШ101им.st_close | |
| КШ102 | Блок управления шарового крана КШ102 | КШ102им.com, КШ102им.st_open, КШ102им.st_close | |
| КШ104 | Блок управления шарового крана КШ104 | КШ104им.com, КШ104им.st_open, КШ104им.st_close | |
| КШ105 | Блок управления шарового крана КШ105 | КШ105им.com, КШ105им.st_open, КШ105им.st_close | |
| КШ106 | Блок управления шарового крана КШ106 | КШ106им.com, КШ106им.st_open, КШ106им.st_close | |
| PT0202_1 | Давление после первой ступени компрессора | ат, (0;20), 1 знак | КМ101_1.Po |
| PT0204_1 | Давление после второй ступени компрессора | ат, (0;50), 1 знак | КМ101_2.Po |
| PT1006_1 | Давление на диафрагме PP102 | ат, (0;20), 1 знак | PP102.Pi |
| P101 | Давление на диафрагме PP101 | ат, (0;10), 1 знак | PP101.Pi |
| ST8612_1 | Обороты вращения компрессора | 1000x об.мин., (0;10), 2 знака | КМ101_1.N |
| Контроллер BlockCalc.KM*02 | |||
| KPP102 | Антипомпажный регулирующий клапан компрессора | %, (0;100), 0 знаков | KPP102.l_kl1 |
| TE1202_4 | Температура после первой ступени компрессора | К, (273;373), 0 знак | KM102_1.To |
| TE1205_4 | Температура после второй ступени компрессора | К, (273;433), 0 знак | KM102_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 знак | KM102_1.Po |
| PT0204_4 | Давление после второй ступени компрессора | ат, (0;150), 1 знак | KM102_2.Po |
| PT1006_4 | Давление на диафрагме PP104 | ат, (0;75), 1 знак | PP104.Pi |
| P103 | Давление на диафрагме PP103 | ат, (0;50), 1 знак | PP103.Pi |
| КШ111 | Блок управления шарового крана КШ111 | КШ111им.com, КШ111им.st_open, КШ111им.st_close | |
| КШ112 | Блок управления шарового крана КШ112 | КШ112им.com, КШ112им.st_open, КШ112им.st_close | |
| КШ114 | Блок управления шарового крана КШ114 | КШ114им.com, КШ114им.st_open, КШ114им.st_close | |
| КШ115 | Блок управления шарового крана КШ115 | КШ115им.com, КШ115им.st_open, КШ115им.st_close | |
| КШ116 | Блок управления шарового крана КШ116 | КШ116им.com, КШ116им.st_open, КШ116им.st_close | |
| ST8612_4 | Обороты вращения компрессора | 1000x об.мин., (0;15), 2 знака | KM102_1.N |
Пользовательский интерфейс модели представлен семью объектами сигнализаций (рис.2). Шесть из них содержат кадры компрессоров КМ101, КМ201, КМ301, КМ102, КМ202 и КМ302. Седьмой же является общим для всей компрессорной станции и содержит общестанционные кадры. Общестанционная группа сигнализации содержит две мнемосхемы, две группы графиков, группу контуров, группу обзорных кадров и пять документов.

Мнемосхемы объекта сигнализации "Общестанционка" представлены на рис.3 и рис.4.


Группы графиков "Массовые потоки" и "Температуры" представлены на рис.5 и рис.6 соответственно.


Группа контуров "Тестовая группа" (рис.7) содержит контура всех регуляторов и ряд важных параметров.

Группа обзорных кадров "Обзор 1" (рис.8) содержит кадры основных параметров.

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





Объекты сигнализации компрессоров низкого давления содержат мнемосхему рис.14 и группу графиков рис.15.


Объекты сигнализации компрессоров высокого давления содержат мнемосхему рис.16 и группу графиков рис.17.


Для отображения динамики всей компрессорной станции предусмотрена группа сводных графиков (рис.18)

Результатом разработки стала полноценная динамическая модель технологического процесса компрессорной станции. Данная модель доступна на трёх языках и включена в дистрибутивы системы OpenSCADA в роли демонстрации функций и возможностей.
Модель предусматривает возможность управления ТП от лица оператора, включая операции:
В прикладном смысле модель с успехом применялась для отладки алгоритмов противопомпажной защиты компрессоров Анастасиевской ГЛКС.