198366809 发表于 2021-2-27 22:27:33

西门子PLC如何处理延时中断1:延时中断组织块及其相关系...

来源​:塞北名驼​(头条)【前言】接下来的几篇文章,将深入讨论一下延时中断的概念,包括延时中断组织块OB20-OB23及与延时中断相关的系统功能:启动延时中断:SFC32取消延时中断:SFC33查询延时中断:SFC34本文先简单介绍一些基本概念,深入用法将在后续逐步推出。一、延时中断组织块STEP7提供了最多四个延时中断组织块:OB20、OB21、OB22、OB23。不同型号的PLC支持的延时中断个数不同,如图1.1、图1.2所示,CPU315仅支持OB20一个延时中断,而CPU416则支持全部的四个延时中断。具体情况可参阅相应的硬件手册。https://p6-tt.byteimg.com/origin/pgc-image/c5ff7b1fa63142fea10ff55a0ecdc1ee?from=pc图1.1 S7-300 延时中断OB20
https://p3-tt.byteimg.com/origin/pgc-image/9b2f857ebc2943fa9f5e8b2f246fc082?from=pc

延时中断需调用SFC32(SRT_DINT)来实现。调用SFC32时,会同时指定一个延时时间,操作系统在延时时间过去后生成一个中断,此即为"延时中断"。二、与延时中断相关的系统功能1、SFC32(SRT_DINT)启动延时中断系统功能SFC32用于启动延时中断,如图2.1为SFC32的管脚图。https://p6-tt.byteimg.com/origin/pgc-image/c9f1ea05ad974b95afd88b949070cca8?from=pc图2.1 SFC32:启动延时中断
2、SFC33(CAN_DINT)取消延时中断调用SFC33可以取消已经启动的延时中断,即不再调用相应的延时中断OB,如图2.2为SFC33的管脚图。https://p6-tt.byteimg.com/origin/pgc-image/667e6b648e604c68a6a38587b7efad51?from=pc图2.2 SFC33:取消延时中断
3、SFC34(QRY_DINT)查询延时中断系统功能SFC34用于查询延时中断OB的状态,包括启用、激活、过期及禁用几个状态,如图2.3为SFC34的管脚图。https://p3-tt.byteimg.com/origin/pgc-image/d94cf28589fa44189cf61da8049af85e?from=pc图2.3 SFC34:查询延时中断
三、处理延时中断的一些注意事项1、必须满足以下条件,操作系统才能调用延时中断OB(OB20-OB23):
[*]必须调用SFC32启动延时中断
[*]该延时中断未被取消(调用SFC33可取消延时中断)
[*]不同型号的CPU支持的延时中断号有所不同,使用延时中断前必须查询相关的硬件手册,确认其所支持的延时中断。
2、如果延时中断启动后,在延时时间内再次被启动(SFC32重复使能),则系统将重写延迟时间,并重写启动延时中断。3、本次延时时间已过,上一次的延时中断OB却仍在执行,则系统将生成时间错误,可以在OB80(时间错误组织块)中编写错误响应程序。默认情况下,CPU将切换到STOP模式。

十八子 发表于 2021-2-27 22:27:34

看完楼主的帖子,我的心情竟是久久不能平息,受教了

372926198501293 发表于 2021-2-27 22:31:35

这个类目最活跃了!赞一个!

韩向杰 发表于 2025-11-15 01:07:16

求个链接 / 教程,楼主好人一生平安~

SXTY 发表于 2025-11-15 01:30:26

学到干货了,感谢分享,已火速收藏

rryyrryy123 发表于 2025-11-15 01:56:41

楼主太会说了,字字句句都在理

路飞sh 发表于 2025-11-15 05:45:22

画面感太强了,仿佛身临其境!

西门子新手 发表于 2025-11-15 09:58:23

笑不活了,评论区比正文还精彩
已转发给朋友,一起快乐一下

wangzhaolost 发表于 2025-11-15 09:59:29

内容太顶了!疯狂点赞,已默默收藏~

tony_dream 发表于 2025-11-15 10:03:09

占个楼慢慢看,先马克一下
楼主辛苦啦,期待下一篇分享
页: [1] 2
查看完整版本: 西门子PLC如何处理延时中断1:延时中断组织块及其相关系...