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文档。上传文档
查看更多
摘要:本文重点讨论MODBUS ASCII通信协议及通过VB如何实现与台达触摸屏的通信。对于Visual Basic6编程语言亦有简要的介绍。 关键词:Visual Basic MODBUS ASCII HMI 1 引言 在自动化工程集成中经常遇到VB与触摸屏通信问题。对于不同的MODBUS通信协议触摸屏产品,无论是通信协议和VB中的编程原理都是一样的,所不同的仅是MODBUS在PLC和HMI中的地址映射不一样。为了集中解决这个问题,本文以台达触摸屏通讯案例为背景,采用了一个比较简单的实例描述如何建立双方的通信,不涉及到更为复杂的VB与HMI的操作和编程技巧。 2 串行通信基本概念 2.1 通信的种类 通常通信的形式可以分为两种,并行通信(Parallel Communication)和串行通信(Serial Communication)。所谓并行,既是一次传输量为8位;而串行一次只传1位。这两种不同的通信模式如图1所示。 图1 两种不同的通信模式 2.2 串行通信 常用的串行通信也有两种,分别位RS-232和RS-485。 (1)RS-232通讯。RS-232的信号准位乃是参考地线而来的,如图2所示,传输端参考接地端1来传送数据;接收端则参考接地端2还原出传送端的信号准备。 图2 RS-232通讯 由图2可知,由于两个接地端准位不一定一样,而且很容易受到干扰,所以信号在RS-232线路传输时,很容易产生错误。 (2)RS-485通讯。RS-485的信号传输方式如图3所示。 图3 RS-485通讯 RS-485的信号将被传送出去时会分成正负两条线路,当到达接收端后,在将信号相减还原成原来的信号;如果将原始的信号表示成(DT),而被分成的信号分别标示成(D+)及(D-),则DT= (D+)-(D-) 同样地,接收端在接收到信号后,也依据上式还原成原来的样子。如果线路受到干扰,两条线路的信号分别为(D+)+Noise (D-)+Noise。接收端还原信号为 (DT)= [(D+)+Noise]-[ (D-)+Noise] 与先前结果一样,所以RS-485可以有效的防止噪声的干扰。 3 Visual Basic控件 VB是微软的窗口软件,提供了很多接口成员。对象、属性、事件、方法就是四个重要的接口。 3.1 卷标控件 此控件专用于显示文字,数字用,显示如图4所示。 图4 卷标控件 3.2 按钮控件 此控件使用率很高,提供一个供系统用户操作用的按钮,如图5所示。 图5 按钮控件 3.3 定时器控件 此控件的最大作用在于固定的时间内会执行所设置的程序代码一次,如图6所示。VB还提供了大量的控件,在此不一一叙述。 图6 定时器控件 3.4 MScomm控件 要完成VB与PLC等串行设备的通信,MScomm控件是一个很好用的控件。所以在此有必要对MScomm控件做一个较为详细的说明。MScomm非标准控件,要手动添加,步骤如下:选择菜单的【工程】;选择【部件】;在弹出的对话框中做如图选择,在部件选项卡就会出现MScomm控件,如图7所示。MScomm控件基本属性如图8所示。 图7 MScomm控件 MScomm控件基本属性: PortOpen :通信口是否打开 Input:收到的字符 Output:发送的字符 图8 MScomm控件基本属性 4 MODBUS ASCII通讯协议(案例) Modbus总线通讯协议 分为ASCII和RTU两种。ASCII采用的格式和校验相对简单,本文采用ASCII格式,并仅对使用的功能码进行说明,更多的信息,请参看协议的详细说明。 4.1 通信格式 4.2 LRC算法 ADR H+CMD H+DATA H,然后取2的补码 4.3 功能码 5 VB与台达HMI通信的实现(案例) 5.1 控制要求 (1)PC能控制HMI中某个位地址的启动、停止。 (2)在HMI上对某个内部寄存器进行数值修改操作,在PC上能同步显示。 5.2 设计思路 (1)PC控制的内部地址为$2000.0,查看映射表,知道为MODBUS地址为B00001。在PC上按功能码05操作。 (2)HMI上写入的寄存器地址为$0,查看映射表,知道为MODBUS地址为W40001。在PC上按功能码03操作。 HMI内部地址与MODBUS地址映射表 5.3 VB接口的设计 用按钮控制$2000.0的启动停止; 用timer组件不停的读取$0的显示值(十六进制显示,可以转换为十进制); 用MScomm控件实现PC与PLC的通信。 5.4 代码构成 (1)LRC算法校验的实现: Public Function LRC(str As String) As String c = 0 l = Le

文档评论(0)

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

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

1亿VIP精品文档

相关文档