999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LabVIEW的遠程數據庫訪問策略及其應用研究

2012-04-29 00:44:03江務學王志明
計算機時代 2012年5期

江務學 王志明

摘要:為提高虛擬實驗室設計中的遠程數據庫訪問的有效性,分析了LabView訪問遠程數據庫方法的特點和不足,提出了Lab SQL工具包和ADO技術的集成應用策略。結合一個網絡虛擬實驗室的應用開發,給出了基于LabSQL的數據庫訪問步驟和虛擬實驗室的設計過程。該策略及設計具有較高的實用價值。

關鍵詞: 虛擬儀器; LabVIEW; 遠程數據庫; LabSQL; ADO

中圖分類號:TP391文獻標志碼:A 文章編號:1006-8228(2012)05-32-03

Research on strategy and application of access to remote database based on LabVIEW

Jiang Wuxue, Wang Zhiming

(Dongguan Polytechnic, Dongguan, Guangdong 523808, China)

Abstract: To improve the effective of access to remote database in the design of virtual laboratory, this paper analyzes the characteristics and insufficiency of access to remote database method based on LabView, presents the integrated application strategy of the LabSQL toolkits and ADO. Combined with a virtual laboratory application development, based on LabSQL database access steps and virtual laboratory design process is given, and has great practical value.

Key words: virtual instruments; LabVIEW; remotedatabase; LabSQL; ADO

0 引言

虛擬儀器(VI-Virtual Instrument)是指通過應用程序將通用計算機與功能化硬件結合起來的計算機系統,用戶可通過友好的圖形界面來操作這臺計算機,就像在操作自己定義、自己設計的一臺單個儀器一樣。

LabVIEW是當前虛擬儀器的主要開發工具之一,是由NI(National Instruments)公司開發的一種高效的圖形化編程工具, 是一個集開發、調試和運行于一體的數據采集和儀器控制軟件,目前通用的最新版本為LabVIEW2011。LabVIEW集成了與滿足GPIB、VXI、RS-232和RS-485協議的硬件及數據采集卡通訊的全部功能,還內置了便于應用TCP/IP、ActiveX等軟件標準的庫函數,是一個功能強大且靈活的軟件。通過LabVIEW可以方便地建立適應個性化需求的虛擬測量和控制儀器,其圖形化的界面使得編程及使用過程形象而生動。目前,LabVIEW在數據采集及分析、儀器和控制、測試測量及過程監控和控制等領域中的應用越來越廣泛。其中,數據的存儲、分析所涉及到的數據庫讀寫操作是一個重要環節,現有的LabVIEW版本中還沒有提供與通用數據庫直接接口的方法[1]。這一問題一般會考慮采用以下幾種方法解決。

⑴ 采用其他編程語言編寫動態鏈接庫DLL訪問數據庫,并在LabVIEW中調用此DLL與數據庫連接。

⑵ 利用中間文件存取數據,先將數據存入文件中,在一定的時刻或者需要時再將數據導入到數據庫中。這種方法實現比較簡單,但是需要單獨的軟件對數據文件導入導出。

⑶ LabVIEW中包含了大量的ActiveX對象,包括ADO(ActiveX Data Objects)接口的各種對象,可以利用ADO的接口進行數據庫的訪問。

⑷ 使用NI公司的SQL ToolKit for LabVIEW附加工具包與數據庫連接[2]。

這些方法中,第一種方法的工作量較大,第二種方法不能對數據進行實時的存取,第三種方法通用性和靈活性欠佳,而第四種方法需單獨購買該工具包,價格昂貴,成本過高。針對上述四種方法的不足,本文采用Premise Development公司的Chris Roth和Jeffrey Travis開發的免費LabVIEW數據庫支持工具VI—LabSQL來完善整個系統的數據庫功能,將復雜的底層ADO及SQL操作封裝成一系列的LabSQL VIs。LabSQL的優點是易于理解,使用簡單,只需進行簡單的編程,就可以在LabVIEW中實現數據庫訪問。利用LabSQL幾乎可以訪問任何類型的數據庫且易于實現。

1 基于LabSQL的遠程數據庫訪問的步驟

一般而言,對遠程數據庫的操作有以下幾步。

⑴ 在服務器上建立網絡數據庫

選擇一種客戶/服務器體系結構的數據庫軟件,分別安裝在客戶端和服務器端。

⑵ 連接數據庫

應用程序是通過“連接”訪問數據源的,連接是交換數據所必需的環境。所以,創建“Connection”對象是所有數據庫操作的必需的一個步驟。

⑶ 執行SQL指令

通過已經建立的連接發出的SQL指令可以用某種方式來操作數據源。Microsoft ADO的Command對象,Connection對象以及Recordset對象都提供有執行SQL指令的方法,可依據具體情況具體選擇對象。

⑷ 處理結果

檢索到的數據通過各種需要的算法加以處理。

⑸ 關閉連接

