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