VB与台达触摸屏通讯的实现.pdf_第1页
VB与台达触摸屏通讯的实现.pdf_第2页
VB与台达触摸屏通讯的实现.pdf_第3页
VB与台达触摸屏通讯的实现.pdf_第4页
VB与台达触摸屏通讯的实现.pdf_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VB 与台达触摸屏通信的实现 VB 与台达触摸屏通信的实现 中达电通 PLC 产品处 王乃全 摘要摘要 本文介绍了 Visual Basic6 编程语言 MODBUS ASCII 通信协议及通过 VB 如何实现与台达触摸屏 的通信 关键词关键词 Visual Basic MODBUS ASCII HMI 前言前言 近来经常有人问我怎么用 VB 与台达触摸屏通信 其实如果看过我去年写的 VB 实现与台达 PLC 的 串行通信 一文后 就可以解决这个疑问 因为无论是通信协议和 VB 中的编程原理都是一样的 所不同 的仅是 MODBUS 在 PLC 和 HMI 中的地址映射不一样 但最近这样的问题还是比较多 无论是中达电通 内部的分公司还是工控网的论坛 都有人问道 所以 为了集中解决这个问题 我还是重新写一篇 VB 与 台达 HMI 通信的文章 本文仅在描述如何建立双方的通信 所有采用了一个比较简单的实例做说明 不 涉及到更为复杂的 VB 与 HMI 的操作和编程技巧 由于与实现 VB 与台达 PLC 的编程原理相同 所有原理部分内容会与上篇相同 为了方便阅读 在此 文再一次描述 自行成文 一 串行通信基本概念一 串行通信基本概念 1 通信的种类 通信的种类 通常通信的形式可以分为两种 并行通信 Parallel Communication 和串行通信 Serial Communication 所谓并行 既是一次传输量为 8 位 而串行一次只传 1 位 这两种不同的通信模式 如图 并行传输 1 2 3 4 5 6 7 8 设 备 8 7 6 5 4 3 2 1 设 备 1 2 3 4 5 6 7 8 并行设备 如打印机 并行设备 如打印机 串行传输 2 串行通信串行通信 常用的串行通信也有两种 分别位 RS 232 和 RS 485 2 1 RS 232 RS 232 的信号准位乃是参考地线而来的 如图 传输端参考接地端 1 来传送数据 接收端则参考接地 端 2 还原出传送端的信号准备 传送端 接收端 地电压 接地端 1 接地端 2 由图可知 由于两个接地端准位不一定一样 而且很容易受到干扰 所以信号在 RS 232 线路传输时 很容易产生错误 2 2 RS 485 RS 485 的信号传输方式如图 传送端 接收端 地电压 接地点 1 接地点 2 RS 485 的信号将被传送出去时会分成正负两条线路 当到达接收端后 在将信号相减还原成原来的信 号 如果将原始的信号表示成 DT 而被分成的信号分别标示成 D 及 D 则 DT D D 同样地 接收端在接收到信号后 也依据上式还原成原来的样子 如果线路受到干扰 两条线路的信号分 别为 D Noise D Noise 接收端还原信号为 DT D Noise D Noise 与先前结果一样 所以 RS 485 可以有效的防止噪声的干扰 二 二 Visual Basic 基本概念基本概念 1 VB 是微软的窗口软件 提供了很多接口成员 对象 属性 事件 方法就是四个重要的接口 2 VB 常用控件 2 1 卷标控件 此控件专用于显示文字 数字用 显示如图 2 2 按钮控件 此控件使用率很高 提供一个供系统用户操作用的按钮 2 3 定时器控件 此控件的最大作用在于固定的时间内会执行所设置的程序代码一次 VB 提供了大量的控件 在此不一一叙述 三 三 MScomm 控件控件 要完成 VB 与 PLC 等串行设备的通信 MScomm 控件是一个很好用的控件 所以在此有必要对 MScomm 控件做一个较为详细的说明 1 MScomm 非标准控件 要手动添加 步骤如下 1 1 选择菜单的 工程 1 2 选择 部件 1 3 在弹出的对话框中做如图选择 1 4 在部件选项卡就会出现 MScomm 控件 2 基本属性 计算机通信口选择 通信参数设置 PortOpen 通信口是否打开 Input 收到的字符 Output 发送的字符 四 四 MODBUS ASCII Modbus 分为 ASCII 和 RTU 两种 ASCII 采用的格式和校验相对简单 本文采用 ASCII 格式 并仅 对使用的功能码进行说明 更多的信息 请参看协议的详细说明 1 通信格式 通信格式 STX 起始字符 3AH ADR 1 ADR 0 通信地址 站号 采用 2 个字符 CMD 1 CMD 0 功能码 采用 2 个字符 DATA 0 DATA 1 DATA n 1 数据项 LRC CHK 1 LRC CHK 0 LRC 校验码 采用 2 个字符 END 1 END 0 结束字符 采用 2 个字符 END 1 CR 0DH END 0 LF 0AH 2 LRC 算法算法 ADR H CMD H DATA H 然后取 2 的补码 3 功能码 功能码 05 写入线圈 01 读线圈状态 格式格式 例子 十六进制 例子 十六进制 字头 3A 站号 01 功能码 05 地址 05 00 写入状态 FF 00 LRC 码 F6 06 写入单个字寄存器 格式格式 例子例子 十六进制十六进制 字头 3A 站号 01 功能码 06 寄存器地址 06 00 写入的资料 12 34 LRC 校验码 AD 格式格式 例子例子 十六进制十六进制 字头 3A 站号 01 功能码 01 起始地址 06 14 读取数目 00 25 LRC 码 BF 五 五 VB 与台达与台达 HMI 通信的实现通信的实现 1 控制要求 控制要求 a PC 能控制 HMI 中某个位地址的启动 停止 b 在 HMI 上对某个内部寄存器进行数值修改操作 在 PC 上能同步显示 2 思路 思路 a PC 控制的内部地址为 2000 0 查看映射表 知道为 MODBUS 地址为 B00001 在 PC 上按功能码 05 操作 b HMI 上写入的寄存器地址为 0 查看映射表 知道为 MODBUS 地址为 W40001 在 PC 上按功能码 03 操作 HMI 内部地址与 MODBUS 地址映射表如下 MODBUS ADDRESS HMI ADDRESS 描述 W40001 W41024 0 1023 内部寄存器 W42001 W43024 M0 M1023 断电保持内部寄存器 W44001 RCPNO 配方编号寄存器 W45001 RCP0 RCPn 配方寄存器 B00001 B01024 2000 0 2063 15 内部寄存器 bit B01025 B02048 M200 0 M263 15 断电保持内部寄存器 bit 3 VB 接口的设计如图接口的设计如图 用按钮控制 2000 0 的启动停止 用 timer 组件不停的读取 0 的显示值 十六进制显示 可以转换为十进制 用 MScomm 控件实现 PC 与 PLC 的通信 4 代码构成 代码构成 1 LRC 算法校验的实现算法校验的实现 Public Function LRC str As String As String c 0 l Len str For c c 1 To l c data Mid str c 2 d lrc d lrc Val H c data c c 1 Next c If d lrc HFF Then d lrc d lrc Mod H100 End If h lrc Hex HFF d lrc 1 If Len h lrc 2 Then h lrc Mid h lrc Len h lrc 1 2 End If LRC h lrc End Function 2 读取 读取 0 也就是也就是 W40001 数值数值 Private Sub Timer1 Timer MSComm1 Output 010300000001 LRC 010300000001 Chr 13 Chr 10 MSComm1 Output 00050500FF00 LRC 00050500FF00 Chr 13 Chr 10 inputstring MSComm1 Input Text1 Text Mid inputstring 8 4 End Sub 3 控制 控制 2000 0 ON Private Sub Command1 Click MSComm1 Output 00050000FF00 LRC 00050000FF00 Chr 13 Chr 10 End Sub 4 控制 控制 2000 0 OFF Private Sub Command2 Click MSComm1 Output 000500000000 LRC 000500000000 Chr 13 Chr 10 End Sub 5 HMI 中的程序与设置如下图 要注意 人机站号 与 控制器 的设置 六 总结六 总结 由于 VB 语言使用的简易型 为众多工程技术人员与串行设备的通信提供了很大的方便 台达触摸屏采用标准的 MODBUS 协议 这一协议目前广为流行 为大家所熟知 也为大家最终实现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论