通過提供一種有效的軟件架構,替換現(xiàn)有的測試軟件,從而能夠提供更好的技術支持與測試可靠性。完成這項工作不應導致較長時間的停產,而應確保方便進行持續(xù)改進。
The Solution:
利用GOOP(圖形化面向對象編程)軟件架構以提供模塊化且可拓展的系統(tǒng)組件,可以提供一種漸次改變的方式。這是通過將現(xiàn)有代碼分解為一個個離散的模塊,并從一個完全重新設計的用戶界面(UI)動態(tài)調用這些模塊來實現(xiàn)的。
"利用LabVIEW 7.1、LabVIEW數(shù)據(jù)錄入與監(jiān)控模塊、LabVIEW實時模塊、LabVIEW PID工具集、Compact FieldPoint、NI數(shù)據(jù)采集等工具,使GOOP編程模式在靈活性、可維護性、代碼性能、裝配可靠性和成本節(jié)省方面展現(xiàn)了極大的優(yōu)勢"
硬件
該系統(tǒng)的硬件由兩個測試頭“灣”和一個工作間組成。每個測試灣擁有約1400個輸入/ 輸出(I/O)通道,而工作間具有約600個I/O 通道。這些I/O 通道都通過三個獨立的由NI FieldPoint模塊構成的RS485網絡連接,并通過OPC服務器訪問,一個OPC 服務器對應一個RS485網絡。除I/O 通道外,測試灣周圍還有各種其他儀器,主要是RS232設備(DMM與PALL 污染監(jiān)測設備)和兩個NI PCI DAQ 板卡。
最初的系統(tǒng)軟件包含約370 Mb代碼,這是一項耗時約35年的開發(fā)成果。整個代碼通過單個頂層VI(虛擬儀器)進行調用,可能需要長達5分鐘的時間才能加載至PC 存儲器。這使得系統(tǒng)難于調試,而且?guī)缀鯚o法維護。穩(wěn)定該系統(tǒng)的最顯著的優(yōu)勢在于將代碼分解成測試與工具模塊。
這些模塊一經識別,便通過一些內部封裝有測試數(shù)據(jù)的GOOP- 類VI 對其進行改造。一旦完成該項工作,系統(tǒng)便支持根據(jù)需要動態(tài)加載這些模塊至系統(tǒng)存儲器或自系統(tǒng)存儲器卸載。因而,UI便可與系統(tǒng)代碼的其余部分相分離。
系統(tǒng)架構展現(xiàn)了OOP 類中的數(shù)據(jù)封裝
這樣顯著地降低了系統(tǒng)中的存儲器占用——約2 Mb(供UI 使用)加上1~5 Mb(取決于同時使用哪一個。其他方面的系統(tǒng)改進包括將系統(tǒng)的某些時間關鍵的處理工作(如E-stop 處理子例程)分發(fā)至網絡的其他部分,以避開OPC 服務器中的延遲。這是通過Compact FieldPoint 與LabVIEW 實時模塊實現(xiàn)的。
展望
系統(tǒng)在獲得所期望的性能與靈活性的同時,也支持我們規(guī)劃設備的更替?,F(xiàn)在可以升級部分設備而不影響其他部分。例如,現(xiàn)在的RS232- 驅動的DMM將由通過LAN控制的NI PXI 替代。這可以通過在某個測試灣中使用GOO 來完成,而不必使用主要設備宕機。
總結
長期開發(fā)這一設備的想法早就被放棄。這使得后來幾個月的開發(fā)過程的管理更為輕松。
就靈活性、可維護性、代碼性能、裝配可靠性和成本節(jié)省而言,向GOOP 編程模式的轉換所獲得的回報遠遠超出預期。
在生產流水線環(huán)境下,新的架構使得動態(tài)修改系統(tǒng)得以實現(xiàn),以獲得對開發(fā)中的中間產品的支持。