资源描述:
I C S2 5 .0 4 0 .4 0 N1 8 酉雪 中华人民共和国国家标准 G B /T1 5 9 6 9 .7 - - 2 0 0 8 /I E C6 11 3 卜7 2 0 0 0 代替G B /T1 7 1 6 5 .3 2 0 0 1 可编程序控制器 第7 部分模糊控制编程 P r o g r a m m a b l ec o n t r o l l e r s - - P a r t7 F u z z yc o n t r o lp r o g r a m m i n g 2 0 0 8 0 6 - 3 0 发布 I E C6 1 1 3 17 2 0 0 0 ,I D T 2 0 0 9 - 0 1 - 0 1 实施 宰瞀髅鬻瓣警辫瞥星发布中国国家标准化管理委员会仅1 9 目次 前言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 1 范围⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 2 规范性引用文件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 3 术语和定义⋯⋯⋯⋯⋯⋯⋯⋯- ⋯⋯⋯⋯⋯⋯ 4 模糊控制在可编程序控制器中的集成⋯⋯⋯⋯ 5 模糊控制语言 F C L ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 5 ,l 模糊控制程序的交换⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 5 .2 模糊控制语言元素⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 5 .3 模糊控制语言 F C L 示例⋯⋯⋯⋯⋯⋯⋯⋯- 5 .4 模糊控制语言 F C L 的产生式规则和关键字一 6 相符性⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 6 .1 模糊控制语言 F C I 。 的相符性等级⋯⋯⋯⋯ 6 .2 数据检查清单⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 附录A 资料性附录 理论⋯⋯⋯⋯⋯⋯⋯⋯⋯ 附录B 资料性附录 示例⋯⋯⋯⋯⋯⋯⋯⋯⋯- 附录c 资料性附录工业实例集装箱吊车⋯- 附录D 资料性附录在规则块中使用变量的例子 附录E 资料性附录 符号、缩写、同义词⋯⋯⋯ G B /T1 5 9 6 9 .7 - - 2 0 0 8 /1 E C6 1 1 3 卜7 2 0 0 0 图l 用功能块图F B D 表示的模糊控制功能块示例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图2 模糊控制语言 F C L 程序的数据交换⋯⋯⋯⋯⋯⋯⋯⋯⋯ - ⋯⋯⋯ 图3 使用S T 语言和F B D 语言的功能块接口说明示例⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图4 上 下 界型示例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图5 隶属函数的变量用法示例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图6 单点集语言项的示例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图7 模糊功能块示例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯- ⋯⋯⋯⋯⋯ 图8 相符性等级⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯‘ 图A .1 语言项“法定年龄”和“成年人”的隶属函数⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图A .2 用语言形描述语言变量“年纪”和其在时间尺度 年龄 上的对应关系 图A .3 常用的隶属函数的形状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯- - 图A .4 两个隶属函数之间运算的算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯- 图A .5 模糊控制的结构和功能元素⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图A .6 模糊化原理 示例 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图A .7 用控制规则形式表示的知识库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图A .8 两个变量的矩阵表示⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图A .9 推理元素⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图A .1 0 a 聚集原理 举例说明 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图A .1 0 b 激活原理 举例说明 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图A .1 0 c 综合原理 举例说明 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯- 图A .1 1 a 清晰化方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯- ⋯⋯⋯⋯⋯⋯⋯- Ⅲ●,●0 0 0 0 n屹坫“M四n曲匏 n培珀孔毖毖毖船船驰孔坫弘● G B /T1 5 9 6 9 .7 - - 2 0 0 8 /I E C6 1 1 3 I - 7 2 0 0 0 图A .i i b 图A .1 1c 图A .1 1 d 图A .1 2 a 图A .1 2 b 左取大和右取大的区别 面积中心线和重心的区别 清晰化方法⋯⋯⋯⋯⋯ 模糊控制器基本结构⋯ 模糊控制器示例⋯⋯⋯ 图B .1 预先控制示例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图B .2 参数自适应调整举例⋯⋯⋯⋯⋯⋯⋯- 图B .3 直接模糊控制示例⋯⋯⋯⋯⋯⋯⋯⋯- 图c .1 工业实例集装箱吊车⋯⋯⋯⋯⋯⋯⋯ 图C .2 吊车头与目的地之间的“距离”语言变量 图C .3 集装箱和吊车头形成的“角度”语言变量 图c .4 “功率”语言变量⋯⋯⋯⋯⋯⋯⋯ 图C .5 规则库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图C .6 “距离”语言变量的模糊化⋯⋯⋯⋯⋯ 图C .7 “角度”语言变量的模糊化⋯⋯⋯⋯ 图C .8 三个规则的子集⋯⋯⋯⋯⋯⋯⋯⋯ 图C .9 聚集的元素⋯⋯⋯- ⋯⋯⋯⋯⋯⋯⋯ 图c .1 0 聚集原理⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图c .激活的元素⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯- 图C .1 2 激活原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图C .1 3 综合的元素⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图C .1 4 综合原理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图C .1 5 清晰化⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯- 图c .1 6F C L 应用实例⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图D .1 受控系统原理⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图D .2 烤炉的模糊控制原理⋯- ⋯⋯⋯⋯⋯ 图D .3 规则块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 图D .4F C L 示例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 表1 清晰化方法⋯⋯⋯⋯⋯⋯一 表2 清晰化方法的公式⋯⋯⋯ 表3O R 和A N D 对偶算法⋯一 表4 激活方法⋯⋯⋯⋯⋯⋯⋯⋯ 表5 综合方法⋯⋯⋯⋯⋯⋯⋯⋯ 表6 运算符优先级⋯⋯⋯⋯⋯- 表7 保留关键字⋯⋯⋯⋯⋯⋯ 表8F C L 基本级语言元素 必备 表9F C L 扩展级语言元素 可选 表1 0 开放级语言元素清单示例 表1 1 数据检查清单⋯⋯⋯⋯⋯ 表A .1 推理步骤和常用算法⋯ 表c .1 推理步骤和指定的运算符 表E .1 符号、缩写⋯⋯⋯⋯⋯⋯- 表E .2 同义词⋯⋯⋯⋯⋯⋯⋯ Ⅱ 拍孙卯即船船舶∞驵孔跎弛弛鹳弘“弘跖弘弘拍耵玎∞∞∞如 ,,8 o o加H““孔弛铊蛇 刖置 G B /T1 5 9 6 9 可编程序控制器分为以下几部分 第1 部分通用信息; 第2 部分设备特性; 第3 部分编程语言; 第4 部分用户导则; 第5 部分通信; 第6 部分基于现场总线的可编程控制器通信; 第7 部分模糊控制编程。 本部分为G B /T1 5 9 6 9 的第7 部分。 本部分等同采用I E C6 1 1 3 1 7 2 0 0 0 可编程序控制器 根据G B /T1 .1 2 0 0 0 标准化工作导则第1 部分 2 0 0 0 进行了下列编辑性修改 a “本标准”改为了“本部分”; b 删除了I E C6 1 1 3 17 2 0 0 0 的前言; c 凡有“I E C6 1 1 3 1 ”的地方改为“G B /T1 5 9 6 9 ”; d 用小数点“.”代替作小数点的逗号“,”; 本部分代替G B /T1 7 1 6 5 .3 2 0 0 1 模糊控制装置和系统 本部分与G B /T1 7 1 6 5 .3 - 2 0 0 1 相比,主要变化如下 G B /T1 5 9 6 9 .7 - - 2 0 0 8 /1 E C6 11 9 1 - 7 2 0 0 0 第7 部分模糊控制编程 英文版 。 标准的结构和编写规则,对I E C6 1 1 3 1 7 第3 部分可编程控制器模糊控制编程。 ⋯⋯将“模糊控制装置和系统第3 部分可编程控制器模糊控制编程”改为了“可编程序控制器 第7 部分模糊控制编程”; 将标准号由“G B /T1 7 1 6 5 .32 0 0 1 ”改为“G B /T1 5 9 6 9 .7 2 0 0 8 ”; “定义”改为“术语和定义” G B /T1 7 1 6 5 .3 2 0 0 1 的第3 章;本部分的第3 章 ; 将第3 章中术语的排列顺序,按照I E C6 1 1 3 17 2 0 0 0 中术语的排列顺序进行了调整 G B /T1 7 1 6 5 .32 0 0 l 的第3 章;本部分的第3 章 ; 根据G B /T1 .1 2 0 0 0 ,进行了重新排版。 本部分的附录A 、附录B 、附录C 、附录D 、附录E 都是资料性附录。 本部分由中国机械工业联合会提出。 本部分由全国工业过程测量和控制标准化技术委员会第五分技术委员会归口。 本部分负责起草单位西南大学、中国四联仪器仪表集团。 本部分参加起草单位机械工业仪器仪表综合技术经济研究所、北京机械工业自动化研究所。 本部分主要起草人唐雁、陈映萍、黄巧莉、刘进。 本部分参加起草人冯晓升、谢兵兵。 本部分所代替标准的历次发布情况为 G B /T1 7 1 6 5 .3 - - - 2 0 0 1 。 m 1 范围 G B /T1 5 9 6 9 .7 - - 2 0 0 8 /I E C6 11 3 1 - 7 2 0 0 0 可编程序控制器 第7 部分模糊控制编程 G B /T1 5 9 6 9 的本部分定义了在可编程控制器中应用模糊控制的编程语言。 本部分规定了制造商和用户将模糊控制应用集成于G B /T1 5 9 6 9 .3 2 0 0 5 规定的可编程序控制器 语言中的基本方法,以及在不同编程系统之间交换可移植模糊控制程序的可能性。 为了帮助读者理解本部分内容,附录A 简单介绍了模糊控制和模糊逻辑的最基本内容。 2 规范性引用文件 下列文件中的条款通过G B /T1 5 9 6 9 的本部分的引用而成为本部分的条款。凡是注日期的引用文件, 其随后所有的修改单 不包括勘误的内容 或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的 各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。 G B /T2 9 0 0 .5 6 2 0 0 2电工术语 自动控制 I E C6 0 0 5 0 3 5 1 1 9 9 8 ,I D T G B /T1 5 9 6 9 .32 0 0 5 可编程序控制器第3 部分编程语言 I E C6 1 1 3 1 3 2 0 0 2 ,I D T 3 术语和定义 3 .1 3 .2 3 .3 3 .4 3 .5 下列术语和定义适用于本部分。 其他有关编程语言的定义由G B /T15 9 6 9 .3 2 0 0 5 确定。 注本章定义的术语在定义主体中以黑体字出现。 综合a c c u m u l a t i o n 把各条控制规则推理的结果汇总成一个总的推理结果。 注即推理结果的聚集。 聚集a g g r e g a t i o n 由一条规则的多个子条件的隶属度计算该条规则条件 前件部分 的满足程度。 注即确定一条规则的激活程度。 激活 a c t i v a t i o n 规则条件的满足程度作用于一个输出模糊集的过程。 结论c o n c l a s i o n 简单或多维模糊条件语句“若⋯⋯,则⋯⋯”中的“则⋯⋯”部分。 注控制规则的输出,也称后件 c o n s e q u e n t 。 条件c o n d i t i o n 简单或多维模糊条件语句“若⋯⋯,则⋯⋯”中的“若⋯⋯”部分。 注也称前件 a n t e c e d e n t ,由模糊算子A N D ,O R ,N O T 结合各子条件组成的一个表达式 G B /T1 5 9 6 9 .7 - - 2 0 0 8 /I E C6 1 1 3 1 _ 7 2 0 0 0 3 .6 清晰集c r i s ps e t 模糊集的一种特例,其隶属函数仅取两个值,通常规定为0 和1 。 3 .7 清晰化d e f u z z i f i c a t i o n 将模糊 逻辑 推理后得到的模糊集转变成为用作控制的清晰值的过程。 3 .8 隶属度d e g r e eo fm e m b e r s h i p 隶属函数的函数值。表示指定元素隶属于一个模糊集合的程度,其取值范围为[ o ,1 ] 区间。 3 .9 模糊化 f u z z i f i c a t i o n 将输入量的清晰值转变为可用于模糊 逻辑 推理的模糊集合的过程。 注在本部分中具体指求出清晰的输入值对于相应的输入语言变量的每一个语言项的隶属度。 3 .1 0 模糊控制f u z z yc o n t r o l 用模糊 逻辑 推理方法,模拟人的操作技能、控制经验和知识的一种控制方法。 3 .1 1 模糊逻辑f u z z yl o g i c 应用模糊集合理论对模糊的概念、判断和推理进行量化处理和分析的一种非经典逻辑。 注模糊逻辑的狭义理解是指真值在[ o ,1 ] 区间上取值的无限多值逻辑。 3 .1 2 模糊算子f u z z yo p e r a t o r 在模糊逻辑中所采用的算子。 注例如A N D ,O R ,N O T 等。 3 .1 3 模糊集f u z z ys e t 带有隶属程度 以[ o ,1 ] 区间上的数表示 的事物 物体、对象或概念 的整体。 推理i n f e r e n c e 以已知的模糊命题为前提 包括大前提和小前提 ,提出新的模糊命题作为结论的过程。 3 .1 4 语言规则l i n g u i s t i cr u l e “I F - T H E N ”规则“i f t h e n ”r u l e ,表征模糊控制策略的模糊条件语句。 注规则是一个形如“若 贝0 ”的语句,其中条件部分和结论部分二者之一或全部是语言项 3 .1 5 语言项l i n g u i s t i ct e r m 语言变量的取值。语言项是以模糊集来定义的。 注即语言值 1 i n g u i s t i cv a l u e , 3 .1 6 语言变量l i n g u i s t i cv a r i a b l e 以人工或自然语言的词、词组或句子 语言项 作为值的变量。 3 .1 7 隶属函数m e m b e r s h i pf u n c t i o n 表征论域中每一元素隶属于一个模糊集合的程度的函数。 2 G B /T1 5 9 6 9 .7 - - 2 0 0 8 /I E C6 1 1 3 I - 71 2 0 0 0 了.1 8 单点集s i n g l e t o n 隶属函数仅在一点为l 而在其余点为0 的模糊集。 3 .1 9 子条件s o b e o n d i t i o n 形式为一个变量或“语言变量I s 语言项”的基本表达式。 3 .2 0 规则库r u l eb a s e 为实现某些目标而建立的控制规则的总和。 3 .2 1 加权因子w e i g h t i n gf a c t o r 描述控制规则的重要程度、可信程度和置信程度的、其值介于0 - - 1 之间的一个数。 4 模糊控制在可编程序控制器中的集成 模糊控制应用参照本部分第5 章规定的模糊控制语言 F C L 进行编程时,应封装于G B /T1 5 9 6 9 .3 ~ 2 0 0 5 所定义的功能块 或程序 内。G B /T1 5 9 6 9 .3 2 0 0 5 给出的功能块类型和功能块实例均适用于本 部分, 以模糊控制语言 F c L 定义的功能块类型将对输入输出参数、模糊控制具体规则和说明给出规定。 相应的功能块实例应包含该模糊控制应用的具体数据。 以模糊控制语言 F C L 定义的功能块可以用于按G B /T1 5 9 6 9 .3 给出的任一种语言 如梯形图、指 令表等 所编写的程序或功能块。用F C L 编写的功能块或程序的输入输出参数的数据类型应与相应的 “调用环境”的参数的数据类型相匹配,如图l 所示。 图1用功能块圈F B D 表示的模糊控制功能块示例 图1 中V a l v e C o n t r o l 一1 是功能块类型F u z z y F B 的一个用户定义的功能块实例,功能块类型 F u z z y F B 可以用本部分第5 章所规定的模糊控制语言 F C L 编制。本例所示功能块F u z z y F B 用在以 G B /T1 5 9 6 9 .3 2 0 0 5 的图形语言F B D 功能块圈 表示的程序或功能块中。 5 模糊控制语言 F C L 5 .1 模糊控制程序的交换 模糊控制语言 F C L 以G B /T1 5 9 6 9 .32 0 0 5 规定的编程语言的定义为基础。模糊控制算法与程 序环境的交互使它在程序中“隐藏”起来。所以,模糊控制算法外部表示成G B /T1 5 9 6 9 .3 2 0 0 5 规定 G B /T1 5 9 6 9 .7 - - 2 0 0 8 /1 E C6 1 1 3 卜7 2 0 0 0 的模块形式。描述模糊控制功能块内部的语言部分所必需的元素,如隶属函数、规则、算子和推理方法 均必须按照本章来定义。 F C L 的语言元素把不同厂家的模糊控制组态工具之间的数据交换标准化成通用形式,如图2 所 示。用这种通用形式,每个生产可编程序控制器的厂家均可保持自己的硬件、软件编辑器和编译器不 变。厂家只需在其编辑器中支持数据接口,用户的模糊控制项目就可以在不同厂家的产品之间交换。 图2 模糊控制语言 F C L 程序的数据交换 5 .2 模糊控制语言元素 本条通过示例给出模糊控制语言元素,详细的产生式规则将在5 .4 中给出。 5 .2 .1 功能块接口 按照第4 章,模糊功能块的格式要求使用G B /T1 5 9 6 9 .3 2 0 0 5 给出的下列标准语言元素。 些参数的数据类型应按G B /T1 5 9 6 9 .3 2 0 0 5 来定义。 图3 是用结构化文本 s T 语言和功能块图 F B D 语言来描述功能块说明的示例。 G B /T1 5 9 6 9 .7 - - 2 0 0 8 /I E C6 1 1 3 1 - 7 2 0 0 0 图3 使用S T 语言和F B D 语言的功能块接口说明示例 5 .2 .2 模糊化 输入变量的清晰值必须变换成定义于该变量论域上的隶属函数的隶属度,这一变换在关键字 F U Z Z I F Y 和E N D F U Z Z I F Y 之间说明。 要进行模糊化的变量名称应在关键字F U Z Z I F Y 之后列出。该名称应是在前面V A R I N P U T 段 已定义过的变量名。对该语言变量应赋予一个或多个语言项。由关键字T E R M 引导的语言项由隶属 函数来描述,以用于计算输入变量的清晰量的隶属度。隶属函数一般是分段线形函数,由含有多个点的 一张表来定义。 每个点由一个数对,即该变量的值及相应的隶属度的值来表示,其间用逗号分开。每个数对均用括 号括起来,其间也用逗号隔开。 通过这一定义,所有简单形式的隶属函数如上 下 界型 如图4 所示 、三角型等都易于定义。这些 点应按输入变量值递升的顺序给出,隶属函数在相邻点之间约定为直线。相对每一语言项的隶属度都 可以通过相邻隶属函数点之间的线性插值计算出来。 点的数目最小为2 ,其最大值应受第6 章规定的相符性等级所限制。 用三个点表示的语言项“w a r m ”的隶属函数示例如下 小于第一个点的全部输入变量值的隶属度均取与第一个点同样的隶属度值。 大于最后一个点的全部输入变量的隶属度均取与最后一个点同样的隶属度值。 G B /T1 5 9 6 9 .7 - - 2 0 0 8 /I E C6 1 1 3 1 - 7 2 0 0 0 注隶属函数的点的数据类型未加定义,厂商必须提供适应任何变换需要的编译器。 图4 上 下 界型示例 为使模糊控制能实现在线自适应调整,隶属函数的基点应可以调整。这种调整可以通过输入到功 能块的变量来实现。这些变量必须在功能块的V A R I N P U T 部分中加以说明。用变量来定义隶属函 数某些点的示例见图5 。 注隶属函数的点的值在运行时,次序可能变化。 5 .2 .3 清晰化 输出变量的推理结果一般为一个模糊集,必须变换成一个清晰值,这种变换在关键字D E F U Z Z l F Y 和E N D L D E F U Z Z I F Y 之间描述。 要清晰化的变量须在关键字D E F U Z Z I F Y 之后列出其名称,它应是在前面V A R O U T P U T 部分 中已定义过的变量名。 语言项的定义见5 .2 .2 , 为了简化清晰化的过程,输出隶属函数常用单点集,它的每一个语言项仅用一个单值来描述。图6 给出了示例。 G B /T1 5 9 6 9 .7 - - 2 0 0 8 /I E C6 1 1 3 1 - 7 2 0 0 0 清晰化方法用语言元素M E T H O D 来定义。 允许使用下列清晰化方法 见表1 和表2 。 表1 清晰化方法 关键字解释 C o G 重心 注1 法 C o G S C o A 面积中心 注2 和注3 I 。M 左取大 注4 R M 右取大 注4 注1 重心法等同于求面积重心。 注2 面积中心法等同与求面积平分线的坐标值 注3 单点集不能使用C o A 。 注4 L M 和R M 清晰化方法对0 点是非对称的。 表2 清晰化方法的公式 G B /T1 5 9 6 9 .7 - - 2 0 0 8 /I E C6 11 3 1 - 7 2 0 0 0 表2 续 式中 u 清晰化结果 ”输入变量 p 单点集的个数 p 模糊集综合后的隶属函数 i 下标 M i n 在R A N G E 中给定清晰化时用到的变量最小值,在单点集的情况下M i n M n z 在R A N G E 中给定清晰化时用到的变量最大值,在单点集的情况下M i n s “p 最大值 t n ,最小值 如果对一个输出变量所有语言项的隶属度都为0 ,则表示对该变量无规则被激发。在这种情况下, 清晰化不能生成一个有效的输出。此时,可以为输出指定一个缺省值。只有在无任何规则激发时,输出 值才取缺省值。 D E F A U L T 一v a l u eN C 缺省值应在关键字D E F A U L T 之后给定。亦可用关键字N C 不改变 来表明无规则激发时输出值 保持上一步推理结果不变。 范围是指定的一个最小值和一个最大值,其闯用两点分开。 叵至三三三互三三三互二二二二二二二二二二二] R A N G E 是用来限定输出变量的每一个隶属函数均在输出的范围之内。如果输出隶属函数采用单 点集,则R A N G E 不起作用。 如果未定义其范围.则缺省范围为G B /T1 5 9 6 9 .32 0 0 5 中所规定的该变量数据类型的范围。 5 .2 .4 规则块 模糊推理算法应在一个或多个规则块中加以定义。为适应将规则库分成几个不同模块的可能情 况,可以使用若干个规则块。每个规则块有一个唯一的名称。 规则应定义在关键字R U L E B L O C K 和E N D 二R U L E B L O C K 之间。 模糊算子用于规则块中。 根据德摩根定律,运算符A N D 和O R 是对偶的,例如若M I N 用于A N D ,则M A X 用于O R 。 表3O R 和A N D 对偶算法 O R 算子 A N D 算子 算法关键字算法算法关键字算法 M A X M a x 1 2 l z ,1 2 2 z M I N M i n 1 2 1 z ,1 2 z z A S U M1 2 1 z 1 2 2 z 一F l z ’F 2 z P R O D 1 2 1 z 。1 2 z z B S U MM i n 1 ,F l z F 2 z B D I F M a x 0 ,F l z p 2 z 一1 8 规则块示例 G B /T1 5 9 6 9 .7 - - 2 0 0 8 /1 E C6 1 1 3 卜7 2 0 0 0 下面的语言元素定义了激活方法 表4 列出了可选用的激活方法。 表4 激活方法 名称关键字算法 乘积 P R o D F 1 z p 2 z 取小运算 M I N 肺n m z ,№h 注激活方法与是否用单点集无关。 下面的语言元素定义了综合方法 A C C U a C C U H ] u l a t i o n m e t h o d ; I ,.,,............。.....,..,...............,.............,。.............。..。.......,.................,......。,,。。...........。.....。.。.....~.........,_ _ 表5 列出了可用的综合方法。 表5 综合方法 名称关键字公式 取大算法 M A X M a x p l z ,p 2 z m I p 2 z 归一化求和 N S U M M a .z 1 ,M n 如一∈x 肌 z 7 心 z 7 有界和 B S U MM i n 1 ,F z 口2 z 规则块的输入是带有各自语言项集合的语言变量,每一个语言项赋有一个隶属函数。 规则定义在规则块内,每条规则以关键字R U L E 开始,后面是规则序号,并以分号结束。在规则块 内的每一规则只能有唯一的序号。 ●。。。。。。。。。‘‘。。。。1 、。1 1 。。。。。。。。。。’。V ‘‘1 1 ’1 。。。。。。。。。。。。。。‘‘。。。。’’1 1 。。。。。。。。。。。。。。‘。。。。’’’。1 。。。。。。。’。,●‘1 ‘V 。。。。。。。。。‘‘‘。。。‘。。。。’’’。1 。。。。。。。。。。‘‘。。。。’1 1 ’。。。。。’。。。‘。。。。。一1 | R U L En u m b e r s I F c o n d i t i o nT H E Nc o n c l u s i o n [ W I T Hw e i g h t i n gf a c t o r ] ; 规则本身以关键字I F 开始,紧接着为条件 c o n d i t i o n ,条件后面是以关键字T H E N 开头的结论 c o n c l u s i o n 。 可以把几个子条件 s u b c o n d i t i o n 和输入变量 v a r i a b l e 组合在一条规则的条件 c o n d i t i o n 之中。 变量的作用是将模糊隶属度导入模糊功能块。所有的输入项应定义在关键字I F 和T H E N 之间,并通 过以关键字A N D 、O R 或N O T 表示的运算符组合在一起。 运算符的优先级 见表6 按表3 所示布尔代数的运算规律。 9 G B /T1 5 9 6 9 .7 - - 2 0 0 B /I E C6 11 3 1 - 7 2 0 0 0 表6 运算符优先级 优先级运算符 l 括号 2N O T 3A N D 4o R 规则的简化示例 i 竺竺竺竺竺 竺竺竺竺竺竺 竺t 竺; 在相符性的基本级中,O R 操作可以通过定义成两条规则来实现 子条件以语言变量名开始,后面是关键字I s 带一可选项N O T 和条件中用到的语言变量的一个语 言项。 s u b c o n d i t i o n l i n g u i s t i cv a r i a b l eI S [ N O T ] l i n g u i s t i ct e r m一 一一 条件中的语言项应与该条件中的语言变量相匹配,用到的语言项必须预先用关键字T E R M 定义。 子条件示例 关键字N O T 也可以用在子条件之前,此时可使用括号将子条件括起。 _ 1 1 。。。‘‘。。。。。。。。。’。1 1 。。。 ’1 。。。。。。。’1 。。。。。。。。‘。。。。。。。。。1 ’1 ‘‘。。1 。。。。。。。。’’’’1 。。。‘。。。。。。。’1 。。’。。。。。。‘。。。‘,’。。。’1 。。。。‘。。。。。。。。1 。。。。。。。。。。。。。。。。。。。。‘。。。。‘。。。 I F N O T t e m p I Sh o tT H E N ⋯或I F N O T t e m p I Sh o t T H E N ⋯ J、,.....,..,.,..........................。..,,,..。.,.................,.....。..。.........,........、.................一...................,,..。...,..........,..,......................。.,...。。............,.,.。..J 结论可以分为几个子结论和输出变量,各子结论之间用逗号隔开。 子结论以语言变量开始,随后是关键字I s 和该语言变量的一个语言项。 s u b c o n c l u s i o n 一L i n g u i s t i c v a r i a b l eI SL i n g u i s t i c ~t e r r a I..一~.....。。............,,.................一 有几个子结论 写成一行或多行 的示例 可以选择给任一个子结论指定一个介于0 .0 和1 .0 之间的实数作为加权因子。这可以通过关键字 W I T H 后跟加权因子来实现。 加权因子与子结论的结果相乘使子结论的隶属度 隶属函数 减小。 为了在外部操纵模糊控制应用的参数,加权因子允许是一个变量。这种情况下,该变量必须在 V A R I N P U T 部分加以说明。这样,便可以在运行时通过调整加权因子使模糊控制程序适应过程控制 的要求。 1 0 G B /T1 5 9 6 9 .7 - - 2 0 0 8 /1 E C6 1 1 3 1 _ 7 2 0 0 0 如果子结论后面没有W I T H 语句,则视加权因子为缺省值1 .0 。 I 竺竺 三 竺兰竺竺竺 三 塑兰竺 兰 竺竺 常数加权因子的示例 变量加权因子的示例 5 .2 .5 可选参数 为在不同的目标系统上实现模糊控制应用,可能需要给出附加信息,使这些应用在不同的系统之间 可能取得最佳的转换。这些附加信息用语言元素写在关键字O P T I O N S 和E N D _ O P T I O N S 之间。 这些语言元素将用于按第6 章规定的相符性开放级的特征描述。 5 .3 模糊控制语言 F C L 示例 图7 是模糊控制语言示例。 G B /T1 5 9 6 9 .7 - - 2 0 0 8 /1 E C6 11 3 1 - 7 2 0 0 0 R U L E B L O C KN o l A N D A C C U . R U L E l . R U L E 2 . R U L E 3 R U L E 4 E N D _ R U L E B L O C K E N D F U N C T I O N B L O C K M 】N M A X ; 1 Ft e m pI Sc o l dANDp r e s s u r eI S1 0 WT H E Nv a l v eI Si n l e t I Ft e m pI Sc o l dA N Dp r e s s u r eI Sh i g hT H E Nv a l v eI Sc l o s e dW I T H0 .8 I Ft e m pI Sh o tA N Dp r e s s u r eI Sl o wT H E Nv a l v eI Sc l o s e d ; I Ft e m pI Sh o tA N Dp r e s s u r eI Sh i g hT H E Nv a l v eI Sd r a i n a g e ; 图7 续 5 .4 模糊控制语言 F C L 的产生式规则和关键字 G B /T1 5 9 6 9 .32 0 0 5 的附录A 定义了可编程序控制器文本语言的说明方法,这里,F C L 要用到这 种说明方法。 G B /T1 5 9 6 9 .32 0 0 5 的附录B 有文本编程语言的语言元素的正式规定。F C L 要用到下列G B /T 1 5 9 6 9 .3 - - 2 0 0 5 的语言元素的子集; B 1 .1 字母、数字、标识符 B 1 .2 常数 B 1 .3 数据类型 B 1 .4 变量 5 .4 .1 产生式规则 除了上面列出的G B /T1 5 9 6 9 .32 0 0 5 的语言元素外,还要用到下列的语言元素 f u n c t i o n b l o c k d e c l a r a t i o n 一‘F U N C T l 0 N B L O C K ’f u n c t i o n b l o c k n a m e { f b i o v a r d e c l a r a t i o n s { o t h e r ~v a r _ d e c l a r a t i o n s } F u n c t i o n _ b l o c k b o d y ‘E N D F U N C T I O N B L O C K ’ f b i o v a t _ d e c l a r a t i o n s i n p u t d e c l a r a t i o n s { o u t p u t d e c l a r a t i o n s o t h e r v a r _ d e d l a r a t i o n s 一v a r d e c l a r a t i o n s f u n c i t i o n b l o c k b o d y 一{ f u z z i l y b l o c k { d e f u z z i f y _ b l o c k r u l e b l o c
展开阅读全文