关于子程序的小问题

主程序如下:
 LD     M0.0
 CALL   SBR_0:SBR0
 =      Q0.1
 子程序为:
 LD     M0.0
 =      Q0.0
 其中M0.0我通过wincc来控制。但是问题是Q0.1随着M0.0的变化而亮灭,但是子程序中的Q0.0一旦在M0.0置1之后就再也不灭了,不管之后M0.0的状态如何都一直亮着,为什么会这样?

问题补充:
我是想知道错在什么地方

最佳答案

这样的原因是因为用M0.0 调用了子程序是又用M0.0作为条件控制Q0.1,当M0.0断开,主程序不在调用SBR_0:SBR0,但输出印象表的中Q0.0依然是前一个值1,并没有更改为0.
 主程序

 LD   SM0.0
 CALL   SBR_0:SBR0

 子程序
 LD M0.0
 =     Q0.1
 =     Q0.0
 

提问者对于答案的评价:
明白了

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午9:35
下一篇 2021年7月5日 上午9:35

相关推荐

发表回复

登录后才能评论