第35卷第4期 2014年8月 华北水利水电大学学报(自然科学版) Journal of North China University of Water Resources and Electric Power(Natural Science Edition) Vo1.35 No.4 Aug.2014 DOI:10.3969/j.issn.1002—5634.2014.04.016 基于S函数实现的参数自整定模糊PID控制器 鲁改凤,卢东伟,孟 波,王 佳,鞠 阳 (华北水利水电大学,河南郑州450045) 摘 要:为使大时间延迟系统的控制性能得到改善,利用SIMULINK工具箱和s函数构造模糊控制系统的结构框图 并进行仿真,通过编写s函数,将MATLAB和SIMULINK结合起来,实现参数自调整的复杂模糊控制系统 的设计和高效仿真.将该控制器运用到隧道窑温度控制系统中,并取得了良好的控制效果. 关键词:S函数;模糊自整定;MATLAB仿真 中图分类号:TM315 文献标识码:A 文章编号:1002—5634(2014)04—0068—04 自计算机进入控制领域以来,尤其是数字计算 大提高¨ . 机取代模拟计算机调节器成为计算机控制系统的主 要部分以来,不仅实现了软件的PID控制算法,而且 1 参数自整定模糊PID控制系统的结 可以采用计算机本身自有的逻辑功能,使数字PID 构设计 控制技术的应用更加灵活,更加有实用价值.数字 1.1参数自整定模糊PID控制系统的结构 PID控制技术是日常生产过程中比较普遍采用的一 参数自整定模糊PID控制系统的结构主要由2 种基本的控制算法,其控制系统在机电、冶金、机械、 部分组成:一是参数可变的PID控制器,二是模糊控 化工等行业中获得了广泛的应用.数字式计算机技 制系统.其结构如图1所示. 术结合先进的智能控制理论,二者的综合发展为复 杂动态不确定系统的控制提供了一种新的解决途 径.利用先进的数字智能控制技术,不仅可以设计出 先进的智能PID控制,而且可以对PID的参数进行 智能整定.自整定的模糊PID参数控制系统能在控 制过程中对不确定的条件、参数、延迟和干扰等因素 图1 自整定模糊PID参数控制系统框图 进行在线的检测后进行确定性的分析,采用模糊推 理的方法实现PID参数K , ,和 的在线自整定. 误差e和误差的变化率de/dt送人模糊控制器, 此方法不仅保持了一般PID控制系统对PID控制参 经过模糊化及模糊运算,得到输出的模糊控制变量, 数调节简单、使用方便、鲁棒性强等优点,而且具有 再通过解模糊,得到PID控制器的3个控制参数K , 比较大的调节灵活性以及适应性,对控制系统中各 ,, 。,这3个参数再输入到PID控制器中,然后再 参数的控制精度比较好,是目前较常采用的一种比 应用于控制对象. 较先进的控制系统. 应用模糊集合理论建立控制器参数 , ,, 利用MATLAB方法对模糊自整定的PID控制 与系统误差绝对值e和误差变化率绝对值de/dt之 系统的参数进行数字仿真,可快速方便地实现多种 间的二元连续函数关系,通过模糊控制器根据不同 控制规则,控制参数精度高,使模糊自整定的PID控 的e和d ̄/dt在线自整定来确定PID的3个参数.以 制系统的参数控制效率以及准确性得到大 满足不同e和de/dt对控制参数的不同要求,从而使 收稿日期:2014—01—12 作者简介:鲁改凤(1963一),女,河南宜阳人,教授,硕士生导师,主要从事电力系统安全运行与保护方面的研究 第35卷第4期 鲁改风,等: 基于s函数实现的参数自整定模糊PID控制器 69 被控对象达到良好的性能要求. 1.2 PID参数整定原则 常规PID控制算法的离散形式为 : k 基本论域为[一m,m],则误差比例系数C 和误差变 化比例系数C 可由下列公式决定: C =n/ep,17,≤e≤。; PC =m/e ,m≤e ≤e . u(k)=Kpe(k)+ ∑e(j)+ [e( )一e( 一1)], j’—=’0 式中:jc为采样序号,k=1,2,…;u(k)为第k次采样 时刻控制器的输出值;e(后)为第k次采样时刻的输 入偏差值;e(k一1)为第k一1次采样时刻的输入偏 参数可变PID控制器的结构如图2所示. 差值; ,为积分系数,K,=K, ; 为微分系 数,KD=KPTo/T. 1)当e的绝对值较大时,若使PID控制系统具 有较良好的跟踪性能,这时取较大的 ,以及较小 的 ,同时为避免控制系统响应出现超调大,这时 应对积分的控制作用加以,通常取K,:0. 2)当e的绝对值处于中问大小时,为使控制系 统响应超调较小,此时 的值应取较小值.在此种 情形下,控制系统中 的值响应较大, ,的取值应 适当. 3)当e的绝对值较小时,为了使当前控制系统有 比较良好的稳定性, 和 ,均应取大值,同时为避免 控制系统在预先设定的初值附近出现比较大的振荡, 当de/dt值较大时 取较小值,通常 为中等大小. 1.3 各变量在模糊控制器中隶属度函数的确定 由PID控制系统参数的在线自整定原则可以确 定e,de/dt,K ,K,,K。的隶属度函数.PID参数控制 的模糊控制器的输入是2输人,而输出为3输出.在 控制器中以e的绝对值和de/dt的绝对值为输入参 数变量,以 , ,, 为输出参数变量.模糊控制器 的各个参数变量的基本论域为 误差绝对值e={0,E ,E:,E }. 误差变化率绝对值 ,| ={0 E E E}. 输出KP={0,UPl,UP2,UP3}; 输出K ={0,U,.,U.I2,U,3}; 输出K。={0,U。 ,U :,U。,}. 变量e,de/dt和 , ,, 的论域取值大(B), 中(M),小(S),零(Z),其中z采用zmf隶属度函数, B采用smf隶属度函数,s,M则采用trimf隶属 度函数 . 误差比例系数和误差变化率比例系数对模糊控 制器的影响也很重要 .若误差的基本论域为[一e,e], 误差变化率的基本论域为[一e ,e ],误差模糊状态 的基本论域为[一n,n],误差变化率的模糊状态的 图2 参数可变PID控制器结构图 2 大时间延迟系统的参数自整定模 糊PID控制仿真 该次仿真的大时间延迟系统的数学模型为 exp(一200 S)x 3/(7 000 5+1),该系统为带有纯滞 后的一阶惯性环节. 先在MATLAB中利用次最优降阶法对该系统 进行近似,然后再用Ziegler—Nichols 经验公式得 到PID的3个相关参数 , ,和 ,即K =0.485 1, K,:KP/t =0.242 5,K。=KPtd=2.425,然后利用 此3参数构成的连续PID控制器对exp(一200 s)× 3/(7 000 s+1)这一对象仿真.经过多次仿真发现 K , ,,K。这3个参数分别整定在14,0.001,1 600 时,系统的性能比较好.其实现过程有如下3种: ①设定误差的模糊状态的基本论域为[0,10],设 定误差变化率的模糊状态的基本论域为[一3,3]; ②设定误差的模糊状态的基本论域为[0,3],设定 误差的模糊状态的基本论域为[0,0.003];③设定 误差的模糊状态的基本论域为[0,300],设定误差 的模糊状态的基本论域为[0,0.000 03]. 设定在3个不同的基本论域并反复调试,假设 C =1/50,C =5,K 的作用因子为2, ,的作用因 子为1,K 的作用因子为2,然后根据参数整定原则 写出模糊控制规则表. 同时为了缩短系统响应时间,在e>200时采用 PD控制,使K,=0,在e≤200时模糊控制器的输出 才起作用. 2.1 利用S函数构建模糊控制器的方法 交互式的模型输入与仿真环境SIMULINK工具 箱是MATLAB仿真软件的扩展,是一个用来对动态 70 华北水利水电大学学报(自然科学版) 2014年8月 系统进行建模、仿真和分析的软件包,其中s函数 (S-Function)是SIMULINK提供的内置模块,是 SIMULINK模块的计算机语言描述,用户可以在S 函数中编程实现算法. 在利用s函数构建模糊控制器的过程中,要用 Flag=0,Flag=2,Flag=3这3种情况.其中Flag= 0,调用初始化函数,对该s函数进行初始化;Flag= 2,调用离散状态的更新函数,模糊规则表的建立,各 种模糊控制量的建立,都是在该离散状态的更新函数 中完成;Flag=3,输出解模糊后的 , ,和 . 2.2 利用S函数构建模糊控制器的过程 模糊控制器为2输入和3输出的模型,误差e, 和误差变化率de/dt,作为输入, ,K,, 为输出, e,de/dt,K ,K,,K。的模糊子集均为{B,M,S,z,S, M,B},其编写的S函数如下. function[sys,x0,str,ts]:fpids(t,x,U,flag) global KP,K,,KD; e=6.0;%设置模糊化因子 ec=10.00; K =0.025;%设置解模糊因子 K,=0.000 025; KD=0.003; switch flag, case 0%初始化 [sys,x0,str,ts]:mdlInitializeSizes(ke,kc,KP, ,,KD,P,I,D); case 3%计算输出量,亦即控制率和权值 sys=mdtOutputs (t,x,u,ke, ,K,,KD,P,I,D);case{1,2,4, 9}%未定义的flag值 sys=[]; otherwise%错误处理 error([ Unhandledflag=,num2str(flag)]); end; function[sys,xO,str,ts]=mdlInitializeSizes (ke,kc,KP,K,,KD,P,I,D); sizes=simsizes;%读入系统变量的默认值 sizes.NumContStates:0;%没有连续状态 sizes.NumDiscStates=0;%设置3个离散状态, 亦即权值 sizes.NumOutputs=3;%设置2个输出变量;为 控制变量t和变量z sizes.NumInputs:2;%设置4路输入,分别为 误差的3个时刻值即控制率 sizes.DirFeedthrough=1;%输入信号直接在输 出中反映出来 sizes.Numsamp1eTimes:0;%单采样速率系统 sys=simsizes(sizes);%设置系统模型变量 x0=[];%初始状态为0 str=[]; ts=[];%继承输入信号的采样周期 functionsys=mdlOutputs(t,x,u,ke,KP, ,,KD, P,I,D); if u(1)>6%误差在误差基本论域中 U(1)=6; end if U(1)<一6 U(1)=一6; end if U(2)<0.1%误差变化范围在误差变化 基本论域中 u(2):0.1; end if U(2)<一0.1 U(2)=一0.1; end e=round(ke¥U(1)+7;%误差的模糊化 ec=round(kc U(2)+7;%误差变化模糊化 sys(1):P(e,ec) K ;%P解模糊化 sys(2)=I(e,ec) K,;%I解模糊化 sys(3)=D(e,ec)¥KD;%D解模糊化 编写完毕后,将其存盘为fpids.in文件(文件名 和函数名应一致),以备在SIMULINK库中,即s— Function块调用. 2.3 仿真结果 MATLAB仿真软件建立起系统模型如图3所 示,用S函数模块对PID参数进行模糊处理,通过多 次修改控制规则进行优化设计,并经反复调试确定 最终参数 ’ . 通过仿真可以发现,该系统在设定为1 000时 的上升时间为1 250 S左右,超调不超过1.8%,调 节时间小于2 000 S,如图4所示.同时,在同样的 PID控制器中如果不加模糊控制器,可以发现当加 入干扰后普通的PID控制系统需要更长的调节时 间,并且超调量更大. 第35卷第4期 鲁改风,等: 基于S函数实现的参数自整定模糊PID控制器 71 图3基于S函数模糊整定一PID控制器系统仿真结构图 参 考 文 献 [1]黄晓宇.基于MATLAB的模糊自整定PID参数控制器 的计算机仿真[J].自动化与仪器仪表,2001,95(3):21 —24. [2]吴振顺,姚建均.模糊自整定PID控制器的设计及其应 用[J].哈尔滨工业大学学报,2004,36(11):576—580. [3]孙庚山,兰西柱.工程模糊可能改制[M].北京:机械工 业出版社,1995. [4]王鸣.基于模糊控制理论的一种PID参数自整定控制 的设计和仿真[J].自动化与仪器仪表,2000,87(1):14 —时间/s 17. 图4模糊PID控制的阶跃响应 [5]王耀南.计算智能信息处理技术及其应用[M].长沙: 湖南大学出版社,1999. 3 结 语 采用参数自整定模糊PID控制系统,对于上述 的大时间延迟系统来说,它的响应时间更短,超调量 小,系统的鲁棒性也有很大的改善.文中提出的利用 S函数实现模糊整定PID控制器的方法,对于隧道 窑温度控制、水温控制的大时间延迟系统的控制性 能改善有较大的实际意义. [6]刘金琨.先进PID控制MATLAB仿真[M].北京:电子 工业出版社,2004. [7]费春国.模糊自调整控制器的研究及应用[D].天津:天 津科技大学,2003:25—26. [8]杨智.工业自整定PID调节器关键技术综述[J].化工 自动化及仪表,2000,27(2):5—10. [9]李卓.基于模糊推理的自整定PID控制器[J].控制理 论与应用,1997,14(2):238—243. Parameter Self-tuning Fuzzy PID Controller Based on S Function LU Gai-feng,LU Dong—wei,MENG Bo,WANG Jia,JU Yang (North China University of Water Resources and Electric Power,Zhengzhou 450045,China) Abstract:In order to improve control performance for large time delay system,using SIMULINK toolbox and S function,a structure di— agram of the fuzzy control system is constructed to simulate.Through the preparation of S function,combining with MATLAB and SIM— ULINK,the design and eficifent simucation of the parameter self adjustment fuzzy control system is realized.Lastly,the controller is applied to the temperature control system of the tunnel kiln,and a good control effect has been achieved. Key words:S function;fuzzy self—tuning;MATLAB simulation (责任编辑:杜明侠)