999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VISA的串口通信程序設計

2008-01-01 00:00:00董智強徐世榮余雅敏
電腦知識與技術 2008年6期

摘要:Labview是虛擬儀器、遠程測控等領域的通用編程環境,其基于VISA的編程機理得到廣泛應用,VISA支持的接口種類多、功能強大、技術成熟,是目前虛擬儀器及測控編程使用最為廣泛的工具之一。串行口是儀表、數據采集、遠程測控應用較多的接口,也是最為成熟的接口技術,目前在數據量不大的儀表控制、數據采集、遠程測控等領域普遍使用。研究基于VISA的串口通信程序,對于開發串口儀表控制程序、數據采集、遠程測控應用具有較通用的參考意義。

關鍵詞:VISA;串口;虛擬儀器;數據采集

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)06-10ppp-0c

Design of the General Purpose Serial Communication Program Based on VISA

DONG Zhi-qiang,XU Shi-Rong,YU Ya-min

(UNIT 69046,URUMQI 830002,China)

Abstract: Labview is the general IDE for Virtual Instrument(VI),its program theory on VISA is widely used,VISA supports many kind of interfaces,has much function and is perfect,it is the popular tool to program the VI and measurement.Serial port is the popular interface of Instrument,DAQ,remote measurement.it is used widely in the no much data area such as Instrument control,DAQ,remote measurement.The research of Serial program baed on VISA has the importance for programming on Instrument control,DAQ and remote measurement.

Key words: VISA; serial port; VI(Virtual Instrument); DAQ(Data Acquisition)

1 VISA簡介

LabVIEW提供了功能強大的VISA庫。VISA(Virtual Instrument Software Architecture)——虛擬儀器軟件規范,是用于儀器編程的標準I/O函數庫及其相關規范的總稱。VISA庫駐留于計算機系統中,完成計算機與儀器或外部裝置之間的連接,用以實現對儀器或外部裝置的程序控制,其實質是虛擬儀器系統標準API。VISA本身不具備編程能力,它是一個高層API,通過調用底層驅動程序來實現對儀器的編程,其層次結構如圖1所示。

圖1 LabVIEW程序設計層次結構圖

與其他現存的I/O接口軟件相比,VISA的I/O控制功能具有如下幾個特點:適用于各種儀器類型(如VXI儀器、GPIB儀器、RS-232串行儀器、消息基器件、寄存器器件、存儲器器件等儀器);適用于多種硬件接口類型;適用于多處理器結構或分布式網絡結構;適用于多種網絡機制;VISA的I/O軟件庫的源程序是唯一的,其與操作系統及編程語言無關,跨平臺移植性好。

2 VISA庫串口通訊函數

VISA串口通訊函數調用路徑為:Functions→Instrument I/O VISA→VISA Advanced→Interface Specific→Serial中。(1)VISA Configure Serial Port節點。該節點主要用于串口的初始化。主要參數意義如下:VISA resource name:VISA資源名稱,即串口號;baud rate:波特率,默認為9600;data bits:一幀信息的位數,LabVIEW中允許5~8位數據,默認值為8位;stop bits:一幀信息停止位位數,可為1位、1.5位或2位;Parity:奇偶校驗設置。可為無校驗、奇校驗或偶校驗;flow control:流量控制方式,硬件方式或軟件方式(Xon/Xoff)。(2)VISA Read節點。讀串口數據子VI,VISA串口通信主要節點之一,用于將串口中的數據讀出,然后利用LabVIEW的強大數據處理功能對其進行分析處理。主要參數意義如下:VISA resource name:串口號;byte count:用于設置所要讀的字符數。(3) VISA Write節點。寫數據到串口子VI,VISA串口通信主要節點之一,用于將數據寫入串口。參數類似于VISA Read子VI。(4)VISA Close節點。關閉串口。(5)還有VISA Serial Break、VISA Bytes at Serial Port、VISA Set I/O Buffer Size、VISA Flush I/O Buffer等幾個串口通信輔助子VI,結合串口通信主VI,共同完成串口通信任務,其功能分述于下表:

表1 VISA串口通信子VI功能描述表

3 VISA串口通訊編程基本流程

在LabVIEW環境中使用串口與在其它開發環境中開發過程類似,基本的流程框圖如圖2。

圖2 基于VISA串口通信編程基本流程圖

首先需要調用VISA Configure Serial Port完成串口參數的設置,包括串口資源分配、波特率、數據位、停止位、校驗位和流控等等。初始化完成后,使用VISA Write、VISA Read進行數據收發。在接收數據之前需要使用VISA Bytes at Serial Port查詢當前串口接收緩沖區中的數據字節數,如果VISA Read要讀取的字節數大于緩沖區中的數據字節數,VISA Read操作將一直等待,直至Timeout或者緩沖區中的數據字節數達到要求的字節數。某些特殊情況下,需要使用VISA Set I/O Buffer Size設置串口接收/發送緩沖區的大小,使用VISA Flush I/O Buffer清空接收與發送緩沖區。在串口使用結束后,使用VISA Close結束與VISA resource name指定串口之間的會話。

4 數值型數據的處理方法

4.1 如果這些數據是靜態的,也就說在程序設計階段要傳輸的數據就已經確定了,在這種情況下,首先設置VISA Write的write buffer的顯示屬性為Hex Display,然后直接輸入要發送的16進制字符串就可以了。串口設備的控制命令通常是由一個或多個16進制字符組成的,當我們需要對其進行控制時經常會采用這種方法發送控制命令。

