基于LabVIEW模糊自适应PID的实现

时间:2022-07-28 10:57:20

文章编号:1003-6199(2011)04-0038-04

摘 要:通过LabVIEW与MATLAB进行混合编程的方式,借助两软件各自的优势,设计出具有模糊自适应PID控制算法的虚拟仪器,并对不同的对象特性进行控制系统的仿真与三容水箱液位的实时测控。实验结果表明,模糊自适应PID控制系统的控制效果良好,具有较强的鲁棒性。

关键词:LabVIEW与MATLAB的混合编程; 模糊自适应PID; 鲁棒性;虚拟仪器

中图分类号: TP273.4 文献标识码:A

Fuzzy Adaptive PID Realization Based on LabVIEW

QI Xiaokun ,PENG Yuning , LU Chao , HE Xin,MENG Fanyu

(School of Electrical Engineering, Guangxi University, Nanning 530004, China)

Abstract:With advantage of LabVIEW and MATLAB, the paper which gets LabVIEW and MATLAB mixed, designs a fuzzy adaptive PID control algorithm of virtual instrument. It not only simulates of control system for different object characteristics, but also measures and controls three let water level of the real-time. According to the results of experiment, the effect of fuzzy adaptive PID control system control having the strong robustness is superior.

Key words:mixed programming of LabVIEW and MATLAB; fuzzy parameter selfadjusting PID;robustness;virtual instrument

1 引 言

自PID算法诞生以来,以其结构简单、稳定性好、工作可靠、调整方便而成为工业应用中的首选控制策略之一,其在模型确定、线性系统中具有良好的控制效果,但在非线性、强耦合、大滞后、模型不确定的情况下则显得力不从心。在工业技术快速发展的今天,许多的工业过程仍具有不同程度的非线性、参数时变、模糊不确定等特性,对此,传统的PID控制效果并不理想。

随着计算机技术的飞速发展,和智能控制器的出现,使先进和新型的控制算法用于实际工业过程的控制成为了现实,模糊控制算法便是其中之一。模糊控制算法具有容易建立语言控制规则,对于那些数学模型难以确定、动态特性不易掌握或变化非常显著的对象适用能力强,此外,它还具有一定的智能水平,鲁棒性强,对非线性、时变及滞后系统的控制效果好的优点。将模糊控制与PID控制两者相结合,使之兼具两者的优点,即构成模糊自适应PID控制算法。本文采用LabVIEW与MATLAB混合编程技术,借助LabVIEW中的“MATLAB Script Node”节点,充分发挥两软件各自的优势,编写控制算法,设计人机界面,实现模糊自适应PID控制器的开发,并进行控制系统的仿真与实时测控。

2 模糊自适应PID控制算法的实现

模糊自适应PID控制由软件和硬件等构成,硬件部分包括计算机、A/D、D/A转换接口等,软件部分包括模糊环节连接等,其基本结构包括模糊化、模糊规则基(知识库)、模糊推理、解模糊、输入、输出量化等环节[1]。

所设计的模糊控制器具有如下功能:

1)将系统偏差、偏差变化率进行量化,从模拟量转换为计算机控制器可以接受的数字量。

2)对模糊后的量值按照所设计的规则进行模糊推理。

3)将推理结果的模糊输出量进行解模糊,转换为实际系统可以接受的精确模拟量或者数字量。

模糊控制器的设计关键在于怎样建立有效的知识库,即数据库和规则库,而决策逻辑控制实际上是取决于规则库实现的。

模糊自适应PID控制器采取误差E和误差变化率EC作为输出,利用模糊控制规则自整定PID参数进行调整,即构成自适应模糊整定PID控制器, 完整的模糊自适应PID控制系统如图1示。

依据P(比例)、I(积分)、D(微分)各个参数对系统控制作用的影响,其各自的调节规则如下:

1)P (比例) 根据系统偏差进行作用,通过偏差产生调节作用以减小偏差,当P参数值大时,可以加快系统的调节速度,减小误差,但是,随着参数值的增大,系统稳定性随之降低,甚至会造成系统的振荡,使得系统无法稳定。

2)I(积分)可以消除系统偏差的存在,使得系统达到设定值,但是,I作用的加入会使得系统的响应速度降低,稳定性变差,一般不单独使用。

3)D(微分)反映系统偏差变化率,具有超前调节作用,可以改变系统动态特性,D参数选取得当,一方面可以减小系统超调量,加快系统过渡过程,另一方面,其对干扰信号具有放大作用,过强的微分作用反而对系统抗干扰不利。

PID参数整定需要考虑在不同时刻各自的作用及相互作用,模糊自整定PID是在PID控制的基础上,通过实时计算E和EC,利用模糊规则进行推理,自动调整PID在不同时刻的各个参数值。

kp、ki、kd模糊规则表如下[2]。

利用各个模糊集合的隶属度赋值表,应用模糊合成推理设计的PID参数模糊矩阵表,查出修正参数代入下面的式子进行计算。

kp=kp0+Ei+ECip

ki=ki0+Ei+ECii

kd=kd0+Ei+ECid

控制系统通过模糊规则的结果进行处理、查表和计算,实现参数的自动调整,即在线修正控制器的PID参数,使得每时刻所对应的PID参数可以很好地适应系统的变化。

