用Visual Basic 5.0开发无线通讯数据采集应用程序 3400字_第1页
用Visual Basic 5.0开发无线通讯数据采集应用程序 3400字_第2页
用Visual Basic 5.0开发无线通讯数据采集应用程序 3400字_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用VisualBasic5.0开发无线通讯数据采集应用程序3400字摘要:本文通过对无线通讯系统根本工作原理的分析,阐明了采用VisualBasic5.0中的控件MSCOMM.VBX进行无线数据采集程序开发的根本办法。并结合900M频率无线通讯电台的特点,给出了根本通讯接口源程序代码。

1引言

目前对于用于数据采集和传输的无线设备之间的通讯编程,一般仍采用C语言和汇编语言较多,这主要是由于在编程时,要波及到对无线通讯设备硬件的控制,因此,选择C语言和汇编语言的较多。采用以上两种语言进行编程,对于一般的编程人员来讲,很难较快的掌握。本文采用可视化的编程环境从基本上解决了以上问题,只要有一定编程根底的技术人员,均可实现自己编程。

2无线通讯设备的根本工作原理

在无线的通讯方式中,数据传输的根本原理可以认为是通过调制解调器进行工作的,而这种调制解调器是无线方式工作的,它不含有拨号功能,而且和它直接连接的是无线电台。无线电台的作用就相当于有线传输中的线,它是通过无线电波进行发送和接受信号的。而无线调制解调器的作用是将二进制的信号调制成可以在无线电台之间传输的无线电波。

信号转换过程的属性取决于调制解调器所接收到的源信号和目的信号。一般来说,调制解调器从终端或计算机接以串行方式收到二进制信号后,将它们转换成了音频信号。然后调制解调器将这些声音通过无线电台传输出去。在接受端,另一个兼容的调制解调器将这些声音信号转换成了二进制信号,并把这些二进制信号发送给终端或计算机。

由于在无线电台之间有过滤和放大作用,同时,无线电波的传输受很多因素影响,因此传送的速度受到限制。下面给出了一种900M电台的技术特性见表1。本程序就是使用的这种电台,对于其它参数的电台,其根本原理也是一样的。

3无线数据采集的编程

由无线通讯的根本原理可以看出,无线的数据采集和传输主要包括下列几个过程,从带处理器的传感器或计算机终端发送二进制信号到无线调制解调器;无线电台之间建立连接并传输数据;从另外一端的电台接受二进制数据;将数据传输到计算机。因此,要建立无线设备之间的通讯必须在两端进行编程。

从计算机终端到无线电台的数据传输是通过计算机的串行口进行的,通过对串行口进行编程就可以实现向电台发送数据。在VisualBasic5.0中的控件MSCOMM是进行串口通讯的。通过设定控件MSCOMM的属性,可以用VB5.0对其进行灵活的编程,控件MSCOMM同时支持事件驱动及轮询办法。控件MSCOMM能生成一个名为OnComm的事件,它能能捕获的事件范围包括通过串口接受数据以及遇到任何错误等等。事件或错误的值以整数的形式保留在CommEvent属性里。可根据CommEvent属性判断最近一次事件或错误。也可以在程序中设置一个循环,每次循环都直接检查CommEvent属性的值,从而对事件及错误进行“轮询〞。如果应用程序规模小,这种办法相当完美。

下面的局部程序代码是计算机和900M无线电台之间的传输程序,本程序已经在486计算机和PII586上调试通过。

1从串口读入电台数据程序GetStringFromComm()

功能:(1)主要完成从端口获得数据,将二进制的数据转换为ASCII码数据

PublicFunctionGetStringFromComm()AsString

定义变量〔略〕

IffrmTerminal.MSComm1.InBufferCountGetStringFromComm=""

ExitFunction

EndIf

#39;//读入标志码

frmTerminal.MSComm1.InputLen=6

ReDimPreserveBinDataarr(6)AsByte

BinData=frmTerminal.MSComm1.Input

BinDataarr=BinData

UserDataLenth=BinDataarr(5)#39;用户数据的长度

Wait1:

IfBinDataarr(5)>frmTerminal.MSComm1.InBufferCountThen#39;未接受完数据

delay6#39;延时6s

GoToWait1

EndIf

frmTerminal.MSComm1.InputLen=UserDataLenth

BinData=frmTerminal.MSComm1.Input

ReDimPreserveBinDataarr(UserDataLenth)

BinDataarr=BinData

GetStringFromComm=BinTotext(UserDataLenth,0)

frmTerminal.MSComm1.InBufferCount=0#39;清空接受缓冲区

EndFunction

2从串口向电台发送数据程序SendStringToComm()

PublicSubSendStringToComm(ByValTransCommandAsInteger,ByValTransStringAsString)

ReDimBinDataarr(5)

frmTerminal.MSComm1.OutBufferCount=0#39;//清空发送缓冲区

#39;TransString=makestring(Val(mc.txtdesstation.Text),4)+TransString

#39;//设置标志码

〔略〕

SelectCaseTransCommand

Case0:transmittext

ReDimPreserveBinDataarr(6+Len(TransString))

TextTobin(TransString)

BinData=BinDataarr

frmTerminal.MSComm1.Output=BinData#39;发送

Case1:transmitbinarydata

ReDimPreserveBinDataArr(5+Len(TransString)+UserDataLenth)AsByte

TextTobin(TransString)

BinDataArr(5)=UserDataLenth+Len(TransString)

DimiAsInteger

Fori=1ToUserDataLenth

BinDataArr(5+Len(TransString)+i)=userDataarr(i-1)

Nexti

BinData=BinDataArr

MSComm1.Output=BinData

EndSelect

binDatalenth=0

EndSub

以上的两个子程序是在实现无线传输的根本程序,如果要实现无线设备两端的数据采集,需要在此根底上进行文件格式、控制命令、编码方式等的编程,这些编程均可通过VisualBasic5.0实现,由于篇幅所限,本文对这局部内容不作详细表达。

4结论和讨论

通过以上的实例编程可以得出,采用VisualBasic5.0对无线数据采集和传输进行编程,具有可视化、容易掌握、灵活性好,尤

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论