咨詢電話
ENGLISH0755-88840386發(fā)布時(shí)間:2020-09-01 09:25:32 |來源:網(wǎng)絡(luò)轉(zhuǎn)載
1引言
作為混凝土攪拌站的核心部件之一的承重儀表(SWD)是一款高性能、高精度的稱量控制產(chǎn)品,通過CAN總線釆用通信協(xié)議的方式控制稱重傳感器和控制主機(jī)進(jìn)行命令交互而滿足混凝土攪拌站的配料、稱量、控制、顯示等需求叫其質(zhì)量的好壞直接影響配比的精度和混凝土的質(zhì)量。由于稱重儀表功能強(qiáng)大,涉及通信協(xié)議的功能較多,其通信協(xié)議成了該產(chǎn)品檢測的重點(diǎn),但若釆用手工測試不僅費(fèi)時(shí)費(fèi)力,效率較低,且難以保證測試的全面覆蓋。
本文在CAN模塊基礎(chǔ)上,基于ZLGCAN動態(tài)鏈接庫技術(shù)與Labview平臺相結(jié)合的機(jī)制I,實(shí)現(xiàn)了SWD通信協(xié)議的自動測試。
2系統(tǒng)的總體方案
系統(tǒng)的硬件配置主要由PC、ZLGCAN模塊和開關(guān)電源構(gòu)成,三者關(guān)系如圖1所示。
圖1系統(tǒng)硬件配置
開關(guān)電源給SWD供電,作為交互操作窗口的PC通過USB接口經(jīng)ZLGCAN的CAN總線和SWD交互數(shù)據(jù)。根據(jù)SWD的CAN通信協(xié)議的特點(diǎn),在PC上給予Labview軟件設(shè)計(jì)上位機(jī)程序并通過上位機(jī)程序調(diào)用Windows系統(tǒng)中編譯和加載的ZLGCAN動態(tài)鏈接庫,便可實(shí)現(xiàn)對與CAN通信協(xié)議相關(guān)的SWD的功能進(jìn)行自動化:測試,并對測試進(jìn)度和測試結(jié)果進(jìn)行實(shí)時(shí)顯示。
3上位機(jī)軟件設(shè)計(jì)
3.1界面
作為與用戶直接交互的操作窗口前面板可以通過PC端的Labview平臺釆用圖形化編程語言實(shí)現(xiàn),如圖2所示。
圖2上位機(jī)軟件界面示意圖
界面大致分為菜單區(qū)、參數(shù)設(shè)置區(qū)、操作區(qū)和測試數(shù)據(jù)顯示區(qū)等。菜單區(qū)包括設(shè)備操作、設(shè)備配置、與CAN通信協(xié)議相關(guān)基本功能的測試項(xiàng)目、版本和幫助等項(xiàng),可以通過菜單操作對SWD和ZLGCAN進(jìn)行配置、選擇測試項(xiàng)目以及査看版本和幫助信息;參數(shù)設(shè)置區(qū)可以直接在界面上快速地進(jìn)行相關(guān)參數(shù)配置及測試項(xiàng)選擇;操作區(qū)主要實(shí)現(xiàn)ZLGCAN的啟動、停止操作以及測試過程的控制;測試數(shù)據(jù)顯示區(qū)可以直觀地顯示已經(jīng)完成的測試項(xiàng)及測試結(jié)果以及測試進(jìn)度,并可以完成測試數(shù)據(jù)和測試報(bào)告的保存操作。
3.2主程序
軟件操作流程如圖3所示。Labview開發(fā)平臺除具有常規(guī)的條件結(jié)構(gòu)、順序結(jié)構(gòu)、循環(huán)、事件結(jié)構(gòu)外,還根據(jù)應(yīng)用場合的不同提供了狀態(tài)機(jī)、消息隊(duì)列、生產(chǎn)者/消費(fèi)者、主/從等設(shè)計(jì)模式,根據(jù)程序特點(diǎn)直接調(diào)用模板進(jìn)行編程,可以省去對程序整體框架的考慮,從而節(jié)約很多時(shí)間。
由于測試開始前操作者需要對SWD和ZLGCAN進(jìn)行配置,選擇測試項(xiàng)目,測試時(shí)又是全自動測試,因此,系統(tǒng)主程序基本框架為生產(chǎn)者/消費(fèi)者結(jié)構(gòu),自動測試部分為消息隊(duì)列結(jié)構(gòu),自動逐項(xiàng)執(zhí)行所選擇的測試項(xiàng)目,執(zhí)行完畢又返回到生產(chǎn)者/消費(fèi)者結(jié)構(gòu),以便與用戶交互處理后續(xù)的數(shù)據(jù)保存、報(bào)告保存等操作。
圖3軟件操作流程圖
3.3協(xié)議判斷程序
協(xié)議判斷程序是自動測試系統(tǒng)設(shè)計(jì)的關(guān)鍵,直接決定著測試結(jié)果是否可靠性。協(xié)議判斷流程如圖4所示。與CAN通信協(xié)議相關(guān)的SWD基本功能大致分為參數(shù)查詢、參數(shù)設(shè)置、參數(shù)上傳、配方設(shè)置、配槌制、掉電保存6個(gè)方面。其通信協(xié)議可歸納為兩類:⑴應(yīng)答式協(xié)議:SWD對收到的命令進(jìn)行應(yīng)答,測試時(shí)需要先向SWD發(fā)送命令,再判斷SWD是否正確進(jìn)行應(yīng)答;
(2)主動上傳式協(xié)議:SWD以一定的周期上傳CAN數(shù)據(jù),測試時(shí)只需半嘶在一定綱間內(nèi)朝攵到相應(yīng)齡揃貞。為皤據(jù)SWD通信協(xié)議特點(diǎn)濡對自珈頃試系統(tǒng)瀝十協(xié)議仲裁子VL
圖4協(xié)議判斷流程
3.4協(xié)議拓展接口設(shè)計(jì)
考慮到SWD通信協(xié)議的不斷升級和擴(kuò)展以及測試要求的變化,為保證軟件能夠兼顧后續(xù)SWD通信協(xié)議的測試需要,進(jìn)行了巧妙的接口設(shè)計(jì)。協(xié)議判斷規(guī)則不是固化在程序里面,而是EXCEL文齦入,當(dāng)協(xié)1炫4變酮,只需要對該EXCEL文件進(jìn)行維挪阿。該EXCEL文檔硏行對應(yīng)一條協(xié)議,協(xié)議格科應(yīng)EXCEL文^的一行A~H的內(nèi)容如表1所示
4結(jié)果
測試完畢,在圖2的界面點(diǎn)擊“生成報(bào)告”按鍵,將會自動生成DOC格式名稱為“SWD通信協(xié)議自動測試報(bào)告yyyy_MM_DD_hhmmss.doc”的試驗(yàn)報(bào)告。其中,報(bào)告名稱中的yyyy_MM_DD_hhmmss分別為當(dāng)前測試時(shí)間的年份一月份_日期一時(shí)時(shí)分分秒秒,而報(bào)告的內(nèi)容除包括當(dāng)前測試數(shù)據(jù)和結(jié)果、之前輸入的被測產(chǎn)品軟硬件信息、ZLGCAN和SWD參數(shù)配置信息外,還包括每條協(xié)議測試的詳細(xì)記錄。
通過專業(yè)測試人員驗(yàn)證,本測試系統(tǒng)具有以下特點(diǎn):
1)效率高:426條協(xié)議可以在3min內(nèi)完成測試,釆用手工測試,即使熟練的測試工程師也需要3~4d的時(shí)間。
2)簡單可靠:通過幾步簡單的操作即可完成測試,通信協(xié)議異常模擬測試的結(jié)果表明,通過測試報(bào)告的詳細(xì)測試數(shù)據(jù)。
文章來源于網(wǎng)絡(luò)轉(zhuǎn)載,侵刪