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