S7-1200的定时器为IEC定时器,用户程序中可以使用的定时器数量仅仅受CPU的存储器容量限制。

使用定时器需要使用定时器相关的背景数据块或者数据类型为IEC_TIMER(或TP_TIME、TON_TIME、TOF_TIME、TONR_TIME)的DB块变量,不同的上述变量代表着不同的定时器。

:S7-1200的IEC定时器没有定时器号(即没有T0、T37这种带定时器号的定时器)。

S7-1200包含四种定时器:

此外还包含复位定时器(RT)和加载持续时间(PT)这两个指令。

指令位置参见图1,定时器引脚参考表1,定时器使用及时序图参考表2。 这四种定时器又都有功能框和线圈型两种,区别参见常见问题3。

s7-1200定时器多少个(定时器SCL指令的使用介绍)(1)

图1 指令位置

s7-1200定时器多少个(定时器SCL指令的使用介绍)(2)

表1定时器引脚汇总

S7-1200 定时器创建

S7-1200定时器创建有以下几种方法:

1. 功能框指令直接拖入块中,自动生成定时器的背景数据块,该块位于“系统块>程序资源”中,参见图2。

s7-1200定时器多少个(定时器SCL指令的使用介绍)(3)

图2 自动生成定时器的背景数据块

2. 功能框指令直接拖入FB块中,生成多重背景,参见图3。

s7-1200定时器多少个(定时器SCL指令的使用介绍)(4)

图3 多重背景

3. 功能框指令直接拖入FB、FC块中,生成参数实例,从TIA博途V14开始,参见图4。

s7-1200定时器多少个(定时器SCL指令的使用介绍)(5)

图4 参数实例

4. 在DB块、FB的静态变量、FC和FB的INOUT变量中新建IEC_TIMER、TP_TIME、TON_TIME、TOF_TIME、TONR_TIME(后面四个从TIA博途V11开始)类型变量,在程序中将功能框定时器指令拖入块中时,在弹出的“调用选项”页面点击“取消”按钮,之后将该建好的变量填入指定位置。对于线圈型指令,这是首选方法。

这里主要以DB块的方式来讲解定时器的SCL指令的使用:

新建DB块,

s7-1200定时器多少个(定时器SCL指令的使用介绍)(6)

图5 DB块

5、在SCL中调用定时器

s7-1200定时器多少个(定时器SCL指令的使用介绍)(7)

在上图中数据块1的time1没有指定定时器类型,调用时要指定定时器类型,如下图所示:

s7-1200定时器多少个(定时器SCL指令的使用介绍)(8)

对应输入IN、PT和Q的变量,本例时当I0.0为1后,延时10s后,Q0.0输出。仿真如下:

s7-1200定时器多少个(定时器SCL指令的使用介绍)(9)

通过FB来调用定时器的编程方法:

s7-1200定时器多少个(定时器SCL指令的使用介绍)(10)

OB1中程序:

s7-1200定时器多少个(定时器SCL指令的使用介绍)(11)

,