计数器计数范围为0~32,767。计数器号不能重复使用。计数器有两种寻址类型:Word(字)和Bit(位)。计数器号既可以用来访问计数器当前值,也可以用来表示计数器位的状态。
增/减计数器指令举例如下图所示:
S7-200 SMART指令提供了下述三种类型的定时器。
接通延时定时器(TON):用于定时单个时间间隔 。
有记忆的接通延时定时器(TONR):用于累积多个定时时间间隔的时间值。
断开延时定时器(TOF):用于在 OFF(或 FALSE) 条件之后延长一定时间间隔,例如冷却电机的延时。
定时器号和分辨率
定时器对时间间隔计数。定时器的分辨率(时基)决定了每个时间间隔的长短。
S7-200 SMART提供了256个可供使用的定时器,即用户可用的定时器号为T0-T255。TON、TONR 和 TOF 定时器提供三种分辨率:1ms、10ms和100ms。(当前值的每个单位均为时基的倍数。例如,使用 10 ms 定时器时,计数 50 表示经过的时间为 500 ms )。
定时器号的分辨率(时基)及最大计数时间,如下表:
表4. 定时器号和分辨率
定时器号决定了定时器的分辨率(时基) , 并且分辨率在指令块上标出。
注意:同一个定时器编号不能同时用于 TON 和 TOF 定时器。例如,不能同时使用 TON T32和 TOFT32。
不同分辨率的定时器按以下规律刷新:
-
1ms:1ms分辨率的定时器,定时器位和当前值的更新不与扫描周期同步。对于大于1ms的程序扫描周期,在一个扫描周期内,定时器位和当前值刷新多次。
-
10ms:10ms分辨率的定时器,定时器位和当前值在每个程序扫描周期的开始刷新。定时器位和当前值在整个扫描周期过程中为常数。在每个扫描周期的开始会将一个扫描累计的时间间隔加到定时器的当前值上。
-
100ms:100ms分辨率的定时器,定时器位和当前值在指令执行时刷新。因此为了保证正确的定时值,要确保在一个程序扫描周期中,只执行一次100ms定时器指令。