S7-200子程序问题

各位大师,我在编S7-200的主程序里,调用多个子程序,发现A子程序的内部临时变量会影响到B子程序,B子程序的临时变量会影响到A子程序,这是什么原因呢?我这个程序是自由口协议带多台电子秤的,通过中断方式不断地在读各个秤的重量.这个与这种奇观现象是否相关呢?该怎样解决?谢谢!

问题补充:
L区,在子程序里用的

最佳答案

按200里面说的 在子程序里面L区是没影响的。但是实际用的好像是有时候是会这样的,那么就要把L区分开用比如你A里面用到L0-L10那么B里面就有L11-L20,要不就不要用L区了。直接用V好了啊

提问者对于答案的评价:
感谢各位了,我进一步发现,在被调用的的子程序里,如果相关的临时变量如果多有准确的赋值语句,如set ,rst,out,move则好象没有遇到过类似现象,而我在两个一级子程序里多采用了条件调用各自的二级子程序,二级子程序的输出作位一级子程序的零时变量,这样当某个子程序的二级子程序未被调用时,另外一个同级的子程序的零时变量便会影响过来,解决的办法就是将一个子程序用L区,另外一个用V区,我也曾考虑过将两个子程序调用时序错开,估计也能解决问题,但由于工作进度比较赶,也不试了.就选择我采用的办法做为最佳答案吧,谢谢各位.

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日
下一篇 2021年7月4日

相关推荐

发表回复

登录后才能评论