蔣凱波
(上海鐵路通信有限公司,上海 200333)
?
一種基于web技術的總線型測試工裝及管理系統(tǒng)技術研究
蔣凱波
(上海鐵路通信有限公司,上海 200333)
提出一種較為先進且現(xiàn)代化的基于web技術的總線型測試工裝及測試管理系統(tǒng),并對其涉及的系統(tǒng)架構、主要功能,以及關鍵的實現(xiàn)技術進行初步研究。
測試工裝;測試總線;web;虛擬儀表;測試流程;測試管理
現(xiàn)代化的制造企業(yè)需要現(xiàn)代化的先進工裝測試系統(tǒng),以滿足企業(yè)對其生產電子類產品品質的管理與控制需要,這不僅體現(xiàn)在測試過程的標準化、模塊化和自動化上,同時也體現(xiàn)在測試管理過程和結果的信息化上。筆者通過對AF904測試工裝系統(tǒng)的研究,結合相關web技術、測控技術、虛擬儀表和BPMN技術,在對其模塊化、標準化研究的基礎上,提出一種集測試與測試管理為一體的先進的總線型測試工裝及管理系統(tǒng),以滿足公司的實際生產和管理需求。
如圖1所示,從系統(tǒng)構成上看,系統(tǒng)主要包括測試管理服務器、測試平臺軟件、測試儀器儀表、輸入輸出測控總線、接口適配及被測設備等幾部分,其中接口適配以上部分為通用部分,硬件部分一旦建成可滿足絕大多數測試任務的需求。對于測試系統(tǒng)與被測系統(tǒng)之間的匹配工作,由接口適配器單元負責完成。
各部分的主要功能闡述如下。
1)輸入輸出測控總線及接口適配
這里的輸入輸出測控總線非傳統(tǒng)意義上的測控總線(如VXI、PXI、GPIB等測試儀表總線),而是測試工裝系統(tǒng)內部設備與被測系統(tǒng)間的結構化總線技術,是為了解決儀器儀表與被測系統(tǒng)之間復雜的、非通用的匹配關系,在對測試工裝標準化、模塊化的基礎上提出來的。
在常見的工裝測試系統(tǒng)中,主要針對電壓、電流、頻率、波形、記數器、通信數據等指標進行測量,采用的儀器儀表可能包括輸入輸出量、也可能僅是輸出量或輸入量,因此,將儀器儀表與被測系統(tǒng)之間復雜的連接關系抽象為輸入總線、輸出總線、控制總線,以及通信總線,各種測試儀表與總線之間通過一個電子繼電器接口連接,電子繼電器連接著控制總線,通過測試平臺的測控軟件按照測試流程自動控制。
對于一般的測試系統(tǒng),接口適配單元可直接接到總線上,可同時并行幾到十幾個被測系統(tǒng),在多個并行測試時,需要考慮總線的負載能力;
對于不同類型的被測對象需要并發(fā)測試的場合,則需要通過電子繼電器接口轉接。
2)測試平臺軟件
測試工裝另一個核心為測試管理軟件,主要包括功能組件:虛擬儀表顯示與控制組件、輸入輸出測控組件、測試流程管理組件、通信功能組件等幾部分。各組件功能如下。
虛擬儀表顯示與控制組件:將測試系統(tǒng)需要的常見儀器儀表通過軟件進行整和,通過web技術實現(xiàn)儀表的虛擬化視圖和操作。
輸入輸出測控組件:通過圖形化的web界面,將輸入輸出各控制節(jié)點的狀態(tài)和操作直觀的顯示出來,操作人員只需要對這些節(jié)點通過點擊鼠標即可方便地完成輸入輸出的控制;對于自動化測試的需求,可針對不同的被測設備,編寫不同的腳本,在自動測試過程中自動加載控制。
測試流程管理組件:根據不同的測試大綱需求,對其進行分解,生成HTML格式的測試腳本,按照該腳本自動或手動完成整個測試流程,并提供直觀的過程視圖,包括每一步測試過程的結果(如實測值、偏差、是否測試通過等),是否需要人工干預(如手動測試節(jié)點提示、是否進入下一步測試、手動輸入測量值等),并自動輸出測試結果。
通信功能組件:對于涉及通信功能的測試,通常需要單獨的界面進行收發(fā)測試,如串口測試、CAN口測試、以太網通信測試等,以及測試過程可能涉及到的對被測設備固件的變更等功能。
3)測試管理服務器軟件
測試與測試管理雖然密不可分,但在實際的操作中,這兩個環(huán)節(jié)通常脫離的比較嚴重,傳統(tǒng)的ERP等管理軟件,由于各種條件的限制,無法進行更精細的管理,如有多少待測設備、已測多少、一次通過率是多少、各批次設備常見的故障點統(tǒng)計數據、每個設備的測試數據、報告信息化管理等。目前這些信息通常都是通過人工統(tǒng)計、事后管理的方式去控制,無論是實時性還是精確度上,都難以滿足現(xiàn)代制造業(yè)的管理需求。因此,測試管理服務器作為測試工裝的一個管理系統(tǒng),與測試工裝一起構成一個密不可分的測試+測試管理的先進測試系統(tǒng),其主要功能包括測試過程的出入管理、測試結果的管理、測試過程的信息統(tǒng)計、測試過程記錄與追溯等,該軟件頂層參考業(yè)務流程建模與標注(BPMN)技術實現(xiàn),具體業(yè)務流程需針對具體的需求進行專門設計。
本測試工裝及管理系統(tǒng)最重要的任務是實現(xiàn)測試的標準化和模塊化,以及測試與管理的一體化。
前者通過標準化的輸入輸出測控總線技術和靈活的接口適配技術實現(xiàn),涉及的主要是硬件相關的技術,不是研究的重點,本文研究的重點在于軟件,即如何通過技術手段,向測試和管理人員提供盡可能一致的、友好的操作界面,屏蔽具體的實現(xiàn)細節(jié),使其專注于測試過程和管理。
系統(tǒng)采用web技術對傳統(tǒng)的測試工裝進行重構,并解決構建過程中遇到的問題,這是本研究需要解決的問題也是難點。
1)軟件架構
系統(tǒng)采用的軟件分層架構模型如圖2所示。
系統(tǒng)包括客戶端、server、儀器儀表、輸入輸出測控總線和被測系統(tǒng)。
客戶端采用通用的IE或Chome等瀏覽器即可運行,為操作人員提供一致的測試和管理界面。
Web層位于服務器中,主要包括兩類界面:用于實現(xiàn)測試配置、測試流程界面和用于測試管理界面。該層涉及的技術包括javascript、html5、SVG、JSF等web 技術。
業(yè)務層也位于服務器中,主要實現(xiàn)web層的各種業(yè)務邏輯,用于測試的,如測試流程文件編輯配置、測試流程、測試結果輸出、虛擬儀表的實現(xiàn)、輸入輸出總線控制邏輯的實現(xiàn)等;用于管理的,如庫存清單、設備狀態(tài)、追溯管理、測試過程信息統(tǒng)計管理等功能模塊。
驅動層主要對標準儀表的輸入輸出進行控制,通過儀器儀表廠商提供的SDK/API實現(xiàn)對儀器儀表的互操作,系統(tǒng)也可以通過通信接口完成與被測系統(tǒng)的通信,如燒寫固件等操作。
系統(tǒng)所需要的信息和過程信息都存儲在數據庫中,通過數據庫完成信息的加載和記錄等。
2)web虛擬儀表與測試技術
虛擬儀表技術是貫穿本測試系統(tǒng)軟件部分最關鍵的核心技術,在實際測試中采用了兩種技術實現(xiàn)。
一種是直接或間接利用常規(guī)的儀器儀表內置的web server實現(xiàn)測試過程中與儀器儀表的交互?,F(xiàn)在多數儀器儀表都內置管理web,通過該web實現(xiàn)對儀表的輸入輸出管理控制,而不用再去關心底層的SDK/API編程了,同時也可通過相關技術直接嵌入到html web測試界面中,徹底實現(xiàn)測試工裝web化。不過這種方法主要適合人工手動測試,不適合自動化流程測試的場合,一款電源和一款示波器的web HMI如圖3所示。
另一種是通過LABVIEW WEB技術實現(xiàn)儀表的虛擬化,并實現(xiàn)業(yè)務邏輯自動化,自動完成與儀器儀表的交互,并最終集成到系統(tǒng)的測試管理平臺中,而對客戶端的操作人員而言,就是普通的web,而且該方法與常規(guī)的SCADA技術實現(xiàn)的虛擬化儀表技術相比,能提供更好的交互操作體驗,而且可以對不同類型的儀表進行橫向的整合,提供統(tǒng)一的web界面。在測試驗證階段采用基于labview技術實現(xiàn)的web儀表盤和控件如圖4所示,一個基于web實現(xiàn)的測試頁如圖5所示。
這兩種實現(xiàn)方法中,前者適合簡單的或很復雜的測試量少的測試任務,這些任務通常需要手動進行單步測試操作,而后者適合數量比較大的批量測試任務,可自動完成整個測試過程,也可手動單步完成測試過程,可實現(xiàn)完整測試,也可實現(xiàn)局部的測試。
此外,還可以直接在業(yè)務層利用儀器儀表廠家提供的SDK/API直接驅動儀器儀表的輸入輸出控制,最終實現(xiàn)自動化測試,但是該方法涉及大量的開發(fā)任務,而且在后期系統(tǒng)平臺軟件的集成上都難以達到預期的效果。
3)測試流程配置管理
不同被測設備的測試流程,主要依據這些被測對象的測試大綱逐步完成,傳統(tǒng)的方法是根據每個測試大綱編寫對應的測試流程軟件,將測試大綱轉化為測試腳本。測試腳本的開發(fā),在測試工裝系統(tǒng)開發(fā)中一直是一個比較煩瑣的事情,通常需要專門的軟件開發(fā)工具和專業(yè)的軟件開發(fā)人員進行開發(fā),完成后通常還需要進行測試驗證,不僅周期長,而且工作量很大。
本研究無論是測試配置、測試流程腳本和測試結果管理,這些都采用標準化的web技術實現(xiàn),具體說是html。采用該技術可實現(xiàn)前端表現(xiàn)層和業(yè)務實現(xiàn)的分離,編輯和驗證可同時快速完成,整個轉化和驗證過程無需專業(yè)的編程人員參與,只要根據提供的html模板,直接添加修改即可,不需要專業(yè)的編程編輯工具,而且整個編輯、驗證、修改等過程可直接使用IE或Chome瀏覽器完成。
為提高腳本的復用性,將測試腳本中常用的部分,以控件或標準模塊的形式單獨存儲,需要時直接引用即可,以提高測試腳本的模塊化和復用性,提高長期重復測試的質量統(tǒng)一性和工作效率。
本研究首先對儀器儀表測試設備與被測系統(tǒng)之間復雜的連接進行了抽象,提出更為通用的輸入輸出測試總線的思路和方法;另外,研究將web技術對工裝測試系統(tǒng)進行了重構,不僅涉及到與儀器儀表web環(huán)境下的交互,而且還體現(xiàn)在web式的測試腳本、測試流程和測試結果輸入輸出管理上,并研究了在這一技術框架下測試過程和測試管理在系統(tǒng)整合開發(fā)過程中遇到的一些關鍵技術。
[1] Eric Jendrock,Ian Evan,Devika Gollapudi,等.李鵬,韓智,譯.Java EE6權威指南(基礎篇)[M].北京: 人民郵電出版社,2012.
[2]竇安生,李鴻飛.VXI和PXI總線技術的應用及其發(fā)展前景[J].工業(yè)控制計算機,2002,15(11):11-12.
[3] Robert H.Bishop,National Instruments. LabVIEW實踐教程[M].喬瑞萍,林欣,等譯.北京:電子工業(yè)出版社,2014.
[4]辛鵬,榮浩.工作流及BPM技術的理論、規(guī)范、模式及最佳實踐[M].北京:人民郵電出版社,2014.
This paper presents a more advanced and modern web-based bus test tooling and test management system, and studies the system architecture, the main functions and key implementing technologies.
test tooling; test bus; web; virtual instrument; testing process; test management
10.3969/j.issn.1673-4440.2016.02.014
2015-08-31)