用VisualBasic5.0开发无线通讯数据采集应用程序
采集员年终
推荐度
数据管理制度
推荐度
数据安全管理制度
推荐度
委托开发合同
推荐度
数据库课程设计报告
推荐度
相关推荐
用Visual Basic 5.0开发无线通讯数据采集应用程序
摘要本文通过对无线通讯系统基本工作原理的分析,阐明了采用Visual Basic 5.0中的控件MSCOMM.VBX进行无线数据采集程序开发的基本方法。并结合900M频率无线通讯电台的特点,给出了基本通讯接口源程序代码。
关键词 VB5 无线通讯 控件
1 引言
目前对于用于数据采集和传输的无线设备之间的通讯编程,一般仍采用C语言和汇编语言较多,这主要是由于在编程时,要涉及到对无线通讯设备硬件的控制,,选择C语言和汇编语言的较多。采用以上两种语言进行编程,对于一般的编程人员来讲,很难较快的掌握。本文采用可视化的编程环境从根本上解决了以上问题,只要有一定编程基础的技术人员,均可实现自己编程。
2 无线通讯设备的基本工作原理
在无线的通讯方式中,数据传输的基本原理可以认为是通过调制解调器进行工作的,而这种调制解调器是无线方式工作的,它不含有拨号功能,而且和它直接连接的是无线电台。无线电台的作用就相当于有线传输中的电话线,它是通过无线电波进行发送和接受信号的。而无线调制解调器的作用是将二进制的信号调制成可以在无线电台之间传输的无线电波。
信号转换过程的'属性取决于调制解调器所接收到的源信号和目的信号。,调制解调器从终端或计算机接以串行方式收到二进制信号后,将它们转换成了音频信号。然后调制解调器将这些声音通过无线电台传输出去。在接受端,另一个兼容的调制解调器将这些声音信号转换成了二进制信号,并把这些二进制信号发送给终端或计算机。
由于在无线电台之间有过滤和放大作用,,无线电波的传输受很多因素影响,传送的速度受到限制。下面给出了一种900M电台的技术特性见表 1。本程序就是使用的这种电台,对于其它参数的电台,其基本原理也是一样的。
表 1 900M无线电台的技术指标
项目
指标
含义
传输速率
1.2Kbps或2.4Kbps
每秒的字节数
数据的控制
透明传输
发射功率
3W
接受灵敏度
-105dBm
工作频率
915—917MHZ
信道
158个
3 无线数据采集的编程
由无线通讯的基本原理可以看出,无线的数据采集和传输主要包括以下几个过程,从带处理器的传感器或计算机终端发送二进制信号到无线调制解调器;无线电台之间建立连接并传输数据;从一端的电台接受二进制数据;将数据传输到计算机。,要建立无线设备之间的通讯必须在两端进行编程。
从计算机终端到无线电台的数据传输是通过计算机的串行口进行的,通过对串行口进行编程就可以实现向电台发送数据。在Visual Basic5.0中的控件MSCOMM是进行串口通讯的。通过设定控件MSCOMM的属性,可以用VB5.0对其进行灵活的编程,控件MSCOMM支持事件驱动及轮询方法。控件MSCOMM能生成一个名为OnComm的事件,它能能捕获的事件范围包括通过串口接受数据以及遇到任何错误等等。事件或错误的值以整数的形式保存在CommEvent属性里。可根据CommEvent属性判断最近一次事件或错误。也可以在程序中设置一个循环,每次循环都直接检查CommEvent属性的值,从而对事件及错误进行“轮询”。如果应用程序规模小,这种方法相当完美。
下面的部分程序代码是计算机和900M无线电台之间的传输程序,本程序已经在486计算机和PII586上调试通过。
1 从串口读入电台数据程序GetStringFromComm()
功能:(1) 主要完成从端口获得数据,将二进制的数据转换为ASCII码数据
Public Function GetStringFromComm() As String
定义变量(略)
If frmTerminal.MSComm1.InBufferCount < 7 Then
GetStringFromComm=""
Exit Function
End If
'//读入标志码
frmTerminal.MSComm1.InputLen=6
ReDim Preserve BinDataarr(6) As Byte
BinData=frmTerminal.MSComm1.Input
BinDataarr=BinData
UserDataLenth=BinDataarr(5) '用户数据的长度
Wait1:
If BinDataarr(5) > frmTerminal.MSComm1.InBufferCount Then '未接受完数据
delay 6 '延时6s
GoTo Wait1
End If
frmTerminal.MSComm1.InputLen=UserDataLenth
BinData=frmTerminal.MSComm1.Input
ReDim Preserve BinDataarr(UserDataLenth)
&nbs
p;BinDataarr=BinData
GetStringFromComm=BinTotext(UserDataLenth, 0)
frmTerminal.MSComm1.InBufferCount=0 '清空接受缓冲区
End Function
2 从串口向电台发送数据程序SendStringToComm()
Public Sub SendStringToComm(ByVal TransCommand As Integer, ByVal TransString As String)
ReDim BinDataarr(5)
frmTerminal.MSComm1.OutBufferCount=0 '//清空发送缓冲区
'TransString=makestring(Val(mc.txtdesstation.Text), 4) + TransString
'//设置标志码
(略)
Select Case TransCommand
Case 0:transmit text
ReDim Preserve BinDataarr(6 + Len(TransString))
TextTobin (TransString)
BinData=BinDataarr
frmTerminal.MSComm1.Output=BinData '发送
Case 1:transmit binary data
ReDim Preserve BinDataArr(5 + Len(TransString) + UserDataLenth) As Byte
TextTobin (TransString)
BinDataArr(5)=UserDataLenth + Len(TransString)
Dim i As Integer
For i=1 To UserDataLenth
BinDataArr(5 + Len(TransString) + i)=userDataarr(i - 1)
Next i
BinData=BinDataArr
MSComm1.Output=BinData
End Select
binDatalenth=0
End Sub
以上的两个子程序是在实现无线传输的基本程序,如果要实现无线设备两端的数据采集,需要在此基础上进行文件格式、控制命令、编码方式等的编程,这些编程均可通过Visual Basic5.0实现,由于篇幅所限,本文对这部分内容不作详细叙述。
4结论和讨论
通过以上的实例编程可以得出,采用Visual Basic5.0对无线数据采集和传输进行编程,具有可视化、容易掌握、灵活性好,尤其串口控件MSCOMM的属性功能齐全,完全可以控制串行口实现各种功能。通过Visual Basic5.0编写的程序具有界面友好,操作方便,且编程过程简单。本文仅在数据采集方面应用了Visual Basic5.0,在其他的通讯方面,它还有更大的应用。例如在终端防真程序,在电子邮件和互连网等方面也有较大的应用。
参考文献
1、微软公司《Visual basic5.0 联机手册》
2、南开大学出版社《微型计算机接口技术》
3、人民邮电出版社《无线通讯信息手册》
4、中国科学院怪异网希望电脑技术公司《计算机通讯与联网技术》
【用Visual Basic 5.0开发无线通讯数据采集应用程序】相关文章
用Visual Basic 5.0开发无线通讯数据采集应用程序01-30
基于Visual Basic快速开发现场电视监控系统01-30
Visual Basic6.0下数据库报表制作技巧12-19
如何利用Visual Basic开发身份证号码批量验证工具软件01-20
数据开发年终12-19
低轼耗数据采集系统的USB接口设计01-20
基于USB和多线程的实时数据采集系统12-19
准周期信号基2同步数据采集系统的设计01-20
基于Verilog HDL设计的自动数据采集系统01-20
奇闻怪事
- 黎姿老公马廷强前妻 黎姿老公马廷强前妻是谁
- 紫禁城闹鬼是真的吗 紫禁城闹鬼是怎么回事
- 80年黄河透明棺材事件 80年代黄河透明棺材始末
- 51区外星人录像是真的吗 51区外星人真的存在吗
- 姜潮麦迪娜恋爱过程 姜潮麦迪娜怎么认识的
- 根达亚文明大概离现在多久 根达亚文明距今多少
- 赤塔事件真的还是假的 赤塔事件到底怎么回事
- 百慕大三角在哪个国家 百慕大三角在哪个国家的
- 邓超出轨安以轩:邓超出轨安以轩是不是真的
- 中国十大闹鬼最凶的地方 中国十大闹鬼最凶的地
- 湘西鬼结婚事件:湘西鬼结婚事件真假
- 中国昆仑山10大灵异绝密档案 中国昆仑山10大灵异
- 李维嘉的父亲是谁 李维嘉父母是哪里人
- 朱秀华事件是不是真的 朱秀华事件的真相是什么
- 太湖冤魂:太湖冤魂事件真假
- 爪哇虎和东北虎谁厉害 爪哇虎和东北虎谁厉害一