文獻標識碼: 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).