逯海燕
(甘肅交通職業(yè)技術(shù)學(xué)院,蘭州 730700)
目前,常見的汽車儀表檢測軟件適用環(huán)境存在一定的局限性。特別是在液晶儀表盤逐漸普及的背景下,傳統(tǒng)的檢測方式已經(jīng)無法滿足多功能儀表盤的檢測需求,需要設(shè)計(jì)一套完整的儀表檢測系統(tǒng),依靠靈活的自動(dòng)化檢測算法實(shí)現(xiàn)對各種新型儀表盤的檢測,提升檢測系統(tǒng)的可兼容性和可拓展性。
對于儀表盤自動(dòng)檢測系統(tǒng)而言,想要在確保質(zhì)量檢測精準(zhǔn)性的基礎(chǔ)上提升檢測速度,一個(gè)重要途徑是優(yōu)化檢測算法[1]。依據(jù)現(xiàn)有的儀表盤質(zhì)量檢測流程,設(shè)計(jì)人員將控制命令的獲取時(shí)間設(shè)定為ti1,將檢測系統(tǒng)從接收指令到執(zhí)行指令之間的反應(yīng)時(shí)間標(biāo)定為ti2,將等待檢測控制要求和采集儀表狀態(tài)數(shù)據(jù)的時(shí)間標(biāo)定為ti3,將自動(dòng)檢測系統(tǒng)解析數(shù)據(jù)的時(shí)間標(biāo)定為ti4,可以得出儀表檢測總時(shí)間計(jì)算公式為
式中:i為儀表盤檢測流程中每一個(gè)項(xiàng)目的序號;n為完整的儀表盤檢測流程中檢測項(xiàng)目的總數(shù)。想要縮短儀表盤自動(dòng)檢測時(shí)間,需根據(jù)Amdahl法則,在對檢測流程的某個(gè)環(huán)節(jié)提速時(shí),分析該操作對自動(dòng)化檢測整體性能的影響。如果將執(zhí)行某一個(gè)檢測環(huán)節(jié)需要的時(shí)間設(shè)為Told,并將該環(huán)節(jié)執(zhí)行時(shí)間與總檢測時(shí)間的比值設(shè)定為α,設(shè)性能提升比例為k,則可以得到計(jì)算提升某個(gè)檢測環(huán)節(jié)效率后整個(gè)儀表盤檢測系統(tǒng)的執(zhí)行時(shí)間Tnew為
在式(2)的基礎(chǔ)上,定義加速比S為
基于式(2)與式(3),可以得到某一個(gè)檢測環(huán)節(jié)提速與完整的檢測系統(tǒng)的加速比S,即
式中:設(shè)計(jì)人員確定變量k的取值范圍為k∈[1,10]、α∈[0,1],并繪制加速比數(shù)值S與變量k、α的關(guān)系圖。
當(dāng)變量α是固定值時(shí),對自動(dòng)化檢測系統(tǒng)的某一個(gè)環(huán)節(jié)進(jìn)行提速。完整的檢測系統(tǒng)得到的提速要顯著小于該環(huán)節(jié)提速比例,也就是單獨(dú)對某一個(gè)檢測環(huán)節(jié)提速并不能有效縮短完整的檢測流程花費(fèi)的時(shí)間,需要對該檢測系統(tǒng)中的多個(gè)環(huán)節(jié)進(jìn)行提速。只有當(dāng)大部分檢測環(huán)節(jié)的檢測速度得到提升,才能夠?qū)崿F(xiàn)提升儀表盤檢測效率的目標(biāo)[2]。
儀表盤自動(dòng)檢測系統(tǒng)運(yùn)行過程中,將子系統(tǒng)中儲存的配置文件轉(zhuǎn)變?yōu)闄z測隊(duì)列,并將該隊(duì)列加載到檢測系統(tǒng)中。該隊(duì)列具有特定的運(yùn)行模式,由若干個(gè)執(zhí)行過程相似的不同檢測單元集合而成。
檢測隊(duì)列由若干個(gè)最小檢測單元共同構(gòu)成,其中任意一個(gè)最小檢測單元都對應(yīng)儀表盤的一種工作狀態(tài)。系統(tǒng)運(yùn)行時(shí),檢測隊(duì)列中的各個(gè)最小檢測單元依次運(yùn)行,直至完成全部檢測工作。
在每一個(gè)基本檢測單元中,檢測控制系統(tǒng)先要依照設(shè)定好的控制指令進(jìn)行運(yùn)算,實(shí)現(xiàn)對儀表狀態(tài)的控制。某些控制單元中,通過一條控制指令就可以滿足儀表盤狀態(tài)采集條件。有些儀表功能較為復(fù)雜,對其進(jìn)行檢測時(shí)需要綜合考慮多種狀態(tài)。這種背景下需要為每一條控制指令設(shè)定延時(shí)功能,使得控制指令與儀表盤的實(shí)際通信條件相符。例如,在檢測統(tǒng)一的診斷服務(wù)(Unified Diagnostic Services,UDS)通信功能時(shí)存在一個(gè)最短時(shí)間間隙,利用延時(shí)功能對連續(xù)接收信息的最小間隔時(shí)間進(jìn)行限制[3]。
當(dāng)全部控制指令發(fā)送完畢并根據(jù)設(shè)定調(diào)整延時(shí)后,檢測系統(tǒng)默認(rèn)儀表盤已經(jīng)處于正常工作狀態(tài),檢測系統(tǒng)自動(dòng)轉(zhuǎn)入待采集模式。系統(tǒng)會(huì)依據(jù)檢測項(xiàng)目的不同,靈活選擇數(shù)據(jù)采集方法,將采集的儀表盤信息導(dǎo)入解析算法,最終得到檢測結(jié)果。
1.3.1 UI線程
用戶界面(User Interface,UI)線程的主要功能是與駕駛員進(jìn)行交互,利用液晶屏實(shí)時(shí)展現(xiàn)車輛的狀態(tài)。在該功能模塊中,代碼為線性運(yùn)算邏輯,不支持并發(fā)。實(shí)際駕駛過程中,駕駛員通過UI界面直接向系統(tǒng)發(fā)送指令以獲取車輛智能系統(tǒng)的反饋信息。UI功能無法與其他功能共享一個(gè)線程,需要單獨(dú)為其設(shè)計(jì)線程。
1.3.2 分配線程
所謂的分配線程,實(shí)際上是指用戶預(yù)先配置好的檢測隊(duì)列線程,主要功能是解析檢測流程,能夠直接體現(xiàn)自動(dòng)檢測算法邏輯。該模塊主要用于完成一些簡單的檢測操作,以及必須要進(jìn)行同步檢測的工作,自身并不會(huì)進(jìn)行多任務(wù)檢測。通常情況下,指針檢測與燈光檢測占據(jù)了儀表檢測的絕大部分,在儀表空間未發(fā)生重合的情況下,同時(shí)進(jìn)行UI線程和分配線程檢測,能夠在不相互干擾的情況下實(shí)現(xiàn)兩種檢測項(xiàng)目的同時(shí)檢測。基于分配檢測的特殊性質(zhì),設(shè)計(jì)人員嘗試縮短ti3的時(shí)間,在一個(gè)檢測序列中同時(shí)運(yùn)行兩種分配線程壓縮單線程檢測等待時(shí)間,提高儀表盤自動(dòng)化檢測效率。
在實(shí)際開展儀表盤檢測的工作過程中,如果在采集到儀表盤狀態(tài)數(shù)據(jù)后立刻使用同步方式解析數(shù)據(jù),會(huì)延長自動(dòng)化檢測系統(tǒng)的運(yùn)行時(shí)間。為了解決這一問題,設(shè)計(jì)人員嘗試?yán)枚嗪?、多線程檢測模式,異步解析儀表盤檢測內(nèi)容,將儀表盤狀態(tài)數(shù)據(jù)分配給獨(dú)立進(jìn)行解析任務(wù)的不同線程,減少分配線程解析工作量。創(chuàng)建解析線程池,利用對固定數(shù)目線程的控制,實(shí)現(xiàn)對現(xiàn)有算力的合理分配,縮短ti4運(yùn)行時(shí)間。
分配線程與解析線程池之間存在“生產(chǎn)者—消費(fèi)者”結(jié)構(gòu)模型。前者主要的責(zé)任是收集儀表狀態(tài)數(shù)據(jù)信息,并將該信息傳輸給解析線程池,完成信息傳輸工作后分配線程會(huì)進(jìn)入下一個(gè)工作循環(huán),不再涉及后續(xù)信息解析與執(zhí)行環(huán)節(jié)。它讀取并傳送的信息會(huì)暫時(shí)儲存在自動(dòng)化檢測系統(tǒng)的緩沖區(qū)數(shù)據(jù)隊(duì)列中,并由解析線程池分配目前處于空閑狀態(tài)的線程解析數(shù)據(jù)并生成檢測結(jié)果,具體工作流程如下。
步驟1:創(chuàng)建一定數(shù)量的線程。自動(dòng)化檢測系統(tǒng)進(jìn)行初始化時(shí),線程池借助設(shè)定好的函數(shù)創(chuàng)建相應(yīng)數(shù)量的線程,并將這部分線程調(diào)整為等待狀態(tài),避免線程過多而占用中央處理器(Central Processing Unit,CPU),將其統(tǒng)一集中到相應(yīng)的管理模塊,隨時(shí)準(zhǔn)備調(diào)用。
步驟2:創(chuàng)建任務(wù)隊(duì)列。線程池中內(nèi)嵌有數(shù)據(jù)緩沖區(qū),未被解析的數(shù)據(jù)可以先存儲在該區(qū)域??梢詫⒕彌_區(qū)視為兩個(gè)相鄰檢測環(huán)節(jié)之間的連接點(diǎn),借助其實(shí)現(xiàn)待解析數(shù)據(jù)的內(nèi)部交流。
步驟3:以預(yù)先設(shè)定好的算法作為依據(jù)分配線程,正常狀態(tài)下可以從線程池中挑選處于空閑狀態(tài)的線程解析儀表盤狀態(tài)數(shù)據(jù)。特殊情況下也可以根據(jù)解析任務(wù)的具體需求,選擇特定的線程處理儀表盤狀態(tài)數(shù)據(jù)。
統(tǒng)計(jì)過程控制功能的實(shí)現(xiàn)主要依靠過程受控判斷技術(shù)和過程能力分析技術(shù)。兩項(xiàng)技術(shù)的主要作用是判斷儀表盤生產(chǎn)線的穩(wěn)定性,進(jìn)而評定儀表盤生產(chǎn)能力。例如,針對儀表盤指針類型檢測項(xiàng)目,其檢測結(jié)果的判斷需要依靠具體的檢測值。具體的檢測值需要利用計(jì)量型控制圖得出。本文設(shè)計(jì)中相關(guān)工作人員使用均值-極差控制圖進(jìn)行計(jì)量型檢測結(jié)果的統(tǒng)計(jì)工作[4]。
制作均值-極差控制圖時(shí),需要確定子組的體積、數(shù)據(jù)以及頻率。將所有待檢測數(shù)據(jù)分為若干個(gè)子組,需確保每一個(gè)子組中的檢測數(shù)據(jù)數(shù)量相等。一般情況下,一個(gè)子組內(nèi)含有2~5組連續(xù)數(shù)據(jù),數(shù)據(jù)的個(gè)數(shù)即子組體積的大小。頻率即采集數(shù)據(jù)的周期。子組的數(shù)量越多,檢測到質(zhì)量問題的概率越大。一般情況下,儀表盤檢測的子組數(shù)量為25。利用公式對子組的均值和極差進(jìn)行計(jì)算,如
式中:xi為子組中第i組數(shù)據(jù);n為子組數(shù)據(jù)總數(shù);xmax與xmin為數(shù)據(jù)的最大值與最小值。此外,需要計(jì)算子組的過程均值和平均極差。
式中,為第i個(gè)子組的均值;k為子組的數(shù)量。
利用公式得到控制系數(shù)與子組個(gè)數(shù)的關(guān)系,并利用過程能力指數(shù)對自動(dòng)檢測系統(tǒng)的過程能力進(jìn)行分析。借助這種方式可自動(dòng)判斷控制過程是否達(dá)到設(shè)定的閾值,再結(jié)合儀表盤實(shí)際生產(chǎn)需求升級生產(chǎn)線。
采用上述方法對儀表盤生產(chǎn)線進(jìn)行質(zhì)量控制,借助均值-標(biāo)準(zhǔn)差控制圖和過程能力指數(shù),判斷儀表盤生產(chǎn)線生產(chǎn)狀態(tài)。第一步,確定子組的數(shù)據(jù)規(guī)格極值和判斷參數(shù)。第二步,針對數(shù)據(jù)庫中的待檢測數(shù)據(jù)進(jìn)行抽樣檢測。第三步,根據(jù)抽樣數(shù)據(jù)繪制均值-標(biāo)準(zhǔn)差控制圖,計(jì)算子組數(shù)據(jù)的過程能力指數(shù)。
借助以上步驟能夠解析與判斷儀表生產(chǎn)質(zhì)量檢測工作中的大部分檢測項(xiàng)數(shù)據(jù)。針對具備具體檢測結(jié)果的檢測項(xiàng),如儀表盤指針讀數(shù)和斷式燈段數(shù)等功能,可以直接利用上述方法判定其質(zhì)量。針對沒有具體參數(shù)可供參考的檢測項(xiàng),如顯示燈形狀完整性或者指示燈亮度等檢測項(xiàng),可以截取計(jì)算參數(shù)的某一部分判斷該功能是否正常[5]。
自動(dòng)化檢測系統(tǒng)中還搭載了歷史數(shù)據(jù)搜索模塊,依據(jù)儀表信號檢測時(shí)間段等指標(biāo)過濾和篩選數(shù)據(jù),快速鎖定符合特定要求的待檢測數(shù)據(jù),進(jìn)一步壓縮數(shù)據(jù)檢測時(shí)間。
想要提高汽車儀表盤檢測效率,要積極嘗試使用自動(dòng)化檢測系統(tǒng)代替?zhèn)鹘y(tǒng)的手工與半自動(dòng)檢測方式。根據(jù)儀表盤功能和生產(chǎn)流程設(shè)計(jì)自動(dòng)化檢測算法,使自動(dòng)化檢測系統(tǒng)設(shè)計(jì)符合檢測需求的功能,縮短各個(gè)檢測環(huán)節(jié)占用的時(shí)間,提高儀表盤檢測效率。