基于VC的GPIB儀器遠(yuǎn)程測量 系統(tǒng)實現(xiàn)方法
4 GPIB在功率測量系統(tǒng)中的應(yīng)用
下面以Agilent E4407功率計的遠(yuǎn)程測量系統(tǒng)為例來進(jìn)行說明。為實現(xiàn)計算機(jī)對功率計的遠(yuǎn)程控制,需要通過VC調(diào)用GPIB接口控制卡驅(qū)動程序接口函數(shù)。一般最常用到的函數(shù)有ibdev (GPIB接口控制卡初始化設(shè)置函數(shù))、ibwrt(寫字符串命令函數(shù))和ibrda(讀字符串命令函數(shù))。以下是測量程序的部分控制代碼,其作用是通過GPIB接口卡對功率計進(jìn)行初始化,并對功率計進(jìn)行讀寫操作。
首先是初始化GPIB卡,以使其具備控制和通信能力;然后初始化儀器,使儀器完成與GPIB的連接,并對儀器進(jìn)行相關(guān)的初始化操作,其代碼如下:
int m_iBoardIndex;//GPIB卡號此處為0
int m_iGPIBDev; //GPIB設(shè)備
int m_iSecondGPAdd;//GPIB設(shè)備第二地址
int m_iGPAddress; //GPIB地址此處設(shè)為19
char buf_pow[20];//數(shù)據(jù)緩存
InitGPIBDev();//初始化函數(shù)
{m_iGPIBDev=ibdev(m_ilndex,m_iG-PAdd,m_iSecAdd,Tls,1,0);
//初始化功率計,GPIB接口卡的地址為0、功率計的主地址為19,沒有輔地址、超時設(shè)置為1S、使用默認(rèn)傳輸結(jié)束方式。
ibwrt(m_iGPIBDev,“*RST?”);//儀器復(fù)位
ibwrt(m_iGPIBDev,“*CLS?”);//清除狀態(tài)寄存器
ibwrt(m_iGPIBDev,“*SRE 0”);//允許服務(wù)請求
ibwrt(m_iGPIBDev,“*ESE 0”);//允許標(biāo)準(zhǔn)事件狀態(tài)
ibwrt(m_iGPIBDev,“:STAT:PRES”);//預(yù)調(diào)整狀態(tài)
ibwrt(m_iGPIBDev,“:FUNC:ON‘POW’”);//顯示屏進(jìn)行顯示
}
其次是功率測量與顯示??刂苾x器完成相應(yīng)的測量和顯示時,首先也應(yīng)初始化相關(guān)變量,其代碼如下:本文引用地址:http://www.ex-cimer.com/article/195634.htm
程序運行后,首先還應(yīng)對GPIB卡和GPIB儀器進(jìn)行初始化,并完成與儀器的連接,然后利用遠(yuǎn)程測量程序向功率計發(fā)送測量命令“:MEA-SURE:POW?”進(jìn)行功率測量,之后再通過ibrda(m_iGPIBDev,buf_pow,20)函數(shù)讀取功率值并將讀取的數(shù)據(jù)存儲在本地開辟的數(shù)據(jù)緩存中,最后經(jīng)過本地處理后將測量數(shù)據(jù)顯示在遠(yuǎn)程測量的顯示屏上,從而實現(xiàn)功率計的遠(yuǎn)程控制和測量功能,其程序界面如圖2所示。
5 結(jié)束語
在采用VC++語言的編程環(huán)境下,利用SCPI儀器控制命令進(jìn)行GPIB儀器遠(yuǎn)程測量系統(tǒng)的開發(fā),其程序直觀,可讀性強(qiáng),可提高測量效率。此外,利用該方法還可實現(xiàn)對多種GPIB儀器遠(yuǎn)程測量系統(tǒng)的開發(fā),因而具有廣泛的推廣和應(yīng)用價值。
評論