[西门子] 西门子PLC中SCL语言中的定时器指令

[复制链接]
查看133 | 回复0 | 3 天前 | 显示全部楼层 |阅读模式
>

点击蓝字

关注不迷路,学习非标自动化编程

西门子PLC中SCL语言中的定时器指令

在之前的梯形图方式中,我们也分享过关于定时器指令。定时器指令在编程中扮演着非常重要的角色。下面就针对西门子PLC中SCL语言的定时器指令做个分享。

TP:生成脉冲

指令格式:

"IEC_Timer_0_DB".TP(IN:=_bool_in_,PT:=_time_in_,Q=>_bool_out_,ET=>_time_out_);

使用“生成脉冲”指令,可以将参数 Q 置位为预设的一段时间。当参数 IN 的逻辑运算结果 (RLO) 从“0”变为“1”(信号上升沿)时,启动该指令。指令启动时,预设的时间 PT 即开始计时。无论未来输入信号的状态如何变化,都将为持续时间 PT 置位参数 Q。当 PT 正在计时时,在 IN 输入处检测到的新的信号上升沿对 Q 输出处的信号状态没有影响。也就是只检测上升沿触发指令。

可以通过ET 端口查看当前时间值。定时器值从 T#0s 开始,在达到设定时间PT 后结束。达到设定时间 PT 时,且输入 IN 的信号状态为“0”,则复位参数 ET。

在博图中添加指令时,会自动生成背景数据块,看指令格式.DB就明白了。插入生成脉冲:TP指令时的实际格式如下图所示:

TON:接通延时

指令格式:

接通延时定时器指令是最常用的定时器,可以使用“接通延时”指令将 Q 参数输出状态,设置延时 PT 指定的一段时间。当参数 IN 的逻辑运算结果 (RLO) 从“0”变为“1”(信号上升沿)时,启动该指令。指令启动时,预设的时间 PT 即开始计时。超过持续时间 PT 时,参数 Q 的信号状态变为“1”。只要启动输入仍为“1”,参数 Q 就保持置位。如果 IN 参数的信号状态从“1”变为“0”,则复位参数 Q。当在参数 IN 上检测到一个新的信号上升沿时,将重新启动定时器功能。同样通过ET端查看当前时间。

比如在电机的星三角降压启动中就会用到TON延时接通定时器指令。

TOF:关断延时

指令格式:

可以使用“关断延时”指令将 Q 参数的复位延时 PT 指定的一段时间。当 IN 参数的逻辑运算结果 (RLO) 从“1”变为“0”(信号下降沿)时,将置位参数 Q。当参数 IN 的信号状态更改回“1”时,预设的时间 PT 开始计时。只要时间 PT 正在计时,参数 Q 就保持置位状态。超过时间 PT 时,将复位参数 Q。如果参数 IN 的信号状态在超出时间值 PT 之前变为“1”,则将复位定时器。参数 Q 的信号状态保持置位为“1”。ET端查看当前时间。

TONR:时间累加器

指令格式:

就是我们常说的掉电保持型,可以使用“时间累加器”指令来累加由参数 PT 设定的时间段内的时间值。参数 IN 的信号状态变为“1”时,将执行时间测量,同时时间 PT 开始计时。时间 PT 计时过程中,如果 IN 参数信号状态为“1”,则记录的时间值将进行累加。如果“IN”输入处的信号状态变为“0”,时间测量将中断。如果“IN”输入处的信号状态重新变为“1”,时间测量将重新开始。累加后的时间将在参数 ET 中输出以供查询。达到时间 PT 时,参数 Q 的信号状态变为“1”。即使 IN 参数的信号状态变为“0”,Q 参数仍将保持置位为“1”。

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

每次调用“时间累加器”指令,必须为其分配一个用于存储实例数据的 IEC 定时器。

以上就是关于SCL语言的定时器指令介绍。可以通过电机的星三角降压启动为例进行指令的熟悉使用。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则