课程中心
HOME
课程中心
正文内容
plc编程定时器如何编程 第4章 PLC编程中的定时器精讲
发布时间 : 2024-11-28
作者 : 小编
访问数量 : 23
扫码分享至微信

第4章 PLC编程中的定时器精讲

定时器是常用和通用的功能之一。

4.1 计数器指令

如图4.1所示,A为生成脉冲指令,与(a启动脉冲定时器)功能相同;B为接通延时指令与(b启动接通延时定时器)功能相同;C为关断延时指令与(c启动关断延时定时器)功能相同;D为时间累加器指令与(d时间累加器)功能相同;e为复位定时器指令,f为加载持续时间指令。

回顾上一章讲的计数器,就会发现计数器和定时器具有以下相同点:都具有复位功能【图4.1中e】,都具备加载功能【图4.1中f】。(计数器有计数器复位清零,计数器也有装载PV值)

图4.1 定时器指令

4.1.1 断开延时

如图4.2所示,断开延时(关断延时)的定时器的简单应用。

M1.2为CPU运行的信号,即只要CPU运行,该点就会接通。增加该点的目的是为了增加横向的分支,一个程序段可以写两行。这种编程方式沿用了西门子200samrt或者STEP7软件的编程方式,或者说其品牌的PLC编程也是需要这样实现一个分支操作。

但是博图软件对这样的问题做了优化,就是在同一个程序段,可以存在多行支路的程序。如图4.2所示为一个主干线分成2个横向支路。实际上可以允许写成多行主干线,如图4.3所示。两种编程方式对比,显然图4.3的方式更为简洁,清爽一些。但是介于之前的编程习惯,以及其他品牌的PLC的编程习惯,本人依然采用图4.2的编写方式。原因如下:为了保持解读程序的统一性,如果一个项目的程序中,有的程序段采用的一个主干线,有的采用的是多干线,在分析和查找程序时,容易按照之前的习惯,忽略下边的程序。说的直白一点,就是不习惯,也不允许自己养成新的习惯。因为其他PLC编程软件,对这种行为的定义是非法的,编译不成功的。如果看到图4.3的编程方式,在博图软件中是正确的,其他的软件中未必是正确的。

图4.2 断开延时1

图4.3 断开延时2

大致工作原理

当M21.0接通时,T[32].Q接通,M120.0接通。

当M21.0断开时,T[32].Q延时10秒断开,M120.0接通和断开情况跟随T[32].Q。

这段程序如何理解呢?当按下(电磁炉开启)按钮时,让(开始初始化运行2 M120.0)的线圈接通10秒。实际工作中就是,按下电磁炉开启按钮,需要电磁炉的风扇运行10秒后停止。这是一个初始化运行状态。这种情很常见,如开启笔记本电脑后,散热风扇先运转一段时间后停止,然后再根据电脑的温度来自动运转;在比如锅炉控制系统中,开启锅炉前,风机要进行一定时间的吹扫,吹扫完成后,才能进行后续工作。

此功能还适用于停止后的延时运转,比如变频器停止后,散热风扇会继续运转一段时间;再比如锅炉控制系统中,锅炉停止后,风机还要继续进行一端时间的吹扫;锅炉停止后,循环泵也要在继续运行一端时间;还有家用电磁炉停机后,散热风扇继续运转一段时间等等。总的来说,这个功能使用场景很多。

T[32].Q等同于图4.4中的T32常开触点,两者是在不同软件中表达方式不一样,功能和效果是一样的。

总结一下,在使用梯形图编程时,定时器接通的表现形式,目前见过的也就是这两种。其他各类品牌的PLC的定时器触点的接通也无法是这两种形式,如果你找到第三种了,可以跟大家共享一下。

图4.4 200SMART编程软件中的定时器

断开延时定时器的作用就是,当定时器的接通条件断开时,延时一定的时间再断开。延时的时间根据需要填写就好,本案例中设置的是T#10S,就是10秒。如果想设置成200MS,那么输入T#200MS。【在定时器的时间输入时,可以按照定时器的格式输入,也可以直接输入数值,比如直接输入200,就是200MS;输入10000就是10S。】

与计数器一样,定时器也需要分配背景空间。如图4.5所示,我们建立了T数组,一共是建立了1000个数据类型为IEC_TIMER的编号从0-999的定时器背景数据区。这样就将定时器的背景数据区放到了一起,避免了使用定时器自动生成很多DB块了。

图4.5 定时器数组

