当前位置: 主页 > PLC控制

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

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

图片说明:

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

最佳答案

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

提问者对于答案的评价:

专家置评

已阅,最佳答案正确。

  • 关注微信

猜你喜欢

微信公众号