张以坚
(广东格林检测技术有限公司,广东 广州 510000)
化工产业至今已能达到蓬勃稳定发展[1],安全性也较过去得到了极大提高,但近些年依然有不少化工安全事故。其中,包括造成严重后果的案例,如2014年江苏昆山市一家金属化工厂发生特大铝粉尘爆炸事故;还如2019年江苏盐城响水县一家化工厂发生特大爆炸事故[2],直接经济损失近20亿元。因此,提高化工厂安全管理水平任重道远。计算机的发展为自动控制技术提供了有力支持[3-4],但传统的控制系统仍然依靠大量人力操作,很难做到实时检测安全状态和及时应对突发情况。目前已有蔡配配[5]提出基于加权概率分析的检测方法,但该方法效率较低,且有一定局限性;马波等[6]曾提出使用线性判别分析进行检测,该方法可能过度拟合数据。伴随现代化技术的迭代更新,机械制造、化工生产、交通运输等领域均大量使用自动控制技术,提升生产加工效率,降低各领域人员劳动强度。因此,本文提出基于自动控制技术的化工生产安全检测系统,有效利用现阶段应用较为广泛的可编程自动控制技术实时检测化工生产环境安全,并对异常情况进行及时预警和自动控制,最大限度降低化工生产过程中发生事故的可能性。
利用PLC设计化工生产安全检测系统,其硬件结构框图如图1所示。系统的太阳能电源模块利用锂电池充电系统使用节能环保的太阳能为系统循环供电。系统利用布设于化工生产监控区域内的各传感器采集化工生产环境的数据信息,经与设定参数范围对比后,通过可编程自动控制器(PLC)控制模块实现对各部分设备的实时控制。并且PLC模块可将数据通过路由节点和网关传输到安全状态检测模块,该模块利用基于PLS的化工生产安全状态检测模型,检测化工生产安全状态,并将化工生产安全状态检测结果通过用户终端进行数据记录,并实现远程访问控制。
图1 硬件框图Fig.1 Hardware block diagram
1.2.1 传感器的选择
环境温度和湿度使用DHT11传感器测量,该传感器性能稳定,可以同时测量2种数据,且能适应各种复杂工业环境。风速使用HL-FS2风速传感器测量,测量范围广、精度高,对供电系统要求低,能有效抗干扰,且组成材料耐久性好,适合化工环境。风向使用HL-FX2风向传感器测量,精度高,且测量方位全面,最多可达16个方位。粉尘浓度使用GP2Y1010AU0F粉尘传感器测量,该传感器电流消耗少,灵敏度高,且具有体积小、方便运输和安装等优点。气体浓度使用MG811气体传感器测量,稳定性高,基本不受环境变化影响,输出方式多样。
1.2.2 PLC自动控制模块设计
自动控制模块分为控制对象、信号采集、信号转换和用户4层,模块组成如图2所示。自动控制模块采用可靠性和灵敏度高、稳定性强的PLC可编程控制器[7-9],适用于化工厂的复杂环境。自动控制模块中信号采集模块通过将各种传感器采集到的数据转换成电信号,分别是电流信号(3~20 mA)和电压信号(0~5 V)。电量测量模块可与计算机通过接口进行通信,传输开关柜的功率信号。PLC中温湿度、风速等信号与辅助开关信号分别通过模拟量输入、输出模块和开关量输入、输出模块采集,使用以太网连接现场总线。每个控制对象由中间继电器传输信号驱动电机和控制回路进行控制,中间继电器连接PLC开关量输出模块,接收计算机收到的控制指令[10-11]。
图2 PLC模块组成Fig.2 Composition of PLC module
1.2.3 用户终端设计
选用ZigBee、串口和触摸屏驱动电路、ARM11与S3C6410核心板组成便携式监测平台,硬件框图如图3所示。由图3可知最终呈现在触摸屏上的数据为先由ZigBee无线模块接收,再经过串口驱动电路传给6410处理器处理的终端节点数据[12]。人工操作也可以通过点击触摸屏完成。
图3 便携式监测平台硬件框图Fig.3 Hardware block diagram of portable monitoring platform
1.3.1 Qt软件工作流程设计
本文系统使用接口丰富、拓展性强的Qt应用程序开发框架编写上位机平台程序[13-14]。当本文检测系统工作时,应用软件被调用,出现数据上行即可触发PC机串口接收信号槽读取数据,其中数据上行到串口通过具有接收数据功能的协调器完成。随后对接收到的数据完整性和正确性进行验证,当数据正确时进行分类储存工作,同时对其分析并制成图表;当验证数据不正确时则将其丢弃。具体工作流程如图4所示。
图4 软件工作流程Fig.4 Software workflow
支持数据通信的网站程序采用PHP+MySQL+Apache编写,通过B/S架构实现通信[15]。用户可通过Ajax无刷新页面技术实时观察化工厂区状态信息和历史数据,实现在线安全检测以及数据的统计和分析。还可以通过用户终端实时分析温湿度、气体浓度和粉尘浓度等参数状态进行远程控制,提高了化工生产安全性。
1.3.2 基于PLS的化工生产安全状态检测模型
使用偏最小二乘回归(PLS)算法实现检测化工生产安全状态。设2个矩阵分别用Xn×m和Yn×p表示自变量输入矩阵和因变量输出矩阵,其中样本个数用n描述,自变量个数用m描述,因变量个数用p描述。先预处理数据得到均值是0、方差是1的矩阵再进行建模。
具体过程为各列变量与均值相减,再除以标准差,最终得到矩阵。矩阵X和Y可按下式分解。
(1)
(2)
式中,t1和u1为得分向量,分别表示输入X和输出Y的第一对主元;p1和q1为负荷向量,分别对应各自矩阵P和Q主元;E1和F1分别表示残差矩阵。
得分向量由式(3)、式(4)描述。
t=Xw
(3)
u=Yc
(4)
其中,w和c为权值向量,‖w‖=‖c‖=1。得到构造PLS外部模型的主元。
残差矩阵E1和F1的计算公式由式(5)、式(6)描述。
(5)
(6)
式中,b1为回归因子,可构造PLS内部模型,表达式见式(7)。
(7)
同理,可得第二特征向量。以上步骤一直重复到提取第k个特征向量为止,即残差矩阵Ek和Fk的信息和回归结果无关。
得分向量和负荷向量由此获得,并存储为下述形式:T=[t1,t2,…,th],P=[p1,p2,…,pm],Q=[q1,q2,…,qm],W=[w1,w2,…,wm],B=diag{b1,b2,…,bm}。由此X和Y可改用式(8)、式(9)描述。
X=TPT+Ek
(8)
Y=TBQT+Fk
(9)
得到偏最小二乘回归模型:
(10)
其中,W=[W1,W2,…,Wh],R=[r1,r2,…,rh]为回归系数矩阵。
继续得到PLS的回归系数矩阵C,表达式见式(11)。
CPLS=(XTX)+XTY=W(PTW)-1QT
(11)
综上,PLS算法具体步骤为:
(1)将X、Y进行归一化,初始E0=X,F0=Y,h=0。
(2)令h=h+1,uh为Fh-1中的一列。
(3)建立PLS外部模型,重复式(12)—式(15)循环直到th收敛。
(12)
th=Eh-1wh/‖Eh-1wh‖
(13)
qh=Fh-1th/‖Fh-1th‖
(14)
uh=Fh-1qh
(15)
(4)通过式(16)计算X的负荷向量。
(16)
(5)建立内部模型:
(17)
(6)计算偏差矩阵:
(18)
(19)
(7)重复第(2)步进行循环,直到提取目标隐变量,完成化工生产安全状态检测。
为了验证本文设计系统的可行性,将本文系统应用在某化工厂进行生产安全检测和控制实验,实验结果见下文。
2.1.1 因变量的选取
本文系统应用的PLS算法模型受因变量的影响,因此准备1 000条数据(A组),自变量取工厂里20个自变量,如风机、过滤机等的工作指标,选取自变量的实时温度作为因变量,隐变量个数定为10,并另取1 000条数据(B组)做对比测试。将A组中一个因变量训练模型与B组中所有因变量模型进行对比,计算20个模型的误差,如图5所示。由图5可知,A组中取第13个变量为因变量时模型平均误差最小,即单因变量模型中第13个模型误差最小;B组数据中计算得到的误差大部分都高于A组的平均误差,这是由于B组中因变量全部用于训练模型,计算量较大,同时影响温度误差因素除了化工生产的制冷系统还有环境温度等因素,当因变量较多时可能会导致引入其他噪声从而降低精准度。因此,A组单因变量方法更适合本文系统应用模型训练,取第13个因变量时平均误差最小。
图5 各因变量模型平均误差Fig.5 Average error of each dependent variable model
2.1.2 隐变量的选取
PLS算法中隐变量的个数通过交叉有效性原则确定。设t1,t2,…tA为建模过程中提取的隐变量,化工生产安全状态检测残差平方和为:
(20)
图6 不同隐变量个数的PRESS值Fig.6 PRESS value of different number of implicit variables
由图6可知,随着隐变量个数增大,PRESS值先下降后保持在一定区间内浮动。主要原因为隐变量个数较少时,本文系统不能获取足够信息,当隐变量个数增加,信息量也增加,PRESS值理论上应当随之降低,但隐变量的增多也可能造成更多的噪声被引入,导致PRESS值增大出现波动,因此选择隐变量个数时除了考虑是否含有更多信息还要保证引入噪声较少。综合考虑,取第13个因变量、隐变量个数为10个时,文本系统检测化工生产安全状态误差最小。
2.1.3 安全检测实验
异常状态使用SPE值衡量,该值能反应样本向量的变化,具体计算见式(21):
(21)
根据上文实验结果提取数据并分成a、b、c三组,投影到系统模型计算SPE值,绘制安全状态检测曲线如图7所示,图中实直线为98%置信度的SPE值控制限。图7中a组和b组无异常,SPE值始终未超出控制限并稳定波动,c组第30到40个观测点的SPE值明显不在控制限内,此时为人工设置故障,c组记录表明本文检测系统可以准确检测并记录异常状态。
图7 SPE值检测图Fig.7 SPE value detection diagram
分别从化工厂车间温(湿)度、气体浓度和粉尘浓度3个方面进行自动控制实验,各取5组数据,实验结果见图8和表1。结合图8与表1可知,本文系统在调控温(湿)度方面超调量较小,但响应时间较长,这是由于影响环境温湿度的因素较多,但干扰程度不大;系统检测控制粉尘浓度和气体浓度超调量较大,响应速度快,能在更短的时间内达到稳态值,相对稳定性更好。
图8 系统超调量Fig.8 System overshoot
表1 自动控制实验结果Tab.1 Results of automatic control experiment
综上,本文系统拥有良好的安全检测和自动控制性能,能够及时发现异常状况并上传到用户终端同时自动调控至恢复正常状态。
本文设计了自动控制技术的化工生产安全检测系统,该系统能够在化工厂通过各传感器检测厂区内各项环境指标,实时准确反映并记录生产环境状态,如有害气体浓度以及粉尘浓度等,并能根据实际状况进行自动控制。从硬件和软件2个方面进行设计实验,实验结果表明隐变量个数取10、选择第13个单因变量时系统的生产安全检测误差更小;系统在车间温(湿)度、气体浓度和粉尘浓度3个方面控制表现良好,温(湿)度控制速度较快,气体浓度和粉尘浓度响应速度更快,均能够在短时间内稳定异常变化,维持设定安全值,达到本文系统设计目标。