模糊PID算法在温度对象中的应用

2016-09-18 06:25米一博石红瑞
石油化工自动化 2016年4期
关键词:模糊控制组态构件

米一博,石红瑞

(东华大学 信息科学与技术学院,上海 201620)



模糊PID算法在温度对象中的应用

米一博,石红瑞

(东华大学 信息科学与技术学院,上海 201620)

针对加热炉温度存在惯性、滞后等现象,在传统PID控制的基础上,利用模糊控制规则在线修正PID参数,实现对温度更加精准的控制。实验采用MCGS工控组态软件,结合VB及Matlab的COM技术,开发了模糊PID控制算法,应用于实验加热炉的温度控制。实验结果表明: 模糊PID控制方案在超调量、调节时间等方面具有较好的控制性能。

模糊PID温度控制MCGS组态软件COM技术

温度是工业中常见的一个控制参数,在不同程度上存在惯性、滞后及非线性等特点。常规的PID控制器经过参数整定后能够实现对温度对象的控制,但当温度对象发生改变时,控制器通常难以适应变化后的对象,从而产生偏差和震荡,难以实现对温度对象精确的控制[1-3]。模糊控制是一种智能化控制策略,它的特点是鲁棒性较好,对过程参数的变化具有较强的适应能力,具备较好的动态响应性能[4-5]。笔者将模糊控制与常规PID控制器相结合,设计了模糊PID控制方案应用于温度对象。

1 温度控制系统

以电加热炉实验装置为被控对象,设计如图1所示的温度控制系统。系统以工控机和I/O卡板件(泓格i7017 I/O卡件,泓格i7024O/I卡件,泓格i7052串口通信卡件)为硬件设备,监控软件采用MCGS工业组态软件,实现对电加热炉温度对象的控制。

2 模糊PID算法

模糊PID控制器是以响应偏差e及偏差变化率ec作为输入,用模糊控制规则对PID控制器的参数P(KP),I(KI),D(KD)进行实时修改,以适应不同时刻的偏差及偏差变化率对PID参数的要求。模糊PID控制器的控制原理如图2所示。

图1 温度控制系统示意

图2 模糊PID控制器原理示意

模糊PID控制器的算法主要包括模糊化、模糊策略以及解模糊三部分:

1) 模糊化。定义e的模糊论域为{-6,-4, -2, 0, 2, 4, 6};ec的模糊论域为{-3,-2, -1, 0, 1, 2, 3};KP,KI,KD的模糊论域为{1/2,3/5,3/4,1,4/3,5/3,2 }。然后以等腰三角形为隶属函数,对所得e和ec进行量化得到模糊论域。

2) 模糊规则。即KP,KI,KD与e,ec的关系,其主要的控制规则[6-7]: 当|e|较大时,应该增大KP,减小KD,以提高控制系统的跟踪性能,同时为了避免系统超调过大,应限制积分作用;当|e|中等时,为了降低系统的超调量,应该减小KP,同时保持KI,KD的值应该适中,以保证系统的响应速度;当|e|较小时,KP,KI,KD都应该增大,以提高系统的稳态性能;同时为了避免系统在设定值附近抖动,提高抗干扰性,当ec较小时,KD可以取大一些;而当ec较大时,KD取得应该小一些。具体的KP,KI,KD的模糊控制规则见表1~表3所列。

表1 KP控制规则

表2 KI控制规则

表3 KD控制规则

3 算法在MCGS组态软件中的实现

MCGS是一种通用的工业组态软件,基于获取的现场数据,通过其软件包中的工具对硬件、数据及图像等进行组态以快速构成控制系统,为用户提供工程解决方案[8]。MCGS中系统的实现步骤包括硬件组态、数据配置、策略组态及画面组态等,每个步骤都有对应的软件包以供使用,其中策略组态部分包括自编程序和调用功能构件两种方式。MCGS自带的编程器只能进行有限行数的代码编写,且支持的语句类型亦有限,而由于模糊PID控制算法的复杂性,需要应用功能构件的方式来实现。利用MCGS和MCGS高级开发包实现模糊自适应控制算法的过程如下:

1) 生成程序框架。MCGS使用Active DLL方式实现功能构件,通过规范的OLE接口将构件挂接到软件中,将它与VB进行交互链接,利用VB的强大软件开发功能,可以开发出用户定制功能的功能构件[9]。

a) 安装MCGS高级开发包,然后启动VB,选择“外接程序菜单”—“MCGS开发向导”—“运行策略功能构件”,即可生成功能构件的源程序框架。

b) 需要进行两个步骤: 进行构件界面的设计;根据构件功能按照MCGS规范接口进行编程。根据模糊PID算法的原理,首先设计构件在MCGS组态和运行环境中的两个显示界面,在组态界面中设置输入值误差e,误差变化率ec及PID各参数KP,KI,KD所对应的数据对象,运行界面中显示当前误差,误差变化率及PID各参数的变化量。

c) 根据界面中每个对象的功能对接口进行编写,MCGS的规范接口包括执行菜单命令,设置构件的属性,执行构件的功能和编译查错时调用,这里的重点是按照各个接口的性质及标准格式,将功能写入程序中,便能实现所需的基本构件功能。

