From OpenSCADAWiki
Jump to: navigation, search
Other languages:
English • ‎mRussian • ‎Українська

Dynamic model-simulator of the Gas-lifting compressor station in real time
State:

Founded: January 2006
Version: 2.0 — BlockCalc.{gen,gen_cntr,CM*0*}, 2.0 — LogicLev.gen, 2.0 — VCA.AGLKS
Members: Roman Savochenko
  Maxim Lysenko (2010) — the page translation
Description: The project is devoted to the creation of the full dynamic model of real-time of Anastasievskaja GLKS.
Address:

  • supplied with a Linux distribution package like to "openscada-model-aglks";
  • directly from the subversion repository and converted to the DB SQLite files in way:
wget http://oscada.org/svn/trunk/OpenSCADA/data/ModelsDB/AGLKS/Model.sql
sqlite3 -init Model.sql Model.db .exit
Model AGLKS so gen.png

Anastasievska GLKS (AGLKS) is a 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.

1 Purpose

Functionally, the development purpose is creation of the Gas-lifting compressor station in real time.

Operational purpose of the development is:

  • test of algorithms of the ASC TP control, especially it is the anti-surging algorithms;
  • test of the adequate operating of the SCADA-system;
  • training of technical personnel;
  • "live" demonstration of features and example of a project in the OpenSCADA SCADA-system, as the actual and finite goal, currently.

2 Development

Primarily this project and the simulator-model were created to test the control algorithms of GLKS, especially anti-surging algorithms. It was supposed to launch the simulator on a single-board computer with MOD and interaction with the controller of controlling the technological process. In development of the model it was used library of the technological apparatuses of OpenSCADA. Subsequently, the TP simulator of the compressor station has grown into an autonomous system which is used in the OpenSCADA project as an example, a demonstration of the features and capabilities. The text values of the simulator are available in three languages: English, Ukrainian and mRussian.

Conceptually, complex simulators of the technological processes are divided and consist of three distinctly defined structural units, which in practical application are as clearly defined and can be used independently, after joint work, that is (from the bottom to the top):

  • technological process — a real-time mathematical model that describes the work of a technological process in dynamics;
  • Programming Logical Controller (PLC) — in fact, these are algorithms and regulators designed to control the stability of the technological process within the regimes defined by the technological regulations and these are reproduced by the complex simulator;
  • SCADA — Supervisory Control And Data Acquisition system, which is a window to the technological process, receiving data from the PLC and issuing control actions.

2.1 The technological process

Before the creation of the GLKS simulator the schematic diagram of its technological process was formed, based on the schematic diagram of the real technological process. The scheme is shown in Figure 1.

Fig.1. Technological scheme of AGLKS.

2.2 Simulating-modeling

To construct the simulator of the technological process, basing on the available devices models, the original principal diagram and the block calculator (BlockCalc) of OpenSCADA were directly used. The devices models of the technological scheme were appended to the block scheme in accordance with the principal one. Part of the blocks were been added for the auxiliary equipment, as well as for the flow nodes. Numbers of the node blocks on the principal diagram are indicated by numbers near the flow nodes.

The model is made as eight block schemes of the block calculator. Content and properties of the block schemes are shown in Table 1.

Table 1. Block-scheme of the simulator

Identifier Name Target Execution period, seconds
gen Mainstation Contains the model of the general part of the compressor station, that is all that is shown on the principle scheme besides the gray blocks of individual compressors. 0.01
gen_cntr Mainstation (controller) Contains the model of the control system of the general part. 1
CM101 Model of CM101 Contains the model of the first compressor CM101 of low pressure. 0.01
CM102 Model of CM102 Contains the model of the first compressor CM102 of high pressure. 0.01
CM201 Model of CM201 Contains the model of the second compressor CM201 of low pressure. 0.01
CM202 Model of CM202 Contains the model of the second compressor CM202 of high pressure. 0.01
CM301 Model of CM301 Contains the model of the third compressor CM301 of low pressure. 0.01
CM302 Model of CM302 Contains the model of the third compressor CM302 of high pressure. 0.01

