VISA簡(jiǎn)介及儀器驅動(dòng)的設計
美國NI公司推出的虛擬儀器開(kāi)發(fā)平臺LabVIEW(LaboratoryVirtual Instrument ,利用LabvIEW可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過(guò)程都生動(dòng)有趣。
特別是在儀器控制方面,NIVISA提供了方便的圖形化編程節點(diǎn),可以讓用戶(hù)很快的根據自己所需儀器的特點(diǎn)編寫(xiě)相應的儀器驅動(dòng),然后在LabVIEW開(kāi)發(fā)環(huán)境中調用這些驅動(dòng),編寫(xiě)需要的應用程序,從而方便快捷的完成計算機對儀器的控制以及計算機與儀器之間的通信。
VlSA簡(jiǎn)介
計算機與儀器通信的實(shí)現是儀器發(fā)展史的一個(gè)里程碑??删幊痰乜刂苾x器給儀器控制領(lǐng)域到來(lái)了極大的改進(jìn)和靈活性,并且可以不再依賴(lài)于具體的人工操作。LabVIEW開(kāi)發(fā)環(huán)境提供了強有力的編程支持,這就使得測試系統的主要任務(wù)轉移到計算機與儀器連接的接口和總線(xiàn)問(wèn)題上。這就需要一個(gè)既可以表示接口特性又可以詳細表示儀器性能的軟件體系,而且這個(gè)軟件體系應具有很好的通用性。VISA驅動(dòng)很好地滿(mǎn)足了這些需求。VISAAPI(Application Programming Interface,應用編程接口)可以通用于基于Ethernet,GPIB,GPIB—VXI,VXI,PXI和串口等多種總線(xiàn)的測試系統,使用者不必再研究各個(gè)接口總線(xiàn)特定的API。
作為儀器I/O函數庫,VISA編程與傳統的I/0軟件編程基本相同,主要是通過(guò)設備的端口讀寫(xiě)操作和屬性控制,實(shí)現與儀器的命令與數據交換。VISA函數按照功能基本上可以分為基本I,0、格式化I/O、內存I/O、資源管理、共享內存管理、事件處理和屬性控制等幾大類(lèi)。用戶(hù)可以在VISA中利用SCPI命令來(lái)控制基于消息基的儀器和帶有SCPI命令翻譯節點(diǎn)的基于寄存器級的儀器,對于不接收SCPI命令的儀器,也可以通過(guò)使用VISA的寄存器讀寫(xiě)節點(diǎn)直接訪(fǎng)問(wèn)儀器的底層寄存器的方法來(lái)實(shí)現對儀器的控制。VISA函數庫中的函數以VISA節點(diǎn)的形式出現。
VISA節點(diǎn)位于A(yíng)llFunction>>Instrument I/O>>VISA目錄下, 基本的VISA節點(diǎn)有:VISA Write、VISARead、VISAClear、VISA Read STB.VISA Asserlt Trigger。
高級節點(diǎn)包含更多的函數:VISA Open(打開(kāi)一個(gè)儀器資源),VISA Close(關(guān)閉一個(gè)一個(gè)資源),VIsA Find Resource(尋找VISA資源),VIsA write FromFile,VISA Read to File,VISALock Analy,VISA Unlock(VISA解鎖),VISA Status I)escription(狀態(tài)描述),VISA Set.Timeout,Property Node(屬性節點(diǎn))以及Interface Specific(指定接口)子模板、Event Handling(事件處理)子模板、High Level RegisterAccess(高級寄存器讀寫(xiě))子模板、Low Level Register Access(低級寄存器讀寫(xiě))子模板等幾個(gè)部分。LabVIEw的幫助文檔給出了這些VISA節點(diǎn)的具體用法和詳細介紹。
1673G系列邏輯分析儀
1673G具有34通道的邏輯分析系統,150MHz狀態(tài)速率,500MHz定時(shí)速率,64k標準采集內存,使用選項001(選項001表示當前使用的是系統級的命令)時(shí)256k內存,使用選項002(選項002表示當前使用的是選件邏輯分析儀)時(shí)2M內存。選項003(選項003表示當前使用的是選件示波器)示波器:2通道,500MHz,2GSa/s,32k內存;選項004碼型發(fā)生器:32通道,100M矢量/秒,256k矢量深。1673G具有2GB硬驅和l-44 MB:DOS軟驅?zhuān)慌溆蠽GA分辨率的彩色平板顯示器,幫助用戶(hù)迅速找到信息;可以選擇鼠標操作或前面板操作,使用簡(jiǎn)便設計良好的用戶(hù)界面;支持可選的PC式鍵盤(pán);支持ASCII數據和PCX/TIFF/EPS屏幕快照等文件格式,配有Centronics打印機端口,GPIB和RS-232編程能力;可以通過(guò)x-windows實(shí)現局域網(wǎng)遠程操作,通過(guò)FTP/NFs實(shí)現數據傳送;提供23種預先定義的觸發(fā)功能,支持圖形表示和普通語(yǔ)言描述,簡(jiǎn)便地設置強大的測量功能。
驅動(dòng)設計
儀器驅動(dòng)是用來(lái)控制可編程儀器的一組函數的集合,包含對儀器的各種操作:配置,讀出、寫(xiě)入和觸發(fā)等。儀器驅動(dòng)函數的工作流程是:讀取前面板上對儀器的控制命令一把命令格式化為儀器能夠解析的命令字符串→讀取儀器返回的響應結果→根據讀取的結果更新前面板上的顯示。儀器驅動(dòng)已具有交互性,可編程性和通用性。儀器驅動(dòng)一般通用于某一類(lèi)的儀器。對于某個(gè)儀器的特殊的性能,則另外編寫(xiě)相應的函數。
儀器驅動(dòng)包含兩大類(lèi)的VIs,一類(lèi)是組件VIs(componentVIs),一個(gè)函數控制儀器的一個(gè)特定的功能,另一類(lèi)是高級的應用函數VIs(Application vIs),一個(gè)函數由多個(gè)組件vIs組合而成,實(shí)現儀器的一個(gè)基本的測試或測量操作。其設計模型如圖1所示。
應用函數VI位于儀器驅動(dòng)層次的最高級,通過(guò)調用組件級的VI來(lái)實(shí)現一般的儀器配置和測試操作。用戶(hù)只調用這些高級應用VIs就可以實(shí)現單一的面向測量的儀器接口。
組件vIs是較低級的儀器驅動(dòng)函數。組件VIs是模塊化的VIs,它們包含了儀器所有的配置和測量功能,共分為六類(lèi):初始化(Initialize),配置(Configuration),操作和狀態(tài)(Action/Status), 數據(data),功能(Utilitv)和結束(Close)。組件VIs與儀器的具體功能有關(guān)。在設計儀器驅動(dòng)時(shí),根據儀器的功能將相應的指令歸類(lèi)。
要對邏輯分析儀1673G編寫(xiě)儀器驅動(dòng),首先熟練儀器的操作,研究其指令系統,然后確定要實(shí)現的VIs。表l給出了選件003示波器要實(shí)現的vIs。
1673G的指令包括普通的SCPI命令,系統級的設置和配置命令,以及針對各個(gè)選件 (邏輯分析儀,示波器和碼型產(chǎn)生器)的命令。文中的驅動(dòng)主要針對邏輯分析儀和示波器進(jìn)行編寫(xiě),預達到可以對邏輯分析儀和示波器進(jìn)行儀器控制,并且可以得到邏輯分析儀和示波器的采集數據,可以得到示波器的測量數據。
以實(shí)現初始化函數AGl673GInitialize.vi為例, 先用VISAOPEN節點(diǎn)打開(kāi)一個(gè)儀器的Session,然后調用propertv nodtj識 別儀器的接口類(lèi)型,建立計算機與儀器之間的通信。然后調用VIsA write向儀器發(fā)出%IDN?命令,接著(zhù)調用vIsA 0PEN讀取儀器的響應結果,對讀取到的字符串進(jìn)行分析,與儀器的標識符進(jìn)行比較,若結果正確就輸出dupVIsA Session供以后的函數節點(diǎn)調用。程序調試成功后把程序制作成sutVI以備調用。具體流程如圖2所示。
評論