應(yīng)用領(lǐng)域: 院校
使用的產(chǎn)品:美國National Instruments 的LabVIEW 6.1軟件和PXI-1000、PXI-1001、PXI-1002 、PXI-8330 、PXI-6070E 、PXI-6071E 、SCXI-1520 、SCXI-1531 、SCB-100、SCXI-1314 等硬件設(shè)備。
挑戰(zhàn):快速建立能夠進(jìn)行城市軌道車輛轉(zhuǎn)向架零部件特性測定和動力學(xué)性能測定的高性能測試平臺。
應(yīng)用方案: 使用美國National Instruments 公司的PXI 測試設(shè)備和LabVIEW6.1 軟件建立基于虛擬儀器技術(shù)的轉(zhuǎn)向架測試平臺;同時,開發(fā)出相應(yīng)的后期分析處理軟件。
介紹
在城市軌道車輛轉(zhuǎn)向架測試中,需要測量大量的應(yīng)變、電壓和加速度等信號,這不僅要求數(shù)據(jù)的高速實時采集而且也要設(shè)備具有很高的穩(wěn)定性和可靠性。使用美國National Instruments 高效可靠的PXI 總線設(shè)備和LabVIEW 快速圖形開發(fā)環(huán)境,快速建立起的多功能轉(zhuǎn)向架測試平臺。實踐應(yīng)用證明,完全達(dá)到了系統(tǒng)設(shè)計時的各項要求。
基于PXI 總線的系統(tǒng)架構(gòu)
系統(tǒng)結(jié)構(gòu)如圖1 所示,這是一個由信號采集與調(diào)理模塊(SCXI-1531、 SCXI-1520、SCB-100 )、PXI 數(shù)據(jù)采集卡(PXI-6070E、PXI-6071E)和PXI 接口卡(PXI-8330,采用MXI-3 技術(shù))組成的數(shù)據(jù)實時采集系統(tǒng)。在這個系統(tǒng)中,由于采用了PXI和MXI-3總線技
術(shù),因此能夠充分保證實時數(shù)據(jù)采樣時的帶寬要求。
[align=center]
圖1 系統(tǒng)結(jié)構(gòu)圖[/align]
PXI 和MXI-3 技術(shù)
PXI 是1997 年NI 公司發(fā)布的一種全新的開放性、模塊化儀器總線規(guī)范,是PCI 在儀器領(lǐng)域的擴(kuò)展(PCI eXtensions for Instrumentation) 。它將CompactPCI 規(guī)范定義的PCI總線技術(shù)發(fā)展成適合于試驗、測量與數(shù)據(jù)采集場合應(yīng)用的機(jī)械、電氣和軟件規(guī)范,從而形成了新的虛擬儀器體系結(jié)構(gòu)。制訂PXI 規(guī)范的目的是為了將臺式PC 的性能價格比優(yōu)勢與PCI總線面向儀器領(lǐng)域的必要擴(kuò)展完美地結(jié)合起來,形成一種主流的虛擬儀器測試平臺。MXI-3 技術(shù)是一種PCI總線之間的軟硬件透明的高性能連接技術(shù),不僅可以進(jìn)行PXI/CompactPCI 機(jī)箱之間的連接而且可以讓主控計算機(jī)通過透明的軟硬件連接實現(xiàn)對PXI 系統(tǒng)的直接控制。MXI-3 技術(shù)也提供了最高可達(dá)1.5Gb/s 的串行數(shù)據(jù)連接。該轉(zhuǎn)向架測試平臺采用具有PXI 和MXI-3 技術(shù)的NI公司產(chǎn)品建立測試系統(tǒng),與使用傳統(tǒng)的測試技術(shù)相比,不僅具有更高的性價比,而且使用也更加簡便、靈活,特別是其信號調(diào)理模塊具有完全的程序可控性,這些特點(diǎn)都為快速組建成本低廉、功能強(qiáng)大的測試平臺提供了前提條件。
系統(tǒng)的軟件設(shè)計
“軟件就是儀器”,軟件設(shè)計已經(jīng)成為了基于虛擬儀器技術(shù)的測試系統(tǒng)的關(guān)鍵環(huán)節(jié)。尤其是對于采用了NI 公司的PXI 測試設(shè)備的測試系統(tǒng),硬件的使用難度已大大降低,在其上所耗費(fèi)的時間已越來越
少,因此能把更多的精力投入到軟件的系統(tǒng)開發(fā)上。
在本系統(tǒng)開發(fā)中,我們采用LabVIEW 作為編程語言。LabVIEW 圖形化編程語言具有簡單易用、功能強(qiáng)大等優(yōu)點(diǎn),它能與NI 公司的硬件設(shè)備達(dá)到無縫結(jié)合,是首選的開發(fā)工具。
本系統(tǒng)分為實時測試子系統(tǒng)(圖2)和數(shù)據(jù)處理與回放子系統(tǒng)(圖3)。實時測試子系統(tǒng)實現(xiàn)多通道測試信號的實時采集、存儲和監(jiān)視。數(shù)據(jù)處理與回放子系統(tǒng)實現(xiàn)數(shù)據(jù)的事后回放和分析處理。
[align=center]
圖2 實時測試子系統(tǒng)
圖3 數(shù)據(jù)采集與回放子系統(tǒng)[/align]
在轉(zhuǎn)向架動力學(xué)性能測試過程中,需要測試的參數(shù)多達(dá)數(shù)十個,因此,測試信息管理就成為實時測試必須面臨的任務(wù)。測試信息主要包括硬件配置信息和數(shù)據(jù)處理信息,前者主要用于硬件的物理設(shè)置如電橋的激勵電壓,后者用于數(shù)據(jù)顯示之前的變換處理如加速度傳感器的靈敏度系數(shù)。在本系統(tǒng)開發(fā)過程中采用了面向?qū)ο蠹夹g(shù)和“ 多層”體系結(jié)構(gòu)來解決復(fù)雜的信息管理等問題。
如圖4 所示,系統(tǒng)縱向分為用戶界面層、業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù)層。用戶界面層實現(xiàn)數(shù)據(jù)顯示以及接收用戶的輸入信息并進(jìn)行必要的校驗。業(yè)務(wù)邏輯層負(fù)責(zé)數(shù)據(jù)信息的轉(zhuǎn)換和控制。數(shù)據(jù)服務(wù)層提供與硬件進(jìn)行交互的讀寫功能,包括硬件參數(shù)的設(shè)置、數(shù)據(jù)文件的保存和讀取。這種“多層”結(jié)構(gòu)有利于系統(tǒng)的維護(hù)和功能的擴(kuò)展。
[align=center]
圖4 軟件體系結(jié)構(gòu)[/align]
應(yīng)該說, NI 公司的NIDeveloperZone 為編程人員提供了許多的編程思想,給予了很多編程靈感。LabVIEW 語言,其本身沒有明確支持的面向?qū)ο蠹夹g(shù), 但可以用DataLogFileRefnum 控件作為對象引用等來間接實現(xiàn)面向?qū)ο蠹夹g(shù)。對象使用方法如圖5 所示,首先創(chuàng)建對象,然后調(diào)用并執(zhí)行它的方法,使用完畢后將其釋放,在此過程中,需要傳遞由創(chuàng)建對象VI 輸出的對象引用,以保證對象方法VI 的順利執(zhí)行。
[align=center]
圖5 對象創(chuàng)建與調(diào)用[/align]
面向?qū)ο蟮膱D形化編程有以下優(yōu)點(diǎn):
1. 更安全地使用數(shù)據(jù)。一般地,要在不同VI 下使用同一數(shù)據(jù)需要使用全局變量,但“赤裸裸”的全局變量既不利于數(shù)據(jù)的并發(fā)控制,也不利于系統(tǒng)的維護(hù)與擴(kuò)展,稍不小心將導(dǎo)致程序的運(yùn)行錯誤。而使用面向?qū)ο蠹夹g(shù),由于數(shù)據(jù)是被封裝的,必須使用對象的方法來調(diào)用內(nèi)部數(shù)據(jù)。因此,可以在對象的方法中,建立數(shù)據(jù)保護(hù)和屏蔽,實現(xiàn)數(shù)據(jù)的并發(fā)控制,使系統(tǒng)更加安全;同時也有利于系統(tǒng)的維護(hù)與擴(kuò)展。
2. 實現(xiàn)“拉進(jìn)式”的程序結(jié)構(gòu)。每個數(shù)據(jù)傳送都有兩個參與者,供應(yīng)者(supplier)產(chǎn)生并發(fā)送數(shù)據(jù), 而使用者( consumer) 則接收和處理數(shù)據(jù)。根據(jù)誰發(fā)起數(shù)據(jù)的傳送, 可分作兩個類型。在“ 推出式”(push)類型中,供應(yīng)者發(fā)起數(shù)據(jù)傳送。而在“拉進(jìn)式”(pull)類型中,發(fā)起人是使用者。在LabVIEW 中供應(yīng)者和使用者可以是控件也可以是子VI,其中子VI 更多一些。對于某個子VI 來說,若只有少量輸入?yún)?shù)可以直接連入即可,但對于大量輸入?yún)?shù)時或者就不知將用到什么參數(shù)信息時,這時使用傳遞對象引用就顯得方便多了。在程序中,我們創(chuàng)建了一個信息服務(wù)對象,集中存儲和管理各種配置信息和參數(shù)信息,在每個子VI 中,我們將這個信息服務(wù)對象的引用傳遞進(jìn)來,而后,子VI 根據(jù)自身的需要調(diào)用信息服務(wù)對象的方法獲得所需要的數(shù)據(jù)?!袄M(jìn)式”程序結(jié)構(gòu)的優(yōu)點(diǎn):有利于使LabVIEW 圖形化程序更加簡潔、高效;有利于系統(tǒng)的維護(hù)與擴(kuò)展;有利于建立統(tǒng)一的程序接口。
3. 可應(yīng)用現(xiàn)已成熟的各種設(shè)計模式來實現(xiàn)高級功能。在面向?qū)ο蠹夹g(shù)中有許多成熟的設(shè)計模式可以實現(xiàn)程序的快速開發(fā), 把其應(yīng)用到LabVIEW 中不僅減少了開發(fā)時間,而且可以實現(xiàn)一些高級功能。比如,應(yīng)用對象持久技術(shù),在實時測試子系統(tǒng)中,使測試的全部信息得以集中保存,而在事后處理與回放子系統(tǒng)中,將測試信息對象從已保存的信息中恢復(fù)回來,為數(shù)據(jù)分析和處理提供信息服務(wù)。
在LabVIEW 中綜合應(yīng)用以上兩種技術(shù),得到如圖6 所示簡化的實時測試子系統(tǒng)的框圖程序。InputCheck 子VI 進(jìn)行用戶輸入信息的校驗。New子VI 創(chuàng)建信息服務(wù)對象并對其進(jìn)行初始化。DAQStart 子VI 負(fù)責(zé)硬件參數(shù)的設(shè)置,其所需硬件配置信息如采樣率等參數(shù)皆可通過調(diào)用信息服務(wù)對象的方法獲得。RealDisplay 子VI 管理數(shù)據(jù)的轉(zhuǎn)換和實時顯示,它所需要的傳感器靈敏度等參數(shù)信息也可以從信息服務(wù)對象中得到。在程序最后, 由ClassPersist 子VI 將信息服務(wù)對象的信息“持久化”到文件,以便在數(shù)據(jù)后期處理時使用。
由此可見,應(yīng)用面向?qū)ο蠹夹g(shù)和“多層”結(jié)構(gòu),對于優(yōu)化程序結(jié)構(gòu)、提高程序的靈活性是很有幫助的。
數(shù)據(jù)顯示與控制
數(shù)據(jù)的準(zhǔn)確實時顯示是實時測試的另一重要任務(wù)。這里采用“總-分”的顯示策略。如圖2,“總”是將所有通道在下面的控件數(shù)組中進(jìn)行分類顯示。“分”是當(dāng)選中某個特定通道時在上面的波形顯示控件中描繪出來。
在框圖程序編程時,將各個顯示控件的引用傳遞到一個RealDisplay 子VI 中(如圖6)通過其進(jìn)行顯示的集中控制。這樣既實現(xiàn)數(shù)據(jù)的顯示也可以控制顯示控件的屬性,實現(xiàn)更好的交互性。在圖2 中,波形顯示控件的PlotLegend 面板顯示了波形與通道的對應(yīng)關(guān)系,它就是通過對波形控件的屬性進(jìn)行控制而實現(xiàn)的。
[align=center]
圖6 實施測試子系統(tǒng)的框圖程序[/align]
結(jié)論
應(yīng)用美國NI 公司LabVIEW和PXI 等先進(jìn)的虛擬儀器技術(shù)快速建立起城市軌道車輛轉(zhuǎn)向架測試平臺,將面向?qū)ο蟮木幊碳夹g(shù)和“多層”體系結(jié)構(gòu)應(yīng)用到測試程序開發(fā)上,提高了系統(tǒng)的可維護(hù)性和可擴(kuò)展性。