基于VB的远程通讯程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VB的远程通讯程序  [ 2005-9-28 11:33:29 | By: ] 1 引言   计算机与通信的紧密结合极大地推动了工业自动化的进程。人们坐在计算机前就可以实现对远端设备的集中监控,从而提高了整个系统的稳定性和可靠性。本文作者曾经参与了电源远程监控系统软件的开发工作。在运用VB开发监控软件的过程中,为实现远程通讯功能,我们利用了VB提供的通讯控件MSComm。该控件屏蔽了通信过程中的底层操作,程序员只需设置和监视MSComm控件的属性和事件,就可以轻而易举地实现串行异步通讯。   远程监控中心可以对分布的各个独立的电源系统进行遥测、遥控。电源控制器可以现场监测和控制电源系统的各项工作参数;可以接受远端监控中心的查询、控制;并可以向中心上报工作状态。为实现上述功能 ,首要任务是建立两者之间的通讯。因此可分别将监控中心计算机和电源控制器通过RS-232C接口与Modem相连,再通过Modem接入公用电话网(PSTN),由PSTN实现本地Modem与电源端Modem的联接,就可以实现监控中心计算机与电源控制器间的通讯。如图1所示。 图1 2 通讯控件简介   MSComm 控件提供了一系列标准通讯属性和方法。使用它可以建立起应用程序与串行端口的联接。为实现远程通讯,还需要把调制解调器与串行端口通过RS-232C接口连接,这样,在应用程序中发出AT命令,就可以达到控制调制解调器的目的,进行远程通讯。有关调制解调器的AT命令,本文不做讨论,读者可以参考相关的调制解调器手册。 2.1 在项目中加入MSComm控件   启动Visual Basic,建立一个新项目。   选Project菜单,从中选择Components子菜单。   在弹出的Components对话框里的Controls标签下选择Microsoft Comm Control 5.0项。 2.2 与程序设计有关的 MSComm控件属性   CommPort 设置或返回通讯端口号。格式为:MSComm.CommPort[ = PortNumber ]。 在设计时,PortNumber 可以设置成从 1 到 16 的任何数(缺省值为 1)。但是如果用 PortOpen 属性打开一个并不存在的端口时,就会产生错误 。还需注意的是必须在打开端口之前设置 CommPort 属性。例如:MSComm.CommPort=2,即设置当前通信串口为COM2口。   Settings 以字符串形式设置或返回波特率、奇偶校验、数据位和停止位。格式为:   MSComm.Settings[=ParaString]。ParaString是一个包含四部分的字符串。第一部分为波特率,其可选值为110,300,600,1200,2400,4800,9600,14400,19200,28800。第二部分为奇偶校验,N 表示不校验,E 表示偶校验,O表示奇校验,S表示空格检验,M表示符号校验。第三部分为数据位位数,其可选值为4,5,6,7,8。第四部分为停止位位数,其可选值为1,1.5,2 。Settings属性的缺省值为“9600,N,8,1” 。   PortOpen 设置并返回通讯端口的状态(打开或关闭)。在设计时无效。格式为:   MSComm.PortOpen[=TRUE/FALSE] 。   Input 返回并删除接收缓冲区中的数据流。该属性在设计时无效,在运行时为只读。   格式为:MSComm.Input。   InputLen 设置并返回 Input 属性从接收缓冲区中每次读取的字符数。格式为:MSComm.InputLen[=CharNumber]。InputLen 属性的缺省值是 0。设置 InputLen 为 0 时,使用 Input 将使 MSComm 控件读取接收缓冲区中全部的内容。若接收缓冲区中的字符数小于InputLen 属性设置的字符数,Input 属性返回一个零长度字符串 ()。所以在使用Input 前,用户可以通过检查 InBufferCount 属性来确定缓冲区中是否已有需要数目的字符。   InBufferCount 返回接收缓冲区中已接收的字符数。格式为: MSComm.InBufferCount[=0]。该属性在设计时无效,但设置InBufferCount 属性为0 可以清除接收缓冲区。   InputMode 设置或返回 Input 属性取回的数据的类型。格式为MSComm.InputMode[=ModeValue]。若数据只用 ANSI 字符集,设置InputMode属性值为0(缺省),数据通过 Input 属性以文本形式取回。如数据中有嵌入控制字符、Nulls 等等,可设置InputMode属性值为1,数据通过 Inpu

文档评论(0)

docindoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档