S7-300能调用硬件中断,但不能输出的情况2

程序如下
L     0
T     PQB  301
NOP   0

L     1
L     MW    20
+I    
T     MW    20
NOP   0

每次调用OB40,MW都会+1,但PQB 301却不输出,必须触发2次OB40(MW 20 + 2)后才能将0送至PQB 301中,很奇怪,问了很多人,没人能回答究竟是为什么,西门子没人了吗?

最佳答案

感觉应该和程序的结构有关系。还是我上次说的那样,程序先执行把过程映像输出区的结果送给输出模块再到外部设备,而你中断只是扫描了一次状态并当时改变,但这个状态不保持,扫描后还是按过程映像输出区的状态又来控制外部设备。但下面的程序有对Q点的操作,从而改变了过程映像输出区的状态,所以第二次扫描时Q点状态改变了。
你可以只保留这部分程序做实验试试。
你在中断程序中加入SFC27试试。使用说明见附件。

图片说明:

S7-300能调用硬件中断,但不能输出的情况2  

提问者对于答案的评价:
PQB不需要刷新输出映像区,但算了,分数也拿不回来,就给你了。

专家置评

参考 zengzy的解释,检查程序。已经进入OB40,
L     0
T     PQB  301
这段程序执行了。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc236383.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午3:44
下一篇 2018年12月1日 下午3:44

相关推荐