上海西门子低压中国授权供货商
- 供应商
- 浔之漫智控技术(上海)有限公司
- 认证
- 品牌
- 西门子
- 型号
- 低压电器
- 产地
- 德国
- 联系电话
- 13564949816
- 全国服务热线
- 13564949816
- 销售经理
- 王华
- 所在地
- 上海市松江区广富林路4855弄大业领地88号3楼
- 更新时间
- 2024-05-22 08:20
上海西门子低压中国授权供货商
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/400iec定时器类型比较少,在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<pt时,in的改变不影响q的输出和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<pt时,in为“1”时,则et保持计时,in为“0”时,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
展开全文