1 引言
传统的PID控制器结构简单,稳定性好,可靠性高,制造技术成熟,已广泛应用于工业生产过程的控制中。但它主要适用于控制具有确切模型的线性过程,而对于具有非线性、大滞后和时变不确定的系统,则无法达到理想的控制效果。人工智能的兴起和快速发展为控制领域提供了全新的方法。模糊控制是人工智能控制的一个重要分支,它是运用模糊数学的基本理论和方法,把规则的条件、操作用模糊集表示,并把这些模糊控制规则及有关信息作为知识存入计算机知识库中,然后计算机根据控制系统的实际响应情况,运用模糊推理决定系统控制量的大小。将模糊理论与PID控制策略相结合,可实现对PID参数在线自适应调整,使系统既具有模糊控制的灵活、适应性强的优点,又具有PID控制精度高的特点。模糊控制器是当前控制领域的研发热点之一,其研发的方法不尽相同。本文阐述了利用LabVIEW与MATLAB混合编程技术将MATLAB中的模糊逻辑工具箱(FIS Toolbox)与LabVIEW虚拟仪器开发软件集成,研制出模糊参数自整定PID虚拟控制器,并实现了对非线性系统的实时测控。
2 Fuzzy-PID控制策略
模糊参数自整定PID控制器以系统偏差E和偏差变化EC作为输入,可以满足不同时刻的E和EC对PID参数自整定的要求。利用模糊控制规则在线对PID参数进行修改,便可构成模糊参数自整定PID控制系统(以下称Fuzzy-PID控制系统),其结构如图1所示:
3 控制器设计
模糊控制设计的核心是总结工程设计人员的技术知识和实际操作经验,建立合适的模糊规则表,并组建一个推理结构,实现模糊规则。
3.1 模糊规则表的建立
3.2 FIS 推理结构的编辑
在MATLAB中,对于FIS结构的编辑方法有两种,一种是直接编程,另外一种是利用FIS编辑器。本文采用FIS编辑器与Simulink相结合的方法。
在MATLAB命令窗口中输入Fuzzy,打开基本FIS编辑器,编辑步骤如下:
3.4 模糊控制器的设计
LabVIEW与MATLAB在应用领域方面侧重点不同,各有优势领域。因此,在工程中利用两者间的混合编程优势互补,对于开发功能更为强大的智能化虚拟仪器具有巨大的推动作用。本文利用LabVIEW内部集成的MATLAB Script Node实现两者混合编程,完成模糊参数自整定PID的设计,控制器的设计程序如图5所示。
Fuzzy-PID的程序框图由一个while循环组成,在while循环内实现手自动切换、偏差处理、参数调整、控制器初始化、调用模型动态链接库文件等功能。这个while循环每次被调用时只执行一次。这里使用循环的目的是利用while循环的移位寄存器来保存数据。移位寄存器可用于将上一次循环的值传递至下一次循环,因此可以借助移位寄存器记录程序的运行状态和中间结果,它们在程序再次被调用时将被用到。上图中的移位寄存器第一个作为手动输出的保持器保持保存手动输出值,第二个寄存器记录控制器的运行状态。两个结合起来实现控制器的手自动无扰动切换。
4 控制器的应用
为了检验Fuzzy-PID控制器的实际控制效果,本文以北京华晟A3000高级过程控制实验系统中的非线性液位过程作为被控对象,用研华公司生产的ADAM4000 I/O模块将所设计的控制器与被控对象连接,构成了具有模糊自整定PID参数的控制系统,并将该系统在受到干扰作用时的控制品质与常规PID控制系统的控制品质进行比较。两系统的控制效果如图6所示。
由图6可见,当系统设定值或干扰发生较大的阶跃变化时,Fuzzy-PID控制系统的抗干扰能力、跟踪效果、控制品质明显优于常规PID控制。
5 结论
在MATLAB环境下,使用模糊逻辑工具箱(FIS)搭建虚拟控制器的Fuzzy-PID算法,利用LabVIEW来设计人机界面、信号采集、数据处理与存储等工程应用中所需的其他功能,并通过运用LabVIEW内部所集成的“MATLAB Script Node”将LabVIEW与MATLAB混合编程,实现上述两部分设计的集成,完成模糊自整定PID参数控制器的整机设计。Fuzzy-PID控制系统的实控结果表明,所设计的虚拟控制器对非线性特性较为严重的被控对象的控制,具有较强的自适应能力和鲁棒性,其控制品质优于常规PID控制器。