如何通过 'TP '和'TON'做一个延时报警的功能块-w

描述

SFB 3 "TP" 生成一个脉冲

SFB 3 "TP" 生成了长度为 PT的脉冲。定时器只在 STARTUP 和RUN模式下运行。

输入IN 的信号上升沿启动脉冲。在时间 PT内输出 Q 将保持置位状态,无论输入信

号是否有变化(换言之,即使 IN输入在时间 PT用完前从 0 变回 1) 。ET输出提供输

出Q 处于置位状态的时间。ET输出的最大值是 PT输入的值。输出 ET在输入 IN变

为0 时复位,但复位不会在时间 PT用完前进行。

操作系统会在冷启动期间重置 SFB 3 "TP" 的实例。如果希望在暖启动后初始化此

SFB 的实例,必须在 OB100中使用 PT = 0 ms 调用 SFB 3 。如果此 SFB 的实例位

于另一个块中,可以,例如通过初始化更高级别的块,重置这些实例。

时序图:

TP

使用SFB 4 "TON" 生成一个接通延迟

SFB 4 "TON" 使信号上升沿延迟时间 PT。定时器只在 STARTUP 和RUN模式下运

行。

IN输入的上升沿会导致时间 PT用完后输出 Q 出现上升沿。随后 Q 将保持置位状

态,直到 IN输入再次变为 0。如果 IN 输入在时间 PT用完前变为 0,输出 Q 将保持

其设置0 不变。

ET输出提供 IN 输入的上一上升沿后过去的时间。其最大值为 PT输入的值。IN 输

入变为0 时将复位 ET。

操作系统会在冷启动期间重置 SFB 4 "TON" 的实例。如果希望在暖启动后初始化此

SFB 的实例,必须在 OB100中使用 PT = 0 ms 调用 SFB 4 。如果此 SFB 的实例位

于另一个块中,可以,例如通过初始化更高级别的块,重置这些实例。

TP

例子 : 作一个延时报警的功能块FB700

TP

FUNCTION_BLOCK FB700

VAR_INPUT 输入点

EN1:BOOL; 启动条件

KT1:BOOL;  检测条件

END_VAR

VAR_output

stop_err:BOOL;//输出点

END_VAR

VAR_TEMP 临时变量没有使用

END_VAR

VAR 静态变量

m_1:BOOL;

m_2:BOOL; 

TON_1 :TON;

TP_1: tp; // time

END_VAR

TON_1(IN := EN1 AND KT1, PT := T#50s);  故障报警延时发出

m_1:=TON_1.Q;

TP_1(IN :=  m_1, PT := T#50s);

stop_err:= EN1 AND KT1 AND TP_1.Q; 有故障后持续输出50s的脉冲

END_FUNCTION_BLOCK FB块结束

责任编辑:xj

原文标题:通过 'TP '和'TON'做一个延时报警的功能块-w

文章出处:【微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分