執行完任務后,必須切斷與數據庫資源的連接,釋放任何屬于連接的資源,關閉任何從屬對象。否則將導致服務器資源浪費并影響服務器性能[3]。

Oracle?是以高級結構化查詢語言(SQL)為基礎的大型關系數據庫,是目前最流行的客戶/服務器(CLIENT/SERVER)體系結構的數據庫之一,也是目前技術比較領先、應用非常廣泛的一個商業數據庫產品。?所以我們選擇Oracle來搭建所需的網絡數據庫。

在運行LabVIEW程序的應用程序服務器上,設已經安裝了Oracle客戶端,已連接到數據庫服務器上的遠程數據庫,通過Windows控制面板中管理工具里面的“數據源 (ODBC)”來創建ODBC數據源,設置系統DSN(數據源名稱)為loginoracle,驅動程序選擇Microsoft ODBC for Oracle,設置成功后客戶端就可以像訪問本地數據庫一樣訪問遠程數據庫了[4]。

2 基于LabSQL虛擬實驗室的應用開發

我們建立了一個校園網虛擬實驗室,將過程控制實驗室的液位過程控制實驗搬到了網站上,學習者可以遠程監視并控制其運行狀態,進行不受時空限制的個性化學習。但是實驗裝置并不是隨時打開的,我們需要將它的歷史狀態保存在數據庫中,以便在未打開裝置的情況下通過歷史數據顯示數據采集曲線,因此在數據庫服務器上建了一個Waveform表,將液位高度數據和控制器輸出電壓數據保存在其中,就可對這個表進行相關的操作。

2.1 本實驗裝置的工作原理

過程控制實驗室引進英國FeedBack公司開發的PROCON(PROcess CONtroller)38系列綜合實驗裝置,它是處理過程控制問題一個完整的組合裝置,包括相關的硬件過程控制裝置,監視器和接口設備,一個工業標準控制器,并且附帶指導手冊和軟件。我們用LabVIEW2011軟件取代PROCON 38系列系統的工業標準控制器,搭建自己的控制平臺。選用的芯片和設備分別是:一塊I/V轉換芯片RCV420,一塊V/I轉換芯片XTR110,一塊NI公司出產的PCI-6014E系列數據采集卡和一臺微機。

PROCON38系列系統水箱的浮子式液位計采集到的0-5V電壓液位信號被過程接口(PI)轉換為一個4-20毫安的電流信號,通過一個I/V轉換電路將其還原成0-5V的電壓信號,用NI公司的PCI-6014數據采集卡采集電壓信號,經控制算法的處理后再通過該數據采集卡輸出0-5V的電壓控制信號,接著通過一個V/I轉換電路轉換成4-20毫安的電流信號,控制伺服閥的開閉、4毫安時閥門全閉、20毫安時閥門全開,通過控制進水量來控制水箱中的液位。文中采用PID控制實現控制算法,直接調用仿真工具箱里的PID工具包[5]。程序框圖如圖1所示。

圖1液位過程控制實驗程序框圖

2.2 虛擬實驗室的的開發過程

訪問數據庫信息的第一步是與數據庫建立連接,LabSQL中的Connection VIs就能夠實現這個目的.首先利用ADO Connection Create.vi創建一個Connection對象,然后利用ADO Connection Open.vi建立與數據庫的連接。但是ADO Connection Open.vi只能設置DSN,而網絡數據庫為了安全起見都設置有用戶名和密碼,所以要打開遠程數據庫不能使用LabSQL中的ADO Connection Open.vi,而要用ADO接口對象進行再開發。具體過程如下:

從控制模板的Application Control子模板中調用Invoke Node結點,在點右鍵彈出的菜單中選擇Select Class,再在順次閃出的菜單里選擇ActiveX,最后選定其中的ADODB._Connection,然后選擇其方法(Method)為Open,最終在程序框圖中顯示的圖標如圖2所示。

圖2打開數據庫連接的Invoke Node結點

這樣,通過在ConnectionString中設置DSN,在UserID中設置用戶名,在Password中設置密碼,就可對一個遠程數據庫進行象本地數據庫一樣的數據操作了。

接下來是執行SQL指令LabSQL中的Connection VIs里有一個ADO Connection Execute.vi,它可以執行SQL命令,檢索數據庫以及對數據庫進行添加、更新、刪除操作,它的CommandText端子傳送的就是命令文本,通常是SQL語句,它返回的是一個記錄集(Recorderset)對象。

如果需要處理相關數據,可利用SQL Fetch Data(GetString).vi獲得查詢結果,處理后送到前面板中的示波器或者其它儀器或表格加以顯示。本文只介紹數據的存儲過程,所以沒有涉及此步驟[6]。

最后,用ADO Connection Close.vi關閉與數據庫之間的連接。

在前面板中的ConnectionString中輸入“DSN=loginoracle”,在UserID中輸入遠程數據庫的登錄用戶名,在Password中輸入密碼,并設為默認值,然后將它們在前面板上隱藏。設置了各個參數后就可點擊程序“啟動”按鈕。液位過程控制實驗程序的運行結果如圖3所示。

