S7-1200PLC定时器为IEC定时器,没有固定的类似S7-200CN中的T0、T37一样的编号,使用前需要在数据块中声明IEC_TIMER类型变量才可以使用。使用的数量收CPU的存储器容量限制。
定时器介绍
S7-1200定时器包含四种定时器:
1、TP:生成脉冲定时器。
IN由“0”变成“1”时,Q由“0”变为“1”。在ET未达到PT时间前,Q均保持“1”输出状态,不受IN的状态变化影响。当ET=PT时,停止计时,Q由“1”转换为“0”。
图1TP生成脉冲定时器
2、TON:接通延时定时器。
IN为“1”时,定时器启动计时。当ET=PT时,Q输出为“1”,ET停止计时并保持当前计时状态。任意时刻IN为“0”时,ET计时时间清零,Q输出恢复为“0”。
图2 接通延时定时器
3、TOF:关断延时定时器。
IN由“0”变为“1”时,Q输出变为“1”,当IN由“1”变为“0”时,定时器计时启动,当ET=PT时,Q输出变为“0”,并定时器停止计时,保持当前计时值。任意时刻IN变为1时。Q输出变为“0”,并定时器计时值清零。
图3 TOF关断延时定时器
4、TONR:时间累加器。
IN由“0”变为“1”时,定时器开始计时,当IN由“1”变为“0”时,定时器停止计时并保持当前计时值。当ET=PT时,Q输出变为“1”。当R 由“0”变为“1”时,定时器计时值复位,Q输出变为“0”。
图4TONR时间累加器
在S7-1200指令中,定时器分为功能框定时器和线圈型定时器。如图5所示。
这两种定时器在使用上没有区别。
图5定时器指令
定时器程序编写
前面我们有介绍到,S7-1200中的IEC定时器,需要先在数据块中声明IEC_TIMER类型的定时器变量,声明方法如下:
1、将DB块声明为1个IEC_TIMER定时器。过程如“图6”所示。
1、添加新块;
2、定义新DB块名称;
3、将类型修改为“IEC_TIMER”类型;
4、点击“确定”即可;
图6DB块声明为IEC_TIMER
2、在全局DB块内,声明一个或多个IEC_TIMER类型变量。过程如“图7”所示
1、添加一个全局DB数据块,名称可任意定义;
2、在全局