摘 要:随着近年来计算机技术的快速发展,相关的计算机辅助技术被广泛的应用到各种领域中。伴随着计算机技术在工业控制领域的应用,计算机与外围设备之间的通信控制得到广泛的应用的同时,其作用显得越来越重要。本文成功的利用VB建立了基于MSComm控件的两PC机之间的串行通讯。
关键词:网络通信;串口通信;VB;MSComm控件
1、串行通讯的原理与设计
1.1串行通信概论
所谓串行通信,就是使用一根数据传输线,所要发送的数据的各位按照时间顺序依次传送,如8位数据分8次传送。
与之相对应的是并行通信。并行通信是在一些联络信号的控制下,一次将8位、16位甚至32位数据同时进行传送的通信方式。其传输线数量没有限制,但是除了数据线之外还应设置联络控制线。
1.2串行通讯协议
所谓通信协议就是指通信双方的一种约定。在约定中对数据格式、同步方式、传送速度、传送步骤、检错方式以及控制字符定义等做出统一规定,通信双方必须共同遵守。
1.3串行接口标准
在进行串行通信的线路连接时,通常要解决两个问题。一是计算机与外设之间要共同遵守的某种约定,这种约定称为物理接口标准,它包括了电缆的机械特性、电器特性、信号功能和传送过程的定义。目前主要有EIA RS-232、RS-422和RS-485。二是按接口标准设置计算机与外设之间进行串行通信的接口电路。
2、使用MSComm控件实现串口通讯
2.1MSComm控件的简述
MSComm控件提供了使RS-232进行数据通信的所有协议,他有两种处理通信的方式,即事件驱动和查询方式,本文利用了事件驱动方式。这种方式是处理串口通信的一种有效的方法,它利用MSComm控件提供的一个事件OnComm来截取串口的消息,进而转入事件处理程序。
MSComm控件的属性较多,但是常用的并且与本文设计有关的几个重要属性如表3.1所示。
表3.1 MSComm控件的几个重要的属性
利用MSComm控件进行串口通信的一般步骤为:
(1) 设置通信对象、通信端口以及其它属性;
(2) 设定通信协议;
(3) 打开通信端口,进行数据的传送;
(4) 关闭通信端口。
2.2利用VB实现基于MSComm控件的两PC机的网络串行通信程序
Visual Basic(以下简称VB)是一种窗口操作平台上的视觉开发工具,使得开发者更为简单和快捷的开发应用程序。
下面,本文将说明如何利用VB设计出基于MSComm控件的两PC机的网络串行通信程序:
a.新建工程
打开VB6.0,点击[文件]、[新建工程],在出现的窗口选择其中的[标准EXE]选项,新建工程。
b.添加标签.选择选项卡上的标签控件,并将其添加到工程中。在右下角属性卖面板中更改标签的属性为“发送数据”,同样的步骤添加“接收数据”标签。
c.添加输入文本框,并更改属性为空。
d.添加发送按钮。
e.添加MSComm控件。
f. 添加程序代码双击From1,
添加代码如下:
Private Sub Form_load()
MSComm1.Commport=1 ‘指定控件所使用的串口
MSComm2.Commport=2
MSComm1.Settings=”9600,n,8,1” ‘设置波特率
MSComm1.Settings=”9600,n,8,1”
MSComm1.PortOpen=True ‘打开串口
MSComm1.PortOpen=True
Text2.Enabled=False ‘输入框中的数据不允许更改
End Sub
相同的步骤添加“发送数据”“清空发送”“清空接收”按钮的代码如下:
“发送数据”代码:
Private Sub Command1_Click()
If (MSComm1.PortOpen=False) Then MSComm1.PortOpen=True ‘检查串口是否已经打开
MSComm1.Output=Text1.Text ‘将文本框TEXT1的数据发送到Com1口的输出寄存器中
End Sub
“清空发送”代码:
Private Sub Command2_Click()
Text1.Text=”” ‘清空发送文本框中数据
End Sub
“清空接收”代码:
Private Sub Command3_Click()
Text2.Text=”” ‘清空接收文本框中数据
End Sub
添加MSComm控件2触发事件。双击MSComm控件2按钮,添加代码:
Private Sub MSComm2_OnComm()
Text2.Text=MSComm2.Input ‘将Com2数据缓存器中的数据读入到接收显示窗口中
End Sub
g. PC2上的程序界面与PC1种完全相同,但是PC2是利用COM1作为接收串口,COM2作为发送串口,因此程序代码只是COM1功能与COM2功能互换即可。在此不再赘述。
3.4实验结果
通过上述章节的说明,做出两PC的硬件连接和软件设计。在实验中,本文所建立的程序具有数据传输、数据清零和数据输入功能。实验结果表明,本文设计的工业用网络通信程序完成了预定的目标。从而为相关程序开发人员和企业技术人员的生产自动化改进提供了一定的做到作用和借鉴意义。
参考文献:
[1]潘天堂 陈熔. 基于VB串口通信的空气分析分布式监控系统实现[J]. 工业控制计算机. 2006,19(12): 83-84
[2]焦义. 基于VB和串口通信的混凝土搅拌站自动化设计[J]. 隧道建设. 2007,27(5):92-94
[3]刘建军.利用VB实现串行通信[J.]. 福建电脑. 2004,7:84-86