3.3通用數(shù)據(jù)采集卡的驅(qū)動設(shè)計 系統(tǒng)中,在數(shù)據(jù)采集卡部分,LabVIEW提供了大量的數(shù)據(jù)采集子程序,這些驅(qū)動程序從簡單到高級,可以提供給用戶使用,但這些子程序只支持NI的數(shù)據(jù)采集卡(DAQ)以及少數(shù)公司開發(fā)的支持LabVIEW平臺的數(shù)據(jù)采集卡,而這些卡的價格較昂貴,一般的用戶很難接受。因此,為了能在LabVIEW平臺上使用普通數(shù)據(jù)采集,有以下幾種方案可以解決LabVIEW與普通數(shù)據(jù)采集卡驅(qū)動的問題。 3.3.1基于LabVIEW的普通國產(chǎn)采集卡的驅(qū)動方法 為了解決LabVIEW與普通國產(chǎn)采集卡的接口驅(qū)動問題,有三種可行方案: ①直接用LabVIEW的InPort , OutPort圖標(biāo)編程方式; ②用LabVIEW的CIN圖標(biāo)生成的板卡卡驅(qū)動程序的子VI方式; ③用LabVIEW的Call Library Functions圖標(biāo),動態(tài)鏈接數(shù)據(jù)采集卡的。DLL庫函數(shù)方式。 (1)用In Port和Out Port直接編程方式(I/O方式)驅(qū)動 LabVIEW中有兩個直接訪問底層設(shè)備的圖標(biāo),即In Port.vi和Out Port.vi.這兩個函數(shù)分別完成從設(shè)備的物理地址直接讀取和輸出數(shù)據(jù)功能,通過直接讀寫寄存器可以提高數(shù)據(jù)的傳輸速率,采集卡的工作方式為軟件驅(qū)動,查詢方式為讀取采樣結(jié)果。In Port.vi和Out port.vi圖標(biāo)存放在Memory子模板上。直接讀取端口方式實現(xiàn)起來比較簡單,適用于采集精度要求不高的情況。對于精度要求高且復(fù)雜的采集系統(tǒng),如包含對內(nèi)存大量操作的情況,這種方式就不能滿足要求[19]。 (2)調(diào)用C語言源代碼方式(CINF方式)驅(qū)動 在實際設(shè)計中,經(jīng)常會碰到某些想實現(xiàn)的功能,但利用LabVIEW圖標(biāo)實現(xiàn)和處理又不是很方便靈活,而利用其他編程語言很容易實現(xiàn)的情況。這時就需要用LabVIEW中的接口圖標(biāo),以實現(xiàn)LabVIEW與其他語言直接的連接,CIN圖標(biāo)就是其中的一種。 它是LabVIEW與C語言的接口,CIN通過輸入、輸出端口實現(xiàn)兩種語言之間的數(shù)據(jù)傳遞。輸入、輸出端口的個數(shù)可由設(shè)計者根據(jù)實際需要確定。當(dāng)LabVIEW的程序運行到CIN節(jié)點時,數(shù)據(jù)由CIN的輸入端口傳遞給C源代碼圖標(biāo),程序去執(zhí)行C源代碼,代碼執(zhí)行完后,得到的數(shù)據(jù)結(jié)果由CIN的輸出端返回給LabVIEW [20]。 (3)調(diào)用動態(tài)連接庫DLL的方式(CLF方式)驅(qū)動 動態(tài)連接庫(DLL)是一種應(yīng)用程序在運行時與庫文件連接起來的技術(shù),是在應(yīng)用程序運行時被裝入和鏈接的,而不是把源代碼復(fù)制到應(yīng)用程序中去,因此使用動態(tài)鏈接庫可以實現(xiàn)多個應(yīng)用程序直間代碼和資源的共享。不過動態(tài)鏈接庫常由數(shù)據(jù)采集卡生產(chǎn)廠商提供,通過LabVIEW的CLF節(jié)點調(diào)用。如果廠商不提供DLL動態(tài)連接庫,用戶就要自己編寫,這就對用戶的編程水平有了進一步的要求。不過使用動態(tài)鏈接庫有其自身的有點,如方便的實現(xiàn)共享代碼、資源和數(shù)據(jù);DLL的編寫與語言無關(guān);隱藏實現(xiàn)細(xì)節(jié);節(jié)省內(nèi)存等; 3.3.2調(diào)用動態(tài)連接庫DLL的方式實現(xiàn)板卡驅(qū)動的設(shè)計 由于該設(shè)計平臺中,選用的國產(chǎn)普通采集卡,需要自己編寫板卡驅(qū)動,鑒于以上幾種方法的比較,本文選用的是調(diào)用動態(tài)連接庫DLL的方式(CLF方式)驅(qū)動。通過LabVIEW的CLF節(jié)點調(diào)用的實現(xiàn)如下,調(diào)用動態(tài)連接庫的配置方式詳見下圖3.8所示。 后面板程序設(shè)計中調(diào)用。DLL函數(shù)庫中三個關(guān)鍵函數(shù)的流程,詳見下圖3.9所示。 ①InitDeviceAD功能:調(diào)用AD采集的初始化函數(shù),并給數(shù)組開辟內(nèi)存空間,對采集通道,采集方式,采集頻率的設(shè)置均在這函數(shù)下完成。它負(fù)責(zé)初始化設(shè)備對象中的AD部件,為設(shè)備操作就緒有關(guān)工作,如預(yù)置AD采集通道,采樣頻率等,然后啟動AD設(shè)備開始AD采集,隨后,用戶便可以連續(xù)調(diào)用ReadDeviceAD讀取USB設(shè)備上的AD數(shù)據(jù)以實現(xiàn)連續(xù)采集。 ②ReadDeviceAD功能:調(diào)用AD采集函數(shù),設(shè)置好采集通號碼,(可以多通道采集,也可單通道采集)和采樣頻率后,由ReadDviceAD函數(shù)來批量讀取采集卡上的數(shù)據(jù),批量讀取的數(shù)據(jù)由DELAYTIME子VI來處理,這里是采集的兩路脈沖信號,一路是進入設(shè)備前的,一路是出設(shè)備的,從而由脈沖的延時來計算系統(tǒng)的響應(yīng)時間。讀取設(shè)備AD部件上的批量數(shù)據(jù)。它不負(fù)責(zé)初始化AD部件,待讀完整過指定長度的數(shù)據(jù)才返回。它必須在InitDeviceAD之后,ReleaseDeviceAD之前調(diào)用。 ③ReleaseDeviceAD 功能:釋放由InitDeviceAD占用的系統(tǒng)軟硬件資源,如系統(tǒng)內(nèi)存等。整個AD采集過程完成,所調(diào)用的InitDeviceAD和ReleaseDeviceAD要成對出現(xiàn)。只有這樣,當(dāng)再次調(diào)用InitDeviceAD函數(shù)時,那些軟硬件資源才可被再次使用。這樣就完成了整個采集過程。具體后面板框圖程序如圖3.10所示。 系統(tǒng)中可以把這些函數(shù)寫在一個DLL里面,都由動態(tài)庫底層來完成這些操作,LabVIEW上層只需調(diào)用DLL中的一個外部函數(shù)即可。 本系統(tǒng)中通過使用該方法調(diào)用DLL,提高了系統(tǒng)的開發(fā)效率,同時又體現(xiàn)了LabVIEW強大的數(shù)據(jù)采集和C語言編程功能。彌補了其不能驅(qū)動國產(chǎn)數(shù)據(jù)采集卡的不足。本章解決了普通國產(chǎn)采集卡與LabVIEW接口驅(qū)動的問題,完成了高速采集的任務(wù),得到了預(yù)期的效果。 3.4測控系統(tǒng)總線技術(shù)分析 在開發(fā)一個數(shù)控機床測控系統(tǒng)時,選擇正確的總線與選擇一個具有合適采樣速率的設(shè)備一樣重要。硬件總線可以影響測量的性能、系統(tǒng)搭建時間和便攜性等。一起自身通常支持一種或多種總線選擇,以通過這些總線控制該儀器C通常也提供多種用于儀器控制的總線選擇。如果PC機本身不支持儀器可用的總線,我們可以增加一個插卡或一個外部轉(zhuǎn)換器來實現(xiàn)總線之間的轉(zhuǎn)換。概括可用于儀器控制的總線大致分為兩大類。 3.4.1 USB&RS232獨立總線 獨立總線用于架式和堆式儀器的通信。獨立總線包括T專用總線(如GPIB)和PC標(biāo)準(zhǔn)總線(如串行總線RS-232、以太網(wǎng)、USB、無線和IEEE1394)。一些獨立總線可用作其他獨立總線的中介。 虛擬儀器系統(tǒng)采用的總線包括傳統(tǒng)的RS-232串行總線、USB通用串行總線和IEEE 1394總線。RS-232總線是PC機早期采用的串行總線,技術(shù)成熟,應(yīng)用廣泛,至今仍然適用于要求較低的虛擬儀器或測試系統(tǒng)。近年來,USB總線得到廣泛的支持,微軟的全系列操作系統(tǒng)均支持USB.但是,USB總線也只限于用在較簡單的測試系統(tǒng)中。用虛擬儀器組建自動測試系統(tǒng),更有前途的是采用IEEE1394串行總線,這是因為這一種高速串行總線,能夠以100、200或400Mb/s的速率傳送數(shù)據(jù),顯然會成為虛擬儀器發(fā)展最有前途的總線。目前國際上虛擬儀器所用IEEE 1394總線的傳輸速度已經(jīng)達(dá)到100Mb/s.利用PC機的各種串口通訊,可把硬件集成在一個采集盒里或一個探頭上,軟件裝在PC機上,通常可以完成各種虛擬儀器的功能。它們的最大好處是可以與筆記本計算機相連,方便野外作業(yè)。又可與臺式PC機或工控機相連,實現(xiàn)臺式和便攜式兩用,非常方便。特別是USB口和1394口具有傳輸速度快、可以熱插拔、聯(lián)機使用方便的特點,很有發(fā)展前途,將成為未來虛擬儀器有巨大發(fā)展前景和廣泛市場的主流平臺。通過各種不同的接口總線,可以組建不同規(guī)模的自動測試系統(tǒng)。它可以借助不同的接口總線的溝通,將虛擬儀器、帶接口總線的各種電子儀器或各種插件單元,調(diào)配并組建成為中小型甚至大型的自動調(diào)試系統(tǒng)。 3.4.2 GPIB→VXI→PXI模塊化儀器總線 高精度集成系統(tǒng)將接口總線合并到儀器中。模塊化總線包括PCI、PCI Express、VXI和PXI、PCMCIA(主要用在筆記本與儀器連接建立便攜式系統(tǒng))。這些總線也可用作為不包括該總線的PC增加一個獨立總線的中介,如PCI-GPIB控制卡。除了利用通用計算機或工控機開發(fā)虛擬儀器外,專用的儀器總線系統(tǒng)也在不斷發(fā)展,成為構(gòu)建高精度、集成化儀器系統(tǒng)的專用平臺。 GPIB總線(即IEEE 488總線)是一種數(shù)字式并行總線,主要用于連接測試儀器和計算機。該總線最多可以連接15個設(shè)備(包括作為主控器的主機)。如果采用高速hs488交互握手協(xié)議,傳輸速率可高到8mbps.作為早期虛擬儀器發(fā)展的產(chǎn)物,目前已經(jīng)逐步退出市場。 VXI總線是一種高速計算機總線——VME總線在儀器領(lǐng)域的擴展。VXI總線具有標(biāo)準(zhǔn)開放、結(jié)構(gòu)緊湊、數(shù)據(jù)吞吐能力強,最高可達(dá)40Mbps,定時和同步精確、模塊可重復(fù)利用、眾多儀器廠家支持的特點,因此得到了廣泛的應(yīng)用。經(jīng)過10多年的發(fā)展,VXI系統(tǒng)的組建和使用越來越方便,尤其是組建大、中規(guī)模自動測量系統(tǒng)以及對速度、精度要求高的場合。然而,組建VXI總線要求有機箱、零槽管理器及嵌入式控制器,造價比較高,其推廣應(yīng)用受到一定限制,主要應(yīng)用集中在航空、航天等國防軍工領(lǐng)域。目前這種類型也有逐漸退出市場的趨勢。 PXI總線是以CompactPCI為基礎(chǔ)的,由具有開放性的PCI總線擴展而來(NI公司于1997年提出)。PXI總線符合工業(yè)標(biāo)準(zhǔn),在機械、電氣和軟件特性方面充分發(fā)揮了PCI總線的全部優(yōu)點。PXI構(gòu)造類似于VXI結(jié)構(gòu),但它的設(shè)備成本更低、運行速度更快,體積更緊湊。目前基于PCI總線的軟硬件均可應(yīng)用于PXI系統(tǒng)中,從而使PXI系統(tǒng)具有良好的兼容性。PXI還有高度的可擴展性,它有8個擴展槽,而臺式PCI系統(tǒng)只有3~4個擴展槽。PXI系統(tǒng)通過使用PCI-PCI橋接器,可擴展到256個擴展槽。PXI總線的傳輸速率已經(jīng)達(dá)到132mbps(最高為500mbps),是目前已經(jīng)發(fā)布的最高傳輸速率。 本文從多現(xiàn)場環(huán)境、實現(xiàn)方式靈活性及節(jié)約成本等多個角度考慮,本文設(shè)計中總線選擇USB總線和RS232總線。 而虛擬儀器網(wǎng)絡(luò)化可以基于現(xiàn)場總線、工業(yè)以太網(wǎng)或Internet網(wǎng)絡(luò)。 為了共享測試系統(tǒng)資源,越來越多的用戶正在轉(zhuǎn)向網(wǎng)絡(luò)。工業(yè)現(xiàn)場總線是一個網(wǎng)絡(luò)通訊標(biāo)準(zhǔn),它使得不同廠家的產(chǎn)品通過通訊總線使用共同的協(xié)議進行通訊。現(xiàn)在,各種現(xiàn)場總線在不同行業(yè)均有一定應(yīng)用;工業(yè)以太網(wǎng)也有望進入工業(yè)現(xiàn)場,應(yīng)用前景廣闊;Internet已經(jīng)深入各行各業(yè)、千家萬戶。嵌入式智能儀器設(shè)備聯(lián)網(wǎng)的需求將越來越廣泛。 為此,NI等公司已開發(fā)了通過Web瀏覽器觀測嵌入式儀器設(shè)備的產(chǎn)品,使人們可以通過Internet操作儀器設(shè)備。根據(jù)虛擬儀器的特性,人們能夠方便地將虛擬儀器組成計算機網(wǎng)絡(luò)。利用網(wǎng)絡(luò)技術(shù)將分散在不同地理位置不同功能的測試設(shè)備聯(lián)系在一起,使昂貴的硬件設(shè)備、軟件在網(wǎng)絡(luò)上得以共享,減少了設(shè)備重復(fù)投資[23]。現(xiàn)在,有關(guān)MCN(Measurement and Control Network)方面的標(biāo)準(zhǔn)已經(jīng)取得了一定進展。由此可見,MCN網(wǎng)絡(luò)化虛擬儀器將具有廣泛的應(yīng)用前景。 |