基于VB 6.0的串口通讯程序设计
摘 要: 详细介绍了VB6.o中通讯控件MSComm的一些重要属性及在Windows环境下用通讯控件来实现串行通信的编程方法,并结合实例给出了一个基本的通讯程序。关键词:串行通信;通信控件;Visual Basic 6.0
1 引言 随着计算机的迅速普及和计算机控制技术的发展,计算机被广泛应用于自动化控制领域之中。而要完成一个控制过程一般都要利用集散式计算机控制系统。在这种控制系统中,下位机主要完成对现场数据采集和对设备一级的监控,上位机则要完成对整个系统的采集、分析、处理和控制以及数据、图形显示、打印、人机对话等工作。而上位机与下位机大多是通过PC机的RS-232串行接口实现通信。
随着Windows系统的普及,越来越多的用户由DOS系统转向了Windows系统,这使得数据采集及工业控制软件也上升到了Windows环境下。这就给程序员提出了如何编写面向Windows的串行通信程序问题。 虽然Windows提供了完备的开放式通用增强的W32API(应用程序接口)函数,它把对串口和其他通信设备的支持和基本输入驱动程序集于一体。但是,对于非专业软件设计人员来说,使用VC++,C等高级语言来完成这类程序的设计,其复杂性与专业化程度依然很高。 而Visual Basic 6.0(以下简称VB)是一个Windows下简单、易学、高效的可视化软件开发平台,它以所见即所得的可视化界面设计风格和32位面向对象程序设计的特点,已被广泛应用到各个领域,成为众多开发人员采用的工具。VB不但提供了良好的界面设计能力,而且在串口通信方面也有很强的功能。它提供的Microsoft Communication control(以下简称MSComm)这样一个通信控件,该控件“隐藏”了大部分串口通信的低层运行过程和许多繁琐的过程,它使用户能够方便地访问Windows下串口通信驱动程序的大多数特性。所以整个串行通信程序的开发过程变得十分简单易行,程序员不需要处理繁琐的细节,而通过利用通信控件,只需编写少量的代码来实现主要应用功能和界面的设计,就可以完成软件的开发过程。
2 VB 6.0串行通信控件的介绍
MSComm是Microsoft公司提供的主要用于串行通信编程的ActiveX控件。ActiveX控件包括一系列的属性、方法和事件,应用程序通过ActiveX控件提供的接口来访问控件的功能。我们知道通过C、VC++编写串口通信程序,是要使用API函数发送和接收数据。而MSComm控件实际上是这些Windows API函数的有机集成,它以属性和事件的形式提供了对Windows通信驱动程序的API接口,封装了API函数的低层操作,为应用程序提供了通过串行接口收发数据的简便方法。因此,编程人员只需在程序中设置和监视MSComm控件的属性和事件即可完成对串口的编程。 MSComm控件不在最常用的控件工具箱中出现,故编程的第一步应添加到工具栏上以方便编程。具体的做法如下:单击VB 6.0菜单栏中的“工程”菜单,并选择“部件”命令,在部件对话框种选择Microsoft Comm Control 6.0,此时工具箱应出现一个电话图表,这就是MSComm图标。
来源:现代电子技术