您現(xiàn)在的位置:
中國(guó)傳動(dòng)網(wǎng)
>
技術(shù)頻道
>
技術(shù)百科
>
基于GPIB接口的TD3000儀器控制系統(tǒng)設(shè)計(jì)
時(shí)間:2008-12-12 11:09:56來(lái)源:ronggang
圖2測(cè)量控制程序流程圖[/align]
是SICL頭文件中所定義的設(shè)備標(biāo)識(shí)符數(shù)據(jù)類型,通過(guò)iopen(“hpib7,21”)打開(kāi)函數(shù)獲得要通信儀器或設(shè)備的標(biāo)識(shí)符,其中“hpib7,21”為運(yùn)行安裝SICL后的IO CONFIG程序所產(chǎn)生的接口名和總線地址。變量和參數(shù)是根據(jù)程序設(shè)計(jì)中使用變量定義,如定義存放一個(gè)數(shù)據(jù)包的數(shù)組char buf[1024]以及存放曲線數(shù)據(jù)點(diǎn)的數(shù)組int dPoint[ndata]等。接下來(lái)是接口的出錯(cuò)及超時(shí)處理,儀器參數(shù)的設(shè)置是根據(jù)測(cè)量過(guò)程的實(shí)際要求來(lái)確定的,這里需要發(fā)送多個(gè)TD3000儀器程控命令,使儀器完成所要求的測(cè)量任務(wù),此處用庫(kù)函數(shù)iprinf(id,format[,arg1][,arg2][,…] )來(lái)實(shí)現(xiàn),如啟動(dòng)掃描命令“SS 12”,命令“SS”后的數(shù)值參數(shù)是掃描平均時(shí)間,根據(jù)測(cè)試光纖長(zhǎng)度及TD3000測(cè)試手冊(cè)確定,其應(yīng)用函數(shù)格式為iprinf(id,“SS 12\n” ),此函數(shù)根據(jù)應(yīng)用的需要可同時(shí)完成多個(gè)命令的發(fā)送。掃描完成與否,可讀取儀器狀態(tài)進(jìn)行檢查,判斷掃描平均是否結(jié)束,發(fā)送iprinf(id,“OS\n” )后,返回信息格式為,,用庫(kù)函數(shù)iscanf(id,format[,arg1][,arg2][,…] )讀取狀態(tài),具體應(yīng)用函數(shù)為iscanf(id,“%c,%c”,&err,&tstat ),判斷tstat是否等于2且err=0,表示掃描平均完成曲線數(shù)據(jù)準(zhǔn)備好。此時(shí)可直接讀取儀器測(cè)量并按儀器固定方式計(jì)算出的結(jié)果,或者讀出儀器測(cè)量的原始數(shù)據(jù),由計(jì)算機(jī)完成對(duì)此數(shù)據(jù)的計(jì)算及處理。本設(shè)計(jì)采用后者方式,因此發(fā)送OT命令。
根據(jù)上文的分析可知,OT命令返回兩種信息,即與其它命令相似的ASCII信息和符合ANSI/IEEE Std 728-1982標(biāo)準(zhǔn)的二進(jìn)制數(shù)據(jù)信息,對(duì)于這兩種信息采用不同的庫(kù)函數(shù)來(lái)完成數(shù)據(jù)的讀取,即用函數(shù)iscanf(id,“%d,%d,%f”,&ndata,&nscan,&delta )來(lái)讀取曲線數(shù)據(jù)的頭記錄(Header Record),曲線數(shù)據(jù)點(diǎn)數(shù)ndata用來(lái)計(jì)算要讀幾個(gè)數(shù)據(jù)包,nscan實(shí)際掃描平均時(shí)間單位是毫秒,delta相鄰數(shù)據(jù)點(diǎn)間長(zhǎng)度,用于計(jì)算光纖長(zhǎng)度。用函數(shù)iread(id,buf,bufsize,reason,actualcnt)來(lái)讀曲線數(shù)據(jù)包,根據(jù)數(shù)據(jù)包數(shù)據(jù)格式分析,首先讀四個(gè)字節(jié),函數(shù)應(yīng)用為iread(id,buf1,4,NULL,NULL),buf1[0]、buf1[1]應(yīng)為ASCII數(shù)據(jù)“#”和“B”,buf1[2]和buf1[3]為數(shù)據(jù)包中數(shù)據(jù)字節(jié)數(shù),因此需要再讀字節(jié)為bytect= buf1[2]*256+buf1[3]+1,此處加上了一個(gè)字節(jié)的效驗(yàn)和,其函數(shù)應(yīng)用為iread(id,buf2,bytect,NULL,NULL),由此完成了一個(gè)數(shù)據(jù)包的數(shù)據(jù)讀出。按兩個(gè)字節(jié)為一個(gè)曲線數(shù)據(jù)點(diǎn)計(jì)算所讀數(shù)據(jù)包的數(shù)據(jù)點(diǎn),與頭記錄中數(shù)據(jù)點(diǎn)比較,若相等則完成測(cè)量原始數(shù)據(jù)的讀出程序,若不相等再讀一次,直至讀完所有數(shù)據(jù)點(diǎn)。整個(gè)曲線數(shù)據(jù)點(diǎn)存放于dPoint[ndata]數(shù)組中,其最大為16384個(gè)數(shù)據(jù)點(diǎn),數(shù)據(jù)值為-2720~8160,計(jì)算機(jī)可應(yīng)用此數(shù)組編程完成數(shù)據(jù)的各種計(jì)算及處理,以滿足用戶對(duì)儀器測(cè)量結(jié)果的多方面要求。
4 結(jié)束語(yǔ)
本文主要討論了計(jì)算機(jī)控制TD3000儀器完成一次測(cè)量過(guò)程所采用的方式、方法及程序流程,本設(shè)計(jì)在實(shí)際應(yīng)用系統(tǒng)中實(shí)現(xiàn)了計(jì)算機(jī)對(duì)TD3000 OTDR儀器的測(cè)量控制,并在實(shí)際的生產(chǎn)測(cè)試中,取得了良好的效果,不但提高了測(cè)試效率,更實(shí)現(xiàn)了手工操作難以完成的測(cè)試任務(wù)。其設(shè)計(jì)思路和方法也適用于其它類型的程控儀器的計(jì)算機(jī)控制系統(tǒng),對(duì)用一些老式儀器來(lái)組建自動(dòng)測(cè)試系統(tǒng),提供了一種改造方法。
本文作者創(chuàng)新點(diǎn):本文介紹的對(duì)儀器控制系統(tǒng)的設(shè)計(jì)不是直接讀取儀器測(cè)量并計(jì)算出的結(jié)果,而是讀取儀器測(cè)量的原始數(shù)據(jù),由計(jì)算機(jī)來(lái)處理原始數(shù)據(jù),因此可充分發(fā)揮計(jì)算機(jī)的數(shù)據(jù)運(yùn)算和處理能力,極大的擴(kuò)展了原有儀器的功能,滿足用戶對(duì)儀器測(cè)量結(jié)果新的需求。
參考文獻(xiàn)
[1] 張煥林,穆建成.基于GPIB技術(shù)的自動(dòng)測(cè)試系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2005,(5):165-166.
[2] HP Standard Instrument Control Library Guide[Z].USA:Hewlett-Packard Company.1998.
[3] TD-3000 OTDR Operating Instructions[Z].USA:Laser precision corp.1994.
[4] 譚浩強(qiáng).C程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,1991.
標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23
影視舞臺(tái)燈光低煙無(wú)鹵扁平電纜13*4+2*(2...
2025-09-23
「頻」實(shí)力,新上市——富士電機(jī) FRENIC...
2025-09-08
華為昇騰Atlas800iA2 910B服務(wù)器Deepsee...
2025-09-04
TaiShan(泰山)200 2280系列服務(wù)器 鯤...
2025-09-03
2025-08-06