上一篇文章我们介绍了Modbus RTU通信的原理、例程中需要的硬件及网络拓扑结构,今天这篇文章,我们来介绍Modbus主站——S7-1200 CPU1215C的配置。
本例程使用的开发环境是博途V13,硬件组态如下图:
在CM1241-RS485模块的属性窗口中,对通信参数进行设置:波特率9.6Kbps、无奇偶校验、8位字符数据位、1位停止位,其它保持默认值。如下图:
查看CM1241-RS485模块的硬件标识符:
回到项目树的界面,添加启动组织块(Startup)OB100。该组织块中的代码仅在系统每次启动时执行一次,用于Modbus通信参数的配置。如下图:
在指令列表中找到Modbus_Comm_Load,将其拖放到组织块OB100(Startup)中,系统会自动为其创建背景数据块,如下图:
Modbus_Comm_Load指令中:
1) 参数“REQ”需要上升沿触发。由于该指令放在启动组织块OB100中,因此这里可以直接复制“TRUE”;
2)参数“PORT”填写CM1241-RS485的硬件标识符;
3) 参数“BAUD”为传输的波特率,默认为9600;
4)参数“MB_DB”为指令Modbus_Master的背景数据块,添加Modbus_Master指令后系统会自动创建;
更多参数的详细含义见下面的表格:
Modbus_Comm_Load指令在OB100的完整代码如下图:
代码中的“Modbus_Master_DB”是指令Modbus_Master的背景数据块,该指令将在下一篇文章讲解。
另外,还可以将Modbus_Comm_Load指令放在组织块OB1中,这种情况下要使用系统的首次扫描位来保证该指令仅在第一个扫描周期执行一次。
如下图:
关于系统首次扫描位的设置,请参考文章:如何使用S7-1200/1500的系统位与时钟位?
好了,关于Modbus-RTU主站的配置就先介绍到这里。欢迎扫描下方的二维码关注我们的微信公众号。
发表评论