S7-200做主站S7-300 CP341做从站的Modbus RTU通讯

时间:2026-01-19

200与300PLC做Modbus RTU通讯

S7-200做主站S7-300 CP341做从站的Modbus RTU通

Modbus RTU Communication – S7-200 as Master and S7-300 CP341 as Slave

Getting-Started Edition (2010年6月)

摘 要 本文档讨论使用S7-200做主站,S7-300 CP341做从站的Modbus RTU通讯。

关键词 CP341,Modbus RTU,功能码,S7-200

Key Words CP341,Modbus RTU,Function Code,S7-200

目 录

1. 概述 2. 软件环境 2.1 STEP7 V5.4 SP4 2.2 CP PTP Param V5.1 SP11 2.3 CP PTP Modbus Slave V3.1 SP7 2.4 STEP7 Micro/WIN V4.0 SP6

2.5 Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library 3. 硬件列表和接线 3.1 硬件列表 3.2 硬件接线 3.2.1 接口定义

200与300PLC做Modbus RTU通讯

3.2.2 接线示意图 4. 组态设置和编程

4.1 S7-200做Modbus主站的设置 4.1.1 Modbus RTU主站库 4.1.2 S7-200 Modbus主站编程 4.2 CP341 做Modbus 从站的硬件组态 4.2.1 硬件组态 4.2.2 设置Modbus参数 4.2.3 Modbus驱动的下载

4.2.4 CP341做Modbus从站的编程 5. 通讯测试

5.1 FC01/05/15功能码 5.2 FC02功能码 5.3 FC03/06/16 功能码 5.4 FC04 功能码 5.5 Limits 栏 6. 总结

7. 相关参考资料 附录-推荐网址

1. 概述

在现场应用中,很多仪表和设备仅支持Modbus RTU的通讯协议,第三方仪表可以做Modbus主站或从站,西门子的通讯模块CP341 / CP441-2 通过Dongle(硬件狗)可以扩展该协议,S7-200 集成的口可以支持自由口通讯,通过指令库也

200与300PLC做Modbus RTU通讯

可以方便的实现Modbus RTU通讯。本文以S7-200作为Modbus 主站,CP341作为Modbus 从站,实现Modbus RTU通讯,阐述两者在通讯方面的设置和注意事项。

2. 软件环境

2.1 STEP7 V5.4 SP4

用于编写 S7-300/400程序,此软件需要从西门子购买,本文档中的300的程序是使用Step7 V5.4 SP4的软件编写。 2.2 CP PTP Param V5.1 SP11

串行通讯模板的驱动程序,安装此驱动后才能对PtP模板进行参数配置,并在Step7中集成通讯编程需要使用的功能块。此驱动随购买模板一起提供,也可以从以下的链接下载。

http://www.77cn.com.cn/CN/view/zh/27013524 2.3 CP PTP Modbus Slave V3.1 SP7

CP341或CP441-2用于Modbus从站时,需要安装此驱动协议,但安装之前必须先安装PtP Driver,此驱动可以在购买Modbus Dongle时选择购买,也可以从以下的链接下载。

http://www.77cn.com.cn/CN/view/zh/27774276 2.4 STEP7 Micro/WIN V4.0 SP6

用于S7-200编程的软件,本文档中的200的程序是使用Step7 Micro/win 的软件编写。此软件可以从西门子下载中心免费下载,也可以从以下的链接下载。 http://www.77cn.com.cn/download 网站 自动化系统>>S7-200>>软件,文档编号S0002。

2.5 Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library

S7-200实现Modbus RTU功能,可以使用Modbus的指令库,要使用西门子的标准指令库,必须先安装指令库的软件包 Instruction Library,安装后,可以在Step 7-Micro/WIN软件的库中找到Modbus相关的指令,该软件包可以从以下的链接下载。http://www.77cn.com.cn/download 网站 自动化系统>>S7-200>>软件,文档编号S0010。

3. 硬件列表和接线

200与300PLC做Modbus RTU通讯

3.1 硬件列表

表1 硬件设备

3.2 硬件接线 3.2.1接口定义

S7-200的通讯口为RS485物理口(9针口),CP341是RS422/485的接口类型(15针口),两种设备的接口引脚的示意图如下所示,更详细的信息可以参考CP341及S7-200通信接口的手册。

图1 S7-200 CPU通信口引脚定义

200与300PLC做Modbus RTU通讯

图2 S7-300 CP341 RS422/485 通讯口引脚定义

3.2.2接线示意图

图3 硬件结构和接线示意图

4. 组态设置和编程

4.1 S7-200做Modbus主站的设置

S7-200 CPU上的通信口在电气上是标准的RS-485半双工串行通信口,此串行字符通信的格式:1个起始位;7/8位数据位;1位奇/偶/无校验;1停止位。通信波特率可以设置为1200、2400、4800、9600、19200、38400、57600或112500

200与300PLC做Modbus RTU通讯

符合这些格式的串行通讯设备可以和S7-200进行自由口通讯,Modbus RTU指令库就是使用自由口编程实现的。 4.1.1Modbus RTU主站库

使用Modbus 主站指令库时需要注意的几点:

l 需要S7-200的编程软件是 Micro/WIN V4.0 SP5及以上版本;

l Modbus RTU 主站库对CPU的版本有要求,CPU 的版本必须为 2.00 或者 2.01(即订货号为 6ES721*-***23-0BA*);

l Modbus主站可读/写的最大数据量为120个字(指每一个 MBUS_MSG 指令); l Modbus 主站库支持Port0和Port1(从站库只支持Port0口),本例中用Port0; l 使用Modbus 库时必须对库存储区进行分配,见下图设置,而且分配的空间不能和程序中其它空间冲突,否则编译调用会报错。

图4 库存储区设置

l Modbus主站库支持的功能码和地址对应关系:

200与300PLC做Modbus RTU通讯

表2需要从站支持的功能

4.1.2S7-200 Modbus主站编程

编程时,使用SM0.0调用MBUS_CTRL完成主站的参数初始化,详细见下表,参数的说明也可以从子程序的局部变量表中找到。

图5 Modbus RTU 主站初始化

图中各参数含义如下

表3

调用 Modbus RTU 主站读写子程序MBUS_MSG,发送一个Modbus 请求。

200与300PLC做Modbus RTU通讯

图6 调用Modbus RTU 主站读写子程序

图中各参数含义如下

…… 此处隐藏:2958字,全部文档内容请下载后查看。喜欢就下载吧 ……

S7-200做主站S7-300 CP341做从站的Modbus RTU通讯.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219