概覽
本文檔主要介紹NI的一款虛擬儀器軟件架構API——NI-VISA。
NI-VISA提供了一個編程接口來控制NI應用開發環境(如LabVIEW、LabVIEW NXG、LabWindows/CVI和Measurement Studio)中的以太網/LXI、GPIB、串行、USB、PXI和VXI儀器。該API通過NI-VISA驅動進行安裝。
- 如需了解NI-VISA在儀器控制軟件堆棧中所處的位置,請參考儀器控制軟件(GPIB、串行、VISA、USB等)。
- 關於VISA的更多歷史詳情,請參考NI-VISA背景介紹。
內容
VISA的優勢
NI-VISA具有以下三個優勢。
1. 接口獨立性
無論是哪種類型的接口,NI-VISA均采用相同的操作來與儀器進行通信。這意味着接口是可以隨意切換的,而且要與不同的儀器通信,只需使用一種編程語言即可。舉例來說,無論儀器采用的是串行、GPIB還是USB接口,如果要將ASCII字符串寫入基於消息的儀器,VISA命令都是相同的。
2. 平台可移植性
在NI-VISA中,使用VISA函數調用編寫的程序可以在平台之間移動。VISA通過定義自己的數據類型來實現這一點。這樣可以確保在不同平台上應用的性能始終如一。因此,使用LabVIEW編寫的VISA應用程序可以輕易地移植到支持LabVIEW的任意平台上。NI-VISA支持多種操作系統,包括Windows操作系統、MAC OS操作系統和Linux操作系統。
3. 易用性
NI-VISA是一個極其簡單的API,非常容易上手,其自身大部分I/O功能的函數不受總線限制。最常用的儀器功能只需通過簡潔的命令集實現,因此用戶不需要學習多種總線類型的底層通信協議。
VISA術語
在開始使用NI-VISA之前,學習一些開發過程中常用的術語會有所幫助。
VISA資源
VISA資源就是系統中儀器。如果有多個儀器連接至一個上位機,每個儀器都可以認為是一個VISA資源。資源就是儀器所有功能的完整描述。
VISA的資源類型取決於儀器。資源類型包括:INSTR、SOCKET、RAW等
VISA資源名稱(儀器描述符)
VISA資源名稱就是VISA資源的確切名稱,用於指定儀器接口類型、儀器地址和VISA會話類型。VISA資源名稱控制用於與開發環境中的儀器進行通信。該信息可幫助您確認儀器是否被程序正確識別和尋址。
VISA會話句柄
VISA會話句柄是與VISA資源的通信路徑。使用viOpen ()操作,即可打開會話句柄。想要與儀器進行VISA通信時,必須隨時打開VISA會話句柄。
VISA別名
VISA別名是VISA資源的別稱。別名提供了一種友好的方式來快速識別儀器。
典型的VISA應用程序
典型的VISA應用程序應執行以下步驟:
- 打開指定VISA資源的會話句柄。
- 對該資源進行配置(設置波特率、終止字符等)。
- 對設備執行寫入和讀取。
- 關閉資源的會話句柄。
- 處理可能發生的任何錯誤。
如果儀器采用的是串行、USB、以太網或VISA支持的任何其他接口類型,則將完全遵循這些步驟。而我們只需要做的就是將“ VISA資源名稱”連接到“ VISA打開”的輸入。
LabVIEW范例
該LabVIEW應用程序打開與GPIB儀器的會話,執行* IDN?\ n的寫入操作,並從設備讀取指定數量的字節。如需查看每個VISA功能的說明,請參見VISA VI和功能 。
Visual C++范例
- GPIB、串行或以太網儀器:基於消息的通信范例
- VXI或PXI儀器:基於寄存器的通信
Visual Basic范例
- GPIB、串行或以太網儀器:基於消息的通信范例(Visual Basic)
- VXI或PXI儀器:基於消息的通信范例(Visual Basic)
NI-VISA下載
對於Windows和Mac操作系統,NI-VISA有單獨的下載程序包。而對於Linux操作系統,NI-VISA與其他NI設備驅動程序捆綁在一起,稱為“ NI Linux設備驅動程序”。
有關操作系統兼容性的更多信息,請參閱以下內容:
VISA范例
- NI-VISA相關的LabVIEW范例可以在NI Example Finder找到。
- NI-DAQmx、 NI-VIS和NI-488.2 Visual C++范例
- NI-DAQmx、NI-VISA和NI-488.2 .NET范例
儀器控制教程
請參閱以下不同儀器接口類型對應的儀器控制教程,這些教程逐步介紹了如何實現與儀器的通信。
儀器控制論壇
NI還通過“ 儀器控制論壇”提供更多支持。用戶可以通過發布問題和共享信息來與來自全球各地的同行互動。