時間:2008-12-08 09:28:36來源:ronggang
A相電壓測量控制程序[/align]
由程序的代碼框圖可見,只要LabVIEW程序從雙口RAM中獲取不同的數(shù)據(jù),就可以利用LabVIEW提供的各種控件和函數(shù)對數(shù)據(jù)進(jìn)行不同的分析、計算、處理和顯示。而不同的數(shù)據(jù)是通過該數(shù)據(jù)存放在雙口RAM中的起始地址位置和數(shù)據(jù)數(shù)量來確定。當(dāng)系統(tǒng)工作在測量控制方式下,在循環(huán)程序中執(zhí)行Call Library Function Node 結(jié)點(diǎn),該結(jié)點(diǎn)根據(jù)程序設(shè)定的“起始位置”和“采集點(diǎn)數(shù)”,調(diào)用了應(yīng)用層驅(qū)動DLL里的READRAM函數(shù),從雙口RAM指定位置(由起始位置決定)讀取連續(xù)數(shù)目(采集點(diǎn)數(shù))的測量數(shù)據(jù),并和采集時間間隔組成采集到的實(shí)際波形,提供給后續(xù)程序進(jìn)行分析處理。以A相電壓波形的測量和顯示為例,測量插卡按系統(tǒng)設(shè)計的約定把被測量電壓的幅度、頻率、相位值放在雙口RAM的某一連續(xù)單元,用戶只要在程序中選擇A相電壓測量,LabVIEW程序就通過Call Library Function Node 結(jié)點(diǎn)從雙口RAM的對應(yīng)單元讀取測量插卡適時測量的幅度、頻率、相位數(shù)據(jù),由這三個基本數(shù)據(jù),通過調(diào)用LabVIEW提供的功能強(qiáng)大的函數(shù),就能非常方便的對被測信號進(jìn)行顯示、分析、處理。
當(dāng)然這里只是用數(shù)據(jù)讀取來示例LabVIEW對硬件的控制,實(shí)用中還要通過DLL來完成對硬件的復(fù)位、初始化以及其它如檔位選擇、功能選擇、采集啟動等等。而且整個程序的結(jié)構(gòu)不僅和采集卡工作過程有關(guān),還與被測信號需要的采集控制過程緊密相關(guān),需要具體處理。
3. LabVIEW實(shí)現(xiàn)電表校驗(yàn)數(shù)據(jù)庫管理
LabVIEW與數(shù)據(jù)庫接口,主要以下幾種方式:一是購買NI公司的LabVIEW SQL Toolkit數(shù)據(jù)庫接口模塊;二是采用第三方提供的數(shù)據(jù)庫接口模塊LabSQL;三是通過調(diào)用動態(tài)鏈接庫DLL(Dynamic Link Library)訪問,先利用其它編程語言如Visual C++編寫DLL,再利用LabVIEW的調(diào)用庫函數(shù)節(jié)點(diǎn)CLFN(Calling Library Function Node)調(diào)用此DLL中相關(guān)函數(shù)訪問數(shù)據(jù)庫;四是利用動態(tài)數(shù)據(jù)交換(dynamic data exchange ,DDE)來實(shí)現(xiàn)對數(shù)據(jù)庫的訪問操作。本系統(tǒng)采用第三方提供的免費(fèi)的LabSQL來實(shí)現(xiàn)對數(shù)據(jù)庫的各種操作,相比方式一成本低,相比方式三、四簡單易用。
3.1 LabVIEW數(shù)據(jù)庫管理的基本結(jié)構(gòu)
LabVIEW數(shù)據(jù)庫管理的基本結(jié)構(gòu)如圖3所示,LabSQL1.1A是多數(shù)據(jù)庫的、跨平臺的LabVIEW數(shù)據(jù)庫訪問工具包(免費(fèi)下載網(wǎng)址http://jeffreytravis.com),它支持Windows操作系統(tǒng)中任何基于ODBC的數(shù)據(jù)庫,利用ADO以及SQL語言來完成數(shù)據(jù)庫訪問,提供一系列數(shù)據(jù)庫訪問的LabSQL VI。通過調(diào)用其中不同功能的子函數(shù),輔以簡單的SQL編程,就可以對數(shù)據(jù)庫進(jìn)行存取、查詢、修改、統(tǒng)計等各種操作。使用前,要對LabSQL進(jìn)行正確的安裝和配置,其方法可參看本文參考文獻(xiàn)[1]。
[align=center]
圖3 LabVIEW數(shù)據(jù)庫管理基本結(jié)構(gòu)[/align]
LabSQL VIs按照功能可分為四類:Command Vis用來完成一系列的基本ADO操作;Connection VIs是管理LabVIEW與數(shù)據(jù)庫之間的連接;Recordset VIs用于對數(shù)據(jù)庫中的記錄進(jìn)行各種操作;Top Level VIs屬于頂層的LabSQL應(yīng)用,對前三類LabSQL VIs某些功能的封裝,例如,SQL Execute.VIs可用于直接執(zhí)行SQL命令。
電表校驗(yàn)數(shù)據(jù)庫用來存放電表校驗(yàn)的有關(guān)數(shù)據(jù),它獨(dú)立存儲,以便系統(tǒng)對歷史的數(shù)據(jù)進(jìn)行管理和管理功能擴(kuò)充。系統(tǒng)采用ACCESS建立電表校驗(yàn)數(shù)據(jù)庫,根據(jù)數(shù)據(jù)管理的需要,數(shù)據(jù)庫主要包含校驗(yàn)員表(存放校驗(yàn)員信息)、被校驗(yàn)儀表表(存放被校電表結(jié)論資料)、幅度表(存放被校電表幅度實(shí)測記錄)、頻率表(存放被校電表頻率實(shí)測記錄)、功率因素表(存放被校電表功率因素測量記錄)、諧波分析表(存放諧波分析結(jié)果數(shù)據(jù)表)。
3.2 利用LabSQL操作數(shù)據(jù)庫的基本步驟
利用LabSQL在數(shù)據(jù)庫操作中可實(shí)現(xiàn)應(yīng)用程序與數(shù)據(jù)庫之間的數(shù)據(jù)傳送。一般的操作步驟如圖4所示,首先利用ADO Connection Create.vi創(chuàng)建一個空的連接對象,然后利用ADO Connection Open.vi打開指定的數(shù)據(jù)庫; 再利用ADO Recordset Create.vi創(chuàng)建一個空的記錄集對象,之后利用ADO Recordset Open.vi打開指定表格中的數(shù)據(jù)集對象。隨后是調(diào)用對數(shù)據(jù)集進(jìn)行添加、修改、刪除等操作的vi對數(shù)據(jù)集進(jìn)行指定操作,完成操作后,利用ADO Recordset Close.vi斷開記錄集,最后用ADO Connection Close.vi關(guān)閉數(shù)據(jù)庫。LabSQL對數(shù)據(jù)庫操作的各種Vis由Functions Palette→ALL Function→User Libraries→LabSQL→LabSQL ADO Functin 中取得。
[align=center]
圖4 數(shù)據(jù)庫操作的基本步驟[/align]
3.3 電表校驗(yàn)數(shù)據(jù)庫管理程序
系統(tǒng)數(shù)據(jù)庫管理的程序代碼框圖見圖5。

標(biāo)簽:
傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動網(wǎng)(surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-10-31
勇梅機(jī)械液壓閘門給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17
2025-10-11
「一體機(jī)性價比王者」NK290M普及型數(shù)控...
2025-10-09
2025-09-23