论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 工科论文 >> 通信学论文 >> 正文 会员中心
 通信学论文   交通运输论文   工业设计论文   环境工程论文   电力电气论文   水利工程论文   材料工程论文   建筑工程论文   化学工程论文
 机械工程论文   电子信息工程论文   建筑期刊   工科综合论文   汽车制造
基于VB6.0的MSComm通信方法设计
摘要:本文介绍了基于vb6.0的mscomm串行通信设计方法,并给出了计算机与智能采集模块进行通信的程序设计的框架。
关键词:串行通信,vb6.0,mscomm

1 前言
在工业控制领域,我们经常需要进行计算机与其他设备之间的通信,而串行通信作为一种灵活、方便、可靠的通信方式被广泛采用。在开发串行通信程序的过程中,利用微软的mscomm通信控件则相对较简单,该控件具有丰富的与串行通信密切相关的属性及事件,提供了对串口的各种操作。mscomm控件在串口编程时非常方便,程序员不必花时间去了解较为复杂的api函数,而且在vb中容易使用。

2 用visual basic 6.0进行串行通信程序设计的方法
(1) 用visual basic 6.0进行串行通信程序的设计有两种方式,一是直接调用windows api,另一种方式是使用通信组件,但后一种方式实际上是通过通信组件间接的调用了windows api函数,其过程要比直接调用api要复杂,但是在程序的实现上要比前一种方式简单的多。在操作系统方面,windows使用通信驱动程序comm.drv,以便于应用程序能够使用标准的windows api函数来传递和接收数据。串行外围设备的制造商则提供硬件驱动程序,以便让其硬件能与windows连接。使用mscomm控件时,实际上就是使用了api函数,api函数将被comm.drv解释并传送给外围设备驱动程序,使用mscomm的用户只需要关心如何使用mscomm所提供的属性或事件,以驱动api函数的接口完成工作。wWW.11665.cOM


串行通信程序的执行过程

(2) mscomm提供了两种处理通信问题的方法,一是事件驱动方法,一是查询法。
①事件驱动法
在使用事件驱动法设计程序时,每当有新字符到达或端口状态改变,或发生错
误时,mscomm控件将触发oncomm事件,而应用程序在捕获该事件后,通过检查mscomm控件的commevent属性可以获知所发生的事件或错误,从而采取相应的操作。这种方法的优点是程序响应及时,可靠性高。
②查询法
查询法适合于较小的应用程序,在这种情况下,每当应用程序执行完某一串行口操作后,将不断检查mscomm控件的commevent属性,以检查执行结果或检查某一事件是否发生。
(3) 串行通信的两种格式
进行串行通信时有两种传输方式:
①字符形式:通常以小于ascii码128的字符码来传递,通常用于传送指令。
②二进制形式:将数据以二进制编码的方式传递,它可能含有ascii码128以上的字符码,通常用来传送数据,以提高速度。

3.串行通信实例

下面给出在win2000下利用vb6.0的mscomm控件开发计算机与一智能采集模块进行串行通信的程序实现。在工控领域内,智能采集模块有着相当重要的地位,它可以通过串口通讯协议(rs232、rs485等)或其他通讯协议与pc机相连,并与外界现场信号直接相连或与由传感器转换过的外界信号相连,由pc机中的程序控制并实现采集现场的模拟信号,并处理采集到的现场信号并输出模拟控制信号、开关量输入输出等功能。因此,智能采集模块在工业控制领域内有着极其广泛的应用。本例子中的智能采集模块与计算机进行通信时,采用一位开始位、一位停止位、7位数据位、偶校验方式,波特率为9600bps.
(1)在窗体中添加名为mycomm的mscomm控件,并设置空间的属性,如下:
.commport=2 ‘使用com2
.setting=”9600,e,7,1” ‘波特率9600,偶校验,7个数据位,1个停止位
.inbuffersize=40 ‘设置mycomm接收缓冲区为40个字节
.outbuffersize=2 ‘设置mycomm发送缓冲区为2个字节
.inputmode=cominputmodebinary
‘设置接收数据模式为二进制模式
.inputlen=1 ‘设置一次从接收缓冲区读取字节数为1
.sthreshold=1 ‘设置一次从发送缓冲区读取字节数为1
.portopen=true ‘打开通信口

‘其他属性设置省略

(2)下面是响应mycomm_oncomm事件的处理程序,对数据库采集的处理程序采用mscomm事件驱动方式。
private sub mycomm_oncomm()
with mycomm
select case .commevent
case .comevreceive
‘ 接收数据
‘ 对数据进行处理
case .comevsend
‘发送数据
case .comeventrxparity
‘对奇偶校验错误进行处理
end select

end with
end sub

4.结束语
本文结合实例介绍了基于vb6.0的mscomm串行通信设计方法。


参考书目:
1、 范逸之等.利用visual basic 实现串并行通信技术
清华大学出版社 2001.3
2、 黄淼云等.visual basic控件高手
北京希望电子出版社 2001.1
3、 范逸之等.visual basic与rs-232串行通信控制最新版
中国青年出版社 2002.1

  • 上一篇工学论文:
  • 下一篇工学论文:
  •  作者:未知 [标签: 通信 方法 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    基于智能家居的6410网关网络文件挂载
    基于民用建筑雨季施工防护工作分析与研究
    基于ubuntu的分布式计算平台实现
    基于社会转型和电子商务背景下网络消费的调…
    基于Sap2000的井字梁设计
    基于跳跃扩散过程的保险资金最优投资模型研…
    基于陶行知理念下的体育课堂分组教学研究
    基于重庆农业补贴政策下农业经济增长因素分…
    基于网络层次分析法的科研人员绩效评价
    基于可持续发展的财务评价指标的构建
    基于因子分析的农业上市公司经营绩效实证分…
    基于CLIL理念的高校公共外语教师职业发展研…
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有