如何通过 'TP '和'TON'做一个延时报警的功能块-w,sfb 2024-04-19 14:08:39 0 0 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 的实例位 于另一个块中,可以,例如通过初始化更高级别的块,重置这些实例。 时序图: 使用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 的实例位 于另一个块中,可以,例如通过初始化更高级别的块,重置这些实例。 例子 : 作一个延时报警的功能块FB700 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自动化应用】欢迎添加关注!文章转载请注明出处。 收藏(0)