基于VB6.0的MSComm通信方法设计_第1页
基于VB6.0的MSComm通信方法设计_第2页
基于VB6.0的MSComm通信方法设计_第3页
基于VB6.0的MSComm通信方法设计_第4页
基于VB6.0的MSComm通信方法设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

基于VB6.0的MSComm通信方法设计

摘要:本文介绍了基于的MSComm串行通信设计方法,并给出了计算机与智能采集模块进行通信的程序设计的框架。

关键词:串行通信,,MSComm

1前言

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

2用visualbasic进行串行通信程序设计的方法

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

串行通信程序的执行过程

MSComm提供了两种处理通信问题的方法,一是事件驱动方法,一是查询法。

①事件驱动法

在使用事件驱动法设计程序时,每当有新字符到达或端口状态改变,或发生错

误时,MSComm控件将触发OnComm事件,而应用程序在捕获该事件后,通过检查MSComm控件的CommEvent属性可以获知所发生的事件或错误,从而采取相应的操作。这种方法的优点是程序响应及时,可靠性高。

②查询法

查询法适合于较小的应用程序,在这种情况下,每当应用程序执行完某一串行口操作后,将不断检查MSComm控件的CommEvent属性,以检查执行结果或检查某一事件是否发生。

串行通信的两种格式

进行串行通信时有两种传输方式:

①字符形式:通常以小于ASCII码128的字符码来传递,通常用于传送指令。

②二进制形式:将数据以二进制编码的方式传递,它可能含有ASCII码128以上的字符码,通常用来传送数据,以提高速度。

3.串行通信实例

下面给出在Win2000下利用的MSComm控件开发计算机与一智能采集模块进行串行通信的程序实现。在工控领域内,智能采集模块有着相当重要的地位,它可以通过串口通讯协议或其他通讯协议与PC机相连,并与外界现场信号直接相连或与由传感器转换过的外界信号相连,由PC机中的程序控制并实现采集现场的模拟信号,并处理采集到的现场信号并输出模拟控制信号、开关量输入输出等功能。因此,智能采集模块在工业控制领域内有着极其广泛的应用。本例子中的智能采集模块与计算机进行通信时,采用一位开始位、一位停止位、7位数据位、偶校验方式,波特率为9600bps.

在窗体中添加名为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‘打开通信口

‘其他属性设置省略

下面是响应Mycomm_OnComm事件的处理程序,对数据库采集的处理程序采用MSComm事件驱动方式。

PrivateSubMyComm_OnComm()

WithMyComm

Selectcase.CommEvent

Case.comEvReceive

‘接收数据

‘对数据进行处理

case.comEVSend

‘发送数据

case.comEventRxParity

‘对奇偶校验错误进行处理

endselectendwith

endsub

4.结束语

本文结合实例介绍了基于的MSComm串行通信设计方法。

参考书目:范逸之等.利用VisualBa

温馨提示

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

评论

0/150

提交评论