摘要:Modbus RTU 在 S7-200 SMART 通信体系中,凭借其主从模式和丰富的功能,成为实现设备间可靠数据交互的重要方式。
Modbus RTU 在 S7-200 SMART 通信体系中,凭借其主从模式和丰富的功能,成为实现设备间可靠数据交互的重要方式。
下面就来为大家介绍一下如何通过3步学习轻松掌握S7-200 SMART 的Modbus RTU通信方法。
一、Modbus RTU通信模式和地址
首先为大家介绍Modbus RTU通信的模式和地址,为后面的编程打下基础。
1、通信模式
在 Modbus RTU 的主从模式下,主站承担着发起通信请求的主导角色,它通过轮询的方式,依次与各个从站进行数据交互。同一时刻,主站只能与一个从站进行通信,从站根据主站的请求发送应答数据,从站之间无法直接进行数据交换。
2、通信地址
从站地址范围为 0 - 247,其中 0 作为广播地址,S7-200 SMART 作为从站时不支持该地址,有效的从站地址为 1 - 247。
二、Modbus RTU通信功能码
其次为大家介绍Modbus RTU通信的功能码,通过丰富的功能码,S7-200 SMART可以轻松实现数据的读写操作。
Modbus RTU 的功能码丰富多样,为数据读写操作提供了有力支持。
01 - 04 功能码用于读取不同类型的寄存器,如 01 功能码可读取线圈寄存器,03 功能码用于读取保持寄存器;
05、06、15、16 功能码则用于写入操作,05 和 15 功能码可实现对线圈寄存器的单个或多个写入,06 和 16 功能码用于对保持寄存器的写操作 ;
这些功能码涵盖了工业控制中常见的数据处理需求,如图1所示。
图1 Modbus RTU通信功能码
三、Modbus RTU通信指令
有了前面两部分的基础,最后为大家介绍S7-200 SMART的编程指令,从而实现Modbus RTU的通信。
1、主站指令
在指令运用上,主站主要依靠 MBUS_CTRL 和MBUS_MSG 指令,如图2、图3所示。
图2 Modbus RTU通信主站指令MBUS_CTRL
MBUS_CTRL指令用于初始化通讯参数,包括通讯协议、波特率、校验位等,在使用时需确保每个扫描周期使能;
图3 Modbus RTU通信主站指令MBUS_MSG
MBUS_MSG指令负责具体的读写任务,在设置时要注意触发条件、从站地址、读写标识、寄存器地址等关键参数,通过其完成位和错误位可以准确判断通讯状态。
2、从站指令
从站指令包括 MBUS_INIT 和MBUS_SLAVE,如图4所示。
图4 Modbus RTU通信从站指令
MBUS_INIT指令用于从站的初始化工作,设置从站地址、波特率等参数;
MBUS_SLAVE指令则在通讯过程中实时反映从站的状态。
四、Modbus RTU通信程序示例
1、Modbus RTU 主站例程
为了更好地理解 Modbus 主站的编程,可参考下面的轮询例程(部分示意)。
注意:
该例程使用 STEP 7-Micro/WIN SMART 编写,针对端口0。
该例程仅访问一个从站,多个MBUS_MSG指令轮询执行,若访问不同的从站,可通过改变从站地址来实现。
2、Modbus RTU 从站例程
为了更好地理解 Modbus 从站的编程,可参考下面的例程(部分示意)。
注意:
该例程使用 STEP 7-Micro/WIN SMART 编写。
该例程 Modbus 从站站地址设置为 3,不同的站地址可通过修改程序中MBUS_INIT 指令的 “Addr” 引脚来实现。
熟练掌握 Modbus RTU 在 S7-200 SMART 中的应用,能够高效实现工业现场设备间的数据交互,提升工业控制系统的稳定性和可靠性,为工业自动化生产提供坚实保障。
来源:西门子工业支持中心一点号