从 S7-1500 固件 V1.1开始 ,ModbusTCP 就可以免费使用了。
一、背景
S7-1200/S7-1500 提供了两个指令 MB_CLIENT 和 MB_SERVER ,可以在PROFINET连接中使用 ModbusTCP 通信。
The “MB_CLIENT” instruction communicates as a Modbus TCP client via the PROFINET connection. With the “MB_CLIENT” instruction, you establish a connection between the client and the server, send Modbus requests and receive responses and control connection termination of the Modbus TCP client.
The “MB_SERVER” instruction communicates as Modbus TCP server via a PROFINET connection. The “MB_SERVER” instruction processes connection requests of a Modbus TCP client, receives and processes Modbus requests and sends responses.
具体详情参阅 TIA 帮助文件。
二、测试
可参阅下面两篇:
- How do you program and parameterize Modbus/TCP communication between S7-1500 CPUs and S7-1200 CPUs?
https://support.industry.siemens.com/cs/ww/en/view/102020340 - 基于S7-1500 CPU集成PN口的Modbus TCP通信快速入门
https://support.industry.siemens.com/cs/cn/zh/view/90974593
为了简化,LT 按图索骥自己建立了项目并进行了连接测试,似乎 PLCSIM 不能仿真 TCP/IP 通信,故而找了一个真家伙进行测试。(更新:PLCSIM Advanced 可以仿真 TCP/IP通信)
- CLIENT_DATA : 存放 MB_CLIENT 读取和发送的数值
- SERVER_DATA : 存放 MB_SERVER 的数值
- ModbusData : 用于存放连接参数以及Modbus参数
1. ModbusData
- MB_CLIENT 的 RemoteAddress 需要填入ModbusTCP Server的IP,本文例程是 192.168.23.178
- MB_SERVER 如果要限制接入IP,可设置 remoteaddress 为客户端IP,否则保持为0.0.0.0
2. CLIENT_DATA
3. SERVER_DATA
4. Watch Table
用 dataclient 和 dataserver 两个变量监控表可以监控和修改数值
延伸阅读
- New Firmware Version V1.1 for SIMATIC S7-1500 CPUs
https://support.industry.siemens.com/cs/ww/en/view/75913484 - CPU 1513-1 PN 固件更新
https://support.industry.siemens.com/cs/cn/zh/view/78065246 - S7-1500 CPU 和显示屏的固件更新说明
https://support.industry.siemens.com/cs/cn/zh/view/77492231 - 用 WinAC 测试 ModbusTCP 通信
http://blog.davidrobot.com/2017/08/winac_modbustcp_tia.html - 基于S7-1500 CPU集成PN口的Modbus TCP通信快速入门
https://support.industry.siemens.com/cs/cn/zh/view/90974593 - TIA博图编程技巧及陷阱-通过TCON组态界面设置Modbus TCP功能块参数
http://mp.weixin.qq.com/s/jUn7UWRgoIq1YpPgF2IwVw