写一个db2存储定时执行_西门子S7-1200,如何在FB块中使用操作定时器?

本文介绍了S7-1200 PLC中四种类型的定时器,特别是TON和TOF的使用,并通过电机延时启停控制案例,展示了如何在FB块中操作定时器。当定时器指令过多导致背景DB块增加时,提出了使用全局DB变量或多重实例DB的解决方案,以便在FB块中有效管理定时器。
AI助手已提取文章相关产品:

在上一篇文章介绍了S7-1200 PLC的定时器,以及介绍了S7-1200 PLC与S7-200/200 SMART PLC的定时器的分类的不同及区别。

S7-1200 PLC的定时器一共有四种类型,包括脉冲定时器TP、接通延时定时器TON、关断延时定时器TOF、保持型接通延时定时器TONR。

在这篇文章就讲一个TON及TOF定时器的案例,来让大家熟悉指令的用法,以及如何在软件中进行添加和使用。

使用定时器有过多背景DB块怎么办?在FB块中使用定时器如何操作?我们带着这两个问题去学习吧。

假设我们做电机延时启停的控制,要求控制两台电机运行,按下启动按钮后,1号电机启动,延时10秒后,2号电机启动,当按下停止按钮,先停2号电机,延时10秒后再停1号电机。

1、首先创建一个变量表,如下图所示。

4817c2dcd5619994819034b185347f43.png

2、然后编写程序,注意在调用定时器时会自动提示创建背景DB块,指令上方可以看到IEC_TIMER_0_DB和IEC_TIMER_0_DB_1分别是背景DB1和DB2。

ef05b70f8a5548b8a2fa88c8e07530ad.png
f97a5c50da3c9eb085e0d333788bfc7e.png
43a054a5901fc74e74a848a54438935c.png

我们知道S7-1200 PLC的每一个定时器都是一个函数块,每个定时器都使用16字节的IEC_Timer数据类型的DB结构来存储指定的定时器数据。

那么我们每调用一个定时器指令就需要给它分配一个背景DB块,当程序中使用的定时器指令较多时,系统会生成多个DB块。

ebec0d7fc7caccf44984414f2f042996.png

那我们如果想减少程序块中使用定时器指令时生成过多的背景DB块,可以使用IEC_TIMER数据类型的变量来替代定时器的背景DB块。

我们可以建立一个全局DB块,比如创建名称为“DATA”,在全局DB中建立变量名称为TON_DB和TOF_DB,数据类型为IEC_TIMER的变量,使用该变量来代替定时器的背景DB。

5d48d28ea6980a484dabb699a42828f0.png
0541ee3eab7c63608294865295e4e1a2.png

然后在定时器指令中的变量名称改成 “DATA”.TON_DB和“DATA”.TOF_DB就可以了。

141f9014a197381b825fb1260d091ba9.png

除此之外,如果定时器指令是在FB块中使用的,也可以在给定时器分配背景DB时选择多重实例DB,这样定时器指令上的背景DB会自动在FB块的静态变量中生成一个Static数据类型的IEC_TIMER的变量。具体操作步骤如下:

1、添加一个FB块,命名为电机控制块。

fd2bd3747e51df45c31aa1c9b3ccea0d.png

2、设置好变量名称和数据类型。

ad3ceefb540fbdd9d3ccb8faa94c9730.png

3、编写FB块的内部程序,采用变量名称编程。

6dcf4c06d644e28e5a6ee2878ada865f.png

4、FB块编好之后,在OB1中进行调用,注意调用的时候会提示要分配DB块,分配好之后输入地址即可。

a49507265225d58d13a7bc7da736ecf7.png
c8c5fe945dc697fe2cfd9224e0476c29.png

以上就是在博途软件中添加定时器的使用的步骤,以及相关的问题包括有过多背景DB时如何解决,在FB块中使用定时器指令的情况如何操作等等,这些操作方法还是挺有用的哦,希望大家可以掌握~

技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究

您可能感兴趣的与本文相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值