文献标识码:A
DOI:10.16157/j.issn.0258-7998.2015.07.031
中文引用格式:李林峰,房志奇,康卫,等. 工业控制防危系统专家规则的管理[J].电子技术应用,2015,41(7):111-113,117.
英文引用格式:Li Linfeng,Fang Zhiqi,Kang Wei,et al. The administration for the expert rules in the industrial control anti-crisis system[J].Application of Electronic Technique,2015,41(7):111-113,117.
0 引言
通常,工业控制系统从正常状态演变为危险状态甚至是事故状态,或从危险状态恢复到正常状态,需要经过多个阶段。
使用有限状态机来引导工控系统在遇到非正常状态(事故状态除外)时,经过一系列的合法转移动作将系统恢复到正常状态[1]。使用当前状态、转移动作、下一状态3个要素来描述工控防危系统。为直观地显示有限状态机,引入流程图描述工控防危系统的状态机[2],如图1所示[3]。
1 相关知识介绍
1.1 专家系统
专家系统的核心由知识库和推理机构成。知识库由专家规则和事实库组成[4],如图2所示。专家规则由变量描述表和规则表共同形成,变量描述表中变量的实际取值构成了事实库。事实库是一个动态库,当专家规则编辑完成后,会形成规则库,事实库会实时、动态地与规则库进行匹配,从而实现其防危功能。本文将重点叙述知识库中变量描述表和规则表的管理。
1.2 XML简介
专家规则库在磁盘中的存储方式为XML文本文档。XML即可扩展标记语言,它提供了一种统一的方法来表示、交换和传递独立于应用程序的数据,并直观、自然地展示了数据和对象之间的嵌套关系。
XML文本文档的保存及读取数据通过DOM(Document Object Model)编程接口实现[5]。
2 专家规则库管理模块设计
对专家规则的管理基于变量描述表和规则表实现,其管理工具分为对象编辑和规则编辑两大模块。
2.1 对象编辑模块
工业现场的对象可分为6类:输入开关量、输入模拟量、逻辑开关量、逻辑模拟量、输出开关量、输出模拟量。
(1)输入量与逻辑量。输入量的值可以直接通过测量获得,逻辑量的值不能直接进行测量,但可以通过输入量间接获得。编辑逻辑量时须指明它和输入量之间的逻辑关系。
(2)开关量与模拟量。开关量的状态有开启和关闭两种。模拟量的状态离散化为以下7种:低危险、低临界、低警告、正常、高警告、高临界、高危险。编辑模拟量时须指定每种状态的上下限。
(3)输出开关量和输出模拟量指执行的动作。输出开关量有开启和关闭两种动作。输出模拟量对应一个具体数值,若该值为正,表示该动作将对象值调高,若该值为负,表示该动作将对象值调低。
对象编辑模块是根据上述6种对象的定义设计的。对象的编辑将为专家规则的编辑提供必要的元素。
2.2 规则编辑模块
根据图1所示的有限状态机示意图,可将专家规则分为一般规则和转移规则两类。有限状态机中圆圈所代表的每一个状态,其形成需要一定的前提条件,即:由这些前提条件产生了该状态,这一过程形成的规则为一般规则。有限状态机中的当前状态、转移动作、下一状态这三个元素构成的规则为转移规则。
一般规则的编辑分为条件表达式的编辑和结论的编辑。条件表达式由各条件因子、关系操作符、括号组合形成。条件因子可由两种方式获取:对象编辑模块提供的对象与其状态的组合;某条已经存在的规则结论。关系操作符包括与(&&)和或(||)。结论部分为单一的结论因子,如果专家规则包含一个以上的结论因子,则把这样的规则拆成多个单结论因子的规则。采用产生式规则的形式来描述一般规则[4]。产生式规则的表示方式为:A(条件表达式)→B(规则结论),用conditionn表示条件因子,conclusion表示规则结论。以下为一条产生式规则的示例:
condition1&&(condition2||condition3)
&&condition4→conclusion
转移规则的编辑分为对现态、转移动作和次态的编辑。其中现态和次态从已存在的一般规则的规则结论中选取。在编辑转移动作之前,需要指定其现态的合法动作,这些合法动作来自对象编辑模块中的输出开关量或输出模拟量,如果是输出模拟量还需指明其合法区间。合法动作与动作状态的组合构成了转移动作。输出开关量的动作状态为开启或关闭;输出模拟量的动作状态应该落在该动作的合法区间内。
以上是规则编辑模块的基本功能。
3 专家规则处理
专家规则库是一个整体,专家规则之间存在着紧密的关系,一条专家规则有可能和规则库中的其他规则产生从属、冲突、等价、无效等问题。
从属是指两条规则的结论部分一致,而条件部分存在包含关系。冲突是指两条规则的条件部分一致,结论部分的对象相同,但对象的状态不同。针对专家规则中可能出现的从属和冲突等问题,根据问题出现的原因,可以比较容易地识别,本文不再叙述处理这些问题的方法。
本文将介绍专家规则等价和无效问题的处理方法。等价是指两条规则的条件表达式部分和结论部分均一致;无效是指规则的条件表达式部分化简之后为0或1。因此对专家规则条件表达式部分的化简与优化成为解决问题的关键。本文提出采用基于“最小项表达式”和“卡诺图化简算法”对专家规则的条件表达式部分进行统一优化。
最小项的概念是:n个变量的最小项是n个因子的乘积,每个因子是某个变量的原变量或反变量,每个变量都必须在最小项中出现一次且仅出现一次。可以把每一条规则的条件表达式部分看成一个逻辑函数,每个逻辑函数都可以化简成若干个最小项的“和”(即专家规则中的或(||)),这样的形式称之为最小项表达式。
卡诺图化简算法的步骤如下:
(1)根据专家规则条件表达式,做出相应的卡诺图。
(2)计算表达式在每种因子组合下的值,就像填真值表那样将结果填入卡诺图中,值为1的填入1,值为0的不填,每个“1”方格即为表达式的一个最小项。
(3)对卡诺图中的1方格圈卡诺圈,圈出所有的质蕴涵项。
(4)从质蕴涵项中找出其中的必要质蕴涵项。
(5)如果必要质蕴涵项没有包含卡诺图中所有的1方格,则必要质蕴涵项与剩余的质蕴涵项一同组成了该表达式的质蕴涵项集,即最简的每个与项。把这些与项按照一定的顺序用或(||)连接起来便形成了化简优化后的表达式。
专家规则经过上述算法优化之后,每条规则都会转化为唯一的形式。将化简优化后的专家规则存入规则库中。如果出现等价规则,只有一条最终被存入规则库中。
上述算法的第二步完成后,会得到卡诺图中所有小方格的值,对于n变量卡诺图,如果值为1的小方格个数为n,则化简结果为1。这样的专家规则,其条件表达式结果恒为1,为无效规则,至此算法将不再继续执行,该规则不会存入规则库中。同理,如果所有小方格的值均为0,这样的规则也被视为无效规则。
用小写字母表示开关量对象,大写字母表示模拟量对象。
例1:向规则库中存入以下两条规则:
(A高临界&&a关闭)||(a开启&&b开启&&A高临界)||(a开启&&b关闭&&A高临界)→结论1
(a开启&&A高临界)||(a关闭&&b开启&&A高临界)||(a关闭&&b关闭&&A高临界)→结论1
两条规则经优化之后都化简为规则:
A高临界→结论1
因此两条规则构成了等价关系,故只能存入其中一条。
例2:向规则库中存入以下规则:
c关闭||(a关闭&&c开启)||(a开启&&b开启&&c开启)||(a开启&&b关闭&&c开启)→结论2
经化简优化后,其条件表达式部分为1。因此该规则为无效规则,不会存入专家规则库中。
4 专家规则实例
本文以石灰窑煅烧系统为例,介绍防危专家规则库的形成过程。
在石灰窑的煅烧过程中,煅烧区的位置对石灰石的燃烧效率、煤的燃料利用率以及煅烧过程的安全性至关重要。本文选择了可能会影响到煅烧区位置的因素来形成专家规则库中的对象描述表。编辑后的变量描述表如表1所示。
有了变量描述表提供的对象及其状态,根据石灰窑的煅烧特性以及专家规则库规则编辑模块的功能,向规则库中逐条输入规则。专家规则经处理后,最终形成的系统规则列表如表2所示。
由上述规则列表,结合系统的转移规则,形成了如图3所示的状态转换图。
5 结论
本文提出了一套可用于工业控制防危系统的专家规则体系,并着重介绍了专家规则的相关管理技术。
由石灰窑煅烧系统防危规则实例可以看出:基于专家系统和产生式规则来形成专家规则库,其过程条理清晰,便于企业根据工业现场实际情况制定各自的防危规则;基于卡诺图化简算法对专家规则进行优化,专家规则可以快速、准确地以统一的形式存入专家规则库中,对于存在等价、无效等关系的专家规则,也可以做出准确判断;采用XML文本形式存取专家规则快速、有效、准确。
参考文献
[1] 徐新国,朱廷劭,康卫,等.基于数据挖掘的工业控制系统防危机制研究[J].电子技术应用,2012(5).
[2] 黄燕平.状态机模块[R].北京:北京航空航天大学出版社,2006.
[3] Kang Wei,Xu Xinguo,Li Lin,et al.Building safety mechanism in industrial control system based on essential safety[C].(ICPCA/SWS) The 8th International Conference on Pervasive Computing and Application(ICPCA) and the 5rd International Symposium of Web Society(SWS),2013:3-4.
[4] 龚建华.产生式规则专家系统[J].电脑编程技巧与维护,2007(6).
[5] 郭翠英.格式化输出XML文档的通用解决方案[J].山西青年管理干部学院学报,2011,24(4).