一:定时器基本介绍
1、常用定时器无非就是 TON(接通延时)和 TOF(关断延时)两种。
2、在博图里使用定时器需要给定时器分配一个背景数据块。
1) TON(接通延时)背景数据块参数具体内容
![2963d5dd1cddc5bb04628c65f08bffb1.png](https://i-blog.csdnimg.cn/blog_migrate/95ba66b4d19ee6c902ae595699370106.jpeg)
2) TOF(关断延时)背景数据块参数具体内容
![00d45d462ed0851484373ecf42ec7c23.png](https://i-blog.csdnimg.cn/blog_migrate/f92cd50137602607d93dfc80d0fd0425.jpeg)
二:定时器的使用
1、背景数据块问题
添加定时器背景数据块有两种方式:第一种是直接由系统直接生成,好处是方便快捷,坏处是会产生多个独立的背景数据块。 第二种方式是自己新建一个数据块,然后在数据块里新添加“IEC_TIMER”或“TON_TIME”数据变量。具体如下图所示。
![013973d6150082f130590c19bef43a2d.png](https://i-blog.csdnimg.cn/blog_migrate/b5832f1783e99d3cb995c6f573529d7d.jpeg)
DB块数据
![b38a8730ca3dfc7f9bf1402b7adf2280.png](https://i-blog.csdnimg.cn/blog_migrate/541dbba6b9c1c49bc2d59780bd1e3a06.jpeg)
调用定时器
2、定时器使用一些例子
在梯形图中使用定时器还是比较直观,定时器“IN”引脚为True定时器开始工作,为False 定时器停止工作。如下图实例
![5ae0473cf17b9f61682efd83d26e5443.png](https://i-blog.csdnimg.cn/blog_migrate/2fccf7842d9c0a7babe6c608262a3850.jpeg)
在SCL中使用定时器就需要注意了首先背景数据类型为“TON_TIME”,其次不能简单的将它理解为定时器“IN”引脚为True定时器开始工作,为False 定时器停止工作。例如定时器在IF..ELSE..EndIF 里调用时要小心前端条件突然不成立定时器出现无法复位的情况 。此时我们就需要在条件不成立,此时需要对定时器复位,指令是“RESET_TIMER” 如下图实例
![dbc3a12e6b0b76d3380249d6776d0db1.png](https://i-blog.csdnimg.cn/blog_migrate/0d3832880f3e08d94c45ef315dac2e69.jpeg)
还有一个比较笨的办法就是把定时器这段程序写在IF条件之外,虽然麻烦但是还是比较直观好理解些。反正见仁见智自己用着舒服就是好办法。具体见下图实例。
![3e75e6c7a490a5afbffb599b2ba93f83.png](https://i-blog.csdnimg.cn/blog_migrate/ac58fff217783b1bbbe5553a8bab0f91.jpeg)