想知道这段程序运行起来的结果,原因是什么?

这是调用了子程序“auto” 里面做一个比较指令。 然后主程序中也有使用到auto中的V29.0
(一个复位指令)  结果:现在客户那边反应看起来像V29.0 在VD0与VD200的值的上下一直做置1置0的动作。。。 望解释原因。。

图片说明:

想知道这段程序运行起来的结果,原因是什么?    想知道这段程序运行起来的结果,原因是什么?    想知道这段程序运行起来的结果,原因是什么?   

最佳答案

子程序的m0类型定义为temp,会在每个周期调用子程序时临时开辟堆栈中使用新地址,所以即使使用S,R指令,也无法保持。
1、所以该子程序直接使用实际地址,如V100.0,
2、或M0.0或者将m0改成IN_OUT类型,调用时使用外部地址V100.0/M0.0

提问者对于答案的评价:

专家置评

已阅,最佳答案正确。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年10月24日 下午6:39
下一篇 2017年10月24日 下午6:40

相关推荐