vb与台达触摸屏通讯的实现

vb与台达触摸屏通讯的实现

ID:13619589

大小:326.00 KB

页数:10页

时间:2018-07-23

vb与台达触摸屏通讯的实现_第1页
vb与台达触摸屏通讯的实现_第2页
vb与台达触摸屏通讯的实现_第3页
vb与台达触摸屏通讯的实现_第4页
vb与台达触摸屏通讯的实现_第5页
资源描述:

《vb与台达触摸屏通讯的实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、VB与台达触摸屏通讯的实现摘要:本文重点讨论MODBUSASCII通讯协议及通过VB如何实现与台达触摸屏的通讯。对于VisualBasic6编程语言亦有扼要的介绍。关键词:VisualBasic;MODBUSASCII;HMI1引言在自动化工程集成中经常碰到VB与触摸屏通讯题目。对于不同的MODBUS通讯协议触摸屏产品,无论是通讯协议和VB中的编程原理都是一样的,所不同的仅是MODBUS在PLC和HMI中的地址映射不一样。为了集中解决这个题目,本文以台达触摸屏通讯案例为背景,采用了一个比较简单的实例描述如何建立双方的通讯,不涉及到更为复杂的VB与H

2、MI的操纵和编程技巧。2串行通讯基本概念2.1通讯的种类通常通讯的形式可以分为两种,并行通讯(ParallelCommunication)和串行通讯(SerialCommunication)。所谓并行,既是一次传输量为8位;而串行一次只传1位。这两种不同的通讯模式如图1所示。图1两种不同的通讯模式2.2串行通讯常用的串行通讯也有两种,分别位RS-232和RS-485。(1)RS-232通讯。RS-232的信号准位乃是参考地线而来的,如图2所示,传输端参考接地端1来传送数据;接收端则参考接地端2还原出传送真个信号预备。图2RS-232通讯由图2可知,

3、由于两个接地端准位不一定一样,而且很轻易受到干扰,所以信号在RS-232线路传输时,很轻易产生错误。(2)RS-485通讯。RS-485的信号传输方式如图3所示。图3RS-485通讯RS-485的信号将被传送出往时会分成正负两条线路,当到达接收端后,在将信号相减还原成原来的信号;假如将原始的信号表示成(DT),而被分成的信号分别标示成(D+)及(D-),则DT=(D+)-(D-)同样地,接收端在接收到信号后,也依据上式还原成原来的样子。假如线路受到干扰,两条线路的信号分别为(D+)+Noise(D-)+Noise。接收端还原信号为(DT)=[(D+

4、)+Noise]-[(D-)+Noise]与先前结果一样,所以RS-485可以有效的防止噪声的干扰。3VisualBasic控件VB是微软的窗口软件,提供了很多接口成员。对象、属性、事件、方法就是四个重要的接口。3.1卷标控件此控件专用于显示文字,数字用,显示如图4所示。图4卷标控件3.2按钮控件此控件使用率很高,提供一个供系统用户操纵用的按钮,如图5所示。图5按钮控件3.3定时器控件此控件的最大作用在于固定的时间内会执行所设置的程序代码一次,如图6所示。VB还提供了大量的控件,在此不逐一叙述。图6定时器控件3.4MScomm控件要完成VB与PLC

5、等串行设备的通讯,MScomm控件是一个很好用的控件。所以在此有必要对MScomm控件做一个较为具体的说明。MScomm非标准控件,要手动添加,步骤如下:选择菜单的【工程】;选择【部件】;在弹出的对话框中做如图选择,在部件选项卡就会出现MScomm控件,如图7所示。MScomm控件基本属性如图8所示。图7MScomm控件图8MScomm控件基本属性4MODBUSASCII通讯协议(案例)Modbus总线通讯协议分为ASCII和RTU两种。ASCII采用的格式和校验相对简单,本文采用ASCII格式,并仅对使用的功能码进行说明,更多的信息,请参看协议的

6、具体说明。4.1通讯格式4.2LRC算法ADRH+CMDH+DATAH,然后取2的补码4.3功能码05,写进线圈01,读线圈状态06,写进单个字寄存器5VB与台达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上按功能码

7、03操纵。HMI内部地址与MODBUS地址映射表5.3VB接口的设计用按钮控制$2000.0的启动停止;用timer组件不停的读取$0的显示值(十六进制显示,可以转换为十进制);用MScomm控件实现PC与PLC的通讯。5.4代码构成(1)LRC算法校验的实现:PublicFunctionLRC(strAsString)AsStringc=0l=Len(str)Forc=c+1Tolc_data=Mid$(str,c,2)d_lrc=d_lrc+Val("&H"+c_data)c=c+1NextcIfd_lrc>&HFFThend_lrc=d_lr

8、cMod&H100EndIfh_lrc=Hex(&HFF-d_lrc+1)IfLen(h_lrc)>2Thenh_lrc=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。