使用VISA程式設計入門教程

2021-09-21 13:24:47 字數 4146 閱讀 8587

下圖示出對具有visa的儀器進行控制的流程。當用可視basic語言(visual basic languagee)開發visa程式時,必須回顧乙個特殊的程式設計注意事項(在下面列出的自述文字檔案中)。

有關visa程式庫的利用以及利用帶有e5071a巨集程式(e5071a vba)的visa的程式設計注意事項的詳情,請參考包含在io程式庫光碟(cd-rom)上的下列檔案。

vbreadme.txt (對利用具有vb的visa程式庫的注釋)。

使用visa控制儀器的流程

樣本程式ctrl_ext.vba. 中的90行處理visa系統起動對話。visa的viopendefaultrm功能對visa系統進行初始化和起動。viopendefaultrm 功能必須在呼叫其它visa功能之前執行,而這個功能的引數是起動資訊(ctrl_ext.vba中的defrm)。

viopendefaultrm(param)

引數(param)

說明起動資訊(輸出)

資料型別

長整型130行處理連線對話。visa的viopen功能進行與規定儀器的連線。viopen功能返回某個值,使得visa功能可以將其應用於規定儀器,這個功能的引數是起動資訊(defrm)、規定儀器的位址資訊(ctrl_ext.vba中的「gpib::17::instr」)、接入方式(ctrl_ext.vba中的0)、超時(ctrl_ext.vba中的0)和連線資訊(ctrl_ext.vba中的equip)。

viopen(param1, param2, param3, param4, param5)

引數(param1)

說明起動資訊(輸入)

資料型別

長整型引數

(param2)

說明規定儀器的位址資訊(輸入)

資料型別

字串型

語法"gpib0::gpib address::instr"

"usb0::manufacturer id::model code::serial number::0::instr"

(ex. "usb0::2391::2312::my12345678::0::instr")

"tcpip0::ip address::inst0::instr"

引數(param3)

說明接入方式(輸入0)

引數(param4)

說明超時(輸入0)

引數(param5)

說明連線資訊(輸出)

資料型別

長整型170行進行通訊對話。visa的vivprintf功能將程式訊息(gpib命令)傳送到規定儀器。這個功能的引數是連線資訊(equip)、程式訊息(*edn?)和待格式化變數(ctrl_ext.vba中的0)。

vivprintf(param1, param2, param3)

引數(param1)

說明連線資訊(輸出)

資料型別

長整型引數

(param2)

說明傳送gpib命令的程式訊息時的程式訊息,訊息結束處要求乙個訊息終結符(ctrl_ext.vba中的chr$(10))

資料型別

字串型

引數(param3)

說明變數待格式化,若不可應用,則輸入0。

資料型別

規定的資料型別

210行控制接收對話。visa的vivscanf 功能接收來自規定儀器的結果,並將其儲存在輸出變數中。這個功能的引數是連線資訊(ctrl_ext.vba中的equip)、輸出變數的格式引數(ctrl_ext.vba中的%t)和輸出變數(ctrl_ext.vba中的prod)。

vivscanf(param1, param2, param3)

引數(param1)

說明連線資訊(輸入)

資料型別

長整型引數

(param2)

說明輸出變數的格式引數

資料型別

字串型

引數(param3)

說明輸出變數(輸出)

資料型別

字串型

280行處理斷開對話。visa的 viclose 功能將通訊中斷並使visa系統終結,這個功能的引數是起動資訊(ctrl_ext.vba中的defrm)。

viclose(param)

引數(param)

說明起動資訊(輸入)

資料型別

長整型ctrl_ext.vba 是利用e5071c作為系統控制器時,控制通過usb/gpib介面電纜連線的儀器的樣本程式。這個vba程式由下列程式模組組成。

物件名模組型別

內容mdlvisa

標準模組

讀出外部儀器的產品資訊。

模組1模組2

標準模組

利用visa程式庫的兩個定義檔案

對visa系統進行初始化和起動,並將起動資訊輸出到defrm變數。在這個過程期間,若發生差錯,程式便轉到錯誤處理程式(320行到360行)。

查詢利用visa經usb/gpib介面電纜連線的外部儀器的產品資訊,在這個過程期間,若發生差錯,程式便轉到錯誤處理程式(320行到360行)。

通過visa對產品資訊進行檢索,並將產品資訊輸出到prod變數。在訊息框中顯示讀出結果。在這個過程期間,若發生差錯,程式便轉到錯誤處理程式(320行到360行)。

中斷通訊並使visa系統終結。

若visa功能發生差錯,將顯示錯誤的細節並使程式終結。

讀出產品資訊(ctrl_ext.vba)

10| sub main()

20|30| dim status as long 'visa function status return code

40| dim defrm as long 'session to default resource manager

50| dim equip as long 'session to instrument

60| dim prod as string * 100 'string to receive the result

70|80| ' initializes the visa system.

90| status = viopendefaultrm(defrm)

100| if (status <> vi_success) then goto visaerrorhandler

110|

120| ' opens the session to the specified instrument.

130| status = viopen(defrm, "gpib0::17::instr", 0, 0, equip)

140| if (status <> vi_success) then goto visaerrorhandler

150|

160| ' asks for the instrument's product information.

170| status = vivprintf(equip, "*idn?" & chr$(10), 0)

180| if (status <> vi_success) then goto visaerrorhandler

190|

200| ' reads the result.

210| status = vivscanf(equip, "%t", prod)

220| if (status <> vi_success) then goto visaerrorhandler

230|

240| ' displays the result.

250| msgbox prod

260|

270| ' closes the resource manager session (which closes everything)

280| call viclose(defrm)

290|

300| goto prog_end

310|

320| visaerrorhandler:

330| dim visaerr as string * 200

340| call vistatusdesc(defrm, status, visaerr)

350| msgbox "error : " & visaerr, vbexclamation

360| exit sub

370|

380| prog_end:

390|

400| end sub

linux使用入門教程

說實話在第一次接觸linux系統時,確實很不習慣,尤其是在用了多年的windows後,可是專案需要又不得不頂著頭皮去學習了,下面就自己一點點摸索做下總結,以供後面學習。1 安裝linux系統 由於linux的開源性,我們可以有很多選擇,常見的有ubuntu,centos,fedora,debian ...

Apple Swift程式語言入門教程

蘋果公司在2014年的wwdc大會上發布了全新的程式語言swift語言,swift語言繼承了c語言以及objective c的特性,且克服了c語言的相容性問題。swift語言採用安全程式設計模式,且引入了多種新功能,使得程式設計工作更加簡便,靈活!swift用來寫ios和os x程式。swift吸取...

Python3程式設計入門教程

目錄 1 python介紹 2 python3資料型別 3 python語句語法 4 python3中的函式及相關特性 5 python3中的模組和包 6 python3檔案操作 7 python3 excel檔案操作 8 python3物件導向 9 python3異常處理 10 python3網路...