4.2 數據是動態的;即要傳輸的數值型數據是動態產生和變化的,在發送之前首先要將其轉換成對應的16進制字符串,才能賦給VISA Write發送。將這些數據構成一個數組,用Byte Array To String進行轉換,轉換的結果就是對應數組數值的字符串,可以提交VISA Write發送。或者使用Type Cast也可以實現同樣的功能。

圖3 串口發送數值型數據處理方法

圖4 串口接收數值型數據處理方法

5 字符串型數據的處理方法

通常傳輸數據具有一定格式或協議,一個完整的數據幀可能包括起始段、數據段、校驗段,而每一段有幾個部分組成,幾個部分的類型和長度不盡相同,數值型、字符型或布爾型,單字節或多字節。在處理方法上,采用統一的字符形式處理數據,字符是LabVIEW里最方便的數據類型。

經過打包的字符數據經過串口發送時需要進行必要的轉換,否則傳輸將出錯。如打包過后需要發送的的字符串為:34 12 56 78 94(空格為了區分),如果直接將其賦給VISA Write發送,串口上的數據是:33 34 31 32 35 36 37 38 39 34,每個字符前增加一個字符‘3’。數據接收時,從串口接收到的數據是16進制的ASCII碼,要轉換成對應的數值型數據,使用String To Byte Array或者Type Cast。正確的轉換程序如下。

圖5 字符串型數據處理方法

6 串口通信程序實現及效果

以上分析了基于VISA串口通信程序設計的基礎知識和使用中需要注意的數據轉換問題,在此基礎上,利用VISA,配合適當的Labview控制結構,可以編制出界面友好、功能完善、通用性強的串口通信終端程序,試用結果表明,該軟件界面簡潔、性能可靠、通用性強,既可以獨立使用,也可以作為子VI為其他應用程序調用,其程序主要結構及運行軟件界面如下圖所示:

圖6 串口設置及通信參數設置程序簡圖

圖7 數據接收、發送部分程序簡圖

圖8 軟件運行效果圖

參考文獻:

[1]L abVIEW8.2 User Manual.USA:National Instruments Corporation,2006.

[2]楊樂平.LabVIEW程序設計與應用.電子工業出版社,2001.

[3]劉君華.虛擬儀器圖形化編程語言LabVIEW教程[M].西安:電子科技大學出版社,2001.

[4]鄧華.MATLAB 通信仿真及應用[M].人民郵電出版社 2000

[5]樓順天,陳生潭,雷虎民.MATLAB 5.x程序設計語言[M].西安:電子科技大學出版社,2000

收稿日期:2008-01-12

作者簡介:董智強(1974-),學士,1997年畢業于解放軍理工大學通信工程學院,現主要從事通信裝備維修工作。

主站蜘蛛池模板: 伦精品一区二区三区视频| 中文成人在线视频| a色毛片免费视频| 午夜精品久久久久久久无码软件| 欧美日韩一区二区在线播放| 久久精品国产国语对白| 亚洲免费三区| 国产成人欧美| 97超级碰碰碰碰精品| 亚洲欧美激情另类| 伊人色在线视频| 中文国产成人久久精品小说| 91视频99| 国产内射一区亚洲| 91网在线| v天堂中文在线| 久久精品丝袜| 欧美a网站| 欧洲精品视频在线观看| 亚洲va视频| 亚洲国产亚洲综合在线尤物| 亚洲va欧美ⅴa国产va影院| 国产永久免费视频m3u8| 自偷自拍三级全三级视频| 国产v精品成人免费视频71pao| 久草青青在线视频| 日韩av无码DVD| 亚洲色图欧美激情| 国产无码在线调教| 高清亚洲欧美在线看| 四虎综合网| 欧美成人一级| 亚洲最大在线观看| 久久国产黑丝袜视频| 一区二区三区高清视频国产女人| 67194亚洲无码| 亚洲无码日韩一区| 国产视频自拍一区| 中文成人在线视频| 亚洲精品午夜无码电影网| 欧美激情视频二区| 91香蕉国产亚洲一二三区| 久久亚洲欧美综合| 美女亚洲一区| 高清国产va日韩亚洲免费午夜电影| 免费欧美一级| 精品一区二区三区无码视频无码| 国产区成人精品视频| 97久久人人超碰国产精品| av在线5g无码天天| 亚洲一级色| 欧美亚洲欧美区| 亚洲综合专区| 成人av专区精品无码国产| 亚洲综合经典在线一区二区| 欧美成人免费午夜全| 免费不卡在线观看av| 亚洲精品在线观看91| 在线观看的黄网| 97在线免费视频| 日韩午夜片| 92精品国产自产在线观看| 国产91全国探花系列在线播放| 亚洲国产成人久久精品软件 | 制服丝袜 91视频| 波多野结衣在线一区二区| 456亚洲人成高清在线| 国产最爽的乱婬视频国语对白| 久久精品无码国产一区二区三区| 手机精品福利在线观看| 国产综合网站| 91娇喘视频| 中文字幕无码电影| 色综合天天视频在线观看| 美女国内精品自产拍在线播放| 精品免费在线视频| 亚洲人成网址| 九月婷婷亚洲综合在线| 91午夜福利在线观看| 伊人蕉久影院| 欧美啪啪一区| 成年A级毛片|