Ім'я: ModelKotelDMK Засновано: Січень 2007р Статус: Завершено, Серпень 2010 Учасники: Савоченко Роман, Лисенко Максим, Яшина Ксенія Опис: Проект присвячено створенню повної динамічної моделі парового котла №9 Дніпровського Металургійного Комбінату (ДМК). Адрес: Поточна БД у SVN-репозиторії, БД у файлі: dmkkotel9.tlz Живе виконання: Web-доступ до інтерфейсу моделі |
Об'єктом моделювання цього проекту, по створенню повної динамічної моделі реального часу, є багатопаливний паровий котлоагрегат Дніпровського Металургійного Комбінату (ДМК) №9. Відмінною особливістю даного котлоагрегату є його багатопаливна сутність та як наслідок особливості у оптимізації керування паливним навантаженням цього котлоагрегату.
Функціонально, розробка призначена для створення динамічної моделі реального часу багатопаливного котла ДМК.
Експлуатаційним призначенням розробки є:
З метою прискорення, використання досвіду попередніх розроботок, а також для удосконалення технології та інструментарію розробки повних динамічних моделей реального часу прийнято рішення будувати модель у середовищі відкритої SCADA системи OpenSCADA. Система OpenSCADA має достатньо потужний механізм користувацького програмування, а також напрацювання для створення повних динамічних моделей реального часу, які дозволяють швидко створювати крупні динамічні моделі реального часу. Детальніше про це було розказано у доповіді (RU), на 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 | Тиск повітря після другого ступеня повітря-підігрівача | ат, (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 | Температура повітря після другого ступеню повітря-перегрівача праворуч | град.К, (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 | Температура ДГ перед 1 ступенем економайзеру праворуч | град.К, (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.