S7-1200/1500 Modbus 通信实战指南

1
Modbus RTU通信规约

根据Modbus RTU通信规约的定义,Modbus RTU字符帧包括:
1个起始位
8个数据位
1个或无校验位
1个或2个停止位
其中,无校验位时,停止位个数为2位,1个校验位时,停止位为1位;ModbusRTU通信规约规定,其字符帧需要保证11位的通信格式。
Modbus RTU通信规约的描述如下图1所示:

图1

2
S7-1200/1500 Modbus RTU通信概述

SIMATIC S7-1200/1500PLC支持标准的Modbus RTU通信协议,可以作为主站或者从站与西门子及第三方设备进行通信。目前TIA Portal中集成用于ModbusRTU通信的指令版本有V1.X、V2.x、V3.x、V4.x,V3.0及以下版本的Modbus_Slave指令是直接访问过程映像区和保持性寄存器,对于保持性寄存器,只能把固定某一个DB数据映射到以40001开始的寄存器地址。自V4.0及以上版本的Modbus_Slave指令,可把多个DB数据映射到任意Modbus地址开始的数据区域,实现了数据的灵活访问,如下图所示。
图2
Modbus RTU从站V5.0及以上版本指令Modbus_Slave使用条件:
TIA Portal v15及以上版本
S7-1200 CPU V4.2及以上版本
S7-1500 CPU V2.5及以上版本