- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
试论用VB编程实现计算机通讯.doc
试论用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属性修改为帧长度,则接收缓冲区
您可能关注的文档
最近下载
- 2022中国能建校园招聘试题及答案解析.docx VIP
- 2025中国能建电规总院招聘(北京)笔试备考题库及答案解析.docx VIP
- 年产200吨聚烯烃催化剂技改项目环评报告书.pdf
- 上海浦东新区中小学教师考试题目汇总2024.docx VIP
- 血细胞形态识别培训课件终版.ppt VIP
- (一模)吉林市2025-2026学年度高三第一次调研测试 英语试卷(含答案解析).docx
- 《汽车维修质量检验》电子教案.pdf
- 工程勘测设计行业质量管理体系专业审核作业指导书.PDF VIP
- 2.2开通抖音直播《直播营销》教学课件.pptx VIP
- 综合实践进位制的认识与探究课件人教版七年级数学上册(1).pptx
原创力文档


文档评论(0)