
定时器指令是PLC编程中非常常见的指令. S7-1200系列PLC的定时器的指令格式和用法与S7-200系列PLC的不同.
S7-1200系列PLC使用IEC标准计时器指令. 用户程序中可使用的定时器数量仅受CPU内存容量的限制. 每个计时器使用16字节IEC_TIMER数据类型. DB结构,用于存储在功能框或线圈指令顶部指定的计时器数据,如下图所示.
S7-1200系列PLC的计时器类型包括脉冲计时器,接通延迟计时器,断开延迟计时器和保持性接通延迟计时器.
1. 脉冲计时器
脉冲计时器的指令标识符为TP. 该指令用于保留具有预设宽度时间的脉冲. 定时器指令的IN引脚用于使能定时器. PT引脚代表定时器的设定值,Q代表定时器的输出状态,ET代表定时器的当前值,如下图所示是脉冲定时器指令的指令格式和计时器指令已执行.
使用TP指令,可以将输出Q设置为预设的时间段. 当定时器使能端子的状态从OFF变为ON时,可以启动定时器指令并开始计时. 无论随后的使能端子的状态如何变化,输出Q都会设置为PT指定的时间. 如果计时器正在计时,则即使检测到使能端子的信号从OFF到ON,输出Q的信号状态也不会受到影响.
根据脉冲定时器的时序图分析以下程序执行过程.

当I0.5接通时,Q0.4的状态为ON. 5S之后,Q0.4的状态变为OFF. 在这5S时间内,无论I0.5的状态如何变化,Q0. 状态4始终为ON.
2. 延时计时器
接通延迟计时器的指令标识符为TON,在预设延迟时间到期后,接通延迟计时器输出Q的输出状态为ON. 指令中的引脚定义与TP定时器指令管中的引脚定义一致. 如以下程序所示,描述了延时定时器的指令格式和执行时序图.
当计时器的使能端为1时,该指令开始. 计时器指令启动后,计时器开始计数. 当定时器的当前值ET等于设定值PT时,输出Q输出为ON. 只要使能端子的状态仍然为ON,输出端子Q就会保持输出为ON. 如果使能端子的信号状态为OFF,则复位输出端子Q为OFF. 当使能端子再次打开时,计时器功能将再次启动.
根据延时定时器的执行时序图,分析下图所示程序的含义和执行过程.
该程序的主要部分是启动输出后经过一段延时后自动断开连接的程序: 当I0.5打开时,执行复位优先级指令中的置位功能以使Q0.4输出ON,当Q0.4输出为ON时,启动延迟定时器TON以使定时器工作延迟,经过10S的延迟后,定时器Q输出的输出为ON,复位优先级指令中的复位端子信号为ON,则执行复位功能,因此Q0.4输出为ON.
前面介绍了S7-1200系列PLC的四种定时器中TP定时器和TON定时器的指令格式和应用. 接下来,我们将介绍其他两种定时器的指令格式和应用.
3. 断开延迟计时器

关闭延迟计时器的指令标识符为TOF,关闭延迟计时器的输出Q在预设延迟时间后重置为OFF. 指令中的引脚定义与TP / TON定时器指令的引脚定义一致. 如以下程序所示,描述了延时定时器的指令格式和执行时序图
当定时器的启用端子为ON时s7 1200接通延时器,将输出端子Q设置为ON. 当使能端子的状态变回OFF时,计时器开始计数. 只要ET的值小于PT的值,输出Q就会保持置位状态. 当ET的值等于PT时,输出Q将被复位. 当ET的值小于PT的值时,如果输入使能端子的信号状态变为ON,则计时器复位. 输出Q的信号状态仍将为ON.
根据关闭延迟计时器的时序图,分析下图所示程序的含义.
根据对TOF计时器执行过程的分析,可以看出该程序代表一个延迟过程. 当I0.5打开时,Q0.4输出打开;当I0.5更改时,Q0.4保持输出10S,然后自动断开连接.
4. 保持性延迟计时器
保持性接通延迟计时器的标识符为TONR. 保持性接通延迟计时器的功能与接通延迟计时器的功能基本相同. 区别在于保持性延时计时器. 当定时器输入的状态为OFF时,不会清除定时器的当前值;当延迟定时器为ON时,当定时器输入为OFF时,将自动清除定时器的当前值如下图所示,它描述了保持性延时定时器的指令格式以及执行该指令时的时序图.
当定时器禁用端子为ON时,启动定时器. 只要计时器的启用端保持打开状态,就会记录运行时间. 如果使能端子关闭,则该指令将暂停计时. 如果使能端子变回ON,则继续记录运行时间. 如果定时器ET的当前值等于设定值PT,并且指令使能端子为ON,则定时器输出的状态为1. 如果定时器的复位端子为ON,则定时器的当前值为清除为零,输出状态变为OFF.
根据保持性接通延迟计时器的时序图,分析下图所示程序的含义.
当I0.5打开时,计时器TONR开始执行延迟功能. 如果定时器延迟时间未达到10S时I0.5变为OFF,则定时器的当前值保持不变. 更改时,当I0.5再次变为ON时,计时器将继续按原始计数. 当计时器的延迟时间达到10S时,Q0.4输出为ON. 在任何时候,只要I1.1的状态为ON,计时器的当前值就会被清除并且输出Q0.4会复位.
【申请】
S7-1200系列PLC的定时器使用IEC格式的定时器,每个定时器都是一个FB块s7 1200接通延时器,因此需要为每个定时器分配一个对应的后台DB块来存储定时器的相应数据. 如果程序中使用了许多计时器,则需要为每个计时器分配一个后台DB,这将生成大量数据块“片段”.
为了解决此问题,我们可以通过以下两种方法来实现:
1. 在全局DB块中创建IEC_TIMER数据类型的变量,然后使用该变量替换计时器中的后台DB.
当需要在程序的OB块或FC块中使用计时器时,可以首先在全局DB块中建立IEC_TIMER数据类型的相应变量. 调用计时器指令时,提示您分配. 单击该块时,可以单击“取消”,然后在计时器的输入实例数据块中,选择在全局中创建的IEC_TIMER数据类型的变量. 块. 如下图所示,在数据块中建立了两个变量“ Start Delay”和“ Off Delay”,变量的类型均为IEC_TIMER变量.
变量的创建完成后,可以在编写程序时调用计时器时将背景变量分配给背景块,并且可以在过去分配相应的变量,如下所示:

2. 在FB块接口区域的静态变量中创建数据类型为IEC_TIMER的变量,然后将其分配给计时器.
在程序设计过程中,也可以在FB块中使用计时器,因为调用FB块时需要将其分配给后台DB,如果需要在FB块中使用计时器,您可以在接口区域的静态变量中建立IEC_TIMER数据类型的变量,如下图所示,接口区域的静态变量具有数据类型IEC_TIMER的两个变量“启动延迟计时器”和“关闭延迟”计时器”.
在FB块中建立静态变量后,可以如下编写PLC程序:
(1)FB块中的程序:
(2)建立FB块的程序后,需要在OB1中调用FB块. 调用后,系统会自动提示为FB块生成一个背景数据块.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/dianqi/article-249108-1.html
我相信他讲的是理念
我们的原则是不惹事人怕事
而且又是密封包装
你帅的太离谱了