汽車診斷軟體自動生成的方法
2023-11-01 02:32:37 2
專利名稱:汽車診斷軟體自動生成的方法
技術領域:
本發明涉及汽車診斷技術領域,更具體地說,涉及一種汽車診斷軟體自動生成的方法。
背景技術:
目前,現有的汽車診斷軟體開發流程為,編程人員根據車輛診斷通信協議和診斷規範,即描述EOJ (Electronic Control Unit)電子控制單元診斷服務的相關信息,包括診斷的請求報文格式及內容,汽車響應報文的格式及含義,編寫汽車診斷軟體完成診斷報文的發送與汽車響應報文的接收處理,最終把ECU響應報文的解析結果顯示出來。現有技術中存在的最大的問題是,編程人員需要閱讀大量的診斷規範文件,這些診斷規範文件沒有固定的格式,編程人員閱讀起來也需要比較長的時間,這樣就造成診斷軟體開發過程中始終離不開編程人員的參與,人力資源浪費非常大。針對不同的車型系統診斷功能開發重複性工作多,工作量大,如診斷規範發生變化,則軟體更新複雜度高,如編程人員對診斷規範理解有所不同,則開發出來的診斷軟體也不同,也可能存在理解錯誤。
發明內容
有鑑於此,本發明提供一種汽車診斷軟體自動生成的方法,能夠自動生成汽車診斷軟體,且能夠大大降低汽車診斷軟體的開發和維護時間。為解決上述技術問題,本發明採用的技術方案為:一種汽車診斷軟體自動生成的方法,包括:建立具有標準的文件格式定義的包含汽車診斷使用的通信協議和診斷服務信息的ODX文件;參照標準的文件格式定義提取所述ODX文件中的診斷服務信息;根據所述診斷服務信息獲取該診斷服務信息需要發送的請求報文,所述請求報文即診斷服務請求;根據所述ODX文件中的通信協議發送所述請求報文;接收響應所述請求報文的響應報文;解析所述響應報文的內容。優選地,所述參照標準的文件格式定義提取所述文件組的診斷服務信息後還包括:通過界面庫判斷提取到的所述診斷服務信息的數量和類型;根據所述診斷服務信息的數量和類型顯示所述診斷服務信息。優選地,所述解析所述響應報文的內容後還包括:顯示解析所述響應報文的內容的結果。優選地,所述參照標準的文件格式定義提取所述ODX文件中的診斷服務信息具體為:
通過ODX文件解析模塊對所述通信協議和診斷服務信息進行解析;通過所述ODX文件解析模塊參照標準的文件格式定義對解析後的診斷服務信息進行提取。優選地,所述根據所述診斷服務信息獲取該診斷服務信息需要發送的請求報文具體為:通過界面庫調用ODX文件解析模塊從所述ODX文件中獲取與所述診斷服務信息相對應的請求報文。優選地,所述根據所述ODX文件中的通信協議發送所述請求報文具體為:界面庫根據所述ODX文件中的通信協議調用診斷協議棧;通過調用的所述診斷協議棧發送所述請求報文。優選地,所述接收響應所述請求報文的響應報文具體為:診斷協議棧接收電子控制單元響應請求報文後的響應報文。優選地,所述解析所述響應報文的內容具體為:通過ODX文件解析模塊解析所述響應報文的內容。優選地,所述根據所述診斷服務信息的數量和類型顯示所述診斷服務信息具體為:所述界面庫根據所述診斷服務信息的數量和類型選擇第一控制項和顯示項;根據所述第一控制項和顯示項生成診斷程序界面;將所述診斷服務信息顯示在所述診斷程序界面上。優選地,所述顯示解析所述響應報文的內容的結果具體為:界面庫根據解析所述響應報文的內容的結果生成第二控制項;根據所述第二控制項生成解析界面;將所述響應報文的內容的結果顯示在所述解析界面上。從上述的技術方案可以看出,本發明公開的一種汽車診斷軟體自動生成的方法,通過建立具有標準的文件格式定義的包含汽車診斷使用的通信協議和診斷服務信息的ODX文件,參照標準的文件格式定義提取ODX文件中的診斷服務信息,根據診斷服務信息獲取該診斷服務信息需要發送的請求報文,根據ODX文件中的通信協議發送請求報文,接收響應請求報文的響應報文,最後解析響應報文的內容。由於所有的診斷服務信息都以ODX文件形式編寫,因此省去了傳統的由編程人員閱讀診斷規範的過程,從而大大降低了汽車診斷軟體的開發和維護時間。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明實施例公開的一種汽車診斷軟體自動生成的方法的流程圖;圖2為本發明另一實施例公開的一種汽車診斷軟體自動生成的方法的流程圖;圖3為本發明公開的一種汽車診斷軟體自動生成的系統結構示意圖4為本發明公開的界面庫的第一顯示界面;圖5為本發明公開的界面庫的第二顯示界面;圖6為本發明公開的界面庫的第三顯示界面。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明的一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。本發明實施例公開了一種汽車診斷軟體自動生成的方法,能夠自動生成汽車診斷軟體,且能夠大大降低汽車診斷軟體的開發和維護時間。如圖1所示,一種汽車診斷軟體自動生成的方法,包括:S101、建立具有標準的文件格式定義的包含汽車診斷使用的通信協議和診斷服務信息的ODX文件;S102、參照標準的文件格式定義提取所述ODX文件中的診斷服務信息;其中,診斷服務信息包括服務名稱、請求報文及參數定義、響應報文及參數定義
坐寸οS103、根據所述診斷服務信息獲取該診斷服務信息需要發送的請求報文,所述請求報文即診斷服務請求;S104、根據所述ODX文件中的通信協議發送所述請求報文;S105、接收響應所述請求報文的響應報文;S106、解析所述響應報文的內容。在上述方法中,首先建立具有標準的文件格式定義的包含汽車診斷使用的通信協議和診斷服務信息的ODX文件,然後參照標準的文件格式定義提取ODX文件中的診斷服務信息,根據診斷服務信息獲取該診斷服務信息需要發送的請求報文,然後根據ODX文件中的通信協議發送請求報文,並接受響應請求報文的響應報文,最後解析響應報文中的內容。在上述方法中,由於所有的診斷服務信息都以ODX文件形式編寫,因此省去了傳統的由編程人員閱讀診斷規範的過程,從而大大降低了汽車診斷軟體的開發和維護時間。本發明的另一實施例還公開了一種汽車診斷軟體自動生成的方法,具體的如圖2所示,包括:S201、建立具有標準的文件格式定義的包含汽車診斷使用的通信協議和診斷服務信息的ODX文件;S202、參照標準的文件格式定義提取所述ODX文件中的診斷服務信息;具體的,通過ODX文件解析模塊對通信協議和診斷服務信息進行解析;通過ODX文件解析模塊參照標準的文件格式定義對解析後的診斷服務信息進行提取。S203、判斷提取到的所述診斷服務信息的數量和類型;其中,數量是指診斷服務的數量,類型是指診斷報文中相關參數的類型。具體的,通過界面庫判斷提取到的診斷服務信息的數量和類型。
S204、根據所述診斷服務信息的數量和類型顯示所述診斷服務信息;具體的,界面庫根據診斷服務信息的數量和類型選擇第一控制項和顯示項;根據第一控制項和顯示項生成診斷程序界面;其中,第一控制項和顯示項為應用程式界面元素,用於生成診斷程序界面。將診斷服務信息顯示在診斷程序界面上。S205、根據所述診斷服務信息獲取該診斷服務信息需要發送的請求報文;具體的,通過界面庫調用ODX文件解析模塊從所述ODX文件中獲取與所述診斷服務信息相對應的請求報文,其中請求報文即診斷服務請求。S206、根據所述ODX文件中的通信協議發送所述請求報文;具體的,界面庫根據ODX文件中的通信協議調用診斷協議棧;通過調用的診斷協議棧發送所述請求報文。S207、接收響應所述請求報文的響應報文;具體的,診斷協議棧接收ECU響應請求報文後的響應報文。S208、解析所述響應報文的內容;具體的,通過ODX文件解析模塊解析所述響應報文的內容。S209、顯示解析所述響應報文的內容的結果。具體的,界面庫根據解析響應報文的內容的結果生成第二控制項;根據第二控制項生成解析界面;將響應報文的內容的結果顯示在解析界面上。具體的,結合圖3汽車診斷軟體自動生成的系統結構示意圖,對本發明的工作過程做詳細的描述。在上述實施例中,第一步,首先建立具有標準的文件格式定義的包含汽車診斷使用的通信協議和診斷服務信息的ODX文件,然後通過ODX文件解析模塊參照標準的文件格式定義IS022901,對通信協議和診斷服務信息進行解析,並參照標準的文件格式定義IS022901對解析後的診斷服務信息進行提取,這樣保證了所有的診斷服務信息都以ODX文件形式編寫,因此省去了傳統的由編程人員閱讀診斷規範的過程,從而大大降低了汽車診斷軟體的開發和維護時間。第二步,通過界面庫判斷提取到的診斷服務信息的數量和類型,並根據診斷服務信息的數量和類型選擇類似列表的第一控制項和顯示項,通過選擇的第一控制項和顯示項生成診斷程序界面,然後將診斷服務信息顯示在診斷程序界面上。其中,界面庫主要實現為根據ODX文件中描述的診斷服務信息的數量生成類似列表的控制項,並將診斷服務信息的名稱顯示在列表中。根據不同的ODX文件,由於其中診斷服務信息的數量不同,因此對應生成的診斷程序界面也有所不同。例如:如ODX文件中支持讀取故障信息、讀取DID信息、輸入輸出控制和讀取凍結數據,則界面庫會自動生成如圖4所示的界面。如ODX文件中只支持讀取故障信息、讀取DID信息和讀取凍結數據,則界面庫會自動生成如圖5所示的界面。第三步,當用戶觸發診斷界面上顯示的診斷服務信息後,如:讀取故障信息,界面庫會再次調用ODX文件解析模塊從ODX文件中獲取與診斷服務信息相對應的請求報文,對應不同的診斷服務,ODX均有對應該服務的請求報文描述信息,ODX解析模塊完成該請求報文的獲取工作。
第四步,當ODX文件解析模塊獲取到請求報文後,界面庫根據ODX文件中的通信協議調用診斷協議棧,其中,診斷協議棧為對應不同的診斷通信協議的數據通信接口,實現診斷報文的收發工作,ODX文件中描述了汽車診斷對應的通信協議,不同的通信協議使用不同的協議棧來實現診斷報文的收發,如J1939協議棧和IS015765協議棧。通過調用的診斷協議棧發送請求報文,診斷協議棧發送完請求報文後會接收來自ECU的響應請求報文的響應報文。第五步,當診斷協議棧接收到ECU的響應報文後,界面庫調用ODX文件解析模塊對響應報文的內容進行解析,隨後界面庫根據解析的響應報文的內容生產用於生成解析界面的第二控制項,然後將響應報文的內容顯示在解析界面上。例如:讀取當前故障信息報文解析完成後,在解析界面庫上的顯示如圖6所示,會顯示系統電壓過高和系統電壓過低。本說明書中各個實施例採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或範圍的情況下,在其它實施例中實現。因此,本發明將不會被限制於本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的範圍。
權利要求
1.一種汽車診斷軟體自動生成的方法,其特徵在於,包括: 建立具有標準的文件格式定義的包含汽車診斷使用的通信協議和診斷服務信息的ODX文件; 參照標準的文件格式定義提取所述ODX文件中的診斷服務信息; 根據所述診斷服務信息獲取該診斷服務信息需要發送的請求報文,所述請求報文即診斷服務請求; 根據所述ODX文件中的通信協議發送所述請求報文; 接收響應所述請求報文的響應報文; 解析所述響應報文的內容。
2.根據權利要求1所述的方法,其特徵在於,所述參照標準的文件格式定義提取所述文件組的診斷服務信息後還包括: 通過界面庫判斷提取到的所述診斷服務信息的數量和類型; 根據所述診斷服務信息的數量和類型顯示所述診斷服務信息。
3.根據權利要求1所述的方法,其特徵在於,所述解析所述響應報文的內容後還包括: 顯示解析所述響應報文的內容的結果。
4.根據權利要求1所述的方法,其特徵在於,所述參照標準的文件格式定義提取所述ODX文件中的診斷服務信息具體為: 通過ODX文件解析模塊對所述通信協議和診斷服務信息進行解析; 通過所述ODX文件解析模塊參照標準的文件格式定義對解析後的診斷服務信息進行提取。
5.根據權利要求1所述的方法,其特徵在於,所述根據所述診斷服務信息獲取該診斷服務信息需要發送的請求報文具體為: 通過界面庫調用ODX文件解析模塊從所述ODX文件中獲取與所述診斷服務信息相對應的請求報文。
6.根據權利要求1所述的方法,其特徵在於,所述根據所述ODX文件中的通信協議發送所述請求報文具體為: 界面庫根據所述ODX文件中的通信協議調用診斷協議棧; 通過調用的所述診斷協議棧發送所述請求報文。
7.根據權利要求1所述的方法,其特徵在於,所述接收響應所述請求報文的響應報文具體為: 診斷協議棧接收電子控制單元響應請求報文後的響應報文。
8.根據權利要求1所述的方法,其特徵在於,所述解析所述響應報文的內容具體為: 通過ODX文件解析模塊解析所述響應報文的內容。
9.根據權利要求2所述的方法,其特徵在於,所述根據所述診斷服務信息的數量和類型顯示所述診斷服務信息具體為: 所述界面庫根據所述診斷服務信息的數量和類型選擇第一控制項和顯示項; 根據所述第一控制項和顯示項生成診斷程序界面; 將所述診斷服務信息顯示在所述診斷程序界面上。
10.根據權利要求3所述的方法,其特徵在於,所述顯示解析所述響應報文的內容的結果具體為: 界面庫根據解析所述響應報文的內容的結果生成第二控制項; 根據所述第二控制項生成解析界面; 將所述響應報文的內容的 結果顯示在所述解析界面上。
全文摘要
本發明公開了一種汽車診斷軟體自動生成的方法,包括建立具有標準的文件格式定義的包含汽車診斷使用的通信協議和診斷服務信息的ODX文件;參照標準的文件格式定義提取所述ODX文件中的診斷服務信息;根據所述診斷服務信息獲取該診斷服務信息需要發送的請求報文;根據所述ODX文件中的通信協議發送所述請求報文;接收響應所述請求報文的響應報文;解析所述響應報文的內容。本發明能夠自動的生成汽車診斷軟體,且能夠大大降低汽車診斷軟體的開發和維護時間。
文檔編號G06F9/44GK103197930SQ20131010251
公開日2013年7月10日 申請日期2013年3月27日 優先權日2013年3月27日
發明者王修峰 申請人:北京經緯恆潤科技有限公司