本發(fā)明涉及汽車技術(shù)領(lǐng)域,具體涉及一種汽車電子控制模塊診斷功能的測試方法和系統(tǒng)。
背景技術(shù):
隨著汽車網(wǎng)絡(luò)的發(fā)展,汽車電子控制模塊的功能變得越來越強(qiáng)大,汽車診斷技術(shù)也越來越重要。汽車診斷技術(shù)可實(shí)現(xiàn)汽車的在線診斷,不僅在整車生產(chǎn)下線和售后維修中有著不可替代的作用,而且還可以在控制模塊的開發(fā)過程中能及早的發(fā)現(xiàn)問題,提高了汽車網(wǎng)絡(luò)的開發(fā)進(jìn)度。因此,對整車廠的診斷開發(fā)和測試的要求就越來越嚴(yán)格,但診斷功能繁瑣并且內(nèi)容量較大,若僅依靠人工來進(jìn)行測試所耗費(fèi)的時間較長,而且還會因人為原因?qū)е乱欢ǖ某鲥e率,因此實(shí)現(xiàn)汽車電子控制模塊診斷功能的快速測試如自動化測試變得很有必要。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決上述技術(shù)中的技術(shù)問題之一。為此,本發(fā)明的一個目的在于提出一種汽車電子控制模塊診斷功能的測試方法,該測試方法能夠?qū)崿F(xiàn)電子控制模塊的自動化測試,提高了電子控制模塊診斷功能的測試效率和可靠性。
本發(fā)明的第二個目的在于提出一種汽車電子控制模塊診斷功能的測試系統(tǒng)。
為實(shí)現(xiàn)上述目的,本發(fā)明第一方面實(shí)施例提出了一種汽車電子控制模塊診斷功能的測試方法,包括以下步驟:S1,向電子控制模塊發(fā)送與診斷功能對應(yīng)的多個診斷請求命令,其中,所述診斷功能包括故障碼的驗(yàn)證功能和診斷服務(wù)功能;S2,根據(jù)電子控制模塊的診斷規(guī)范和所述電子控制模塊返回的與所述多個診斷請求命令對應(yīng)的多個診斷響應(yīng)數(shù)據(jù)判斷所述診斷功能的測試是否通過。
本發(fā)明實(shí)施例的汽車電子控制模塊診斷功能的測試方法,通過向電子控制模塊發(fā)送與診斷功能對應(yīng)的診斷請求數(shù)據(jù)、實(shí)時接收診斷響應(yīng)數(shù)據(jù),并根據(jù)診斷規(guī)范對診斷響應(yīng)數(shù)據(jù)進(jìn)行驗(yàn)證,以判斷診斷功能是否通過測試,由此,實(shí)現(xiàn)了電子控制模塊的自動化測試,提高了電子控制模塊診斷功能的測試效率和可靠性。
另外,根據(jù)本發(fā)明上述實(shí)施例的汽車電子控制模塊診斷功能的測試方法還可以具有如下附加的技術(shù)特征:
根據(jù)本發(fā)明的一個實(shí)施例,在所述向電子控制模塊發(fā)送與所述診斷功能對應(yīng)的所述診斷請求命令之前,還包括:向所述電子控制模塊發(fā)送讀取故障碼的請求命令;判斷所述電子控制模塊返回的響應(yīng)數(shù)據(jù)中是否存在故障碼。
根據(jù)本發(fā)明的一個實(shí)施例,如果所述診斷功能為所述故障碼的驗(yàn)證功能,則在所述向所述電子控制模塊發(fā)送讀取故障碼的請求命令之前,還包括:向所述電子控制模塊發(fā)送清除待測試故障碼的請求命令。
根據(jù)本發(fā)明的一個實(shí)施例,所述步驟S1-S2包括:a、模擬與所述待測試故障碼對應(yīng)的故障,以使所述電子控制模塊產(chǎn)生所述待測試故障碼;b、在所述電子控制模塊產(chǎn)生所述待測試故障碼的時間達(dá)到第一預(yù)設(shè)時間時,向所述電子控制模塊發(fā)送讀取故障碼的請求命令;c、如果所述電子控制模塊返回的響應(yīng)數(shù)據(jù)中不存在當(dāng)前狀態(tài)或歷史狀態(tài)的所述待測試故障碼,則控制所述電子控制模塊產(chǎn)生所述待測試故障碼的時間以預(yù)設(shè)時間間隔增加,并重復(fù)步驟b-c,直至所述電子控制模塊產(chǎn)生所述待測試故障碼的持續(xù)時間達(dá)到第二預(yù)設(shè)時間;d、在所述電子控制模塊產(chǎn)生所述待測試故障碼的持續(xù)時間達(dá)到所述第二預(yù)設(shè)時間時,向所述電子控制模塊發(fā)送讀取故障碼的請求命令;e、如果所述電子控制模塊返回的響應(yīng)數(shù)據(jù)中存在當(dāng)前狀態(tài)的所述待測試故障碼,則撤銷模擬故障,并向所述電子控制模塊發(fā)送讀取故障碼的請求命令;f、如果所述電子控制模塊返回的響應(yīng)數(shù)據(jù)中存在歷史狀態(tài)的所述待測試故障碼,則向所述電子控制模塊發(fā)送清除故障碼的請求命令,以清除所述歷史狀態(tài)的待測試故障碼;g、在所述電子控制模塊的所述歷史狀態(tài)的待測試故障碼清除后,向所述電子控制模塊發(fā)送讀取故障碼的請求命令;h、如果所述電子控制模塊返回的響應(yīng)數(shù)據(jù)中不存在所述待測試故障碼,則判斷所述待測試故障碼測試通過。
根據(jù)本發(fā)明的一個實(shí)施例,所述診斷服務(wù)功能包括動態(tài)數(shù)據(jù)讀取功能、車輛配置功能、強(qiáng)制輸入輸出功能和例程功能。
根據(jù)本發(fā)明的一個實(shí)施例,如果所述診斷功能為車輛配置功能,則步驟S1-S2包括:向所述電子控制模塊發(fā)送寫入預(yù)設(shè)配置的第一請求命令,以使所述電子控制模塊存在與所述預(yù)設(shè)配置對應(yīng)的功能;根據(jù)所述診斷規(guī)范以及所述電子控制模塊返回的響應(yīng)數(shù)據(jù)判斷所述電子控制模塊是否存在與所述預(yù)設(shè)配置對應(yīng)的功能;如果所述電子控制模塊存在與所述預(yù)設(shè)配置對應(yīng)的功能,則向所述電子控制模塊發(fā)送寫入預(yù)設(shè)配置的第二請求命令,以使所述電子控制模塊取消與所述預(yù)設(shè)配置對應(yīng)的功能;根據(jù)所述診斷規(guī)范以及所述電子控制模塊返回的響應(yīng)數(shù)據(jù)判斷所述電子控制模塊是否取消了與所述預(yù)設(shè)配置對應(yīng)的功能;如果所述電子控制模塊取消了與所述預(yù)設(shè)配置對應(yīng)的功能,則判斷所述車輛配置功能測試通過。
根據(jù)本發(fā)明的一個實(shí)施例,如果所述診斷功能為強(qiáng)制輸入輸出功能,則所述步驟S1-S2包括:向所述電子控制模塊發(fā)送讀取待測試輸入/輸出狀態(tài)的請求命令;如果當(dāng)前待測試輸入/輸出狀態(tài)為關(guān)閉狀態(tài),則向所述電子控制模塊發(fā)送強(qiáng)制打開待測試輸入/輸出狀態(tài)的請求命令;根據(jù)所述診斷規(guī)范和所述電子控制模塊返回的響應(yīng)數(shù)據(jù)判斷當(dāng)前輸入/輸出狀態(tài)是否為打開狀態(tài);如果當(dāng)前輸入/輸出狀態(tài)為打開狀態(tài),則向所述電子控制模塊發(fā)送強(qiáng)制關(guān)閉輸入/輸出的請求命令;根據(jù)所述診斷規(guī)范和所述電子控制模塊返回的響應(yīng)數(shù)據(jù)判斷當(dāng)前輸入/輸出狀態(tài)是否為關(guān)閉狀態(tài);如果當(dāng)前輸入/輸出狀態(tài)為關(guān)閉狀態(tài),則向所述電子控制模塊發(fā)送返回正常的請求命令;根據(jù)所述診斷規(guī)范和所述電子控制模塊返回的響應(yīng)數(shù)據(jù)判斷所述電子控制模塊是否退出強(qiáng)制輸入/輸出模式;如果所述電子控制模塊退出強(qiáng)制輸入/輸出模式,則判斷強(qiáng)制輸入輸出功能測試通過。
根據(jù)本發(fā)明的一個實(shí)施例,如果所述診斷功能為例程功能,則所述步驟S1-S2包括:向所述電子控制模塊發(fā)送例程開始的請求命令;根據(jù)所述診斷規(guī)范和所述電子控制模塊返回的響應(yīng)數(shù)據(jù)判斷所述電子控制模塊是否進(jìn)入例程功能;如果所述電子控制模塊進(jìn)入例程功能,則向所述電子控制模塊發(fā)送例程請求結(jié)果的請求命令;判斷所述電子控制模塊返回的響應(yīng)數(shù)據(jù)是否符合所述診斷規(guī)范;如果所述電子控制模塊返回的響應(yīng)數(shù)據(jù)符合所述診斷規(guī)范,則向所述電子控制模塊發(fā)送例程結(jié)束的請求命令;如果根據(jù)所述診斷規(guī)范和所述電子控制模塊返回的響應(yīng)數(shù)據(jù)判斷所述電子控制模塊退出例程功能,則判斷所述例程功能測試通過。
為實(shí)現(xiàn)上述目的,本發(fā)明第二方面實(shí)施例提出了一種汽車電子控制模塊診斷功能的測試系統(tǒng),包括:發(fā)送模塊,用于向電子控制模塊發(fā)送與診斷功能對應(yīng)的多個診斷請求命令,其中,所述診斷功能包括故障碼的驗(yàn)證功能和診斷服務(wù)功能;判斷模塊,用于根據(jù)電子控制模塊的診斷規(guī)范和所述電子控制模塊返回的與所述多個診斷請求命令對應(yīng)的多個診斷響應(yīng)數(shù)據(jù)判斷所述診斷功能的測試是否通過。
本發(fā)明實(shí)施例的汽車電子控制模塊診斷功能的測試系統(tǒng),通過發(fā)送模塊向電子控制模塊發(fā)送與診斷功能對應(yīng)的診斷請求數(shù)據(jù)、并實(shí)時接收診斷響應(yīng)數(shù)據(jù),進(jìn)而通過判斷模塊根據(jù)診斷規(guī)范對診斷響應(yīng)數(shù)據(jù)進(jìn)行驗(yàn)證,以判斷診斷功能是否通過測試,由此,實(shí)現(xiàn)了電子控制模塊的自動化測試,提高了電子控制模塊診斷功能的測試效率和可靠性。
另外,根據(jù)本發(fā)明上述實(shí)施例的汽車電子控制模塊診斷功能的測試系統(tǒng)還可以具有如下附加的技術(shù)特征:
根據(jù)本發(fā)明的一個實(shí)施例,所述發(fā)送模塊,還用于在向所述電子控制模塊發(fā)送與診斷功能對應(yīng)的多個診斷請求命令之前,向所述電子控制模塊發(fā)送讀取故障碼的請求命令;所述判斷模塊,還用于根據(jù)所述診斷規(guī)范判斷所述電子控制模塊返回的與所述讀取故障碼的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)中是否存在故障碼。
根據(jù)本發(fā)明的一個實(shí)施例,如果所述診斷功能為所述故障碼的驗(yàn)證功能,則所述發(fā)送模塊還用于在向所述電子控制模塊發(fā)送讀取故障碼的請求命令之前,向所述電子控制模塊發(fā)送清除待測試故障碼的請求命令。
根據(jù)本發(fā)明的一個實(shí)施例,所述測試系統(tǒng)還包括:模擬模塊,用于模擬與所述待測試故障碼對應(yīng)的故障,以使所述電子控制模塊產(chǎn)生所述待測試故障碼;控制模塊,用于在所述電子控制模塊產(chǎn)生所述待測試故障碼的時間達(dá)到第一預(yù)設(shè)時間,所述發(fā)送模塊向所述電子控制模塊發(fā)送讀取故障碼的請求命令,所述判斷模塊判斷所述電子控制模塊返回的響應(yīng)數(shù)據(jù)中不存在當(dāng)前狀態(tài)或歷史狀態(tài)的所述待測試故障碼時,控制所述電子控制模塊產(chǎn)生所述待測試故障碼的時間以預(yù)設(shè)時間間隔增加,其中,在所述電子控制模塊產(chǎn)生所述待測試故障碼的時間增加的過程中,重復(fù)發(fā)送、判斷和控制的過程,直至所述電子控制模塊產(chǎn)生所述待測試故障碼的持續(xù)時間達(dá)到第二預(yù)設(shè)時間;撤銷模塊,用于在所述電子控制模塊產(chǎn)生所述待測試故障碼的持續(xù)時間達(dá)到所述第二預(yù)設(shè)時間,所述發(fā)送模塊向所述電子控制模塊發(fā)送讀取故障碼的請求命令,所述判斷模塊判斷所述電子控制模塊返回的響應(yīng)數(shù)據(jù)中存在當(dāng)前狀態(tài)的所述待測試故障碼時,撤銷模擬故障;其中,所述發(fā)送模塊,還用于在所述模擬故障撤銷后,向所述電子控制模塊發(fā)送讀取故障碼的請求命令,以及在所述判斷模塊判斷所述電子控制模塊返回的響應(yīng)數(shù)據(jù)中存在歷史狀態(tài)的所述待測試故障碼時,向所述電子控制模塊發(fā)送清除故障碼的請求命令,以清除所述歷史狀態(tài)的待測試故障碼,并在所述電子控制模塊的所述歷史狀態(tài)的待測試故障碼清除后,向所述電子控制模塊發(fā)送讀取故障碼的請求命令,在所述電子控制模塊返回的響應(yīng)數(shù)據(jù)中不存在所述待測試故障碼時,所述判斷模塊判斷所述待測試故障碼測試通過。
根據(jù)本發(fā)明的一個實(shí)施例,所述診斷服務(wù)功能包括動態(tài)數(shù)據(jù)讀取功能、車輛配置功能、強(qiáng)制輸入輸出功能和例程功能。
根據(jù)本發(fā)明的一個實(shí)施例,如果所述診斷功能為車輛配置功能,則所述發(fā)送模塊,還用于向所述電子控制模塊發(fā)送寫入預(yù)設(shè)配置的第一請求命令,以使所述電子控制模塊存在與所述預(yù)設(shè)配置對應(yīng)的功能,并在所述電子控制模塊存在與所述預(yù)設(shè)配置對應(yīng)的功能時,向所述電子控制模塊發(fā)送寫入預(yù)設(shè)配置的第二請求命令,以使所述電子控制模塊取消與所述預(yù)設(shè)配置對應(yīng)的功能;所述判斷模塊,還用于根據(jù)所述診斷規(guī)范以及所述電子控制模塊返回的與所述第一請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷所述電子控制模塊是否存在與所述預(yù)設(shè)配置對應(yīng)的功能,以及根據(jù)所述診斷規(guī)范以及所述電子控制模塊返回的與所述第二請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷所述電子控制模塊是否取消了與所述預(yù)設(shè)配置對應(yīng)的功能,以及判斷所述車輛配置功能測試是否通過。
根據(jù)本發(fā)明的一個實(shí)施例,如果所述診斷功能為強(qiáng)制輸入輸出功能,則所述發(fā)送模塊,還用于向所述電子控制模塊發(fā)送讀取待測試輸入/輸出狀態(tài)的請求命令,并在當(dāng)前待測試輸入/輸出狀態(tài)為關(guān)閉狀態(tài)時,向所述電子控制模塊發(fā)送強(qiáng)制打開待測試輸入/輸出狀態(tài)的請求命令,以及在當(dāng)前輸入/輸出狀態(tài)為打開狀態(tài)時,向所述電子控制模塊發(fā)送強(qiáng)制關(guān)閉輸入/輸出的請求命令,并在當(dāng)前輸入/輸出狀態(tài)為關(guān)閉狀態(tài)時,向所述電子控制模塊發(fā)送返回正常的請求命令;所述判斷模塊,還用于根據(jù)所述診斷規(guī)范和所述電子控制模塊返回的與所述強(qiáng)制打開待測試輸入/輸出狀態(tài)的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷當(dāng)前輸入/輸出狀態(tài)是否為打開狀態(tài),根據(jù)所述診斷規(guī)范和所述電子控制模塊返回的與所述強(qiáng)制關(guān)閉待測試輸入/輸出狀態(tài)的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷當(dāng)前輸入/輸出狀態(tài)是否為關(guān)閉狀態(tài),根據(jù)所述診斷規(guī)范和所述電子控制模塊返回的與所述返回正常的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷所述電子控制模塊是否退出強(qiáng)制輸入/輸出模式,以及判斷強(qiáng)制輸入輸出功能測試是否通過。
根據(jù)本發(fā)明的一個實(shí)施例,如果所述診斷功能為例程功能,則所述發(fā)送模塊,還用于向所述電子控制模塊發(fā)送例程開始的請求命令,在所述電子控制模塊進(jìn)入例程功能時,向所述電子控制模塊發(fā)送例程請求結(jié)果的請求命令,以及在所述電子控制模塊返回的與所述例程請求結(jié)果的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)符合所述診斷規(guī)范時,向所述電子控制模塊發(fā)送例程結(jié)束的請求命令;所述判斷模塊,還用于根據(jù)所述診斷規(guī)范和所述電子控制模塊返回的與所述例程開始的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷所述電子控制模塊是否進(jìn)入例程功能,判斷所述電子控制模塊返回的與所述例程請求結(jié)果的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)是否符合所述診斷規(guī)范,以及根據(jù)所述診斷規(guī)范和所述電子控制模塊返回的與所述例程結(jié)束的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷所述電子控制模塊是否退出例程功能,以及判斷所述例程功能測試是否通過。
附圖說明
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1是根據(jù)本發(fā)明實(shí)施例的汽車電子控制模塊診斷功能的測試方法的流程圖;
圖2-圖6分別是根據(jù)本發(fā)明具體實(shí)施例的汽車電子控制模塊診斷功能的測試方法的流程圖;
圖7是根據(jù)本發(fā)明實(shí)施例的汽車電子控制模塊診斷功能的測試系統(tǒng)的方框圖;
圖8是根據(jù)本發(fā)明一個實(shí)施例的汽車電子控制模塊診斷功能的測試系統(tǒng)的方框圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
下面參考附圖描述本發(fā)明實(shí)施例的汽車電子控制模塊診斷功能的測試方法和系統(tǒng)。
圖1是根據(jù)本發(fā)明實(shí)施例的汽車電子控制模塊診斷功能的測試方法的流程圖。如圖1所示,該汽車電子控制模塊診斷功能的測試方法包括:
S1,向電子控制模塊發(fā)送與診斷功能對應(yīng)的多個診斷請求命令。
在本發(fā)明的實(shí)施例中,診斷功能包括故障碼的驗(yàn)證功能和診斷服務(wù)功能,其中,診斷服務(wù)功能包括動態(tài)數(shù)據(jù)讀取功能、車輛配置功能、強(qiáng)制輸入輸出功能和例程功能。
可選地,測試員可以通過測試平臺上設(shè)置的操作面板或相關(guān)軟件選擇需要測試的電子控制模塊診斷功能。
需要說明的是,在本發(fā)明的一個實(shí)施例中,在步驟S1之前,該測試方法還可以包括:向電子控制模塊發(fā)送讀取故障碼的請求命令;根據(jù)診斷規(guī)范判斷電子控制模塊返回的與讀取故障碼的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)中是否存在故障碼,以消除故障對電子控制模塊診斷功能測試的干擾。
進(jìn)一步地,在與讀取故障碼的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)中不存在故障碼時,向電子控制模塊發(fā)送與診斷功能對應(yīng)的診斷請求命令。
在本發(fā)明的一個實(shí)施例中,如果診斷功能為故障碼的驗(yàn)證功能,則在向電子控制模塊發(fā)送讀取故障碼的請求命令之前,還可以向電子控制模塊發(fā)送清除待測試故障碼的請求命令,以消除對電子控制模塊待測試故障碼的驗(yàn)證功能的測試干擾。
可以理解的是,在進(jìn)行診斷功能的測試之前,需要確保前置條件正常,其中前置條件可以包括電壓范圍、點(diǎn)火開關(guān)狀態(tài)、配置信息、測試環(huán)境等。
S2,根據(jù)電子控制模塊的診斷規(guī)范和電子控制模塊返回與多個診斷請求命令對應(yīng)的多個診斷響應(yīng)數(shù)據(jù)判斷診斷功能的測試是否通過。
在本發(fā)明的一個實(shí)施例中,診斷規(guī)范可以但不限于是ISO14229和ISO15765診斷規(guī)范。
可以理解的是,在對診斷功能進(jìn)行測試時,還可以實(shí)時顯示測試過程,由此,使得測試員能夠直觀地了解測試情況,方便測試員對測試過程中存在的問題進(jìn)行針對性的解決。
具體地,在本發(fā)明的第一個實(shí)施例中,電子控制模塊的故障碼的驗(yàn)證功能的測試方法包括:
S101,向電子控制模塊發(fā)送清除待測試故障碼的請求命令。
可選地,在電子控制模塊在接收到清除待測試故障碼的請求命令后掉電,并重新上電,以確保電子控制模塊中不存在歷史狀態(tài)的待測試故障碼。
S102,向電子控制模塊發(fā)送讀取故障碼的請求命令。
S103,判斷電子控制模塊返回的與讀取故障碼的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)中是否存在故障碼。
S104,如果與讀取故障碼的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)中不存在故障碼,則模擬與待測試故障碼對應(yīng)的故障,以使電子控制模塊產(chǎn)生待測試故障碼。
可選地,該模擬故障功能可以是根據(jù)步驟S103中的判斷結(jié)果自動運(yùn)行產(chǎn)生的,也可以是測試員根據(jù)需要選擇的。
S105,在電子控制模塊產(chǎn)生待測試故障碼的時間達(dá)到第一預(yù)設(shè)時間時,向電子控制模塊發(fā)送讀取故障碼的請求命令。
在本發(fā)明的一個實(shí)施例中,電子控制模塊產(chǎn)生故障碼的時間是一定的,設(shè)為T,則第一預(yù)設(shè)時間可以是0.8*T。
S106,如果電子控制模塊返回的響應(yīng)數(shù)據(jù)中不存在當(dāng)前狀態(tài)或歷史狀態(tài)的待測試故障碼,則以預(yù)設(shè)時間間隔增加產(chǎn)生待測試故障碼的時間,并重復(fù)步驟S105-S106,直至電子控制模塊產(chǎn)生待測試故障碼的持續(xù)時間達(dá)到第二預(yù)設(shè)時間。
在本發(fā)明的一個實(shí)施例中,預(yù)設(shè)時間可以是0.1*T。
可以理解的是,第二預(yù)設(shè)時間即為電子控制模塊產(chǎn)生故障碼的時間,為T。
需要說明的是,如果故障碼的驗(yàn)證功能正常,則在電子控制模塊產(chǎn)生待測試故障碼的時間為0.8*T、0.9*T時,電子控制模塊返回的響應(yīng)數(shù)據(jù)中均不應(yīng)存在當(dāng)前狀態(tài)或歷史狀態(tài)的待測試故障碼。
S107,在電子控制模塊產(chǎn)生待測試故障碼的持續(xù)時間達(dá)到第二預(yù)設(shè)時間時,向電子控制模塊發(fā)送讀取故障碼的請求命令。
S108,如果電子控制模塊返回的響應(yīng)數(shù)據(jù)中存在當(dāng)前狀態(tài)的待測試故障碼,則撤銷模擬故障,并向電子控制模塊發(fā)送讀取故障碼的請求命令。
S109,如果電子控制模塊返回的響應(yīng)數(shù)據(jù)中存在歷史狀態(tài)的待測試故障碼,則向電子控制模塊發(fā)送清除故障碼的請求命令,以清除歷史狀態(tài)的待測試故障碼。
S110,在電子控制模塊的歷史狀態(tài)的待測試故障碼清除后,繼續(xù)向電子控制模塊發(fā)送讀取故障碼的請求命令。
S111,如果電子控制模塊返回的響應(yīng)數(shù)據(jù)中不存在待測試故障碼,則判斷待測試故障碼測試通過。
需要說明的是,電子控制模塊的待測試故障碼有多個,一般有幾十個,可以通過以上步驟S101-S111依次對每個待測試故障碼進(jìn)行測試。
由此,通過對不存在故障碼的電子控制模塊設(shè)置模擬故障,以使其產(chǎn)生待測試故障碼,進(jìn)而對該待測試故障碼進(jìn)行讀取、清除等操作,并在所有操作返回的響應(yīng)數(shù)據(jù)滿足相應(yīng)的要求時,判斷該待測試故障碼的測試通過,實(shí)現(xiàn)了待測試故障碼的自動化測試,提高了測試效率和可靠性。
在本發(fā)明的第二個實(shí)施例中,對電子控制模塊的動態(tài)數(shù)據(jù)讀取功能進(jìn)行測試時,可以模擬與測試數(shù)據(jù)相關(guān)的條件,進(jìn)而發(fā)送讀取模擬條件下該狀態(tài)的服務(wù)請求,在電子控制模塊返回的響應(yīng)數(shù)據(jù)與所模擬的狀態(tài)相符時,判斷該動態(tài)數(shù)據(jù)讀取功能測試通過。
具體地,以一個開關(guān)的狀態(tài)數(shù)據(jù)讀取為例,說明電子控制模塊動態(tài)數(shù)據(jù)讀取功能的測試方法,該方法包括以下步驟:
S201,模擬開關(guān)的打開狀態(tài)。
S202,向電子控制模塊發(fā)送讀取開關(guān)狀態(tài)的請求命令。
S203,判斷電子控制模塊返回的響應(yīng)數(shù)據(jù)是否正確。
S204,如果電子控制模塊返回的響應(yīng)數(shù)據(jù)正確,則模擬開關(guān)的關(guān)閉狀態(tài)。
S205,向電子控制模塊發(fā)送讀取該開關(guān)狀態(tài)的請求命令。
S206,判斷電子控制模塊返回的響應(yīng)數(shù)據(jù)是否正確。
S207,如果電子控制模塊返回的響應(yīng)數(shù)據(jù)正確,則判斷該開關(guān)動態(tài)讀取功能的測試通過。
由此,通過模擬與動態(tài)數(shù)據(jù)相關(guān)的條件,進(jìn)而發(fā)送讀取該狀態(tài)的請求命令,并在返回的響應(yīng)數(shù)據(jù)滿足相應(yīng)的要求時,判斷該動態(tài)數(shù)據(jù)讀取功能的測試通過,實(shí)現(xiàn)了動態(tài)數(shù)據(jù)讀取功能的自動化測試,提高了測試效率和可靠性。
在本發(fā)明的第三個實(shí)施例中,對電子控制模塊的車輛配置功能的測試方法包括:
S301,向電子控制模塊發(fā)送讀取故障碼的請求命令。
S302,判斷電子控制模塊返回的響應(yīng)數(shù)據(jù)中是否存在故障碼。
S303,如果與讀取故障碼的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)中不存在故障碼,則向電子控制模塊發(fā)送寫入預(yù)設(shè)配置的第一請求命令,以使電子控制模塊存在與預(yù)設(shè)配置對應(yīng)的功能。
S304,根據(jù)診斷規(guī)范以及電子控制模塊返回的與第一請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷電子控制模塊是否存在與預(yù)設(shè)配置對應(yīng)的功能。
S305,如果電子控制模塊存在與預(yù)設(shè)配置對應(yīng)的功能,則向電子控制模塊發(fā)送寫入預(yù)設(shè)配置的第二請求命令,以使電子控制模塊取消與預(yù)設(shè)配置對應(yīng)的功能。
S306,根據(jù)診斷規(guī)范以及電子控制模塊返回的與第二請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷電子控制模塊是否取消了與預(yù)設(shè)配置對應(yīng)的功能。
S307,如果電子控制模塊不存在與預(yù)設(shè)配置對應(yīng)的功能,則判斷車輛配置功能測試通過。
需要說明的是,預(yù)設(shè)配置有多個,可以根據(jù)上述步驟依次對每個電子控制模塊的車輛配置功能進(jìn)行測試。
由此,通過向電子控制模塊寫入與車輛配置對應(yīng)請求命令,以使電子控制模塊具有相應(yīng)的功能,進(jìn)而發(fā)送讀取該功能是否實(shí)現(xiàn)的請求命令,并在返回的響應(yīng)數(shù)據(jù)滿足相應(yīng)的要求時,判斷該車輛配置功能的測試通過,實(shí)現(xiàn)了動態(tài)數(shù)據(jù)讀取功能的自動化測試,提高了測試效率和可靠性。
在本發(fā)明的第四個實(shí)施例中,電子控制模塊強(qiáng)制輸入輸出功能的測試方法包括:
S401,向電子控制模塊發(fā)送讀取故障碼的請求命令。
S402,判斷電子控制模塊返回的響應(yīng)數(shù)據(jù)中是否存在故障碼。
S403,如果電子控制模塊返回的響應(yīng)數(shù)據(jù)中不存在故障碼,則向電子控制模塊發(fā)送讀取待測試輸入/輸出狀態(tài)的請求命令。
S404,如果當(dāng)前待測試輸入/輸出狀態(tài)為關(guān)閉狀態(tài),則向電子控制模塊發(fā)送強(qiáng)制打開待測試輸入/輸出狀態(tài)的請求命令。
S405,根據(jù)診斷規(guī)范和電子控制模塊返回的與強(qiáng)制打開待測試輸入/輸出狀態(tài)的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷當(dāng)前輸入/輸出狀態(tài)是否為打開狀態(tài)。
S406,如果當(dāng)前輸入/輸出狀態(tài)為打開狀態(tài),則向電子控制模塊發(fā)送強(qiáng)制關(guān)閉輸入/輸出的請求命令。
S407,根據(jù)診斷規(guī)范和電子控制模塊返回的與強(qiáng)制關(guān)閉待測試輸入/輸出狀態(tài)的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷當(dāng)前輸入/輸出狀態(tài)是否為關(guān)閉狀態(tài)。
S408,如果當(dāng)前輸入/輸出狀態(tài)為關(guān)閉狀態(tài),則向電子控制模塊發(fā)送返回正常的請求命令。
S409,根據(jù)診斷規(guī)范和電子控制模塊返回的與返回正常的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷電子控制模塊是否退出強(qiáng)制輸入/輸出模式。
S410,如果電子控制模塊退出強(qiáng)制輸入/輸出模式,則判斷強(qiáng)制輸入輸出功能測試通過。
由此,通過讀取當(dāng)前的輸入輸出狀態(tài),向電子控制模塊發(fā)送強(qiáng)制輸入/輸出的請求命令,進(jìn)而在請求命令返回的響應(yīng)數(shù)據(jù)滿足相應(yīng)的要求時,判斷強(qiáng)制輸入輸出功能的測試通過,實(shí)現(xiàn)了動態(tài)數(shù)據(jù)讀取功能的自動化測試,提高了測試效率和可靠性。
在本發(fā)明的第五個實(shí)施例中,對電子控制模塊例程學(xué)習(xí)功能進(jìn)行測試的方法包括:
S501,向電子控制模塊發(fā)送讀取故障碼的請求命令。
S502,判斷電子控制模塊返回的與讀取故障碼的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)中是否存在故障碼。
S503,如果電子控制模塊返回的響應(yīng)數(shù)據(jù)中不存在故障碼,向電子控制模塊發(fā)送例程開始的請求命令。
S504,根據(jù)診斷規(guī)范和電子控制模塊返回的與例程開始的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷電子控制模塊是否進(jìn)入例程功能。
S505,如果電子控制模塊進(jìn)入例程功能,則向電子控制模塊發(fā)送例程請求結(jié)果的請求命令。
S506,判斷電子控制模塊返回的與例程請求結(jié)果的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)是否符合診斷規(guī)范。
S507,如果電子控制模塊返回的與例程請求結(jié)果的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)符合診斷規(guī)范,則向電子控制模塊發(fā)送例程結(jié)束的請求命令。
S508,如果根據(jù)診斷規(guī)范和電子控制模塊返回的與例程結(jié)束的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷電子控制模塊退出例程功能,則判斷例程功能測試通過。
由此,通過讀取當(dāng)前的輸入輸出狀態(tài),向電子控制模塊發(fā)送強(qiáng)制輸入/輸出的請求命令,進(jìn)而在請求命令返回的響應(yīng)數(shù)據(jù)滿足相應(yīng)的要求時,判斷強(qiáng)制輸入輸出功能的測試通過,實(shí)現(xiàn)了動態(tài)數(shù)據(jù)讀取功能的自動化測試,提高了測試效率和可靠性。
需要說明的是,上述測試實(shí)施例也可以通過手動實(shí)現(xiàn),具體操作過程不做限定。
本發(fā)明實(shí)施例的汽車電子控制模塊診斷功能的測試方法,通過向電子控制模塊發(fā)送與診斷功能對應(yīng)的診斷請求數(shù)據(jù)、實(shí)時接收診斷響應(yīng)數(shù)據(jù),并根據(jù)診斷規(guī)范對診斷響應(yīng)數(shù)據(jù)進(jìn)行驗(yàn)證,以判斷診斷功能是否通過測試,由此,實(shí)現(xiàn)了電子控制模塊的自動化測試,提高了電子控制模塊診斷功能的測試效率和可靠性。
圖7是根據(jù)本發(fā)明實(shí)施例的汽車電子控制模塊診斷功能的測試系統(tǒng)。如圖7所示,該系統(tǒng)包括:發(fā)送模塊100、接收模塊200和判斷模塊300。
在本發(fā)明的實(shí)施例中,診斷功能包括故障碼的驗(yàn)證功能和診斷服務(wù)功能,其中,診斷服務(wù)功能包括動態(tài)數(shù)據(jù)讀取功能、車輛配置功能、強(qiáng)制輸入輸出功能和例程功能。
其中,診斷功能包括故障碼的驗(yàn)證功能和診斷服務(wù)功能;
在本發(fā)明的一個實(shí)施例中,發(fā)送模塊100還用于在向電子控制模塊發(fā)送與診斷功能對應(yīng)的多個診斷請求命令之前,向電子控制模塊發(fā)送讀取故障碼的請求命令;判斷模塊300還用于根據(jù)診斷規(guī)范判斷電子控制模塊返回的與讀取故障碼的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)中是否存在故障碼。
在本發(fā)明的第一個實(shí)施例中,如果診斷功能為故障碼的驗(yàn)證功能,則發(fā)送模塊100還用于在向電子控制模塊發(fā)送讀取故障碼的請求命令之前,向電子控制模塊發(fā)送清除待測試故障碼的請求命令。
具體地,如圖8所示,測試系統(tǒng)還可以包括:模擬模塊400、控制模塊500和撤銷模塊600。
其中,模擬模塊400用于模擬與待測試故障碼對應(yīng)的故障,以使電子控制模塊產(chǎn)生待測試故障碼;在電子控制模塊產(chǎn)生待測試故障碼的時間達(dá)到第一預(yù)設(shè)時間后,發(fā)送模塊400向電子控制模塊發(fā)送讀取故障碼的請求命令,如果判斷模塊300判斷電子控制模塊返回的響應(yīng)數(shù)據(jù)中不存在當(dāng)前狀態(tài)或歷史狀態(tài)的待測試故障碼時,控制模塊500用于控制電子控制模塊產(chǎn)生待測試故障碼的時間以預(yù)設(shè)時間間隔增加。
需要說明的是,在電子控制模塊產(chǎn)生待測試故障碼的時間增加的過程中,重復(fù)發(fā)送、判斷和控制的過程,直至電子控制模塊產(chǎn)生待測試故障碼的持續(xù)時間達(dá)到第二預(yù)設(shè)時間。
進(jìn)一步地,在電子控制模塊產(chǎn)生待測試故障碼的持續(xù)時間達(dá)到第二預(yù)設(shè)時間時,發(fā)送模塊100向電子控制模塊發(fā)送讀取故障碼的請求命令,且判斷模塊300判斷電子控制模塊返回的響應(yīng)數(shù)據(jù)中存在當(dāng)前狀態(tài)的待測試故障碼時,撤銷模塊600用于撤銷模擬故障。
更進(jìn)一步地,在模擬故障撤銷后,發(fā)送模塊100用于向電子控制模塊發(fā)送讀取故障碼的請求命令,以及在判斷模塊300判斷電子控制模塊返回的響應(yīng)數(shù)據(jù)中存在歷史狀態(tài)的待測試故障碼時,繼續(xù)向電子控制模塊發(fā)送清除故障碼的請求命令,以清除歷史狀態(tài)的待測試故障碼,并在電子控制模塊的歷史狀態(tài)的待測試故障碼清除后,向電子控制模塊發(fā)送讀取故障碼的請求命令,在電子控制模塊返回的響應(yīng)數(shù)據(jù)中不存在待測試故障碼時,判斷模塊300判斷待測試故障碼測試通過。
在本發(fā)明的第二個實(shí)施例中,對電子控制模塊的動態(tài)數(shù)據(jù)讀取功能進(jìn)行測試時,可以模擬與測試數(shù)據(jù)相關(guān)的條件,進(jìn)而發(fā)送讀取模擬條件下該狀態(tài)的服務(wù)請求,在電子控制模塊返回的響應(yīng)數(shù)據(jù)與所模擬的狀態(tài)相符時,判斷該動態(tài)數(shù)據(jù)讀取功能測試通過。
具體地,以一個開關(guān)的狀態(tài)數(shù)據(jù)讀取為例,說明電子控制模塊動態(tài)數(shù)據(jù)讀取功能的測試系統(tǒng):
模擬模塊400用于模擬開關(guān)的打開狀態(tài),發(fā)送模塊100向電子控制模塊發(fā)送讀取開關(guān)狀態(tài)的請求命令,判斷模塊300判斷電子控制模塊返回的響應(yīng)數(shù)據(jù)是否正確;如果電子控制模塊返回的響應(yīng)數(shù)據(jù)正確,則模擬模塊400模擬開關(guān)的關(guān)閉狀態(tài),發(fā)送模塊100向電子控制模塊發(fā)送讀取該開關(guān)狀態(tài)的請求命令,判斷模塊300判斷電子控制模塊返回的響應(yīng)數(shù)據(jù)是否正確;如果電子控制模塊返回的響應(yīng)數(shù)據(jù)正確,則該開關(guān)動態(tài)讀取功能的測試通過。
在本發(fā)明的第三個實(shí)施例中,如果診斷功能為車輛配置功能,則發(fā)送模塊100還用于向電子控制模塊發(fā)送寫入預(yù)設(shè)配置的第一請求命令,以使電子控制模塊存在與預(yù)設(shè)配置對應(yīng)的功能,并在電子控制模塊存在與預(yù)設(shè)配置對應(yīng)的功能時,向電子控制模塊發(fā)送寫入預(yù)設(shè)配置的第二請求命令,以使電子控制模塊取消與預(yù)設(shè)配置對應(yīng)的功能;判斷模塊300還用于根據(jù)診斷規(guī)范以及電子控制模塊返回的與第一請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷電子控制模塊是否存在與預(yù)設(shè)配置對應(yīng)的功能,以及根據(jù)診斷規(guī)范以及電子控制模塊返回的與第二請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷電子控制模塊是否取消與預(yù)設(shè)配置對應(yīng)的功能,以及在電子控制模塊不存在與預(yù)設(shè)配置對應(yīng)的功能時,判斷車輛配置功能測試通過。
在本發(fā)明的第四個實(shí)施例中,如果診斷功能為強(qiáng)制輸入輸出功能,則發(fā)送模塊100還用于向電子控制模塊發(fā)送讀取待測試輸入/輸出狀態(tài)的請求命令,并在當(dāng)前待測試輸入/輸出狀態(tài)為關(guān)閉狀態(tài)時,向電子控制模塊發(fā)送強(qiáng)制打開待測試輸入/輸出狀態(tài)的請求命令,以及在當(dāng)前輸入/輸出狀態(tài)為打開狀態(tài)時,向電子控制模塊發(fā)送強(qiáng)制關(guān)閉輸入/輸出的請求命令,并在當(dāng)前輸入/輸出狀態(tài)為關(guān)閉狀態(tài)時,向電子控制模塊發(fā)送返回正常的請求命令;判斷模塊300還用于根據(jù)診斷規(guī)范和電子控制模塊返回的與強(qiáng)制打開待測試輸入/輸出狀態(tài)的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷當(dāng)前輸入/輸出狀態(tài)是否為打開狀態(tài),以及根據(jù)診斷規(guī)范和電子控制模塊返回的與強(qiáng)制關(guān)閉待測試輸入/輸出狀態(tài)的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷當(dāng)前輸入/輸出狀態(tài)是否為關(guān)閉狀態(tài),根據(jù)診斷規(guī)范和電子控制模塊返回的與返回正常的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷電子控制模塊是否退出強(qiáng)制輸入/輸出模式,以及在電子控制模塊退出強(qiáng)制輸入/輸出模式時,判斷強(qiáng)制輸入輸出功能測試通過。
在本發(fā)明的第五個實(shí)施例中,如果診斷功能為例程功能,則發(fā)送模塊100還用于向電子控制模塊發(fā)送例程開始的請求命令,在電子控制模塊進(jìn)入例程功能時,向電子控制模塊發(fā)送例程請求結(jié)果的請求命令,以及在電子控制模塊返回的與例程請求結(jié)果的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)符合診斷規(guī)范時,向電子控制模塊發(fā)送例程結(jié)束的請求命令;判斷模塊300還用于根據(jù)診斷規(guī)范和電子控制模塊返回的與例程開始的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷電子控制模塊是否進(jìn)入例程功能,判斷電子控制模塊返回的與例程請求結(jié)果的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)是否符合診斷規(guī)范,以及根據(jù)診斷規(guī)范和電子控制模塊返回的與例程結(jié)束的請求命令對應(yīng)的響應(yīng)數(shù)據(jù)判斷電子控制模塊退出例程功能,則判斷例程功能測試通過。
需要說明的是,本發(fā)明實(shí)施例的汽車電子控制模塊診斷功能的測試系統(tǒng)的具體實(shí)施方式與本發(fā)明上述實(shí)施例的汽車電子控制模塊診斷功能的測試方法的具體實(shí)施方式相同,為減少冗余,此處不做贅述。
本發(fā)明實(shí)施例的汽車電子控制模塊診斷功能的測試系統(tǒng),通過發(fā)送模塊向電子控制模塊發(fā)送與診斷功能對應(yīng)的診斷請求數(shù)據(jù)、并通過接收模塊實(shí)時接收診斷響應(yīng)數(shù)據(jù),進(jìn)而通過判斷模塊根據(jù)診斷規(guī)范對診斷響應(yīng)數(shù)據(jù)進(jìn)行驗(yàn)證,以判斷診斷功能是否通過測試,由此,實(shí)現(xiàn)了電子控制模塊的自動化測試,提高了電子控制模塊診斷功能的測試效率和可靠性。
在本發(fā)明的描述中,需要理解的是,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個該特征。在本發(fā)明的描述中,“多個”的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
在本說明書的描述中,參考術(shù)語“一個實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個或多個實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實(shí)施例進(jìn)行變化、修改、替換和變型。