S7-400H的MODBUS TCP 通讯常见问题
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, |
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, |
|
6GK7443-1GX30-0XE0 |
V3.0, 不适用于 V 3.2.9 |
· 使用扩展的CP443-1
基于CP443的MODBUS 冗余库一共更新了三个版本:
Ø 2XV9450-1MB01(MODBUS/TCP CP RED V1)
Ø 2XV9450-1MB11(MODBUS/TCP CP RED V2)
Ø 6AV6676-6MB30-3AX0(当前版本)
· 使用 CPU 集成的 PN 口
其中,早期版本V1和V2版本使用参考手册
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
MODBUS/TCP冗余通讯,根据通讯伙伴是否冗余,是否支持多端口,可以建立单边或双边连接。
使用早期版本的冗余库时, S7-400H站中使用CP时只允许通过502端口使用一个连接。 MODBUS TCP 创建单边连接时,S7-400H与通讯伙伴共有两条链路,双边连接共有四条链路。
由于新产品CP443-1EX30因此它们允许在本地端口502上使用多个连接,可以实现更灵活的方案
在Moodbus服务器中按缺省协议使用Port 502 通信端口,在Modus客户器程序中设置任意通信端口,为避免与其他通讯协议的冲突一般建议2000开始可以使用。
CP443-1EX30/1GX30的V3.2.9版本不支持端口502,因此需要将固件升级至3.2.12.
https://support.industry.siemens.com/cs/cn/zh/view/109739672/en
CPU PN口可建立的MODBUS/TCP链接数量主要依赖于CPU PN口通过Open IE方式建立TCP连接所支持的TCP连接数有关。例如,AS 412-5H可建立最多46个OPEN IE通讯。
MODBUS授权通过绑定CPU硬件进行权限校验,授权不能从一个CPU传送给另外一个CPU。 用于测试目的时,Modbus/TCP 也可以无授权工作。
应该为每个CPU定购一份MODBUS授权。
如果使用冗余CPU,仅需要定购一份授权。
若CPU出现故障,需要更换新的CPU时,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 通讯也可以在没有一个有效的授权的情况下运行。
如果 Modbus 块没有授权,CPU 的 INTF 灯 或 SF 灯将闪烁。此外,信息周期进入 CPU 的诊断缓冲区,在用户程序中的 Modbus 模块上,输出状态值 A090(十六进制)。
MODBUS/TCP每一包的数据最多只能发送125个寄存器或2000个比特位,超过该范围必须进行分包处理。
通过Rewire功能可以为功能块重新分配块号。
需要分配的块号见链接:
https://support.industry.siemens.com/cs/cn/zh/view/58378237
https://support.industry.siemens.com/cs/cn/zh/view/58496697
https://support.industry.siemens.com/cs/cn/zh/view/103709633
https://support.industry.siemens.com/cs/cn/zh/view/63202588