一文解析西门子S7-1200的Modbus RTU通信

发布时间:2024-08-06  

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


1

主要使用的硬件和软件

96005c72-1ec3-11ee-962d-dac502259ad0.png

2

通信任务

9618f124-1ec3-11ee-962d-dac502259ad0.png

3

程序思路

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

96324458-1ec3-11ee-962d-dac502259ad0.png

4

PLC程序

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

9662d65e-1ec3-11ee-962d-dac502259ad0.png

967e0b68-1ec3-11ee-962d-dac502259ad0.png

9694fdbe-1ec3-11ee-962d-dac502259ad0.png

96c1290c-1ec3-11ee-962d-dac502259ad0.png

上电初始化程序

96d4983e-1ec3-11ee-962d-dac502259ad0.png

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

96f042fa-1ec3-11ee-962d-dac502259ad0.png

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

定时器程序

97090ca4-1ec3-11ee-962d-dac502259ad0.png

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

计数器程序

971ab1c0-1ec3-11ee-962d-dac502259ad0.png

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

Modbus RTU主站通信

972874a4-1ec3-11ee-962d-dac502259ad0.png

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

9738d1dc-1ec3-11ee-962d-dac502259ad0.png

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

OB中调用FB块

974aad4e-1ec3-11ee-962d-dac502259ad0.png

将该FB块在OB1中调用,并关联实参。

5

参数设置

在该项目中,需要完成5个任务(详见2. 通信任务),由于任务1和任务2不同时进行,则是4个任务进行轮询。其参数在全局数据块中进行设置,如图所示。

975f8282-1ec3-11ee-962d-dac502259ad0.png

这里的从站地址、读写模式、数据地址、数据长度需要根据实际的任务进行设定。

对于其中的一个任务需求是,读和写进行分开,所以可以通过外部的条件修改模式和给定的值,如下图所示。

97a2a5c6-1ec3-11ee-962d-dac502259ad0.png

当需要写入参数时,给定一个写命令,也就是这里的“取料完成”信号。通过该信号,更改任务1(索引是0)的读写模式和值,当该任务完成或出错,复位该信号。


6

总结

以上就是该程序的全部内容。这种定时轮询的方式优点是就算其中一个设备出现故障,由于其定时轮询的方式,也不影响其它设备,适合从站的数据类似,读写的速度接近且不要求进行故障处理的场合。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>