基于LabVIEW的數(shù)控機床網(wǎng)絡(luò)測控系統(tǒng)--網(wǎng)絡(luò)通信關(guān)鍵技術(shù)研究 (二)
圖4.13展示的是LabVIEW中使用ActiveX控件的程序流程。ActiveX對象的打開和關(guān)閉是通過打開自動化節(jié)點(Automation Open)和關(guān)閉自動化節(jié)點(Close Reference)來實現(xiàn)的,屬性的設(shè)置和獲取則通過屬性節(jié)點(Property Node)進行,而調(diào)用節(jié)點(Invoke Node)用于對象方法的調(diào)用。其中關(guān)鍵的是第二步,只有充分的利用“屬性”和“方法”的設(shè)置才能成功地實現(xiàn)對數(shù)據(jù)庫的訪問。
本文引用地址:http://www.ex-cimer.com/article/270597.htm
①建立ADO對象
在前面板控件模板的Refnum子模板中選擇Automation Refnum項,把它拖放到前面板上,在其右鍵菜單中選擇Select ActiveX Class>>Broswer…,彈出Select ActiveX Object對話框,在類型庫Type Library下拉列表中選擇Microsoft ActiveX Data Objects 2.7 Library Version 2.7,在下面的對象Objects列表欄中出現(xiàn)這個庫對LabVIEW可用的對象,選中Connection對象,點擊OK按鈕即可。同樣的方法建立Command、Recordset對象。
?、谶B接到數(shù)據(jù)源
在程序框圖功能模板中選擇CommuNIcation>>ActiveX子模板,選其中Automation Open與ADODB._Connection相連即可打開Connection對象。接著從ActiveX子模板中選擇Invoke Node并與Automation Open相連,在其上單擊右鍵選擇Methods >>Open,即出現(xiàn)圖4.13中所示的節(jié)點。其中“ConnectionSring”是連接到數(shù)據(jù)源的字符串,“UserID”和“PassWord”是連接到數(shù)據(jù)源的用戶名密碼,正確設(shè)置這些參數(shù)后便可連接到數(shù)據(jù)源。
?、凵蒘QL命令、執(zhí)行命令
與上一步相同,用Invoke Node調(diào)用Connection對象的Execute方法執(zhí)行所要的操作。Execute方法所必需的參數(shù)為CommandText,這里為所要執(zhí)行的SQL語句。例如可以使用Create命令創(chuàng)建表,用Drop命令刪除表,用Insert命令向表中插入數(shù)據(jù),用Select命令進行查詢并返回操作結(jié)果等。本例使用Create命令創(chuàng)建了一個名為Staff的表,包括編號、姓名和年齡三個字段,其中id字段為主鍵,自動編號。對數(shù)據(jù)表的刪除和添加數(shù)據(jù)的操作過程與建表過程類似。如果要對執(zhí)行后的記錄進行顯示或讀取字段值則需要建立Recordset對象,并與Execute相連。
④關(guān)閉連接
對數(shù)據(jù)庫訪問操作完畢后要及時關(guān)閉連接對象以釋放內(nèi)存和所用的系統(tǒng)資源。首先使用Connection對象的Close方法關(guān)閉數(shù)據(jù)庫連接,然后使用Close Reference關(guān)閉ActiveX自動化參數(shù)號,剪標(biāo)的程序框圖如圖4.14所示。
4.3.2利用LabSQL訪問數(shù)據(jù)庫
通過第三方開發(fā)的免費工具包LabSQL訪問。LabSQL利用Microsoft ADO以及SQL語言來完成數(shù)據(jù)庫訪問,將復(fù)雜的底層ADO及SQL操作封裝成一系列的LabSQL VIs,簡單易用。
LabSQL利用Microsoft ADO對象和SQL語言來完成數(shù)據(jù)庫訪問,將復(fù)雜的底層ADO及SQL操作封裝成一系列的LabSQL VIs,簡單易用。LabSQL VIs按照功能可以分為四類:Command VIs,Connection VIs,Recordset VIs和Top Level VIs. Command VIs的功能是完成一系列的基本ADO操作,例如,創(chuàng)建或刪除一個Command,對數(shù)據(jù)庫的某一個參數(shù)進行讀或?qū)懙取?/p>
Connection VIs的功能是管理LabVIEW與數(shù)據(jù)庫之間的連接。
Recordset VIs用于對數(shù)據(jù)庫中的記錄進行各種操作,例如,創(chuàng)建或刪除一條記錄,對記錄中的某一個條目進行讀或?qū)懙取?/p>
Top Level VIs屬于頂層的LabSQL應(yīng)用,對前三類LabSQL VIs某些功能的封裝,例如,SQL Execute.vi可用于直接執(zhí)行命令。
4.3.3利用LabVIEW SQL Toolkit訪問數(shù)據(jù)庫
利用NI公司的附加工具包中的數(shù)據(jù)庫接口工具包LabVIEW SQL Toolkit進行數(shù)據(jù)庫訪問。該工具包集成了一系列的高級功能模塊,這些模塊封裝了大多數(shù)的數(shù)據(jù)庫操作和一些高級的數(shù)據(jù)庫訪問功能。它的優(yōu)點是易于理解,操作簡單,用戶可以不學(xué)習(xí)SQL語法。缺點是需要另外購買且價格昂貴,無疑會增加系統(tǒng)成本。
LabVIEW SQL Toolkit (又被稱作為LabVIEW Database Connectivity Toolset)是用于數(shù)據(jù)庫訪問的附加工具包,它集成了一系列的高級功能模塊,這些模塊封裝了大多數(shù)的數(shù)據(jù)庫操作和一些高級的數(shù)據(jù)庫訪問功能。其主要的功能如下:
(1)支持ADO所支持的所有的數(shù)據(jù)庫引擎;
(2)支持所有與ODBC或OLE DB兼容的數(shù)據(jù)庫驅(qū)動程序;
(3)具有高度的可移植性,在任何情況下,用戶通過改變DB Tools Open Connection VI的輸入?yún)?shù)Connection String就可以更換數(shù)據(jù)庫;
(4)可以將數(shù)據(jù)庫中Column Values的數(shù)據(jù)類型轉(zhuǎn)換為標(biāo)準(zhǔn)LabVIEW Database Connectivity Toolset的數(shù)據(jù)類型,這進一步增強了它的可移植性;
(5)與SQL兼容;
(6)不使用SQL語句就可以實現(xiàn)數(shù)據(jù)庫記錄的查詢、添加、修改以及刪除等操作;
(7)用戶可以完全不需要學(xué)習(xí)SQL語法。
用戶可以使用LabVIEW SQL Toolkit在LabVIEW中支持ODBC的本地或遠程數(shù)據(jù)庫,例如Microsoft Access,Microsoft SQL Sever,Sybase SQL Server以及Oracle等。
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
評論