哪些通信口可以被释放来进行 Modbus/TCP 通讯,有多少 Modbus 客户机程序可以像 Modbus 服务器一样与 SIMATIC S7 CPU 通信?
被释放进行 Modbus/TCP 通讯的通信端口
以下通信端口可使用于 Modbus/TCP 协议:
- 在 Modbus 服务器中按缺省协议使用 Port 502 通信端口。
- 可以在 Modbus 客户机程序中设置任意通信端口,端口号从 2000 开始可以使用。
如果通信伙伴为服务器设置端口号提供选择,那么通过除 502 端口以外的端口就可以使用 Modbus/TCP 协议进行通讯。
如果使用 SIMATIC 作为 Modbus 服务器,那么关于通道数就会有大量的 CPU 受限。以下端口号是为本地端口释放的:
CPU | MLFB | 软件版本 | 被释放的通信端口 |
IM151-8 | 6ES7 151-8AB00-0AB0 | 一直到 V2.6 版本 | 2000 到 5000 |
IM151-8 | 6ES7 151-8AB00-0AB0 | 从 V2.7 版本开始 | 所有 |
CPU 315-2PN/DP | 6ES7 315-2EG10-0AB0 | 一直到 V2.3.4版本 | 2000 到 5000 |
CPU 317-2PN/DP | 6ES7 317-2EK13-0AB0 | 一直到 V2.3 版本 | 2000 到 5000 |
CPU 319-3PN/DP | 6ES7 318-2EL00-0AB0 | 一直到 V2.6 版本 | 2000 到 5000 |
CPU 319-3PN/DP | 6ES7 318-2EL00-0AB0 | 从 V2.7 版本开始 | 所有 |
如果使用 SIMATIC 作为 Modbus 客户机程序,那么关于通道数就没有限制。可以设置任何 CPU 远程通信端口。
通过 Modbus/TCP 协议可以通信连接的通道数:
每一个 CPU 的本地端口号只能使用一次。一旦为某个端口建立了通信连接,那么就不能在为此端口建立其他的连接了。
如果 CPU 被用作 Modbus 服务器,那么对多数 Modbus 客户机程序来说,要建立通信连接有两个选择。
- 在 Modbus 客户机程序中为 Modbus 服务器参数化端口号。


Fig. 01
- 所有的 Modbus 客户机程序都通过 502 通信端口访问 Modbus 服务器。
持续的工作控制和连接的清除是非常必要的。 Modbus 服务器每次通过 502 端口只能与一个 Modbus 客户机程序通讯。 在另外一个客户机程序访问 Modbus 服务器之前,第一个 Modbus 客户机程序与 502 端口的连接必须清除,502 端口被释放。只有 502 端口被释放了,另外一个 Modbus 客户机程序才可以通过通信口访问 Modbus 服务器。
Case 01


Fig. 02
Case 02


Fig. 03


Fig. 04


Fig. 05