亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 3.虛擬儀器系統io接口軟件.txt

?? 虛擬儀器軟件的介紹
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
發信人: ilyfe (伊犁*飛), 信區: LabVIEW
標  題: 第三章 虛擬儀器系統I/O接口軟件
發信站: 飲水思源 (2003年05月04日13:17:43 星期天), 站內信件

第三章 虛擬儀器系統I/O接口軟件
——VISA
VISA是虛擬儀器系統的I/O接口軟件,為虛擬儀器系統的統一性和擴展性奠定了基
礎。本章介紹了VISA的概念和特點,論述了VISA的結構模型,重點分析了VISA資源
與資源類的定義與描述,并結合實例,詳細討論了各資源的屬性、事件與操作規范
與軟件實現。在本章結束,還討論了VISA的實際設計思路與方法。

3.1 VISA的概念與特點
3.1.1 VISA的由來
隨著虛擬儀器系統的出現與發展,I/O接口軟件作為虛擬儀器系統軟件結構中承上
啟下的一層,其模型化與標準化越來越重要。I/O接口軟件駐留于虛擬儀器系統的
系統管理器——計算機系統中,是實現計算機系統與儀器之間命令與數據傳輸的橋
梁和紐帶。許多儀器生產廠家在推出硬件接口電路的同時,也紛紛推出了不同結構
的I/O接口軟件,有的只針對某類儀器(如NI公司用于控制GPIB儀器的NI-488及用
于控制VXI儀器的NI-VXI),有的在向統一化的方向靠攏(如HP公司的SICL—標準
儀器控制語言),這些都是在儀器生產廠家內部通用的、優秀的I/O接口軟件。
一般的I/O接口軟件的結構都采用了自頂向下的設計模型:首先列出該I/O接口軟件
需要控制的所有儀器類型,然后列出了各類儀器的所有控制功能,最后將各類儀器
控制功能中相同的操作功能盡可能地以統一的形式進行合并,并將統一的功能函數
稱為核心功能函數(如將GPIB儀器的讀/寫與RS232串行儀器的讀/寫統一為一個核
心功能函數)。所有統一形式的核心函數與其它無法合并的、與儀器類型相關的操
作功能函數一起構成了自頂向下的I/O接口軟件,實現不同類型的儀器的互操作性
與兼容性。然而,這種構成方法只適用于消息基器件的互操作性(如消息讀、消息
寫、軟件觸發、狀態獲取、異步事件處理等功能),對于如中斷處理、內存映射、
接口配置、硬件觸發等屬于器件特有的操作,根本無法得到統一的核心函數,消息
基器件與寄存器基器件無法在自頂向下的I/O接口軟件中得到統一。核心函數集在
整個I/O接口軟件中只有一個小子集,特定操作函數集是一個大子集。自頂向下結
構的I/O接口軟件實質上是建立在儀器類型層的疊加,并沒有真正實現接口軟件的
統一性。同時應該說,自頂向下的設計方法為真正統一的I/O接口軟件的設計與實
現提供了經驗借鑒與嘗試。VPP聯盟在考察了多個I/O接口軟件之后,提出了一種自
底向上的I/O接口軟件模型,也就是VISA。

