報警狀態機分析及框架設計

一模型建立

1概念說明

2模型建立

運動控制最常見的及最簡單的狀態機應當就是報警狀態機了。報警狀態機模型如下:

?

 

圖表 1報警狀態機狀態轉換圖

上圖是系統報警狀態的簡化模型,共分爲兩個狀態:

N 在該狀態下,系統處於正常狀態,沒有報警

W: 系統處於報警狀態

輸入符號,共有兩個:

true: 報警觸發信號,表示系統當中有故障

false: 該信號來時,表示系統正常,沒有報警,可以運行

狀態轉換表格如下:
?







圖表 2報警狀態機轉換表格

動作觸發表格如下:





 


?




圖表 3報警狀態機動作觸發表格

二模型分析

1報警特點分析

運動控制設備當中,報警類型可能有幾種,或者幾十種,甚至上百種,可能來自上位也可能源自下位,對於報警的處理,其大部分處理方式是相同的,既一旦有報警,則設備停止,並告知用戶。一般還需要對該過程建立日誌。所有的過程對於程序實現來說都並不困難,很容易實現,似乎建立模型有些多此一舉。實際不是的,原因如下:

1)報警是分類型的

按照嚴重程度分:有警示性報警,這類報警不影響用戶操作和設備運行,但是可能預示着會發生某一類故障或起到提示性作用;有故障型報警,這類報警常常會引發設備停止。

按照報警源分:有數據報警或者軟件引發的報警;有外圍設備的報警。

2)報警的處理方式不同即其有目的針對性

系統內的報警,處理方式並不相同。有的僅僅告知報警,之後不做任何處理,如一些畫面報警。有些不可以執行設備的某些功能,但其它功能可以執行,比如手動操作。但有的要求將設備進入鎖死狀態,除非報警解除,任何操作都不被允許,比如急停報警。有些報警只在終端顯示,在終端做記錄。有些報警需要上報服務器,服務器通過報警可以判斷設備的狀態,使服務器能對設備做出一些合理的響應及處理。

2主要目的

採用狀態機模型對報警過程進行分析,主要是希望能把這個過程抽象出來。針對其每一個部分,進行抽象的封裝,從而可以達到即使系統是不同的,但是也可以採用同一個報警程序框架,進而減少代碼重複開發工作量。

三框架設計

從上文當中的幾個圖可以看出,設計這種需求的框架,分兩塊即可以,一塊是報警模塊管理器,另外一塊就是報警模塊。其中模型模塊包含信號發生器和動作觸發器兩種行爲。

1報警模塊管理器的主要作用

管理各個報警模塊及管理一些輔助模塊,如日誌系統

2報警模塊

主要包括:

1) 報警信息

2) 信號發生器

掃描輸入信號,或根據各種條件在邏輯處理或綜合計算以後產生輸入信號

3) 動作觸發器

動作觸發器對應的既是圖標3所對應的表格,執行相應的報警觸發動作。

發佈了48 篇原創文章 · 獲贊 22 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章