NI-VISA(NI儀器驅(qū)動程序)是一款儀器驅(qū)動程序,它是配置、編程和排查儀器系統(tǒng)故障的標(biāo)準(zhǔn),涵蓋GPIB、VXI、PXI、串行、以太網(wǎng)及USB等接口??梢酝ㄟ^儀器執(zhí)行基于消息與寄存器的通信、觸發(fā)斷言、內(nèi)存共享,以及響應(yīng)中斷和觸發(fā);軟件包含實用程序、底層控制功能與范例,能幫助用戶快速創(chuàng)建應(yīng)用程序。對初學(xué)者或簡單任務(wù)設(shè)計者,VISA提供易用的控制函數(shù)集,應(yīng)用形式簡潔;對復(fù)雜系統(tǒng)組建者,它則具備強(qiáng)大的儀器控制功能與資源管理能力。需要的朋友快來下載試試吧!
NI-VISA安裝教程
1、下載壓縮包,進(jìn)行解壓得到NI-VISA安裝程序
2、進(jìn)入驅(qū)動器運(yùn)行安裝程序“Install.exe”,選擇(我接受許可協(xié)議的條款),再點(diǎn)擊下一步;

3、選擇安裝組件,建議全部勾上;

4、安裝完成后重啟就可以了。

NI-VISA核心特色
1、接口一致性
不論連接何種類型的接口,NI-VISA均采用統(tǒng)一的操作方式與設(shè)備進(jìn)行數(shù)據(jù)交互。這表明不同接口之間可自由切換,并且在與多種儀器通信時,僅需掌握一種編程方式即可實現(xiàn)。例如,無論設(shè)備使用的是串行接口、GPIB還是USB連接方式,若需向基于消息傳輸?shù)脑O(shè)備發(fā)送ASCII格式字符串,所使用的VISA指令始終保持一致。
2、跨平臺兼容性
在開發(fā)過程中,基于VISA函數(shù)編寫的程序具備良好的遷移能力。VISA通過自定義數(shù)據(jù)類型來達(dá)成這一目標(biāo),從而保障應(yīng)用在不同系統(tǒng)環(huán)境下的行為表現(xiàn)穩(wěn)定一致。因此,利用LabVIEW創(chuàng)建的VISA程序能夠便捷地部署到任何支持該開發(fā)環(huán)境的平臺上。NI-VISA適配多個操作系統(tǒng),涵蓋Windows、MAC OS以及Linux系統(tǒng)。
3、操作簡便性
NI-VISA提供了一個極為簡潔的編程接口,易于快速掌握,其多數(shù)輸入輸出功能不依賴于特定總線類型。常用儀器控制功能均可通過簡明的命令完成,用戶無需深入了解各類總線底層通信機(jī)制。
NI-VISA功能介紹
1、NI-VISA 通用I/O接口工具 NI-VISA授權(quán)詳情 虛擬儀器軟件架構(gòu)(VISA)是用于配置、編程及調(diào)試包含GPIB、VXI、PXI、串行端口(RS232/485)、以太網(wǎng)、USB或IEEE 1394接口的測試系統(tǒng)的統(tǒng)一規(guī)范。新增功能包括LXI自動識別(NI MAX完善了對LXI設(shè)備的信息展示)、MAX內(nèi)建的VISA沖突管理設(shè)置、支持Mandriva Linux 2009、openSUSE 11.0版本,以及為64位Windows Vista系統(tǒng)提供的多廠商VISA插件框架。
2、NI-VISA是NI公司實施的VISA I/O規(guī)范,它構(gòu)建了硬件與NI LabVIEW、LabWindows/CVI和Measurement Studio(適用于Microsoft Visual Studio)等開發(fā)平臺之間的編程通道。
3、部分NI產(chǎn)品如開發(fā)環(huán)境和GPIB硬件附帶NI-VISA開發(fā)許可。完成開發(fā)后發(fā)布的系統(tǒng)若包含NI硬件、NI開發(fā)環(huán)境及基于該環(huán)境編寫的應(yīng)用程序,則會隨附NI-VISA運(yùn)行許可。
NI-VISA使用說明
一、用NI-VISA模擬USB設(shè)備
計劃在PC上模擬USB鍵盤行為。希望通過計算機(jī)的USB端口發(fā)送數(shù)據(jù),使主機(jī)表現(xiàn)出類似USB鍵盤的功能。能否通過NI-VISA實現(xiàn)?
解答:此操作無法通過NI-VISA完成。USB采用主從結(jié)構(gòu)設(shè)計。配有USB插槽的計算機(jī)通常作為主控端。而鍵盤、鼠標(biāo)、硬盤、攝像頭等外設(shè)則作為從設(shè)備運(yùn)行。主設(shè)備與從設(shè)備之間存在硬件層面的差異,這類差異無法通過軟件編程消除。這種限制源于USB線纜兩端使用不同的接頭設(shè)計。普通USB線纜不支持兩臺PC間USB端口直連。盡管USB回環(huán)線可用于連接兩個USB端口,但關(guān)鍵在于NI-VISA的函數(shù)庫僅支持對USB從設(shè)備的訪問編程。即便配備PCI USB仿真卡,也無法借助NI-VISA進(jìn)行編碼控制。同時,也不能反向使用NI USB-232轉(zhuǎn)換器,即不能將USB轉(zhuǎn)串口適配器當(dāng)作串口使用。USB不具備像傳統(tǒng)串口那樣直接發(fā)送字符的能力。
二、NI-VISA中的結(jié)束標(biāo)識符
多種基于消息傳遞的總線依賴結(jié)束符標(biāo)記一次數(shù)據(jù)傳輸?shù)慕K止。對于符合完整488.2協(xié)議標(biāo)準(zhǔn)的VISA資源類型(如GPIB Instr、VXI/GPIB-VXI Instr、USB Instr和TCPIP Instr),一般無需手動設(shè)置結(jié)束符,因協(xié)議本身已內(nèi)置判定消息終點(diǎn)的機(jī)制。僅當(dāng)使用其他資源類型(Serial Instr、USB Raw和TCPIP Socket)時,才需要明確告知VISA如何判斷消息結(jié)尾。
接收與發(fā)送的數(shù)據(jù)流均可設(shè)定結(jié)束符。常見的兩種結(jié)束符為“換行”(符號'\n'、ASCII十進(jìn)制10或十六進(jìn)制0x0A)和“回車”(符號'\r'、ASCII十進(jìn)制13或十六進(jìn)制0x0D)。
四個核心NI-VISA屬性用于管理結(jié)束符處理。其中兩項屬于“消息類設(shè)置”,另兩項專用于“串口參數(shù)”。消息相關(guān)屬性為“結(jié)束符”與“啟用結(jié)束符”,串口專用屬性則為“串口讀取結(jié)束模式”和“串口寫入結(jié)束模式”。下文將逐一說明各屬性用途并提示注意事項。
1、結(jié)束符(TermChar)
屬性接受一個無符號8位整數(shù)作為輸入值。因此,在不清楚具體ASCII碼的情況下,建議直接指定數(shù)值來設(shè)定屬性。此值將作為讀寫操作中識別結(jié)束位置的依據(jù)。設(shè)置該項并不決定其是否生效。
雖然TermChar不限于串口場景,但在使用完整488.2協(xié)議的總線(如GPIB)時,推薦采用其他終止方式,如文中所述。例如,在GPIB通信中,常規(guī)做法是利用硬件信號線EOI來標(biāo)志結(jié)束。
注:VISA Configure Serial Port.vi通過終止符參數(shù)設(shè)置此項,默認(rèn)值為換行符(0x0A = '\n' = LF)。
2、啟用結(jié)束符(TermChar En)
若開啟(TRUE),表示VISA在讀取過程中一旦遇到設(shè)定的結(jié)束符即停止接收數(shù)據(jù)。注意,此功能不僅限于串行通信,也可用于其他總線類型的讀取控制。
重要提醒:當(dāng)“串口讀取結(jié)束模式”(見下文)被設(shè)為TermChar時,本屬性將被忽略且不會報錯。
設(shè)置不影響寫入過程中的結(jié)束符行為。
注:VISA Configure Serial Port.vi通過啟用終止符參數(shù)配置此項,默認(rèn)狀態(tài)為開啟(TRUE)。
3、串口讀取結(jié)束模式(ASRL End In)
屬性定義從串口緩沖區(qū)讀取數(shù)據(jù)時的結(jié)束判定方式,僅適用于串行通信情形。