技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于VB和LabVIEW的自動(dòng)化控制和編程設(shè)計(jì)

基于VB和LabVIEW的自動(dòng)化控制和編程設(shè)計(jì)

時(shí)間:2009-01-04 13:42:12來源:ronggang

導(dǎo)語:?介紹了在VB和Labview平臺(tái)下,利用Labview的強(qiáng)大儀器驅(qū)動(dòng)和實(shí)驗(yàn)儀器圖形顯示、VB的可視化編程完成友好的用戶界面進(jìn)行混合編程,實(shí)現(xiàn)了應(yīng)用系統(tǒng)的無縫集成,豐富了軟件的測(cè)量功能,縮短了程序的開發(fā)周期
摘 要:介紹了在VB和Labview平臺(tái)下,利用Labview的強(qiáng)大儀器驅(qū)動(dòng)和實(shí)驗(yàn)儀器圖形顯示、VB的可視化編程完成友好的用戶界面進(jìn)行混合編程,實(shí)現(xiàn)了應(yīng)用系統(tǒng)的無縫集成,豐富了軟件的測(cè)量功能,縮短了程序的開發(fā)周期。 關(guān)鍵詞:VB;虛擬儀器 ;自動(dòng)化控制;數(shù)據(jù)采集 ABSTRACT:The article introducethe characteristic of LabVIEW,the development. In addition, it analyzes three methods to automatization of the instrument with computer by using LabVIEW language and VB here.From the example of E5262A,it is a good way to integrative design of data acquisition,data processing and analyse. KEYWORDS:VB,Virtual Instrument(VI);Automatization ;Data Acquisition 1 引言   虛擬儀器(簡(jiǎn)稱為VI)的開發(fā)環(huán)境有很多,但NI公司的LabVIEW最為著名。LabVIEW不同于基于文本的編程語言(如Fortran和C),是一種圖形編程語言——通常稱為G編程語言,其編程過程是通過圖形符號(hào)描述程序的行為。LabVIEW使用的是科學(xué)家和工程師們所熟悉的術(shù)語,還使用了很易于識(shí)別的構(gòu)造G語言的圖形符號(hào),即使具有很少編程經(jīng)驗(yàn)的人也能學(xué)會(huì)使用LabVIEW。而VB作為可視化編程工具,不僅簡(jiǎn)單容易上手,而且功能強(qiáng)大,可以開發(fā)友好的用戶使用界面,同時(shí)通過ActiveX控件、DLL(動(dòng)態(tài)鏈接庫(kù))等多種方法實(shí)現(xiàn)與其他軟件的聯(lián)合開發(fā)。   Microsoft把所有以COM為基礎(chǔ)的技術(shù)統(tǒng)稱為ActiveX技術(shù)。自動(dòng)化是大多數(shù)ActiveX技術(shù)的基礎(chǔ),它可使解釋性的宏語言(如VB)能夠在不了解應(yīng)用程序?qū)崿F(xiàn)細(xì)節(jié)的情況下控制自動(dòng)化對(duì)象。Labview實(shí)現(xiàn)了ActiveX自動(dòng)化服務(wù)支持,在VB下通過ActiveX自動(dòng)化接口可將Labview作為Visual Basic語言的一個(gè)ActiveX部件調(diào)用。   本文以Agilent公司的E5262A儀器為例,通過Labview和VB混合編程,實(shí)現(xiàn)了多種數(shù)據(jù)采集和自動(dòng)化控制系統(tǒng)。 2 程序設(shè)計(jì)   程序設(shè)計(jì)以VB作為編程界面,同時(shí)調(diào)用Labview的圖形顯示控件,而動(dòng)態(tài)鏈接庫(kù)則要使用Win的Kernel32.dll,以及Labview的Gpib32.dll、Visa32.dll、儀器驅(qū)動(dòng)安裝時(shí)生成的E5260_32.dll等。程序流程圖如下圖所示。   首先安裝儀器自動(dòng)的驅(qū)動(dòng)庫(kù),接口一般采用通用的GPIB標(biāo)準(zhǔn),不僅數(shù)據(jù)、命令傳輸速度快,而且一張GPIB卡能夠同時(shí)控制最多16臺(tái)儀器。儀器驅(qū)動(dòng)安裝后,會(huì)生成一個(gè)以儀器為名的DLL文件??梢岳肔abview的MAX進(jìn)行接口掃描,發(fā)現(xiàn)新增加的儀器。安裝Labview后,在系統(tǒng)目錄下有g(shù)pib32.dll文件。   其次當(dāng)電腦中安裝了Labview后,在VB的工程引用中選取所需要的庫(kù)文件,其中包括了Agilent的VISA庫(kù)文件;在控件引用中,選中National Instrument公司的CW(波形顯示)等控件;Microsoft的通用對(duì)話控件。這樣就可以直接使用NI公司Labview的控件了。在VB工程中,添加儀器的動(dòng)態(tài)鏈接庫(kù)(DLL)聲明,包括將要使用的常量字符、GPIB、VISA接口庫(kù)函數(shù)、儀器(E5262A)庫(kù)函數(shù)、以及系統(tǒng)的Kernel32庫(kù)函數(shù)等等。如:Declare Function viOpenDefaultRM Lib "VISA32.DLL" Alias "#141" (sesn As Long) As Long等等。   程序設(shè)計(jì)中首先出現(xiàn)用戶選擇界面,選擇所需要的測(cè)量方式,進(jìn)入下一界面,填寫測(cè)量參數(shù),程序進(jìn)行儀器初始化,根據(jù)送入?yún)?shù)進(jìn)行測(cè)試,測(cè)試結(jié)果由Labview控件顯示,用戶指定文件保存信息將數(shù)據(jù)保存到文件中。   VB自帶了時(shí)鐘控件Timer,但時(shí)間量級(jí)是毫秒,快速測(cè)量或者反復(fù)切換測(cè)量狀態(tài)時(shí)不方便,程序中采用了Win的API函數(shù),通過調(diào)用Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)函數(shù),更加方便的對(duì)程序進(jìn)行控制。   E5262數(shù)據(jù)采集和自動(dòng)測(cè)量要求:測(cè)量一般為三極管的電壓電流變化曲線和漏電流,因此要加入輸入電壓值一、電壓二作為兩者間的電壓值,如使用共發(fā)射極時(shí),可以測(cè)量不同Vce電壓值時(shí),Vbe的電流曲線。即先固定Vce的電壓值,改變Vbe值,得到伏安曲線。 [align=center] 圖1、PNP三極管示意圖[/align]   根據(jù)實(shí)驗(yàn)要求設(shè)計(jì)數(shù)據(jù)采集模式為以下幾種:   模式1:固定通道一,二的電壓,即固定Vce、Vbe值,測(cè)量電流Ibe。   模式1:固定通道二的輸出電壓,即固定Vce,以三角波形方式改變通道一(即Vbe)的輸出電壓,測(cè)量電流Ibe。   模式2:固定通道一的輸出電壓,即固定Vbe,以三角波形改變通道二(即Vce)的輸出。測(cè)量電流Ibe。 [align=center] 圖2 程序流程圖[/align]   數(shù)據(jù)保存格式規(guī)范為數(shù)據(jù)序列號(hào)、實(shí)驗(yàn)日期、采集時(shí)間、通道一電壓值、通道二電壓值、采集電流值。   主要程序代碼說明:   ReDim OnePeroI((CInt((vdmax - vdmin) / vdstep)) * CInt(tspotcount.Text)) //根據(jù)測(cè)量數(shù)據(jù)要求動(dòng)態(tài)分配空間   For vg = vgmin To vgmax Step vgstep //進(jìn)行三角波電壓輸出循環(huán)   For vd = vdmin To vdmax Step vdstep//進(jìn)行三角波電壓輸出循環(huán)   If Option1.value = True Then //判斷使用通道測(cè)量類型   If Combo1.ListIndex = 0 Then//判斷輸入類型,電流還是電壓   ret = age5260_force(vi, pins(0), age5260_VF_MODE, 2, vd, idcomp, 0)   End If   End If   If RunorStop = True Then //是否被用戶強(qiáng)行終止測(cè)量   test_stopmeas //儀器設(shè)置清零   Exit Sub //退出   Else   spot_meas //進(jìn)行測(cè)量   OnePeroI(CurrentIndex) = meas //保存數(shù)據(jù)到數(shù)組   Sleep Sleeptime //延遲,控制采用速率   End If   CWGraph1.PlotY OnePeroI //Labview控件顯示圖形   Next vd//通道循環(huán)   CWGraph1.ClearData //圖形更新   Next vg//通道循環(huán) 3 測(cè)試實(shí)例、結(jié)果和討論 [align=center] 圖3 基于Labview和VB儀器采集自動(dòng)化控制界面[/align]   程序在Labview7.1和VB6.0軟件下,系統(tǒng)為Windows XP運(yùn)行測(cè)試通過。儀器使用的是Agilent公司的E5262A,實(shí)驗(yàn)測(cè)量的是三極管在不同偏壓下的電流值曲線,程序中可以由自定義的函數(shù)設(shè)置任意形狀的輸出電壓值。結(jié)果表明程序不能快速的自動(dòng)化測(cè)量采集數(shù)據(jù),將采集的不同對(duì)比圖形實(shí)時(shí)顯示,還能夠進(jìn)行初步的數(shù)據(jù)處理,極大的方便了實(shí)驗(yàn)的進(jìn)行。 4 結(jié)束語   本文的創(chuàng)新點(diǎn):  ?。?)進(jìn)行基于VB和Labview的聯(lián)合混合編程,,利用Labview的強(qiáng)大儀器驅(qū)動(dòng)和實(shí)驗(yàn)儀器圖形顯示、VB的可視化編程完成友好的用戶界面進(jìn)行混合編程,實(shí)現(xiàn)了應(yīng)用系統(tǒng)的無縫集成,豐富了軟件的測(cè)量功能,縮短了程序的開發(fā)周期。  ?。?)充分的利用了AcitiveX控件和DLL(動(dòng)態(tài)鏈接庫(kù))等多種方法,不僅能夠滿足實(shí)驗(yàn)測(cè)量要求,還增強(qiáng)了儀器的測(cè)量功能,充分的發(fā)揮了虛擬儀器編程的強(qiáng)大能力。  ?。?)程序中可以通過自己開發(fā)的函數(shù)進(jìn)行數(shù)據(jù)處理,在測(cè)量顯示存儲(chǔ)數(shù)據(jù)的同時(shí),將初步結(jié)果也計(jì)算顯示出來,這樣不僅直觀的監(jiān)控測(cè)量系統(tǒng),還能隨時(shí)根據(jù)結(jié)果進(jìn)行參數(shù)的調(diào)整。 參考文獻(xiàn)   [1]畢虎,律方成,李燕青,李和明.Labview中訪問數(shù)據(jù)庫(kù)的幾種不同方法.微計(jì)算機(jī)信息,2006,1-1:131-134。   [2]吳苗,許江寧,繆繡華,紀(jì)兵.基于Labview的設(shè)備驅(qū)動(dòng)程序開發(fā)技術(shù)研究.微計(jì)算機(jī)信息,2006,2-1:153-155。   [3]毛建東.基于Labview的單片機(jī)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì).微計(jì)算機(jī)信息,2006,3-2:41-42。   [4]周偉林,李清峰,楊華勇.基于Labview的AC1077數(shù)據(jù)采集卡的驅(qū)動(dòng).微計(jì)算機(jī)信息,2006,1-1:121-123。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于PIC18F458的CAN總線接口設(shè)計(jì)

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

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

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

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

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

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)