S7-400HMODBUS TCP 通讯常见问题

支持MODBUS/ TCP CP

SIMATIC Modbus/TCP CP SIMATIC Modbus/TCP Red V2
CPs 支持已发布的 "SIMATIC Modbus/TCP CP" (订货号:2XV9450-1MB00) "SIMATIC Modbus/TCP Red V2" (订货号:2XV9450-1MB11) 产品。

硬件

订货号

最低固件版本

CP 343-1 Lean

6GK7343-1CX10-0XE0

V2.1

CP 343-1 Standard

6GK7343-1EX21-0XE0

V1.0.17

6GK7343-1EX30-0XE0

V2.0.16

CP 343-1 Advanced

6GK7343-1GX21-0XE0

V1.0.24

6GK7343-1GX30-0XE0

V1.0.23

6GK7343-1GX31-0XE0

V3.0

CP 443-1 Standard

6GK7443-1EX20-0XE0

V1.0.26,
V2.1.12 
不适用

6GK7443-1EX30-0XE0

V3.0及更高,不适用于 V 3.2.9

CP 443-1 Advanced

6GK7443-1EX40-0XE0

V2.2.35

6GK7443-1EX41-0XE0

V1.0.24

6GK7443-1GX20-0XE0

V2.0,
V2.1.12
不适用

6GK7443-1GX30-0XE0

V3.0, 不适用于 V 3.2.9

MDOBUS TCP冗余方案与订货信息

·         使用扩展的CP443-1

基于CP443MODBUS 冗余库一共更新了三个版本:

Ø  2XV9450-1MB01MODBUS/TCP CP RED V1

Ø  2XV9450-1MB11MODBUS/TCP CP RED V2

Ø  6AV6676-6MB30-3AX0(当前版本)

 

·         使用 CPU 集成的 PN

Ø  6AV6676-6MB10-0AX0(当前版本)

其中,早期版本V1V2版本使用参考手册

https://support.industry.siemens.com/cs/cn/zh/view/84627053

当前版本的应用则参考:

S7-400 PN-H冗余系统集成PN口使用ModbusTCP PN RED软件包的Modbus TCP快速入门

https://support.industry.siemens.com/cs/cn/zh/view/81715142

MODBUS TCP向导

https://support.industry.siemens.com/cs/cn/zh/view/60735352/en

S7-400H MODBUS/TCP 冗余通讯链路如何实现

MODBUS/TCP冗余通讯,根据通讯伙伴是否冗余,是否支持多端口,可以建立单边或双边连接。

使用早期版本的冗余库时, S7-400H站中使用CP时只允许通过502端口使用一个连接。 MODBUS TCP 创建单边连接时,S7-400H与通讯伙伴共有两条链路,双边连接共有四条链路。

由于新产品CP443-1EX30因此它们允许在本地端口502上使用多个连接,可以实现更灵活的方案

MODBUS/TCP使用的通讯资源端口号

Moodbus服务器中按缺省协议使用Port 502 通信端口,Modus客户器程序中设置任意通信端口,为避免与其他通讯协议的冲突一般建议2000开始可以使用。

CP443-1EX30/1GX30V3.2.9版本不支持端口502,因此需要将固件升级至3.2.12.

https://support.industry.siemens.com/cs/cn/zh/view/109739672/en

CPU 集成PN口能建立MODBUS/TCP链接的数量

CPU PN口可建立的MODBUS/TCP链接数量主要依赖于CPU PN口通过Open IE方式建立TCP连接所支持的TCP连接数有关。例如,AS 412-5H可建立最多46OPEN IE通讯。

S7-300/S7-400Modbus/TCP块需要多少个授权

MODBUS授权通过绑定CPU硬件进行权限校验,授权不能从一个CPU传送给另外一个CPU 用于测试目的时,Modbus/TCP 也可以无授权工作。

应该为每个CPU定购一份MODBUS授权。

如果使用冗余CPU,仅需要定购一份授权。

CPU出现故障,需要更换新的CPU时,MODBUS/TCP授权需要重新生成。

MODBUS/TCP授权校验

每个 CPU 都需要对功能块进行授权,对于 PN-H 冗余系统 CPU 来说,将只对 Rack0 CPU 进行授权验证,授权有两个步骤:读取 IDENT_CODE 和申请注册码 REG_KEY,且在 CPU 中必须调用 OB121,具体步骤请参考如下文档:

S7-400 PN-H冗余系统集成PN口使用ModbusTCP PN RED软件包的Modbus TCP快速入门

https://support.industry.siemens.com/cs/cn/zh/view/81715142

对于 Modbus/TCP 块,授权版本和下载的演示版本之间有什么差异?

下载的演示版本没有任何功能和时间限制, Modbus 通讯也可以在没有一个有效的授权的情况下运行。

如果 Modbus 块没有授权,CPU INTF SF 灯将闪烁。此外,信息周期进入 CPU 的诊断缓冲区,在用户程序中的 Modbus 模块上,输出状态值 A090(十六进制)。

MODBUS/TCP 传送数据量范围

MODBUS/TCP每一包的数据最多只能发送125个寄存器或2000个比特位,超过该范围必须进行分包处理。

在用户程序中,当 Modbus 功能块的块号已经被占用时,哪些 Modbus TCP 块可以重新命名或重新连接变量?

通过Rewire功能可以为功能块重新分配块号。

需要分配的块号见链接:

https://support.industry.siemens.com/cs/cn/zh/view/58378237

为什么尽管输入了正确的 Modbus TCP 授权,仍然输出 A090(HEX) 状态值?

https://support.industry.siemens.com/cs/cn/zh/view/58496697

当编译连接 S7-400 CPU Modbus/TCP FB CFC 图表时,为什么会出现 "时间戳冲突" 的错误消息?

https://support.industry.siemens.com/cs/cn/zh/view/103709633

如何从样例项目中将用于开放的 MODBUS / TCP"Modbus" CFC 程序块拷贝到用户项目中?

https://support.industry.siemens.com/cs/cn/zh/view/63202588