3.1.2 VISA模型結構
VISA是虛擬儀器軟件結構(Virtual Instrument Software Architecture)的縮寫
,實質是一個I/O接口軟件及其規范的總稱。一般情況下,將這個I/O接口軟件稱為
VISA。
如上所說,VISA的構成是采用了自底向上的結構。與自頂向下的方法不同的是,
VISA的實現首先定義了管理所有資源的資源(在這兒,資源的概念相當于面向對象
程序設計中的對象,具體的定義與描述見下節),這個資源稱為VISA資源管理器,
它用于管理、控制與分配VISA資源的操作功能。各種操作功能主要包括:
1、 資源尋址;
2、 資源創建與刪除;
3、 資源屬性的讀取與修改;
4、 操作激活;
5、 事件報告;
6、 并行與存取控制;
7、 缺省值設置。
第二步是在資源管理器基礎上,列出了各種儀器各自的操作功能,并實現操作功能
的合并。在這個基礎上實現的資源實質可以包括不同格式的操作,如讀資源包括了
消息基器件的讀,也包括了寄存器基器件的讀;既可以包括同步讀操作,又可以包
括異步讀操作。每一個資源內部,實質是各種操作的集合。這種資源在VISA中即為
儀器控制資源,包含各種儀器操作的資源稱為通用資源,而將無法合并的功能,稱
為特定儀器資源。
第三步,需要定義與創建一個用API實現的資源,為用戶提供單一的控制所有VISA
儀器控制資源的方法,在VISA中稱為儀器控制資源組織器。
與自頂向下的構成方式相比,VISA的構成模型是從儀器操作本身開始的,它實現的
統一是深入到操作功能中去而不是停留于儀器類型之上。在VISA的結構中,儀器類
型的區別體現到統一格式的資源中的操作的選取,對于VISA使用者來說,形式上與
用法上是單一的。在理論層次上,自頂向下的方法屬于歸納范疇,而自底向上的方
法則屬于演繹范疇。因此,自頂向下是對過去所有儀器類型的總結,而不可能提供
擴展接口,而自底向上的結構是從共性到個性的推廣,它的兼容性不僅僅是過去、
現在,還可以包括將來。正由于這種自底向上的設計方法,VISA為虛擬儀器系統軟
件結構提供了一個共同的、統一的基礎,來自于不同供應廠家的不同的儀器軟件,
可以運行于同一平臺之上了。
VISA的結構模型如圖3.1所示。
 
圖3.1 VISA結構模型概圖
VISA結構模型自下往上,構成一個金字塔結構,最底層為資源管理器,其上為I/O
級資源、儀器級資源與用戶自定義資源集。其中,用戶自定義資源集的定義,在
VISA規范中并沒有規定,它是VISA的可變層,實現了VISA的可擴展性與靈活性,而
在金字塔頂的用戶層應用,是用戶利用VISA資源實現的應用程序,其本身并不屬于
VISA資源。

3.1.3 VISA的特點
基于自底向上結構模型的VISA創造了一個統一形式的I/O控制函數集,它是所有現
存的I/O接口軟件的功能超集,在形式上與其它I/O接口軟件十分相似。一方面,對
于初學者或是簡單任務的設計者來說,VISA提供了簡單易用的控制函數集,在應用
形式上相當簡單。另一方面,對于復雜系統的組建者來說,VISA提供了非常強大的
儀器控制功能與資源管理功能,能提供儀器間的互操作性與兼容性。它是易用性、
可擴展性、互操作性、兼容性的完全統一體。
與其它現存的I/O接口軟件相比,VISA具有以下幾個特點:
1、 VISA的I/O控制功能適用于各種儀器類型,VISA包含了VXI儀器、GPIB儀器、
RS232串行接口儀器等各類儀器的控制操作,也包含了消息基器件、寄存器基器件
、存貯器件等儀器的操作,其形式上是統一的。
2、 VISA的I/O控制功能適用于各種儀器硬件接口類型,以VXI儀器系統為例,無論
采用嵌入式計算機結構、GPIB接口外掛式結構、MXI接口外掛式結構,還是采用
IEEE1394接口外掛式結構,對于VXI儀器的操作函數是一樣的。同樣,無論VXI儀器
在系統中的邏輯地址是多少,儀器操作函數也是一樣的。
3、 VISA的I/O控制功能適用于單處理器系統結構,也適用于多處理器結構或分布
式網絡結構。
4、 VISA的I/O控制功能適用于多種網絡機制,無論虛擬儀器系統網絡構成為VXI多
機箱擴展網絡還是以太網,儀器操作是一致的。
5、 VISA的I/O軟件庫的源代碼是唯一的,其與操作系統及編程語言無關,只是提
供了不同形式的API文件作為系統的引出。
由于VISA結構考慮到了多種儀器類型與網絡機制的兼容性,因此以VISA I/O接口軟
件為基礎的虛擬儀器系統,不僅可以與過去已有的儀器系統(如GPIB儀器系統及串
行接口儀器系統)結合,也完全可以將儀器系統從過去的集中式結構過渡到分布式
結構。VISA的兼容性與互操作性,保證了新一代儀器完全可以加入到虛擬儀器系統
中去,同時也保證了儀器系統的投資者不會因為新儀器的出現而將過去的系統拋棄
,從而可以不使投資浪費。系統集成時,不必再選擇某家特殊的軟件和硬件產品,
可以根據自己的需要,在所有的VPP產品中作出最佳選擇,系統的兼容性與強健性
大大增強了,系統的標準化與統一性也找到了最基礎的保障。

