, , ,
(1.中車青島四方機車車輛股份有限公司,山東 青島 266000;2.北京航天測控技術(shù)有限公司,北京 100041)
在動車組生產(chǎn)、定期檢修階段,整車電氣線纜導(dǎo)通測試及絕緣測試是車輛線路試驗的主要工序,是對整車接線正確性、線纜連接可靠性的全面把關(guān)。傳統(tǒng)的整車線纜測試采用手工檢測方式,存在著效率低、易漏查錯查等問題。隨著自動化測試的發(fā)展,國外率先在線纜自動測試領(lǐng)域研制出線纜測試產(chǎn)品,并廣泛應(yīng)用于航天、航空、鐵路、汽車制造等行業(yè)。我國鐵路行業(yè)(包括株洲、長客等公司)也相繼引進(jìn)國外電纜測試產(chǎn)品進(jìn)行整車線纜自動導(dǎo)通絕緣測試[1]。
本文涉及的國外某型線纜測試儀采用模塊化設(shè)計,主要由上位機、1個主控單元、多個測試單元和轉(zhuǎn)接電纜等構(gòu)成,其中每個測試單元有500個測試點,測試通道可擴(kuò)展高達(dá)數(shù)十萬點。
該線纜測試儀雖然能提供自動化線纜測試,但在執(zhí)行測試前,測試人員需要手動完成三部分工作:1)建立連接器庫:根據(jù)被測線纜連接器數(shù)量,手動編輯生成連接器庫;2)地址分配文件制作:手動創(chuàng)建被測線纜與測試設(shè)備通道的映射關(guān)系文件;3)測試程序編輯:測試人員需根據(jù)測試指令,手動逐條編輯每一根線纜的測試程序[2]。
針對不同車型,測試軟件需要重新定義配置文件并編輯測試程序,給測試人員帶來很大的困難,無法滿足多型車輛快捷、高效編程的需要。另外,該線纜測試儀在執(zhí)行測試后,測試結(jié)果幾乎無報表格式,測試人員無法快速查找故障信息,給現(xiàn)場線纜排查帶來極大不便。
針對某型線纜測試儀在動車組線纜測試工程化應(yīng)用中存在的問題,本文從某型線纜測試儀轉(zhuǎn)換軟件設(shè)計出發(fā),先對測試軟件進(jìn)行分析,然后提出轉(zhuǎn)換軟件設(shè)計思路及功能實現(xiàn)方法;最后介紹轉(zhuǎn)換軟件在動車線纜測試過程中的應(yīng)用。
線纜測試儀轉(zhuǎn)換軟件基于某型纜測試儀上位機軟件開發(fā)具有統(tǒng)一Excel導(dǎo)通表導(dǎo)入、測試程序自動生成和統(tǒng)一數(shù)據(jù)報表管理功能。連接器庫建立、地址分配文件制作、測試程序編輯等工作均由轉(zhuǎn)換軟件自動完成。
通過對線纜測試儀上位機軟件的操作流程分析,完成測試主要包括以下步驟:
1)利用 Component Library Manager 建立線束連接器數(shù)據(jù)庫,即建立元器件庫擴(kuò)展名為“.pl”的文件,該文件是二進(jìn)制格式,無法使用寫字板、記事本等常見的文本文件查看。元器件庫(.pl)的建立功能使用頻度不大,基本屬于一次建立,多次使用,而且元器件庫文件(.pl)并非測試程序執(zhí)行必需的。
2)利用 TestEdit 建立測點地址與線束插針地址對應(yīng)表,建立的ACT文件擴(kuò)展名為“.UI”的文件,該文件是二進(jìn)制格式。嘗試采用反向工程生成地址對應(yīng)表ACT文件(.UI),反向成功后將提高軟件易用性。
圖2 測試程序生成流程圖
3)測試程序編輯,依據(jù)Test parameter (測試參數(shù))、Test instruction (測試指令)、Directives (進(jìn)階控制指令)等設(shè)計線纜的測試程序,最終形成擴(kuò)展名為“.RO”文件,該文件是文本格式,內(nèi)容包括指令、注釋等,其格式遵循測試軟件自定義的指令規(guī)范。使得反向工程具有較大的可行性。
4)運行測試程序,TestExec程序讀取地址對應(yīng)表(.UI)、測試程序文件(.RO)[3-4]等,控制硬件資源完成測試。
5)測試結(jié)果文件(.ER)為文本格式。文件內(nèi)容是不同的測試數(shù)據(jù)列表,測試結(jié)果可視性差,幾乎無報表格式??赏ㄟ^解析文件內(nèi)容生成便于查看和管理的Excel、Word和PFD文件。
通過對線纜測試軟件的測試步驟和結(jié)果文件分析,形成轉(zhuǎn)換軟件設(shè)計思路。轉(zhuǎn)換軟件設(shè)計思路如圖1所示。
圖1 轉(zhuǎn)換軟件設(shè)計圖
轉(zhuǎn)換軟件的導(dǎo)通表導(dǎo)入程序負(fù)責(zé)讀取并解析Excel導(dǎo)通表文件,再由.RO文件生成器按照.RO文件格式自動生成測試程序文件,.UI文件生成器按照.UI文件格式自動生成地址分配文件,線纜測試儀上位機軟件調(diào)用.RO文件和.UT文件,即可執(zhí)行相應(yīng)的測試。
線纜測試儀上位機軟件執(zhí)行完測試后,生成測試結(jié)果文件(.ER)由.ER文件解析器讀取并解析,將解析的測試數(shù)據(jù)傳入報表導(dǎo)出程序,生成統(tǒng)一格式的測試報告(支持Word、Excel、PDF格式),并統(tǒng)計被測線纜的故障點數(shù)、故障的位置等信息。
轉(zhuǎn)換軟件采用模塊化設(shè)計思想,能根據(jù)約定格式的測試需求文件自動生成測試軟件可識別、可執(zhí)行的UT文件和RO文件,并能將測試生成的結(jié)果數(shù)據(jù)按類別導(dǎo)出生成測試報表。
1.3.1 測試程序生成
測試流程生成功能實現(xiàn)將導(dǎo)通表文件(.xls)轉(zhuǎn)換生成線纜測試儀上位機軟件可讀取、可執(zhí)行的.RO文件和.UT文件。其實現(xiàn)流程圖如圖2所示。
線纜導(dǎo)通表是依據(jù)車上被測電纜導(dǎo)通關(guān)系編寫。導(dǎo)通表定義了三部分內(nèi)容:測試信息、參數(shù)設(shè)定、測試內(nèi)容。此三部分內(nèi)容互為獨立段落,且以標(biāo)題為識別記號供轉(zhuǎn)換軟件識別提取。導(dǎo)通表測試信息約定格式如表1所示,參數(shù)設(shè)定約定格式如表2所示,測試內(nèi)容約定格式如表3所示。
表1 導(dǎo)通表測試信息約定格式
轉(zhuǎn)換軟件打開并讀取編輯好的導(dǎo)通表文件,根據(jù)約定格式及規(guī)則對文件內(nèi)容做必要的檢驗。如果獲取到異常則顯示異常日志信息,并根據(jù)異常級別給予不同顏色高亮顯示。測試人員依據(jù)此日志內(nèi)容可快速定位源文件錯誤位置并修正。
如果文件格式正確,轉(zhuǎn)換軟件進(jìn)行測試內(nèi)容的解析,采用虛擬映射技術(shù),生成地址分配文件(.UT)。解析提取起始端測試內(nèi)容主要流程有:1)獲取測試內(nèi)容;2)遍歷測試內(nèi)容列;3)獲取線號、起始端物理地址、起始端、起始端連接器;4)檢測物理地址是否重復(fù)編排;5)加入起始點映射關(guān)系。其核心實現(xiàn)代碼如下:
表2 導(dǎo)通表參數(shù)設(shè)定約定格式
表3 導(dǎo)通表測試內(nèi)容約定格式
//獲取測試內(nèi)容
list
//遍歷測試內(nèi)容列
for (list
{
CString strLine,strAddress,strUUTInitial,strUUTJunctor,strTip;
// 獲取線號
iter->FindItemValue(_T("線號"), strLine) ;
//獲取起始端物理地址
if (iter->FindItemValue(_T("起始端物理地址"), strAddress) && !strAddress.IsEmpty())
{ //獲取起始端
if (iter->FindItemValue(_T("起始端"), strUUTInitial) && !strUUTInitial.IsEmpty())
{ //獲取起始端連接器
if (iter->FindItemValue(_T("起始端連接器"), strUUTJunctor) && !strUUTJunctor.IsEmpty())
{
CStringA strUUTName = CreateUUTName(strUUTInitial, strUUTJunctor, strLine);
// 檢測物理地址是否重復(fù)編排
map
if (iterUUTSet != m_mapAllUUTSet.end() && iterUUTSet->second != strUUTName)
strTip.Format(_T("起始端物理地址%s被重復(fù)設(shè)置為不同名稱!上次配置行:%s"), strAddress, iter->FormatToLine());
else // 加入起點映射關(guān)系
m_mapAllUUTSet[_ttol(strAddress)] = strUUTName;
}
}
}
//獲取終點端信息并生成終點映射關(guān)系
... ...
}
完成地址分配文件生成后,轉(zhuǎn)件軟件依次進(jìn)行測試信息、參數(shù)設(shè)定、測試內(nèi)容的解析,生成測試程序文件(.RO)[3-4]。測試程序文件作為線纜測試儀上位機軟件執(zhí)行的核心程序,包括的三部分信息:基本配置、參數(shù)設(shè)定、測試操作。該三部分信息分別由測試信息、參數(shù)設(shè)定、測試內(nèi)容解析生成。
由于測試內(nèi)容有數(shù)千條測試,在執(zhí)行轉(zhuǎn)換過程中需要完成大量的數(shù)據(jù)計算、交換、傳遞,因此轉(zhuǎn)換軟件采用多任務(wù)并發(fā)機制,大大提高轉(zhuǎn)換效率。
1.3.2 結(jié)果報表生成
線纜測試儀上位機軟件完成測試后自動將測試結(jié)果以.ER格式存儲在指定路徑,打開測試結(jié)果文件可以看到,測試數(shù)據(jù)基本無報表格式,測試人員難以快速查找故障線纜信息。測試結(jié)果文件內(nèi)容格式如下所示:
測試結(jié)果文件內(nèi)容格式
; C SMU 0.500A 2.500 00.100S 00.050T: CC 06324 EJCR{-R1|151/151D2}: 06627 PASS 1.779 OHM 組配下部{CN1-28|151/151D2}: CC 06229 EJCR{-L9|172}: XS 01906 右后柜{CN5-7|262B}: 01124 WIRED 2.642 OHM Shielding: 01407 WIRED 2.684 OHM Shielding: 01408 WIRED 2.693 OHM Shielding: XT 09611 總配盤{CN7-12|435A}: ISOLATED >30.00M OHM 總配盤{CN7-12|435A}
結(jié)果報表生成的主要功能是讀取、解析.ER文件內(nèi)容并轉(zhuǎn)換成統(tǒng)一格式數(shù)據(jù)報表。結(jié)果報表生成流程如圖3所示。
圖3 結(jié)果報表生成流程圖
首先打開測試結(jié)果文件(.ER),轉(zhuǎn)換軟件自動提取測試基本信息。然后選定導(dǎo)出報表的類型及格式。報表類型包括生成全部信息報表和生成故障信息報表兩種類型,報表格式支持Word、Excel、PDF三種格式[5]。
生成全部信息報表:轉(zhuǎn)換軟件讀取.ER文件內(nèi)全部測試結(jié)果數(shù)據(jù),解析每一條數(shù)據(jù)的格式,根據(jù)測試類型代號分為導(dǎo)通測試、絕緣測試和二極管測試。根據(jù)不同測試類型,解析提取起始端物理地址、終點端物理地址、起始端連接器、終點端連接器、線號、測試值及測試結(jié)果等信息,并按照全部信息報表格式寫入報表文件。
生成故障信息報表:轉(zhuǎn)換軟件只提取故障線纜數(shù)據(jù),通過解析數(shù)據(jù)格式得到線纜故障類型,并按照故障信息報表格式寫入報表文件,故障報表為測試人員現(xiàn)場排查錯誤提供指導(dǎo)。
結(jié)果報表生成功能的核心實現(xiàn)代碼如下:
// 將數(shù)據(jù)模糊分解
bool bResult = Split(lpszResultFile, pObserver);
// 更新導(dǎo)出類型,導(dǎo)出類型分為生成全部信息報表和生成故障信息報表
CExportObject::SetAllOutMode(bAllOut);
// 解析每組數(shù)據(jù),提取有效信息
for (list >::iterator iter = m_lstDataGroupList.begin(); iter != m_lstDataGroupList.end(); ++iter)
{ // 每組頭一個數(shù)據(jù)用來確認(rèn)本組屬性
const LineDataType lineType = Analyze(iter->front());
if (lineType != LDT_Ignorable)
{ // 繼續(xù)分解
if (!Extract(lineType, *iter))
{
pObserver->OnNotifyInformation(_T("結(jié)果數(shù)據(jù)解析異常!"), 7);
}
}
}
// 導(dǎo)出數(shù)據(jù)到文件
switch (pObserver->GetExportFileType())
{
case CEventObserver::ET_EXCEL : bResult = CMSOfficeOper::ExportToExcel(this);
break;
case CEventObserver::ET_WORD : bResult = CMSOfficeOper::ExportToWord(this);
break;
case CEventObserver::ET_PDF : bResult = CMSOfficeOper::ExportToPDF(this);
break;
}
在生成過程中轉(zhuǎn)換軟件會實時更新工作信息日志,并將讀取到的異常內(nèi)容以警告的形式打印在界面上。
為驗證轉(zhuǎn)換軟件自動轉(zhuǎn)換的便捷性、測試程序文件的可執(zhí)行性和結(jié)果報表的正確性,以標(biāo)準(zhǔn)動車組檢修車頭車為被測對象完成部分線纜的導(dǎo)通測試、絕緣測試。動車組線纜測試主要分以下幾步驟:
為電氣設(shè)備的被測線纜分配物理地址,地址分配遵照電氣設(shè)備位置先后及連接器芯數(shù)多少完成。頭車被測設(shè)備部分地址分配如表4所示。
表4 頭車被測設(shè)備部分地址分配表
依據(jù)車上線纜導(dǎo)通關(guān)系及被測設(shè)備線纜地址分配表,按照導(dǎo)通表約定格式,完成線纜導(dǎo)通表的編輯。
打開轉(zhuǎn)化軟件,點擊“選擇源文件”按鈕,選擇導(dǎo)通表文件(.xls),點擊“生成測試TP”按鈕,測試軟件開始自動轉(zhuǎn)化生成地址分配文件(.UT)和測試程序文件(.RO)。測試程序生成運行界面如圖4所示。
圖4 測試程序生成運行界面
1)將測試設(shè)備分別放在三個機柜內(nèi),1號機柜內(nèi)放4個開關(guān)箱和主控箱、2號機柜內(nèi)放4個開關(guān)箱、3號機柜內(nèi)放4個開關(guān)箱,組成測試通道為6000路的測試系統(tǒng)。1號機柜位于二位側(cè)車門,2號機柜位于一位車門,3機柜位于二位端。
2)連接好上位機與測試設(shè)備主機的控制線及數(shù)據(jù)線。連接轉(zhuǎn)接工裝,實現(xiàn)測試設(shè)備與被測電氣設(shè)備的連通。
3)按照開關(guān)單元的連接先后順序,開關(guān)單元前面板的撥碼開關(guān)依次置為00~12。
打開測試設(shè)備主機電源開關(guān),在測試設(shè)備空載時,打開測試設(shè)備上位機軟件,選擇自檢選項,在彈出的界面上設(shè)定相應(yīng)參數(shù),通過給模塊測試點之間施加DC500V電壓完成絕緣測試,檢驗測試設(shè)備跑合是否正常。
點擊“運行測試”按鈕,在彈出的列表中選擇轉(zhuǎn)換完成的測試程序文件,測試儀執(zhí)行測試。完成測試后自動將測試結(jié)果以.ER格式存儲在指定路徑。
打開轉(zhuǎn)換軟件,點擊“選擇結(jié)果文件”按鈕,選擇測試結(jié)果文件(.ER),勾選“導(dǎo)出EXCLE”項,點擊“生成全部信息報表”或“生成故障信息報表”按鈕,轉(zhuǎn)換軟件自動生成Excel報表文件。結(jié)果報表生成運行界面如圖5所示。
圖5 結(jié)果報表生成運行界面
轉(zhuǎn)換軟件自動生成的地址分配文件(.UT)和測試程序文件(.RO)用線纜測試儀上位機軟件可以正常打開、查看、編輯和保存,在執(zhí)行測試過程中,線纜測試儀上位機軟件加載測試程序文件正確,測試儀運行正常,表明生成的地址分配文件和測試程序文件格式完全正確、可執(zhí)行。轉(zhuǎn)換生成的可執(zhí)行文件如圖6所示。
圖6 轉(zhuǎn)換生成的可執(zhí)行文件
相比手工逐條編輯地址分配文件和測試程序文件,自動轉(zhuǎn)換軟件只需要測試人員完成導(dǎo)通表文件的編輯,其余工作由轉(zhuǎn)換軟件自動完成,大大節(jié)約流程編輯時間,減少編輯測試流程出錯率。
自動轉(zhuǎn)換軟件生成的全部信息報表如圖7所示,生成的故障信息報表如圖8所示。
相比測試結(jié)果文件(.ER),全部信息報表清晰的顯示每條被測線纜的起始端和終點端信息,同時給出實測值和測試結(jié)論,測試人員可以方便快捷的查看、打印測試數(shù)據(jù)。
圖7 全部信息報表
圖8 故障信息報表
故障信息報表顯示測試不合格線纜的詳細(xì)信息,包括錯誤連接點地址,錯誤連接點車上信息,檢測值和錯誤連接關(guān)系。如圖8所示的故障信息報表,左開關(guān)盤CN1-16(物理地址00105)與右后柜CN5-7(物理地址01906)的導(dǎo)通電阻實測值大于30.00 MΩ,測試結(jié)果不合格。故障信息報表顯示故障點(物理地址01906)與左后柜CN2-25(物理地址1124)存在短接關(guān)系,與右前柜CN2-8(物理地址1407)存在短接關(guān)系。測試人員可以根據(jù)該信息快速定位線纜的故障位置,從而進(jìn)行現(xiàn)場故障排查。
通過與實車對接測試,驗證了某線纜測試儀轉(zhuǎn)換軟件測試流程生成和結(jié)果報表生成功能的可行性。該轉(zhuǎn)換軟件能自動生成測試程序,省去了手動編寫測試程序文件、制作地址分配文件等繁瑣流程,大大節(jié)約了流程編輯時間,減少了編輯測試流程出錯率。同時,轉(zhuǎn)換軟件可生成全部信息報表和故障信息報表,極大方便測試人員查找、打印測試結(jié)果,為現(xiàn)場排查故障線纜提供指導(dǎo),提高現(xiàn)場檢錯效率。