Skip to main content


 

概述

在项目的工艺流程控制中,整个流程一般会分为多个步序,每个步序运行多长时间进入下一个步序,中间需要间隔多久,正在进行的步序还剩余多长时间才能结束等等诸如此类情况,都需要用到定时器来完成。这篇文章主要介绍博途定时功能的实现。

需要的软件

编程软件:博图TIA Portal V20

模拟软件:S7-PLCSIM V20

计时程序


 

01

创建FB块

图片

这里采用FB块的方式创建公共程序块,在FC块中调用;方便定时功能多次使用。


 

02

接口定义

图片


 

03

创建程序

一般步序时间使用中,分钟和秒用的比较多,几个小时,几十分钟都可以用分钟作为运行时间单位;除非跨度比较大,需要的时间特别长才会用到小时来显示步序时间,比如泵的累计运行时间,系统的累计运行时间,设备使用时间等等,需要长期保留的时间。秒一般用在阀门的开关超时,泵的启停超时,步序间隔,模拟量突然跳变的过滤等等情况比较多。这里主要用分钟计时来作为示例,秒和小时可以参照分钟的做法完成。这里在FB块里面完成。

图片


 

04

程序调用和运行

图片

这里的程序运行逻辑是定时启停使能为TRUE,时间设定大于0,步序时间开始计时,运行显示时间会显示当前的运行时间及此步序的剩余时间;这里除了定时启停的使能为BOOL值,其它均为Dint;都可以直接在上位机使用,无须二次转换。

图片

这是分钟计时块的运行状态,当Timing_Control计时控制使能为True,Set_Min分钟设置值大于0,计时功能开始工作,Min_Show运行时间显示当前已累计的时间,Remaining显示剩余时间(设定时间减去运行时间的值)。

以上是分钟值作为步序运行时间的累积,秒和小时类似,计算方式有区别。以下是区别的地方,毫秒转换成秒乘以1000,反向显示当前运行时间再除以1000;毫秒转换成小时乘以3600x1000,反向显示当前运行时间再除以3600x1000。

图片

小时计时                    

图片

  秒计时

计时的其它应用情况


 

01

系统自带时钟

图片

我们在启用系统时钟的时候就会得到一些系统的时钟提供给我们使用,最常用的一般是1HZ,0.5HZ;可以用来做上位机和PLC的心跳检测,通讯检测,来判断通讯情况。也可以和计数器配合来做定时功能。

图片


 

02

计数器的定时使用

(1)系统时钟+计数器

图片

(2)定时器+计数器

图片

这里不能直接将定时器的Q常闭点放在定时器输入的前端,程序扫描是从上到下,从左到右,循环扫描的方式执行的,下面的常开未闭合,上面的常闭就会断开,导致计数功能不能起作用;正因为这样的扫描方式,M801.1在整个程序执行结束后,断开定时器,重新定时;完成整个定时功能。

注意点:

图片

ET必须连接参数,否则定时器不执行。

图片


 

两个定时器不要串联,否则第一个执行结束后,第二个才能开始定时。

这里可以看到定时器的便利性,需要秒定时可以直接写T#’*’S,需要分钟定时可以直接写T#’*’m,需要小时定时可以直接写T#’*’h,在不需要上位机设置时间参数的情况下也是比较方便的。

(3)工序需要暂停的情况

有时候工序的时间比较长,中间可能会暂停,这个时候,TON定时无法满足要求,暂停后会导致工序重新计时;需要用到TONR定时器即累加定时器,在工序暂停的状态下,之前的计时不会清零,工序恢复后,继续在之前的时间基础上累计,直到达到工序的设定时间。在工序中时间很多时候参与控制,有时候只是监控工序的运行效率,无论在什么样的情况下,选择合适的定时方式来满足定时的需要。


 

作者:

网名禅主,80后,2015年开始从事环保行业自控及电气系统设计,调试工作,已有10年时间;先后从事过污泥处理,工业废水处理,污水处理,市政泵站,调蓄池相关工作。

图片

2026年08月