为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于S7-300,400以太网通讯模块CP343-1&CP443-1 Modbus TCP通讯快速入门(更新版本V4.1)13693190688

2012-09-29 42页 pdf 1MB 372阅读

用户头像

is_598835

暂无简介

举报
基于S7-300,400以太网通讯模块CP343-1&CP443-1 Modbus TCP通讯快速入门(更新版本V4.1)13693190688 基于 S7-300,400 以太网通讯模块 CP343-1&CP443-1 Modbus TCP 通讯快速入门(更新版本 V4.1) Modbus TCP Communication Base On S7-300/400 Ethernet CP343-1&CP443-1 Module Getting Started(Update V4.1) Getting-Started ...
基于S7-300,400以太网通讯模块CP343-1&CP443-1 Modbus TCP通讯快速入门(更新版本V4.1)13693190688
基于 S7-300,400 以太网通讯模块 CP343-1&CP443-1 Modbus TCP 通讯快速入门(更新版本 V4.1) Modbus TCP Communication Base On S7-300/400 Ethernet CP343-1&CP443-1 Module Getting Started(Update V4.1) Getting-Started Edition (2011 年 1 月) 摘 要 2010 年 2 月西门子 Indusdry Solution IT 部门更新了 S7-300/400 系统 Modbus/TCP 的最新版本软件选项包“MobusTCP CP V4.1”,本文主要介绍了通过 S7-300/400 以太网通讯 模块 CP343/443-1 进行 Modbus TCP 的通讯原理,并以 Modscan32 和 Modbus slave 软件为 例模拟第三方设备详细介绍如何配置与 CP443-1 进行 Modus TCP 通讯,希望通过本文档,能 够给读者 CP343/443-1 Modbus TCP 通讯入门指导 关键词 CP343-1,CP443-1,Modbus TCP,保持寄存器 ,输入寄存器 ,读写 ,服务器 ,客户端 , Modscan32,Modbus Slave,软件包版本 Key Words CP343-1,CP443-1,Modbus TCP,Holding Register,Input Register Read/Write,Server,Clent,Modscan32,Modbus Slave,Software Packet Version IA&DT Service & Support Page 2-42 目录 1 Modbus TCP通讯概述 .................................................................................... 4 1.1 通讯所使用的以太网参考模型 ............................................................................................. 4 1.2 Modbus TCP数据帧 ............................................................................................................. 4 1.3 Modbus TCP使用的通讯资源端口号 .................................................................................. 5 1.4 Modbus TCP使用的功能代码.............................................................................................. 5 1.5 Modbus TCP通讯应用举例.................................................................................................. 5 2 SIMATIC S7-300/400 系统 Modbus/TCP通讯概述 ................................................. 6 2.1 S7-300/400 系统Modbus/TCP通讯产品概述 ..................................................................... 6 2.2 ” ModbusTCP CP V4.1”软件选项包使用概述 .................................................................... 7 2.2.1 ” ModbusTCP CP V4.1”块库使用说明........................................................................... 7 2.2.2 ” ModbusTCP CP V4.1”选项包硬件和软件需求............................................................ 8 2.3 “ModbusTCP CP V4.1”软件选项包与step7 集成概况 ..................................................... 10 3 配置S7-400 单站系统通过CP443-1 作为Server进行Modbus TCP通讯 ......... 11 3.1 例子中使用的硬件设备及软件 ........................................................................................... 12 3.2 S7-400 系统及Modscan32 软件组态 ................................................................................ 13 3.3 通讯测试 ............................................................................................................................. 17 4 配置S7-400 单站系统作为Client进行Modbus TCP通讯 ....................................... 23 4.1 例子中使用的硬件设备及软件 ........................................................................................... 23 4.2 S7-400 单站系统与Modbus Slave软件组态 ..................................................................... 24 4.3 通讯测试.............................................................................................................................. 29 5 “ ModbusTCP CP V4.1” 选项包通讯使用及相关注意事项.......................... 31 附一CP进行Modbus TCP通讯FB输出常见故障代码及处理 ................................................ 32 附录-推荐网址 .......................................................................................................................... 40 IA&DT Service & Support Page 3-42 1 Modbus TCP 通讯概述 MODBUS/TCP 是简单的、中立厂商的用于管理和控制自动化设备的 MODBUS 系列通讯 协议的派生产品 ,显而易见 ,它覆盖了使用 TCP/IP 协议的 “Intranet”和 “Internet”环境中 MODBUS 报文的用途。协议的最通用用途是为诸如 PLC’s,I/O 模块,以及连接其它简单域 总线或 I/O 模块的网关服务的。 MODBUS/TCP 使 MODBUS_RTU 协议运行于以太网,MODBUS TCP 使用 TCP/IP 和 以太网在站点间传送 MODBUS 报文,MODBUS TCP 结合了以太网物理网络和网络标准 TCP/IP 以及以 MODBUS 作为应用协议标准的数据表示。MODBUS TCP 通信报文被封 装于以太网 TCP/IP 数据包中。与传统的串口方式,MODBUS TCP 插入一个标准的 MODBUS 报文到 TCP 报文中,不再带有数据校验和地址。 1.1 通讯所使用的以太网参考模型 Modbus TCP 传输过程中使用了 TCP/IP 以太网参考模型的 5 层: 第一层:物理层,提供设备物理接口,与市售介质/网络适配器相兼容 第二层:数据链路层,格式化信号到源/目硬件址数据帧 第三层:网络层,实现带有 32 位 IP 址 IP 报文包 第四层:传输层,实现可靠性连接、传输、查错、重发、端口服务、传输调度 第五层:应用层,Modbus 协议报文. 1.2 Modbus TCP 数据帧 Modbus 数据在 TCP/IP 以太网上传输,支持 Ethernet II 和 802.3 两种帧格式,Modbus TCP 数据帧包含报文头、功能代码和数据 3 部分,MBAP 报文头(MBAP、Modbus Application Protocol、Modbus 应用协议)分 4 个域,共 7 个字节,如图 1 所示: 图 1: MODBUS TCP 报文 IA&DT Service & Support Page 4-42 由于使用以太网 TCP/IP 数据链路层的校验机制而保证了数据的完整性,MODBUS TCP 报文中不再带有数据校验”CHECKSUM”,原有报文中的“ADDRESS”也被“UNIT ID”替代而加 在 MODBUS 应用协议报文头中 1.3 Modbus TCP 使用的通讯资源端口号 在 Moodbus 服务器中按缺省协议使用 Port 502 通信端口,在 Modus 客户器程序中设置任 意通信端口,为避免与其他通讯协议的冲突一般建议 2000 开始可以使用. 1.4 Modbus TCP 使用的功能代码 按照使用的通途区分,共有 3 种类型分别为: 1) 公共功能代码:已定义好功能码,保证其唯一性,由 Modbus.org 认可; 2) 用户自定义功能代码有两组,分别为 65~72 和 100~110,无需认可,但不保证代码 使用唯一性,如变为公共代码,需交 RFC 认可; 3) 保留功能代码,由某些公司使用某些传统设备代码,不可作为公共用途。 按照应用深浅,可分为 3 个类别 1) 类别 0,客户机/服务器最小可用子集:读多个保持寄存器(fc.3);写多个保持寄存器 (fc.16)。 2) 类别 1,可实现基本互易操作常用代码:读线圈(fc.1);读开关量输入(fc.2);读输入寄 存器(fc.4);写线圈(fc.5);写单一寄存器(fc.6)。 3) 类别 2,用于人机界面、监控系统例行操作和数据传送功能:强制多个线圈(fc.15);读 通用寄存器(fc.20);写通用寄存器(fc.21);屏蔽写寄存器(fc.22);读写寄存器(fc.23) 1.5 Modbus TCP 通讯应用举例 在读寄存器的过程中,以 Modbus TCP 请求报文为例,具体的数据传输过程如下: 1) Modbus TCP 客户端实况,用 Connect()命令建立目标设备 TCP 502 端口连接数据通 信过程 2) 准备 Modbus 报文,包括 7 个字节 MBAP 内请求; 3) 使用 send()命令发送; 4) 同一连接等待应答; 5) 同 recv()读报文,完成一次数据交换过程 6) 当通信任务结束时,关闭 TCP 连接,使服务器可以为其他服务 IA&DT Service & Support Page 5-42 2 SIMATIC S7-300/400 系统 Modbus/TCP 通讯概述 2.1 S7-300/400 系统 Modbus/TCP 通讯产品概述 通过 SIMATIC S7 和第三方设备的建立 MODBUS/TCP 通信时按照产品使用分单站和冗 余系统,对于单站系统,又分为通过以太网通讯模块 CP 和 CPU 的集成 PN 口两种情况 1) 通过以太网通讯模块 CP343-1 或 CP443-1: 在 S7 控制器通过外部 CP343-1 或 CP443-1 和第三方设备间建立 Modbus/TCP 连接时 需要 软件选项包"ModbusTCP CP", 订货号为 2XV9450-1MB00 ,单授权(仅对一个 CPU 有效), 最新 的版本为 V4.1,支持功能代码 1、2、3、4、5、6、15 和 16,功能块库及订货号如下图 2 所 示: 图 2:软件选项包”ModbusTCP CP V4.1” 2) 通过 CPU 集成的 PN 接口 : 在 S7 控制器通过 CPU 集成 PN 接口和第三方设备间建立 Modbus/TCP 连接时需要产品 软件选项包"ModbusTCP PN ",订货号为 2XV9450-1MB02,最新版本 V2.4, 单授权(仅对一个 CPU 有效),支持功能代码 1、2、3、4、5、6、15 和 16, 对 S7-300 和 S7-400 集成 PN 接口 的 CPU 都适用, 功能块库及订货号如下图 3 所示: 图 3:软件选项包”ModbusTCP PN-CPU V2.4” IA&DT Service & Support Page 6-42 3) 通过 S7-400H 冗余系统的 CP443-1: 通过 S7-400H 冗余系统建立第三方设备的 MODBUS/TCP 通信包含两个版本,对应 两个订货号,两个版本为升级关系,详细情况如下: Open Modbus/TCP 冗余系统 V1 版本需要产品软件选项包” ModbusTCP Red V1”, 订货 为”2XV9450-1MB01”,单授权(仅对一个冗余 CPU 对有效),软件选项包的块库如下图 4 所示: 图 4: 软件选项” ModbusTCP Red V1” Open Modbus/TCP 冗余系统 V2 版本需要产品软件选项包” ModbusTCP Red V2”, 订货 为”2XV9450-1MB11”,单授权(仅对一个冗余 CPU 对有效),软件选项包的块库如下图 5 所示: 图 5: 软件选项” ModbusTCP Red V2” 2.2 ” ModbusTCP CP V4.1”软件选项包使用概述 2.2.1 ” ModbusTCP CP V4.1”块库使用说明 1) 该功能块库可以用于 S7-300 单站通过 CP343-1 或 S7-400 单站通过 CP443-1 进行 ModbusTCP 通讯 2) 由于需要在 SIMATIC 站与其他通讯伙伴之间建立 TCP 连接用于 Modbus 通讯,因此 需要调用 SIMATIC S7 标准功能块,对于 S7-300/400 的 CP 来说,需要调用 AG_SEND,AG_RECV 功能块 IA&DT Service & Support Page 7-42 3)对于主要功能块 FB106、107 和 108 来说,包含了 V1.1 和 V2.0,他们管脚参数并没有 更改,只是在 V2.0 中增加了 FC11”AG_CNTRL”功能块用于管理 TCP 连接,是否支持功能 块与 CP 的型号和固件版本有关,如下图 6 所示: 图 6:功能块 V1.1 和 V2.0 版本区别 2.2.2 ” ModbusTCP CP V4.1”选项包硬件和软件需求 所支持硬件和软件需求如下图 7 和图 8 所示: IA&DT Service & Support Page 8-42 图 7:”ModbusTCP CP V4.1”软件包硬件需求 图 8:”ModbusTCP CP V4.1”软件包软件需求 IA&DT Service & Support Page 9-42 2.3 “ModbusTCP CP V4.1”软件选项包与 step7 集成概况 下面章节将介绍如何使用软件选项包” ModbusTCP CP V4.1 "的功能块库配置 S7- 300/400 单站系统通过 CP343-1/CP443-1 与第三方模拟软件进行 Modbus/TCP 进行通讯的 详细步骤,实际上当将软件选项包安装完集成到 Step7 时可以在 Step7 安装文件的相应目录 中找到块库、例程、英文手册,另外还可找到用 CFC 语言编程的功能快库,供读者选用, 如下图 9-11 所示,在实际的项目调试过程中由于例子程序的各项功能比较完善,因此可以直 接使用例子程序根据项目的实际情况修改相应的参数即可,可以节省大量的参数设置时间, 以下主要描述了使用软件选项包” ModbusTCP CP V4.1 "配置 S7-300/400 站的详细配置和编 程步骤. 图 9: 块库、例程、英文手册和软件注册的文件夹位置 图 10:例程(注:当找不到例程时可以通过”Browse..”按钮来进行查找) IA&DT Service & Support Page 10-42 图 11:功能块库(注:当找不到块库时可以通过”Browse..”按钮来进行查找) 3 配置 S7-400 单站系统通过 CP443-1 作为 Server 进行 Modbus TCP 通讯 下面以 S7-400 单站系统及 Modscan32 软件为例,详细介绍如何将 S7-400 单站系统通过 CP443-1 配置为 Server,Modscan32 为 Client 进行 Modbus TCP 通讯,在本例中讲使用带 FC11”AG_CNTRL”版本的功能块,下图 12 为服务器功能块库的程序结构及各功能块完成的 功能: IA&DT Service & Support Page 11-42 IA&DT Service & Support Page 12-42 图 12:服务器功能块库程序结构 注:Modscan32 软件可以从网上免费下载得到,本例中使用的版本为 V7.0 版,由于各 版本的功能不尽相同,因此需要注意版本问题 3.1 例子中使用的硬件设备及软件 本例中所用的硬件设备如下表: 表 1:服务器硬件清单 所用到软件如下表: 名称 数量 订货号 S7-400 电源模块 PS 407 10A 1 6ES7407-0KA01-0AA0 S7-400 CPU414-3PN/DP 1 6ES7414-3EM05- 0AB0(V5.2) S7-400 CP443-1 1 6GK7443-1EX41- 0XE0(V1.0) S7-400 机架 1 6ES7400-1JA00-0AA0 网线 若干 笔记本电脑 1 “MODBUSCP”:主功能块,完 成CP的Modbus TCP通讯功 “EQ_STRNG”:授权码验 证功能块 “MB_CPCLI”:CP的Modbus TCP客户机程序功能块 “MB_CPSRV”:CP的 Modbus TCP服务器程序 功能块 “AG_LRECV”:数据接收 “AG_CNTRL”:TCP连接管 理功能块“AG_LSEND”:数据发 表 2:服务器软件清单 名称 订货号 STEP7 V5.5 组态编程软件 英文版 “ ModbusTCP CP V4.1” 软件选项包 2XV9450-1MB00 Modscan32 V7.0 3.2 S7-400 系统及 Modscan32 软件组态 打开 Step7 软件,新建一个项目文件,命名为“M_TCP_CP_V4-1(Server)”, 在项目下 插入一个 S7-400 站,如下图 13 所示: 图 13:新建 S7-400 Station 双击插入的 SIMATIC 400 Station 的“Hardware”,打开硬件组态,在硬件组态界面下分 别插入机架,电源 PS407、CPU414-3PN/DP、CP443-1,本例中将 CP 的 IP 地址设为 192.70.44.10,如下图 14 所示: IA&DT Service & Support Page 13-42 图 14:硬件组态并设置 CP443-1 的 IP 地址 打开 Netpro 网络组态,选中 CPU414-3PN/DP,插入一个新连接,连接伙伴为 Unspecified,连接类型为 TCP Connection,如下图 15 所示: IA&DT Service & Support Page 14-42 图 15:网络组态-新建 TCP connection 对于插入的 TCP connection,在打开的连接属性对话框中的“General Information”中由 于 CP443-1 做 Server 被动连接,因此不勾选“Active connection estabishment”选项,ID 保 持缺省即可,在“Adress”栏中同样由于 CP443-1 做 Server,因此填入连接的 Port 号设置为 502,对于通讯伙伴 Remote 的 IP 地址可以选择不填,即允许任意 IP 地址的客户端发起连 接,如下图 16 所示: IA&DT Service & Support Page 15-42 图 17:S7-400 为服务器的 TCP connection 参数设置 对于服务器和客户端的端口号(下述中以 Port 代替)的选择需要注意以下几点: 1)一般情况下服务器端的 Port 号 modbus TCP 规范缺省为 502,客户端的 Port 号只 要不 与服务器端冲突即可,另外各厂商产品也有一些限制,对于 SIMATIC 产品一般从 2000 之后开始。 2)对于一个系统来说,当创建多个 TCP 连接时,要保证 IP 地址和 Port 号不重合,即 同一个 IP 地址下创建多个 TCP 连接时 Port 号必须不同,而不同的系统因 IP 地址不 同可以使用相同的 Port 号,例如本例中如果需要创建多个 TCP 连接作为 Server 时 因只有一个 IP,因此 Port 号必须不同 打开 Modscan32 软件,在“Connection-connection”中打开连接属性对话框,连接接口 选择“Remote TCP/IP Server”,IP Adress 分别填入 CP443-1 的 IP 地址 192.70.44.10 Server Port 均为远程服务器的端口 502,在协议的选择对话框中可以定义传输模式、通讯超 时响应时间,报文发送间隔及允许写多个保持寄存器等,这里分别保持缺省设置即可,如下 图 18 所示: IA&DT Service & Support Page 16-42 图 18:对应 TCP connection 的 Modscan32 连接窗口 3.3 通讯测试 由于“ ModbusTCP CP V4.1”选项包支持功能码 FC1,2,3,4,5,6,15,16,不同的 功能码测试过程中类似,因此下面以 FC03(读写保持寄存器)为例来说明通讯测试的整个过 程,对于其他功能码的测试将不再重复描述,对于 Modbus 的数据类型可以参考下表 3: IA&DT Service & Support Page 17-42 表 3:Modbus 数据类型 基本表 对象类型 访问类型 注释 离散量输入 单个位 只读 I/O系统可提供这种类型数据 线圈 单个位 读写 通过应用程序可改变这种类型数据 输入寄存器 16位字 只读 I/O系统可提供这种类型数据 保持寄存器 16位字 读写 通过应用程序可改变这种类型数据 由于服务器主功能块 FB108“MODBUSCP”的参数需要初始化,因此分别在 OB100 及 OB1 中调用 FB108,在 OB100 中调用 FB108 完成相关参数的初始化,FB108 的管脚分布如下图 19 所示: IN:Netpro的连接ID IN:CP的逻辑输入地址 IN:超时响应时间,最短20ms IN:授权注册码 IN:客户端/服务器选择 IN:与功能码相关,单写模式 可定义8个数据区,支持功能码1、2、3、4、5、15、16 IN:含义如下 Data_type_x:预定义的 Modbus数据类型 db_x:数据块号 start_x:modbus寄存器或比特值起始地址,对应DB从0字 节开始 IN:请求或使能信号 OUT:是否授权 OUT:正在作业 OUT:作业完成无错误 OUT:错误信号 OUT:作业状态代码 OUT:故障名称 OUT:授权码输出 IN/OUT:单元标识符 IN/OUT:当次作业的数据类型IN/OUT:当次作业起始地址 IN/OUT:当次作业的数据长度IN/OUT:传输标识符 图 19: FB108“MODBUSCP”的管脚参数定义 注意:在图 19 中已经填 未填写的参数需要初 中调用完成 组态及程序到 CPU 中,使能参数 ENQ_ENR=1,在 Modscan32 的“Set up- 0 所 写的参数不需要初始化,在 OB1 调用赋值;而 始化 在 OB100 下载网络 >Data Definition“中设置数据扫描周期、寄存器连接类型、起始地址、长度等,如下图 2 示: IA&DT Service & Support Page 18-42 图 20:Modscan32 中 Modbus 数据参数定义 之后在 modbus32 中就可以建立和远程 CP443-1 Server 的连接了,在 Netpro 中通过可以 看到连接已经建立起来,如下图所示: IA&DT Service & Support Page 19-42 图 21: Modscan32 激活与 S7-400 的连接 由于 Modbus 的内部地址编排时基于数据链路层和应用层有一定的映射关系,因此 Modbus 的地址与 SIMATIC 中的 DB 块的地址时按照一定的地址映射关系来相对应,这样造 成了 DB 块中有一定的地址偏移量,在本例中假设数据区的定义如下图 22 所示,其 DB 偏移 量、Modbus 物理编址、应用层编址如下图 23 所示: IA&DT Service & Support Page 20-42 图 22:本例中的数据区定义 IA&DT Service & Support Page 21-42 图 23: DB 偏移量、Modbus 物理编址、应用层编址对应关系 IA&DT Service & Support Page 22-42 在 Step7 的项目程序中新建一个变量监控表,插入需要监控的参数和数据区变量,可以 看到 Modscan32 软件与 CP343-1 的数据通讯已经建立起来了,双方可以进行正常的保持寄 存器数据读写操作,如下图 24 所示: 图 24:通讯连接建立 4 配置 S7-400 单站系统作为 Client 进行 Modbus TCP 通讯 下面以 S7-400 单站系统及 Modbus Slave 软件为例,详细介绍如何将 S7-400 单站系统配 置为 Client,Modbus Slave 为 Server 进行 Modbus TCP 通讯,在本例中同样使用 FC11”AG_CNTRL”版本的功能块,由于客户端和服务器模式均使用相同的功能块,因此客户 端功能块库的程序结构及各功能块完成的功能可以参考图 12 4.1 例子中使用的硬件设备及软件 本例中所用的硬件设备如下表: IA&DT Service & Support Page 23-42 表 4:客户端硬件清单 名称 数量 订货号 S7-400 电源模块 PS 407 10A 1 6ES7407-0KA01-0AA0 S7-400 CPU414-3PN/DP 1 6ES7414-3EM05- 0AB0(V5.2) S7-400 CP443-1 1 6GK7443-1EX41- 0XE0(V1.0) S7-400 机架 1 6ES7400-1JA00-0AA0 网线 若干 笔记本电脑 1 所用到软件如下表: 名称 订货号 STEP7 V5.5 组态编程软件 英文版 “ ModbusTCP CP V4.1” 软件选项包 2XV9450-1MB00 Modslave V4.3.0 免授权版本 表 5:客户端软件清单 4.2 S7-400 单站系统与 Modbus Slave 软件组态 打开 Step7 软件,新建一个工程项目文件,命名为“M_TCP_CP_V4-1(Client)”, 在项目下 插入一个 S7-400 站,如下图 19 所示: IA&DT Service & Support Page 24-42 图 25:新建 S7-400 H Station 双击插入的 SIMATIC 400 Station 的“Hardware”,打开硬件组态,在硬件组态界面下分 别插入机架,电源 PS407、CPU414-3PN/DP、CP443-1,本例中将 CP 的 IP 地址设为 192.70.44.10,如下图 26 所示: IA&DT Service & Support Page 25-42 图 26: 硬件组态并设置 CP443-1 的 IP 地址 打开 Netpro 网络组态,选中 CPU414-3PN/DP,插入一个新连接,连接伙伴为 Unspecified ,连接类型为 TCP Connection,如下图 27 所示: IA&DT Service & Support Page 26-42 图 27: 网络组态-新建 TCP connection 在打开的连接属性对话框中的“General Information”中由于 CP443-1 做 Client 主动发起 连接,因此需要勾选“Active connection estabishment”选项,ID 保持缺省即可,在“Adress” 栏中同样由于 CP443-1 做 Client,对于本地的端口号设置为 2000(一般从 2000 以外开始以 避免与别的协议资源冲突),对于通讯伙伴 Mosbus Slave 软件中 Remote 的 IP 地址设置为其 所安装的 PC 机的 IP 即可,本例中 PC 机的 IP 设置为“192.70.44.110”,而 Port 号设置为 502,如下图 28 所示: IA&DT Service & Support Page 27-42 图 28: S7-400H 为客户端的 TCP connection1 参数设置 关于服务器和端口号的设置请参考本文中 V3.2 章节说明 打开 Modbus Slave 软件,在 Connection-connection 中打开连接属性对话框,连接接 口选择“Modbus TCP/IP”,TCP/IP Server Port 为为本地服务器的端口 502,并可以勾选 “Ignore Unit ID”选项,如下图 29 所示: 图 29:对应 TCP connection 的 Modbus Slave 连接窗口 (说明-“Ignore Unit ID”选项的含义如下: Ignore Unit ID-在一些厂商的 PLC 的程序或网关忠可能会用到 Unit ID 以指定处理类型) IA&DT Service & Support Page 28-42 4.3 通讯测试 由于“ModbusTCP CP V4.1”选项包支持功能码 FC1,2,3,4,5,6,15,16,不同的 功能码测试过程中类似,因此下面同样以 FC03(读写保持寄存器)为例来说明通讯测试的整个 过程,对于其他功能码的测试将不再重复描述 需要说明的是由于客户端功能块需要定义具体的功能码,而主功能块 FB108“MODBUSCP”并没有直接的管脚来定义功能码,而是由其中的两个参数 “DATA_TYPE”和“single-write”共同决定(参见后面的管脚参数说明),详细情况如下图 30 所示: 图 30:S7-400 单站系统做客户端时不同的功能码的参数定义 由于客户端和服务器均使用相同的功能块 FB108“MODBUSCP ”的参数需要初始化,因 此分别在 OB100 及 OB1 中调用 FB108,在 OB100 中调用 FB909 完成相关参数的初始化, FB108 的管脚分布参见 V3.3 章节中的图 19 说明 下载网络组态及程序到 CPU 中,给参数 ENQ_ENR 发送脉冲信号,在打开的两个 Modbus Slave 软件窗口的“Set up->Slave Definition“中设置、寄存器连接类型、起始地址、 长度、显示的列数、数据显示格式及响应时间等,并可勾选“Hide Alias Columns”、“PLC Adresses(Base1)”、“Insert CRC/LRC error”、“Skip response”,如下图 31 所示: IA&DT Service & Support Page 29-42 图 31: Modbus Slave 中 Modbus 数据参数定义 (说明-各勾选选项的含义如下: Hide Alias Columns –隐藏注释选项 PLC Addresses(Base1) - 选择寄存器地址是基于 PLC 地址编排(1..65535)还是基于协议 编排(0-65535) Insert CRC/LRC error - 选择是否进行 CRC/LRC 错误校验 Skip response – 选择是否忽略报文丢失响应) 关于 SIMATIC 中 DB 偏移量、Modbus 物理编址、应用层编址对应关系请参考本文中 V3.3 章节图 23 说明 IA&DT Service & Support Page 30-42 在 Step7 的项目程序中新建一个变量监控表,插入需要监控的参数和数据区变量,可以 看到 Modsbus Slave 软件与 S7-400 的数据通讯已经建立起来了,双方可以进行正常的保持 寄存器数据读写操作,如下图 32 所示: 图 39:S7-400 单站系统 作为客户端与 Modbus Slave 软件通讯 5 “ ModbusTCP CP V4.1” 选项包通讯使用总结及相关注意事项 由于是通过 PC 测试软件模拟第三方设备与 SIMATIC CP443-1 进行 Modbus TCP 通讯, 因此在实际的第三方设备与 CP443-1 进行通讯时需要注意以下几点: IA&DT Service & Support Page 31-42 1) 由于订货号 2XV9450-1MB00 程序中会占用 CPU 较大的装载和工作存储区,因此对于 性能比较低特别是 S7-300 的低端 CPU 进行通讯时必须考虑一定的富余量。 2) 对于 SIMATIC S7 这边,参数 DB_x 的数据区必须使用不同的 DB 块,使用同一个 DB 的不同地址区会造成地址编排混乱,另外参数 Start_x 与 END_x 参数不能出现地址叠加情 况 3) 第三方设备的数据区与 SIMATIC S7 的数据 DB 块的地址对应关系可以先按照第三方的 数据区域 Modbus 地址的偏移关系之后计算相应的偏移量 4)建议使用项目中的样例程序,只须修改连接 ID,CP 的硬件物理地 址及相应的数据存储 区 等,能减少编程量,只须把样例程序放到一个单独的 FC 块中即可,样例程序中定义了足够 的数 据区,连接成功及错误次数指示等 5) Modbus TCP 每一包的数据最多只能发送 125 个寄存器或 2000 个比特位,超过该范围 必须 进行分包处理 6) S7-300/400 作为 Client 能与多少个 Server 建立通讯或者作为 Server 时能与多少个 Client 通 讯取决于产品所支持的 TCP 连接数,Modbus/TCP 协议并没有对此进行约束和限制 更多关于 S7 Open Modbus/TCP 通讯的详细信息请参考西门子 Industrial IT 部门的以下连 接: http://www.industrysolutions.siemens.com/industrial- services/it/en/PRODUCTS/SIMATIC_ADD_ONS/S7_OPEN_MODBUS_TCP.HTM 更多关于 Modbus TCP 的相关信息请参考 FAQ : “如何从SIMATIC建立OPEN MODBUS /TCP 通信,以及在哪可以找到更多信息? ” http://support.automation.siemens.com//CN/view/zh/22660304 附表一 CP 进行 Modbus TCP 通讯 FB 输出常见故障代码及处理 STATUS(Hex) 故障原因 处理措施 FB MODBUS 故障 A002 Modbus 起始地址 Start_x 错误 由通讯伙伴确认起始地址 IA&DT Service & Support Page 32-42
/
本文档为【基于S7-300,400以太网通讯模块CP343-1&CP443-1 Modbus TCP通讯快速入门(更新版本V4.1)13693190688】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索