Имя: ModelKotelDMK Основан: Январь 2007г Статус: Завершён, Август 2010 Участники: Савоченко Роман, Лысенко Максим, Яшина Ксения Описание: Проект посвящён созданию полной динамической модели парового котла №9 Днепровского Металлургического Комбината (ДМК). Адрес: Текущая БД в SVN-репозитории, БД в архиве file:dmkkotel9.tlz Живое исполнение: Web-доступ к интерфейсу модели |
Объектом моделирования данного проекта, по созданию полной динамической модели реального времени, является многотопливный паровой котлоагрегат Днепровского Металлургического Комбината (ДМК) №9. Отличительной особенностью данного котлоагрегата является его многотопливная природа и как следствие особенности в оптимизации управления топливной нагрузкой этого котлоагрегата.
Функционально, разработка предназначена для создания динамической модели реального времени многотопливного котла ДМК.
Эксплуатационным назначением разработки является:
С целью ускорения, использования опыта предыдущих разработок, а также для совершенствования технологии и инструментария разработки полных динамических моделей реального времени принято решение строить модель в среде открытой SCADA системы OpenSCADA. Система OpenSCADA имеет достаточно мощный механизм пользовательского программирования, а также наработки для создания полных динамических моделей реального времени, которые позволяют быстро создавать крупные динамические модели реального времени. Подробнее об этом было рассказано в докладе, на 5 Всеукраинской конференции разработчиков и пользователей открытого ПО.
Перед созданием модели котла была сформирована принципиальная схема модели технологического процесса, основанная на принципиальной схеме реального технологического процесса. Полученная схема изображена на рис.1.
Для построения модели технологического процесса на основе доступных моделей аппаратов была непосредственно использована исходная принципиальная схема и блочный вычислитель (BlockCalc) системы OpenSCADA. Модели аппаратов технологической схемы добавлялись в блочную схему в соответствии с принципиальной схемой. Часть блоков была добавлена для вспомогательного оборудования, а также узлов потоков. Номера блоков узлов указаны на принципиальной схеме номерами около узлов потоков.
Модель реализована в виде двух блочных схем блочного вычислителя. Состав и свойства блочных схем приведены в таблице 1.
Таблица 1. Блочные схемы модели
ID | Имя | Назначение | Период исполнения (мс) | Время исполнения на Athlon 64 3000+ (мс) |
kotel9 | ДМК Котёл9 | Содержит модель котла №9 Днепровского Металлургического Комбината. | 5 | 1.1 |
kotel9_cntr | ДМК Котёл9 Контроллер | Содержит модель системы управления котла №9 Днепровского Металлургического Комбината. | 1000 | 0.05 |
Из характеристик блочных схем можно видеть, что ресурсоёмкость модели в целом к центральному процессору Athlon 64 3000+ (2000МГц) составляет 22%.
В таблице 2 приведен перечень использованных моделей аппаратов в соответствии с принципиальной схемой.
Таблица 2. Использованные модели аппаратов
Модель аппарата | Аппараты (блоки модели) |
Библиотека "Технологические аппараты (DAQ.JavaLikeCalc.techApp)" | |
Котёл: барабан (boilerBarrel) | kotel9.Барабан |
Котёл: топка (boilerBurner) | kotel9.Топка |
Компрессор газовый (compressor) | kotel9.ДСА, kotel9.ДСБ, kotel9.ДВА, kotel9.ДВБ |
Теплообменник (heatExch) | kotel9.ПП, kotel9.ВП1, kotel9.ВП2, kotel9.СП, kotel9.ЭК1, kotel9.ЭК2 |
Клапан (klap) | kotel9.3ВП, kotel9.5ВП, kotel9.7ВП, kotel9.5ГД9, kotel9.6ГД9, kotel9.7ГД9, kotel9.8ГД9, kotel9.9ГД9, kotel9.10ГД9, kotel9.3ГК9, kotel9.4ГК9, kotel9.6ГК9, kotel9.5ГК9, kotel9.3ГП9, kotel9.4ГП9, kotel9.5ГП9, kotel9.6ГП9, kotel9.4ГПЗ9, kotel9.1Ш9, kotel9.2Ш9, kotel9.11Ш9, kotel9.13Ш9 |
Сеть (нагрузка) (net) | kotel9.ParNet, kotel9.Атмосф |
Труба 1->2 (pipe1_2) | kotel9.УЗ3, kotel9.Уз5, kotel9.Уз6, kotel9.Уз7, kotel9.Уз10 |
Труба 2->1 (pipe2_1) | kotel9.УЗ1, kotel9.УЗ2, kotel9.УЗ9, kotel9.Уз12 |
Труба 3->1 (pipe3_1) | kotel9.Уз8 |
Источник (давление) (src_press) | kotel9.SrcГД, kotel9.SrcГК, kotel9.SrcВода, kotel9.SrcПГ, kotel9.SrcВоздух |
Библиотека "Библиотека функций Complex1 (Special.FLibComplex1)" | |
ПИД регулятор (pid) | kotel9_cntr.TCA1, kotel9_cntr.F_air_gas, kotel9_cntr.QAC151, kotel9_cntr.LC121, kotel9_cntr.PCA51, kotel9_cntr.FC101, kotel9_cntr.FC102, kotel9_cntr.FC103, kotel9_cntr.FC104, kotel9_cntr.FC105, kotel9_cntr.PSA76 |
Библиотека "Котёл К9" (DAQ.JavaLikeCalc.k9) | |
Делитель (Delitel) | kotel9_cntr.Air_Gas |
Суммарный расход топлива в котле (Fsum) | kotel9_cntr.Fsum |
Инверсия (Inversion) | kotel9_cntr.5VP_inv |
Благодаря использованию библиотеки моделей аппаратов и концепции построения динамических моделей была получена динамическая модель, из которой можно получить параметры в любой точке принципиальной схемы как для изучения, так и для отработки алгоритмов управления.
Для получения информации о технологическом процессе были созданы параметры ТП (таблица 3), которые представляют данные из отдельных узлов модели.
Таблица 3. Параметры технологического процесса
Шифр | Описание | Свойства | Источник |
ДМК Котёл9 (BlockCalc.kotel9) | |||
LC121 | Уровень воды в барабане котла | Барабан.Lo | |
LСA122, LSA124 | Уровень воды в чистом отсеке барабана, справа | %, (0;100), Точность 0 | Барабан.Lo |
LSA123 | Уровень воды в чистом отсеке барабана, слева | %, (0;100), Точность 0 | Барабан.Lo |
LCVG121 | Положение 3Впл-9 | %, (0;100), Точность 0 | 3ВП.l_kl1 |
LCVG122 | Положение 3Впп-9 | %, (0;100), Точность 0 | 3ВП.l_kl2 |
G_11SH | Положение 11Ш-9 | 11Ш9.l_kl1 | |
G_12SH | Положение 12Ш-9 | 11Ш9.l_kl2 | |
G_13SH | Положение 13Ш-9 | 13Ш9.l_kl1 | |
G_14SH | Положение 14Ш-9 | 13Ш9.l_kl2 | |
P_5VP | Положение 5ВП(1) | 5ВП.l_kl1 | |
P_5VP_2 | Положение 5ВП(2) | 5ВП.l_kl2 | |
P_7VP | Положение 7ВП | 7ВП.l_kl1 | |
P_4GP9 | Положение 4ГП9 | 4ГП9.l_kl1 | |
P_5GP9 | Положение 5ГП9 | 5ГП9.l_kl1 | |
P_7GD | Положение 7ГД | 7ГД9.l_kl1 | |
P_8GD | Положение 8ГД | 8ГД9.l_kl1 | |
FCVG102 | Положение 5ГП-9 | 5ГП9.l_kl1 | |
FCVG103 | Положение 7ГД9 | 7ГД9.l_kl1 | |
FCVG104 | Положение 8ГД-9 | 8ГД9.l_kl1 | |
FCVG105 | Положение 4ГК-9 | 4ГК9.l_kl1 | |
TCVG1_1 | Положение 7Вп-9 | 7ВП9.l_kl1 | |
TCVG1_2 | Положение 5Впл-9 | 5ВП9.l_kl1 | |
PCVG76 | Производительность ДСА | об/мин, (0;100), Точность 1 | ДСА.N |
PCVG77 | Производительность ДСБ | об/мин, (0;100), Точность 1 | ДСБ.N |
FCV106 | Производительность ДВА | об/мин, (0;100), Точность 1 | ДВА.N |
FCV107 | Производительность ДВБ | об/мин, (0;100), Точность 1 | ДВБ.N |
PCA51 | Давление пара после ГПЗ | ат, (0;50), Точность 2 | 4ГПЗ9.Po |
PSA52 | Давление пара в барабане | ат, (0;40), Точность 2 | Барабан.Po1 |
PCA52 | Давление пара в барабане котла | ат, (0;50), Точность 2 | Барабан.Po1 |
PSA52_1 | Давление пара в барабане котла | ат, (0;40), Точность 2 | Барабан.Po1 |
PSA53 | Давление ГП до регулирующей заслонки | ат, (0;40), Точность 2 | 3ГП9.Po |
PSA53_1 | Давление ГП перед диафрагмой | ат, (0;40), Точность 2 | 3ГП9.Po |
PSA53_2 | Давление ГП перед диафрагмой | ат, (0;40), Точность 2 | 3ГП9.Po |
PSA54 | Давление ГП после регулирующей заслонки | ат, (0;1.5), Точность 3 | 5ГП9.Po |
PA55 | Давление ГП перед левой горелкой | ат, (0;40), Точность 2 | 6ГП9.Po |
PA56 | Давление ГП перед правой горелкой | ат, (0;40), Точность 2 | 6ГП9.Po |
PSA57_1, PSA57_2 | Давление ГД на общем трубопроводе. | ат, (0;2), Точность 2 | УЗ3.Pi |
PSA59 | Давление ГД после заслонки на левом газопроводе | ат, (1;2), Точность 3 | 10ГД9.Po |
PSA60 | Давление ГД после заслонки на правом газопроводе | ат, (1;2), Точность 3 | 9ГД9.Po |
P61 | Давление ГД перед левой горелкой | ат, (0;1.6), Точность 2 | 9ГД9.Po |
P62 | Давление ГД перед правой горелкой | ат, (0;1.6), Точность 2 | 10ГД9.Po |
PSA63_1 | Давление ГК после 3ГК-9 | ат, (0;2), Точность 2 | 5ГК9.Po |
PSA63_2 | Давление ГК после 3ГК-9 | ат, (0;2), Точность 2 | 3ГК9.Po |
PSA64 | Давление ГК после регулирующего клапана | ат, (0;2), Точность 3 | 4ГК9.Po |
P65 | Давление ГК перед левой горелкой | ат, (0;1.6), Точность 2 | 6ГК9.Po |
P66 | Давление ГК перед правой горелкой | ат, (0;1.6), Точность 2 | 6ГК9.Po |
P67 | Давление воздуха до первой ступени В/П слева. | ат, (0;1.2), Точность 2 | УЗ9.Po |
P72 | Давление воздуха на верхнем ярусе левой горелки | ат, (0;1.2), Точность 2 | УЗ2.Po |
P68 | Давление воздуха до первой ступени В/П справа | ат, (0;1.2), Точность 2 | УЗ9.Po |
PSA70 | Давление воздуха после второй ступени воздухо-подогревателя | ат, (0;1.2), Точность 2 | ВП2.Po2 |
PSA71 | Давление воздуха после 2 ступени воздухо-подогревателя | ат, (0;1.2), Точность 2 | ВП2.Po2 |
P73, PSA73 | Давление воздуха на верхнем ярусе правой горелки | ат, (0;1.16), Точность 2 | УЗ2.Po |
P74 | Давление воздуха на нижнем ярусе левой горелки | ат, (0;1.16), Точность 2 | УЗ2.Po |
P75, PSA75 | Давление воздуха на нижнем ярусе правой горелки | ат, (0;1.16), Точность 2 | УЗ2.Po |
PCSA76 | Разрежение в топке слева | ат, (0.9;1), Точность 3 | Топка.Po |
PCSA77 | Разрежение в топке справа | ат, (0.9;1), Точность 3 | Топка.Po |
P78 | Разрежение перед "ДС-А" | ат, (0.9;1), Точность 2 | 1Ш9.Po |
P79 | Разрежение перед "ДС-Б" | ат, (0.9;1), Точность 2 | 2Ш9.Po |
PSA80 | Давление ВП по левой питательной линии | ат, (0;60), Точность 2 | SrcВода.Po |
PSA81 | Давление ВП по правой питательной линии | ат, (0;60), Точность 2 | SrcВода.Po |
PSA85 | Давление воздуха после воздухонагревателя | ат, (0;2), Точность 3 | ВП2.Po2 |
P103 | Давление ГД на диафрагме слева | ат, (0;2), Точность 2 | УЗ3.Po2 |
P104 | Давление ГД на диафрагме справа | ат, (0;2), Точность 2 | УЗ3.Po1 |
Src_GP_Pi | Входное давление на источнике ГП | SrcПГ.Pi | |
P_GP_S | Давление ГП после источника | SrcПГ.Po | |
P_GP_4GP | Давление ГП после 4ГП9 | 4ГП9.Po | |
P_3VP_1 | Положение 3ВП9(1) | 3ВП.l_kl1 | |
P_3GP9 | Положение 3ГП9 | 3ГП9.l_kl1 | |
P_6GP9_1 | Положение 6ГП9_1 | 6ГП9.l_kl1 | |
P_6GP9_2 | Положение 6ГП9_2 | 6ГП9.l_kl2 | |
P_5GK | Положение 5ГК | 5ГК9.l_kl1 | |
Pbar | Давление в барабане котла | Барабан.Po1 | |
TCA1 | Температура пара после ГПЗ | 4ГПЗ9.To | |
F_3VP | Расход воды после 3ВП | 3ВП.Fo | |
F_5VP | Расход воды после 5ВП | 5ВП.Fo | |
F_7VP | Расход воды после 7ВП | 7ВП.Fo | |
Fbar | Расход воды в барабан | Барабан.Fi1 | |
F_UZ8 | Расход воды после УЗ8 | Уз8.Fo | |
FC101 | Расход пара из котла | т/ч, (0;100), Точность 2 | 4ГПЗ9.Fo |
FC102 | Расход природного газа после 3ГП9 | 3ГП9.Fo | |
FC102_0 | Расход природного газа после источника | SrcПГ.Fo | |
FC102_1 | Расход природного газа после 4ГП9 | 4ГП9.Fo | |
FC102_2 | Расход природного газа после 5ГП9 | 5ГП9.Fo | |
FC102_3 | Расход природного газа после 6ГП9 | 6ГП9.Fo | |
FC103 | Расход ГД по левому газопроводу | 5ГД9.Fi | |
FC104 | Расход ГД по правому газопроводу | 6ГД9.Fi | |
FC105 | Расход коксового газа после 5ГК9 | 5ГК9.Fo | |
FC106 | Расход воздуха на левую горелку | т/ч, (0;100), Точность 1 | УЗ2.Fi1 |
FC107 | Расход воздуха на правую горелку | т/ч, (0;100), Точность 1 | УЗ2.Fi2 |
FA108 | Расход воздухо-перегревателя по правой питательной линии | т/ч, (0;200), Точность 2 | SrcВода.Fo |
F109 | Расход воды на терморегулятор | т/ч, (0;200), Точность 2 | 7ВП.Fo |
FA110 | Расход воздухо-перегревателя по левой питательной линии | т/ч, (0;200), Точность 2 | SrcВода.Fo |
QA151 | Содержание кислорода в ДГ после пароперегревателя | %, (0;20), Точность 2 | Топка.O2 |
QA152 | Содержание CO в ДГ после пароперегревателя | %, (0;20), Точность 2 | Топка.CO |
QA153 | Содержание кислорода в уходящих ДГ | %, (0;20), Точность 2 | Топка.O2 |
T2 | Температура природного газа | град.К, (223;323), Точность 2 | 3ГП9.To |
T3 | Температура ГД | град.К, (273;373), Точность 2 | 5ГД9.Ti |
T5 | Температура ГК на котел | град.К, (273;373), Точность 2 | 4ГК9.To |
T7 | Температура воздуха после второй ступени воздухо-перегревателя слева | град.К, (273;773), Точность 2 | ВП2.To2 |
T8 | Температура воздуха после 2 ступени воздухо-перегревателя справа | град.К, (273;773), Точность 2 | ВП2.To2 |
T13 | Температура ДГ перед пароперегревателем слева | град.К, (273;1027), Точность 2 | Барабан.To2 |
T14 | Температура ДГ перед пароперегревателем справа | град.К, (273;1027), Точность 2 | Барабан.To2 |
T15 | Температура ДГ перед 2 ступенью экономайзера слева | град.К, (273;873), Точность 2 | ПП.To1 |
T16 | Температура ДГ перед 2 ступенью экономайзера справа | град.К, (273;873), Точность 2 | ПП.To1 |
T17 | Температура ДГ после 2 ступени экономайзера слева | град.К, (273;873), Точность 2 | ЭК2.To1 |
T18 | Температура ДГ после 2 ступени экономайзера справа | град.К, (273;873), Точность 2 | ЭК2.To1 |
T19 | Температура ДГ перед первой ступенью воздухо-перегревателя слева | град.К, (273;873), Точность 2 | ЭК1.To1 |
T20 | Температура ДГ перед 1 ступенью воздухо-перегревателя справа | град.К, (273;873), Точность 2 | ЭК1.To1 |
T21 | Температура ДГ перед 2 ступенью воздухо-перегревателя слева | град.К, (273;873), Точность 2 | ЭК2.To1 |
T22 | Температура ДГ перед 2 ступенью воздухо-перегревателя справа | град.К, (273;873), Точность 2 | ЭК2.To1 |
T23 | Температура ДГ перед 1 ступенью экономайзера слева | град.К, (273;873), Точность 2 | ВП2.To1 |
T24 | Температура ДГ перед первой ступенью экономайзера справа | град.К, (273;873), Точность 2 | ВП2.To1 |
TA25 | Температура ДГ перед "ДС-А" | град.К, (273;673), Точность 2 | 1Ш9.To |
TA26 | Температура ДГ перед "ДС-Б" | град.К, (273;673), Точность 2 | 2Ш9.To |
T35 | Температура воздухо-перегревателя по левой питательной линии | град.К, (273;473), Точность 2 | 3ВП.To |
T36 | Температура воздухо-перегревателя по правой питательной линии | град.К, (273;473), Точность 2 | 3ВП.To |
T37 | Температура воды после экономайзера слева | град.К, (273;673), Точность 2 | ЭК2.To2 |
T38 | Температура воды после экономайзера справа | град.К, (273;673), Точность 2 | ЭК2.To2 |
ДМК Котёл9 Контроллер (BlockCalc.kotel9_cntr) | |||
TCA1 | Температура пара на выходе | К, (273;800), Точность 0 | TCA1.* |
QAC151 | Процент кислорода в дымовых газах. | %, (0;15), Точность 1 | QAC151.* |
LC121 | Уровень в барабане котла | %, (0;100), Точность 1 | LC121.* |
5VP | %, (0;100), Точность 1 | 5VP_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 - 4.
Пользовательский интерфейс модели содержит одиннадцать объектов сигнализаций (рис.5). Каждый объект сигнализации содержит по несколько мнемосхем, группе графиков, группе контуров и группе обзоров.
Результатом разработки стала полноценная динамическая модель технологического процесса многотопливного парового котла на высокое давление и большую производительность. Данная модель доступна на трёх языках и включена в дистрибутивы системы OpenSCADA для демонстрации функций и возможностей.
Модель предусматривает возможность управления ТП от лица оператора, включая операции:
В целом, в схеме управления, полноценно участвуют следующие регуляторы:
В прикладном смысле модель позволила отработать алгоритмы управления подачей нескольких родов топлива.
Ресурсоёмкость модели составила 70% на ядре процессора 800 МГц, архитектуры x86.