孙明革 赵俊铭
(吉林化工学院,吉林 吉林132022)
模糊PID 其实质就是依据建立的知识库和控制器采集的实际反馈情况,进行模糊推理运算,对PID 参数进行最优调整。模糊PID控制系统基本结构如图1 所示[1]。
图1 模糊PID 控制系统基本结构
PKS 系统中提供了用户自定义功能块(CAB)的功能。用户可根据控制要求独立开发功能块,本文就是应用该功能实现的模糊PID 控制器。用户自定义功能块的开发环境为微软的Visual Studio[2]、编程语言为VB.NET、运行平台为C300。
2.1 模糊PID 功能块开发。本文选择两输入三输出的Mamdani型的模糊控制器[3]。其输入分别为偏差、偏差变化率,输出分别为比例、积分、微分的增量。模糊PID 算法程序构架图如图2 所示。
图2 模糊PID 算法程序构架图
2.1.1 模糊化。模糊化过程其实就是将系统的输入值转化成语言值,并确定语言值的隶属度。本文输入输出均选择7 个等级的语言值,在PKS 程序中用-3、-2、-1、0、1、2、3 表示。输入输出隶属度函数均采用三角形函数,并且隶属度函数曲线均一致,隶属度函数如图3 所示。在功能块程序编写中,采用分段式一元一次方程表示隶属度函数。
图3 隶属函数曲线
2.1.2 模糊控制规则表。本文模糊PID 的控制规则是根据PID参数整定的方法和操作经验总结出来的。在程序中模糊控制规则用二维数组表示,该方法能够方便找出输出子集,其中偏差变化率为行,偏差为列,对应的语言值为输出子集。模糊控制规则程序如下所示:
2.1.3 解模糊化。经过模糊推理后,输出的是控制量对应的模糊集合,但是在实际应用中被控过程须用确定值进行控制。所以需要在输出模糊集合中,选取最能代表的隶属度函数,计算其精确值,该运算过程就是解模糊化。本文选择最大隶属度平均法解模糊化,表达式如公式1 所示。
解模糊化计算结果为PID 参数的增量,还需加上初始值才为参数的调整值,计算公式如公式2 所示。
公式中K'P、K'I、K'D为参数的初始值,ΔKP、ΔKI、ΔKD为参数的增量。
2.1.4 计算控制器输出值。计算出参数调整值后,根据PID 算法计算输出值。本文PID 算法采用位置式类型,其公式如3 所示[4]。
2.2 模糊PID 功能块组态。根据上述控制器设计,开发模糊PID 功能块。功能块在控制回路中应用,还需进行控制策略组态,其组态如图4 所示。
以工程应用角度出发,功能块还添加了手自动切换、算法切换两种功能。其中START_A 为手自动切换按钮,START_P 为算法切换按钮。
2.3 模糊PID 上位机画面组态
为了方便参数配置,添加上位机参数设定功能,参数配置画面如图5 所示。
图4 模糊PID 功能块组态
图5 参数配置画面
图中EN、ECN、KP、KI、KD、KPN、KIN、KDN 分别表示偏差量化因子、偏差变化率比例因子、比例的初始值、积分的初始值、微分的初始值、比例的比例因子、积分的比例因子、微分的比例因子。
图6 仿真曲线
从图中可以看出,系统超调量较小,并且能够快速达到稳定,由此可见系统具有较好的鲁棒性能。
本文在PKS 系统中开发模糊PID 功能块,该功能块能够实现手自动切换、算法切换、上位机参数配置等功能,能够满足工业上的需求。在PKS 系统中搭建DTDC 蒸脱机脱溶层温度控制仿真系统,仿真结果表示,系统的鲁棒性能较好,并且也证明了模糊PID功能块的可行性。