首页 ModbusRTU通信在CP340系统上的实现

ModbusRTU通信在CP340系统上的实现

举报
开通vip

ModbusRTU通信在CP340系统上的实现 253 2010 年第 08 期,第 43 卷 通 信 技 术 Vol.43,No.08,2010 总第 224 期 Communications Technology No.224,Totally ·其 他· Modbus RTU 通信在 CP340 系统上的实现 蒋天伟...

ModbusRTU通信在CP340系统上的实现
253 2010 年第 08 期,第 43 卷 通 信 技 术 Vol.43,No.08,2010 总第 224 期 Communications Technology No.224,Totally ·其 他· Modbus RTU 通信在 CP340 系统上的实现 蒋天伟①, 赵京涛② (①河北工业大学,天津 300130;②廊坊师范学院,河北 廊坊 065001) 【摘 要】S7—300/400PLC 在工业控制领域应用较为广泛,基于 S7—300/400PLC 的 Modbus RTU 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 通信数据采集一 般采用 CP341 模块配置 Dongle 的模式实现,系统构建成本较高。采用 CP340 模块配比常州维格 TCPC 协议装换模块,并利用 Modbus ASCII 协议,通过编程实现了面向 ModbusRTU 远程终端的协议通信,在 S7—300/400PLC 在工业控制应用中具有一定 的应用价值。 【关键词】Modbus—RTU;Modbus—ASCII;CP340;传输控制与协议转换 【中图分类号】TN915.04 【文献标识码】A 【文章编号】1002-0802(2010)08-0253-02 Realization of Modbus RTU Communication on CP340 System JIANG Tian-wei①, ZHAO Jing-tao② (①Hebei University of Technology, Tianjin 300130, China;②Langfang Normal College, Langfang Hebei 065001, China) 【Abstract】S7-300/400 PLC is wildly applied in industrial measurement and control fields. The date acquisition based on Modbus RTU protocol is usually realized by CP341 module configurated with Dongle, and however, this is fairly expensive. So CP340 module with TCPC-based Modbus ASCII protocol is adopted, and the Modbus RTU remote terminal-oriented communication is thus realized by programming. This technology is of certain value for S7-300/400PLC in industrial measurement and control application. 【Key words】Modbus-RTU; Modbus-ASCII; CP340; TCPC 0 引言 Modbus 协议作为一种串行总线通信协议,已广泛应用 于工业测控领域。Modbus 协议支持 ASCII,ModbusRTU 远 程终端,Data Highway(DF1 协议),为单主站网络协议,所 有通信都由主站发出,并且只能实现主站与从站的数据交 换,从站之间不能进行数据交换,可支持 247 个之多的远程 从属控制器[1]。 在工业应用现场,从站多为 ModbusRTU 远程终端,主 站一般采用 PLC 系统完成系统测控。CP340 和 CP341 为西 门子 S7—300/400 系列 PLC 中的串行通讯模块,模块具有 1 个串行通讯口(RS232C 或 TTY 或 RS485/422)。 CP341 插 人 MODBUS 主站 Dongle 或插入从站 Dongle,可实现 S7300 /400 与 ModbusRTU 远程终端的数据交换[2]。CP340 只支持 ASCII 协议模式,为了实现与 Modbus RTU 远程终端的通信, 配比常州维格 TCPC 协议装换模块,通过 PLC 适当编程,也 可实现 S7300/400 与 ModbusRTU 远程终端的数据交换。 1 ASCII 与 RTU 协议 Modbus 协议支持两种传输模式:ASCII 和 RTU,用 户根据系统组态,配置相应模式,包括串口通信参数。 在配置每个控制器的时候,在一个 Modbus 网络上的所 有设备都必须选择相同的传输模式和串口参数。 对于 ASCII 模式和 RTU 模式,存在不同的数据帧, 如表 1 所示。 ASCII 模式在消息中的每个 8 Bit 字节都作为两个 ASCII 字符发送。当控制器设为在 Modbus 网络上以 RTU(远程终端单元)模式通信,在消息中的每个 8 Bit 字节包含两个 4 Bit 的十六进制字符。使用 ASCII 模式, 消息以冒号( :)字符(ASCII 码 3AH)开始,以回车 换行符结束(ASCII 码 0DH,0AH)。消息中字符间发 送的时间间隔最长不能超过 1 s,否则接收的设备将认 为传输错误。错误检测域包含两个 ASCII 字符。这是使 用 LRC(纵向冗长检测)方法对消息内容计算得出的, 收稿日期:2009-11-12。 作者简介:蒋天伟(1979-),男,在职硕士研究生,讲师,主要研究方 向为控制理论与自动化;赵京涛(1975-),男,学士,工程 师,主要研究方向为计算机科学。 254 不包括开始的冒号符及回车换行符。LRC 字符附加在回 车换行符前面。 表 1 ASCII 模式和 RTU 模式数据帧结构 ASCII 模式 地址 功能代码 数据数量 数据 1 数据 2…数据 n LRC 高字节 LRC 低字节 回车换行 RTU 模式 地址 功能代码 数据数量 数据 1 数据 2…数据 n CRC 高字节 CRC 低字节 — 使用 RTU 模式,消息发送至少要以 3.5 个字符时 间的停顿间隔开始,错误检测域包含一 16 Bits 值(用两 个 8 位的字符来实现),错误检测域的内容是通过对消 息内容进行循环冗长检测方法得出的。CRC 域附加在消 息的最后,添加时先是低字节然后是高字节。故 CRC 的高位字节是发送消息的最后一个字节 [3]。 2 系统结构 本系统在天然气储运场站流量计量工艺中得到实现, PLC 系统统一到 S7—300 平台,系统组态根据远程终端的类 型和数量至少一块 CP340 模块,PLC 系统软件平台为 Step 7 —5.4sp3 或更高版本,远程终端为支持 Modbus RTU 协议的 智能设备,系统桥接设备为常州维格 TCPC 协议装换模块, 配置于现场防爆接线箱,TCPC 协议装换模块至智能设备间 为 RS-232 连接,TCPC 协议装换模块至控制室 PLC 系统为 RS-485 连接。系统结构如图 1 所示。 图 1 可编辑控制器数据采集系统结构示意 系统采用串行总线组网,每一个设备均连接至此串行总 线上。对于每一个远程终端,均需要设定其特有的设备地址, 以定义和区分每一个远程终端;对于多通道的某个远程终 端,Modbus 协议支持寄存器空间定义数据首地址的功能, 在远程终端中,面向不同的通道,定义不同的寄存器空间定 义数据首地址,来定义和区分每一个通道。系统在任何时间, 通信的发起者的为域中唯一的控制器,发送的命令数据帧以 广播的方式发送至每一个远程终端,符合地址要求的远程终 端根据命令要求为控制器做出相应的响应。 3 PLC 组态与配置 在 Step 7 软件平台的硬件组态窗口中,配置 CP340 通信 参数,协议选用 ASCII 协议,确定相应的串口通信参数。 同时,配置 CPU 参数,在 CPU 属性窗口中,选择 “Clock/Clock Memory”选项卡,设置扫描循环监测时间、 用于通信的扫描循环时间,配置时钟寄存器 [4]。 一般情况下,受到通信时延的影响,通信在整个 PLC 系统的处理周期中占据较多的时间,所以要根据 PLC 系统针对不同的测控要求,确定其一个周期的扫描 循环监测时间,在此时间间隔,要按照通信所占整个 PLC 扫描周期的百分比,留够一定的余量,确定用于通 信的扫描循环时间。 另外,时钟寄存器在 Modbus 通信程序中可作为触 发脉冲使用,根据 ModbusRTU 远程终端的相应周期,确 定单路通信的周期,从而确定配置时钟寄存器位。时钟寄 存器可在 PLC 可寻址的存储器空间内随意指定,时钟 寄存器占有一个字节,此字节的每一个位的值固有不同 的变化频率,以产生不同的时钟周期。如配置 M10 为 时钟寄存器,其不同位的时钟频率如表 2 所示 [5]。 表 2 S7-313C CPU 时钟寄存器位时钟 M10.7 M10.6 M10.5 M10.4 M10.3 M10.2 M10.1 M10.0 2 s 1.6 s 1 s 800 ms 400 ms 300 ms 200 ms 100 ms 也可以在 PLC 中自行编写程序,产生所需的触发时钟。 4 PLC 通信程序编写 使用 CP340 编写 PLC 程序,基于 Modbus ASCII 协议 实现与 Modbus RTU 远程智能设备通信,编程构建时分复用 的 RTU 通信时序。比较 ASCII 协议和 RTU 协议通信的差 异,在 PLC 中定义数据块构建相应的 RTU 协议标准数据帧, 利用 ASCII 协议发送构建的 RTU 数据帧,完成 CP340 对 RTU 远程智能设备通信功能。构建的 RTU 协议标准数据帧 如表 3 所示。 表 3 Modbus 通信 RTU 构造数据帧 地址 名称 类型 初始值 0.0 — STRUCT — +0.0 ft1 BYTE B#16#1 +1.0 ft2 BYTE B#16#3 +2.0 ft3 BYTE B#16#3 +3.0 ft4 BYTE B#16#E8 +4.0 ft5 BYTE B#16#0 +5.0 ft6 BYTE B#16#A +6.0 ft7 BYTE B#16#45 +7.0 ft8 BYTE B#16#BD =8.0 — END_STRUCT — 按照 Modbus RTU 数据帧格式,低位在前,高位在后, 依次采用 Byte 数据类型,采用十六进制数表示,定义设备地 址(一个字节)、Modbus RTU 命令(一个字节)、远程终端 或通道的寄存器首地址(一个字)、数据长度(一个字)和 这几位的 CRC16 校验码(一个字)。 (下转第 257 页) PS307 中央处 理单元 CP340 远 程 终 端 远 程 终 端 通 道 1 通 道 2 远 程 终 端 远 程 终 端 通 道 1 通 道 2 通 道 3 通 道 4 传输控 制与协 议转换 传输控 制与协 议转换 传输控 制与协 议转换 传输控 制与协 议转换 257 2 3 4 5 6 -35 -30 -25 -20 -15 -10 -5 0 S -P ar am et er s · 图5 仿真和实测S曲线 3 结语 这里提出了一种新型简单紧凑的双通带滤波器结构即 在方形贴片对角线上挖去一条 45°的槽线作为微扰源,激起 简并模从而实现双通的效果。由于方形贴片的尺寸由高频通 带的中心频率决定,因此在很大程度上缩小了滤波器总体尺 寸而达到小型化的目的;同时所用参数较少,设计调节所需 频带更为方便快捷。这里设计的双通带滤波器尺寸是文献[6] 采用相互正交双槽结构尺寸实现双通带滤波器尺寸的 52%, 实现了小型化;插入损耗也有一定的改善。 参考文献 [1] WOLFF I.Microstrip Bandpass Filter Using Degenerate Modes of a Microstrip Ring Resonator[J].Electron. Lett., 1972,8(12): 163-164. [2] ZHU L, TAN B C, QUEK S J.Miniaturized Dual-Mode Bandpass Filter Using Inductively Loaded Cross-Slotted Patch Resonator[J]. IEEE Microw. and Wireless Componentsleters, 2005,15(01): 22-24. [3] TU W H, CHANG K.Miniaturized Dual-Mode Bandpass Filter With Harmonic Control[J].IEEE Microw.and Wireless Componentsleters, 2005,15(12):838–840. [4] HUANG T H, CHEN H J, CHANG C S, et al.A Novel Compact Ring Dual-mode Filter with Adjustable Scond-passband for Dual-band Applications[J].IEEE Microw. Wireless Compon. Lett., 2006,16(06):360-362. [5] WENG M H, WU S S B, CHANG J Y C,et al.A Novel Compact Dual-mode Filter Using Cross-slotted Patch Resonator for Dual-band Applications[J].IEEE Microw. Wireless Compon. Lett., 2007, 15(01):921–924. [6] 高国平,张金生.一种新型双频双环天线[J].通信技术,2008,41(04): 25-27. [7] 郭戈,绍建兴.一种双频多层微带天线的设计与分析[J].通信技术, 2009,42(06):29-33. [8] 刘学观,郭辉萍.微波技术与天线[M].西安电子科技大学出版 社,2006. (上接第254页) 构建完每一个远程终端或通道的 Modbus RTU 数据帧 后,使用 FB3 系统功能块按照时序依次发送这些数据帧, TCPC 解析此数据帧,转发给 RTU 远程终端,RTU 远程终端 解析数据帧,做出 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 的响应,在时序确定的某个远程终端 或通道的通信周期内,采用 FB2 完成数据的接收,同时完成 数据从 CP340 数据接收缓冲区到 CPU 暂存数据库的转移, 以实现基于 CP340 ASCII 协议的 RTU 通信[6]。 FB3 系统功能块在时钟脉冲上升沿触发有效,在此可使用 组态定义的时钟寄存器位。FB2 系统功能块在高电平有效,为 了能及时接收远程终端上传的数据,需要编程置位一位寄存器 在系统上电后保持高电平,以满足 FB2 系统功能块在高电平有 效的需求。为了避免数据覆盖产生的误采集,在 FB3 系统功能 块定义接收数据长度中间变量,以作为数据转移的必要条件, 当接收数据长度与发送的指令帧定义的长度不相符时,说明接 收的数据异常,即可丢弃此数据,进行下一次数据采集,直到 判定接收到准确的数据包后,在完成数据的转移[7]。 5 结语 采用 CP340,利用 Modbus ASCII 协议实现 Modbus RTU 通信,需要严格的时序控制和准确的 Modbus RTU 数据 帧。在确定满足系统的时序时,通过串口调试程序每一个设 备、每一个通道注意测试,确定最长通信周期后,留够一定 的余量,来确定系统每个设备或通道独占的通信周期。同时, 在确定系统的通信周期后,要确定 FB3 的触发脉冲,保证一 个周期发送一次命令数据帧。当确定的 Modbus RTU 数据帧 与数据不符时,无法采集到设备的正确数据,可利用 Modscan 校调 Modbus RTU 数据。 参考文献 [1] 王卫兵.PLC 系统通信扩展与网络互连技术[M].北京:机械工业出版 社,2005:254-258. [2] 林勇坚.基于 Modbus/TCP 工业以太网的计算机控制系统[J].通信技 术,2008,41(10):207-209. [3] 王兴亮.现代通信技术与系统[M].北京:电子工业出版社,2008: 86-102. [4] 秦益霖.西门子 S7-300 PLC 应用技术[M].北京:电子工业出版社, 2007:232-236. [5] 韩宝彬.PC 与 PLC 在自由口模式下的串行通信[J].通信技术, 2003(05):25-26. [6] 张良友,郭禾.基于 PLC 的火电厂输煤程控系统[J].通信技术,2008, 41(06):207-209. [7] 沈兰荪.数据采集技术[M]. 北京:中国科学技术大学出版社, 1990: 45-87. f/GHz 回 波 和 插 入 损 耗 /d B 测试结果 仿真结果
本文档为【ModbusRTU通信在CP340系统上的实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_518106
暂无简介~
格式:pdf
大小:780KB
软件:PDF阅读器
页数:3
分类:
上传时间:2011-11-22
浏览量:38