花义锋+王文标+汪思源+李传金
摘 要:水浴控制系统不容易确定其精确的数学模型,所以较为难控,普通的PID不能实现提前调节,易产生过大的超调。设计了模糊控制与PID动态切换控制器对水浴温度实时控制,用PLC完成了数据的采集与反馈。由于数据的实时处理与反馈由PLC完成较慢且难以实现,因此,采用了Matlab,通过OPC与Wincc的无缝结合实现了数据的实时运算。实验表明,采用模糊PID的动态控制很好地控制了温度的超调量,并可以快速地使温度最终稳定下来,提高了控制系统的实现性和精确性。
关键词:模糊控制;PID控制;动态切换;PLC
中图分类号:TP273.4 文献标识码:A DOI:10.15913/j.cnki.kjycx.2016.20.016
文章编号:2095-6835(2016)20-0016-03
由于科学技术的进步使控制系统中的被控对象和过程越来越复杂,当控制对象缺乏精确的数学模型或仅能提供一些模糊信息时,传统的控制方式难以奏效。为了解决精确性与复杂性的矛盾,需要加入人的思维和经验。在这样的需要下,模糊控制技术得以发展并应用在实际的控制系统中。模糊控制可以快速地使系统趋于稳定值,但却存在稳态误差,单纯凭自身控制特点很难消除误差。PID技术可以消除稳态误差,但其快速性与超调量之间是不可协调的矛盾。本文结合多次实际的控制以及从应用角度出发,将两者有机结合起来,发挥各自的优点,提出了一种模糊PID的动态切换控制算法。
1 模糊控制系统的组成以及结构分析
1.1 模糊控制系统
模糊控制系统的核心是智能性的模糊控制器,它基于人对特定对象控制的过程中总结出来的控制策略上形成一系列以“if(条件)then(控制量)”的条件语句,即控制规则。一个模糊控制系统的准确度主要取决于模糊控制器所用的模糊规则、合成的推理算法以及模糊决策等。模糊控制器的基本原理如图1所示。
1.2 模糊控制器的结构
模糊控制器主要由4部分组成:模糊化、知识库、模糊推理、去模糊化。
1.2.1 模糊化
实际误差e以及误差变化ec的精确量经过模糊化变为模糊量。由给定值与实际值得到的误差e以及ec是非模糊变量,他们的论域是实际中的真实范围。在模糊控制器中,把他们的真实论域变为内部论域,论域变化后相当于乘了一个系数,即量化因子。经过论域变换后e以及ec仍是精确量,把他们分为多个模糊集合,一般分为7个集合NB(负大)、NM(负中)、NS(负小)、Z(零)、PS(正小)、PM(正中)、PB(正大),并规定各个模糊子集的隶属函数。计算出e和ec属于各个模糊集合的隶属度,进一步判断出他们属于的模糊集合。此时,e和ec就由精确量变成了模糊变量,完成了第一步的模糊化。
本次实验中结合实际被控对象与被控量的特点,把e的论域分为{-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},ec的论域分为{-0.6,-0.5,-0.4,-0.3,-0.2,-0.1,0,0.1,0.2,0.3,0.4,0.5,0.6},输出量的变化量△U论域分为{-4,-3,-2,-1,0,1,2,3,4,5,6,7}。
1.2.2 知识库
知识库中包含了具体控制对象的控制要求,它是由数据库与控制库两部分组成。
控制库存有模糊规则。模糊规则是设计模糊控制器的核心,模糊规则的确定直接影响着模糊控制器的精确度。模糊规则一般用“if...then...”形式表示的模糊条件语句,在本次试验中是使用的双输入单输出,具体形式分别如下:
1)if e is NB and ec is NB,then u is PB;
2)if e is NB and ec is NM,then u is PB;
……
49)if e is PB and ec is PB,then u is NB;
1.2.3 模糊规则与推理
模糊规则建立的基本思想为:当误差大或较大时,选择控制量以尽快消除误差为主;而当误差较小时,选择控制量是要注意防止超调,以系统的稳定性为主要的考虑点。
考虑到被控对象水浴的迟滞性以及通过多次实验的总结对规则进行修改,最终形成的控制规则表如表1所示。
平均值X0便是应用重心法为模糊集合U求得的判决结果。
2 模糊PID动态切换控制系统的设计
在误差较大时,采用单纯的模糊控制可使系统快速的趋近设定值。当误差较小时切换到PID控制,利用PID的控制精确、静态误差小的特点来完成系统的精确控制。两种控制方法的结构相对简单,模糊控制在MATLAB中完成数据的运算,动态切换以及PID的控制在PLC中完成。
3 切换时机的分析
经过多次的实验得出被控对象(水域)是一种滞后较强、非对称的控制系统,对于超调在没有外界的辅助下,较长时间后才能回到设定值,且在前期被控对象的变化速率较慢。当控制量达到一定程度时,变化速率与控制量是一种非线性的关系。当阈值过小时,在误差大于阈值时系统会处于模糊控制阶段。由于被控对象在实际控制过程中的变化率并不总为正或负,而是处于正负的交替变化中。变化率的正负变化一直激励着模糊控制规则库,使模糊控制的控制输出量处于方向相反的波动中,输出量的正反波动使实际测量值处于波动中,测量值的波动进一步加剧了变化率的正负变化,导致控制系统处于频繁的波动中,模糊控制很难找到稳定点,即使找到相对的稳定值,但消耗的时间会较长。经过分析和实验最终确定模糊控制与PID的动态切换阈值为设定值的1/6,这是比较理想的阈值。
4 实验设计与分析
4.1 Matlab与Wincc连接
在实时温控系统中,要求对误差以及误差变化进行实时处理,并将结果实时传递给执行机构。Wincc不能完成计算量较大的运算,所以,将MATLAB与Wincc相连,MATLAB作为Wincc的客户端,Wincc作为PLC的上位机,将MATLAB处理得到的控制量变化量传递给PLC,并对测量值、输出值的变化进行实时监控。
Matlab中的控制系统平台如图2所示。
4.2 实验参数的选取
在实验中将e的量化因子随初始值、设定值的不同而依据公式确定,保证了系统的精确性,而ec的量化因子设为2,防止其超调过大,因此,在温度上升与下降的过程中,对控制量的变化量的比例因子设为0.2,有效地使输出值在稳定后处于稳定状态。
5 实验结果比较分析
为了验证控制算法的使用性和稳定性,在实验室中以水浴为控制对象,用300 W的加热棒进行了水域加热。分别用单纯PID和模糊PID动态切换控制进行了实验,控制水量为1 000 mL,初始温度为20 ℃,设定值为45 ℃,模糊PID切换的阈值为给定值的1/6.
PID的系数kp=7、ki=0.023、kd=0.023。单纯的PID需要20 min才可以基本稳定下来,在输出值稳定之后,再给一个25 ℃的阶跃,单纯PID系统的反应时间为19 min,输出值会再次稳定下来。
对于初始值和设定值,在保证PID系数不变的情况下,模糊PID动态切换控制完成控制过程只需要13 min。在给了25 ℃的阶跃后,系统反应时间为10 min,与单纯的PID相比大大缩短了反应时间。具体如图3和图4所示。
6 结束语
本文介绍了模糊控制在Matlab与Wincc无缝连接的环境下进行的水温控制实验。通过多次的实验以及对规则的修改,最终确定了模糊规则以及与PID的动态切换,并将控制算法在实际控制中进行了验证。由实验结果可得出模糊PID动态切换凭其优越性可很好地完成水温控制,提升了控制系统的实时性、稳定性和鲁棒性。
参考文献
[1]李士勇.模糊控制[M].哈尔滨:哈尔滨工业大学出版社,2011.
[2]陶权.基于PLC的过程控制实验装备温度模糊PID控制[J].自动化技术与应用,2010(04).
[3]齐琳.模糊PID动态切换控制算法的研究[D].北京:北京交通大学,2008.
[4]杨世勇.模糊控制与PID控制的对比及复合控制.[J]自动化技术与应用,2011(12).
[5]李岩.模糊PID控制在液位控制中的应用[D].安徽:合肥工业大学,2008.
[6]路桂明.基于模糊PID控制的电锅炉温度控制系统的研究[D].哈尔滨:哈尔滨理工大学,2007.
[7]刘金琨.先进PID控制的Matlab仿真[M].北京:电子工业出版社,2011.
[8]宗超凡.基于双控制器切换的模糊PID励磁控制的仿真研究[J].电气时代,2015(09).