3.1.4 VISA應用實例
下面通過分別調用非VISA的I/O接口軟件與VISA函數,對GPIB器件與VXI消息基器件
進行簡單的讀/寫操作(主要完成向器件發送查詢器件標識符命令,并從器件讀回
響應值操作過程),進行VISA與其它I/O接口軟件的異同點比較。所有例子中采用
的編程語言均為C語言。
例3.1 用非VISA的I/O接口軟件(NI公司的NI-488)實現對GPIB器件的讀/寫操作:

程序說明:
1、 聲明區:聲明程序中所有變量的數據類型,用C語言數據類型聲明。
2、 開啟區:進行GPIB器件初始化,確定GPIB器件地址,并為每個器件返回一個對
應的器件句柄。在初始化過程中,器件句柄作為器件的標志以輸出參數形式被返回
,在其它的I/O功能函數中,器件句柄則作為函數的輸入參數,以標志特定的GPIB
器件。
3、 器件I/O區:在本例程中,器件I/O主要完成命令發送,并從GPIB器件中讀回響
應數據。主要完成向器件發送查詢器件標識符命令,用標準命令符“*IDN?”,并
從器件讀回響應值,即器件的標識符。在NI-488函數集中,分別用ibwrt函數與
ibrd函數進行器件寫操作與讀操作。
4、 關閉區:GPIB的I/O軟件將本身的數據結構存于內存中,當系統關閉時,所有
儀器全部自動關閉,無需對I/O軟件本身作關閉操作。也就是說,GPIB的I/O軟件(
如NI-488)無關閉機制。
例3.1 用NI-488實現對GPIB儀器的讀/寫操作

例3.2 用非VISA的I/O接口軟件(NI公司的NI-VXI)實現對VXI消息基器件的讀/寫
操作:
例3.2 用NI-VXI實現對GPIB器件的讀/寫操作
程序說明:
1、 聲明區:聲明程序中所有變量的數據類型,用C語言數據類型聲明。
2、 開啟區:進行VXI消息基器件初始化,確定VXI消息基器件的邏輯地址。在對
VXI器件操作中,邏輯地址取代了GPIB器件操作中的器件句柄,作為器件操作的標
志,在初始化操作中返回唯一的值。
3、 器件I/O區:在本例程中,主要完成對命令發送,并從VXI消息基器件讀回響應
數據。同樣完成向器件發送查詢器件標識符命令,用標準命令符“*IDN?”,并從
器件讀回響應值,即器件的標識符。由初始化得到的器件邏輯地址在器件I/O操作
中作為函數的輸入參數被使用。程序通過對邏輯地址的處理,完成對器件的一對一
操作。在VXI消息基器件的操作中,分別用WSwrt函數與WSrd函數進行器件的寫操作
與讀操作,其中這兩個函數中的mode參數均表示數據傳輸方式,retCount參數表示
實際傳送的字節數。
4、 關閉區:對于VXI器件,存在著一個關閉機制,要求在結束器件操作的時候,
同時關閉I/O接口軟件。

