您现在的位置: 无忧电子商务网 >> 信息学院 >> 论文中心 >> 理工论文 >> 计算机与信息技术论文 >> 正文

用Visual Basic 5.0开发无线通讯数据采集应用程序

作者:佚名    信息学院来源:网络整理    点击数:    更新时间:2006-4-2 我要参与讨论

      用VisualBasic5.0开发无线通讯数据采集应用程序sO100
    杜怀勤(山东胜利油田技术检测中心257000)
    dhqjczx@mail.slof.com
    摘要:本文通过对无线通讯系统基本工作原理的分析,阐明了采用VisualBasic5.0中的控件MSCOMM.VBX进行无线数据采集程序开发的基本方法。并结合900M频率无线通讯电台的特点,给出了基本通讯接口源程序代码。
    关键词:VB5无线通讯控件1引言
    目前对于用于数据采集和传输的无线设备之间的通讯编程,一般仍采用C语言和汇编语言较多,这主要是由于在编程时,要涉及到对无线通讯设备硬件的控制,因此,选择C语言和汇编语言的较多。采用以上两种语言进行编程,对于一般的编程人员来讲,很难较快的掌握。本文采用可视化的编程环境从根本上解决了以上问题,只要有一定编程基础的技术人员,均可实现自己编程。2无线通讯设备的基本工作原理
    在无线的通讯方式中,数据传输的基本原理可以认为是通过调制解调器进行工作的,而这种调制解调器是无线方式工作的,它不含有拨号功能,而且和它直接连接的是无线电台。无线电台的作用就相当于有线传输中的电话线,它是通过无线电波进行发送和接受信号的。而无线调制解调器的作用是将二进制的信号调制成可以在无线电台之间传输的无线电波。
    信号转换过程的属性取决于调制解调器所接收到的源信号和目的信号。一般来说,调制解调器从终端或计算机接以串行方式收到二进制信号后,将它们转换成了音频信号。然后调制解调器将这些声音通过无线电台传输出去。在接受端,另一个兼容的调制解调器将这些声音信号转换成了二进制信号,并把这些二进制信号发送给终端或计算机。
    由于在无线电台之间有过滤和放大作用,同时,无线电波的传输受很多因素影响,因此传送的速度受到限制。下面给出了一种900M电台的技术特性见表1。本程序就是使用的这种电台,对于其它参数的电台,其基本原理也是一样的。
    表1900M无线电台的技术指标
    项目
    指标
    含义
    传输速率
    1.2Kbps或2.4Kbps
    每秒的字节数
    数据的控制
    透明传输
    发射功率
    3W
    接受灵敏度
    -105dBm
    工作频率
    915—917MHZ
    信道
    158个
    3无线数据采集的编程
    由无线通讯的基本原理可以看出,无线的数据采集和传输主要包括以下几个过程,从带处理器的传感器或计算机终端发送二进制信号到无线调制解调器;无线电台之间建立连接并传输数据;从另外一端的电台接受二进制数据;将数据传输到计算机。因此,要建立无线设备之间的通讯必须在两端进行编程。
    从计算机终端到无线电台的数据传输是通过计算机的串行口进行的,通过对串行口进行编程就可以实现向电台发送数据。在VisualBasic5.0中的控件MSCOMM是进行串口通讯的。通过设定控件MSCOMM的属性,可以用VB5.0对其进行灵活的编程,控件MSCOMM同时支持事件驱动及轮询方法。控件MSCOMM能生成一个名为OnComm的事件,它能能捕获的事件范围包括通过串口接受数据以及遇到任何错误等等。事件或错误的值以整数的形式保存在CommEvent属性里。可根据CommEvent属性判断最近一次事件或错误。也可以在程序中设置一个循环,每次循环都直接检查CommEvent属性的值,从而对事件及错误进行“轮询”。如果应用程序规模小,这种方法相当完美。
    下面的部分程序代码是计算机和900M无线电台之间的传输程序,本程序已经在486计算机和PII586上调试通过。
    1从串口读入电台数据程序GetStringFromComm()
    功能:(1)主要完成从端口获得数据,将二进制的数据转换为ASCII码数据
    PublicFunctionGetStringFromComm()AsString
    定义变量(略)
    IffrmTerminal.MSComm1.InBufferCount<7Then
    GetStringFromComm=""
    ExitFunction
    EndIf
    '//读入标志码
    frmTerminal.MSComm1.InputLen=6
    ReDimPreserveBinDataarr(6)AsByte
    BinData=frmTerminal.MSComm1.Input
    BinDataarr=BinData
    UserDataLenth=BinDataarr(5)'用户数据的长度
    Wait1:
    IfBinDataarr(5)>frmTerminal.MSComm1.InBufferCountThen'未接受完数据
    delay6'延时6s
    GoToWait1
    EndIf
    frmTerminal.MSComm1.InputLen=UserDataLenth
    BinData=frmTerminal.MSComm1.Input
    ReDimPreserveBinDataarr(UserDataLenth)
    BinDataarr=BinData
    GetStringFromComm=BinTotext(UserDataLenth,0)
    frmTerminal.MSComm1.InBufferCount=0'清空接受缓冲区
    EndFunction
    2从串口向电台发送数据程序SendStringToComm()
    PublicSubSendStringToComm(ByValTransCommandAsInteger,ByValTransStringAsString)
    ReDimBinDataarr(5)
    frmTerminal.MSComm1.OutBufferCount=0'//清空发送缓冲区
    'TransString=makestring(Val(mc.txtdesstation.Text),4)+TransString
    '//设置标志码
    (略)
    SelectCaseTransCommand
    Case0:transmittext
    ReDimPreserveBinDataarr(6+Len(TransString))
    TextTobin(TransString)
    BinData=BinDataarr
    frmTerminal.MSComm1.Output=BinData'发送
    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对无线数据采集和传输进行编程,具有可视化、容易掌握、灵活性好,尤其串口控件MSCOMM的属性功能齐全,完全可以控制串行口实现各种功能。通过VisualBasic5.0编写的程序具有界面友好,操作方便,且编程过程简单。本文仅在数据采集方面应用了VisualBasic5.0,在其他的通讯方面,它还有更大的应用。例如在终端防真程序,在电子邮件和互连网等方面也有较大的应用。
    参考文献:
    1、微软公司《Visualbasic5.0联机手册》

在google里搜索更多用Visual Basic 5.0开发无线通讯数据采集应用程序

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

推荐文章
  • 此栏目下没有推荐信息学院
  • 热门文章
  • 此栏目下没有热点信息学院
  • 供求信息




    | 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明