基于PLC的离心风机模糊控制系统设计与实现
2011-01-19孙云辉匡永江
孙云辉,王 钊,肖 威,匡永江
(北京机械工业自动化研究所,北京 100120)
基于PLC的离心风机模糊控制系统设计与实现
孙云辉,王 钊,肖 威,匡永江
(北京机械工业自动化研究所,北京 100120)
本文根据离心风机的控制要求,运用离线设计,在线查表的方法设计了一个基于PLC的模糊控制系统,并介绍了系统的设计过程与PLC实现的方法。实际应用情况表明该模糊控制系统运行稳定,较好地实现了控制要求。
PLC;模糊控制;离心风机;MATLAB;ControlLogix5000
0 引言
污水处理厂污泥消化产生的沼气经脱硫处理后储存在常压沼气柜中,需要经过变频器驱动的离心式增压风机增压至某一恒定压力后供锅炉等设备使用。因为锅炉等用气设备根据消化工艺的需要自动启停及调节燃气量,所以增压风机的流量及使用数量需要不断变化才能保证出口压力恒定。由于离心风机的出口压力与流量是非线性的关系,并且多台风机并行运行时曲线关系又发生复杂的变化,所以传统控制方式很难做到压力稳定。
模糊控制是建立在人类思维模糊性的基础之上的,其优点在于不需要建立精确的数学模型,而是运用模糊理论、专家知识将人的经验、思维和判断通过模糊控制器用语言控制来实现控制过程[1]。模糊控制能方便地解决工业领域中常见的非线性、时变、大滞后、强耦合、变结构等复杂问题[2]。PLC具有可靠性高、编程简单、维修方便的优点,在工业控制行业得到广泛的应用,但是传统的PLC控制指令不能满足复杂的控制要求,因而利用PLC实现模糊控制是现代自动控制系统的发展趋势之一。
1 模糊控制系统的构成
图1 离心风机模糊控制结构框图
模糊控制器通常使用被控变量的偏差E和偏差变化率EC作为输入变量,因为他们已经能够比较严格地反映受控过程中输入变量的动态特性,可满足大部分工程需要。为了避免控制动作过于频繁,消除频繁动作引起的震荡,可以给系统增加一个死区算法,当E位于死区内时系统输出保持不变。控制器的输出采用增量式,可以避免风机转速变化过快产生振动。
整个模糊控制系统的设计与实现分为两步:离线设计与模拟部分运用模糊理论,根据人的经验和知识将系统变量模糊化,进行模糊推理后去模糊化形成查询表格,并通过仿真验证控制效果;PLC实现部分将查询表格以数组的形式储存在PLC中,并以一定的频率计算E与EC,通过查询表格计算输出U作用于被控系统。整个系统的结构框图如图1所示。
2 模糊控制系统的离线设计
2.1 输入输出变量模糊化
为简化计算,设定输入、输出论域都量化为5档,即正大(PL)、正小(PS)、零(ZE)、负小(NS)、负大(NL)五级语言变量。根据控制需要及经验,输入变量E和EC及输出变量△u的论域取值同为{-2,-1,0,1,2},采用图2所示的三角函数作为隶属函数,将输入输出变量模糊化。
图2 隶属函数
2.2 选择模糊规则,生成模糊查询表
选择模糊控制规则为:IF E is x AND EC is y ,THEN △u is z ,其中x、y、z分别为输入输出论域取值中的元素。由以上规则,根据实际经验确定模糊控制查询表如表1所示。
表1 模糊控制查询表
2.3 仿真模糊控制器输入输出
MATLAB 软件是在1984 年由美国Math Works 公司推出的一套高效率的数值计算的可视化软件,它提供了丰富的数值分析、矩阵运算、图形绘制、数据处理、图像处理等功能,并且提供了大量的应用于不同学科的工具箱[3]。利用其提供的模糊控制工具箱Fuzzy可以方便地查看模糊控制的输入输出曲线图形如图3所示。
由曲线图形可以看到,模糊控制器可以很好的抑制E和EC的变化。
图3 模糊控制器输入输出曲线图
3 模糊控制的PLC实现
3.1 PLC查表功能的实现
把模糊查询表存储在PLC的一维数组DU[25]中,当PLC计算出E与EC后通过查表程序找到对应的数值DU[i]即为模糊控制器输出△u。PLC采用AB ControlLogix5000,使用结构化文本编程,基本查询指令如下:
3.2 PLC在线控制程序
由图1可知,PLC以一定的周期计算实际的误差e(k),然后经过死区判断后乘以量化因子Ke并模糊化后得到模糊控制器输入参数E(k),同样采用类似的方法得到EC(k)。根据E(k)和EC(k)的值查表得到模糊控制器的输出△u(k)后,乘以输出量化因子并解模糊得到实际增量输出△U(k)。△U(k)即为本次控制变频器的频率增量,该数值加上当前变频器的反馈值即得到变频器的频率设定值。整个程序流程如图4所示。
图4 PLC控制流程图
4 结束语
通过模糊控制技术与PLC的无缝接合,利用PLC实现复杂系统的模糊控制,即发扬了PLC控制系统灵活、可靠、稳定的特点,又极大地扩展了PLC的控制功能,提高了系统的智能化程度。
利用ControlLogix5000 PLC的ADD-ON指令功能,可以将该模糊控制程序封装成单独的指令,方便编程使用。
[1] 刘晓霞, 等.用可编程控制器PLC实现模糊控制的方法研究[J]. 沈阳工业学院学报, 2003, 4.
[2] 齐蓉等. 通用模糊控制器在PLC上的实现[J]. 工业仪表与自动化装置, 2003, 4.
[3] 李祖欣. MATLAB在模糊控制系统设计和仿真的应用[J]. 系统仿真学报, 2003, 1.
Design and realization of a fuzzy control system for centrifugal blower based on PLC
SUN Yun-hui, WANG Zhao, XIAO Wei, KUANG Yong-jiang
TP273
B
1009-0134(2011)5(下)-0123-03
10.3969/j.issn.1009-0134.2011.5(下).37
2010-12-29
孙云辉(1984-),男,山东青岛人,在读研究生,主要从事工业自动化系统集成方面的应用与研究工作。