姬 翔
(中國電子科技集團公司 第二十七研究所,河南 鄭州 450047)
LabVIEW (Laboratory Virtual Instruments Engineering Workbench)是由美國國家儀器公司開發(fā)的專業(yè)測試軟件,與傳統(tǒng)的使用C 語言、C++語言等編程語言不同, 它使用圖形化編程環(huán)境,具有強大的數(shù)據(jù)處理功能,以及完備的儀器驅(qū)動程序和強大的網(wǎng)絡(luò)功能。LabVIEW 編程具有簡單易學(xué)、編程效率高、通用性好、交叉平臺交互性好等優(yōu)點,是虛擬儀器開發(fā)快捷、方便和功能強大的軟件工具。 本文介紹了使用LabVIEW 開發(fā)的基于GPIB 總線儀器網(wǎng)絡(luò)通信系統(tǒng)。[1][2]
在本系統(tǒng)中, 使用了以下設(shè)備: 工控機、GPIB 接口卡、Agilent 34970A 型數(shù)據(jù)采集器和GPIB 連接線。 硬件連接示意如圖1 所示。
圖1 硬件連接簡圖
GPIB(General Purpose Interface Bus)總線是目前最常用的儀器總線之一,它于1978 年由美國的HP 公司提出,后被美國電氣及電子工程師協(xié)會(IEEE)和國際電工委員會(IEC)接受為程控儀器和自動測控系統(tǒng)的標準接口。 因此,也被稱為IEE488 或HPIB。 GPIB 總線是一個數(shù)字24 腳并行總線, 其中16 根線為TTL 電平信號傳輸線,包括8 根雙向數(shù)據(jù)線、5 根接口管理線、3根數(shù)據(jù)傳輸控制線。另外8 根為地線和屏蔽線。使用GPIB 母線電纜互相連接的設(shè)備最多14 臺, 母線電纜的長度不超過20米。[3]
GPIB 總線設(shè)備包括聽者(Listeners)、講者(Talkers)和控者(Controllers)。 “聽者”是接收數(shù)據(jù)的設(shè)備;“講者”是向總線發(fā)送數(shù)據(jù)和狀態(tài)信息的設(shè)備;“控者”是對系統(tǒng)進行控制的設(shè)備。 一個系統(tǒng)中,可以有若干個“聽者”在工作,但是“控者”只有一個?!翱卣摺笔鼓堋爸v者”,然后“講者”將數(shù)據(jù)通過總線傳給“聽者”。利用計算機對帶有GPIB 接口的儀器進行操作和控制, 能夠有效的提高測量精度。
SCPI (Standard Commands for Programmable Instruments)是架構(gòu)在IEEE488.2 上的可程控儀器標準命令集。 一個SCPI 命令可以分為兩部分: 一是IEEE488.2 公用命令; 另一部分是SCPI 儀器特定控制命令。公用命令是IEEE488.2 規(guī)定的儀器必須執(zhí)行的命令,其句法和語義遵循IEEE488.2 規(guī)定,用來控制設(shè)置、 自我測試和狀態(tài)操作;SCPI 儀器特定控制命令是與儀器相關(guān)的,不同的儀器擁有不同的命令子集。
SCPI 命令格式是樹狀層次結(jié)構(gòu),可分為多個子系統(tǒng),每個子系統(tǒng)由一個根命令和一個或者多個層次命令構(gòu)成。 命令格式為:關(guān)鍵字<參數(shù)>:關(guān)鍵字<參數(shù)>:……<參數(shù)>,<參數(shù)>,……。
例如:CONFigure:VOLTage:DC10,MIN
此命令的語義為:設(shè)置為直流電壓測量,量程為10V,分辨率為最大。
目前應(yīng)用最廣泛的網(wǎng)絡(luò)通信方式是基于以太網(wǎng)的TCP/IP網(wǎng)絡(luò)體系結(jié)構(gòu),傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報協(xié)議(UDP)是模型傳輸層中的兩個并列協(xié)議。 UDP 是一種簡單的連接協(xié)議,傳輸數(shù)據(jù)之前源端和終端不建立連接,進行網(wǎng)絡(luò)傳輸?shù)倪^程中,UDP 僅通過端口號指明發(fā)送程序端口和接受程序端口,只負責(zé)數(shù)據(jù)傳輸,不保證數(shù)據(jù)一定到達目的地,接收方收到數(shù)據(jù)后不發(fā)送到達確認信息。 因此,UDP 提供的數(shù)據(jù)傳輸服務(wù)為無連接、不可靠的用戶數(shù)據(jù)包服務(wù)。 但是本系統(tǒng)應(yīng)用在專屬局域網(wǎng),網(wǎng)絡(luò)環(huán)境質(zhì)量優(yōu)良,可靠性較好,比較適合采用UDP 協(xié)議。
NI 公司提出“軟件就是儀器”。根據(jù)此觀點,虛擬儀器必須具有這三點特征:數(shù)據(jù)采集、分析和重現(xiàn)。 LabVIEW 是美國NI公司推出的一種通用虛擬儀器開發(fā)軟件,它包含了豐富的功能函數(shù)庫和完備的總線設(shè)備驅(qū)動程序。LabVIEW 的最大特點是其基于圖形(Graphics)的編程方式,即采用了框圖而非傳統(tǒng)的文本方式的編程方法。 這種編程方式強調(diào)信號處理的實際過程,編程簡單,調(diào)試方便。 一個LabVIEW 分為二個部分:儀器控制前面板、功能模塊流程圖。 前面板由用戶自己定義,用來模擬真實儀器的前面板;功能模塊流程圖使用圖形語言(G 語言)對前面板上的控件對象進行控制,實現(xiàn)了儀器的內(nèi)部設(shè)計。
在本系統(tǒng)中, 基于VISA (Virtual Instrument Software Architecture)函數(shù)庫和SCPI 程控儀器標準命令集,對數(shù)據(jù)采集器進行操作。 VISA 是由VXI Plug&Play 聯(lián)盟制定的。 它是一種用于儀器編程的標準I/O 接口, 包括GPIB、VXI 和串行總線接口。 從底層到頂層, 虛擬儀器的軟件系統(tǒng)構(gòu)架包含三個部分:VISA 庫、儀器驅(qū)動程序和應(yīng)用軟件虛擬儀器的軟件結(jié)構(gòu)如圖2所示。
LabVIEW 提供了VISA 函數(shù)庫。 調(diào)用此函數(shù)庫,就能夠通過GPIB 總線對儀器進行控制。
圖2 虛擬儀器的軟件結(jié)構(gòu)
Agilent 34970A 型示波器帶有GPIB 總線接口, 其GPIB總線地址出廠設(shè)置為“17”。 數(shù)據(jù)采集子VI 前面板能夠選擇數(shù)據(jù)采集器的GPIB 總線地址,采集該儀器的測量數(shù)據(jù)。并且將數(shù)據(jù)傳遞到主VI 中。 數(shù)據(jù)采集子VI 代碼如圖3 所示。
圖3 數(shù)據(jù)采集子VI 代碼圖
主VI 使用UDP 協(xié)議將數(shù)據(jù)采集子VI 傳遞上來的數(shù)據(jù)信息發(fā)送給上位機。 主VI 前面板能夠顯示由數(shù)據(jù)采集子傳遞上來數(shù)據(jù)信息,并且能夠指定上位機的IP 地址和端口號,并且設(shè)置時間間隔。 主VI 代碼如圖4 所示。
圖4 主VI 代碼圖
將數(shù)據(jù)采集器采集到的數(shù)據(jù)信息與上位機接收到的數(shù)據(jù)信息進行比對,結(jié)果完全一致。 綜上所述,使用LabVIEW 編程能夠控制儀器測量,避免了人為操作帶來的誤差,并簡化了操作過程。通過工控機將帶有GPIB 總線接口的儀器控制起來,并將測試結(jié)果通過UDP 協(xié)議發(fā)送到上位機, 具有一定的實用價值。
[1]National Instrument Corporation.
[2]劉君華.《基于LabVIEW 的虛擬儀器工程設(shè)計》.電子工業(yè)出版社.2003
[3]National Instrument Corporation.