Table 2 shows the list of used device models, in accordance with the principle diagram.

Table 2. Models of the used technological devices

Model of the technological device Devices (blocks of the simulator)
Ball crane (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
Gas compressor (compressor) CM*01.CM101_1, CM*01.CM101_2, CM*02.CM102_1, CM*02.CM102_2
Air cooler (cooler) CM*01.AT101_1, CM*01.AT101_2, CM*02.AT102_1, CM*02.AT102_2
Diaphragm (diafragma) gen.PP1, gen.PP3, gen.PP5, gen.PP7, CM*01.PP101, CM*01.PP102, CM*02.PP103, CM*02.PP104
Valve (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 (lag) gen.P_PCV2
Network, load (net) gen.netHPG, gen.netGlinsk, gen.netTorch, CM*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, CM*01.node4_1
Pipe 1->4 (pipe1_4) CM*02.node6_1
Pipe 3->1 (pipe3_1) gen.node22, gen.node19, CM*01.node3_1, CM*02.node5_1
Noise, 2 harmonic + rand (noise) gen.noisePP3
Separator (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
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.

For information about the technological process the parameters were created (Table 3), which provide data from selected nodes of the simulator.

Table 3. Parameters of the technological process

Cipher Description Properties Source
Mainstation (BlockCalc.gen)
F2, F_PP1 Gas flow through the diaphragm PP1 PP1.Fi
F3 Gas flow through the pipe to Glinsk pipeGlinsk.Fi
F4, F_PP5, F5_6 Gas flow through the diaphragm PP5 PP5.Fi
F7_8 Gas flow through the diaphragm PP7 PP7.Fi
F_PP3 Gas flow through the diaphragm PP3 PP3.Fo
BC1 Control block of the ball crane BC1 G_BC1.com, G_BC1.st_open, G_BC1.st_close
BC2 Control block of the ball crane BC2 G_BC2.com, G_BC2.st_open, G_BC2.st_close
BC5 Control block of the ball crane BC5 G_BC5.com, G_BC5.st_open, G_BC5.st_close
BC6 Control block of the ball crane BC6 G_BC6.com, G_BC6.st_open, G_BC6.st_close
BC7 Control block of the ball crane BC7 G_BC7.com, G_BC7.st_open, G_BC7.st_close
BC21 Control block of the ball crane BC21 G_BC21.com, G_BC21.st_open, G_BC21.st_close
BC22 Control block of the ball crane BC22 G_BC22.com, G_BC22.st_open, G_BC22.st_close
L1 Liquid level in the separator C2 C2.Lж
Ti Gas temperature at the input of the CS BC1.Ti
T_PP1 Gas temperature at the diaphragm PP1 PCV1.To
T_PP3 Gas temperature at the diaphragm PP3 node19.To
T_PP5 Gas temperature at the diaphragm PP5 BC21.To
Pi Gas pressure at the input of the CS BC1.Pi
P_PP1 Gas pressure at the diaphragm PP1 PP1.Po
P_PP3, PC0601 Gas pressure at the diaphragm PP3 PP3.Po
P_PP5, P4, PT0404 Gas pressure at the diaphragm PP5 PP5.Po
PT0804, P3 Gas pressure in the pipe to Glinsk pipeGlinsk.Pi
PT1606, PT0503 Gas pressure in the separator С1 C1.Po
PT0406 Gas pressure at the diaphragm PP7 PP7.Po
PT0605 Gas pressure before the control valve PCV1 PCV1.Pi
Mainstation (LogicLev.gen)
F3 Gas flow through the pipe to Glinsk Template: base.anUnif

t/h, (0;100), a(10;90), w(35;80)

BlockCalc.gen.F3.var
F4, F_PP5 Gas flow through the diaphragm PP5 Template: base.anUnif

t/h, (0;100), a(10;90), w(35;80)

BlockCalc.gen.F4.var, BlockCalc.gen.F_PP5.var
F_PP1 Gas flow through the diaphragm PP1 Template: base.anUnif

t/h, (0;150)

BlockCalc.gen.F_PP1.var
F_PP3 Gas flow through the diaphragm PP3 Template: base.anUnif

t/h, (0;150)

BlockCalc.gen.F_PP3.var
Ti Gas temperature at the input of the CS Template: base.anUnif

deg. С, (-50;50), a(-20;40), w(-10;30)

BlockCalc.gen.Ti.var
T_PP1 Gas temperature at the diaphragm PP1 Template: base.anUnif

deg. С, (0;50)

BlockCalc.gen.T_PP1.var
T_PP3 Gas temperature at the diaphragm PP3 Template: base.anUnif

deg. С, (0;50)

BlockCalc.gen.T_PP3.var
T_PP5 Gas temperature at the diaphragm PP5 Template: base.anUnif

deg. С, (0;50)

BlockCalc.gen.T_PP5.var
Pi Gas pressure at the input of the CS Template: base.anUnif

kgf/cm2, (0;20), a(4;15), w(5;10)

BlockCalc.gen.Pi.var
P3 Gas pressure in the pipe to Glinsk Template: base.anUnif

kgf/cm2, (0;100), a(10;90), w(20;80)

BlockCalc.gen.P3.var
P_PP1 Gas pressure at the diaphragm PP1 Template: base.anUnif

kgf/cm2, (0;10)

BlockCalc.gen.P_PP1.var
P_PP3 Gas pressure at the diaphragm PP3 Template: base.anUnif

kgf/cm2, (0;50)

BlockCalc.gen.P_PP3.var
P_PP5, P4 Gas pressure at the diaphragm PP5 Template: base.anUnif

kgf/cm2, (0;50)

BlockCalc.gen.P_PP5.var, BlockCalc.gen.P4.var
PT0503 Gas pressure in the separator С1 Template: base.anUnif

kgf/cm2, (0;10), a(2;8), w(3;7)

BlockCalc.gen.PT0503.var
BC6close Alarm of closing the crane BC6 Template: base.digAlarm BlockCalc.gen.BC6.st_open
gN1 Account node of the diaphragm PP1 Template: base.gasPoint
BC7 Control block of the ball crane BC7 Template: base.digitBlock

t=5s

BlockCalc.gen.BC7.com, BlockCalc.gen.BC7.st_open, BlockCalc.gen.BC7.st_close
Mainstation controller (BlockCalc.gen_cntr)
PC_PCV1 Regulator of the input pressure of the CS at, (0;10) PC_PCV1.*
PC_PCV2 Regulator of the pressure between of the low and high pressure compressors at, (0;50) PC_PCV2.*
PC_PCV3 Regulator of the pressure at the output of the CS at, (0;120) PC_PCV3.*
SurgeCM101 Regulator of the surge protection of the compressor CM101 at, (0;2) SurgeCM101.sp:sp
SurgeCM102 Regulator of the surge protection of the compressor CM102 at, (0;2) SurgeCM102.sp:sp
SurgeCM201 Regulator of the surge protection of the compressor CM201 at, (0;2) SurgeCM201.sp:sp
SurgeCM202 Regulator of the surge protection of the compressor CM202 at, (0;2) SurgeCM202.sp:sp
SurgeCM301 Regulator of the surge protection of the compressor CM301 at, (0;2) SurgeCM301.sp:sp
SurgeCM302 Regulator of the surge protection of the compressor CM302 at, (0;2) SurgeCM302.sp:sp
Model of CM*01 (BlockCalc.CM*01)
KPP101 Anti-surge control valve of the compressor  %, (0;100), 0 digits KPP101.l_kl1
FN101 Flow at the output of the compressor BC104.Fi
F101 Flow on the diaphragm PP101 t/h, (0;100), 1 digit PP101.Fi
F102 Flow on the diaphragm PP102 t/h, (0;100), 1 digit PP102.Fi
TE1202_1 Temperature after the first stage of the compressor K, (273;373), 0 digit CM101_1.To
TE1205_1 Temperature after the second stage of the compressor K, (273;433), 0 digit CM101_2.To
TE1313_1 Temperature at the input of the first stage of the compressor K, (273;373), 0 digit node5_1.To
TE1314_1 Temperature after the fridge of the first stage of the compressor K, (273;373), 0 digit AT101_1.To
TE1206_1 Temperature after the fridge of the second stage of the compressor K, (273;373), 0 digit AT101_2.To
AT101_1 Control block of the fridge after the first stage of the compressor AT101_1.Ti, AT101_1.To, AT101_1.Wc
AT101_2 Control block of the fridge after the second stage of the compressor AT101_2.Ti, AT101_2.To, AT101_2.Wc
BC101 Control block of the ball crane BC101 G_BC101.com, G_BC101.st_open, G_BC101.st_close
BC102 Control block of the ball crane BC102 G_BC102.com, G_BC102.st_open, G_BC102.st_close
BC104 Control block of the ball crane BC104 G_BC104.com, G_BC104.st_open, G_BC104.st_close
BC105 Control block of the ball crane BC105 G_BC105.com, G_BC105.st_open, G_BC105.st_close
BC106 Control block of the ball crane BC106 G_BC106.com, G_BC106.st_open, G_BC106.st_close
PT0202_1 Pressure after the first stage of the compressor at, (0;20), 1 digit CM101_1.Po
PT0204_1 Pressure after the second stage of the compressor at, (0;50), 1 digit CM101_2.Po
PT1006_1 Pressure on the diaphragm PP102 at, (0;20), 1 digit PP102.Pi
P101 Pressure on the diaphragm PP101 at, (0;10), 1 digit PP101.Pi
ST8612_1 Rotation speed of the compressor 1000x rpm, (0;10), 2 digits CM101_1.N
Model of CM*01 (BlockCalc.CM*02)
KPP102 Anti-surge control valve of the compressor  %, (0;100), 0 digits KPP102.l_kl1
TE1202_4 Temperature after the first stage of the compressor K, (273;373), 0 digit CM102_1.To
TE1205_4 Temperature after the second stage of the compressor K, (273;433), 0 digit CM102_2.To
TE1313_4 Temperature at the input of the first stage of the compressor K, (273;373), 0 digit node5_1.To
TE1314_4 Temperature after the fridge of the first stage of the compressor K, (273;373), 0 digit AT102_1.To
TE1206_4 Temperature after the fridge of the second stage of the compressor K, (273;373), 0 digit AT102_2.To
F103 Flow on the diaphragm PP103 t/h, (0;100), 1 digit PP103.Fi
F104 Flow on the diaphragm PP104 t/h, (0;100), 1 digit PP104.Fi
PT0202_4 Pressure after the first stage of the compressor at, (0;75), 1 знак CM102_1.Po
PT0204_4 Pressure after the second stage of the compressor at, (0;150), 1 знак CM102_2.Po
PT1006_4 Pressure on the diaphragm PP104 at, (0;75), 1 digit PP104.Pi
P103 Pressure on the diaphragm PP103 at, (0;50), 1 digit PP103.Pi
BC111 Control block of the ball crane BC111 G_BC111.com, G_BC111.st_open, G_BC111.st_close
BC112 Control block of the ball crane BC112 G_BC112.com, G_BC112.st_open, G_BC112.st_close
BC114 Control block of the ball crane BC114 G_BC114.com, G_BC114.st_open, G_BC114.st_close
BC115 Control block of the ball crane BC115 G_BC115.com, G_BC115.st_open, G_BC115.st_close
BC116 Control block of the ball crane BC116 G_BC116.com, G_BC116.st_open, G_BC116.st_close
ST8612_4 Rotation speed of the compressor 1000x rpm, (0;15), 2 digits CM102_1.N

2.3 Regulation

The dynamic model-simulator itself may be unstable without control, although in this case there are no unbalanced integrated circuits. For this reason, as well as to create a self-sufficient simulator capable of operating autonomously and without the PLC as a regulator, an object was created for the regulators controller of the simulator where three common PID regulators PC_PCV1, PC_PCV2 and PC_PCV3 are implemented for controlling the pressure at the CS input, between the low and high pressure compressors, and also at the output of the CS. There are also six anti-surge protectors SurgeCM*0*, one for compressor.

3 User interface

User interface of the simulator contains seven signaling objects (Fig.2). Six of them contain frames of the compressors CM101, CM201, CM301, CM102, CM202 and CM302. The seventh is common for the entire compressor station and contains mainstation frames. Mainstation signaling group includes two mnemonic scheme, two groups of graphs, a group of contours, an overview frame and five documents. One general review group of the result graphics is also provided.

Fig.2. General view of the user interface window.

The mnemonic schemes of the signaling object "Mainstation" are resented in Figure 3 and 4.

Fig.3. Main mnemonic scheme of the CS.
Fig.4. Test mnemonic scheme.

The graphics groups "Generic" and "Temperatures" are presented at Figure 5 and 6, respectively.

Fig.5. The graphics group "Generic".
Fig.6. The graphics group "Temperatures".

The contours group "Generic" (Fig. 7) contains the contours of all the regulators and a set of important parameters.

Fig.7. The contours group "Generic".

The group "Generic" (Fig. 8) of the overview frames contains the frames of the main parameters.

Fig.8. The group "Generic" of the overview frames.

The documents "Table of accumulation instantaneous values", "Log of interruptions", "Table of average over hour values", "Table of average over day values" and "Day Report" are presented in Figure 9, 10, 11, 12 and 13, respectively.

Fig.9. The document "Table of accumulation instantaneous values".
Fig.10. The document "Log of interruptions".
Fig.11. The document "Table of average over hour values".
Fig.12. The document "Table of average over day values".
Fig.13. The document "Day Report".

Signaling objects of the compressors of low pressure contain a mnemonic scheme (Fig.14) and a graphics group (Fig.15).

Fig.14. Mnemonic scheme of the low pressure compressor.
Fig.15. Graphics group of the low pressure compressor.

Signaling objects of the high pressure compressors contain a mnemonic scheme (Fig.16) and a graphics group (Fig.17).

Fig.16. Mnemonic scheme of the high pressure compressor.
Fig.17. Graphics group of the high pressure compressor.

To display the dynamics of the entire compressor station a group of the result graphics are provided (Fig.18)

Fig.18. The result graphics "Generic".

4 Results

The result of the development is the complete dynamic model of technological process of the compressor station. This model is available in three languages and is included in the distributions of OpenSCADA as the generic demonstration of features and capabilities, and on its basis the document "Quick start" was built.

The model envisages the ability to control the TP on behalf of the operator, including operations:

  • control the pressure regulators:
    • changing the regulator mode: "Automatic" or "Manual";
    • setting the desirable setpoint value or manual output of the executive mechanism;
    • configuration the PID-regulator parameters.
  • control of latches and ball valves through the control panel and the context menu by closing or opening;
  • manual entry of the values of the parameters of the rotations (ST8612) and the position of the anti-surge valves (KPPx0x).

The model was successfully applied for debugging algorithms of the surge protection of the compressors of the Anastasievskaja GLKS.

Resource intensity of the simulator in whole, to the CPU Athlon 64 3000+ (2000MHz) is 22%, to the CPU 800 MHz is 70%.

5 Links