技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于LabVIEW的電表校驗虛擬儀表接口控制

基于LabVIEW的電表校驗虛擬儀表接口控制

時間:2008-12-08 09:28:36來源:ronggang

導(dǎo)語:?本文闡述用虛擬儀表設(shè)計工具LabVIEW開發(fā)電表校驗虛擬儀表軟件,通過對信號測量采樣控制和數(shù)據(jù)庫管理的實際應(yīng)用實例,具體地討論了對自行設(shè)計的微機硬、軟件的連接及控制接口的技術(shù)和方法
摘 要:本文闡述用虛擬儀表設(shè)計工具LabVIEW開發(fā)電表校驗虛擬儀表軟件,通過對信號測量采樣控制和數(shù)據(jù)庫管理的實際應(yīng)用實例,具體地討論了對自行設(shè)計的微機硬、軟件的連接及控制接口的技術(shù)和方法。 關(guān)鍵詞:LabVIEW 虛擬儀表 電表校驗 Abstracts:This paper introduces the software of ammeter visual instrument, which is developed by LabVIEW. With the instances of signal sampling control and management of database, it presents the technology and method of the connection and interface of hardware and software of the system in detail. Key words:LabVIEW Visual Instrument Ammeter Test 1. 引言   Visual Instrument (VI,虛擬儀器)是以計算機強大的軟硬件資源作為儀器的支撐,利用高性能的模塊化硬件,結(jié)合高效靈活的軟件組成的,來完成各種測試、測量和自動化的應(yīng)用的各種各樣的儀器系統(tǒng)。傳統(tǒng)的電子儀器是自封閉的系統(tǒng),屬于專用設(shè)備,不便于用戶對儀表功能需要改變及儀表功能的擴充,而VI的功能是可由用戶自己定義的,并且是可以根據(jù)用戶需求進(jìn)行快速升級的。   傳統(tǒng)的電表校驗儀表都是專用昂貴的笨重型設(shè)備,而本系統(tǒng)是建立在小型PXI工業(yè)控制計算機平臺之上,結(jié)構(gòu)小巧緊湊。本校驗系統(tǒng)的軟件設(shè)計是在Windows下實現(xiàn),主要包括三個層面:底層的硬件驅(qū)動程序,針對硬件特點,根據(jù)Windows操作系統(tǒng)對設(shè)備管理的特點,采用DLL文件實現(xiàn)對硬件部分的直接驅(qū)動;中層通過編寫生成DLL文件來完成應(yīng)用程序和驅(qū)動程序的接口,被應(yīng)用程序調(diào)用實現(xiàn)對硬件的具體控制和操作;上層的用戶應(yīng)用程序進(jìn)行人-機交互操作,調(diào)用功能子程序,實現(xiàn)參數(shù)傳遞,完成有關(guān)的數(shù)據(jù)處理,在這里采用LabVIEW(Laborary Virtual Instrument Engineering Workbench)設(shè)計虛擬儀器的用戶應(yīng)用程序,則是當(dāng)前優(yōu)選的方法。在采用虛擬儀器技術(shù)設(shè)計的電表校驗系統(tǒng)中,由于測量功能的特殊要求,微機的電量測量儀表插卡是自行設(shè)計的,數(shù)據(jù)庫也是按用戶要求設(shè)計。因此,采用LabVIEW開發(fā)虛擬儀表就面臨如何用LabVIEW實現(xiàn)對硬件控制,如何用LabVIEW實現(xiàn)對數(shù)據(jù)庫管理的問題,這也是設(shè)計中必須首先解決的問題。 2. LabVIEW對電量測量卡硬件控制   2.1 LabVIEW對硬件控制的基本結(jié)構(gòu)   LabVIEW對自行設(shè)計的電量測量卡硬件控制主要是通過調(diào)用動態(tài)連接庫(DLL)來實現(xiàn)。對于NI公司生產(chǎn)出售的各種數(shù)據(jù)采集卡式設(shè)備,都提供了對應(yīng)的設(shè)備驅(qū)動程序,安裝后可以被LabVIEW的VI函數(shù)直接調(diào)用,以此方便用戶對數(shù)據(jù)采集卡的使用和控制。對本系統(tǒng)自行設(shè)計的電量測量卡,必須自行設(shè)計驅(qū)動程序并形成DLL文件,用LabVIEW的Call Library Function Node 結(jié)點來調(diào)用動態(tài)連接庫里的函數(shù),完成對硬件的控制。LabVIEW對硬件控制 測量插卡驅(qū)動程序的基本結(jié)構(gòu)如圖1所示。 [align=center] 圖1 LabVIEW對硬件控制結(jié)構(gòu)[/align]   圖中,底層硬件接口驅(qū)動程序是面向硬件接口專用驅(qū)動程序,它可以被應(yīng)用層驅(qū)動程序調(diào)用實現(xiàn)對硬件直接控制。應(yīng)用層驅(qū)動程序是面向用戶應(yīng)用程序的控制接口,為動態(tài)連接庫文件,可用LabVIEW的Call Library Function Node 結(jié)點來調(diào)用。該結(jié)點在Advenced子模板中,其配置也比較簡單,只需打開對應(yīng)的動態(tài)連接庫文件,選中要調(diào)用的函數(shù),添加適當(dāng)?shù)膮?shù)即可,細(xì)節(jié)可參閱參考文獻(xiàn)[1]。   2.2 LabVIEW電量測量控制流程   電量測量插卡能對三相交流電壓和電流進(jìn)行測量,測量過程由插卡上的DSP控制,測量的數(shù)據(jù)存放在插卡上的雙口RAM中,微機上LabVIEW編寫的用戶程序通過雙口RAM和電量測量插卡交換信息,下傳控制信號,讀取測量數(shù)據(jù)。系統(tǒng)對測量信號處理及分析有不同的要求,這里僅以圖2 A相電壓測量的LabVIEW控制程序流程對測量控制進(jìn)行說明。 [align=center] 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é)點,該結(jié)點根據(jù)程序設(shè)定的“起始位置”和“采集點數(shù)”,調(diào)用了應(yīng)用層驅(qū)動DLL里的READRAM函數(shù),從雙口RAM指定位置(由起始位置決定)讀取連續(xù)數(shù)目(采集點數(shù))的測量數(shù)據(jù),并和采集時間間隔組成采集到的實際波形,提供給后續(xù)程序進(jìn)行分析處理。以A相電壓波形的測量和顯示為例,測量插卡按系統(tǒng)設(shè)計的約定把被測量電壓的幅度、頻率、相位值放在雙口RAM的某一連續(xù)單元,用戶只要在程序中選擇A相電壓測量,LabVIEW程序就通過Call Library Function Node 結(jié)點從雙口RAM的對應(yīng)單元讀取測量插卡適時測量的幅度、頻率、相位數(shù)據(jù),由這三個基本數(shù)據(jù),通過調(diào)用LabVIEW提供的功能強大的函數(shù),就能非常方便的對被測信號進(jìn)行顯示、分析、處理。   當(dāng)然這里只是用數(shù)據(jù)讀取來示例LabVIEW對硬件的控制,實用中還要通過DLL來完成對硬件的復(fù)位、初始化以及其它如檔位選擇、功能選擇、采集啟動等等。而且整個程序的結(jié)構(gòu)不僅和采集卡工作過程有關(guān),還與被測信號需要的采集控制過程緊密相關(guān),需要具體處理。 3. LabVIEW實現(xià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é)點CLFN(Calling Library Function Node)調(diào)用此DLL中相關(guān)函數(shù)訪問數(shù)據(jù)庫;四是利用動態(tài)數(shù)據(jù)交換(dynamic data exchange ,DDE)來實現(xiàn)對數(shù)據(jù)庫的訪問操作。本系統(tǒng)采用第三方提供的免費的LabSQL來實現(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ù)庫訪問工具包(免費下載網(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命令。   電表校驗數(shù)據(jù)庫用來存放電表校驗的有關(guān)數(shù)據(jù),它獨立存儲,以便系統(tǒng)對歷史的數(shù)據(jù)進(jìn)行管理和管理功能擴充。系統(tǒng)采用ACCESS建立電表校驗數(shù)據(jù)庫,根據(jù)數(shù)據(jù)管理的需要,數(shù)據(jù)庫主要包含校驗員表(存放校驗員信息)、被校驗儀表表(存放被校電表結(jié)論資料)、幅度表(存放被校電表幅度實測記錄)、頻率表(存放被校電表頻率實測記錄)、功率因素表(存放被校電表功率因素測量記錄)、諧波分析表(存放諧波分析結(jié)果數(shù)據(jù)表)。   3.2 利用LabSQL操作數(shù)據(jù)庫的基本步驟   利用LabSQL在數(shù)據(jù)庫操作中可實現(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 電表校驗數(shù)據(jù)庫管理程序   系統(tǒng)數(shù)據(jù)庫管理的程序代碼框圖見圖5。
  程序中,按前面板“Tab Control”標(biāo)簽選擇當(dāng)前要操作的數(shù)據(jù)表,在主循環(huán)下,程序等待用戶操作的發(fā)生,當(dāng)用戶按下“查詢”、“刪除”、“添加”、“更新”等操作按鈕時,程序就對選定的數(shù)據(jù)表執(zhí)行相應(yīng)的操作。在右邊的CASE結(jié)構(gòu)中,其代碼框圖的內(nèi)容和操作對象會隨數(shù)據(jù)表的選擇和“操作按鈕”的改變而變化,從而實現(xiàn)對不同的數(shù)據(jù)表進(jìn)行數(shù)據(jù)管理的功能,這些功能都是調(diào)用LabSQL1.1A中相應(yīng)的VI完成,其操作的基本過程如前面圖4所示。圖5所示的操作表示當(dāng)前正在對校驗員表進(jìn)行查詢操作,會把查詢到的記錄顯示在前面板的屏幕上,供用戶翻閱。 4.結(jié)束語   采用LabVIEW開發(fā)的虛擬儀器,界面友好美觀,代碼結(jié)構(gòu)清晰易讀。處理好LabVIEW對虛擬儀表軟、硬件接口控制,對于充分發(fā)揮LabVIEW的功能極為重要,以此為基礎(chǔ),就可以靈活、充分地利用通用計算機的大量實用軟件工具及強大的信號處理能力,以及各種插卡式“儀器”,實現(xiàn)對信號測量、計算、分析、處理、圖形或數(shù)字顯示、數(shù)據(jù)管理、 以及輸出控制,突破了傳統(tǒng)儀器在數(shù)據(jù)處理、顯示、傳輸、存儲等方面的限制,并把測量控制和信息管理相結(jié)合。虛擬儀器VI作為計算機技術(shù)和儀器測量技術(shù)相結(jié)合的產(chǎn)物,未來必將在許多行業(yè)發(fā)揮越來越大的作用。   本文的創(chuàng)新點是:把虛擬儀器技術(shù)應(yīng)用到電表檢驗設(shè)備當(dāng)中,詳細(xì)描述了LabVIEW對自行設(shè)計的硬件接口控制方法和數(shù)據(jù)庫的訪問操作方法,該方法切實可行,有一定的借鑒意義。 參考文獻(xiàn)   [1] 楊樂平 李海濤等.LabVIEW高級程序設(shè)計.北京:清華大學(xué)出版社.2004   [2] 楊樂平 李海濤等.LabVIEW程序設(shè)計與應(yīng)用.北京:電子工業(yè)大學(xué)出版社.2001   [3] 汪敏生等.LabVIEW基礎(chǔ)教程.北京:電子工業(yè)出版社.2002   [4] Gary W Johnson,Richard Jennings著.武嘉,陸勁昆譯.LabVIEW圖形編程.北京:北京大學(xué)出版社.2002   [5] 宋志軍.基于LabVIEW和PXI平臺的焊機自動測試系統(tǒng).工業(yè)控制.2004.9   [6] 畢虎,律方成,李燕青,李和明.《LabVIEW中訪問數(shù)據(jù)庫的幾種不同方法》,微計算機信息,2006,1-1:131-134

標(biāo)簽:

點贊

分享到:

上一篇:基于虛擬儀器的遠(yuǎn)程振動測試...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.connectcrack.com)獨家所有。如需轉(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é)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號