上海西门子低压中国授权供货商
S7-1500 定时器
S7-1500 可以使用IEC定时器和SIMATIC定时器,IEC定时器仅占用CPU的工作存储器资源,可使用的数量与工作存储器大小有关;而SIMATIC定时器是CPU特定的资源,数量固定。例如CPU1515-2PN的SIMATIC定时器个数是2048个(CPU技术数据叫S7定时器)。两种定时器相比较,IEC定时器可设定的时间要远远大于SIMATIC定时器,时间精度也高。
S7-1500 SIMATIC定时器
S7-1500 IEC定时器
S7-1500 定时器常见问题
注:SIMATIC定时器从S5系列PLC就开始使用,而IEC定时器从S7-300/400才开始使用,必须使用背景DB。S7-300/400 IEC定时器类型比较少,在S7-1500/1200 指令中增加了IEC定时器类型,使用时通常采用多重背景数据块。
S7-1500 定时器指令位置参见图1。
定时器指令位置
SIMATIC定时器包含以下五种:
S_PULSE:脉冲定时器
S_PEXT:扩展脉冲定时器
S_ODT:接通延时定时器
S_ODTS:保持型接通延时定时器
S_OFFDT:关断延时定时器
下边以S_ODT(接通延时定时器)为例简单说明SIMATIC定时器的使用方法。
S_ODT 指令管脚参数参考如下表1。
S_ODTS 定时器工作时序如图2。
S_ODT 时序图
从基本指令的“定时器操作/原有”拖拽指令 S_ODT 放入程序段中,给管脚填写相关参数。见图3。
添加S_ODT 定时器
下载程序,将M10.0置个脉冲信号,定时器T0开始工作,如图4。
T0 定时器工作
定时器T0执行10S后给予输出,将M10.2置1,如图5。
T0定时器到时输出
S7-1500 IEC定时器
使用定时器需要使用定时器相关的背景数据块或者数据类型为IEC_TIMER(或TP_TIME、TON_TIME、TOF_TIME、TONR_TIME)的DB块变量,不同的上述变量代表着不同的定时器。
注:S7-1500的IEC定时器没有定时器号(即没有T0、T37这种带定时器号的定时器)。
S7-1500包含四种定时器:
生成脉冲定时器(TP)
接通延时定时器(TON)
关断延时定时器(TOF)
时间累加器(TONR)
此外还包含复位定时器(RT)和加载持续时间(PT)这两个指令。
指令位置参见上图1,定时器引脚参考下表2,定时器使用及时序图参考下表3。 这四种定时器又都有功能框和线圈型两种,区别参见常见问题3。
输入的变量
名称
说明
数据类型
备注
IN
输入位
BOOL
TP、TON、TONR:0=禁用定时器,1=启用定时器
TOF:0=启用定时器,1=禁用定时器
PT
设定的时间输入
TIME
R
复位
仅出现在TONR指令
输出的变量
Q
输出位
ET
已计时的时间
定时器引脚汇总
指令 说明 时序图
生成脉冲
LAD:
或-( TP )-
SCL:TP
IN从“0”变为“1”,定时器启动,Q立即输出“1”;当ET 当ET=PT时,ET立即停止计时,如果IN为“0”,则Q输出“0”,ET回到0;如果IN为“1”,则Q输出“1”,ET保持。 接通延时 或-( TON )- SCL:TON IN从“0”变为“1”,定时器启动; 当ET=PT时,Q立即输出“1”,ET立即停止计时并保持; 在任意时刻,只要IN变为“0”,ET立即停止计时并回到0,Q输出“0”。 关断延时 或-( TOF )- SCL:TOF 只要IN为“1”时,Q即输出为“1”。 IN从“1”变为“0”,定时器启动; 当ET=PT时,Q立即输出“0”,ET立即停止计时并保持。 在任意时刻,只要IN变为“1”,ET立即停止计时并回到0。 时间累加器 或-( TONR )- SCL:TONR 只要IN为“0”时,Q即输出为“0”。IN从“0”变为“1”,定时器启动; 当ET 当ET=PT时,Q立即输出“1”,ET立即停止计时并保持,直到IN变为“0”,ET回到0。 在任意时刻,只要R为“1”时,Q输出“0”,ET立即停止计时并回到0。R从“1”变为“0”时,如果此时IN为“1”,定时器启动。 复位定时器 LAD:-(RT)- SCL:RESET_TIMER 指令前的运算结果为"1"时使得指定定时器的ET立即停止计时并回到0。 TP指令:激活RT至取消激活RT过程中,Q和IN保持一致。取消激活RT时,如果IN为"1", ET则立即开始计时。 TON指令:当ET=PT时激活RT,Q立即输出"0"。取消激活RT时,如果IN为"1", ET则立即开始计时。 TOF指令:激活RT至取消激活RT过程中,Q和IN保持一致。 TONR指令:R与RT或的结果取代之前的R。 加载持续时间 LAD:-(PT)- SCL:PRESET_TIMER 指令前的运算结果为"1"时使得指定定时器的新设定值立即生效。(在定时器计时过程中,实时修改方框定时器的PT引脚的值在此次计时中不能生效) 定时器使用及时序图 S7-1500 IEC定时器创建 S7-1500定时器创建有以下几种方法: 1. 功能框指令直接拖入块中,自动生成定时器的背景数据块,该块位于“系统块>程序资源”中,参见图6。 自动生成定时器的背景数据块 2. 功能框指令直接拖入FB块中,生成多重背景,参见图7。 多重背景 功能框指令直接拖入FB、FC块中,生成参数实例,从TIA博途V14开始,参见图8。 参数实例 4. 在DB块、FB的静态变量、FC和FB的INOUT变量中新建IEC_TIMER、TP_TIME、TON_TIME、TOF_TIME、TONR_TIME(后面四个从TIA博途V11开始)类型变量,在程序中将功能框定时器指令拖入块中时,在弹出的“调用选项”页面点击“取消”按钮,之后将该建好的变量填入指定位置。对于线圈型指令,这是首 选方法。 DB块中新建IEC_TIMER等类型变量(LAD/FBD),如果是IEC_TIMER等类型变量的数组,S7-1500从V2.0版本开始支持,参见图9~图11。 DB块中的定义 功能框定时器使用 线圈型定时器使用 FB的静态变量中新建IEC_TIMER等类型变量(LAD/FBD),如果是IEC_TIMER等类型变量的数组,S7-1500从V2.0版本开始支持,参见图12。 静态变量中定义 FC和FB的INOUT变量中新建IEC_TIMER等类型变量(LAD/FBD),如果是IEC_TIMER等类型变量的数组,S7-1500从V2.0版本开始支持,从TIA博途V14开始支持IEC_TIMER等类型变量的变长数组(ARRAY[#]) 。 INOUT中定义 以上三种方法的SCL版本,从TIA博途V14开始支持,参见图14。 SCL中使用 从以上4个示例可以看出,IEC_TIMER、TP_TIME、TON_TIME、TOF_TIME、TONR_TIME五种数据类型没有本质的区别,可以互换使用,为使得程序明确,建议只使用定时器对应名字的数据类型。 5. 在插入DB时,选择IEC_TIMER类型的数据块,将该数据块填在指令上方。此种方法生成的数据块等同于DY种的背景数据块,位于“系统块>程序资源”中,从TIA博途V11开始,线圈型指令同样适用,参见图11。 新建IEC_TIMER类型DB