传统的PID调节器具有结构简单、调整方便和参数整定与工程指标联系密切的优点,在过程控制中获得了广泛的应用,但算法参数整定困难,且参数不具有自适应能力。很多学者提出了改进型PID控制算法,赵建华、沈永良等人[1]推导出一种自适应PID控制算法,仿真结果表明控制算法的有效性。神经元作为构成神经网络的基本单位,具有自学习和自适应能力,结合神经元构成的控制系统算法简单、易实现。将神经元技术与传统PID控制相结合,则可以在一定程度上解决传统PID控制器不易进行在线实时参数整定的问题[2]。
但是当前神经元PID系统中,对于最敏感的系数之一的增益系数只在初始时设定,不具备在线调整功能,学习速率一般是通过大量的仿真和实验得来,在控制过程中保持不变,这些都在一定程度上影响了控制效果。孙夏娜等[3]将单神经元自适应模糊PID控制策略用于对主动悬架的控制。本文在参考文献[4]的基础上将神经元与无辨识自适应控制率结合起来,提出一种改进型单神经元PID控制器,在线调整增益系数和学习率,进一步提高控制系统的鲁棒性和自适应能力。
在实际生产过程中,复杂控制算法的复用性较差,且不易在监控组态环境中直接实现。ActiveX技术可以灵活、高效地应用于重入、重用、完全分布式、与语言无关的各种场合。ActiveX技术扩充了监控组态软件的功能,可以使监控组态软件完成复杂高级控制算法。本文将改进型单神经元自适应PID控制算法封装于ActiveX控件,并将该控件应用于污水处理过程溶解氧的控制,仿真结果表明了改进算法的有效性和实用性。
#p#副标题#e#
1 PID控制器
1.1 单神经元PID控制器
由具有自学习和自适应能力的单神经元构成的单神经元自适应PID控制器,结构简单,能适应环境变化,有较强的鲁棒性。神经元作为构成神经网络的基本单元,具有自学习和自适应的能力,而且易于计算。传统的PID调节器具有调整方便和参数整定与工程指标联系密切等特点[2]。将两者结合,便可以在一定程度上解决传统PID调节器不易在线实时整定参数和难于对一些复杂过程和参数慢时变系统进行有效控制的不足。用神经元实现的自适应PID控制器结构框图如图1所示。
K为神经元的增益系数。K值越大,则快速性越好,但超调量大,甚至可能使系统不稳定。当被控对象时延增大时,K值必须减小,以保证系统稳定。K值选择过小,会使系统的快速性变差。因此需要选择合适的K值,以获得良好的系统性能。
由式(1)可以看出各权系数的修正速度取决于各自的学习速率,目前所采用的神经元自适应PID控制器的学习速率是通过大量的仿真和实验得来,在控制过程中保持定值,这样便限制了控制器品质的进一步提高。对于神经元系统最敏感的增益系数也不具备在线学习自动调整功能,这样也一定程度上限制了控制效果。
#p#副标题#e#
1.2 改进型单神经元PID控制器
针对上述控制器的不足,结合Marsik、Strejc提出的无需辨识的自适应控制算法,动态调整增益系数,并且自调整学习率以进一步提高控制系统的鲁棒性和自适应能力。
Marsik和Strejc提出的无辨识自适应控制算法可描述为:
2 控件设计
为了增强该算法的应用性,本文将其封装成ActiveX控件,使控制算法能重复使用于支持ActiveX的组态软件或者其他软件,实现在线控制或者仿真。ActiveX控件是一个软件组件,可以嵌入到许多不同的程序,并把它当作程序自身的一部分来使用。ActiveX控件具有可移植性、扩展性强、使用广等特点[5]。本文在VS2005环境下,通过MFC ActiveX Control向导制作ActiveX控件,它为要创建的任何ActiveX 控件建立一个外壳,生成所有的必要文件并配置项目,在编译项目时编译器就会建立一个ActiveX控件,它将生成OCX文件。
在控件中添加的接口属性包括周期、期望输出、反馈输入、控制器各种参数等;事件包括控制器输出超出上限、超出下限,反馈输入超出上限、超出下限,方法包括控制器输出清零。
在CPidctrl类中实现增量式PID和神经元PID控制算法。添加WM_TIMER消息,取周期属性的值设置定时器,在OnTimer函数中判断ControlFlag的值,它会随着用户属性页中选择所需控制器类型改变而改变。添加WM_CREATE消息,在响应函数中动态添加“启动”、“设置”按钮,分别用来启动控制器和弹出属性设置画面。在OnDraw函数中绘制控件外观,显示当前期望输出、反馈输入、控制器输出等过程量和运行、控制器输出越限等标志。
#p#副标题#e#
3 ActiveX控件应用实例
将此控件应用于污水处理过程DO(溶解氧)浓度的控制。典型的污水处理过程见图2。
设计MFC应用程序对溶解氧控制过程进行仿真,用封装了改进型单神经元PID控制策略的ActiveX控件作为控制器。程序中添加了绘图控件NTGraphCtrl,以直观地显示被控系统的响应曲线。
改进前的单神经元PID控制策略使用的学习率ηp=1.4,ηi=1.35,ηd=1.2,增益系数K=2。改进后的单神经元PID控制器学习率和增益系数的初始值与改进前的相同。仿真结果如图3、图4所示。由以上的仿真结果可以看出,改进前单神经元PID控制的仿真曲线超调为6.8%,而改进型的单神经元PID调节器控制的仿真曲线可以达到基本无超调,具有更好的控制性能。经过大量的仿真实验发现,单神经元PID控制器在参数设置合适时控制效果比较理想,但是对参数的要求比较敏感,而改进型神经元PID控制器的参数具有自调整特性,表现出更强的自适应性和鲁棒性。
本文结合无需辨识的自适应控制算法,提出一种动态调整增益系数和自适应学习率的改进型单神经元PID控制策略,并利用ActiveX技术将改进型单神经元自适应PID控制算法封装在ActiveX控件中,使控制算法能方便地重复应用于支持ActiveX的组态软件以及其他支持ActiveX控件的应用软件。在VS2005环境下,设计了MFC应用程序,对污水处理过程溶解氧的控制进行仿真。结果表明,改进型单神经元PID与未改进单神经元PID控制方法相比,具有更好的自适应性和更强的鲁棒性。开发的ActiveX控件可重复利用,具有良好的实用价值。