如图4.6所示,直接将上述功能实现了。功能与图4.2和图4.3一样,就是延时时间不一样,这里为15秒。大家会想,能用图4.6实现,何必使用上边的实现呢。有了一种既生瑜何生亮的感觉。实际上了,博图软件就是这样提供指令和功能的,大家根据需要和习惯使用就好,重点不是表现形式,重要的是功能和逻辑的实现。

举个例子,不能因为自己开车上班就嘲笑那些骑电车或者挤公交上班的,凡是存在的都是合理的。重要的是开好自己的车,上好自己的班。也不能说,我就会用博图编程,其他的编程软件都不会啊。做PLC编程的老手,不研究个五六七八种品牌的PLC编程,那就证明他们公司的业务还不够丰富。你能要求编程软件按照你的思路来吗?不可以的,咱们就是使用者,使用软件把程序编写好就行了。

图4.6 断开延时3

4.1.2 生成脉冲

如图4.7所示,为生成脉冲的定时器指令。PT的输入引脚为MD300,可用于设定延时值。当M21.0接通时,M110.2就会接通,接通时间为MD300的设定时间,设定数值以MS为单位。如MD300设定值为600,那么就是M110.2延时600Ms停止。

如果M21.0接通时间时10秒,MD300的设定时间是600,那么M110.2依然接通600Ms。总结一下就是:不管M21.0的接通时间,只要M21.0接通一次,M110.2就会运行600Ms。

如果MD300设定为10000,那么功能又跟上述功能一样了:电磁炉开启后,风扇初始化运行10秒后停止。

所以说同样的功能,同样的现象,程序呢是千奇百怪,五花八门。自己捋捋吧!

图4.7 生成脉冲

4.1.3 生成脉冲

如图4.8所示,为接通的定时器指令。是使用频次最高的定时器。也是最常用的定时器。状态1:

当(电磁炉开启M21.0)接通时,T[25]和T[26]都开始计时,当计时大于等于10秒后,M110.3接通,M110.4也会接通。如果M21.0继续保持接通,计时器会继续计时,一直到计时器的最大值。

状态2:

如果定时器都是清零状态,当(电磁炉开启M21.0)接通2秒时,T[25]和T[26]都开始计时,由于计时时间未到,M110.3和M110.4都不会接通。此时M21.0断开,T[25]的计时时间清零,T[26]的计时时间保持。这也是2个定时器的区别,一个是触发条件断开,计时器清零;一个是触发条件断开计数器不清零,具备累加功能。累加计时器想清零就得用到复位定时器指令RT指令。当然了,复位定时器指令RT指令也可以给T[25]清零。

状态3:

在状态2的基础上,当(电磁炉开启M21.0)再接通8秒时,T[25]和T[26]都开始计时,M110.3不会接通,但是M110.4会接通,因为T[26]的累计运行时间到达了10秒。

如果M21.0继续接通,直到接通10秒以后,T[25]也会接通。

注意凡是文中描述到定时器的接通,都是指定时器的Q点接通。

图4.8 生成脉冲

4.1.4 复位定时器

如图4.9所示,为复位定时器指令。当M21.2接通时,复位T[26]定时器,目的就是将定时器计时清零。当M21.2一直接通时,T[26]定时器将无法正常工作,计时持续为0,所以定时器清零的操作应该使用脉冲信号,清零后M21.2就应该断开。

图4.9 复位定时器

4.1.4 加载持续时间

如图4.10所示,为加载持续时间指令。当M21.3接通时,将T[26]定时器的PT值设置为20S,下一个周期的定时器就会以20S的计时周期来动作。

如果程序中已经有了PT值,那么覆盖原有的PT值,以最新的PT值为准。就是不管前边PT值给的多少,使用了图4.10的指令,下一个定时周期就会按照该指令执行。

图4.10 加载持续时间

4.2 问题思考

1、定时器脉冲如何制作?

2、500Ms接通一次、500Ms断开一次。与接通500Ms后再断开500Ms一样吗?

还在犹豫什么,抓紧时间实操一下吧,或者仿真操作也可以的!

喜欢的请收藏和转发!希望能帮到更多的朋友!

3种PLC软件中来看ST编程中的定时器编程

昨晚的文章用同一段点动控制程序,让大家看了一下博图/三菱/3S,三个品牌PLC中ST编程的一些特点,很相似吧!今天继续用同一段定时器程序,来看看这个3种PLC中对定时器编程的异同!

同样的废话不多说了,直接上动态图来看:

1,博图ST编程调用定时器运行程序:

TIA Portal V14中的SCL程序中对定时器监控动态图

