專利名稱:綜保裝置自動測試系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種綜保裝置自動測試系統(tǒng)。背景技術(shù):
目前我司的綜保裝置的生產(chǎn)測試采用純手工的方式,由操作員將裝置手動定位于測試工裝后,手工完成模擬量采集,開入量等外部輸入的測試,以及通道零點(diǎn)校準(zhǔn),通道系數(shù)的校準(zhǔn)等出廠設(shè)置,完成相關(guān)操作后,在預(yù)先打印好的測試報告中手動填寫測試記錄數(shù)據(jù),所有環(huán)節(jié)均由操作員完成,不可靠因素較多,風(fēng)險大,且效率低下,隨著公司的發(fā)展,發(fā)貨量的增大,手工操作的生產(chǎn)測試模式將會成為制約發(fā)展的瓶頸。
發(fā)明內(nèi)容
本發(fā)明為了解決上述背景技術(shù)中的不足之處,提供一種操作簡單、使用方便的綜保裝置自動測試系統(tǒng),
為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為一種綜保裝置自動測試系統(tǒng),其特征在于所述的測試系統(tǒng)包括裝置側(cè)和PC側(cè),
所述的裝置側(cè)包括采用4層分布,分別為應(yīng)用層、業(yè)務(wù)管理層、業(yè)務(wù)實現(xiàn)層和硬件抽象
層;
所述的應(yīng)用層負(fù)責(zé)管理頁面,以及消息管理器的啟動;
所述的業(yè)務(wù)管理層主要是對消息的管理;
所述的業(yè)務(wù)實現(xiàn)層是每個測試項的具體邏輯實現(xiàn),以及從終端取消息和將結(jié)果送到終端的功能的實現(xiàn),所有的業(yè)務(wù)動作都是在這一層具體體現(xiàn)的;
所述的硬件抽象層設(shè)置硬件的驅(qū)動部分;
所述的PC側(cè)包括采用4層分布,分別為應(yīng)用層、業(yè)務(wù)管理層、業(yè)務(wù)實現(xiàn)層和硬件抽象
層;
所述的應(yīng)用層負(fù)責(zé)管理頁面,輸出打??;
所述的業(yè)務(wù)管理層主要是對測試隊列的管理;
業(yè)務(wù)實現(xiàn)層是每個測試項的具體邏輯實現(xiàn),以及對測試源的控制,測試臺的管理; 硬件抽象層主要是通訊模塊,承載上下的數(shù)據(jù)交互業(yè)務(wù);
所述的裝置側(cè)的流程步驟為
(1)開始;
(2)初始化;
(3)捕獲消息,投入到消息列隊,從消息隊列中讀取消息;是,則進(jìn)入下一步,否,則重新從消息隊列中讀取消息;
(4)啟動執(zhí)行器;
(5)輸出執(zhí)行結(jié)果;
所述的PC側(cè)的流程步驟為
(1)開始;
(2)初始化;(3)啟動測試線路,是,則進(jìn)入下一步,否則重新啟動測試線路;
(4)啟動執(zhí)行器;
(5)執(zhí)行單個測試項寫命令;
(6)執(zhí)行單個測試項讀命令;
(7)判定并記錄執(zhí)行結(jié)果;
(8)測試項執(zhí)行完畢,是,則進(jìn)入下一步,否則返回到第(5)步;
(9)輸出測試結(jié)果。 所述的裝置側(cè)內(nèi)的業(yè)務(wù)管理層包括消息隊列管理器、消息輸入單元、消息處理單元和執(zhí)行結(jié)果輸出單元;
消息隊列管理器建立了一個消息隊列以及提供對消息隊列的訪問管理,這是一個核心的模塊,與外設(shè)以及具體業(yè)務(wù)無關(guān),消息隊列的基本操作如初始化,消息入隊,消息出隊等功能在這里實現(xiàn);
所述的消息隊列管理器分為消息入隊和消息出隊;
消息輸入單元實現(xiàn)對外設(shè)的信息捕獲,以及將捕獲的信息解析成標(biāo)準(zhǔn)消息格式,隨后訪問消息管理器,將消息壓入消息隊列,在解析時需要進(jìn)行具體測試業(yè)務(wù)與消息體的綁定,如果出現(xiàn)帶參消息情況,在解析時,消息體中只是保留了參數(shù)指針和參數(shù)長度,具體的參數(shù)需要使用預(yù)分配的內(nèi)存來保存,本單元只提供一個接口給應(yīng)用層使用,所有動作均在接口內(nèi)部實現(xiàn);
消息處理單元本單元維護(hù)了一個執(zhí)行器在運(yùn)行,執(zhí)行器反復(fù)執(zhí)行消息動作接口函數(shù),流程上首先訪問消息管理器,從消息隊列中取出消息,如有消息再將此消息傳給執(zhí)行器執(zhí)行,從而完成具體業(yè)務(wù)的操作;
所述的消息入隊的流程步驟為
(1)開始;
(2)新消息輸入;
(3)重定位寫消息指針;
(4)查看當(dāng)前位置是否有消息,是,則退出;否,則進(jìn)入下一步;
(5)新消息入隊;
(6)退出;
所述的消息出隊的流程步驟為
(1)開始;
(2)消息是否為空,是,則進(jìn)入最后一步;否則進(jìn)入下一步;
(3)當(dāng)前消息是否有效,是,則進(jìn)入下一步;否,則進(jìn)入最后一步;
(4)當(dāng)前消息出隊;
(5)重定位讀消息指針;
(6)退出;
所述的消息輸入單元的流程步驟為
(1)開始;
(2)從外設(shè)獲取消息ID;
(3)組建標(biāo)準(zhǔn)格式消息;(4)新消息入隊;
所述的消息處理單元的流程步驟為
(1)開始;
(2)從隊列彈出消息;
(3)消息校驗;
(4)執(zhí)行消息的行接口;
(5)拋出執(zhí)行結(jié)果到外設(shè);
所述的執(zhí)行結(jié)果輸出單元主要是對消息執(zhí)行結(jié)果 的輸出獲取,以及輸出到外設(shè),在執(zhí)行動作結(jié)束后,消息體內(nèi)會保存本次執(zhí)行動作的結(jié)果,本單元將負(fù)責(zé)將此結(jié)果輸出到終端 用戶,若有測試無法用單一狀態(tài)返回給上位機(jī)的情況,則需要返回一些狀態(tài)量,此情況與消息帶參情況一般處理。所述的業(yè)務(wù)實現(xiàn)層包括測試項單元、消息輸入和結(jié)果輸出,所述的測試項單元實現(xiàn)具體的測試邏輯,所有的測試業(yè)務(wù)都在這里進(jìn)行個性化實現(xiàn),在每個測試項的子類接口里,通過對硬件驅(qū)動的訪問,實現(xiàn)單個測試項的測試邏輯,測試項的具體動作在這里得到完整的體現(xiàn)。所述的PC側(cè)的業(yè)務(wù)管理層為操作隊列管理,負(fù)責(zé)將測試隊列分解執(zhí)行,逐個訪問隊列中的每個操作節(jié)點(diǎn);
所述的操作隊列管理的流程步驟為
(1)開始測試;
(2)啟動測試器;
(3)測試節(jié)點(diǎn)執(zhí)行;
(4)測試隊列執(zhí)行完畢,是,則進(jìn)行下一步;否,則返回上一步;
(5)退出。所述的PC側(cè)的測試業(yè)務(wù)具體測試邏輯實現(xiàn),根據(jù)測試類型對測試邏輯進(jìn)行細(xì)化,將測試動作轉(zhuǎn)化為一系列數(shù)據(jù)幀發(fā)給裝置側(cè)軟件,并對回復(fù)數(shù)據(jù)進(jìn)行判定,得到最終測試結(jié)果,將此結(jié)果以消息的形式發(fā)給主界面模塊,測試源控制管理,為測試業(yè)務(wù)提供相應(yīng)的功能,配合完成測試,測試臺模塊也是測試業(yè)務(wù)的配合模塊;
所述的測試業(yè)務(wù)的流程步驟為
(1)測試業(yè)務(wù)邏輯裝換為邏輯數(shù)據(jù)包;
(2)數(shù)據(jù)包下發(fā);
(3)等待返回結(jié)果并判斷;
(4)退出。所述的PC側(cè)的硬件抽象層內(nèi)的通訊模塊負(fù)責(zé)PC側(cè)和裝置側(cè)的數(shù)據(jù)交互,設(shè)計借用原有上位機(jī)通訊模塊。與現(xiàn)有技術(shù)相比,本發(fā)明具有的優(yōu)點(diǎn)和效果如下本發(fā)明通過自動化的方式快速檢測YZ系列綜保裝置的硬件是否工作正常,并通過檢測定位硬件存在的確切問題。該系統(tǒng)可代替?zhèn)鹘y(tǒng)手工測試過程,操作簡單,使用方便,操作員只需要操作PC機(jī)即可完成對綜保裝置的測試,可大幅度提高生產(chǎn)測試的效率,降低生產(chǎn)測試成本。四
圖I為本發(fā)明裝置側(cè)流程 圖2為本發(fā)明PC側(cè)流程 圖3為本發(fā)明裝置側(cè)結(jié)構(gòu)框架 圖4為本發(fā)明PC側(cè)結(jié)構(gòu)框架 圖5為本發(fā)明消息入隊流程 圖6為本發(fā)明消息出對流程 圖7為本發(fā)明消息輸入流程 圖8為本發(fā)明消息處理流程圖;
圖9為本發(fā)明界面流程 圖10為本發(fā)明操作隊列流程 圖11為本發(fā)明測試業(yè)務(wù)流程 圖12為本發(fā)明總體流程圖。五具體實施例方式 1.1本發(fā)明的功能要求
通訊功能檢測由PC機(jī)下發(fā)通訊命令,檢查被測裝置是否回復(fù)正確。如果不回復(fù)或回復(fù)錯誤則通訊通道有問題。單片機(jī)ROM自檢檢測單片機(jī)的ROM是否有壞BANK。采用抽樣地址讀寫檢測方案。裝置在接受到PC機(jī)下發(fā)的ROM自檢命令后,裝置在固定的幾個區(qū)域選擇固定的地址進(jìn)行讀寫操作。如果寫入和讀出得數(shù)據(jù)有不一致的現(xiàn)象。則表示ROM區(qū)有壞BANK。則判定該單片機(jī)ROM有問題。單片機(jī)RAM自檢檢測單片機(jī)的RAM是否有壞BANK。采用抽樣地址讀寫檢測方案。裝置在接受到PC機(jī)下發(fā)的RAM自檢命令后,裝置在固定的幾個區(qū)域選擇固定的地址進(jìn)行讀寫操作。如果寫入和讀出得數(shù)據(jù)有不一致的現(xiàn)象。則表示ROM區(qū)有壞BANK。則判定該單片機(jī)RAM有問題。開出量檢測由PC機(jī)遙控被測裝置開出量輸出,PC機(jī)同時檢測測試臺是否收到被測裝置的開出信號。若測試臺未收到裝置的開出信號,則判為被測裝置開出信號有問題。開入量檢測由PC機(jī)遙控測試臺向被測裝置發(fā)出開入量信號,PC機(jī)同時檢測被測裝置是否收到開入信號。被測裝置未收到開入量則判為開入量通道有問題。AD通道檢測由PC機(jī)控制電流、電壓源給被測裝置輸出電流、電壓信號,PC機(jī)同時檢測被測裝置的測量信號。(最好能做到通過后臺校正通道零點(diǎn),調(diào)整通道系數(shù))如果通道零點(diǎn),通道系數(shù)無法調(diào)整或測量的電流、電壓值偏差比較大,則判為AD通道有問題??撮T狗芯片檢測由PC機(jī)關(guān)掉喂狗功能檢測被測裝置是否有重新啟動現(xiàn)象,如果被測裝置沒有重啟則判為看門狗芯片有問題。打開喂狗功能,檢測被測裝置在一段時間內(nèi)是否有重啟現(xiàn)象,如果被測裝置有重啟現(xiàn)象,則判為看門狗芯片有問題。鐵電芯片檢測由PC機(jī)下發(fā)向鐵電芯片寫入的數(shù)據(jù),寫完數(shù)據(jù),由PC機(jī)控制測試臺斷電,重新上電。再由PC機(jī)讀取鐵電數(shù)據(jù),檢測寫入和讀取的數(shù)據(jù)是否一致。若不一致則判斷鐵電讀取通道或者鐵電芯片有問題。EEPROM芯片檢測檢測方法同鐵電芯片。時鐘芯片檢測由PC機(jī)向被測裝置寫入時間,并監(jiān)測被測裝置的時間是否正常變化。如果未正常變化則判時鐘芯片有問題。如果正常變化,則斷電一段時間后重新上電后再由PC機(jī)讀取時間。如果重新上電后讀取的時間不對,則時鐘芯片有問題。后續(xù)Vrl. I. 0. 0版本需加入按鍵,液晶,硬壓板等測試項,
通訊測試部分是否需要加入不同波特率的測試
I. 2本發(fā)明的運(yùn)行環(huán)境
YZ系列綜保裝置自動測試軟件系統(tǒng)分為兩部分,分別運(yùn)行于裝置側(cè)和PC側(cè),以下我們分開來論述。自動測試裝置側(cè)軟件寄生于YZ系列綜合微機(jī)保護(hù)裝置的嵌入式應(yīng)用軟件,所以該軟件也運(yùn)行于YZ系列綜合微機(jī)保護(hù)裝置的硬件+嵌入式實時操作系統(tǒng)平臺。YZ102系列綜合微機(jī)保護(hù)裝置的嵌入式實時操作系統(tǒng)運(yùn)行于YZ系列綜合微機(jī)保護(hù)裝置的硬件平臺。
自動測試PC側(cè)軟件運(yùn)行于windows平臺,通過串口遵循modbus協(xié)議與裝置通訊,完成對裝置側(cè)的測試控制。I. 3本發(fā)明的基本設(shè)計概念和處理流程 裝置側(cè)(參見圖I)
裝置側(cè)軟件參考了 Windows的消息管理機(jī)制,將每個測試動作抽象為一條消息,測試軟件維持了一個消息隊列管理器來管理消息,它不斷地從終端(如界面,通訊模塊等)捕獲消息,并將捕獲的消息壓入消息隊列,同時又從消息隊列里取出消息并執(zhí)行,并將執(zhí)行結(jié)果返回到終端(如界面,通訊模塊等),從而完成了對每個測試項的測試功能。因PKOS未提供內(nèi)存動態(tài)分配機(jī)制,所以采用預(yù)分配的方式來實現(xiàn)消息隊列實體MsgQueue的內(nèi)存領(lǐng)用,此數(shù)據(jù)結(jié)構(gòu)為私有數(shù)據(jù),對外只暴露接口,鑒于存在有對隊列的異步訪問,所以同步問題在接口內(nèi)部使用PKOS的臨界區(qū)機(jī)制來解決。借鑒C++多態(tài)的思想,測試業(yè)務(wù)抽象而來的消息(基類)有一個抽象執(zhí)行動作接口(函數(shù)指針),此接口并不實現(xiàn)具體的測試邏輯,而是將測試邏輯交由底層子類來實現(xiàn),所以上層只需要通過對消息執(zhí)行動作接口的訪問就可完成具體的測試動作。但因為我們使用的是純C的環(huán)境,并沒有多態(tài)機(jī)制來約束,所以在消息解析時需要完成具體測試項在消息體上的掛載。若存在消息帶參以及測試結(jié)果無法用單一狀態(tài)表示的這兩種情況,為保存這些信息,我們需要另行分配內(nèi)存,此內(nèi)存全局共享,無訪問限制。PC偵彳(參見圖2):
PC側(cè)軟件運(yùn)行于VC++環(huán)境,windows平臺,這里我們通過多線程的方式來實現(xiàn)多路并行測試,每條測試線路可掛多臺裝置,每條線路采用縱向測試策略(即逐個先測每個裝置的同類型測試項,完成后再繼續(xù)進(jìn)行下一個測試項的多機(jī)測試)。我們定義了一個操作節(jié)點(diǎn)OperationItem來封裝測試類的數(shù)據(jù)和行為,同樣是采用純虛函數(shù)接口,具體測試業(yè)務(wù)交由子類實現(xiàn)。所有操作節(jié)點(diǎn)均封裝在一個操作隊列里,在實際操作中,某個測試線路啟動之后隨之啟動操作隊列執(zhí)行器,遍歷整個隊列即可完成對所有測試項的測試。為了實現(xiàn)對操作過程的監(jiān)控以及結(jié)果的輸出,在每個測試項測試完成之后(是完成,不是成功),將測試完成的狀態(tài)以消息的形式發(fā)給主界面線程,用來刷新界面以及輸出
最終結(jié)果。
I. 4本發(fā)明系統(tǒng)架構(gòu)設(shè)計
裝置側(cè)(參見圖3)
裝置側(cè)軟件采用4層分布,每層向上提供明晰的接口。應(yīng)用層負(fù)責(zé)管理頁面,以及消息管理器的啟動。業(yè)務(wù)管理層主要是對消息的管理。業(yè)務(wù)實現(xiàn)層是每個測試項的具體邏輯實現(xiàn),以及從終端取消息和將結(jié)果送到終端的功能的實現(xiàn),所有的業(yè)務(wù)動作都是在這一層具體體現(xiàn)的。硬件抽象層主要是硬件驅(qū)動部分,這部分借用YZ102以實現(xiàn)的模塊。
PC偵彳(參見圖4):
PC側(cè)軟件也采用4層分布,定義基本與裝置側(cè)相似。應(yīng)用層負(fù)責(zé)管理頁面,輸出打印等。業(yè)務(wù)管理層主要是對測試隊列的管理。業(yè)務(wù)實現(xiàn)層是每個測試項的具體邏輯實現(xiàn),以及對測試源的控制,測試臺的管理。硬件抽象層主要是通訊模塊,承載上下的數(shù)據(jù)交互業(yè)務(wù)。I. 5子系統(tǒng) 裝置側(cè)
消息管理模塊
本模塊由以下幾部分組成
消息隊列管理器(參見圖5、圖6):
本單元建立了一個消息隊列以及提供對消息隊列的訪問管理,這是一個核心的模塊,與外設(shè)以及具體業(yè)務(wù)無關(guān),消息隊列的基本操作如初始化,消息入隊,消息出隊等功能在這里實現(xiàn)。消息輸入單元(參見圖7):
本單元實現(xiàn)對外設(shè)的信息捕獲,以及將捕獲的信息解析成標(biāo)準(zhǔn)消息格式,隨后訪問消息管理器,將消息壓入消息隊列。在解析時需要進(jìn)行具體測試業(yè)務(wù)與消息體的綁定。特別說明的是,如果出現(xiàn)帶參消息情況,在解析時,消息體中只是保留了參數(shù)指針和參數(shù)長度,具體的參數(shù)需要使用預(yù)分配的內(nèi)存來保存。本單元只提供一個接口給應(yīng)用層使用,所有動作均在接口內(nèi)部實現(xiàn)。消息處理單元(參見圖8)
本單元維護(hù)了一個執(zhí)行器在運(yùn)行,執(zhí)行器反復(fù)執(zhí)行消息動作接口函數(shù)。流程上首先訪問消息管理器,從消息隊列中取出消息,如有消息再將此消息傳給執(zhí)行器執(zhí)行,從而完成具體業(yè)務(wù)的操作。執(zhí)行結(jié)果輸出單元
本單元主要是對消息執(zhí)行結(jié)果的輸出獲取,以及輸出到外設(shè)。在執(zhí)行動作結(jié)束后,消息體內(nèi)會保存本次執(zhí)行動作的結(jié)果,本單元將負(fù)責(zé)將此結(jié)果輸出到終端用戶。若有測試無法用單一狀態(tài)返回給上位機(jī)的情況,則需要返回一些狀態(tài)量,此情況與消息帶參情況一般處理。輸出單元這部分功能比較單一,只是將一個布爾型的輸出結(jié)果(表示某個模塊的測試結(jié)果)分發(fā)到外設(shè),如界面顯示或者發(fā)給后臺。I. 6測試業(yè)務(wù)模塊本模塊實現(xiàn)了具體的測試邏輯,這才是真正的測試環(huán)節(jié),所有測試業(yè)務(wù)都在這里進(jìn)行個性化的實現(xiàn)。在每個測試項的子類接口里,通過對硬件驅(qū)動的訪問,實現(xiàn)單個測試項的測試邏輯,測試項的具體動作在這里得到完整的體現(xiàn)。實現(xiàn)的測試業(yè)務(wù)有
通訊功能檢測
單片機(jī)ROM自檢 單片機(jī)RAM自檢 開出量檢測 開入量檢測 AD通道檢測 看門狗芯片檢測 鐵電芯片檢測 EEPROM芯片檢測 時鐘芯片檢測 I. 7頁面管理模塊
本模塊主要對頁面進(jìn)行管理,機(jī)制與YZ系列綜保裝置軟件保持一致,不再贅述,只是不同的測試方案下頁面顯示將會有所區(qū)別。I. 8外設(shè)驅(qū)動模塊
調(diào)用102成熟模塊,驅(qū)動硬件完成測試動作。PC 側(cè)
I. 9界面管理(參見圖9)
采用單文檔模式設(shè)計,暫定4個線路的測試,所以在窗口類里嵌入容量為4的測試隊列類指針數(shù)組,初始化時再將各個測試隊列實例化,在指定線程里訪問對應(yīng)的測試隊列。實現(xiàn)狀態(tài)機(jī),接收處理各個測試項發(fā)來消息,以線程ID為所以更新不同線路的測試狀態(tài)。多線程創(chuàng)建和管理功能也在這部分提供。2.0輸出打印
將測試結(jié)果輸出給打印設(shè)備(測試報告文件)。2. I操作隊列管理(參見圖10)
執(zhí)行單元,負(fù)責(zé)將測試隊列分解執(zhí)行,逐個訪問隊列中的每個操作節(jié)點(diǎn),與裝置側(cè)軟件的消息處理單元功能類似。2. 2測試業(yè)務(wù)(參見圖11)
具體測試邏輯實現(xiàn),根據(jù)測試類型對測試邏輯進(jìn)行細(xì)化,將測試動作轉(zhuǎn)化為一系列數(shù)據(jù)幀發(fā)給裝置側(cè)軟件,并對回復(fù)數(shù)據(jù)進(jìn)行判定,得到最終測試結(jié)果,將此結(jié)果以消息的形式發(fā)給主界面模塊。測試源控制管理,為測試業(yè)務(wù)提供相應(yīng)的功能,配合完成測試。測試臺模塊也是測試業(yè)務(wù)的配合模塊。2. 3通訊模塊
這部分負(fù)責(zé)PC側(cè)和裝置側(cè)的數(shù)據(jù)交互。設(shè)計借用原有上位機(jī)通訊模塊。
權(quán)利要求
1.一種綜保裝置自動測試系統(tǒng),其特征在于所述的測試系統(tǒng)包括裝置側(cè)和PC側(cè), 所述的裝置側(cè)包括采用4層分布,分別為應(yīng)用層、業(yè)務(wù)管理層、業(yè)務(wù)實現(xiàn)層和硬件抽象層; 所述的應(yīng)用層負(fù)責(zé)管理頁面,以及消息管理器的啟動; 所述的業(yè)務(wù)管理層主要是對消息的管理; 所述的業(yè)務(wù)實現(xiàn)層是每個測試項的具體邏輯實現(xiàn),以及從終端取消息和將結(jié)果送到終端的功能的實現(xiàn),所有的業(yè)務(wù)動作都是在這一層具體體現(xiàn)的; 所述的硬件抽象層設(shè)置硬件的驅(qū)動部分; 所述的PC側(cè)包括采用4層分布,分別為應(yīng)用層、業(yè)務(wù)管理層、業(yè)務(wù)實現(xiàn)層和硬件抽象層; 所述的應(yīng)用層負(fù)責(zé)管理頁面,輸出打印; 所述的業(yè)務(wù)管理層主要是對測試隊列的管理; 業(yè)務(wù)實現(xiàn)層是每個測試項的具體邏輯實現(xiàn),以及對測試源的控制,測試臺的管理; 硬件抽象層主要是通訊模塊,承載上下的數(shù)據(jù)交互業(yè)務(wù); 所述的裝置側(cè)的流程步驟為 (1)開始; (2)初始化; (3)捕獲消息,投入到消息列隊,從消息隊列中讀取消息;是,則進(jìn)入下一步,否,則重新從消息隊列中讀取消息; (4)啟動執(zhí)行器; (5)輸出執(zhí)行結(jié)果; 所述的PC側(cè)的流程步驟為 (1)開始; (2)初始化; (3)啟動測試線路,是,則進(jìn)入下一步,否則重新啟動測試線路; (4)啟動執(zhí)行器; (5)執(zhí)行單個測試項寫命令; (6)執(zhí)行單個測試項讀命令; (7)判定并記錄執(zhí)行結(jié)果; (8)測試項執(zhí)行完畢,是,則進(jìn)入下一步,否則返回到第(5)步; (9)輸出測試結(jié)果。
2.根據(jù)權(quán)利要求I所述的綜保裝置自動測試系統(tǒng),其特征在于所述的裝置側(cè)內(nèi)的業(yè)務(wù)管理層包括消息隊列管理器、消息輸入單元、消息處理單元和執(zhí)行結(jié)果輸出單元; 消息隊列管理器建立了一個消息隊列以及提供對消息隊列的訪問管理,這是一個核心的模塊,與外設(shè)以及具體業(yè)務(wù)無關(guān),消息隊列的基本操作如初始化,消息入隊,消息出隊等功能在這里實現(xiàn); 所述的消息隊列管理器分為消息入隊和消息出隊; 消息輸入單元實現(xiàn)對外設(shè)的信息捕獲,以及將捕獲的信息解析成標(biāo)準(zhǔn)消息格式,隨后訪問消息管理器,將消息壓入消息隊列,在解析時需要進(jìn)行具體測試業(yè)務(wù)與消息體的綁定,如果出現(xiàn)帶參消息情況,在解析時,消息體中只是保留了參數(shù)指針和參數(shù)長度,具體的參數(shù)需要使用預(yù)分配的內(nèi)存來保存,本單元只提供一個接口給應(yīng)用層使用,所有動作均在接口內(nèi)部實現(xiàn); 消息處理單元本單元維護(hù)了一個執(zhí)行器在運(yùn)行,執(zhí)行器反復(fù)執(zhí)行消息動作接口函數(shù),流程上首先訪問消息管理器,從消息隊列中取出消息,如有消息再將此消息傳給執(zhí)行器執(zhí)行,從而完成具體業(yè)務(wù)的操作; 所述的消息入隊的流程步驟為 (1)開始; (2)新消息輸入; (3)重定位寫消息指針; (4)查看當(dāng)前位置是否有消息,是,則退出;否,則進(jìn)入下一步; (5)新消息入隊; (6)退出; 所述的消息出隊的流程步驟為 (1)開始; (2)消息是否為空,是,則進(jìn)入最后一步;否則進(jìn)入下一步; (3)當(dāng)前消息是否有效,是,則進(jìn)入下一步;否,則進(jìn)入最后一步; (4)當(dāng)前消息出隊; (5)重定位讀消息指針; (6)退出; 所述的消息輸入單元的流程步驟為 (1)開始; (2)從外設(shè)獲取消息ID; (3)組建標(biāo)準(zhǔn)格式消息; (4)新消息入隊; 所述的消息處理單元的流程步驟為 (1)開始; (2)從隊列彈出消息; (3)消息校驗; (4)執(zhí)行消息的行接口; (5)拋出執(zhí)行結(jié)果到外設(shè); 所述的執(zhí)行結(jié)果輸出單元主要是對消息執(zhí)行結(jié)果的輸出獲取,以及輸出到外設(shè),在執(zhí)行動作結(jié)束后,消息體內(nèi)會保存本次執(zhí)行動作的結(jié)果,本單元將負(fù)責(zé)將此結(jié)果輸出到終端用戶,若有測試無法用單一狀態(tài)返回給上位機(jī)的情況,則需要返回一些狀態(tài)量,此情況與消息帶參情況一般處理。
3.根據(jù)權(quán)利要求I或2所述的綜保裝置自動測試系統(tǒng),其特征在于所述的業(yè)務(wù)實現(xiàn)層包括測試項單元、消息輸入和結(jié)果輸出,所述的測試項單元實現(xiàn)具體的測試邏輯,所有的測試業(yè)務(wù)都在這里進(jìn)行個性化實現(xiàn),在每個測試項的子類接口里,通過對硬件驅(qū)動的訪問,實現(xiàn)單個測試項的測試邏輯,測試項的具體動作在這里得到完整的體現(xiàn)。
4.根據(jù)權(quán)利要求3所述的綜保裝置自動測試系統(tǒng),其特征在于所述的PC側(cè)的業(yè)務(wù)管理層為操作隊列管理,負(fù)責(zé)將測試隊列分解執(zhí)行,逐個訪問隊列中的每個操作節(jié)點(diǎn); 所述的操作隊列管理的流程步驟為 (1)開始測試; (2)啟動測試器; (3)測試節(jié)點(diǎn)執(zhí)行; (4)測試隊列執(zhí)行完畢,是,則進(jìn)行下一步;否,則返回上一步; (5)退出。
5.根據(jù)權(quán)利要求4所述的綜保裝置自動測試系統(tǒng),其特征在于所述的PC側(cè)的測試業(yè)務(wù)具體測試邏輯實現(xiàn),根據(jù)測試類型對測試邏輯進(jìn)行細(xì)化,將測試動作轉(zhuǎn)化為一系列數(shù)據(jù)幀發(fā)給裝置側(cè)軟件,并對回復(fù)數(shù)據(jù)進(jìn)行判定,得到最終測試結(jié)果,將此結(jié)果以消息的形式發(fā)給主界面模塊,測試源控制管理,為測試業(yè)務(wù)提供相應(yīng)的功能,配合完成測試,測試臺模塊也是測試業(yè)務(wù)的配合模塊; 所述的測試業(yè)務(wù)的流程步驟為 (1)測試業(yè)務(wù)邏輯裝換為邏輯數(shù)據(jù)包; (2)數(shù)據(jù)包下發(fā); (3)等待返回結(jié)果并判斷; (4)退出。
6.根據(jù)權(quán)利要求5所述的綜保裝置自動測試系統(tǒng),其特征在于所述的PC側(cè)的硬件抽象層內(nèi)的通訊模塊負(fù)責(zé)PC側(cè)和裝置側(cè)的數(shù)據(jù)交互,設(shè)計借用原有上位機(jī)通訊模塊。
全文摘要
本發(fā)明涉及一種綜保裝置自動測試系統(tǒng)?,F(xiàn)有的生產(chǎn)測試采用純手工的方式,由操作員將裝置手動定位于測試工裝后,手工完成模擬量采集,開入量等外部輸入的測試,以及通道零點(diǎn)校準(zhǔn),通道系數(shù)的校準(zhǔn)等出廠設(shè)置,完成相關(guān)操作后,在預(yù)先打印好的測試報告中手動填寫測試記錄數(shù)據(jù),所有環(huán)節(jié)均由操作員完成,不可靠因素較多,風(fēng)險大,且效率低下。本發(fā)明是通過自動化的方式快速檢測YZ系列綜保裝置的硬件是否工作正常,并通過檢測定位硬件存在的確切問題。該系統(tǒng)可代替?zhèn)鹘y(tǒng)手工測試過程,操作簡單,使用方便,操作員只需要操作PC機(jī)即可完成對綜保裝置的測試,可大幅度提高生產(chǎn)測試的效率,降低生產(chǎn)測試成本。
文檔編號G06F11/00GK102819463SQ201210292878
公開日2012年12月12日 申請日期2012年8月17日 優(yōu)先權(quán)日2012年8月17日
發(fā)明者聶都, 吳立鴻 申請人:西安遠(yuǎn)征智能軟件有限公司