广东湘恒智能科技有限公司
主营产品: 西门子变频器,西门子PLC\西门子模块、西门子触摸屏、西门子伺服电机、西门子工控机、西门子集成系统、西门子低压、西门子控制单元、西门子CPU,广东省西门子授权代理商,等
SIEMENS海南省三亚市西门子(授权)中国一级代理-西门子变频器伺服电机总代理

西门子S7-1200通过通信板和通信模块可以进行Modbus RTU通信,PLC作为控制器,一般用作Modbus主站。当作为Modbus主站时,一般会对多个从站设备的参数进行轮询。本文介绍西门子S7-1200作为Modbus RTU主站时的定时轮询程序。

1

主要使用的硬件和软件

图片

2

通信任务

图片

3

程序思路

 要实现该功能,采用定时器轮询的方式来读写参数,其流程图如下所示。

图片

4

PLC程序

在该程序中,使用FB块的方式进行封装,其用到的PLC变量、PLC数据类型、全局数据、FB接口如下所示。

图片

图片

图片

图片

上电初始化程序

图片

将有效的工作模式改成4,也就是半双工(RS485)二线制模式

图片

初始化Modbus组态端口,首次循环、硬件标识符、波特率、奇偶校验在形参中定义,MB_DB来自Modbus RTU主站的背景数据块。

定时器程序

图片

定义100ms的定时器脉冲,该时间可根据Modbus主站读写的速度来调整。

计数器程序

图片

定义计数器的值,通过定时器接通的信号,进行计数加1,当计数值大于等于任务数的时候,则复位计数值。这里的任务数是Modbus轮询时的任务数量,该程序中任务数4。

Modbus RTU主站通信

图片

由于PLC数据类型(UDT)的数组是从0开始,所以对计数值进行减1操作。

图片

Modbus主站轮询的程序,定时器接通信号作为触发信号,输入数据和状态使用PLC数据类型(UDT),不同的任务使用索引来寻址。


展开全文
相关产品
拨打电话 微信咨询 发送询价