2) VB与Matlab的实时数据交换。VB中可以自行编写代码进行数据处理,但是实现的速度和效果远不及Matlab,而Matlab在强化自身数据分析能力的同时,还积极扩展软件的外部开发功能。利用Matlab的COM技术能够轻松实现VB与Matlab的通信,进行实时数据交换[10-11]。首先根据模糊自适应算法原理在Matlab中编写实现模糊PID控制的M文件,然后在Matlab界面输入“mbuilder-setup”,选择外部编译器,输入“comtool”,在弹出的对话框中新建工程,载入编辑好的M文件,点击Build编译生成COM组件,此时会生成一个Library文件,这是一个进程内组件,以.dll形式存在,可脱离软件独立运行。完成之后在VB的开发环境中选择引入COM组件,即添加Library文件,引入该组件后,在VB中配置好输入和输出的参数,实现算法功能。

3) MCGS调试与调用。这里需要启动MCGS工程(新建或打开原有工程)才能进行调试,根据输入输出数据的显示对VB程序进行修改,修改完成后将VB工程重新编译,生成**.dll文件,最后将文件拷贝到“目录: MCGSProgramAddIns用户定制构件”中,启动MCGS在“工具”—“策略构建管理”—“用户定制构建”选择“模糊PID控制器(在编程环节自命名)”进行安装。安装完成之后在运行策略的组态窗口的策略工具箱内,会显示“模糊自适应控制器”,可在系统组态时直接调用。

4 应 用

首先新建MCGS工程,构建实时数据库,配置好各种数据参数;然后进行组态画面的设计,实时显示温度参数曲线和功能画面;之后对设备窗口进行配置,在该窗口中选择所构成的温度系统硬件进行驱动以获取数据,同时在此窗口中调用“模糊PID控制器”,根据弹出的对话框选择参数进行匹配;最后编译运行,系统开始工作。

实验中,在设备窗口分别选择软件自带的“PID控制器”与编写的“模糊PID控制器”进行实验。设定目标温度为40℃,调节的结果如图3所示,图3a)为调用PID控制器(参数为KP=2,KI=0.2,KD=0.05)的结果,图3b)为调用模糊PID控制器(初始参数设为KP=2, KI=0.2, KD=0.05,稳态参数为KP=1.89, KI=0.54, KD=0.26)的结果。

实验结果显示,PID控制器的超调量较大,当设定值为40℃时,最高温度达到77℃,且系统调节时间较长,持续将近650s;模糊PID算法的超调量较小,且调节时间为300s左右。模糊PID控制方案体现了较为优越的动态性能,无论在超调量、调节时间还是抗干扰方面都具备较好的控制性能。

图3 实验结果

5 结束语

将模糊算法与PID算法相结合,通过模糊规则在线修正PID控制算法的参数,以适应过程中对象的变化,且在温度对象中进行应用,体现了算法较好的动态性能。模糊PID算法无需精确模型便能实现对对象的控制,对温度对象的控制具有不错的效果,实际系统中具备可行性。

[1]YOSHITANI N, HASEGAWA A. Model-based Control of Strip Temperature for the Heating Furnace in Continuous Annealing[J].Control Systems Technology, 1998, 6(02): 146-156.

[2]封子文,李宏光,陈兰朋,等.基于PID控制器性能评价[J].石油化工自动化, 2012, 48(03): 30-33.

[3]俞仁皓,宋家海,王建.松散回潮工序回风温度PID控制参数的优化[J].烟草科技, 2010(07): 8-10.

[4]王永富,柴天佑.自适应模糊控制理论的研究综述[J].控制工程,2006,13(03): 193-198.

[5]王树东,张东,刘旭东,等.模糊控制在城市污水处理中的应用[J].工业仪表与自动化装置,2010(02): 16-18.

[6]高宪文,赵亚平.焦炉模糊免疫自适应PID控制方法的应用研究[J].控制与决策,2005,20(12): 1346-1349.

[7]石红瑞,刘玺,刘勇,等.二次开发WinCC嵌入模糊控制算法[J].石油化工自动化,2002,38(01): 39-41.

[8]邹伟,杨平,徐德.基于MCGS组态软件的上位机控制系统设计[J].制造业自动化,2008,30(12): 103-108.

[9]陈超洋,陈华德,马龙博. MCGS组态软件与VB数据交换的实现[J].工业仪表与自动化装置,2009(02): 86-88.

[10]黄锡泉,龙艺秋.基于COM组件的VB与Matlab接口编程[J].电脑编程技巧与维护,2005(01): 34-36.

[11]潘爱民.COM原理及应用[M].北京: 清华大学出版社,1999: 152-220.

Application of Fuzzy-PID Algorithm in Temperature Control

Mi Yibo, Shi Hongrui

(College of Information Science and Technology, Donghua University,Shanghai, 201620, China)

Abstracts: Aiming at problems of temperature inertia and lag, fuzzy control rules are applied to tune PID parameters to realize more accurate temperature control based on classic PID control. The fuzzy-PID control algorithm is developed with adopting MCGS and combination of VB and Matlab’s COM technology, and is applied in temperature control of a heating furnace. The experiment results show fuzzy-PID algorithm has better performance on overshoot and setting time.

fuzzy-PID;temperature control;MCGS configuration software;COM technology

米一博(1991—),男,东华大学在读硕士研究生,主要研究方向为先进工业控制技术。

TP273

B

1007-7324(2016)04-0029-03

稿件收到日期: 2016-03-11。

猜你喜欢
模糊控制组态构件
基于PLC及组态技术的恒温控制系统开发探讨
基于PLC和组态的智能电动拧紧系统
建筑构件
建筑构件
建筑构件
建筑构件
T-S模糊控制综述与展望
基于模糊控制的PLC在温度控制中的应用
PLC组态控制在水箱控制系统的应用
基于模糊控制的恒压供水系统的研究