1.演示产品
2.配置工具
西门子博途TIA Portal
3.通讯模式
XB6S-C01SP配置为ModbusRTU主站,通过XB6S-PN2002接入西门子PLC
4.演示从站
支持ModbusRTU协议的编码器(03/06/10功能码读写操作)
5.涉及操作
串口参数配置、控制字设置、节点参数填写、I/O地址读写与通讯状态判断
如何在博途中通过实点科技插片式PROFINET协议耦合器XB6S-PN2002搭配串口通讯模块XB6S-C01SP,将西门子PLC接入ModbusRTU从站设备并实现寄存器读写?
XB6S-PN2002负责PROFINET侧与PLC的通讯,XB6S-C01SP负责串口侧的ModbusRTU主站功能,两者搭配后可在博途中完成串口参数配置、节点命令填写及I/O地址读写的全部操作。本文以支持ModbusRTU协议的编码器为例,演示03/06/10三种功能码的完整配置方法。
本例以某支持ModbusRTU协议的编码器作为从站,从其手册中查到以下三个目标寄存器操作——
• 03功能码 读2个寄存器(读取编码器当前值);
• 06功能码 写单个寄存器(重置零点);
• 10功能码 写2个寄存器(设置当前位置)。


在博途中选中XB6S-C01SP模块,点击“属性”→“模块参数”,将通讯模式设置为“ModbusRTU主站”。



波特率、停止位、字符格式、校验方式根据从站的串口参数对应填写,确保主站与从站配置完全一致。
控制字相关参数建议
若需启用控制字,控制模式建议选择“电平触发”,同时将响应超时设置为200ms、轮询延时设置为100ms,通讯稳定性更高。

提示:默认参数的轮询速度较快,部分响应较慢的从站设备可能来不及响应而报错。适当延长响应超时和轮询延时可有效提升通讯稳定性。
帧间隔参数说明
帧间隔一般保持默认1.5T即可。若遇到串口调试助手与模块通讯正常、串口调试助手与从站设备也通讯正常,但模块与从站设备之间无法通讯的情况,可尝试逐步加大帧间隔值进行测试。
在通讯模式为ModbusRTU主站且已开启控制字的前提下,按以下规则逐节点填写参数。本例配置3条命令,共需节点1~4:


说明:节点1参数1填写本次实际使用的节点数量(本例为3)。节点2起每个节点对应一条Modbus命令,参数1为十六进制格式转换后的十进制值,参数2为从站站号。
组态配置完成后,通过Q地址下发控制指令、通过I地址读取状态。

本例地址均从0开始,各地址定义如下:



QB0=1时,节点2才会参与轮询,同理,开启节点3,节点4就需要赋值QB1=1,QB2=1。
正常通讯时,状态字BIT0/BIT1/BIT2会变化,比如IB0的值一般会看到2跟5在切换,告警码一直为0;如果通讯异常,可以查看告警码。
