前面一章节,我们介绍了沿指令的运用以及如何自写沿指令,这一章节我们来说一说另外一种常用指令---定时器。在SCL中常用的定时器指令有:

下面我们一一介绍这些指令的含义以及它们的用法。


1、TP 生成脉冲

参考下面的时序图可以加深你对该指令的理解:

西门子博途时间指令怎么用(西门子博途SCL编程语言系列分享5)(1)

TP时序图

分析下:调用我们上节课学习到的上升沿指令,作为TP定时器IN接口的参数,TP预设时间3S,当DATA.TP_IN上升沿信号触发后,R_TRIG_DB.Q输出一个扫描周期的脉冲信号,TP定时器启动,此时定时器输出Q有输出,即DATA.TP.Q为1,持续时间3S,3S后输出为0。

西门子博途时间指令怎么用(西门子博途SCL编程语言系列分享5)(2)

TP_SCL例子

2、TON 接通延时

参考下面的时序图可以加深你对该指令的理解:

西门子博途时间指令怎么用(西门子博途SCL编程语言系列分享5)(3)

TON时序图

西门子博途时间指令怎么用(西门子博途SCL编程语言系列分享5)(4)

TON例子

3、TOF 关断延时

参考下面的时序图可以加深你对该指令的理解:

西门子博途时间指令怎么用(西门子博途SCL编程语言系列分享5)(5)

TOF时序图

西门子博途时间指令怎么用(西门子博途SCL编程语言系列分享5)(6)

TOF例子

4、TONR 时间累加器(保持时间定时器)

不论参数 IN 的信号状态如何,参数 R 都将复位参数 ET 和 Q。

参考下面的时序图可以加深你对该指令的理解:

西门子博途时间指令怎么用(西门子博途SCL编程语言系列分享5)(7)

TONR时序图

西门子博途时间指令怎么用(西门子博途SCL编程语言系列分享5)(8)

TONR例子

5、RESET_TIMER 复位定时器

说明:当启动脉冲触发后,Transfer信号置位,累加定时器PT开始计时,当传输完成光电占位且货物占位光电未占位,传输完成Transfer_OUT置位,此时复位累加定时器,若在PT计时时间内,未完成传输则触发TimeOUT超时报警,此时只有Alarm_reset可以复位。

变量

类型

说明

Start

Bool

启动信号

Transfer

Bool

传输运行信号

Transfer_OUT

Bool

传输完成

Transfer_PE

Bool

传输完成PE

NO_PE

Bool

占位光电

Alarm_reset

Bool

报警复位

西门子博途时间指令怎么用(西门子博途SCL编程语言系列分享5)(9)

Reset_timer例子

6、PRESET_TIMER 加载持续时间

接着上一个案例,我们定时器的PT时间预设可以用这一条指令来给定,下面我们演示一下。

西门子博途时间指令怎么用(西门子博途SCL编程语言系列分享5)(10)

Preset_timer例子

以上就是我们在SCL语言中常用的定时器指令,大家可以多多练习,这一章节就到这里,

感谢阅读!

,