3 LabVIEW模糊自适应PID控制器的

设计与应用

LabVIEW是由美国NI公司研制开发的虚拟仪器程序开发环境,与C和BASIC开发环境类似。用户可以根据自己需要灵活地定义仪器的功能,通过不同功能模块的组合可构成多种仪器,而不受限于仪器厂商提供的特定功能,可以快速地搭建交互系统的用户界面。所设计的虚拟仪器能简单、方便、快捷地与多种硬件设备无缝连接。

本文利用LabVIEW与MATLAB的混合编程技术设计模糊自适应PID控制器。设计思路与方法:

1)由于LabVIEW在大型计算方面的欠缺,为了保证模糊自适应PID运算的实时特性,我们使用了计算引擎优秀的MATLAB作为模糊自适应PID控制算法的运算平台,利用LabVIEW中的“MATLAB Script Node”编写模糊自适应PID控制算法,即使用MATLAB服务器进行后台运算,将所编写的算法设计为LabVIEW的一个子VI,命名为FuzzyPID.VI。算法主程序如下。

%Using fuzzy inference to tunning PID

k_pid=evalfis([e_1,ec_1],a);

kp=kp0+k_pid(1);

ki=ki0+k_pid(2);

kd=kd0+k_pid(3);

detu=kp*x(1)+kd*x(2)+ki*x(3);

u=detu+u_1;

if u>100.0

u=100.0;

end

if u

u=-100.0;

end

x(1)=error-error_1;% Calculating P

x(2)=error-2*error_1+error_2; % Calculating D

x(3)=error; % Calculating I

e_1=x(1);

ec_1=x(2);

在算法中,根据不同的系统对象特性,运算出相适应的PID参数进行调整,使得控制系统获得最佳的控制效果。

2)通过输入值(SP)修改系统的给定值,实时观察系统的运行情况,确定系统的跟随特性。在程序执行过程中,系统可通过实时趋势图 Chart控件将调控过程及其参数变化情况直观地呈现出来。

在LabVIEW中编写仿真程序,让传递函数H(s)的模型可以进行修改。所编写的模糊自适应PID控制算法子VI――FuzzyPID.VI,其P、I、D三参数可根据需要自动实时调整,无须人为修改。当用户在控制面板中改变设定值(SP)时,系统做出相应地响应,P、I、D三参数便自动地调节到某个适当值,使系统输出能快速、精准地跟随设定值的变化而变化,以得到理想的控制效果。设置传递函数H(s) ,运行程序,所得仿真结果如图2所示:

其中,左边图H(s)为10010470s+1,右边图H(s)为523500s2+10470s+1。

将所编写好的控制算法子VI(FuzzyPID.VI)嵌入到用LabVIEW开发的虚拟仪器主程序中,并对A3000高级过程控制系统实验装置上的三容水箱(具有三阶特性)液位进行控制,控制效果如图3所示。

图3中,黑色曲线为设定值(SP),绿色曲线为三容水箱液位过程量(PV),红色曲线为电动调节阀开度(MV)。所设计的模糊自适应PID控制算法,可根据描述被控对象――三阶水箱特性的参数变化自动调整控制器的PID三参数,实现参数的最佳调整,使得系统获得良好的控制效果。

通过仿真与实控可知,系统在设定值(SP)发生改变,甚至传递函数发生变化的情况下,依然获得理想的控制效果。

4 结 论

文章通过LabVIEW与MATLAB的混合编程方法,借助两软件各自的优点,实现在LabVIEW环境下编写模糊自适应PID控制算法,开发出相应的控制系统。利用LabVIEW具有简明、直观、易用的特点,将控制系统的变化过程实时动态地显示出来,同时为了弥补LabVIEW在大型复杂运算及先进控制算法实现方面的欠缺,用具有优秀运算引擎、可高效地执行大型复杂运算的MATLAB编写控制算法程序,并通过LabVIEW中的“MATLAB Script Node”节点建立两软件的通信,实现数据交换与处理。由模糊自适应PID控制系统的仿真和实际控制结果可知,该系统具有较强的自适应能力和鲁棒特性,在跟随过程特性变化、控制品质等方面均优于经典的PID控制。

参考文献

[1] 孙优贤,褚健.工业过程控制技术方法篇[M].北京:化学工业出版社,2005.

[2] 刘金琨.先进 P I D控制 MAT LAB仿真 [M ].北京:电子工业出版社,2004.

[3] 刘立静.基于LabVIEW的锅炉燃烧监控关键技术研究[D].青岛:中国海洋大学硕士论文,2006:11-13.

[4] 彭宇宁,黄世奎.基于LabVIEW与MATLAB的模糊参数自整定PID控制[J].仪器仪表学报,2008:2-3.

[5] 张佩,王静,许伟明,等.基于LabVIEW变工作点智能控制的实现[J].微计算机信息, 2007 (1):146-147,2.

[6] 彭宇宁,朱后. 利用DLL技术实现LabVIEW和MATLAB混合编程[J].计算机与现代化,2007(8):93-95.省略);彭宇宁(1959―),女,四川成都人,教授,硕士,研究方向:过程控制工程,网络化技术,虚拟仪器。

上一篇:基于闭环跟踪法的正余弦编码器细分技术 下一篇:基于小波变换的羽毛杆折痕缺陷检测