基于VC的GPIB儀器遠程測量系統(tǒng)實現(xiàn)方法
本系統(tǒng)選用了可視化的Visual C++通用編程工具來開發(fā)測試軟件,該工具的主要特點為易學易用、開發(fā)高效率開發(fā)功能強大等。開發(fā)人員能在VC++環(huán)境下利用上述特點并使用Windows內部的應用程序接口(API)函數(shù)、動態(tài)鏈接庫(DLL)、對象的鏈接與嵌入(OLE)以及開放式數(shù)據(jù)庫連接(ODBC)等技術,來快速、方便地開發(fā)出圖形界面豐富、功能強大且工作于Windows平臺下的應用軟件系統(tǒng)。
與儀器進行通信的格式實際上有兩種:一種為基于寄存器的通信格式,另一種為基于消息的通信格式。此處的GPIB系統(tǒng)程序設計語言為可編程儀器的標準命令SCPI(Standard Commands for Programmable Instruments),其通信格式屬于后者。
3.1 SCPI的儀器控制命令
SCPI可編程儀器標準命令是一種用來控制儀器的命令語言。它可用一種標準方式來描述各種各樣的儀器功能,其中規(guī)定了在控制器到儀器和儀器到控制器之間的信息交換層消息的構造和內容,因而使各類不同的儀器更容易被理解和使用。同時SCPI是一種“活”的標準,可以滿足新儀器和新技術的需要。SCPI命令可分為儀器公用命令和儀器特定控制命令兩個部分。SCPI把IEEE488.2要求儀器必須執(zhí)行的公用命令作為SCPI儀器公用命令,這些公用命令用于控制儀器的某些基本功能操作,其句法和語義遵循IEEE488.2規(guī)定。儀器特定控制命令是指每個程控儀器完成自身命令操作的特定命令。采用SCPI編程有以下幾方面優(yōu)點:
(1)SCPI是一個獨立于硬件的純粹軟件標準,SCPI字符串可以通過任何儀器接口發(fā)送,無論是GPIB、RS-232、VXIbus、還是局域網(wǎng),都沒有問題;
(2)SCPI允許用相同的代碼來控制許多不同的儀器,而且語法簡單有力,方便易學。因此,在掌握了一種儀器的命令集之后,就很容易掌握其他儀器的命令集。這些命令集有很多的相似性,這種相似性體現(xiàn)在兩個層面:其一是在垂直層面上,同一類型的儀器命令集比較相似;其二是在水平層面上,不同類型儀器之間的同種功能的SCPI命令也一致;
(3) SCPI的獨特設計使得它可以不斷擴展而不會引起過多問題。隨著新型儀器的出現(xiàn),新的命令集會不斷加入SCPI;
(4)SCPI的語句以ASCⅡ文本的方式存在,因此,可以加入到任何計算機測試編程語言之中,如BASIC、C或C++;也可以用于如LabWin-dows/CVI、LabVIEW或者Agilent VEE這樣的專用測試程序開發(fā)環(huán)境。
3.2 SCPI命令樹圖
命令樹圖用于定義SCPI的命令集,它描述了命令、命令之間的層次關系、相關的參數(shù)以及必要的注釋,SCPI命令樹如表l所列。
命令樹圖通常由三部分構成:關鍵字(KEY-WORD)、參數(shù)形式(PARAMETER FORM)和注釋(NOTES)。其中關鍵字提供命令的名字,由于SCPI命令基于層次結構,一個實際的命令通常由一個或多個關鍵字構成,關鍵字之間用“;”分隔;參數(shù)形式用于指明命令的參數(shù)個數(shù)和順序,以及它們的合法取值;注釋通常命令的詢問形式可以由命令形式加上問號構成,但不是所有的命令都有詢問形式,注釋部分的內容通常用于指示必要的情況。
評論