运用基于语言规则的方法来解决控制领域的问题”,这种想法是为了满足以下需求而产生的——即要求处理那些“由于这样或那样的原因而难以进行精确的数学描述的问题”。传统的基本调节控制(brc)和先进调节控制(arc)技术,都是假设来自现场仪表的信号是稳定有效的,可以为系统提供其需要的测量值。但是,这些信号未必一直是准确的,并且其提供的测量信息也可能不够完全。
另外,过程值的绝对值还不是我们必须考虑的唯一关键因素。测量的变化率可能更为重要。有时,过程值或测量方法还需参照其它条件来考虑。那些用以指示条件状态的布尔逻辑量,比如像显示工艺设备是否运行的参数,往往是很重要的。对一套控制系统的合理操作,有时也取决于系统使用的时间、系统的清洁度和维修状况以及其它的一些因素。还有,不是所有的误差都同等重要
。有些时候,对于某个方向的误差需要较慢或较弱的响应速度,而对于另外一个方向的误差却需要较强或较快的响应速度。
基本概要表明,对于有些控制问题,有时需要以逻辑集合的方式,同时考虑好几种条件。而且,以上提到的所有问题,都难以用数学方式来描述。在这种情况下,基于规则的控制方案有时可以发挥出它的优势。
规则,算法
应用在基本及先进调节控制中的集散型控制系统(dcs)的控制模块,其核心部分就是一些可编程的数学等式或算法模块,这些算式或模块都以预定义的时间间隔重复执行。例如,一个pid(比例-积分-微分)控制的经典(非交互作用)算式如下:
输出= kp(e+ki∫edt-kddc/dt)
此处:
输出=控制输出信号值
e=控制器的输入偏差(测量值-设定值)
c=控制器的测量信号值
kp=比例增益
ki=积分增益
kd=微分增益
对控制工程师来说,这是一个非常清楚的关系公式。不同dcs厂商提供的pid算法,尽管在很多方面有所不同,而且对于诸如滤波和报警、选择性以及外部积分反馈等功能都有不同的功能块,但是这个基本算式实际上是通用的。除了控制功能外,一个dcs应用平台还可以提供各种各样的、可用作“功能块”算法的其它有用功能。设计一套传统的控制系统,从本质上说,就是“输入输出信号的互连”和“适用功能”的安装集合。对以上这些软硬件结构进行组态和文件归档的软件工具,其功能开发一定是完善的、全面的。
在“模糊控制”和“专家系统”中应用的“规则”,其实也是一些重复执行的算法,只不过是以“语言和数值相结合的混合方式”来表达的。一个应用在温度控制规则上的简例如下:
“如果测量到的温度低于设定值以下超过5°f,则将蒸汽阀门开到10%。”
就此规则本身而言,是简单且精确的。但同时它又是不完整的,其定义的范围仅限于一种情况,而留下了大量的相关问题未予以明确的回答,比如:
■当控制误差小于5°f时,该如何操作?
■当控制误差大到什么程度时,才可以对控制阀采取更大的动作?
■当测量值大于目标设定值时,该如何操作?
另外,还有大量的操作性的和界面性的问题没有解决,诸如:
■操作工如何为温度回路输入目标设定值?
■对于整定好的系统,其响应速度该是如何?
■操作工如何手动控制输出给调节阀的信号?
一个完整的控制方案可能需要数以百计的规则,以便涵盖应用中可能遇到的各种情况,并且还要包含每种情形所需的功能。在任何情况下,一套基于规则的控制系统都是以定期的时间间隔来执行整个规则库的,来决定下一步该干什么。
一般而言,基于规则的控制系统可以粗分为两大类:“模糊逻辑系统”和“专家系统”。这两种系统都提供了必要的手段,可以将“非数学的概念和条件”整合进控制系统的解决方案中。“模糊逻辑系统”是一个数学与非数学概念的混合体,而“专家系统”几乎一直是在一个“为处理语言而设计”的环境中开发的。
有关“模糊逻辑系统”和“专家系统”的技术细节,有很多不错的参考资料,以下的链接就给各位提供了一个清单,其中列出了模糊控制的一般信息来源和相关的研究机构名称:http://www.cse.dmu.ac.uk/~rij/general.html。
模糊逻辑的概念
人的认知和判断往往并不精确。人的一个典型想法可能就是一个条件语句,例如:
“假如产品的温度低,并且产量也低,那么将蒸汽阀门稍微开大一点。假如产品的温度低,但产量高,那么将蒸汽阀门多开大一点。”
这样一种语句包含了几种不够精确的概念,比如像“低”、“大”,对人而言,这种定义是由其经验转化而来的。模糊逻辑就是为了在过程控制系统中不必依赖于经验、就能应用这些规则而开发的方法。
最后,我们还需特别