试论用VB编程实现计算机通讯
摘要:系统(快速应用程序开发)以及GUI系统(即图形用户界面)等构成了VB(Visual Basic)软件系统。计算机通讯是利用数据传递方式,实现在终端设备与计算机之间或者两台及以上计算机之间的信息传导过程。本文结合VB编程的MScomm控件的两种通讯方法,通过分析以实现计算机通讯,主要包括实现计算机之间以及终端设备与计算机之间的通讯。
关键词:VB编程;计算机通讯;实现;系统
中图分类号:TP311.52
计算机通讯是指计算机与终端设备或者两台及两台以上计算机之间通过数据传导的方式进行信息交流的过程,计算机通讯在连接过程大多采用串口连接,有时也会采用无线传输设备进行连接。依据通讯种类的不同可以分为以下两类,一种是两台或者多台计算机之间的数据传输,如在多台计算机内构件数据传输通道;第二类是终端设备与计算机之间的数据传输,如计算机和一些PLC智能仪器之间的通讯传导。
1 VB编程语言介绍
VB编程语言是Visual Basic的缩写,它在众多的编程语言当中,是比较简单且容易掌握的一种编程语言。VB编程语言是由微软公司开发的众多用途的程序。VB编程语言无论是用作为开发一款性能可靠的商务软件,或者是处理问题的实用程序,都是很快速且很方便的。现在VB编程语言已经在编程各个领域得到了广泛应用。
2 VB编程完成的计算机通讯分析
采用VB程序完成的计算机通讯包括计算机之间的通讯,还包括计算机与终端设备的通讯,本文重点研究了基于MScomm控件的计算机间相互通讯,通过MScomm控件完成的计算机与终端设备之间的数据
传导与通讯。该控件隐藏了大部分串口通信的底层运行过程和许多烦琐的处理过程,将串口封装起来,容易操作与实现。
2.1 使用MScomm控件完成的计算机通讯
使用MScomm控件支持查询方法、事件驱动通讯的机制。本文介绍两种通讯方法的使用。(1)查询法。查询法是通过周期性地读取缓冲区的信号来发现是否有事件发生并进行处理的方法。它不使用端口的硬件中断,它要求在足够频繁地查询端口的情况下,保证不会遗失任何数据或者事件,查询的频率取决于缓存的大小、数据量和对快速响应的要求。并且查询法不具有自动判断通信的“智能”化,需要人为启动接收或发送数据。因此,在有通信发生前就要通过查询法来判断接收,难免会额外占用 CPU 的资源,在庞大的实时系统中会带来
诸多不便。因而,查询法实用于较小、简单的程序。一个简单的发送接受的程序,设置Rthreshold=0(不触发OnComm事件),MScomm1.Inputlen=0(一次从接收缓冲读取所有字节)发送接受程序示例如下:
MSComm1.Output=SendCommand sendcommand 代表发送命令帧,不同的通讯协议有不同的发送帧格式
Do 有的也用 SLEEP 函数来延时处理
DoEvents()
Loop Untill MSComm1.InbufferCount >= Receivelen 接收字符串长度
DoReceivedata= MSComm1.Input
Loop Untill.MSComm1.InbufferCount=0 读完应答帧
(2)事件驱动法。事件驱动法是利用MScomm控件的OnComm事件触发机制来完成的。每当有通信错误或通信数据发生时,就会产生此事件。这种方法能自动判断通信的发生并触发中断响应,而且只在有通信发生时才响应中断,因此当通信并未发生时不占用 CPU 资源,此时能够进行其他工作。事件的处理是通过判断CommEvent属性值获得事件类型,再根据事件类型进行相应数据处理。大部分通讯程序都利用该方法,但对于不同的通讯情况,该方法的使用也有所不同。
1)定长数据的处理。事件驱动法能够自动判断通信的发生并触发中断响应是通过设置MScomm控件的Rthreshold属性来实现的。当Rthreshold=n时,则接收缓冲区中收到n个字节的数据就触发OnComm事件。可见,对于仪表发送定长数据的处理很方便,设置Rthreshold为接受数据的固定长度,InputLen属性设置为0,在OnComm事件中编写处理过程。
2)不定长数据的处理。在某些串口通讯中,仪表发送的数据帧是不定长,在使用事件驱动法响应时,
为了实现实时监测功能,接收数据的读取要尽可能的快速,则在程序开始运行时设置MSComm1的属性Rthreshold1,接收缓冲区收到1字节产生OnComm事件,InputLen=1(每次读取一个字节)等到程序接收到一帧完整数据后,计算出当前帧数据长度,再将Rthreshold属性修改为帧长度,则接收缓冲区在收到一帧数据后,MSComm控件才会触发一个OnComm事件,这样就会有更多的时间进行数据的计算和处理。
(3)利用MScomm控件实现通讯。分析了以上两种两种通讯方法的使用后,接着我们分析MScomm控件完成的通讯。
采用MScomm控件完成的通讯,其重点包括MScomm控件概要、串口设置以及应用编写程序等。
MScomm控件要点:MScomm控件在整个VB编程中归属于通讯软件一类,其主要为两种通讯方式,一种为相对于事件本身的通讯方式,另一种是相对于查询有关的通讯方式。
串口设定:数据由中央处理器(CPU)发出,经过一定的转换改变为比特流(bitspersecond 其简称为bps)数据,然后通过串口装置将比特流数据与接受数据的计算机串口装置连接,再通过转换程序将比特流数据转换为字符数据。在这个过程MScomm控件可以通过一定的指令来完成串口的数据和传输工作。
界面设置:一般可将窗口设定为两个窗口和三个指令按钮结合的模式。一般来说三个按钮分别为传输数据按钮、删除数据按钮、接收数据按钮。
编写程序:在系统数据传输时经常使用得的指令为Output,其作为一种传输指令,可将数据传输到缓存区,然后实现计算机之间的串口互联,然后MScomm控件通过Settines指令、CommPort指令、InBufferSize指令、InportLen指令、PortOpen指令、以及OutBufferSize指令对系统端口及协议实现设置,最终实现多台计算机之间的串口互联。2.2 用MScomm控件实现终端设备与计算机之间的通讯
用MScomm控件实现终端设备与计算机之间的通讯主要包括:串口通讯、通讯协议以及编写程序等。
串口通讯:串口通讯的工作方式包括三种:单工方式、全双工方式以及半双工方式。单工方式传输数据的方向一般为单向的;全双工方式具有着两条不同的连接线路,一条是从计算机传输数据到终端设备,另外一条是从终端设备传输数据到计算机,这两条线路互相独立,但是两条线路可以实现同时传输数据;半双工方式是一条线路或两条线路组成,其线路即可传输数据又可接收数据,但是一般情况下,两端不能实现同时传输。总之,这三种不同的连接方式,实现了优劣互补,完善了串口通讯。
通讯协议:选择好串口通讯方式,然后发送命令,最终终端设备响应命令并做出反应。
编写程序:编写程序的思路是计算机的中央处理器通过串口向终端设备发送命令,最后终端设备接收命令后返回数据。
编写程序的步骤是:先讲行窗口初始化,获取采样值并存储,打开串口;然后开始采集;采集完成后停止采集;再向终端设备传输命令;终端设备接收命令之后返回数据。
3 结论
本文首先介绍了VB编程语言,VB编程语言是由微软公司研制开发,现今在各个领域均已得到了广泛应用,VB软件系统主要拥有RAD系统(快速应用程序开发)以及GUI系统(即图形用户界面)等;然后介绍了计算机通讯,计算机通讯就是通过数据传递的方式,在终端设备与计算机之间或者两台及以上计算机之间进行信息通讯的过程;最后重点介绍了用VB编程实现计算机通讯。
参考文献:
[1]冯新宇,王娟,王安华.基于VB的PC机与单片机串行通信关键技术实现[J].煤炭技术,2006,8.
[2]王圆妹,许劲,李涛.基于VB实现PC机与单片机的串行通信[J].中国科技信息,2006,22.编程语言vb是什么
作者简介:张雪明(1980.3-),女,广东梅州人,教师,讲师。
作者单位:广东省韶关市第二技师学院,广东韶关 512031
-全文完-

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。