例3.3 用VISA I/O接口軟件實現對GPIB器件與VXI消息基器件的讀/寫操作:
例3.3 用VISA實現對GPIB器件與VXI消息基器件的讀/寫操作
程序說明:
1、 聲明區:聲明程序中所有變量的數據類型。與以上兩例不同的是,在這兒聲明
的數據類型均為VISA數據類型,其是與編程語言無關的。而VISA數據類型與編程語
言數據類型的對應說明,均包含在特定文件中。如VISA數據類型的C語言形式的包
含頭文件為本章附錄文件visatype.h和visa.h。由于程序中沒有涉及到具體某種語
言的數據類型,故程序本身具有良好的兼容性與可移植性,各種編程語言調用
VISA的數據類型與操作函數的參數調用格式相差甚少。
2、 開啟區:進行消息基器件初始化,建立資源管理器及器件與VISA的通信關系。
對所有器件進行初始化均調用viOpenDefaultRM()與viOpen()函數。在此例中,對
于GPIB器件的初始化與對于VXI器件的初始化的函數調用形式是一致的,只是輸入
參數中器件描述符的值區別。在調用viOpen()函數時,器件硬件接口形式(計算機
結構形式)是無需特別說明的,該初始化過程完全適用于各種器件硬件接口類型。
初始化過程中返回的vi參數,類似于器件句柄,可作為器件操作的標志與數據傳遞
的中介。
3、 器件I/O區:在本例程中,主要完成對器件發送命令,并從器件讀回響應數據
。對于GPIB的讀/寫操作與對于VXI消息基器件的讀/寫操作,調用的VISA函數是一
樣的。其中vi是操作函數的輸入參數。
4、 關閉區:在器件操作結束時,調用viClose()函數,關閉器件及資源管理器與
VISA的關聯。
通過以上三個例程的分析,可以發現兩個事實:第一、VISA函數的調用與其它接口
軟件函數的調用形式上并無太多不同,學習功能強大的VISA軟件并不比一般的I/O
接口軟件任務重。而且VISA的函數參數意義明確,結構一致,在理解與應用儀器程
序時,效率較高。第二、VISA用戶只需學習了VISA函數應用格式,就可以對多種儀
器實現統一控制,不必再象以前學會了用NI-488對GPIB器件操作之后,還得學會
NI-VXI對VXI器件進行操作。與其它的I/O接口軟件相比,VISA體現的多種結構與類
型的統一性,使不同儀器軟件可以運行在同一平臺上,為虛擬儀器系統軟件結構提
供了堅實的基礎。

3.2 VISA資源描述
3.2.1 VISA資源類與資源
自底向上的VISA模型內部是由面向對象程序(OOP)軟件模塊構成的。在VISA中,
最基本的軟件模塊是定義在資源類上的資源。
VISA的資源類概念類似于面向對象程序設計方法中類的概念。類是一個實例外觀和
行為的描述。類通過構造函數來建立新的實例,因為不管怎樣,先得建立一個實例
才能使用它、操作它。當向類提出要建立一個實例的要求時,它會通過一個特定的
構造函數創建并初始化一個新的實例。然而,類并不對銷毀一個實例負責,這就要
求實例要自己負責,它們通過調用一個方法來申請自我的銷毀。類的聲明定義了類
的實例結構以及一組可以由該實例執行的有效操作。VISA資源類是一種抽象化的器
件特點功能描述,是對資源精確描述的專用術語。
VISA的資源概念類似于面向對象程序設計方法中對象的概念。對象實例不僅包含數
據實體,而且是一個服務提供者。做為一個數據實體,一個對象很象一個記錄,由
一些相同或不同類型的域構成。這些域的整體被稱為一個對象的狀態。改變這些域
的值,邏輯上講就是改變一個對象的狀態。作為服務提供者,或者說是一個過程實
體,一個對象是一些在其域上進行操作的方法或子程序的集合。從這個角度看來,
它有點象一個子例程庫。方法定義了對象的行為,激活一個對象方法的實際結果就
是讓對象做一個動作。這兩種互相補充的角色使對象這種概念變得非常強大。使用
對象,可以使抽象非常方便:一個對象的內部可以看成一個“黑匣子”,只能通過
精心設計的由方法組成的接口來訪問。對象的可見部分成為它的協議。
VISA中資源與OOP對象一樣,也由三個要素組成:屬性集、事件集與操作集。以讀
資源為例,其屬性集包括結束字符串、超時值及協議等,事件集包括用戶退出事件
,操作集包括各種端口讀取操作。

