基于S7-400 PLC的过热蒸汽温度串级模糊PID控制系统
2015-01-15史冬琳刘剑钊张秀宇
史冬琳 刘剑钊 张秀宇
(东北电力大学自动化工程学院,吉林 吉林 132012)
过热蒸汽温度是工业锅炉的重要参数,其变化直接影响锅炉的安全运行和企业的经济效益。由于过热蒸汽温度对象具有非线性、时变性、滞后性及干扰多等特点,难以得到精确的数学模型,因此常规串级PID控制难以适应变负荷时过热蒸汽温度对象特性发生较大改变的特点,不能获取满意的动态性能指标[1]。
模糊控制可以在不知道被控对象精确模型的前提下,凭借专家知识和操作员总结出的控制经验建立起模糊控制规律并对系统进行有效控制,在过热蒸汽温度控制系统中引入模糊控制能有效改善控制系统的调节品质[2~4]。模糊控制算法虽然在仿真研究中获得了良好的效果,但现阶段在DCS和PLC上实现该算法仍比较困难,存在理论研究与实际应用脱节的问题。查表法是一种实现模糊控制的简单方法,但受查询表容量的限制而不能应用于过热蒸汽温度这类复杂系统中[5]。
用于过程控制的对象链接与嵌入(Object Linking and Embedding(OLE) for Process Control,OPC)技术作为一种过程控制领域新兴的通信技术能够很好地解决不同软、硬件之间的通信兼容性问题[6]。基于OPC的模糊控制解决方案,即利用OPC技术有机结合Matlab和PLC,设计在线模糊PID控制器,为模糊控制算法在PLC中的应用提供了很好的借鉴[7,8]。
笔者以SMPT-1000平台锅炉工程的过热蒸汽温度为被控对象,设计串级模糊PID控制策略,借助OPC技术为PLC和Matlab搭建数据传输通道。最后通过仿真验证模糊PID控制算法和OPC技术在实际过热蒸汽温度控制应用中的效果。
本方案选用的软、硬件包括S7-400 PLC、SMPT-1000多功能仿真平台、Matlab/Simulink和Simatic PCS7软件,系统平台结构如图1所示。被控对象为SMPT-1000锅炉工程中的过热蒸汽温度系统(图2),它和PLC通过Profibus-DP总线连接。PCS7 是完全无缝集成的自动化解决方案,可以应用于所有的工业领域,包括过程工业、制造工业、混合工业和工业所涉及的所有制造和过程自动化产品[9,10]。本方案中PCS7通过工业以太网连接控制器完成PLC的网络组态、硬件组态和监视功能。Matlab/Simulink主要负责模糊推理计算,得到PID校正值,并通过OPC技术与PLC进行数据传输和交换[11]。Simulink中的OPC Read模块从PLC的数据存储区中读取主调节器的过程值和设定值,OPC Write模块负责将模糊工具箱计算出的3个PID参数校正值送回PLC,由PLC完成对过热蒸汽温度系统的控制。
图1 系统平台结构
图2 SMPT-1000锅炉工程中的过热蒸汽温度系统
2 串级模糊PID控制系统
模糊PID控制器在PID算法的基础上,以误差E和误差变化率EC为输入,按照模糊规则进行推理,PID参数在线调整表达式为:
(1)
式中kp、ki、kd——原PID参数;
kp′、ki′、kd′——校正后的PID参数;
Δkp、Δki、Δkd——模糊控制器计算出的PID参
数校正值。
通过式(1)计算,以满足不同E和EC时控制系统对PID参数的要求,从而使被控对象具有较好的动静态性能。
2.1 控制方案
过热蒸汽温度串级模糊PID系统结构如图3所示,根据被控对象的结构和特性,利用PCS7设计串级模糊PID控制方案实现过热蒸汽温度控制。在方案中由操作员设定主调节器的给定值,过热蒸汽出口温度过程值和给定值的偏差作为主调节器的输入;主调节器输出作为副调节器给定值,与减温水流量的偏差作为副调节器的输入,副调节器输出作用于减温水管路调节阀,通过改变减温水量来实现控制目标。主调节器采用PID控制,kp、ki、kd的初值分别设为-1.2、80、0;副调节器采用P控制,kp设为-2。
图3 过热蒸汽温度串级模糊PID系统结构
2.2 模糊控制器
系统模糊控制器为二输入三输出,输入变量E=SP-PV和EC=dE/dt,输出变量为Δkp、Δki、Δkd,模糊子集为{NB、NM、NS、ZO、PS、PM、PB},论域范围为[-6,6],采用三角型隶属度函数分别描述其模糊集合,如图4、5所示。
图4 输入变量E、EC的隶属度函数
图5 输出变量Δkp、Δki、Δkd的隶属度函数
模糊规则以人工控制经验为前提,总结出一般经验规律,制定合适的模糊规则以满足kp、ki、kd自整定要求[12]。模糊推理采用Mamdani法,模糊控制规则见表1,共7×7×3=147条。
模糊控制规则的语言形式为:
IfE=AiandEC=BjthenU=Cij,i、j=1,2,…,7
式中Ai、Bj、Cij——论域X、Y、Z上的模糊语言值;
U——Δkp、Δki、Δkd的语言变量。
控制器的反模糊化采用Centriod面积重心法,由Matlab工具箱自动完成。
表1 模糊控制规则
2.3 控制系统仿真平台搭建
利用Simulink搭建的模糊PID控制器参数实时校正程序和二输入三输出模糊推理子程序如图6、7所示。经过计算并进行试验整定,将误差E的量化因子设为0.9,误差变化率EC的量化因子设为30,Δkp、Δki、Δkd的比例因子分别设为1/6、1/6、1/6,这样既能避免在偏差较大时kp增大过快引起系统超调和不稳定,又能在偏差较小时提高系统的响应速度[13]。
图6 模糊PID控制器参数实时校正程序
图7 二输入三输出模糊推理子程序
Simulink的作用是通过读取PLC中主调节器的过程值和给定值,通过数据处理得到误差E和误差变化率EC,然后送入模糊控制器,得到PID参数的校正值,再和原始PID参数进行相加后送入PLC主PID调节器中,实现控制功能。其中,Constant模块数值为传统PID的参数,OPC Configuration模块连接OPC服务器,OPC Read模块从OPC服务器中读取数值,OPC Write模块向OPC服务器写入数值,Subsystem为模糊PID推理系统。
3 结果分析
过热蒸汽温度操作员给出的设定值是450.0℃。Simulink中模糊PID控制器参数实时校正程序在SMPT-1000锅炉工程变负荷阶段前投运,以验证变负荷工况下模糊PID控制对过热蒸汽温度的控制效果。
从图8可以看出,过热蒸汽温度在负荷变化时的响应过程中,模糊PID控制效果优于传统PID控制算法,系统的超调量、稳态误差和调节时间都小于传统PID算法。这表明利用OPC技术实现的串级模糊PID算法具有良好的应用价值,能减少编程量并提高控制系统的适应性和精确度。
图8 过热蒸汽温度响应曲线对比
4 结束语
笔者提出的过热蒸汽温度串级模糊PID控制方案,采用Matlab和OPC技术实现了PID参数的在线计算。从验证结果可以看出,模糊PID控制方案相比传统的PID控制方案具有更好的控制效果,同时,本方案借助OPC和Matlab实现了模糊PID参数整定功能,相比于离线查表方式具有极强的实时交互性,减少了编程工作量并且相比查表法具有更高的精确度。
[1] 杨濮亦,李海永.锅炉过热蒸汽温度控制策略优化[J].热力发电,2014,43(10):100~102.
[2] 华志刚,胡光宇,吴志功,等.基于先进控制技术的机组优化控制系统[J].中国电力,2013,46(6):10~15.
[3] 田思庆,魏强,吴桂云,等.火电厂主汽温度串级模糊控制系统应用研究[J].化工自动化及仪表,2014,41(11):1273~1276.
[4] 陈立军,赵丽丽,周正兴.基于规则自寻优的过热汽温模糊控制[J].化工自动化及仪表,2010,37(1):5~7.
[5] 王志凯,郭宗仁,李琰.用PLC实现模糊控制的两种设计方法[J].中国仪器仪表,2002,(1):4~6.
[6] Mahmoud M S,Sabih M,Elshafei M.Using OPC Technology to Support the Study of Advanced Process Control[J].ISA Transactions,2015,55:155~167.
[7] 吕俊.基于OPC的PLC在线PID模糊自整定系统[J].轻工机械,2013,31(2):35~39.
[8] 吴明永,王国伟.基于OPC和MATLAB的锅炉汽包水位智能控制系统[J].计算机测量与控制,2010,18(10):2296~2298.
[9] 贾兆虎,孙良,郑金吾.基于PCS7的蒸发器自控系统设计与应用[J].化工自动化及仪表,2012,39(12):1548~1552.
[10] 马昕,王平,任丽静,等.基于PCS7的加热炉综合控制方案设计与实施[J].化工自动化及仪表,2010,37(6):16~19.
[11] 李志强,石红瑞.基于OPC的Matlab与B&R PLC的控制平台[J].控制工程,2009,16(z1):132~135.
[12] 韦庆志,李正明,孙俊.基于模糊自适应PID控制的锅炉过热蒸汽温度控制系统[J].机械设计与制造,2010,(7):173~175.
[13] 张立,胡玉贵,齐晓慧.量化因子和比例因子在模糊控制器中的作用及其在线修正[J].移动电源与车辆,2008,(1):11~14.