時間:2008-12-12 11:09:56來源:ronggang
圖2測量控制程序流程圖[/align]
是SICL頭文件中所定義的設備標識符數(shù)據(jù)類型,通過iopen(“hpib7,21”)打開函數(shù)獲得要通信儀器或設備的標識符,其中“hpib7,21”為運行安裝SICL后的IO CONFIG程序所產(chǎn)生的接口名和總線地址。變量和參數(shù)是根據(jù)程序設計中使用變量定義,如定義存放一個數(shù)據(jù)包的數(shù)組char buf[1024]以及存放曲線數(shù)據(jù)點的數(shù)組int dPoint[ndata]等。接下來是接口的出錯及超時處理,儀器參數(shù)的設置是根據(jù)測量過程的實際要求來確定的,這里需要發(fā)送多個TD3000儀器程控命令,使儀器完成所要求的測量任務,此處用庫函數(shù)iprinf(id,format[,arg1][,arg2][,…] )來實現(xiàn),如啟動掃描命令“SS 12”,命令“SS”后的數(shù)值參數(shù)是掃描平均時間,根據(jù)測試光纖長度及TD3000測試手冊確定,其應用函數(shù)格式為iprinf(id,“SS 12\n” ),此函數(shù)根據(jù)應用的需要可同時完成多個命令的發(fā)送。掃描完成與否,可讀取儀器狀態(tài)進行檢查,判斷掃描平均是否結(jié)束,發(fā)送iprinf(id,“OS\n” )后,返回信息格式為,,用庫函數(shù)iscanf(id,format[,arg1][,arg2][,…] )讀取狀態(tài),具體應用函數(shù)為iscanf(id,“%c,%c”,&err,&tstat ),判斷tstat是否等于2且err=0,表示掃描平均完成曲線數(shù)據(jù)準備好。此時可直接讀取儀器測量并按儀器固定方式計算出的結(jié)果,或者讀出儀器測量的原始數(shù)據(jù),由計算機完成對此數(shù)據(jù)的計算及處理。本設計采用后者方式,因此發(fā)送OT命令。
根據(jù)上文的分析可知,OT命令返回兩種信息,即與其它命令相似的ASCII信息和符合ANSI/IEEE Std 728-1982標準的二進制數(shù)據(jù)信息,對于這兩種信息采用不同的庫函數(shù)來完成數(shù)據(jù)的讀取,即用函數(shù)iscanf(id,“%d,%d,%f”,&ndata,&nscan,&delta )來讀取曲線數(shù)據(jù)的頭記錄(Header Record),曲線數(shù)據(jù)點數(shù)ndata用來計算要讀幾個數(shù)據(jù)包,nscan實際掃描平均時間單位是毫秒,delta相鄰數(shù)據(jù)點間長度,用于計算光纖長度。用函數(shù)iread(id,buf,bufsize,reason,actualcnt)來讀曲線數(shù)據(jù)包,根據(jù)數(shù)據(jù)包數(shù)據(jù)格式分析,首先讀四個字節(jié),函數(shù)應用為iread(id,buf1,4,NULL,NULL),buf1[0]、buf1[1]應為ASCII數(shù)據(jù)“#”和“B”,buf1[2]和buf1[3]為數(shù)據(jù)包中數(shù)據(jù)字節(jié)數(shù),因此需要再讀字節(jié)為bytect= buf1[2]*256+buf1[3]+1,此處加上了一個字節(jié)的效驗和,其函數(shù)應用為iread(id,buf2,bytect,NULL,NULL),由此完成了一個數(shù)據(jù)包的數(shù)據(jù)讀出。按兩個字節(jié)為一個曲線數(shù)據(jù)點計算所讀數(shù)據(jù)包的數(shù)據(jù)點,與頭記錄中數(shù)據(jù)點比較,若相等則完成測量原始數(shù)據(jù)的讀出程序,若不相等再讀一次,直至讀完所有數(shù)據(jù)點。整個曲線數(shù)據(jù)點存放于dPoint[ndata]數(shù)組中,其最大為16384個數(shù)據(jù)點,數(shù)據(jù)值為-2720~8160,計算機可應用此數(shù)組編程完成數(shù)據(jù)的各種計算及處理,以滿足用戶對儀器測量結(jié)果的多方面要求。
4 結(jié)束語
本文主要討論了計算機控制TD3000儀器完成一次測量過程所采用的方式、方法及程序流程,本設計在實際應用系統(tǒng)中實現(xiàn)了計算機對TD3000 OTDR儀器的測量控制,并在實際的生產(chǎn)測試中,取得了良好的效果,不但提高了測試效率,更實現(xiàn)了手工操作難以完成的測試任務。其設計思路和方法也適用于其它類型的程控儀器的計算機控制系統(tǒng),對用一些老式儀器來組建自動測試系統(tǒng),提供了一種改造方法。
本文作者創(chuàng)新點:本文介紹的對儀器控制系統(tǒng)的設計不是直接讀取儀器測量并計算出的結(jié)果,而是讀取儀器測量的原始數(shù)據(jù),由計算機來處理原始數(shù)據(jù),因此可充分發(fā)揮計算機的數(shù)據(jù)運算和處理能力,極大的擴展了原有儀器的功能,滿足用戶對儀器測量結(jié)果新的需求。
參考文獻
[1] 張煥林,穆建成.基于GPIB技術(shù)的自動測試系統(tǒng)設計[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] 譚浩強.C程序設計[M]. 北京:清華大學出版社,1991.
標簽:
![]()
上一篇:虛擬溫度測量系統(tǒng)設計
傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動網(wǎng)(connectcrack.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。
相關資訊
產(chǎn)品新聞
更多>2025-12-15
2025-12-12
2025-12-12
2025-12-10
2025-11-20
500kN.m聯(lián)軸器扭矩剛度疲勞試驗系統(tǒng)
2025-11-10