來源:汽車維修 作者:佚名 2020-11-19 10:02:52
(一)組態(tài)開發(fā)第一階段
組態(tài)方式的開發(fā)經(jīng)歷了2個階段,第一階段是以模塊為獨立開發(fā)單元的階段,每個模塊的開發(fā)過程是獨立的,模塊間的開發(fā)工作互不干擾,每個模塊的開發(fā)工作包含以下內(nèi)容:
1.配置基本通訊參數(shù),包括配置
ECU的通訊ID,通訊協(xié)議,通訊引腳,通訊速率,長短幀等。
2.配置指令及返回參數(shù)的解析方式,逐條建立指令,并對控制器的回復(fù)數(shù)據(jù)按模塊規(guī)范要求進行解析。
3.配置顯示方式,配置需要加載的指令以及顯示的參數(shù)列表,參數(shù)的顯示名稱,顯示方式,顯示順序,顯示單位等。
4.酉己置DTC指令,配置DTC數(shù)據(jù)庫,配置DTC code及解析方式,配置FTB及解析方式,配置DTC status及解析方式。
5.配置流程框圖,對復(fù)雜的流程的實現(xiàn)過程配置不同的控件及跳轉(zhuǎn),并在不同的控件中加載不同的指令實現(xiàn)條件檢查,條件跳轉(zhuǎn)及判斷。
這種組態(tài)開發(fā)方式的好處是,每個模塊是獨立開發(fā)和測試的,模塊間開發(fā)和測試互不影響。缺點是有一些模塊間可以復(fù)用的功能無法實現(xiàn)復(fù)用,造成了部分工作的重復(fù)勞動,從而降低了工作效率。
(二)組態(tài)開發(fā)第二階段
為了克服以上缺點,可在現(xiàn)有的組態(tài)開發(fā)方式上進行以下幾方面的改進:
LDTC數(shù)據(jù)庫的改進
傳統(tǒng)的售后診斷開發(fā)平臺對故障碼的相關(guān)功能都是和模塊綁定的,每個模塊都對應(yīng)一個DTC解析表,一個FTB解析表,一個故障碼狀態(tài)解析表,開發(fā)人員需要把這3個表的數(shù)據(jù)逐個配置到診斷數(shù)據(jù)庫中。對于數(shù)據(jù)量比較大的模塊,比如ECM,其故障碼大概在500~800個。傳統(tǒng)的配置方式不僅占用開發(fā)人員的開發(fā)時間,還增大了每個模塊的診斷數(shù)據(jù)文件,相應(yīng)地增加了診斷數(shù)據(jù)庫網(wǎng)絡(luò)更新所需要的時間。
分析診斷協(xié)議即可發(fā)現(xiàn),故障碼解析,F(xiàn)TB解析,故障碼狀態(tài)解析只和診斷協(xié)議有關(guān),和模塊無關(guān)。相同的診斷協(xié)議有相同的故障碼狀態(tài)的解析數(shù)據(jù)庫,相同的FTB的解析數(shù)據(jù)庫,相同的故障碼解析數(shù)據(jù)庫。只要由系統(tǒng)管理人員統(tǒng)一維護對應(yīng)協(xié)議的DTC相關(guān)數(shù)據(jù)庫,模塊開發(fā)人員根據(jù)模塊所使用的診斷協(xié)議調(diào)用相應(yīng)的數(shù)據(jù)庫,就可以實現(xiàn)對該協(xié)議的模塊DTC相關(guān)功能的支持。對于模塊中可能涉及的、數(shù)量較少的特殊故障碼的解析,只需專門維護一個小的表格(一般不超過10個)通過對故障碼數(shù)據(jù)庫的解析進行覆蓋就可以實現(xiàn)。避免了每個模塊都要單獨建立一個故障碼數(shù)據(jù)庫的問題,允許少量因各種原因?qū)е碌牟环蠀f(xié)議的DTC的設(shè)置,既提高了工作效率,又降低了因手動逐個配置而造成的錯誤。
2.對動態(tài)打包PID功能的支持
為了提高讀取模塊實時參數(shù)值的速度,很多協(xié)議都支持動態(tài)PID打包功能。打包功能就是可以通過一條指令得到模塊多個參數(shù)的實時值。傳統(tǒng)的診斷平臺是根據(jù)模塊的診斷協(xié)議手動對PID進行打包的,如圖2和圖3所示。
手動打包是對動態(tài)PID的指令在開發(fā)時進行預(yù)定義的,首先用打包指令打包動態(tài)PID,然后再用指令請求動態(tài)PID的值,并對控制器返回的值進行解析。由于模塊的實時請求數(shù)據(jù)量大,并且每一屏實時顯示數(shù)據(jù)都要重新定義,所以在開發(fā)時需要預(yù)定義很多打包指令和解析方式。這種方式復(fù)用性特別差,復(fù)用時如果增加或者刪除某個參數(shù),就需要對整個打包的動態(tài)PID指令進行拆分調(diào)整。在拆分調(diào)整過程中,每個參數(shù)的位置都要有變化,要重新定義解析方式,這部分的工作需要占據(jù)很大一部分的開發(fā)時間。
仔細分析診斷協(xié)議,發(fā)現(xiàn)動態(tài)PID打包的規(guī)則也是和協(xié)議相關(guān)的。在開發(fā)診斷開發(fā)平臺軟件時,把和協(xié)議相關(guān)的打包規(guī)則,比如支持哪些動態(tài)PID,每個打包指令可以支持多少個字節(jié)的返回值等設(shè)置到平臺中。診斷軟件開發(fā)人員在實際開發(fā)過程中,只需要定義本模塊是否支持動態(tài)PID打包,需要打包哪幾個動態(tài)PID等等即可。在請求參數(shù)值時,后臺會根據(jù)規(guī)則動態(tài)隨機打包參數(shù),并發(fā)送對應(yīng)的動態(tài)PID指令,無需預(yù)定義,同時也避免了請求參數(shù)變化時開發(fā)的工作量,減少了大量的開發(fā)時間。
上一頁 [1] [2] [3] 下一頁
關(guān)鍵詞: