基于modbus协议的plc与labview通讯实现_第1页
基于modbus协议的plc与labview通讯实现_第2页
全文预览已结束

付费下载

下载本文档

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

文档简介

1、淘宝店:/空间: HYPERLINK http:/1256547627/?ptlang=2052 http:/1256547627?ptlang=2052地址/cgi-bin/qf_invite?id=76ac8480cda81f5 7c426317718d16f5fe42cfde729622e2c打开此只需订阅此邮件,会定期发送有价值的学习资料给您的邮箱!第 34 卷第 3 期2008 年 5 月中国测试技术CHINA MEASUREMENT & TESTING TECHNOLOGYVol.34 No.3 May 2008基于 Modbus 协议的 PLC 与 LabVIEW 的通讯实现万鹏

2、,(大学制造科学与610065)摘 要: 为了完成基于 Modbus 协议的可编程控制器与 LabVIEW 的通讯, 利用 LabVIEW 中的 VISA 技术, 设计实现了 Modbus 协议下 PC 机与台达 DVP14SS PLC 的串行通讯。PC 机通过串口对 PLC 进行控制, 并将 PLC态信息送回 PC 机进行处理, 完成状态监测。实验结果表明, 该系统具有良好的实时性和可靠性。: Modbus 协议; 可编程控制器; 串行通讯; VISA 技术; LabVIEW到的状号: TP311.52; TN915.04文献标识码: A: 1672- 4984( 2008) 03- 006

3、2- 03文章Communication betn PLC and LabVIEW based on Modbus protocolWAN Peng, ZHAO Shi-, XU Hong- xuan( School of Manufacturing Science and Engineering, Sichuan University, Chengdu 610065, China)Abstract: To fulfill a way of communication betn PLC and LabVIEW based on Modbus Protocol, realization ofse

4、rial communication betand Delta DVP14SS PLC under Modbus Protocol is developed by the use ofVISA technology. PC controls PLC through serial port. It can pros the s e information collected by PLC, thencomplete s e monitoring. Experiment results showt the system has good real- time quality and reliabi

5、lity.Key words: Modbus protocol; PLC; Serial communication; VISA; LabVIEW12Modbus 通讯协议引言Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议, 控制器相互之间、控制器经由网络( 例如以太网) 和其它设备之间可以通信1。 Modbus 协议已经成为一个通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络, 进行2.1Modbus 通讯协议内容及特点Modbus 通讯协议是 Modicon 公司的商标。采用主从问答方式工作, 其规范已在国际互联网上, 是目前国际智能化仪表普遍采用的主流通讯协

6、议之一3。目前, 国内许多生产商已在他们的产品和系统中遵循该协议标准。该协议有两种传输模式,即 ASCII 模式和 RTU 模式。ASCII 模式即当控制器集中。在过程控制中, 由于工业现场非常分散, I/O点数众多, 各种仪表的工作环境非常恶劣, 采用设为在 Modbus 网络上以 ASCII(标准信息交换卡和控制卡来完成现场的控制显然不可取。PLC 具有可靠性好、和性代码) 模式通信, 在消息中的每个 8 位字节都作为两个 ASCII 字符发送。这种方式的主要优点是字符发送的时间间隔可达到 1s 而不产生错误。RTU 模式能强、可与工业现场输入输出信号直接连接、功能模块扩展灵活 、编程容易

7、 、安装简单 、维修方 便、比继电器控制速度快等特点2, 可以构建出可即当控制器设为在 Modbus 网络上以 RTU (终端单元) 模式通信, 在消息中的每个 8 位字节包含两个 4 位的十六进制字符。这种方式的主要优点是表达相同的信息需要较少的位数, 且在相同通讯速率下具有更大的数据流量。2.2Modbus 通讯格式当通讯命令由发送设备( 上位机) 发送至接收设备( 下位机) 时, 符合相应地址码的下位机就会响应靠灵活的实时系统, 并且具有较高的性价 比。因而采取以 PLC 为下位机, 以装有 LabVIEW, 通过 RS- 232的工控机为上位机开发串口与 PLC 通信, 可以实现对工业

8、现场的现场数据的分析。与收稿日期: 2007- 09- 29; 收到修改稿日期: 2007- 12- 11命令, 并根据约定的通讯协议信息、数据校验,作者简介: 万 鹏( 1983- ) , 男,专业方向: 测控技术与仪器。市人,并且执行相应的功能操作4。返回的帧结构包含地址63第 34 卷第 3 期万鹏等: 基于 Modbus 协议的 PLC 与 LabVIEW 的通讯实现码、功能码、数据以及 LRC 或 CRC2.3Modbus 消息帧。3PLC 与 LabVIEW 通讯的实现系统采用台达公司的 DVP14SS 系列的 PLC 为两种传输模式中( ASCII 或 RTU) , 传输设备将

9、Modbus 消息转为有起点和终点的帧, 这就允许接收的设备在消息起始处开始工作, 读地址分配信息, 判断哪一个设备被选中( 广播方式则传给所有设备) , 判断何时信息传输已完成。发生任何错误都不会有成功的响应, 或者返回包含错误信息代码的指令5。使用 ASCII 模式, 消息以冒号( :) 字符( ASCII下位机, 用 RS232 型电缆将 PLC 主机及相关模块直接连到装有 LabVIEW 的工控机的串口上。LabVIEW的 Modbus 库提供用于连接 Modbus 设备的 Modbus TCP/IP 或 Modbus ASCII 功能。上位机与 PLC 之间的通讯实际上是计算机与PL

10、C通讯模块之间交换命令和响应的过程6。上位机具有初始传送优先权, 所有通讯均由上位机启不需要 PLC 编写通信程序, PLC动,通讯模块3AH) 开始, 以回车换行符结束( ASCII 码 0DH,码能够对上位机发送来的字符串进行分析, 检查数据格式, 分析指令代码, 然后根据指令代码进行相应的操作, 并向上位机发出响应信号, 通知上位机已完成或反映通讯的错误, 如奇偶校验错误、FCS 错误、代0AH) 。其它域可以使用的传输字符是十六进制的 0 9, AF。网络上的设备不断侦测: 字符, 当有一个冒号接收到时, 每个设备都判断是否发给自己。下个域( 地址域) 来码错误等。在一次交换中传输令格

11、式和应答数据称之为一帧。命令帧要通过用户编写的上位机通讯程序实现, PLC 的相关单元会根据上位机发来的命令帧自动生成响应帧返回给上位机。本系统中的 PLC 以从机的方式与上位机之间采用 Modbus ASCII 方式进行通讯。具体参数设置为4: 数据长度: 7 位; 停止位: 1 位; 奇偶校验: 偶校验; 波特率: 9 600 b/s。3.1LabVIEW 中串口通讯的步骤LabVIEW 中的 VISA 有 6 个串行通讯节点, 包括初始化 ( VISA Configure Serial Port.vi) 、串口写消息中字符间发送的时间间隔最长过1 s, 否则接收的设备将认为是传输错误。一

12、个典型消息帧如表 1 所示。表 1 ASC码消息帧起始位设备地址 功能代码数据LRC 校验结束符1 个字符 2 个字符 2 个字符 n 个字符 2 个字符 2 个字符使用 RTU 模式, 消息发送至少要以 3.5 个字符时间的停顿间隔开始( 如下图的 T1- T2- T3- T4) 。传输的第一个域是设备地址。可以使用的传输字符是十六进制的 09, AF。网络设备不断侦测网络总线,包括停顿间隔时间。当第一个域( 地址域) 接收到, 每个设备都进行 以判断是否发往自己。在最后一个传输字符之后, 一个至少 3.5 个字符时间的停顿标志消息的结束。一个新的消息可在此停顿后开始。(VISAVISA V

13、ISAWrite.vi) 、串口 读( VISA Read.vi) 、串口关 Close.vi) 、计算进入串口缓存中的字节数Bytes at Serial Port.vi) 、串口中 断( VISASerial Break.vi) 等功能7。在 LabVIEW 的程序中可采用下列步骤实现与PLC 之间的通讯8。( 1) 初始化串口, 设置双方通讯的端、波特整个消息帧必须作为续的流传输。如果率、数据位、停止位、奇偶校验等, 注意在 LabVIEW7.1在帧完成之前有超过 1.5 个字符时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地, 如果一个新消息在小于3

14、.5 个字符时间内接着前个消息开始, 接收的设备将认为它是前一消息的延续。这将导致一个错误, 因为在最后的 CRC 域的值不可能是正确的。一典型的消息帧如表 2 所示。中串(是在 VISA resource name 中设置的;2) 把要发送的数据按 PLC 命令帧的格式打包,包括计算帧校验序列;写端口, 把整个命令帧发送到串口;延时等待 PLC 的应答帧到达串口;(5) 读串口,PLC 的应答帧;6) 把的应答帧解包,相应的数据。3.2LabVIEW 中串口通讯的实现( 1) 初始化串口, 按照 PLC 串口通讯的要求, 通表 2 RTU 码消息帧起始位设备地址 功能代码数据CRC 校验结束

15、符过VISA Configure Serial Port.vi 节点设定, 端设为 0, 即设定上位机的串口 COM1 与 PLC 通讯。若T -T -T -T 8Bit8Bitn 个 8Bit16BitT -T -T -T 1 2 3 41 2 3 464中国测试技术2008 年 5 月设其他串口, 端依此类推。波特率设为 9600 b/s,令操作要能回送报错信息。数据位为 7 位, 停止位设定为 1 位, 奇偶校验设定为偶校验9。4结束语在生产活动自动化, 通信协议规范化, 信息交流的今天, 充分利用现有的成熟而规范的通信2) 帧校验采用 LRC( 纵向冗余错误校验) 。LRC(错误校验用

16、于 ASCII 模式。这个错误校验是一个 8位二进制数, 可作为 2 个 ASCII 十六进制字节传送。把十六进制字符转换成二进制, 加上无循环进位的二进制字符和二进制补码结果生成 LRC 错误校验。这个 LRC 在接收设备进行校验, 并与被传送的 LRC进行比较, 冒号( :) 、回车符号( CR) 、换行字符( LF)和置入的其他任何非 ASCII 十六进制字符在运算时忽略不计10。协议能最大限度地节约开发成本, 降低开发风险, 提高系统的兼容性和可移植性。Modbus 通讯协议作为智能仪器仪表领域大量使用的通讯协议, 必将得到更加普遍的推广和应用。该通讯方法具有良好的设备兼容性, 能够进

17、行各种不同型号的 PLC 控制, 操作简便, 成本低廉。在实际运行中, 工作可靠,效果良好, 具有广阔的应用前景和较大的推广价值。参考文献机号为 00 的 PLC 的 D0 开始的 8 个普如1.PLC 编程实用指南M.: 机械工业,通数据寄存器的状态, 所用命令为“01 03 10 00 002006.2.电气控制与可编程控制器应用技术M., 2003.: 东08”CR LF, 生成 LRC令帧:“01 03 10 00 00( 3) 发送命令和E4”, 命令封装生成命08 CR LF”。响应。将命令通过串口南大学3.基于 Modbus 协议通信的设计与实现J.计量技术, 2002( 4)

18、: 35- 36.GB/Z 19582.2- 2004, 基于 Modbus 协议的工业自动化网COM1 发给 PLC, 并接收来自 PLC 的响应信息。如果4响应正常, 就将所得数据做显示、计算、分析等格规范S.: 中国标准, 2005.后续处理, 以便用于设备实时控制和状态监测;5Modicon Inc. Modicon Modbus 通讯协议参考手册M.北如果响应不正常则发出错误信息, 退出程序, 用户重新输人命令开始工作。本系统的下位机是使用默认好通信协议及好工作指令的 PLC。当前测控系统多采用的是单发多收的通信机制, 所以下位机要允许用户预先设定本机的地址码, 并且保证不能重复。此外, 要注意通信波特率必须与上位机的波特率相匹配。在下位机开发中, 要遵循 Modbus 通讯协议的通信帧结, 2005.京: 中国标准6.PLC

温馨提示

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

评论

0/150

提交评论