热风炉
wangzf / 2023-05-17
目录
1.总体设计
热风炉控制通常采用可编程控制器 PLC 进行控制,根据拱顶温度以及烟道温度的变化自动修改空气和煤气的配比,即空煤比,但只能将空煤比在预设好的大烧煤空比,或设好的小烧煤空比之间切换,无法随时根据炉况给出最佳空煤比,导致煤气的大量浪费
同时换炉时,各风炉之间配合效果差,导致多风炉同时需要送入煤气,但总管中气量不足,导致炉内温度波动较大,针对热风炉以上问题,本文设计了基于模型智能控制煤气流量和空气流量算法
2.数据处理
2.1 数据处理步骤
-
获取完整的燃烧周期数据
- 1.1 筛选
$F_{gas} > 200 m^{3}/h$
的历史数据;【参数 1】 - 1.2 如果筛选之后的数据中,相邻样本根据时间戳排序后的索引(
index
) 的差值小于 30(如果采集的数据是 1min 频率的,相邻样本时间戳的间隔小于 30min), 把这些数据合并为一组,则认为该组数据是在同一个燃烧周期内,否则认为是另一个燃烧周期的样本,这样就得到了一个完整的燃烧周期数据;【参数 2】 - 1.3 最后,筛选燃烧周期的数据样本量大于 100 的周期样本数据,数据格式如下:【参数 3】
- 1.1 筛选
周期 $C$ |
时间戳 | 煤气流量 $F_{gas}$ |
煤气热值 $Q_{gas}$ |
空气流量 $F_{air}$ |
拱顶温度 $T_{top}$ |
烟道温度 $T_{smoke}$ |
送风温度 $T_{wind}$ |
---|---|---|---|---|---|---|---|
$t_{1}$ |
|||||||
$C_{1}$ |
$\ldots$ |
||||||
$t_{n}$ |
|||||||
$t_{1}$ |
|||||||
$C_{2}$ |
$\ldots$ |
||||||
$t_{n}$ |
|||||||
$t_{1}$ |
|||||||
$C_{3}$ |
$\ldots$ |
||||||
$t_{n}$ |
2.2 数据分析
- 计算周期统计指标
- 计算每个燃烧周期的:
- 拱顶温度均值(
$T_{top\_mean}$
) - 拱顶温度标准差(
$T_{top\_std}$
) - 拱顶温度最大值(
$T_{top\_max}$
) - 拱顶温度最小值(
$T_{top\_min}$
) - 煤气流量均值(
$F_{gas\_mean}$
) - 煤气热量(
$H_{gas}$
)= 煤气热值($Q_{gas}$
)$\cdot$
煤气流量均值($F_{gas\_mean}$
),没有热值时,直接使用煤气量
- 拱顶温度均值(
- 计算每个送风周期的:
- 送风温度最大值(
$T_{wind\_max}$
)
- 送风温度最大值(
周期(C) | 送风温度最大值 $T_{wind\_max}$ |
拱顶平均温度 $T_{top\_mean}$ |
拱顶温度标准差 $T_{top\_std}$ |
拱顶温度最大值 $T_{top\_max}$ |
拱顶温度最小值 $T_{top\_min}$ |
煤气流量均值 $F_{gas\_mean}$ |
煤气热量 $H_{gas}$ |
---|---|---|---|---|---|---|---|
$C_{1}$ |
|||||||
$C_{2}$ |
|||||||
$\ldots$ |
|||||||
$C_{3}$ |
- 筛选出有效周期的指标
- 为了得到 xx 指标的 xx 阈值,描述每个燃烧周期
$T_{top\_max}$
与$H_{gas}$
的相关关系,绘制所有燃烧周期两列数据的散点图; - 为了得到送风温度的xx阈值,描述每个燃烧周期
$H_{gas}$
与每个送风周期$T_{wind\_max}$
的相关关系,绘制所有燃烧周期与送风周期相关数据的散点图;
- 为了得到 xx 指标的 xx 阈值,描述每个燃烧周期
- 根据上述两个散点图以及燃烧期、送风期的相关统计指标,生成燃烧期、送风期数据的两个筛选条件:
- 同一个热风炉的全部燃烧期的煤气热量(
$H_{gas}$
)序列的最优 0.3(30%)分位数,作为节约煤气量的阈值 - 同一个热风炉送风期的最高送风温度
$T_{wind\_max}>1193℃$
- 同一个热风炉的全部燃烧期的煤气热量(
- 根据上述两个筛选条件,筛选得到两个数据集,然后统计同时出现在两个数据集的中的燃烧周期(同时满足上述两个筛选条件),在 2.1 节筛选得到的数据中选择这些满足条件的周期数据;
- 在第 4 步筛选得到的数据中,取每个燃烧期 3min 以后的数据
- Label:
$t+1$
时刻的拱顶温度$T_{top}$
- Features:
- 燃烧时间
$t$
时刻前 5min 的拱顶温度(右)$T_{top}$
$t$
时刻前 5min 的烟道温度$T_{smoke}$
- Label:
- 在 2.1 节筛选得到的数据中,取每个燃烧期 3min以后得数据
- Label:
$t+1$
时刻的煤气流量$F_{gas}$
- Features:
- 燃烧时间
$t$
时刻前 5-9min 的煤气热值$Q_{gas}$
$t$
时刻前 5min 拱顶温度$T_{top}$
$t$
时刻前5min煤气流量$F_{gas}$
- Label:
- 将上述两个数据集保存为
.csv
格式的数据
3.构建模型
使用第 2 节得到了两个数据集训练:
- 拱顶温度预测模型
- 煤气流量预测模型
模型构建流程:
- 针对每个热风炉进行建模,每个热风炉构建两个模型:
- 拱顶温度预测模型
- 煤气流量预测模型
- 采用 10 折交叉验证对比常见的机器学习方法进行测试,进行模型选择;
- 根据绝对均值误差(MAE)、均方误差(MSE)、可决系数(
$R^{2}$
)等作为模型评价标准 - 综合模型选择标准后选择了极端随机树模型(Extra Random Trees)
- 使用训练数据训练极端随机树模型,并将训练好的模型保存下来,保存为
.pkl
格式
3.1 拱顶温度预测
数据信息如下:
- Label:
$t+1$
时刻的拱顶温度$T_{top}$
- Features:
- 燃烧时间
$t$
时刻前 5min 的拱顶温度(右)$T_{top}$
$t$
时刻前 5min 的烟道温度$T_{smoke}$
3.2 煤气流量预测
数据信息如下:
- Label:
$t+1$
时刻的煤气流量$F_{gas}$
- Features:
- 燃烧时间
$t$
时刻前 5-9min 的煤气热值$Q_{gas}$
【TODO】$t$
时刻前 5min 烟道温度$T_{smoke}$
【TODO】$t$
时刻前 5min 拱顶温度$T_{top}$
$t$
时刻前 5min 煤气流量$F_{gas}$
在预测 $t+1$
时刻的煤气流量时,需要用到拱顶温度预测模型的预测结果 $t+1$
时刻的拱顶预测温度,下图可以清楚说明预测煤气流量过程:
![image-20230515135203055](/Users/zfwang/Library/Application Support/typora-user-images/image-20230515135203055.png)