圖3液位過程控制實驗程序運行結果

在程序運行的時候,參數設置和其他無關的按鈕都在前面板隱藏起來,停止采樣后則將示波器隱藏,然后再將參數設置及復位等其他按鈕顯示出來。前面板顯示如圖3.3之結果的同時,在后臺的程序中當前的兩組波形數據已經由當前本地的應用程序服務器傳遞給了數據庫服務器。

在裝置未打開時,我們可通過訪問Waveform數據表,將波形的數據取出,顯示其歷史工作狀態,這樣無論實驗裝置是否打開,學習者都能看到如圖3所示的裝置運行時的波形圖。

3 結束語

在LabVIEW環境下,利用LabSQL工具包實現數據庫的管理,在很大程度上減輕了編程的工作量,這是一種很有效的遠程數據庫訪問的方法。再結合LabVIEW中的ADO接口對象,就能夠實現對Oracle網絡數據庫的各種操作。實踐證明,該實驗室不僅實現了所需功能,而且在速度、穩定和效率上均具有良好的性能。

參考文獻:

[1] 楊樂平,李海濤,趙勇等.LabVIEW高級程序設計[M].北京清華大學出

版社,2003.

[2] 李建文,劉篤喜,朱名銓.基于ADO技術的LabVIEW訪問數據庫的方

法[J].自動化儀表,2003.24(9):15~17

[3] Chen X Z,Chen C,Qi H. Design of a kind of single neuron PID

adaptive controller based on expert[C]/ / Proceedings of the 7th International Conference on Electronic Measurement & Instruments. Beijing: International Academic Publishers,2005:216~220

[4] 齊虹,周文濱,陳沖等.利用LabVIEW實現的虛擬網絡實驗室及其虛

擬實驗[J].福州大學學報(自然科學版),2010.38(2):237~250

[5] 楊靜. 基于LabVIEW的電工電子網絡虛擬實驗室研究與開發[J].實

驗室研究與探索,2011.30(2):74~77

[6] 江務學.基于LabVIEW 的校園網虛擬實驗室的開發[J].浙江萬里學

院學報,2005.18(4):51~54

主站蜘蛛池模板: 精品国产www| 精品一区二区三区四区五区| 美女潮喷出白浆在线观看视频| 中国国产A一级毛片| 国产精品护士| 玖玖精品在线| 91久久青青草原精品国产| a级免费视频| 91网址在线播放| 亚洲精品高清视频| 日韩精品一区二区深田咏美 | 国产91小视频在线观看| 国产95在线 | 亚洲精品无码av中文字幕| 国产一二三区在线| 精品无码一区二区三区电影| 亚洲精品成人福利在线电影| 欧美国产精品拍自| 亚洲国产日韩在线观看| 92午夜福利影院一区二区三区| 欧美精品在线看| 成人年鲁鲁在线观看视频| 在线欧美一区| 久青草国产高清在线视频| 无码精油按摩潮喷在线播放 | 国产区免费精品视频| 77777亚洲午夜久久多人| 国产黑人在线| 免费看av在线网站网址| 91视频国产高清| 色视频国产| 亚洲日韩在线满18点击进入| 国产成人资源| 又黄又湿又爽的视频| 综合色天天| 国产日本欧美亚洲精品视| 在线免费看黄的网站| 亚洲精品卡2卡3卡4卡5卡区| 中文字幕中文字字幕码一二区| 午夜免费小视频| 欧美a级在线| 亚洲综合精品第一页| 91色在线观看| 欧美成一级| 久久国产av麻豆| 一级毛片免费高清视频| 天天躁夜夜躁狠狠躁躁88| 国产精品自在自线免费观看| 国产亚洲视频免费播放| 国内精品九九久久久精品| 91青草视频| 2021国产精品自产拍在线| 青草视频免费在线观看| 国产午夜福利在线小视频| 久久国产成人精品国产成人亚洲 | 国产精品自拍合集| 国产网友愉拍精品| 精品中文字幕一区在线| 欧美另类精品一区二区三区| 国产精彩视频在线观看| 伊人久久久久久久久久| 欧洲亚洲欧美国产日本高清| 精品久久久久久成人AV| 国产在线小视频| 国产h视频免费观看| 人妖无码第一页| 最新国产午夜精品视频成人| 亚洲国产成人超福利久久精品| 亚洲欧美日韩中文字幕一区二区三区 | 日韩经典精品无码一区二区| 亚洲人网站| 亚洲人成网18禁| 日韩在线播放中文字幕| 亚洲午夜天堂| 亚洲AV无码一区二区三区牲色| 97视频免费在线观看| 国产男女免费完整版视频| 中文字幕天无码久久精品视频免费 | 亚洲成人在线免费观看| 911亚洲精品| 91福利在线看| 亚洲va视频|