張 璐
(駐馬店職業技術學院,河南駐馬店,463000)
測試儀器在很長的一段時間內都是由廠家制造,用戶必須根據測試儀器預定的使用程序進行操作,不得隨意更改其功能模式。而LabVIEW等虛擬儀器的出現改變了這一局面,用戶可以根據自己的意愿對儀器系統進行設計,并充分發揮自己的想象力,讓測試儀器可以滿足不同的使用需求。虛擬儀器的出現打破了計算機與測試儀器之間的界限,也開創了一個全新的測試儀器時代。統計表明,世界上目前有超過80%的大型制造企業在使用虛擬儀器技術。這樣不僅讓自動化測試儀器的尺寸得以減小,也大幅度提升了工作效率。LabVIEW是世界上應用最為廣泛的虛擬儀器之一,它可以應用于開發數據測量采集系統、數據檢測系統等方面的軟件。在應用LabVIEW過程中可能需要對數據進行讀寫操作,但LabVIEW自身并不具備訪問數據庫的功能,這就需要用到其他的輔助技術來訪問數據庫。本文主要介紹了LabSQL這種LabVIEW輔助數據庫訪問技術。
對測量數據進行管理和維護是測量和監測數據過程中必不可少的環節,在虛擬儀器中引入數據庫技術,不僅可以讓數據庫的數據管理優勢得到充分發揮,也能夠促進虛擬儀器功能的拓展,下圖1為以數據庫為基礎的虛擬測控平臺。

圖1 以數據庫為基礎的虛擬測控平臺
LabVIEW中常用的數據庫訪問方法主要有以下幾種,它們有各自的特點:(1)利用SQL Toolkit輔助LabVIEW來訪問數據庫,這是美國國家儀器有限公司開發的一種附加工具包,有數據庫接口的功能。這個工具包中有很多高級功能集成模塊,在集成模塊中封存了大量數據庫操作程序,并且也有訪問部分高級數據庫的功能。這個工具包的操作簡單,很容易理解,用戶在沒有學習結構化查詢語言的情況下也可以輕松使用。但這種工具包需要額外購買,并且價格較高,這樣就極大提高了系統的運行成本。
(2)利用ActiveX控件和結構化查詢語言,并充分調用微軟ADO這種數據操作架構來實現數據庫訪問功能。ActiveX是微軟開發的一種多媒體技術,被廣泛應用于OLE、Internet等程序開發中。微軟為對象鏈接和嵌入數據庫設計的低級應用層接口就是ADO,它可以保持數據訪問接口很好的擴展性,是Microsoft通向不同數據源的通道。但在使用這種方式之前,用戶必須首先熟悉結構化查詢語言和ADO,并且對相關知識的儲備也有很高的要求。
(3)利用LabSQL實現數據庫的訪問功能。這種方式充分運用了結構化查詢語言和ADO,它可以將結構化查詢語言和ADO進行封裝操作,進而形成LabSQL Vis,應用簡單方便。
(4)利用DLL這種動態鏈接庫實現數據庫的訪問功能。首先應用C++等編程語言對DLL進行編寫,然后應用CLFN對DLL程序進行調用,以此實現對數據庫的訪問。但這種方法的編程十分復雜,對于非專業編程者來說有很大的難度。
LabSQL是LabVIEW中訪問數據庫的免費工具包,具有跨平臺、多數據庫的特點。LabSQL對于任何以開放數據庫互聯為基礎的數據庫均可支持,如Access、Sybase等[5]。LabSQL中應用到了結構化查詢語言和ADO,它可以將這兩者封裝起來形成LabSQL Vis。LabSQL具有操作簡單、容易理解的優勢,并且源代碼開放,對于任何類型的數據庫均可訪問。
如果LabSQL無法被正確安裝,在程序運行過程中如果放置程序的路徑改變,系統很容易出錯進而影響到數據庫的正常訪問,也會給用戶的使用帶來很多不便,因此正確安裝是十分必要的。
LabSQL的安裝方法是首先在新建一個LabSQL文件夾,放在LabSQL安裝目錄中名為user.Lib的文件夾中,然后將LabSQL壓縮文件解壓到這個文件夾中,解壓后有存放應用實例的Examples文件夾,以及存放工具包的ADO functions文件夾。
LabSQL在使用之前首先應該創建出一個數據源名,放置于桌面操作系統中的開放數據庫互連的數據源中,這個數據源名起到連接數據庫與LabSQL的作用,否則將無法正常工作。創建數據源名過程中首先需要點擊“管理工具”,然后打開數據源,這時候可以看到“ODBC數據源管理器”窗口,點擊“添加”,之后在“創建新數據源”的程序列表中找到“*.mab”,并根據相關提示選擇數據庫并填寫信息。
本次應用實例是運用LabVIEW設計的一個玉米生態環境監測系統,在這個監測系統中監測到的數據需要進行分析處理,然后對數據進行記錄和存儲,便于日后查詢和使用。這個系統使用了Access數據庫,其操作和維護都較為簡便,并且能夠滿足系統的各項需求。
本次研究以查詢功能的實現為主,具體的操作步驟如下:
第1步:LabSQL數據源的創建,如果創建不正確將無法正常使用。
第2步:和數據庫之間建立連接。首先應用ADO Connection.vi構建一個連接對象,之后與數據庫之間的連接運用ADO Connection Open.vi的方法完成。并根據連接字符串和ADO 連接對象確定數據庫,其中的參數可以由字符串常量代表的數據庫來源提供,也可以由前面的字符串控件確定。
第3步:結構化查詢語言命令的生成由ADO SQL Execute.vi確定,然后執行命令。將簡單的結構化查詢語言語句編寫在程序框圖中,并將其與ADO Connection Execute.vi連接起來就可以執行。
第4步:將數據庫之間的連接斷開。運用ADO Connection.vi關閉連接對象,并運用ADO Connection Destroy.vi將連接對象刪除。
在LabVIEW等虛擬儀器應用系統中,將數據庫管理作為重心,構建以數據庫數據管理為基礎的虛擬儀器應用系統是測控領域的一個必然發展趨勢。LabVIEW中利用LabVIEW技術進行數據庫調用十分簡單、方便,用戶在不了解結構化查詢語言等知識的情況下也可以操作,為用戶設計和運用虛擬儀器提供了便利。