Debounce算法
故障診斷步驟是先進行故障檢測,即根據(jù)前提條件和判斷條件實時監(jiān)控,判斷是否有潛在的故障。通常采用4個狀態(tài)(PREPASSED、PASSED、PREFAILED、FAILED)來表示判斷的結(jié)果,對于有些故障,不需要經(jīng)Debounce算法確認故障,這時判斷的結(jié)果只有PASSED和FAILED,直接得到確認的故障;而對于有些故障,可能只是某些信號波動引起,不是故障,姑且稱為潛在的故障,這時引入PREFAILED和PREPASSED來表示,需要采用Debounce算法才能進一步確認是否為故障。當前常用Debounce算法有基于計數(shù)器的Debounce算法和基于時間的Debounce算法兩種。
基于計數(shù)器的Debounce算法
該算法使用一個Debounce計數(shù)器(計數(shù)范圍取決于具體的定義)用來記錄判斷的結(jié)果,當根據(jù)前提條件和判斷條件得到一次PREFAILED狀態(tài),那么計數(shù)器(Fault Detection Counter)會增加一個步長,以此不斷累加,當累計計數(shù)達到設(shè)定的Failed限值時,故障狀態(tài)就變成Failed,即潛在故障被確認,如下圖t1時刻。有些故障被確認后,是有可能被恢復的,也就是說只要根據(jù)前提條件和判斷條件得到一次PREPASSED狀態(tài),那么計數(shù)器(Fault
Detection Counter)會減小一個步長,以此不斷減小,當達到設(shè)定的Passed限值時,故障狀態(tài)就變成Passed,即故障已消除,如下圖t2時刻。
對于上圖中的兩個值Jump down value,和Jump up value),此處需要再解釋一下,所謂Jump down value是指故障被確認處于Failed狀態(tài),如果下一次根據(jù)檢測的前提條件和判斷條件得到PREPASSED狀態(tài),這時計數(shù)器的數(shù)值不會從設(shè)定的FAILED限值開始減小一個步長,而是跳到Jump down value開始減小一個步長。同理去理解Jump up value,這兩個值均由用戶自定義。
基于時間的Debounce算法
該算法使用一個Debounce計時器(范圍同樣為-128到127)用來記錄判斷的結(jié)果,當根據(jù)前提條件和判斷條件得到一次PREFAILED狀態(tài),那么計時器(Fault
Detection Counter)開始計時,累計一段時間t_failed,仍然沒有出現(xiàn)PREPASSED或PASSED狀態(tài),那么故障狀態(tài)就變成Failed,如下圖t1時刻;在tfailed內(nèi),如果出現(xiàn)FAILED狀態(tài),那么故障狀態(tài)就直接變成Failed,即故障被確認,如下圖t4時刻。當故障被確認了,接著當根據(jù)前提條件和判斷條件得到一次PREPASSED狀態(tài),那么計數(shù)器歸零,開始重新計時,同理一直PREPASSED狀態(tài),累計一段時間t_passed后,表示故障已消除。如下圖t2時刻。當故障被確認了,接著當根據(jù)前提條件和判斷條件得到一次PASSED狀態(tài),那么計數(shù)器不需要累計時間,直接表明故障已消除,如下圖t3時刻。
-
汽車電子
+關(guān)注
關(guān)注
3027文章
7972瀏覽量
167157 -
算法
+關(guān)注
關(guān)注
23文章
4615瀏覽量
92991 -
ecu
+關(guān)注
關(guān)注
14文章
888瀏覽量
54539 -
汽車
+關(guān)注
關(guān)注
13文章
3531瀏覽量
37374
發(fā)布評論請先 登錄
相關(guān)推薦
評論