三、SCL核心应用课项目实战_SCL中的定时器


前言

本文是基于B站上的《SCL核心应用课项目实战》课程,所做的笔记,主要包括程序代码和自己的理解注释。课程链接:SCL核心应用课项目实战(21课全)
陆杰锋老师讲得非常好,有理论讲解也有实战演练,需要具备一定的梯形图编程基础。
有空我会持续更新。

三、SCL中的定时器

1.IEC定时器

西门子SCL语言中的定时器指令都是使用IEC定时器,其指令包括:脉冲定时器(TP)、延时接通定时器(TON)、延时断开定时器(TOF)、保持型延时接通定时器(TONR)、复位定时器(RESET_TIMER)及定时器预设值设置(PRESET_TIMER)指令。
在这里插入图片描述
在这里插入图片描述

2.延时接通定时器(TON)

延时接通定时器(TON)指令用于信号的延时接通。从指令列表中添加该指令时会自动生成背景数据块(下图中将定时器DB块名称定义为了T1),指令初始状态如下:

#TON(IN:=_bool_in_,
     PT:=_time_in_,
     Q=>_bool_out_,
     ET=>_time_out_);//鼠标指针放在本行末尾,敲回车,Q和ET会自动隐藏

在指令中,IN和PT为必写参数,分别对应定时器的触发及定时时间,完成参数赋值后的指令如下:

"T1".TON(IN:=#复位,
         PT:=t#100ms);

注意:必须在程序段中调用#TI.Q(定时器输出),该定时器才会起作用。且具有自动补全功能:
在这里插入图片描述

3.定时器使用技巧

IEC定时器在调用的时候会需要指定其所对应的背景存储区,该存储区可以是专属背景DB块,也可以是共享数据块中的Timer数据,也可以是FB中静态存储区中的Timer数据。在编程的时候,不建议大家为每个定时器建立专属的背景DB块,该方式浪费系统数据且容易混乱。
建议以下两种方式:
1.OB块中使用定时器:建立一个专用DB块,在DB块中使用数组的方式建议若干个定时器存储区;如下图,在“IEC_Test”数据块中,分别为TON、TOF、TP定时器构建了100个定时器,同时构建了100个未指定具体类型的定时器。
在这里插入图片描述
2.在FB块中使用定时器,并选择“多重实例”。会自动在Static区域中创建一个背景数据块。
在这里插入图片描述
在这里插入图片描述

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值