中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于HP-VISA庫的VXI總線測(cè)試應(yīng)用編程

        基于HP-VISA庫的VXI總線測(cè)試應(yīng)用編程

        作者: 時(shí)間:2013-03-30 來源:網(wǎng)絡(luò) 收藏
        一、引言
          總線是一種基于模塊化概念的標(biāo)準(zhǔn)儀器控制總線技術(shù)體系。經(jīng)過十年來的發(fā)展,目前已在自動(dòng)測(cè)試、虛擬儀器及其它相關(guān)專業(yè)領(lǐng)域內(nèi)得到了廣泛應(yīng)用。隨著這一概念及技術(shù)的高速發(fā)展,在大型應(yīng)用系統(tǒng)的設(shè)計(jì)中,往往會(huì)碰到不同廠商儀器模塊,不同接口類型等之間的兼容性與互操作性問題。為此,即插即用聯(lián)盟為模塊專門制定了統(tǒng)一的軟、硬件標(biāo)準(zhǔn),并于1996年底開發(fā)了一套VISA(VirtualInstrumentSoftwareArchitecture)庫。它為用戶提供了一套獨(dú)立且易用的低層I/O庫及相應(yīng)的函數(shù)接口,使用戶可以方便地開發(fā)與儀器、接口類型無關(guān)的測(cè)試應(yīng)用。目前,VXI庫可以支持的操作系統(tǒng)包括:WIN、WIN95/NT、SUN、HP-UX等。支持的語言及開發(fā)環(huán)境有:C/C++(VC、BC)、VB、Labview、Labwindows/CVI、HPVEE等。同時(shí),作為一種通用的I/O標(biāo)準(zhǔn),VISA與儀器、接口類型無關(guān)的特性,也為開發(fā)人員提供了方便,并大大縮短了開發(fā)周期。
          本文將結(jié)合HPVISA1.0中的有關(guān)內(nèi)容,以Win95平臺(tái)上的VC語言為例詳細(xì)討論VXI應(yīng)用編程中的有關(guān)細(xì)節(jié)。
        二、基于VISA庫的編程細(xì)節(jié)
          1.相關(guān)的頭文件及庫文件
          在應(yīng)用源程序的開頭應(yīng)包含對(duì)VISA庫頭文件Visa*h的引用,一般該文件在../Vxipnp/Win95/include子目錄下。Visa*h頭文件中主要是對(duì)VISA庫函數(shù)的原型聲明及相關(guān)常量、錯(cuò)誤碼的定義。它還自動(dòng)包含了另一個(gè)頭文件Visatype*h,該文件中包括了VISA庫中用到的數(shù)據(jù)類型的定義。
          另外,在工程文件中還需加入VISA靜態(tài)庫Visa32.lib。該文件在../Vxipnp/Win95/lib/Msc子目錄下。
          2.會(huì)話的建立與關(guān)閉
          會(huì)話(session)即與設(shè)備進(jìn)行通訊的通道。在基于VISA庫編程中,與任何一個(gè)設(shè)備(包括儀器、PC機(jī)甚至打印機(jī)等)通訊之前,都必須首先與之建立一個(gè)會(huì)話。通訊結(jié)束后,應(yīng)關(guān)閉這一會(huì)話。
          最先建立的應(yīng)是由資源管理器之間的會(huì)話,它管理所有的資源,并成為其后打開的所有會(huì)話的“文”會(huì)話。這由以下函數(shù)調(diào)用完成:
           ViOpenDefaultRM(sesn);
          sesn是一個(gè)ViSession類型的變量指針,所指的值為資源管理會(huì)話句柄。
          接下來,為每一個(gè)需要與之通信的設(shè)備建立一個(gè)會(huì)話:ViOpen(sesn,rsrc-name,accessmode,timeout,Vi);rsrcname為設(shè)備地址,Vi指向設(shè)備會(huì)話句柄。
          設(shè)備地址為標(biāo)識(shí)某一設(shè)備的字串,通常由VISA接口類型標(biāo)識(shí)及設(shè)備的邏輯地址兩部分組成。具體內(nèi)容可參見下表:


        接口類型設(shè)備地址示例
        VXIVXIO::24
        GPIB-VXIGPIB-VXI::128
        GPIBGPIBO::7::0
        ASRLASRL::INSTR

          在與設(shè)備通訊結(jié)束后,應(yīng)調(diào)用ViClose(Vi)函數(shù)關(guān)閉會(huì)話。這樣可以釋放會(huì)話所占用的數(shù)據(jù)結(jié)構(gòu)資源。
          最后,應(yīng)關(guān)閉資源管理會(huì)話。
          3.資源
          如前所述,資源管理會(huì)話負(fù)責(zé)管理所有的資源??梢酝ㄟ^它來查詢指定資源及與其相關(guān)的會(huì)話。
          ViFindRsrc函數(shù):對(duì)某一接口查詢指定的設(shè)備資源,并返回匹配項(xiàng)。
          ViFindNext函數(shù):與ViFindRsrc配對(duì)使用,用于對(duì)有多個(gè)匹配項(xiàng)的列表。
          4.I/O命令
          一旦與設(shè)備的會(huì)話建立之后,就可以利用VISA庫中的I/O函數(shù)與設(shè)備進(jìn)行通訊,VISA庫中提供了兩類I/O方式。
         ?、俑袷交疘/O
          提供了一種類似于ANSI-C語言Stdio中格式化輸入輸出方式的操作能力。包括:
          ViPrintf函數(shù):將格式化的數(shù)據(jù)寫入設(shè)備。
          ViVprintf函數(shù):與ViPrintf函數(shù)功能類似。
          ViScanf函數(shù):從設(shè)備中讀出數(shù)據(jù)并按照給定的格式轉(zhuǎn)換。
          ViQueryf函數(shù):向設(shè)備寫入一個(gè)格式化后的數(shù)據(jù)串,并接受及轉(zhuǎn)換響應(yīng)數(shù)據(jù)。
          其它ViVscanf及ViVQueryf函數(shù)分別與ViScanf及ViQueryf函數(shù)功能類似。
          數(shù)據(jù)的格式是由一個(gè)格式字串確定的,具體格式與ANSI-C語言相同。
         ?、跓o格式I/O
          無格式I/O直接發(fā)送或接收原始數(shù)據(jù),不經(jīng)過格式轉(zhuǎn)換過程。它所執(zhí)行的是一種低層的I/O操作,因此在對(duì)同一個(gè)會(huì)話的I/O中,不能混用格式化I/O與無格式I/O兩種方式。
          ViRead函數(shù):從設(shè)備讀出數(shù)據(jù)并存放于緩沖區(qū);
          ViWrite函數(shù):將緩沖區(qū)中數(shù)據(jù)寫入設(shè)備。
          這兩個(gè)函數(shù)執(zhí)行的是同步操作方式,另外:
          ViReadAsync函數(shù):功能與ViRead相似,只是以異步方式讀數(shù)據(jù),即在讀操作結(jié)束之前就可以返回。函數(shù)返回一個(gè)jobId用以標(biāo)識(shí)尚未完成的操作。可以利用ViTerminate函數(shù)強(qiáng)制結(jié)束它,或直到操作完成。
          ViWriteAsync函數(shù)與此類似。

        c++相關(guān)文章:c++教程



        上一頁 1 2 3 下一頁

        關(guān)鍵詞: HP-VISA庫 VXI 總線測(cè)試

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