姬 翔
(中國(guó)電子科技集團(tuán)公司 第二十七研究所,河南 鄭州 450047)
LabVIEW (Laboratory Virtual Instruments Engineering Workbench)是由美國(guó)國(guó)家儀器公司開(kāi)發(fā)的專業(yè)測(cè)試軟件,與傳統(tǒng)的使用C 語(yǔ)言、C++語(yǔ)言等編程語(yǔ)言不同, 它使用圖形化編程環(huán)境,具有強(qiáng)大的數(shù)據(jù)處理功能,以及完備的儀器驅(qū)動(dòng)程序和強(qiáng)大的網(wǎng)絡(luò)功能。LabVIEW 編程具有簡(jiǎn)單易學(xué)、編程效率高、通用性好、交叉平臺(tái)交互性好等優(yōu)點(diǎn),是虛擬儀器開(kāi)發(fā)快捷、方便和功能強(qiáng)大的軟件工具。 本文介紹了使用LabVIEW 開(kāi)發(fā)的基于GPIB 總線儀器網(wǎng)絡(luò)通信系統(tǒng)。[1][2]
在本系統(tǒng)中, 使用了以下設(shè)備: 工控機(jī)、GPIB 接口卡、Agilent 34970A 型數(shù)據(jù)采集器和GPIB 連接線。 硬件連接示意如圖1 所示。

圖1 硬件連接簡(jiǎn)圖
GPIB(General Purpose Interface Bus)總線是目前最常用的儀器總線之一,它于1978 年由美國(guó)的HP 公司提出,后被美國(guó)電氣及電子工程師協(xié)會(huì)(IEEE)和國(guó)際電工委員會(huì)(IEC)接受為程控儀器和自動(dòng)測(cè)控系統(tǒng)的標(biāo)準(zhǔn)接口。 因此,也被稱為IEE488 或HPIB。 GPIB 總線是一個(gè)數(shù)字24 腳并行總線, 其中16 根線為T(mén)TL 電平信號(hào)傳輸線,包括8 根雙向數(shù)據(jù)線、5 根接口管理線、3根數(shù)據(jù)傳輸控制線。另外8 根為地線和屏蔽線。使用GPIB 母線電纜互相連接的設(shè)備最多14 臺(tái), 母線電纜的長(zhǎng)度不超過(guò)20米。[3]
GPIB 總線設(shè)備包括聽(tīng)者(Listeners)、講者(Talkers)和控者(Controllers)。 “聽(tīng)者”是接收數(shù)據(jù)的設(shè)備;“講者”是向總線發(fā)送數(shù)據(jù)和狀態(tài)信息的設(shè)備;“控者”是對(duì)系統(tǒng)進(jìn)行控制的設(shè)備。 一個(gè)系統(tǒng)中,可以有若干個(gè)“聽(tīng)者”在工作,但是“控者”只有一個(gè)。“控者”使能“講者”,然后“講者”將數(shù)據(jù)通過(guò)總線傳給“聽(tīng)者”。利用計(jì)算機(jī)對(duì)帶有GPIB 接口的儀器進(jìn)行操作和控制, 能夠有效的提高測(cè)量精度。
SCPI (Standard Commands for Programmable Instruments)是架構(gòu)在IEEE488.2 上的可程控儀器標(biāo)準(zhǔn)命令集。 一個(gè)SCPI 命令可以分為兩部分: 一是IEEE488.2 公用命令; 另一部分是SCPI 儀器特定控制命令。公用命令是IEEE488.2 規(guī)定的儀器必須執(zhí)行的命令,其句法和語(yǔ)義遵循IEEE488.2 規(guī)定,用來(lái)控制設(shè)置、 自我測(cè)試和狀態(tài)操作;SCPI 儀器特定控制命令是與儀器相關(guān)的,不同的儀器擁有不同的命令子集。
SCPI 命令格式是樹(shù)狀層次結(jié)構(gòu),可分為多個(gè)子系統(tǒng),每個(gè)子系統(tǒng)由一個(gè)根命令和一個(gè)或者多個(gè)層次命令構(gòu)成。 命令格式為:關(guān)鍵字<參數(shù)>:關(guān)鍵字<參數(shù)>:……<參數(shù)>,<參數(shù)>,……。
例如:CONFigure:VOLTage:DC10,MIN
此命令的語(yǔ)義為:設(shè)置為直流電壓測(cè)量,量程為10V,分辨率為最大。
目前應(yīng)用最廣泛的網(wǎng)絡(luò)通信方式是基于以太網(wǎng)的TCP/IP網(wǎng)絡(luò)體系結(jié)構(gòu),傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(UDP)是模型傳輸層中的兩個(gè)并列協(xié)議。 UDP 是一種簡(jiǎn)單的連接協(xié)議,傳輸數(shù)據(jù)之前源端和終端不建立連接,進(jìn)行網(wǎng)絡(luò)傳輸?shù)倪^(guò)程中,UDP 僅通過(guò)端口號(hào)指明發(fā)送程序端口和接受程序端口,只負(fù)責(zé)數(shù)據(jù)傳輸,不保證數(shù)據(jù)一定到達(dá)目的地,接收方收到數(shù)據(jù)后不發(fā)送到達(dá)確認(rèn)信息。 因此,UDP 提供的數(shù)據(jù)傳輸服務(wù)為無(wú)連接、不可靠的用戶數(shù)據(jù)包服務(wù)。 但是本系統(tǒng)應(yīng)用在專屬局域網(wǎng),網(wǎng)絡(luò)環(huán)境質(zhì)量?jī)?yōu)良,可靠性較好,比較適合采用UDP 協(xié)議。
NI 公司提出“軟件就是儀器”。根據(jù)此觀點(diǎn),虛擬儀器必須具有這三點(diǎn)特征:數(shù)據(jù)采集、分析和重現(xiàn)。 LabVIEW 是美國(guó)NI公司推出的一種通用虛擬儀器開(kāi)發(fā)軟件,它包含了豐富的功能函數(shù)庫(kù)和完備的總線設(shè)備驅(qū)動(dòng)程序。LabVIEW 的最大特點(diǎn)是其基于圖形(Graphics)的編程方式,即采用了框圖而非傳統(tǒng)的文本方式的編程方法。 這種編程方式強(qiáng)調(diào)信號(hào)處理的實(shí)際過(guò)程,編程簡(jiǎn)單,調(diào)試方便。 一個(gè)LabVIEW 分為二個(gè)部分:儀器控制前面板、功能模塊流程圖。 前面板由用戶自己定義,用來(lái)模擬真實(shí)儀器的前面板;功能模塊流程圖使用圖形語(yǔ)言(G 語(yǔ)言)對(duì)前面板上的控件對(duì)象進(jìn)行控制,實(shí)現(xiàn)了儀器的內(nèi)部設(shè)計(jì)。
在本系統(tǒng)中, 基于VISA (Virtual Instrument Software Architecture)函數(shù)庫(kù)和SCPI 程控儀器標(biāo)準(zhǔn)命令集,對(duì)數(shù)據(jù)采集器進(jìn)行操作。 VISA 是由VXI Plug&Play 聯(lián)盟制定的。 它是一種用于儀器編程的標(biāo)準(zhǔn)I/O 接口, 包括GPIB、VXI 和串行總線接口。 從底層到頂層, 虛擬儀器的軟件系統(tǒng)構(gòu)架包含三個(gè)部分:VISA 庫(kù)、儀器驅(qū)動(dòng)程序和應(yīng)用軟件虛擬儀器的軟件結(jié)構(gòu)如圖2所示。
LabVIEW 提供了VISA 函數(shù)庫(kù)。 調(diào)用此函數(shù)庫(kù),就能夠通過(guò)GPIB 總線對(duì)儀器進(jìn)行控制。