3.2.2 VISA資源描述格式
VISA資源是獨立于編程語言與操作系統的,在VISA本身的資源定義與描述中并不包
含任何操作系統或編程語言相關的限制。VISA源代碼是唯一的,只為不同的操作系
統編程語言提供了不同的API接口。VISA資源類共分為五大類:VISA資源模板、
VISA資源管理器、VISA儀器控制資源、VISA儀器控制組織器、VISA特定接口儀器控
制資源。在每一類中定義與描述的VISA資源都遵循同樣的格式。VISA資源描述格式
如表3.1所示。
VISA資源描述格式是一種抽象定義,與具體編程語言無關,資源內所有元件的定義
也均與編程語言無關。VISA通過提供不同的API接口,適用于不同的操作系統與編
程環境。在不同的編程語言環境之中調用VISA,均需在應用程序頭部引入說明文件
。在C語言環境下,VISA資源說明文件為visatype.h和visa.h文件(詳見本章附錄)
。唯一的VISA源程序通過不同的引入接口與文件說明,實現了不同環境下的適用性
。VISA資源描述格式不僅適用于現在VISA包含的所有資源,也為VISA將來資源擴充
定義了一個標準格式。現定義的VISA資源類型定義如表3.2所示。
X.1 資源概述
X.2 資源屬性表及屬性描述
X.3 資源事件集
X.4 資源操作集
    所含每個操作包括:
