一種繼電器測試數(shù)據(jù)查詢系統(tǒng)的實現(xiàn)
1.引言
繼電器作為一種自動控制系統(tǒng)常用的元件,測試繼電器的數(shù)量和種類都很大,而運用人工記錄這些數(shù)據(jù)查詢起來會非常費力,因此本文為大家介紹一種用LabVIEW軟件制作的一款繼電器測試數(shù)據(jù)查詢系統(tǒng),可以快速的解決從大量的測試數(shù)據(jù)中尋找符合條件的繼電器的問題,還可以將查詢結果打印出來。
2.訪問數(shù)據(jù)庫的解決辦法
由于LabVIEW本身并不具備數(shù)據(jù)庫訪問功能,常用解決方法如下:
1)利用其他語言如VC++編寫DLL程序訪問數(shù)據(jù)庫,再利用LabVIEW所帶的DLL接口-調用庫函數(shù)節(jié)點CLFN(CallLibraryFunction Node)訪問該程序。
2)利用NI公司的附加工具包LabVIEWSQLToolkit進行數(shù)據(jù)庫操作。
3)利用LabVIEW的ActiveX功能,調用Microsoft ADO控件,利用SQL語言實現(xiàn)數(shù)據(jù)庫訪問。
4)利用LabVIEW開發(fā)的LabVIEW數(shù)據(jù)庫訪問工具包LabSQL.
這里我們采用第四種方法。
3.LabsaL簡介
LabSQL是眾多用戶合作、開發(fā)的免費的、多功能的、跨平臺的LabVIEW數(shù)據(jù)庫訪問工具包,支持windows操作系統(tǒng)中任何基于ODBC的數(shù)據(jù)庫,比如:Access,SQLSever,Oracle,Pervasive,Sybase等。按照其功能的不同,劃分為Command,Conncetion和Recordset三個模板和可直接調用SQL頂層的三個子VIs,在每個模板中,都由多個不同的子Vl組成,供用戶調用,具體如下:
(1)Command模板中的子VIs完成一系列基本ADO的操作,如創(chuàng)建或刪除一個Command,對數(shù)據(jù)庫中的某一參數(shù)迸行讀寫等。各子程序模塊ADO Command Create.vi、ADO CommandDestroy.vi等。
(2)Connection模板中的子VIs管理LabVIW與數(shù)據(jù)庫之倒的鏈接。各子程序模塊如圖19所示,在本論文中,主要用到Create Comn、Open Comn、Close Comn等子VIs.
(3)Recordset模板中的子VI用于對數(shù)據(jù)庫中的記錄進行各種操作,如創(chuàng)建或刪除-條記錄,對紀錄中的某一條目進行讀寫等。
(4)TOP Level VIs是頂層的LabSQL應用,是對前二種LabSqL V Is某些應用功能的封裝,如圖1所示,它以3個獨立的子VIs形式存在。例如,SQL Execute.VIs可用于直接執(zhí)行SQL命令,SQL FatchD ata(GetString)。vi是對字符的查詢,而SQL FetchData.vi用于對數(shù)據(jù)的查詢,這里的數(shù)據(jù)不包括前面的字符。
4.功能的實現(xiàn)
LabVIEW軟件的一個顯著的優(yōu)點,就是它能夠由計算機來完成顯示、存儲、打印及微處理器控制管理等,即無論任何功能的儀器都可利用或共享計算機的這些公共資源,而無需重復的設計。考慮到Access適合開發(fā)中小型管理信息系統(tǒng),對于數(shù)據(jù)庫最終用戶MicrosoftAccess提供了許多便捷的可化操作工具:如表生成器、查詢設計器、窗體設計器、報表設計器等)和向導(如表向導、窗體向導、查詢向導、報表向導等),而且利用這些工具和向導不用編程即可構造簡單實用的管理信息系統(tǒng),相應的開發(fā)周期短。因此,在這里采用MicrosoftAccess建立數(shù)謝庫,來實現(xiàn)數(shù)據(jù)的存儲和查詢功能。
4.1 幾個重要的SQL查詢命令語句
在數(shù)據(jù)庫管理軟件的開發(fā)過程中,雖然利用了LahSqL工具包,但不司避免地要用到簡單的SQL查詢命令語句。在開發(fā)的過程。經(jīng)常用到的SQL語句有以下幾種。
1)數(shù)據(jù)查詢。在SQL語句中使用SELECT可以對數(shù)據(jù)進行查詢,一般格式如下:SELECT<查詢內容>FROM<表或視圖>WHERE<條件>ORDERBY<列名>.開發(fā)時結合軟件前面板的控件SQL語句表示為:
查詢某表中全部測試結果記錄語句SElECT*FROM所要操作的表(表名從選擇所要操作的表控件得到)單項查詢的SQL語句為:SELECT* FROM所要操作的表WHERE操作字段 操作條件操作條件值組合查詢的SQL語句為:SELECT* FROM所要操作的表 WHERE操作字段 操作條件 操作條件值and操作字段2操作條件2 操作條件值22)刪除記錄。刪除記錄的SQL語句格式為:DELETE FROM<表名>WHERE<條件>.本文中對查詢結果進行刪除的SQL語句:DELETE FROM所要操作的表WHERE主鍵字段名=鼠標所指行條件值4.2 連接數(shù)據(jù)庫模塊的實現(xiàn)
(1)LabSQL的配置。首先在Access中創(chuàng)建
名為l.mdb的數(shù)據(jù)庫。將所需要的各種表單創(chuàng)建好,然后在Windows ODBC數(shù)據(jù)源中創(chuàng)建數(shù)據(jù)庫的數(shù)據(jù)源名稱DSN,再將數(shù)據(jù)源中的數(shù)據(jù)庫路徑指向1.md b時,將Acces韻用戶與組權限全部打開,這樣IabSQL即可訪問1.mdb.
(2)建立與數(shù)據(jù)庫的連接。在LabSQL的Connection VI s模塊中選用ADO ConnectionCreate.vi創(chuàng)建一個Connection對象,然后用ADO Connection Open.vi建立與數(shù)據(jù)庫的具體連接。其中在ADO Connection Open.vi的連接字符串Connectio.string輸入動態(tài)連字符:Provider=Microsoft.Jet.OLEDB.4.0:Data Sour.e=e:\1.mdb:Persist SecurityInfo=FalSE.這個過程的實質是建立一個向當前打開的數(shù)據(jù)庫指針,用這個指針對已經(jīng)打開的數(shù)據(jù)庫進行各種操作。圖2為其實現(xiàn)的框圖程序。[!--empirenews.page--]
4.3 數(shù)據(jù)庫操作模塊的實現(xiàn)
關于數(shù)據(jù)庫操作方面的內容是非常豐富的,如查詢、添加記錄、修改記錄、刪除記錄等數(shù)據(jù)需求,本文只討論數(shù)據(jù)庠的基本上的操作即刪除、查詢和查詢記錄扣印,在數(shù)據(jù)庫已經(jīng)建立好連接后,要實現(xiàn)對數(shù)據(jù)厙的操作一般通過以下步驟:
(1)建立與記錄集(Rccordset)對象的連接井實現(xiàn)對數(shù)據(jù)庫的具體操作,使用CommandText屬性定義命令(如SQL語句)的可執(zhí)行文本。
(2)使用Execute方法執(zhí)行命令并在適當?shù)臅r候返回RecordSet對象。
(3)將Command對象傳送給Recordset的Source屬性以便獲取數(shù)據(jù)。利用在這里關鍵是LabSQL查詢語句的編寫,將相關的LabSQL查詢命令寫在屬性節(jié)點Commad Text中。
(4)查詢結果的顯示。在Top Level VIs模塊中選用SQL Fentch Data(CetString)。VI獲得查詢結果,并將查詢結果送至前面板窗口中表格顯示控件中顯示。
記錄打印系采用LabVIEW本身自帶的控件,通過Initialize Report.vi(報衷初始化),Append Table toReport.vi(將查詢結果加入報表),Print.vi(打印報表)來實現(xiàn)。
5.結論
基于LabVIEW的繼電器測試數(shù)據(jù)查詢系統(tǒng)界面友好、操作簡單、維護方便,具有較高的實際應用價值。