详细的西门子S7-1200 PLC的Modbus RTU通信模式配置

S7-1200 支持Modbus RTU通信模式的模块可作为Modbus RTU主站。以下以 CPU1215C DC/DC/DC和CM1241 RS485 模块为例,介绍S7-1200 Modbus RTU 主站通信组态及编程步骤。

硬件和软件需求及所完成的通信任务:

硬件:① CPU1215C DC/DC/DC ② CM1241 RS485③ PS 307电源 ④ PC(带以太网卡) ⑤ TP以太网电缆

软件:① STEP 7 Professional V11 SP2 UPD4+HSP② ModSim(该软件是第三方软件,可以从 Internet 网络下载)所完成的通信任务:将Modbus RTU从站ModSim中Modbus地址从40001开始的5个字中的数据,分别读取到Modbus RTU主站CPU1215C 中地址DB1.DBW0开始的5 个字中。

1.组态Modbus RTU 通信模块

在硬件目录里找到"通信模块"→"点到点"→"CM1241(RS485)",双击或拖拽此模块至CPU左侧即可,如下图1所示:

详细的西门子S7-1200 PLC的Modbus RTU通信模式配置

图1 组态通信模块

接下来,在"设备视图"中用鼠标选中CM1241(RS485)模块,在"属性"→"端口组态"中配置此模块硬件接口参数。如下图2所示:

以下以传输率=9.6Kbps,奇偶校验=无奇偶校验,数据位=8位字符,停止位=1,其它保持默认设置为例。

详细的西门子S7-1200 PLC的Modbus RTU通信模式配置

图2 RS485 端口设置

最后在"硬件标识符"里确认一下硬件标识符为271,如下图3所示:

详细的西门子S7-1200 PLC的Modbus RTU通信模式配置

图3 硬件标识符

2.添加启动OB

在项目树下选择"CPU1215C DC/DC/DC"→"程序块"→"添加新块",在弹出的窗口中选择"OB 组织块"→ "Startup",添加启动OB 100,如下图4所示:

详细的西门子S7-1200 PLC的Modbus RTU通信模式配置

图4 添加启动OB

3.调用MB_COMM_LOAD指令

为使端口一启动就被设置为Modbus RTU通信模式,可在OB 100中调用"MB_COMM_LOAD"指令。调用"MB_COMM_LOAD"指令时会自动弹出创建相应背景数据块的界面,如下图5所示:

详细的西门子S7-1200 PLC的Modbus RTU通信模式配置

图5 调用MB_COMM_LOAD指令

点击"确认"为该指令创建背景数据块后,为各输入/输出引脚分配地址。尤其需注意MB_DB输入引脚需指向"MB_MASTER"指令的背景数据块,如下图6所示:

注意: "MB_COMM_LOAD"指令输入位"REQ"需使用上升沿触发。由于OB 100只在S7-1200启动时执行一次,因此,此例中将"REQ"设为"TRUE"。

详细的西门子S7-1200 PLC的Modbus RTU通信模式配置

图6 MB_COMM_LOAD指令

MB_COMM_LOAD指令参数意义如下表1所示:

详细的西门子S7-1200 PLC的Modbus RTU通信模式配置

表1 MB_COMM_LOAD指令参数意义

4.创建DATA_PTR数据发送、接收缓冲区

通过"程序块"→ "添加新块",选择"数据块(DB)"创建 DB 块,选择"标准与S7- 300/400兼容" ,点击"确认"键。在DB中创建数据类型为5个字的数组,如下图7所示:

注意:DATA_PTR数据发送、接收缓冲区使用的DB访问类型必须是标准与S7- 300/400兼容。

详细的西门子S7-1200 PLC的Modbus RTU通信模式配置

图7 创建DATA_PTR 数据发送、接收缓冲区

5.调用MB_MASTER指令

在OB1中调用"MB_MASTER"指令,调用该指令时会自动弹出创建相应背景数据块的界面,如下图8所示:

详细的西门子S7-1200 PLC的Modbus RTU通信模式配置

图8 调用MB_MASTER指令

点击"确认"为该指令创建背景数据块后,并为各输入/输出引脚分配地址,如下图9所示:

注意:"MB_MASTER"指令的输入位"REQ"必须使用上升沿触发。

以下以S7-1200作为Modbus RTU主站,用F03功能码读取Modbus RTU从站2,从Modbus地址40001开始的五个字,接收的数据存放在缓冲区DB3.DBW0开始区域为例。设置如下所示:MB_ADDR=2,MODE=0,DATA_ADDR=40001,DATA_LEN=5。

地址对应关系如下表2所示:

详细的西门子S7-1200 PLC的Modbus RTU通信模式配置

地址对应关系


分享到:


相關文章: