• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      LabVIEW調(diào)用WinIO編程調(diào)節(jié)放大器增益

      2015-04-12 00:00:00劉輝劉嶸沈慶河田永全
      現(xiàn)代電子技術(shù) 2015年6期

      摘 "要: 在此詳細(xì)介紹了如何使用LabVIEW調(diào)用WinIO來控制博來科技股份有限公司的單片機主板2I260A的DIO(數(shù)字輸入/輸出),以及通過控制2I260A 的DO來實現(xiàn)控制放大器電路模塊中繼電器的切換,從而達(dá)到編程調(diào)節(jié)放大器增益的目的。試驗結(jié)果表明,這是一種比基于底層I/O端口控制更直接更高效的控制方法,完全可以滿足放大器增益檔位控制的要求,不僅提高設(shè)備整體的利用率、降低開發(fā)周期,而且效果良好且運行穩(wěn)定。

      關(guān)鍵詞: LabVIEW; WinIO; 2I260A; DIO

      中圖分類號: TN911?34 " " " " " " " " " 文獻(xiàn)標(biāo)識碼: A " " " " " " " " " " " " " "文章編號: 1004?373X(2015)06?0149?04

      WinIO is called by LabVIEW to adjust amplifier’s gain

      LIU Hui1, LIU Rong1, SHEN Qing?he1, TIAN Yong?quan2

      (1. Shandong Electric Power Research Institute, Jinan 250002, China; 2. Xi’an Boyuan Electric Corporation, Xi’an 710054, China)

      Abstract: The method how to use LabVIEW to call WinIO to control DIO (digital input output) of microcontroller mainboard 2I260A made by LEX Computech Co., Ltd "is described in detail. The switching of relay in control amplifier circuit module is realized by controlling DO of 2I260A to achieve the purpose of the amplifier gain adjustment. The experimental results show that this control method is more direct and more efficient than the control method based on the underlying I/O port, and can fully meet the requirements of the amplifier gain control. It improved the overall equipment utilization and reduced the development cycle.

      Keywords: LabVIEW; WinIO; 2I260A; DIO

      0 "引 "言

      一般情況下,在LabVIEW中實現(xiàn)I/O控制有兩種方式,一種是I/O硬件已經(jīng)自帶了LabVIEW底層的驅(qū)動,這樣只需要直接調(diào)用即可,這種方式一般用于采集卡或NI的一些板卡[1]上;第二種方式是使用LabVIEW中的I/O端口函數(shù)[2]編寫底層細(xì)節(jié),這種方法一般難度較大。

      由于文章所討論的系統(tǒng)的下位機采用了博來科技股份有限公司單片機主板2I260A,所以如果需要使用上述第一種方法來實現(xiàn)放大器增益的控制,需要額外購買硬件,成本太高,不劃算;而且2I260A自帶了8個DI和DO接口,如果將其利用,將提高設(shè)備的利用率。所以選擇第二種方式性價比較高,但2I260A自帶的資料全部都是調(diào)用WinIO.DLL來實現(xiàn)DIO的控制[3],使得使用I/O端口實現(xiàn)控制難度較大,所以急需使用一種新的方法來完成所需的I/O控制。

      本文詳細(xì)介紹了使用LabVIEW調(diào)用WinIO.DLL來快速實現(xiàn)2I260A上DO的控制,從而來控制放大器中繼電器的切換,從而實現(xiàn)編程控制放大器增益[4]調(diào)節(jié)的目的。試驗結(jié)果表明,這是一種比基于I/O端口控制更直接更高效的控制方法,完全可以滿足放大器檔位控制的要求,不僅提高了設(shè)備整體的利用率,而且效果良好且運行穩(wěn)定。

      1 "概 "述

      1.1 "2I260A及其DIO介紹

      博來科技股份有限公司于1990年在臺北正式成立。該公司專門研發(fā)生產(chǎn)工業(yè)電腦應(yīng)用的嵌入式系統(tǒng)。目前已在中國大陸、歐洲和美洲設(shè)有多個分支機構(gòu)。該公司致力于主機板、平板電腦及各類標(biāo)準(zhǔn)系統(tǒng)產(chǎn)品的設(shè)計及制造,主打嵌入式系統(tǒng)的各項應(yīng)用,以滿足客戶在網(wǎng)絡(luò)、數(shù)字監(jiān)控、網(wǎng)絡(luò)存儲設(shè)備、網(wǎng)路應(yīng)用、多媒體查詢終端、POS機和精簡型電腦等方面應(yīng)用需求。此外,該公司可根據(jù)客戶需求提供OEM或ODM服務(wù)。

      2I260A就是博來科技研發(fā)的2.5英寸的單片機主板,其主要配置如下:英特爾1.6 GHz的CPU(雙核處理器),DDR3 SDRAM 2 GB的內(nèi)存,1×Realtek RTL8111F 10/100/1 000 Mb/s的網(wǎng)卡,兩個串口,兩個USB接口,支持WDT、4路DI和4路DO,采用12 V供電,支持3G SIM讀卡器。由于該電路板的設(shè)計結(jié)合了所有必要的輸入和輸出接口,使得2I260A成為一款用于數(shù)字標(biāo)牌和瘦客戶端應(yīng)用程序的理想多功能一體機控制主板。由于其體積小,2I260A也是小尺寸和低功耗設(shè)備,如移動PC或小平板電腦的整個范圍的完美平臺[4]。

      由于文章所討論的系統(tǒng)使用了2I260A作為下位機開發(fā)系統(tǒng),所以使用它的DO來控制放大器的增益省去了外部控制電路的搭建,同時也將設(shè)備的利用率達(dá)到最大化。

      1.2 "WinIO簡介

      WinIO是由 Yariv Kaplan編寫的動態(tài)鏈接庫,它有如下特點:WinIO函數(shù)庫通過使用內(nèi)核模式下的設(shè)備驅(qū)動程序和其他一些底層編程技巧繞過 Windows安全保護(hù)機制,允許Windows 程序直接對 I/O口進(jìn)行操作;最新版本是3.0,支持32位和64位平臺,并可供多個應(yīng)用程序同時使用。WinIO允許在Windows NT/2000/XP/2003/Vista/7和2008上直接訪問I/O端口和物理內(nèi)存[4]。

      2 "LabVIEW調(diào)用WinIO實現(xiàn)放大器增益控制

      2.1 "為什么使用WinIO

      其實LabVIEW中已經(jīng)存在對I/O進(jìn)行操作的函數(shù),如圖1所示。

      lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\17t1.tifgt;

      圖1 LabVIEW I/O端口函數(shù)

      但是,以下幾個因素必須考慮:

      由于獲得的資料(以及demo程序)都是用C或VB編寫的,關(guān)于I/O具體的地址定義及地址的含義不一定非常清楚,所以使用該I/O端口函數(shù)的難度有些大,這方面的資料獲取比較難[5]。

      LabVIEW畢竟和其他文本語言(比如C語言)還是有所區(qū)別,直接對底層程序的開發(fā)還存在一定的限制,比如對內(nèi)存和指針操作就沒有C語言那么靈活。而且由于操作系統(tǒng)的某些限制,直接編程來進(jìn)行底層操作可能會遇到很多困難,而使用前人編寫的一些現(xiàn)成的模塊來繞過這些底層細(xì)節(jié)則會輕松很多,而且程序復(fù)雜度大大降低?;谏鲜鰩c,考慮使用WinIO庫來代替I/O端口操作,以減輕工作量。

      2.2 "LabVIEW對WinIO的調(diào)用

      這部分涉及到LabVIEW對DLL的操作[6],屬于LabVIEW的高級應(yīng)用。下面以InitializeWinIo函數(shù)為例介紹如何調(diào)用:

      第一步:將下載的WinIO.dll放置到和將要調(diào)用的VI相同的目錄下;

      第二步:新建一個VI,保存VI到上一步的目錄中并打開該VI的程序框圖,在其中添加調(diào)用庫函數(shù)節(jié)點;

      第三步:雙擊調(diào)用庫函數(shù)節(jié)點,打開調(diào)用庫函數(shù)對話框,如圖2所示。

      lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\17t2.tifgt;

      圖2 "LabVIEW調(diào)用庫函數(shù)對話框

      因為函數(shù)原型為bool _stdcall InitializeWinIo(),所以接下來配置該對話框,如圖3和圖4所示。

      lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\17t3.tifgt;

      圖3 函數(shù)選項卡設(shè)置

      lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\17t4.tifgt;

      圖4 參數(shù)選項卡設(shè)置

      單擊確定按鈕,然后完成如圖5所示[6]程序框圖。

      lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\17t5.tifgt;

      圖5 測試InitializeWinIo函數(shù)調(diào)用是否成功

      執(zhí)行該VI,如果返回值是0,則表示調(diào)用成功。其他函數(shù)的設(shè)置根據(jù)函數(shù)原型同理設(shè)置即可。至此,WinIO函數(shù)的調(diào)用測試已經(jīng)完成。

      2.3 "使用LabVIEW調(diào)用WinIO控制2I260A的DIO

      WinIO中的函數(shù)調(diào)用是有順序的:InstallWinIoDriver函數(shù)→InitializeWinIo函數(shù)→DIO操作函數(shù)→ShutdownWinIo函數(shù)[7]。必須按照上面的順序來調(diào)用,不然會出現(xiàn)意想不到的結(jié)果。

      根據(jù)博來科技股份有限公司官方網(wǎng)站(http://www.lex.com.tw)提供的2I260A的DIO 操作demo程序的VB版本[8],可以很輕松地知道圖6中的SetDOValue即是操作2I260A的DIO的函數(shù)。

      lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\17t6.tifgt;

      圖6 VB代碼截圖(設(shè)置DO)

      這里只是把VB中WinIO.dll中函數(shù)的調(diào)用換成LabVIEW庫函數(shù)調(diào)用,其他語句用LabVIEW標(biāo)準(zhǔn)語句來實現(xiàn)即可[9],如圖7~圖9所示。

      lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\17t7.tifgt;

      圖7 WriteI2CByte函數(shù)的LabVIEW實現(xiàn)

      經(jīng)過測試和驗證,該方法確實可以控制2I260A的DO,效果良好,運行穩(wěn)定。如需控制DI,方法類似。

      2.4 "使用2I260A的DO控制放大器增益

      完成對2I260A的DO的控制后,將放大器電路板的繼電器控制端連接到這些DO上,即可控制放大器電路中繼電器的輸出,最多可以控制4個繼電器,在檔位不多的情況下均可滿足,從而達(dá)到控制放大器增益的目的。

      lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\17t8.tifgt;

      圖8 SetDOValue函數(shù)的LabVIEW實現(xiàn)

      lt;E:\王芳\現(xiàn)代電子技術(shù)201506\現(xiàn)代電子技術(shù)15年38卷第6期\Image\17t9.tifgt;

      圖9 LabVIEW實現(xiàn)DO的操作

      放大器部分的電路是由OPA820放大器構(gòu)成的增益可調(diào)節(jié)放大器電路。

      此處的放大器電路中運放的反饋部分由繼電器連接4個電阻,采用二進(jìn)制計數(shù)的方式進(jìn)行組合得到步進(jìn)增益值,因此只需計算出第一個電阻值就可以知道其他阻值了,如需要接通Rn(n=0~3),則將對應(yīng)的繼電器斷開——即將對應(yīng)電阻接入電路反饋端。如要得到1.1倍的增益,由A=1+[R1R0],R0 =1 kΩ,計算得到R1=100 Ω,由二進(jìn)制的特點可以算出R2=2R1=200 Ω,R3=2R2=400 Ω,放大倍數(shù)為An=1+[RnR0],得到n=(An-1)×100,再將n值轉(zhuǎn)換成二進(jìn)制值對應(yīng)到繼電器和電阻即可(其中二進(jìn)制中的“1”對應(yīng)比特位的電阻應(yīng)接入電路作為負(fù)載,相應(yīng)的連接到電路的繼電器的兩個接線端為閉合狀態(tài),“0”則相反)。此外,使用DI也可以實現(xiàn)一些其他功能,比如數(shù)字信號的采集。這樣可以進(jìn)一步提高設(shè)備的利用率。由于本次未使用到數(shù)字輸入信號,所以該部分未做詳細(xì)研究。

      3 "結(jié) "語

      與LabVIEW自帶的I/O端口函數(shù)相比,通過使用LabVIEW調(diào)用WinIO實現(xiàn)DIO的控制確實大大減少了工作量,并且沒有碰到任何關(guān)于底層I/O相關(guān)的操作系統(tǒng)權(quán)限問題。這種方法完全可以滿足放大器檔位控制的要求,不僅提高了設(shè)備整體的利用率和節(jié)省了大量的時間,而且效果良好且運行穩(wěn)定。

      將WinIO的每個函數(shù)進(jìn)行LabVIEW封裝后,下次使用時只需直接調(diào)用所需功能的VI,比如,設(shè)置DO封裝完成后就是一個SetDO.vi,這樣以后每次調(diào)用就直接調(diào)用該VI即可,就能很方便地實現(xiàn)了模塊化程序的編寫,可謂是一勞永逸,大大提高了工作效率。

      參考文獻(xiàn)

      [1] 陳錫輝,張銀鴻.LabVIEW 8.2程序設(shè)計從入門到精通[M].北京:清華大學(xué)出版社,2007.

      [2] 王玉偉,裴東興,祖靜.LabVIEW下基于并口的數(shù)據(jù)通信[J].電子測量與儀器學(xué)報,2008(z2):22?24.

      [3] 袁軍,譚永東,任俊.利用WinIO實現(xiàn)并口數(shù)據(jù)通信[J].計算機與現(xiàn)代化,2009(8):49?53.

      [4] 張劍平.程控放大器及其精度研究[J].儀器儀表學(xué)報,2006(z2):27?29.

      [5] 博來科技股份有限公司.2I260A Series[DB/OL]. [2014?07?19].http://www.lex.com.tw/cn/rss/news?2I260A.htm.

      [6] Anon. WinIO [DB/OL]. [2014?04?15]. http://baike.baidu.com.

      [7] 阮奇楨.我和LabVIEW:一個NI工程師的十年編程經(jīng)驗[M].北京:北京航空航天大學(xué)出版社,2009.

      [8] 陳學(xué)樹,劉萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,2011.

      [9] 豈興明,田京京,夏寧.LabVIEW入門與實戰(zhàn)開發(fā)100例[M].北京:電子工業(yè)出版社,2011.

      [10] 張光南,馬勝前.利用VB 6.0實現(xiàn)網(wǎng)絡(luò)遠(yuǎn)程PC與單片機通信[J].現(xiàn)代電子技術(shù),2008,31(8):150?152.

      [11] 博來科技股份有限公司.2I260A Manual [M/CD]. [2013?03?07]. http://www.lex.com.tw/cn/download/Manual?into.html.

      [12] 徐曉東,鄭對元,肖武.LabVIEW 8.5常用功能與編程實例精講[M].北京:電子工業(yè)出版社,2009.

      [13] 趙驍,周斌,趙華.基于LabVIEW的SPI串行總線接口的實現(xiàn)[J].現(xiàn)代電子技術(shù),2014,37(14):138?141.

      [14] 謝冰,陳昌鑫,鄭賓.基于LabVIEW的數(shù)據(jù)采集與信號處理系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2011,34(14):173?175.

      东至县| 沧源| 桦南县| 碌曲县| 高清| 泰宁县| 衡阳县| 闸北区| 新余市| 武夷山市| 平舆县| 神木县| 黔西县| 龙州县| 宜君县| 阳西县| 温宿县| 长沙市| 武胜县| 神农架林区| 临西县| 芦山县| 合江县| 许昌县| 夏津县| 彩票| 太白县| 揭东县| 隆安县| 永新县| 霸州市| 江津市| 冀州市| 大竹县| 青岛市| 同德县| 三亚市| 格尔木市| 南部县| 万荣县| 东乡县|