1、 第 1 页 共 35 页 1 绪论绪论 1.1 引言引言 随着互联网的不断发展,计算机间的相互通信已非常普遍,只要通过计算机的串行 口就可以实现。串行通讯技术具有简单且易实现的特性,许多设备和计算机都可以通过 串口对外设进行控制、检测。串口通讯日益成为计算机和外设进行通讯、获取由外设采 集到的监测数据的一个非常重要的手段 1。而对于串口通信的编程软件,微软公司的 Visual Basic 60(简称VB60)以其友好的开发界面、简单易用、实用性强等优点已 在国内外得到广泛应用。 利用Visual Basic 开发串口通信程序既可以使用 MSComm 控件又可以调用Windows API函数
2、2。 不过, 只要 MSComm 控件可以被选用, 它几乎总是推荐的选择, 因为 MSComm 控件的功能使用起来更加简单。 1.2 Visual Basic 串口通信技术的研究背景与前景串口通信技术的研究背景与前景 计算机一般提供了 2 个 25 针或者9 针的 RS-232 标准串行口,简称 COM1 和COM2。 我们还可以通过插通信卡来获得额外的 RS-232 标准串行口3。利用这些串口可以与其 他数字设备进行一般的数据通信,计算机串行接口主要应用于远程通信和低速输出设 备。由于串行数据通信传输线条数最少。而且有许多较便宜的专用芯片来实现它,发送 和接受器也简单。因而对数据传输速度不高
3、的计算机和数字设备间的进程通信,多采用 串行通信实现4。 在 MicrosoftWindows 下开发串行通信使用串口通信组件如 ActiveX 控件 MSComm. 该方法比较简单,对于 Visual Basic,这就是最常用的方法。我们以 MSComm 控件作为底 层接口,在此基础上建立一个简单的串行通信协议 SPCP,并由此实现了实时通信和文件 传输功能。 随着计算机的迅速普及和计算机控制技术的发展,计算机被广泛应用于自动化控制 领域之中。 完成一个控制过程一般都要利用集散式计算机控制系统。 在这种控制系统中, 下位机主要完成对现场数据采集和对设备一级的监控,上位机则要完成对整个系统的采
4、 集、分析、处理和控制以及数据、图形显示、打印、人机对话等工作5。上位机与下位 机大多是通过 PC 机的 RS-232 串行接口实现通信。随着 Windows 系统的普及,使得数 据采集及工业控制软件也上升到了 Windows 环境下。 这就给程序员提出了如何编写面向 第 2 页 共 35 页 Windows 的串行通信程序问题。Visual Basic 6.0(以下简称 VB)是一个 Windows 下简 单易学、高效的可视化软件开发平台,VB 不但提供了良好的界面设计能力,而且在串口 通信方面也有很强的功能。它提供的 Microsoft Communication control(简称 M
5、SComm) 通信控件, “隐藏”了大部分串口通信的低层运行过程和许多繁琐的过程,它使用户能 够方便地访问 Windows 下串口通信驱动程序的大多数特性。所以整个串行通信程序的开 发过程变得十分简单易行,程序员不需要处理繁琐的细节,利用该通信控件,只需编写 少量的代码就可实现主要应用功能和界面的设计,完成软件的开发过程 7。 通信就是两个设备之间的数据交换,是通过电信号来实现的。计算机工具箱和窗体 上的MSComm控件是Microsoft公司提供的主要用于串行通信编程的ActiveX控件。 VB6.0 中的 MSComm 控件实际上是这些 Windows API 函数的有机集成,它以属性和事
6、件的形式 提供了对 Windows 通信驱动程序的 API 接口,封装了 API 函数的低层操作,为应用程序 提供了通过串行接口收发数据的简便方法 8。因此,编程人员只需在程序中设置和监视 MSComm 控件的属性和事件即可完成对串口的编程。MSComm 控件不在最常用的控件工具 箱中出现, 故编程的第一步应添加到工具栏上以方便编程。 具体的做法如下: 单击 VB6.0 菜单栏中的“工程”菜单,并选择“部件”命令,则弹出对话框。在部件对话框中选择 Microsoft Comm Control 6.0, 在所需要控件前面的复选框上单击, 使复选框中出现 “” 符号,说明已经选中此控件。单击“确定” ,则响应控件就加载进内存,此时工具箱应 出现一个电话图表,这就是 MSComm 图标。MSComm 控件通过串行端口传输和接收数据, 为应用程序提供串行通信功能。 在计算机测控系统中,主控机一般采用 PC 或者 IPC,通过串口与测控模块相连,测 控模块在连接相应的传感器和执行器,如此形成一个简单的双层结构的计算机测控系 统。这种结构主要用于单独的中小型企业