圖2 虛擬儀器的軟件結(jié)構(gòu)
Agilent 34970A 型示波器帶有GPIB 總線接口, 其GPIB總線地址出廠設(shè)置為“17”。 數(shù)據(jù)采集子VI 前面板能夠選擇數(shù)據(jù)采集器的GPIB 總線地址,采集該儀器的測(cè)量數(shù)據(jù)。并且將數(shù)據(jù)傳遞到主VI 中。 數(shù)據(jù)采集子VI 代碼如圖3 所示。

圖3 數(shù)據(jù)采集子VI 代碼圖
主VI 使用UDP 協(xié)議將數(shù)據(jù)采集子VI 傳遞上來(lái)的數(shù)據(jù)信息發(fā)送給上位機(jī)。 主VI 前面板能夠顯示由數(shù)據(jù)采集子傳遞上來(lái)數(shù)據(jù)信息,并且能夠指定上位機(jī)的IP 地址和端口號(hào),并且設(shè)置時(shí)間間隔。 主VI 代碼如圖4 所示。

圖4 主VI 代碼圖
將數(shù)據(jù)采集器采集到的數(shù)據(jù)信息與上位機(jī)接收到的數(shù)據(jù)信息進(jìn)行比對(duì),結(jié)果完全一致。 綜上所述,使用LabVIEW 編程能夠控制儀器測(cè)量,避免了人為操作帶來(lái)的誤差,并簡(jiǎn)化了操作過(guò)程。通過(guò)工控機(jī)將帶有GPIB 總線接口的儀器控制起來(lái),并將測(cè)試結(jié)果通過(guò)UDP 協(xié)議發(fā)送到上位機(jī), 具有一定的實(shí)用價(jià)值。
[1]National Instrument Corporation.
[2]劉君華.《基于LabVIEW 的虛擬儀器工程設(shè)計(jì)》.電子工業(yè)出版社.2003
[3]National Instrument Corporation.