重庆ART200模块西门子一级代理重庆ART200模块
常用的逻辑控制形式,定时器是plc中常用的元件之一。用好、用对定时器对PLC程序设计非常重要。
定时器是根据预先设定的定时值,按一定的时间单位进行计时的PLC内部装置,在运行过程中当定时器的输入条件满足时,当前值从0开始按一定的单位增加。当定时器的当前值到达设定值时,定时器发生动作,从而满足各种定时逻辑控制的需要。下面详细介绍定时器的使用。
1、S7—200PLC定时器种类
S7—200PLC为用户提供了三种类型的定时器:接通延时定时器(TON)、有记忆接通延时定时器(TONR)和断开延时定时器(TOF)。对于每一种定时器,又根据定时器的分辨率的不同,分为:1ms、10 ms和100 ms三个精度等级。
定时器定时时间T的计算:T=PT×S。式中:T为实际定时时间,PT为设定值,S为分辨率。例如:TON指令使用T35(为10ms的定时器),设定值为100,则实际定时时间为:
T=100 X 10=1 000 ms
定时器的设定值PT:数据类型为INT型。操作数可为:VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数,其中常数为常用。
定时器的编号用定时器的名称和它的常数编号(大为255)来表示,即T×××。如:T40。定时器的编号包含两方面的变量信息:定时器位和定时器当前值。定时器位即定时器触点,与其他继电器的输出相似。当定时器的当前值达到设定值PT时,定时器的触点动作。定时器当前值即定时器当前所累计的时间值,它用16位符号整数来表示,大计数值为32767。
定时器的分辨率和编号如表所列。
定时器类型 | 分辨率/ms | 大当前值/s | 定时器编号 | ||
TONR | 1 | 32.767 | T0,T64 | ||
10 | 327.67 | T1~T4,T65~68 | |||
100 | 3276.7 | T5~T31,T69~T95 TON,TOF | T32,T96 | T33~T36,T97~T100 | T37~T63,T101~T255 |
从上表可以看出TON和TOF使用相同范围的定时器编号,需要注意的是,在同一个PLC程序中决不能把同一个定时器号用作TON和TOF。例如在程序中,不能既有接通延时(TON)定时器T32,又有断开延时(TOF)定时器T32。
2、定时器指令的使用
三种定时器指令的LAD和STL格式如表所列。
表 定时器指令的LAD和STL形式
三种定时器指令的LAD和STL格式如表7.10所列。 |
表7.10 定时器指令的LAD和STL形式 格式名称接通延时定时器有记忆接通延时定时器断开延时定时器LADSTLTON T***, PTTONR T***, PTTOFT***, PT |
(1)接通延时定时器TON(On—Delay Timer)
接通延时定时器用于单一时间间隔的定时。上电周期或扫描时,定时器位为OFF,当前值为0。输入端接通时,定时器位为OFF,当前值从0开始计时,当前值达到设定值时,定时器位为ON,当前值仍继续计数,直到32767为止。输入端断开,定时器自动复位,即定时器位为OFF,当前值为0。
(2)记忆接通延时定时器TONR(Retentive On—Delay Timer)
记忆接通延时定时器对定时器的状态具有记忆功能,它用于对许多间隔的累计定时。扫描或复位后上电周期,定时器位为OFF,当前值为0。当输入端接通时,当前值从0开始计时。当输入端断开时,当前值保持不变。当输入端接通时,当前值从上次的保持值继续计时,当前值累计达到设定值时,定时器位ON并保持,只要输入端继续接通,当前值可继续计数到32767。
需要注意的是,断开输入端或断开电源都不能改变TONR定时器的状态,只能用复位指令R对其进行复位操作。
(3)断开延时定时器TOF(Off—Delay Timer)
断开延时定时器用来在输入断开后延时一段时间断开输出。上电周期或扫描,定时器位为OFF,当前值为0。输入端接通时,定时器位为ON,当前值为0。当输入端由接通到断开时,定时器开始计时。当达到设定值时定时器位为OFF,当前值等于设定值,停止计时。输入端由OFF—ON时,TOF复位;如果输入端再从ON—OFF,则TOF可实现启动。
图1所示为三种类型定时器的基本使用举例,其中T35为TON、T2为TONR、T36为TOF。
图1 定时器指令
3、定时器的分辨率(时基)及其正确使用
定时器实质就是对时间间隔计数。定时器的分辨率(时基)决定了每个时间间隔的时间长短。在S7—200系列PLC的定时器中,定时器的分辨率有1ms、10 ms、100ms三种,这三种定时器的刷新方式是不同的,从而在使用方法上也有很大的不同。这和其他PLC是有很大区别的。使用时一定要注意根据使用场合和要求来选择定时器。
(1)定时器的刷新方式
①1 ms定时器 1 ms定时器采用的是中断刷新方式,由系统每隔1ms刷新一次,与扫描周期及程序处理无关。对于大于1ms的程序扫描周期,在一个扫描周期内,定时器位和当前值刷新多次。其当前值在一个扫描周期内不一定保持一致。
②10 ms定时器 10ms定时器由系统在每个扫描周期开始时自动刷新,在每个扫描周期的开始会将一个扫描累计的时间间隔加到定时器当前值上。由于是每个扫描周期只刷新一次,故在一个扫描周期内定时器位和定时器的当前值保持不变。
③100 ms定时器 100 ms定时器在定时器指令执行时被刷新,如果100ms定时器被激活后,如果不是每个扫描周期都执行定时器指令或在一个扫描周期内多次执行定时器指令,都会造成计时失准。100ms定时器仅用在定时器指令在每个扫描周期执行一次的程序中。
(2)定时器的正确使用
图2所示为正确使用定时器的一个例子。它用来在定时器计时时间到时产生一个宽度为一个扫描周期的脉冲。
图2定时器指令的正确使用
结合各种定时器的刷新方式规定,从图中可以看出:
①对1ms定时器T32,在使用错误方法时,只有当定时器的刷新发生在T32的常闭触点执行以后到T32的常开触点执行以前的区间时,Q0.0才能产生一个宽度为一个扫描周期的脉冲,而这种可能性是极小的。在其它情况下不会产生这个脉冲。
②对10ms定时器T33,使用错误方法时,Q0.0永远产生不了这个脉冲。因为当定时器计时到时,定时器在每次扫描开始时刷新。该例中T33被置位,但执行到定时器指令时,定时器将被复位(当前值和位都被置0)。(http://www.diangon.com/版权所有)当常开触点T33被执行时,T33永远为OFF,Q0.0也将为OFF,即永远不会被置位ON。