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