试论用vb编程实现计算机通讯

试论用VB编程实现计算机通讯摘要:系统(快速应用程序开发)以及GUI系统(即图形用户界面)等构成了VB(VisualBasic)软件系统。计算机通讯是利用数据传递方式,实现在终端设备与计算机之间或者两台及以上计算机Z间的信息传导过程。本文结合VB编程的MScomm控件的两种通讯方法,通过分析以实现计算机通讯,主要包括实现计算机之间以及终端设备与计算机之间的通讯。关键词:VB编程;计算机通讯;实现;系统中图分类号:TP311.52计算机通讯是指计算机与终端设备或者两台及两台以上计算机之间通过数据传导的方式进行信息交流的过程,计算机通讯在连接过程大多采用串口连接,有时也会采用无线传输设备进行连接。依据通讯种类的不同可以分为以下两类,一种是两台或者多台计算机之间的数据传输,如在多台计算机内构件数据传输通道;第二类是终端设备与计算机Z间的数据传输,如计算机和一些PLC智能仪器之间的通讯传导。1VB编程语言介绍VB编程语言是VisualBasic的缩写,它在众多的编程语言当中,是比较简单且容易掌握的一种编程语言。VB编程语言是由微软公司开发的众多用途的程序。VB编程语言无论是用作为开发一款性能可靠的商务软件,或者是处理问题的实用程序,都是很快速口-很方便的。现在VB编程语言已经在编程各个领域得到了广泛应用。2VB编程完成的计算机通讯分析采用VB程序完成的计算机通讯包括计算机之间的通讯,还包括计算机与终端设备的通讯,本文重点研究了基于MScomin控件的计算机间相互通讯,通过MScomm控件完成的计算机与终端设备之间的数据传导与通讯。该控件隐藏了大部分串口通信的底层运行过程和许多烦琐的处理过程,将串口封装起來,容易操作与实现。2.1使用MScomm控件完成的计算机通讯使用MScomm控件支持查询方法、事件駆动通讯的机制。本文介绍两种通讯方法的使用。(1)查询法。查询法是通过周期性地读取缓冲区的信号来发现是否有事件发生并进行处理的方法。它不使用端口的硬件中断,它要求在足够频繁地查询端口的情况下,保证不会遗失任何数据或者事件,杳询的频率取决于缓存的大小、数据量和对快速响应的要求。并且查询法不具有自动判断通信的“智能”化,需耍人为启动接收或发送数据。因此,在有通信发生前就要通过查询法来判断接收,难免会额外占用CPU的资源,在庞大的实时系统中会带來诸多不便。因而,查询法实用于较小、简单的程序。一个简单的发送接受的程序,设置Rthreshold=0(不触发OnComm事件),MScomm1.Inputlen=0(一次从接收缓冲读取所有字节)发送接受程序示例如下:MSComm1.Output=SendCommand'sendcominand代表发送命令帧,不同的通讯协议有不同的发送帧格式Do'有的也用SLEEP函数来延时处理DoEvenls()LoopUnt订1MSCominl.InbufferCount>=Receivelen'接收字符串长度DoReceivedata■二MSComm1・InputLoopUntil1.MSComml.InbufferCount=0'读完应答帧(2)事件驱动法。事件驱动法是利用MScomm控件的OnComm事件触发机制来完成的。每当有通信错误或通信数据发生时,就会产生此事件。这种方法能自动判断通信的发生并触发中断响应,而且只在有通信发生时才响应中断,因此当通信并未发生时不占用CPU资源,此时能够进行其他工作。事件的处理是通过判断CommEvent属性值获得事件类型,再根据事件类型进行相应数据处理。大部分通讯程序都利用该方法,但对于不同的通讯情况,该方法的使用也有所不同。1)定长数据的处理。事件驱动法能够自动判断通信的发牛并触发中断响应是通过设置MScomm控件的Rthreshold属性来实现的。当Rthreshold=n时,则接收缓冲区中收到n个字节的数据就触发OnComm事件。可见,对于仪表发送定长数据的处理很方便,设置Rthreshold为接受数据的固定长度,InputLen属性设置为0,在OnComm事件中编写处理过程。2)不定长数据的处理。在某些串口通讯中,仪表发送的数据帧是不定长,在使用事件驱动法响应时,为了实现实时监测功能,接收数据的读取要尽可能的快速,则在程序开始运行时设置MSComml的属性Rthresholdl,接收缓冲区收到1字节产生OnComm事件,InputLen二1(每次读取一个字节)等到程序接收到一帧完整数据后,计算出当前帧数据长度,再将Rthreshol...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?