引用 460629608 在 2011/6/5 13:49:05 发言【内容省略】
廖老师的那段程序是OB20的例程,该组织块完成的功能是延时中断功能,不清楚你是否完整的看了该例子。
该例子在Network2中查询延时中断部分调用了SFC34,其STATUS引脚接驳了MW4,用于返回中断的状态。
如果你有阅读过Step7软件附带的《S7-300/400系统功能手册》中关于SFC34的章节,那么你应该可以看到:
其中的位4表示未能加载OB,也就是说,如果M5.4为1,那么就说明已经加载了延时中断组织块。
其中的位2表示延时中断未被激活或已完成,那么M5.2为1,说明正在进行延时中断。
这就解释了廖老师的那段文字,程序下载后进行RUN,系统通过SFC34查询中断状态,反馈回M5.4为1,那么说明系统已经加载OB20,如果不为1,那么廖老师没进行处理,作为程序员,你可以为程序添加不为1的处理。而M5.2为1,说明中断处于运行状态,当Q输出(也就是OB20中的程序结束时),那么中断调用结束,M5.2为0.
另: 本人使用的该书为廖老师早期版本,可能存在页码上的差异以及文字上的差异。
以上仅代表本人浅见~
Good Luck~