解释一下s7200中定时器的不同及如何使用?

搬资料的就算了!我的资料很多!只是我看不明白 所以各位大侠给我仔细的解释一下

最佳答案

S7-200指令提供了下述三种类型的定时器。

接通延时定时器(TON):用于单一间隔的定时 
有记忆的接通延时定时器(TONR):用于累计许多时间间隔 
断开延时定时器(TOF): 用于关断或者故障事件后的延时 
定时器对时间间隔计数。定时器的分辨率(时基)决定了每个时间间隔的长短。

 定时器号决定了定时器的分辨率(时基)。

SIMATIC定时器有三种分辨率:1ms、10ms和100ms。

S7-200提供了256个可供使用的定时器,即用户可用的定时器号为T0-T255,一旦用户选择了定时器号,就意味着定时器的分辨率(时基)已经确定了。定时器号的分辨率(时基)及最大计时时间,如下表:

表1. 定时器号和分辨率
定时器类型 分辨率 最大定时值 定时器值 
TONR
(可保持) 1 ms  32.767s (0.546min.) T0, T64  
10 ms  327.67s (5.46min.)  T1-T4, T65-T68  
100 ms  3276.7s (54.6min.) T5-T31, T69-T95  
TON,TOF
(不保持) 
 1 ms  32.767s (0.546min.) T32, T96  
10 ms  327.67s (5.46min.)  T33-T36, T97-T100  
100 ms  3276.7s (54.6min.) T37-T63, T101-T255  


不同分辨率的定时器按以下规律刷新:

1ms:1ms分辨率的定时器,定时器位和当前值的更新不与扫描周期同步。对于大于1ms的程序扫描周期,在一个扫描周期内,定时器位和当前值刷新多次。 
10ms:10ms分辨率的定时器,定时器位和当前值在每个程序扫描周期的开始刷新。定时器位和当前值在整个扫描周期过程中为常数。在每个扫描周期的开始会将一个扫描累计的时间间隔加到定时器的当前值上。 
100ms:100ms分辨率的定时器,定时器位和当前值在指令执行时刷新。因此为了保证正确的定时值,要确保在一个程序扫描周期中,只执行一次100ms定时器指令。 
 注意:不能将同一个定时器号同时用作TOF和TON。例如,不能既有TON T32又有TOF T32。也不能重复使用同一定时器号定时。

 

不同定时器的功能
接通延时定时器(TON): 当使能输入接通时,定时器开始计时,在当前值(TXXX)与预置值(PT)相等时,定时器位接通。使能输入断开后,定时器当前值清零。在定时器到达预置值后,它会继续计时直到计到最大值32767才停止。 
有记忆接通延时定时器(TONR): 当使能输入接通时,定时器开始计时;在当前值(TXXX)大于等于预置值时,定时器位接通。当使能输入断开时,定时器当前值保留。若要将定时器当前值清零,必须执行复位命令。在定时器到达预置值后,它会继续计时直到计到最大值32767才停止。 
断开延时定时器(TOF): 在输入端接通时,定时器位立即接通,当前值置为零;当输入端由接通转为断开时,定时器开始计时,直到预置时间。当定时器到达预置时间时,则定时器位断开,定时器当前值停止计时。当输入断开的时间小于预设值时,定时器位保持接通。下一次输入断开后,定时器从零开始重新计时直到达到预置值。 
 

定时器在子程序中的表现
在条件调用子程序的主程序中,当停止子程序调用时,如果定时器已经激活正在计时,停止调用这个子程序会造成定时器的失控。不管此时定时器前面的激活条件如何变化,定时器(1ms、10ms 时基的)会一直走到最大值,定时器输出也会在达到设定值时接通;(100ms 时基的定时器会在上述情况下停止计时,但在逻辑上处于失控状态)。

 如果用 SM0.0 调用子程序;或者在控制逻辑的时序上做到能够保证定时功能完整执行,定时器会正常运行。使用条件调用含有定时器的子程序时,一定要注意时序逻辑,以免造成程序运行错误。

 

常问问题
 使用定时器加自复位做一个不断重复的计时,调用其他功能或子程序时,为何看起来工作不规律?

请注意《S7-200系统手册》中,或者前文关于三种定时器刷新规律的描述。

按这种方法使用定时器时,定时器的置位、复位可能与程序扫描周期不配合,存在造成上述问题的机制。

定时比较短的定时任务应使用“定时中断”功能,这样更为可靠。

 编了一个利用定时器的程序,在编译时已经通过,为何下载到CPU中时提示出错?

这种情况往往是调用的定时器号与定时器类型不配合造成的。参见上面的表格,如T7只能用作TONR,而不能用于TON或TOF。

详见西门子 S7-200 · LOGO! · SITOP 参考
Beta Version 0.93
下载地址

http://www2.ad.siemens.com.cn/Download/Upload/AS/application/A0136.chm


1.定时器指令的应用
S7-200系列PLC按时基脉冲分为1ms、10ms、100ms三种,按工作方式分为延时通定时器(TON)和保持型延时通定时器(TONR)两大类。
对于积算型定时器T3,则当输入IN为1时,定时器计时(基脉冲数);当IN为0时,其当前值保持(不像TON一样复位);下次IN再为1时,T3当前值从原保持值开始再往上加,并将当前值与设定值PT作比较,当前值大于等于设定值时,T3状态bit置1,驱动Q0.0有输出;以后即使IN再为0也不会使T3复位,要令T3复位必须用复位指令。