X.4.Y   名字(含形參名)
X.4.Y.1 目標
X.4.Y.2 參數表
X.4.Y.3 返回狀態值
X.4.Y.4 描述
X.4.Y.5 相關操作項
X.4.Y.6 實現要求
表3.1  VISA資源描述格式
資源    縮寫名  標準名
VISA資源管理器資源  VRM VI_RSRC_VISA_RM

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜精品久久久久久孕妇 | 久久一夜天堂av一区二区三区| 国产 欧美在线| 精品中文字幕一区二区| 免费的成人av| 看电影不卡的网站| 毛片av一区二区| 麻豆国产精品一区二区三区| 日本免费新一区视频| 美女一区二区视频| 久久99精品视频| 国产成人在线电影| av午夜一区麻豆| 色婷婷av一区二区三区软件 | 久久久久国产精品免费免费搜索| 欧美成人r级一区二区三区| 日韩亚洲欧美在线| 国产午夜精品一区二区| 中文字幕日韩av资源站| 一区二区三区高清不卡| 日韩中文字幕91| 国产乱码字幕精品高清av | 亚洲精品精品亚洲| 亚洲18色成人| 国产一区二区免费在线| www.欧美精品一二区| 在线观看日韩av先锋影音电影院| 欧美另类videos死尸| 久久精品视频一区二区| 综合网在线视频| 日本视频在线一区| 成人性生交大片免费看中文网站| 91久久奴性调教| 精品嫩草影院久久| 亚洲一区自拍偷拍| 国产曰批免费观看久久久| 91在线观看视频| 日韩欧美黄色影院| 亚洲人123区| 黄色精品一二区| 91福利资源站| 中文字幕欧美三区| 日韩av二区在线播放| 成人av集中营| 日韩欧美国产麻豆| 亚洲一级电影视频| 国产91丝袜在线播放| 制服丝袜一区二区三区| 综合自拍亚洲综合图不卡区| 国内外成人在线| 欧美久久一区二区| 中文字幕在线不卡国产视频| 麻豆精品久久久| 欧美三级视频在线| 亚洲日本成人在线观看| 国产在线视视频有精品| 91精品久久久久久久99蜜桃 | 欧美一级国产精品| 亚洲一区二区精品视频| 不卡在线观看av| 久久丝袜美腿综合| 免费看欧美女人艹b| 在线视频综合导航| 综合在线观看色| 99综合电影在线视频| 久久精品亚洲麻豆av一区二区| 天堂资源在线中文精品| 色婷婷综合久久久久中文一区二区 | 国产精品嫩草久久久久| 国模娜娜一区二区三区| 日韩欧美一二三区| 99在线精品观看| 久久久不卡影院| 精品一区二区三区不卡| 精品久久久久久最新网址| 久久爱www久久做| 日韩一区二区三区观看| 蜜臀av国产精品久久久久| 欧美一卡二卡在线| 久久精品国产第一区二区三区| 欧美日韩成人高清| 日韩电影免费在线| 日韩视频免费观看高清在线视频| 日本视频免费一区| 精品国产污污免费网站入口 | 成人网在线播放| 国产精品美女久久久久aⅴ| 风间由美性色一区二区三区| 中文子幕无线码一区tr| av亚洲精华国产精华精| 亚洲色图欧洲色图婷婷| 欧美性猛交一区二区三区精品| 一区二区三区在线观看网站| 欧美性xxxxxxxx| 日日夜夜精品免费视频| 精品美女被调教视频大全网站| 久久99精品国产麻豆婷婷| 国产三级欧美三级日产三级99 | 国产日韩成人精品| 91亚洲精品久久久蜜桃网站| 亚洲日本欧美天堂| 欧美一区二区福利视频| 国产真实乱对白精彩久久| 欧美激情综合五月色丁香| 色94色欧美sute亚洲线路一久| 亚洲国产一区二区在线播放| 欧美一区二区三区啪啪| 成人一区二区三区在线观看| 亚洲欧美日韩精品久久久久| 91精品国产综合久久久久久漫画 | 亚洲超丰满肉感bbw| 欧美大片在线观看一区| 成人少妇影院yyyy| 亚洲aⅴ怡春院| 亚洲国产精品99久久久久久久久 | 老司机午夜精品| 国产精品国产三级国产aⅴ入口 | 椎名由奈av一区二区三区| 制服丝袜在线91| 色综合久久九月婷婷色综合| 美女视频黄频大全不卡视频在线播放| 亚洲国产电影在线观看| 日韩一级二级三级| 91美女在线观看| 极品美女销魂一区二区三区| 一区二区三区在线视频观看| 久久久噜噜噜久久中文字幕色伊伊| 91久久国产综合久久| 国产福利一区二区| 蜜桃在线一区二区三区| 亚洲男人的天堂一区二区| 久久综合999| 日韩亚洲欧美中文三级| 欧美性视频一区二区三区| 成人永久免费视频| 久久97超碰国产精品超碰| 成人性生交大片免费看中文网站| 免费不卡在线观看| 亚洲综合另类小说| 中文字幕视频一区| 日本一区二区不卡视频| 久久这里只有精品6| 欧美一级在线免费| 欧美日本在线观看| 欧美在线一区二区| 91成人免费在线视频| 91在线视频网址| 成人激情动漫在线观看| 懂色av一区二区三区蜜臀| 国产一区二区三区av电影 | 亚洲色图欧洲色图| 国产精品无遮挡| 国产精品免费av| 中文字幕av资源一区| 国产精品私人影院| 中文字幕欧美国产| 亚洲欧洲精品成人久久奇米网| 日韩一区在线播放| 亚洲色欲色欲www在线观看| 国产精品电影一区二区三区| 国产精品久久久久久亚洲毛片| 国产精品国产三级国产| 国产精品久久久久精k8| 亚洲精品欧美专区| 亚洲国产精品欧美一二99| 爽好久久久欧美精品| 日日夜夜免费精品视频| 精品一区二区三区免费毛片爱| 麻豆久久久久久久| 国产不卡视频在线播放| hitomi一区二区三区精品| 色综合天天在线| 欧美视频一区二| 欧美电影免费观看高清完整版在线| 精品国产乱码久久久久久久久| 国产欧美一区二区精品性| 国产精品久久久久久户外露出| 一区二区三区高清在线| 欧美a级一区二区| 国产iv一区二区三区| 一本一本大道香蕉久在线精品| 欧美午夜影院一区| 日韩一区和二区| 国产精品色一区二区三区| 一区二区三区鲁丝不卡| 奇米在线7777在线精品 | 亚洲色图一区二区三区| 午夜影院久久久| 国产精品中文字幕欧美| 色综合一个色综合| 精品国产一二三| 一区二区三区av电影| 久久97超碰国产精品超碰| 99久久99久久精品免费看蜜桃| 欧美精品乱人伦久久久久久| 久久久久久一二三区| 亚洲va欧美va国产va天堂影院| 国产精品一区二区久激情瑜伽| 一道本成人在线| 久久久精品影视|