新型式接口在分析儀器同微機間訊息里運用
1目前工程中用到的儀器種類繁多,功能各異,一個系統往往需要多臺不同類型的儀器工作,而傳統意義上的接口方式(如串、并口)難以滿足要求。在這種背景下, GP IB接口的總線方式于1978年應運而生,實現了計算機與測量系統的首次結合。
GP IB接口作為橋梁,把各種可編程儀器與計算機緊密地聯系起來,測量和儀器領域也由獨立的、傳統的單臺儀器向組成大規模自動測試系統方向發展。利用計算機強大的數據分析處理、結果的圖形顯示等功能,不僅可以對帶有GP IB接口儀器的完全計算機控制,而且也可實現對原儀器功能進行重新定義、設計或擴展而構成一套先進的虛擬儀器系統。基于此,文中以惠普公司的動態信號分析儀HP35670A為對象,利用CON TEC公司的GP IB接口板開發了一套小型的虛擬儀器系統,實現了HP35670A與計算機之間的通訊控制,為數據的進一步分析處理提供了一個良好的軟件平臺。
2GPIB總線接口介紹
211GPIB總線結構
GP IB總線是一個數字化的24腳(扁型接口插座)并行總線。其中16根線為TTL電平信號傳輸線,包括8根雙向數據線、5根接口管理線、3根數據傳輸控制線,其余8根為地線和屏蔽線。
GP IB使用8位并行、字節串行、異步通訊方式,所有字節通過總線順序傳送。
由于GP IB的數據單位是字節(8位) ,數據一般以A SC碼字符串方式傳送。
GP IB系統設備有講者、聽者和控者3種屬性。實際設備具有其中的一種、兩種或全部具備。講者能通過總線向其它設備發送數據,聽者能從總線上接收講者發送的數據,而控者可以通過尋址指定連到總線上具有講者屬性的設備成為講者和具有聽者屬性的設備作為聽者,包括指定它自己。一般來講,在GP IB系統中計算機是控者,具有講、聽、控3種屬性。為避免總線沖突,一次只能有一個講者,但可以同時有幾個聽者。在GP IB系統中,為保證多線消息能雙向、異步、準確可靠的傳遞, GP IB母線中設置了三條握手線用于控制設備之間消息字節的傳送: DAV (DA TA VAL ID )―數據有效線; NRFD (NOT READY FOR DA TA )―未準備好接收數據線; NDAC( NOT DA TA ACCEPTED)―未收到數據線。
212GPIB總線特點
GP IB是計算機和儀器間的標準通訊協議,它的硬件規格和軟件協議已納入國際工業標準IEEE488 11和IEEE488 1 2中。
GP IB作為最早的儀器總線具有以下特點:
(1) GP IB接口編程方便,減輕了軟件設計負擔,可使用高級語言編程;(2)提高了儀器設備性能的指標。利用計算機對帶有GP IB接口的儀器實現操作和控制,可實現系統的自校準、自診斷等要求,從而提高了測量精度;(3)便于將多臺帶有GP IB接口的儀器組合起來,形成較大的測試系統,高效靈活地完成各種不同的測試任務,而且組建和拆散靈活,使用方便;(4)便于擴展傳統儀器的功能。由于儀器和計算機相連,因此可在計算機的控制下對測試數據進行更加靈活、方便的傳輸、處理、綜合、利用和顯示,使原來儀器采用硬件邏輯很難解決的問題迎刃而解。
3硬件組成及軟件設計
311硬件組成
文中用到的硬件示意圖如1所示,主要有以下3個部分組成,下面分別加以介紹。
日本CON TEC公司的GP 2 IB (CB) F接口板它是PCM C IA類型接口板,完成GP IB儀器與筆記本電腦之間的通訊。其特點是:符合IEEE 2488 12標準;數據最大傳速率是1 5M byte s;內置2kbyte F I 2 FO用于數據的傳送和接收;內置GP IB總線分析功能;具有自診斷功能。該卡附有驅動程序庫― A P I2 PAC(W 32) ,它提供了W IN 32 A P I格式的函數,為各種常用編程語言提供使用方便、統一的軟件接口,能夠用于W indow s XP、2000、M e、98等操作系統,支持的編程語言包括L abV IEW、V isual C+ +、Boland C+ +、V isual Basic、Delphi、Builder等。當該卡驅動程序在筆記本電腦上成功安裝以后,在其屬性頁中可以對該板卡的諸如板卡名稱、板卡主、從地址、查詢模式、超時間隔、傳輸字符結束模式等各種常用屬性進行配置,同時,在其屬性設置中,還包括該板卡的自診斷功能,可以方便的檢查板卡的啟動和驅動程序是否正常,并可以將診斷結果以文本方式輸出。
惠普公司的動態信號分析儀HP35670A是一款高性能的動態信號分析儀,包括兩種型號一雙通道和四通道,可以完成動態信號的采集與各種分析,本文所做的研究通用于這兩類儀器。HP35670A廣泛適用于以下類型的測量:
轉動機械測量、結構測量、聲學測量、頻譜和網絡測量以及控制系統測量。當配備了所有的選用件時,其功能相當于頻譜分析儀、網絡分析儀、聲級表、聲學強度分析儀、振動分析儀、音頻示波器和幅度域分析儀等。它配備有下列儀器工作方式:
快速傅里葉變換(FFT )分析、相關分析、直方圖時間分析、倍頻程分析、階次分析和掃描正弦等。
HP35670A在前面板上通過各種功能軟鍵來完成數據的采集、分析、結果的圖形顯示以及儀器的控制等功能,后面板上配備有GP IB和RS 2 232接口,可與計算機通訊或直接由計算機對其進行遠程控制,其控制指令完全符合SCP I(可程控儀器標準命令)標準,此外該儀器也配有軟驅通過磁盤來存儲數據。本文由計算機來控制HP35670A采集和分析數據,并且通過GP IB接口實現兩者之間的數據交換以備后續各種處理。
筆記本電腦作為系統的“主控者”
,通過GP IB接口板對HP35670A進行完全“軟件”控制,主要包括以下幾個方面:
儀器的控制(初始化、復位、儀器參數設置等);各種數據(采集的原始數據或由HP35670A分析的結果數據等)在儀器與計算機之間的傳遞;通過特定軟件(如模態軟件)根據不同的應用需求對HP35670A的數據進行后續處理(如模態分析)等。
312軟件設計
軟件部分設計主要用到的是GP IB板卡的W IN 32 A P I函數驅動庫以及HP35670A自身的SCP I命令庫。
A P I函數庫封裝了對GP IB板卡初始化、從GP IB設備讀取數據、向GP IB設備寫入數據或命令以及GP IB設備的清除等各種控制操作。
HP35670A提供了幾百種SCP I命令,可實現儀器的狀態設置、數據的顯示、文件的管理以及前面板的控制等各種操作。本文采用可視化編程環境V isual C + + 6 1 0作為開發平臺,在W IN 2000系統下開發了GP IB儀器控制程序,界面如2所示。其主要功能包括:
時域數據的存儲、刪除;頻域數據(頻響函數)的存儲、刪除;當前圖形上任意內容數據的存儲、刪除;儀器的初始化、控制權的轉換以及操作結果的狀態顯示等。
儀器的初始化主要包括板卡的初始化和HP35670A的初始化。
在GP IB系統中,每個設備至少應具有一個0到30之間的GP IB地址,在同一系統中,不同的設備應具有不同的地址,一般GP IB板卡設置地址0, GP IB儀器地址從1到30.板卡在計算機安裝成功以后,在其屬性頁中,默認地址已設置為0。對于HP35670A ,其地址設置可以是1到30中的任意一個整數,但前提是程序中設置的地址必須與HP35670A中設置的GP IB地址一致,否則初始化會失敗。還有一點要注意的是, HP35670A儀器有兩種工作模式―“SYSTEM CON TROLLR”和“AD 2 DRESSBL ONL Y”,分別代表“主控制級”和“被控制級”,在默認情況下(即不用GP IB總線控制的時候)是前一種工作模式,在本文所涉及的GP IB系統中,HP35670A作為被控者而計算機作為主控者,因此,其工作模式必須要變為“ADDRESSBL ONL Y”。
初始化函數原型為: DWORD Gp Ini(void)。當返回值為0時,初始化成功,此時HP35670A前面板上的各種功能軟鍵除了“Local GP IB”外都失效,系統的控制權屬于計算機,由計算機通過GP IB總線發送各種控制命令對儀器進行操作。
HP35670A若再得到控制權有兩種方式可以實現:一種方法是通過軟鍵“Local GP IB”來得到,另一種是通過程序來控制,由2中的“GTL”按鍵來實現,其實質是發送命令GpGtl(Yradr)來使儀器得到控制權,參數Yradr指HP35670A的地址。
GP IB的寫、讀控制該部分主要完成發送儀器的控制命令以及接收數據功能。
發送儀器控制命令函數原型為: DWORD Ret=GpTalk (Cm d, Srlen, Srbuf)。Cm d是包含三個元素的數組, Cm d<0>指講者和聽者的數目總和,本系統中只有計算機和一個GP IB儀器HP35670A ,所以設定為2;Cm d <1>指講者的地址; Cm d<2>指聽者的地址。
Srlen指發送命令字符串的長度。
Srbuf是字符串指針,存放要發送的控制命令。
接收數據函數原型為: DWORD Ret= GpL isten(Cm d, Srlen, SrBuffer)。
Cm d參數意義同上。
Srlen返回接收到的數據長度。
SrBuffer存放接收到的字符串數據。
本文主要是得到每次試驗的時域和頻域數據,三個步驟即可實現此功能,首先設置當前圖形要顯示的數據(時域、頻域) ,其次設置數據的顯示方式(實部、虛部、對數或者其它等) ,最后取出當前圖形的數據。對應的主要SCP I命令分別為:CALC1: FEED‘XT IM : VOL T 1’;3 WA I; DA 2 TA CALC1: FEED‘XFR: POW : RA T 2, 1’; FORM REAL;3 WA I;DA TA對于HP35670A ,由于數據存儲針對于當前圖形進行操作,因此在存儲完畢以后要保證當前圖形中顯示的內容前后一致,此時需要在存儲前讀出當前圖形中的顯示狀態,存儲后據此即可恢復到原來的狀態。
系統中的同步實現方法在HP35670A執行命令的過程中,后一種操作有可能取決于前一種操作的執行結果,而前一種操作可能要花上一段時間才能執行完畢。在這種執行情況下,必須要保證前一種操作執行完畢之后才能執行后一種操作,否則,結果有可能出現錯誤。這就是同步問題。狀態和事件報告系統提供了幾種方法,如3 WA I,3 OPC等控制命令。用3 WA I命令強制后一個命令必須等前一個命令執行完之后才開始執行,它是最容易實現的一個方法。此外,也可以通過軟件延時來達到此目的,即在傳輸數據時,兩條指令之間根據實際情況加一個軟件延時,在延時時間段內確保上一條指令數據傳輸完畢即可。
在文中,主要采用的是3 WA I命令配合軟件延時,以保證正確地實現HP35670A與應用程序之間的數據交換。
數據文件的管理由于從GP IB數據總線上接收到數據是字符串形式,而且數據之間有分割符以及結束符等,需要對字符串數據進行管理以便對HP35670A的數據根據特定需要后續處理。本文將接收到的數據以A SC碼方式存放,可以新建一個文件或者是追加到原有文件,該文件格式可以由MA TLAB或L abV IEW等其它通用軟件方便調用。
4結束
文中實現了基于GP IB總線的HP35670A儀器與筆記本電腦之間的通訊,數據傳輸速度快,操作方便,不僅能夠完全替代儀器自身的軟驅通過磁盤來傳輸數據,而且可以在本系統中連結多臺GP IB儀器,由GP IB接口設備完成信號的采集、測量與調理,利用計算機強大的軟件功能實現信號數據的運算、分析、處理以及顯示等,從而構成一套大型多功能的計算機儀器系統即虛擬儀器系統,由此可以充分利用計算機的軟件和硬件資源,使本來需要硬件或電路難以實現或根本無法實現的技術軟件化和虛擬化,最大限度的降低成本,增強系統的功能和靈活性。
【中國糧油儀器在線】部分信息來自互聯網,力求安全及時、準確無誤,目的在于傳遞更多信息,并不代表本網對其觀點贊同或對其真實性負責。