在博图中SCL编程时,因为我是在0B1块中直接写的程序,因此调用调用定时器TON时,其实是调用IEC定时器,相当于一个功能块,熟悉STEP7的人应该知道和SFB4一样,总之是FB块就需要一个DB块,因此我程序中的T1.TON,这个T1其实就是一个DB块,我给他命名成T1了!

同样这个程序就是PB1值为1时,就让CONDITION_OK为真,这样定时器的IN管脚就接通了,定时器就开始工作!时间运行5S后,定时器的Q点也就是STEP_DONE就输出为真了!

PT处是设定的延时时间,T#5S就代表是5秒钟。

注意一下Q=>"STEP_DONE",这里的这个=>符号不是比较的意思,而是输出的意思!

别的就没什么说的了,直接看另外2种PLC程序!

2,三菱ST编程调用定时器运行程序:

GX WORKS3中的定时器程序监控动态图

三菱这个程序是基于FX5U PLC的,这个TON指令,其实属于通用函数/FB下的定时器,和梯形图编程时使用的OUT T0是不一样的! OUT TO,OUTH T0这些不清楚的可以去看一下我的问答!

程序的内容是和上面博图软件中的解释一样的,就是延时接通而已,很简单!继续往下看。

3:3S codesys ST编程调用定时器运行程序:

codesys V2.39中的定时器程序监控动态图

codesys中的定时器和三菱的就很相似了,T1出现在了声明中,且是一个标准功能块FB,可以看一下变量声明中的图片:

T1是被声明成一个TON类型的参数

这个图片上T1不是被声明成TIME,而是声明成TON,这个TON是标准功能块中的一个函数!

从3种编程软件中可以看到,在ST编程中调用定时器时,其实这个定时器是相当于一个FB函数功能块!这个是他们的共同点!

博图/三菱/3S编程软件中ST编程定时器时的用法就如本篇文章所描述的,希望对小伙伴们有点帮助。STEP7软件中的定时器用法,我在问答中也有提及,需要的朋友可以关注我到主页中去搜索!

本文到此结束,感谢阅读!

相关问答

plc中定时器怎么加?

在PLC(可编程逻辑控制器)中,定时器是一种常用的功能块,用于实现时间控制逻辑。要添加定时器功能,可以按照以下步骤进行:1.配置定时器参数:首先,需要确...在...

s7-200plc定时器怎么用?

S7-200PLC定时器可以通过编程控制来实现定时功能。首先需要在程序中定义一个定时器,设置定时器的初始值和时间常数,然后在逻辑程序中使用定时器指令来启动、...

plc定时器定义?

PLC定时器是程序可编程控制器中的一个功能模块,用于控制某个事件或操作在特定时间间隔内执行或停止。它一般包含计时器值、设定值、当前时间等参数。PLC定时器...

plc如何用定时器做脉冲周期?

在PLC(可编程逻辑控制器)中使用定时器来生成脉冲周期是一种常见的应用。以下是一种常见的方法,在PLC中使用定时器生成脉冲周期的示例:1.首先,您需要创建一...

欧姆龙plc定时器编写方法?

编写方法如下:1.首先,确定使用的定时器类型。欧姆龙PLC通常提供了多种定时器类型,如ON延时定时器(TON)、OFF延时定时器(TOF)等。根据实际需要选择适合的...

西门子1200定时器怎么编程?

1西门子1200定时器可以进行编程。2使用西门子STEP7软件对1200定时器进行编程,需要进行以下步骤:a.创建新项目,选择1200系列PLC;b.在硬件配置中...1西...

欧姆龙plc编程定时器怎样设定时间?

欧姆龙PLC编程定时器可以通过以下步骤来设置时间:可以通过欧姆龙PLC编程来设定定时器时间。设置定时器是欧姆龙PLC编程中常见的操作之一,具有很高的实用性和重...

plc怎么插入定时器?

在PLC编程中,插入定时器可以通过以下步骤完成:首先,选择一个可用的定时器数据块,并将其分配给一个变量。然后,设置定时器的时间基准,例如毫秒或秒。接下...

plc断电延时定时器怎么使用-131****0446的回答-懂得

plc断电延时定时器使用:PLC:可编程逻辑控制器,它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向...

三菱PLC定时器如何写程序?

三菱plc定时器写入程序,首先输入OUTTxkxx,其中Tx是定时器的标号,kxx是常数取值只能取k0至k32767,至于定时时间用该定时器时基乘以常数。用户程序存储容量:...

 百度人物  阴香叶 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部