Динамическая модель реального времени парового котлоагрегата металлургического комбината
Основан: Январь 2007
wget http://oscada.org/svn/trunk/OpenSCADA/data/ModelsDB/Boiler/Model.sql
sqlite3 -init Model.sql Model.db .exit
|
Объектом моделирования данного проекта, по созданию полной динамической модели реального времени, является многотопливный паровой котлоагрегат Днепровского Металлургического Комбината (ДМК) №9. Отличительной особенностью данного котлоагрегата является именно его многотопливная природа и, как следствие — особенности в оптимизации управления его топливной нагрузкой.
Contents
- 1 Назначение
- 2 Разработка
- 3 Интерфейс пользователя
- 3.1 Объект сигнализации "Пусковая"
- 3.2 Объект сигнализации "Розжиг"
- 3.3 Объект сигнализации "Дым.газы"
- 3.4 Объект сигнализации "Дренажи"
- 3.5 Объект сигнализации "ГД"
- 3.6 Объект сигнализации "ГП"
- 3.7 Объект сигнализации "ГК"
- 3.8 Объект сигнализации "ПАР"
- 3.9 Объект сигнализации "ВП"
- 3.10 Объект сигнализации "Экономайзер"
- 3.11 Объект сигнализации "ВЗП"
- 4 Результаты
- 5 Ссылки
1 Назначение
Функционально, разработка предназначена для создания динамической модели реального времени многотопливного котлоагрегата металлургического комбината.
Эксплуатационным назначением разработки является:
- тестирование алгоритмов управления АСУ ТП;
- тестирование адекватности функционирования SCADA системы;
- обучение технологического персонала;
- "живая" демонстрация функций и пример проекта в SCADA-системе OpenSCADA, как фактическая, и на данный момент конечная, цель.
2 Разработка
С целью ускорения, использования опыта предыдущих разработок, а также для совершенствования технологии и инструментария разработки полных динамических моделей реального времени принято решение строить модель в среде открытой SCADA-системы OpenSCADA. OpenSCADA имеет достаточно мощный механизм пользовательского программирования, а также наработки для создания полных динамических моделей реального времени, которые позволяют быстро создавать большие динамические модели реального времени. Больше смотрите в концепции-библиотеке моделей аппаратов технологических процессов.
Концептуально, комплексные модели технологических процессов делятся и состоят из трёх чётко-определённых структурных единиц, которые так-же чётко очерчены в практическом применении и могут использоваться независимо, после совместной отработки, а именно это (с низу на верх):
- технологический процесс — математическая модель реального времени, которая описывает работу технологического процесса в динамике;
- Программируемый Логический Контроллер (ПЛК) — фактически это алгоритмы и регуляторы, предназначенные для осуществления контроля за стабильностью технологического процесса в рамках режимов определённых технологическим регламентом, и те которые воспроизводятся комплексной моделью;
- Supervisory Control And Data Acquisition (SCADA) — диспетчерская система сбора данных, которая непосредственно является окном в технологический процесс, получая данные от ПЛК и выдавая управляющие воздействия.
2.1 Технологический процесс
Перед созданием модели котлоагрегата была сформирована принципиальная схема модели его технологического процесса, основанная на принципиальной схеме реального технологического процесса. Полученная схема изображена на рисунке 1.
2.2 Моделирование
Для построения модели технологического процесса, на основе доступных моделей аппаратов, была непосредственно использована исходная принципиальная схема и блочный вычислитель (BlockCalc) OpenSCADA. Модели аппаратов технологической схемы добавлялись в блочную схему согласно принципиальной. Часть блоков была добавлена для вспомогательного оборудования, а также узлов потоков. Номера блоков узлов на принципиальной схеме указаны номерами около узлов потоков.
Модель реализована в виде двух блочных схем блочного вычислителя. Состав и свойства блочных схем приведены в таблице 1.
Таблица 1. Блочные схемы модели
Идентификатор | Имя | Назначение | Период исполнения, секунды |
---|---|---|---|
boiler9 | ДМК Котёл9 | Содержит модель котлоагрегата №9 Днепровского Металлургического Комбината. | 0.005 |
boiler9_cntr | ДМК Котёл9 Контроллер | Содержит модель системы управления котлоагрегата №9 Днепровского Металлургического Комбината. | 1 |
В таблице 2 приведен перечень использованных моделей аппаратов, согласно принципиальной схеме.
Таблица 2. Модели использованных технологических аппаратов
Модель технологического аппарата | Аппараты (блоки модели) |
---|---|
Библиотека "Технологические аппараты" | |
Котёл: барабан (boilerBarrel) | boiler9.Drum |
Котёл: топка (boilerBurner) | boiler9.FireChamber |
Компрессор газовый (compressor) | boiler9.SEA, boiler9.SEB, boiler9.BFA, boiler9.BFB |
Теплообменник (heatExch) | boiler9.OhS, boiler9.AH1, boiler9.AH2, boiler9.DS, boiler9.EC1, boiler9.EC2 |
Клапан (klap) | boiler9.3FW, boiler9.5FW, boiler9.7FW, boiler9.5GBF, boiler9.6GBF, boiler9.7GBF, boiler9.8GBF, boiler9.9GBF, boiler9.10GBF, boiler9.3GC, boiler9.4GC, boiler9.6GC, boiler9.5GC, boiler9.3GN, boiler9.4GN, boiler9.5GN, boiler9.6GN, boiler9.4GN3, boiler9.1G, boiler9.2G, boiler9.11G, boiler9.13G |
Сеть (нагрузка) (net) | boiler9.ParNet, boiler9.Atmosph |
Труба 1->2 (pipe1_2) | boiler9.Node3, boiler9.Node5, boiler9.Node6, boiler9.Node7, boiler9.Node10 |
Труба 2->1 (pipe2_1) | boiler9.Node1, boiler9.Node2, boiler9.Node9, boiler9.Node12 |
Труба 3->1 (pipe3_1) | boiler9.Node8 |
Источник (давление) (src_press) | boiler9.SrcGBF, boiler9.SrcGC, boiler9.SrcWater, boiler9.SrcNG, boiler9.SrcAir |
Библиотека "Функции Complex1" | |
ПИД регулятор (pid) | boiler9_cntr.TCA1, boiler9_cntr.F_air_gas, boiler9_cntr.QAC151, boiler9_cntr.LC121, boiler9_cntr.PCA51, boiler9_cntr.FC101, boiler9_cntr.FC102, boiler9_cntr.FC103, boiler9_cntr.FC104, boiler9_cntr.FC105, boiler9_cntr.PSA76 |
Библиотека "Котёл К9" (JavaLikeCalc.lib_boiler9, с этим проектом) | |
Делитель (Divider) | boiler9_cntr.Air_Gas |
Суммарный расход топлива в котле (Fsum) | boiler9_cntr.Fsum |
Инверсия (Inversion) | boiler9_cntr.5FW_inv |
Благодаря использованию библиотеки моделей аппаратов и концепции построения динамических моделей была получена динамическая модель, из которой можно получить параметры в любой точке принципиальной схемы как для изучения, так и для отработки алгоритмов управления.
Для получения информации о технологическом процессе были созданы параметры (таблица 3), которые представляют данные из отдельных узлов модели.
Таблица 3. Параметры технологического процесса
Шифр | Описание | Свойства | Источник |
---|---|---|---|
ДМК Котёл9 (BlockCalc.boiler9) | |||
LC121 | Уровень воды в барабане котла | Drum.Lo | |
LСA122, LSA124 | Уровень воды в чистом отсеке барабана, справа | %, (0;100), Точность 0 | Drum.Lo |
LSA123 | Уровень воды в чистом отсеке барабана, слева | %, (0;100), Точность 0 | Drum.Lo |
LCVG121 | Положение 3ВПл | %, (0;100), Точность 0 | 3FW.l_kl1 |
LCVG122 | Положение 3ВПп | %, (0;100), Точность 0 | 3FW.l_kl2 |
G_11SH | Положение 11Ш | 11G.l_kl1 | |
G_12SH | Положение 12Ш | 11G.l_kl2 | |
G_13SH | Положение 13Ш | 13G.l_kl1 | |
G_14SH | Положение 14Ш | 13G.l_kl2 | |
l_5FW | Положение 5ВП(1) | 5FW.l_kl1 | |
l_5FW_2 | Положение 5ВП(2) | 5FW.l_kl2 | |
l_7FW | Положение 7ВП | 7FW.l_kl1 | |
l_4GN | Положение 4ГП | 4GN.l_kl1 | |
l_5GN | Положение 5ГП | 5GN.l_kl1 | |
l_7GBF | Положение 7ГД | 7GBF.l_kl1 | |
l_8GBF | Положение 8ГД | 8GBF.l_kl1 | |
FCVG102 | Положение 5ГП | 5GN.l_kl1 | |
FCVG103 | Положение 7ГД | 7GBF.l_kl1 | |
FCVG104 | Положение 8ГД | 8GBF.l_kl1 | |
FCVG105 | Положение 4ГК | 4GC.l_kl1 | |
TCVG1_1 | Положение 7ВП | 7FW.l_kl1 | |
TCVG1_2 | Положение 5ВПл | 5FW.l_kl1 | |
PCVG76 | Производительность ДСА | об/мин, (0;100), Точность 1 | SEA.N |
PCVG77 | Производительность ДСБ | об/мин, (0;100), Точность 1 | SEB.N |
FCV106 | Производительность ДВА | об/мин, (0;100), Точность 1 | BFA.N |
FCV107 | Производительность ДВБ | об/мин, (0;100), Точность 1 | BFB.N |
PCA51 | Давление пара после ГПЗ | ат, (0;50), Точность 2 | 4GN3.Po |
PSA52 | Давление пара в барабане котла | ат, (0;40), Точность 2 | Drum.Po1 |
PCA52 | Давление пара в барабане котла | ат, (0;50), Точность 2 | Drum.Po1 |
PSA52_1 | Давление пара в барабане котла | ат, (0;40), Точность 2 | Drum.Po1 |
PSA53 | Давление ГП до регулирующей заслонки | ат, (0;40), Точность 2 | 3GN.Po |
PSA53_1 | Давление ГП перед диафрагмой | ат, (0;40), Точность 2 | 3GN.Po |
PSA53_2 | Давление ГП перед диафрагмой | ат, (0;40), Точность 2 | 3GN.Po |
PSA54 | Давление ГП после регулирующей заслонки | ат, (0;1.5), Точность 3 | 5GN.Po |
PA55 | Давление ГП перед левой горелкой | ат, (0;40), Точность 2 | 6GN.Po |
PA56 | Давление ГП перед правой горелкой | ат, (0;40), Точность 2 | 6GN.Po |
PSA57_1, PSA57_2 | Давление ГД на общем трубопроводе | ат, (0;2), Точность 2 | Node3.Pi |
PSA59 | Давление ГД после заслонки на левом газопроводе | ат, (1;2), Точность 3 | 10GBF.Po |
PSA60 | Давление ГД после заслонки на правом газопроводе | ат, (1;2), Точность 3 | 9GBF.Po |
P61 | Давление ГД перед левой горелкой | ат, (0;1.6), Точность 2 | 9GBF.Po |
P62 | Давление ГД перед правой горелкой | ат, (0;1.6), Точность 2 | 10GBF.Po |
PSA63_1 | Давление ГК после 5ГК | ат, (0;2), Точность 2 | 5GC.Po |
PSA63_2 | Давление ГК после 3ГК | ат, (0;2), Точность 2 | 3GC.Po |
PSA64 | Давление ГК после регулирующего клапана | ат, (0;2), Точность 3 | 4GC.Po |
P65 | Давление ГК перед левой горелкой | ат, (0;1.6), Точность 2 | 6GC.Po |
P66 | Давление ГК перед правой горелкой | ат, (0;1.6), Точность 2 | 6GC.Po |
P67 | Давление воздуха до первой ступени В/П слева. | ат, (0;1.2), Точность 2 | Node9.Po |
P68 | Давление воздуха до первой ступени В/П справа | ат, (0;1.2), Точность 2 | Node9.Po |
PSA70 | Давление воздуха после второй ступени воздухо-подогревателя | ат, (0;1.2), Точность 2 | AH2.Po2 |
PSA71 | Давление воздуха после второй ступени воздухо-подогревателя | ат, (0;1.2), Точность 2 | AH2.Po2 |
P72 | Давление воздуха на верхнем ярусе левой горелки | ат, (0;1.2), Точность 2 | Node2.Po |
P73, PSA73 | Давление воздуха на верхнем ярусе правой горелки | ат, (0;1.16), Точность 2 | Node2.Po |
P74 | Давление воздуха на нижнем ярусе левой горелки | ат, (0;1.16), Точность 2 | Node2.Po |
P75, PSA75 | Давление воздуха на нижнем ярусе правой горелки | ат, (0;1.16), Точность 2 | Node2.Po |
PCSA76 | Разрежение в топке слева | ат, (0.9;1), Точность 3 | FireChamber.Po |
PCSA77 | Разрежение в топке справа | ат, (0.9;1), Точность 3 | FireChamber.Po |
P78 | Разрежение перед "ДС-А" | ат, (0.9;1), Точность 2 | 1G.Po |
P79 | Разрежение перед "ДС-Б" | ат, (0.9;1), Точность 2 | 2G.Po |
PSA80 | Давление ВП по левой питательной линии | ат, (0;60), Точность 2 | SrcWater.Po |
PSA81 | Давление ВП по правой питательной линии | ат, (0;60), Точность 2 | SrcWater.Po |
PSA85 | Давление воздуха после воздухонагревателя | ат, (0;2), Точность 3 | AH2.Po2 |
P103 | Давление ГД на диафрагме слева | ат, (0;2), Точность 2 | Node3.Po2 |
P104 | Давление ГД на диафрагме справа | ат, (0;2), Точность 2 | Node3.Po1 |
Src_GN_Pi | Входное давление на источнике ГП | SrcNG.Pi | |
P_GN_S | Давление ГП после источника | SrcNG.Po | |
P_4GN | Давление ГП после 4ГП | 4GN.Po | |
l_3FW_1 | Положение 3ВП(1) | 3FW.l_kl1 | |
l_3GN | Положение 3ГП | 3GN.l_kl1 | |
l_6GN_1 | Положение 6ГП_1 | 6GN.l_kl1 | |
l_6GN_2 | Положение 6ГП_2 | 6GN.l_kl2 | |
l_5GC | Положение 5ГК | 5GC.l_kl1 | |
Pdrum | Давление в барабане котла | Drum.Po1 | |
TCA1 | Температура пара после ГПЗ | 4GN3.To | |
F_3FW | Расход воды после 3ВП | 3FW.Fo | |
F_5FW | Расход воды после 5ВП | 5FW.Fo | |
F_7FW | Расход воды после 7ВП | 7FW.Fo | |
Fdrum | Расход воды в барабан | Drum.Fi1 | |
F_Node8 | Расход воды после Уз8 | Node8.Fo | |
FC101 | Расход пара из котла | т/ч, (0;100), Точность 2 | 4GN3.Fo |
FC102 | Расход природного газа | 3GN.Fo | |
FC102_0 | Расход природного газа после источника | SrcNG.Fo | |
FC102_1 | Расход природного газа после 4ГП | 4GN.Fo | |
FC102_2 | Расход природного газа после 5ГП | 5GN.Fo | |
FC102_3 | Расход природного газа после 6ГП | 6GN.Fo | |
FC103 | Расход ГД по левому газопроводу | 5GBF.Fi | |
FC104 | Расход ГД по правому газопроводу | 6GBF.Fi | |
FC105 | Расход коксового газа после 5ГК | 5GC.Fo | |
FC106 | Расход воздуха на левую горелку | т/ч, (0;100), Точность 1 | Node2.Fi1 |
FC107 | Расход воздуха на правую горелку | т/ч, (0;100), Точность 1 | Node2.Fi2 |
FA108 | Расход воздухо-перегревателя по правой питательной линии | т/ч, (0;200), Точность 2 | SrcWater.Fo |
F109 | Расход воды на терморегулятор | т/ч, (0;200), Точность 2 | 7FW.Fo |
FA110 | Расход воздухо-перегревателя по левой питательной линии | т/ч, (0;200), Точность 2 | SrcWater.Fo |
QA151 | Содержание кислорода в ДГ после пароперегревателя | %, (0;20), Точность 2 | FireChamber.O2 |
QA152 | Содержание CO в ДГ после пароперегревателя | %, (0;20), Точность 2 | FireChamber.CO |
QA153 | Содержание кислорода в уходящих ДГ | %, (0;20), Точность 2 | FireChamber.O2 |
T2 | Температура природного газа | град.К, (223;323), Точность 2 | 3GN.To |
T3 | Температура ГД | град.К, (273;373), Точность 2 | 5GBF.Ti |
T5 | Температура ГК на котел | град.К, (273;373), Точность 2 | 4GC.To |
T7 | Температура воздуха после второй ступени воздухо-перегревателя слева | град.К, (273;773), Точность 2 | AH2.To2 |
T8 | Температура воздуха после второй ступени воздухо-перегревателя справа | град.К, (273;773), Точность 2 | AH2.To2 |
T13 | Температура ДГ перед пароперегревателем слева | град.К, (273;1027), Точность 2 | Drum.To2 |
T14 | Температура ДГ перед пароперегревателем справа | град.К, (273;1027), Точность 2 | Drum.To2 |
T15 | Температура ДГ перед второй ступенью экономайзера слева | град.К, (273;873), Точность 2 | OhS.To1 |
T16 | Температура ДГ перед второй ступенью экономайзера справа | град.К, (273;873), Точность 2 | OhS.To1 |
T17 | Температура ДГ после второй ступени экономайзера слева | град.К, (273;873), Точность 2 | EC2.To1 |
T18 | Температура ДГ после второй ступени экономайзера справа | град.К, (273;873), Точность 2 | EC2.To1 |
T19 | Температура ДГ перед первой ступенью воздухо-перегревателя слева | град.К, (273;873), Точность 2 | EC1.To1 |
T20 | Температура ДГ перед первой ступенью воздухо-перегревателя справа | град.К, (273;873), Точность 2 | EC1.To1 |
T21 | Температура ДГ перед второй ступенью воздухо-перегревателя слева | град.К, (273;873), Точность 2 | EC2.To1 |
T22 | Температура ДГ перед второй ступенью воздухо-перегревателя справа | град.К, (273;873), Точность 2 | EC2.To1 |
T23 | Температура ДГ перед первой ступенью экономайзера слева | град.К, (273;873), Точность 2 | AH2.To1 |
T24 | Температура ДГ перед первой ступенью экономайзера справа | град.К, (273;873), Точность 2 | AH2.To1 |
TA25 | Температура ДГ перед "ДС-А" | град.К, (273;673), Точность 2 | 1G.To |
TA26 | Температура ДГ перед "ДС-Б" | град.К, (273;673), Точность 2 | 2G.To |
T35 | Температура воздухо-перегревателя по левой питательной линии | град.К, (273;473), Точность 2 | 3FW.To |
T36 | Температура воздухо-перегревателя по правой питательной линии | град.К, (273;473), Точность 2 | 3FW.To |
T37 | Температура воды после экономайзера слева | град.К, (273;673), Точность 2 | EC2.To2 |
T38 | Температура воды после экономайзера справа | град.К, (273;673), Точность 2 | EC2.To2 |
ДМК Котёл9 Контроллер (BlockCalc.boiler9_cntr) | |||
TCA1 | Температура пара на выходе | К, (273;800), Точность 0 | TCA1.* |
QAC151 | Процент кислорода в дымовых газах | %, (0;15), Точность 1 | QAC151.* |
LC121 | Уровень в барабане котла | %, (0;100), Точность 1 | LC121.* |
5FW | %, (0;100), Точность 1 | 5FW_inv.OVar | |
FC101 | Расход пара из котла | т/ч, (0;150), Точность 0 | FC101.* |
FC102 | Расход природного газа | т/ч, (0;6), Точность 1 | FC102.* |
FC103 | Расход доменного газа по левому газопроводу | т/ч, (0;70), Точность 1 | FC103.* |
FC104 | Расход доменного газа по правому газопроводу | т/ч, (0;70), Точность 1 | FC104.* |
FC105 | Расход коксового газа | т/ч, (0;10), Точность 1 | FC105.* |
PSA76 | Разрежение в топке | ат, (0.9;1), Точность 3 | PSA76.* |
2.3 Регулирование
Сама по себе динамическая модель без регулирования может быть неустойчивой. Например, параметр уровня в барабане не обладает саморегуляцией и уходит в крайние точки, в случае отсутствия баланса в регулирующих параметрах, что является типичным для чистого интеграла. По этой причине, а также для создания самодостаточной модели, способной работать автономно и без ПЛК в роли регулятора, был создан объект контроллера регуляторов для модели котла согласно схем регулирования на рисунке 2-4.
3 Интерфейс пользователя
Пользовательский интерфейс модели содержит одиннадцать объектов сигнализаций (рис.5). Каждый объект сигнализации содержит по несколько мнемосхем, груп графиков, груп контуров и груп обзоров.
3.1 Объект сигнализации "Пусковая"
3.2 Объект сигнализации "Розжиг"
3.3 Объект сигнализации "Дым.газы"
3.4 Объект сигнализации "Дренажи"
3.5 Объект сигнализации "ГД"
3.6 Объект сигнализации "ГП"
3.7 Объект сигнализации "ГК"
3.8 Объект сигнализации "ПАР"
3.9 Объект сигнализации "ВП"
3.10 Объект сигнализации "Экономайзер"
3.11 Объект сигнализации "ВЗП"
4 Результаты
Результатом разработки стала полноценная динамическая модель технологического процесса многотопливного парового котлоагрегата на высокое давление и большую производительность. Данная модель доступна на трёх языках и включена в дистрибутивы OpenSCADA для демонстрации функций и возможностей.
Модель предусматривает возможность управления ТП от лица оператора, включая операции:
- управление регуляторами:
- изменение режима регулятора: "Автомат", "Ручной" или "Каскад";
- установка нужного значения задания или ручного выхода исполнительного механизма;
- настройка параметров ПИД-регулятора.
В целом, в схеме управления, полноценно участвуют следующие регуляторы:
- LC121 — уровень воды в барабане котла;
- PSA76 — разрежение в топке котла;
- FC101 — расход пара в паровой коллектор;
- FC102 — расход природного газа;
- FC103, FC104 — расход доменного газа;
- FC105 — расход коксового газа;
- QAC151 — процент кислорода в дымовых газах;
- TCA1 — температура пара.
В прикладном смысле модель позволила отработать алгоритмы управления подачей нескольких родов топлива.
Ресурсоёмкость модели в целом, к центральному процессору Athlon 64 3000+ (2000МГц) составляет 22%, к центральному процессору 800 МГц составляет 70%.