文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2015.07.031
中文引用格式: 李林峰,房志奇,康衛(wèi),等. 工業(yè)控制防危系統(tǒng)專家規(guī)則的管理[J].電子技術(shù)應(yīng)用,2015,41(7):111-113,117.
英文引用格式: Li Linfeng,F(xiàn)ang 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 引言
通常,工業(yè)控制系統(tǒng)從正常狀態(tài)演變?yōu)槲kU(xiǎn)狀態(tài)甚至是事故狀態(tài),或從危險(xiǎn)狀態(tài)恢復(fù)到正常狀態(tài),需要經(jīng)過多個(gè)階段。
使用有限狀態(tài)機(jī)來引導(dǎo)工控系統(tǒng)在遇到非正常狀態(tài)(事故狀態(tài)除外)時(shí),經(jīng)過一系列的合法轉(zhuǎn)移動(dòng)作將系統(tǒng)恢復(fù)到正常狀態(tài)[1]。使用當(dāng)前狀態(tài)、轉(zhuǎn)移動(dòng)作、下一狀態(tài)3個(gè)要素來描述工控防危系統(tǒng)。為直觀地顯示有限狀態(tài)機(jī),引入流程圖描述工控防危系統(tǒng)的狀態(tài)機(jī)[2],如圖1所示[3]。
1 相關(guān)知識(shí)介紹
1.1 專家系統(tǒng)
專家系統(tǒng)的核心由知識(shí)庫(kù)和推理機(jī)構(gòu)成。知識(shí)庫(kù)由專家規(guī)則和事實(shí)庫(kù)組成[4],如圖2所示。專家規(guī)則由變量描述表和規(guī)則表共同形成,變量描述表中變量的實(shí)際取值構(gòu)成了事實(shí)庫(kù)。事實(shí)庫(kù)是一個(gè)動(dòng)態(tài)庫(kù),當(dāng)專家規(guī)則編輯完成后,會(huì)形成規(guī)則庫(kù),事實(shí)庫(kù)會(huì)實(shí)時(shí)、動(dòng)態(tài)地與規(guī)則庫(kù)進(jìn)行匹配,從而實(shí)現(xiàn)其防危功能。本文將重點(diǎn)敘述知識(shí)庫(kù)中變量描述表和規(guī)則表的管理。
1.2 XML簡(jiǎn)介
專家規(guī)則庫(kù)在磁盤中的存儲(chǔ)方式為XML文本文檔。XML即可擴(kuò)展標(biāo)記語(yǔ)言,它提供了一種統(tǒng)一的方法來表示、交換和傳遞獨(dú)立于應(yīng)用程序的數(shù)據(jù),并直觀、自然地展示了數(shù)據(jù)和對(duì)象之間的嵌套關(guān)系。
XML文本文檔的保存及讀取數(shù)據(jù)通過DOM(Document Object Model)編程接口實(shí)現(xiàn)[5]。
2 專家規(guī)則庫(kù)管理模塊設(shè)計(jì)
對(duì)專家規(guī)則的管理基于變量描述表和規(guī)則表實(shí)現(xiàn),其管理工具分為對(duì)象編輯和規(guī)則編輯兩大模塊。
2.1 對(duì)象編輯模塊
工業(yè)現(xiàn)場(chǎng)的對(duì)象可分為6類:輸入開關(guān)量、輸入模擬量、邏輯開關(guān)量、邏輯模擬量、輸出開關(guān)量、輸出模擬量。
(1)輸入量與邏輯量。輸入量的值可以直接通過測(cè)量獲得,邏輯量的值不能直接進(jìn)行測(cè)量,但可以通過輸入量間接獲得。編輯邏輯量時(shí)須指明它和輸入量之間的邏輯關(guān)系。
(2)開關(guān)量與模擬量。開關(guān)量的狀態(tài)有開啟和關(guān)閉兩種。模擬量的狀態(tài)離散化為以下7種:低危險(xiǎn)、低臨界、低警告、正常、高警告、高臨界、高危險(xiǎn)。編輯模擬量時(shí)須指定每種狀態(tài)的上下限。
(3)輸出開關(guān)量和輸出模擬量指執(zhí)行的動(dòng)作。輸出開關(guān)量有開啟和關(guān)閉兩種動(dòng)作。輸出模擬量對(duì)應(yīng)一個(gè)具體數(shù)值,若該值為正,表示該動(dòng)作將對(duì)象值調(diào)高,若該值為負(fù),表示該動(dòng)作將對(duì)象值調(diào)低。
對(duì)象編輯模塊是根據(jù)上述6種對(duì)象的定義設(shè)計(jì)的。對(duì)象的編輯將為專家規(guī)則的編輯提供必要的元素。
2.2 規(guī)則編輯模塊
根據(jù)圖1所示的有限狀態(tài)機(jī)示意圖,可將專家規(guī)則分為一般規(guī)則和轉(zhuǎn)移規(guī)則兩類。有限狀態(tài)機(jī)中圓圈所代表的每一個(gè)狀態(tài),其形成需要一定的前提條件,即:由這些前提條件產(chǎn)生了該狀態(tài),這一過程形成的規(guī)則為一般規(guī)則。有限狀態(tài)機(jī)中的當(dāng)前狀態(tài)、轉(zhuǎn)移動(dòng)作、下一狀態(tài)這三個(gè)元素構(gòu)成的規(guī)則為轉(zhuǎn)移規(guī)則。
一般規(guī)則的編輯分為條件表達(dá)式的編輯和結(jié)論的編輯。條件表達(dá)式由各條件因子、關(guān)系操作符、括號(hào)組合形成。條件因子可由兩種方式獲?。簩?duì)象編輯模塊提供的對(duì)象與其狀態(tài)的組合;某條已經(jīng)存在的規(guī)則結(jié)論。關(guān)系操作符包括與(&&)和或(||)。結(jié)論部分為單一的結(jié)論因子,如果專家規(guī)則包含一個(gè)以上的結(jié)論因子,則把這樣的規(guī)則拆成多個(gè)單結(jié)論因子的規(guī)則。采用產(chǎn)生式規(guī)則的形式來描述一般規(guī)則[4]。產(chǎn)生式規(guī)則的表示方式為:A(條件表達(dá)式)→B(規(guī)則結(jié)論),用conditionn表示條件因子,conclusion表示規(guī)則結(jié)論。以下為一條產(chǎn)生式規(guī)則的示例:
condition1&&(condition2||condition3)
&&condition4→conclusion
轉(zhuǎn)移規(guī)則的編輯分為對(duì)現(xiàn)態(tài)、轉(zhuǎn)移動(dòng)作和次態(tài)的編輯。其中現(xiàn)態(tài)和次態(tài)從已存在的一般規(guī)則的規(guī)則結(jié)論中選取。在編輯轉(zhuǎn)移動(dòng)作之前,需要指定其現(xiàn)態(tài)的合法動(dòng)作,這些合法動(dòng)作來自對(duì)象編輯模塊中的輸出開關(guān)量或輸出模擬量,如果是輸出模擬量還需指明其合法區(qū)間。合法動(dòng)作與動(dòng)作狀態(tài)的組合構(gòu)成了轉(zhuǎn)移動(dòng)作。輸出開關(guān)量的動(dòng)作狀態(tài)為開啟或關(guān)閉;輸出模擬量的動(dòng)作狀態(tài)應(yīng)該落在該動(dòng)作的合法區(qū)間內(nèi)。
以上是規(guī)則編輯模塊的基本功能。
3 專家規(guī)則處理
專家規(guī)則庫(kù)是一個(gè)整體,專家規(guī)則之間存在著緊密的關(guān)系,一條專家規(guī)則有可能和規(guī)則庫(kù)中的其他規(guī)則產(chǎn)生從屬、沖突、等價(jià)、無(wú)效等問題。
從屬是指兩條規(guī)則的結(jié)論部分一致,而條件部分存在包含關(guān)系。沖突是指兩條規(guī)則的條件部分一致,結(jié)論部分的對(duì)象相同,但對(duì)象的狀態(tài)不同。針對(duì)專家規(guī)則中可能出現(xiàn)的從屬和沖突等問題,根據(jù)問題出現(xiàn)的原因,可以比較容易地識(shí)別,本文不再敘述處理這些問題的方法。
本文將介紹專家規(guī)則等價(jià)和無(wú)效問題的處理方法。等價(jià)是指兩條規(guī)則的條件表達(dá)式部分和結(jié)論部分均一致;無(wú)效是指規(guī)則的條件表達(dá)式部分化簡(jiǎn)之后為0或1。因此對(duì)專家規(guī)則條件表達(dá)式部分的化簡(jiǎn)與優(yōu)化成為解決問題的關(guān)鍵。本文提出采用基于“最小項(xiàng)表達(dá)式”和“卡諾圖化簡(jiǎn)算法”對(duì)專家規(guī)則的條件表達(dá)式部分進(jìn)行統(tǒng)一優(yōu)化。
最小項(xiàng)的概念是:n個(gè)變量的最小項(xiàng)是n個(gè)因子的乘積,每個(gè)因子是某個(gè)變量的原變量或反變量,每個(gè)變量都必須在最小項(xiàng)中出現(xiàn)一次且僅出現(xiàn)一次??梢园衙恳粭l規(guī)則的條件表達(dá)式部分看成一個(gè)邏輯函數(shù),每個(gè)邏輯函數(shù)都可以化簡(jiǎn)成若干個(gè)最小項(xiàng)的“和”(即專家規(guī)則中的或(||)),這樣的形式稱之為最小項(xiàng)表達(dá)式。
卡諾圖化簡(jiǎn)算法的步驟如下:
(1)根據(jù)專家規(guī)則條件表達(dá)式,做出相應(yīng)的卡諾圖。
(2)計(jì)算表達(dá)式在每種因子組合下的值,就像填真值表那樣將結(jié)果填入卡諾圖中,值為1的填入1,值為0的不填,每個(gè)“1”方格即為表達(dá)式的一個(gè)最小項(xiàng)。
(3)對(duì)卡諾圖中的1方格圈卡諾圈,圈出所有的質(zhì)蘊(yùn)涵項(xiàng)。
(4)從質(zhì)蘊(yùn)涵項(xiàng)中找出其中的必要質(zhì)蘊(yùn)涵項(xiàng)。
(5)如果必要質(zhì)蘊(yùn)涵項(xiàng)沒有包含卡諾圖中所有的1方格,則必要質(zhì)蘊(yùn)涵項(xiàng)與剩余的質(zhì)蘊(yùn)涵項(xiàng)一同組成了該表達(dá)式的質(zhì)蘊(yùn)涵項(xiàng)集,即最簡(jiǎn)的每個(gè)與項(xiàng)。把這些與項(xiàng)按照一定的順序用或(||)連接起來便形成了化簡(jiǎn)優(yōu)化后的表達(dá)式。
專家規(guī)則經(jīng)過上述算法優(yōu)化之后,每條規(guī)則都會(huì)轉(zhuǎn)化為唯一的形式。將化簡(jiǎn)優(yōu)化后的專家規(guī)則存入規(guī)則庫(kù)中。如果出現(xiàn)等價(jià)規(guī)則,只有一條最終被存入規(guī)則庫(kù)中。
上述算法的第二步完成后,會(huì)得到卡諾圖中所有小方格的值,對(duì)于n變量卡諾圖,如果值為1的小方格個(gè)數(shù)為n,則化簡(jiǎn)結(jié)果為1。這樣的專家規(guī)則,其條件表達(dá)式結(jié)果恒為1,為無(wú)效規(guī)則,至此算法將不再繼續(xù)執(zhí)行,該規(guī)則不會(huì)存入規(guī)則庫(kù)中。同理,如果所有小方格的值均為0,這樣的規(guī)則也被視為無(wú)效規(guī)則。
用小寫字母表示開關(guān)量對(duì)象,大寫字母表示模擬量對(duì)象。
例1:向規(guī)則庫(kù)中存入以下兩條規(guī)則:
(A高臨界&&a關(guān)閉)||(a開啟&&b開啟&&A高臨界)||(a開啟&&b關(guān)閉&&A高臨界)→結(jié)論1
(a開啟&&A高臨界)||(a關(guān)閉&&b開啟&&A高臨界)||(a關(guān)閉&&b關(guān)閉&&A高臨界)→結(jié)論1
兩條規(guī)則經(jīng)優(yōu)化之后都化簡(jiǎn)為規(guī)則:
A高臨界→結(jié)論1
因此兩條規(guī)則構(gòu)成了等價(jià)關(guān)系,故只能存入其中一條。
例2:向規(guī)則庫(kù)中存入以下規(guī)則:
c關(guān)閉||(a關(guān)閉&&c開啟)||(a開啟&&b開啟&&c開啟)||(a開啟&&b關(guān)閉&&c開啟)→結(jié)論2
經(jīng)化簡(jiǎn)優(yōu)化后,其條件表達(dá)式部分為1。因此該規(guī)則為無(wú)效規(guī)則,不會(huì)存入專家規(guī)則庫(kù)中。
4 專家規(guī)則實(shí)例
本文以石灰窯煅燒系統(tǒng)為例,介紹防危專家規(guī)則庫(kù)的形成過程。
在石灰窯的煅燒過程中,煅燒區(qū)的位置對(duì)石灰石的燃燒效率、煤的燃料利用率以及煅燒過程的安全性至關(guān)重要。本文選擇了可能會(huì)影響到煅燒區(qū)位置的因素來形成專家規(guī)則庫(kù)中的對(duì)象描述表。編輯后的變量描述表如表1所示。
有了變量描述表提供的對(duì)象及其狀態(tài),根據(jù)石灰窯的煅燒特性以及專家規(guī)則庫(kù)規(guī)則編輯模塊的功能,向規(guī)則庫(kù)中逐條輸入規(guī)則。專家規(guī)則經(jīng)處理后,最終形成的系統(tǒng)規(guī)則列表如表2所示。
由上述規(guī)則列表,結(jié)合系統(tǒng)的轉(zhuǎn)移規(guī)則,形成了如圖3所示的狀態(tài)轉(zhuǎn)換圖。
5 結(jié)論
本文提出了一套可用于工業(yè)控制防危系統(tǒng)的專家規(guī)則體系,并著重介紹了專家規(guī)則的相關(guān)管理技術(shù)。
由石灰窯煅燒系統(tǒng)防危規(guī)則實(shí)例可以看出:基于專家系統(tǒng)和產(chǎn)生式規(guī)則來形成專家規(guī)則庫(kù),其過程條理清晰,便于企業(yè)根據(jù)工業(yè)現(xiàn)場(chǎng)實(shí)際情況制定各自的防危規(guī)則;基于卡諾圖化簡(jiǎn)算法對(duì)專家規(guī)則進(jìn)行優(yōu)化,專家規(guī)則可以快速、準(zhǔn)確地以統(tǒng)一的形式存入專家規(guī)則庫(kù)中,對(duì)于存在等價(jià)、無(wú)效等關(guān)系的專家規(guī)則,也可以做出準(zhǔn)確判斷;采用XML文本形式存取專家規(guī)則快速、有效、準(zhǔn)確。
參考文獻(xiàn)
[1] 徐新國(guó),朱廷劭,康衛(wèi),等.基于數(shù)據(jù)挖掘的工業(yè)控制系統(tǒng)防危機(jī)制研究[J].電子技術(shù)應(yīng)用,2012(5).
[2] 黃燕平.狀態(tài)機(jī)模塊[R].北京:北京航空航天大學(xué)出版社,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] 龔建華.產(chǎn)生式規(guī)則專家系統(tǒng)[J].電腦編程技巧與維護(hù),2007(6).
[5] 郭翠英.格式化輸出XML文檔的通用解決方案[J].山西青年管理干部學(xué)院學(xué)報(bào),2011,24(4).