注意:S7-200系列PLC的定时器中1ms、10ms、100ms的定时器的刷新方式是不同的。
(1)1ms定时器  由系统每隔1ms刷新一次,与扫描周期及程序处理无关。所以当扫描周期较长时,在一个周期内可能被多次刷新,其当前值在一个扫描周期内不一定保持一致。
(2)10ms定时器  由系统在每个扫描周期开始时自动刷新。由于是每个扫描周期只刷新一次,就在每次程序处理期间,其当前值为常数。
(3)100ms定时器  在该定时器指令执行时被刷新。因而要留意,如果该定时器线圈被激励而该定时器指令并不是每个扫描周期都执行的话,那么该定时器不能及时刷新,丢失时基脉冲,造成计时失准。若同一个100ms定时器指令在一个扫描周期中多次被执行,则该定时器就会数多了时基脉冲,相当于时钟走快了。

 2.计数器指令的应用
S7-200系列PLC有两种计数器:加计数器(CTU)和加/减计数器(CTUD)。

每个计数器有一个16位的当前值寄存器及一个状态位。CU为加计数脉冲输入端,CD为减计数脉冲输入端,R为复位端 ,PV为设定值。当R端为0时,计数脉冲有效;当CU端(CD端)有上升沿输入时,计数器当前值加1(减1)。当计数器当前值大于或等于设定值时,状态位也清零。计数范围为-32768-32767,当达到最大值32767时,再来一个加计数脉冲,则当前值转为-32768。同样,当达到最小值-32768时,再来一个减计数脉冲,则当前值转为最大值32767。


相关资料:
见《S7-200系列PLC的定时器指令的使用》下载:
http://plc.zjwchc.com/file/discuss1.doc

见《S7-200系列PLC的定时器指令》连接:
http://www.dkxxw.com/xuexi/siemens/biancheng/dingshiqizhiling.htm

《西门子S7-200编程视频-第28集:定时器举例》连接:
http://www.gotogk.com/shipin/200911187099.shtml

提问者对于答案的评价:
无语了

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc317274.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午4:32
下一篇 2020年11月1日 下午4:32

相关推荐

  • S7-200程序中SM0.5的问题

    最近有个S7-200的程序,CPU226与组态王使用485自由口通讯。通信程序由组态王提供,在我后续的程序中SM0.5不能正常工作,运行中会停顿,不知何故?哪位前辈遇到过此类问题,…

    SIMATIC S7-200 2017年11月26日
  • S7200自由口通信硬件连接问题

    现在利用自由口串口通信跟上位机通信,需要完成的功能:1.定时将传感器检测的温度值发送给上位机;2.接收到上位机发来的动作指令,完成该指令后再给上位机发送反馈。有没有做过的前辈介绍一…

    SIMATIC S7-200 2021年7月5日
  • 数据显示NAN

    我用运动库Scale_EU_Pulse,VD1000作为转换对象,VD1000在其它地方显示正确,但是在该命令显示NAN 图片说明:    最佳答案 Input…

    2017年5月29日
  • 整体寄存器清零问题

    S7 200怎么清零几十个连续的寄存器。要简单的,不要一个一个清。有没有批传送指令或是其他什么指令实现。希望有个详细的程序。比如复位VB200到V800的连续寄存器. 专…

    SIMATIC S7-200 2020年11月1日
  • EM231模块供电电源疑惑!!

    2个EM231模拟量输入模块使用另外的+24V电源模块供电工作,请问这个电源模块的+24V的电源地需要和CPU224XP的自身M端连接在一起吗?(CPU224XP不提供+24V给E…

    SIMATIC S7-200 2021年7月5日
  • 两台s7-200通信

    我想两台s7-200共用一个字节如:mb0不知道行不行?怎样编程?谢谢!!!! 最佳答案 通过PPI最简单,发个例子给你看看。 提问者对于答案的评价:实例

    SIMATIC S7-200 2021年7月4日
  • 博途梯形图导出

    对于Step7 MicroWIN整个项目的的梯形图,IO表好像是可以一起打出来为PDF的,但是博途怎么解决这个问题 最佳答案 右键单击你需要打印的数据块选择打印即可你要打…

    2021年7月5日
  • S7-200子程序中使用L区(临时变量/局部变量)编写程序实现电机启保停功能,子程序多次调用时,输出异常

    S7-200中编写程序实现电机启动,保持,停止功能子程序中局部变量中定义:启动和停止为输入类型,电机启动定义为输出类型子程序中程序仅写了启保停回路子程序调用多次时,实际上不该启动的…

    2017年5月28日
  • S7-200与电脑不能通讯问题

    你好,我今天发现一个很奇怪的问题,首先我用电脑和一个S7-200(CPU226)正常通讯之后,设了个TD文本向导加一小段控制程序下到PLC中,结果PLC断电后再与电脑通讯时就不行了…

    SIMATIC S7-200 2020年11月1日
  • EM253定位问题???

    问用EM253做位置控制,我从A点走向B点走完后,再从B点返回A点却实现不了?EM253好像在包络里面只能做一个方向运动,不能做两个方向运动,怎样才能在同一个程序实现两个方向运转控…

    SIMATIC S7-200 2021年7月4日