vd100的值没有mov给LD9,是子程序里vd100要改成局部变量LD1吗
问题补充:
LD9改成in out后在主程序里面还是输入vd100吗
图片说明:
最佳答案
此回答已完善
子程序存在一个基本问题:临时变量未赋值先使用
当第一次执行此子程序,在M12.0上升沿先把VD100赋值给临时变量LD9,LD9再赋值给OUT参数LD5。但在第二次执行此子程序,VD100赋值给临时变量LD9不会执行,直接执行第三段把LD9赋值给OUT参数LD5,出现了临时变量未赋值先使用,这里LD9值是不确定的。
程序修改:删除子程序第三段,把LD9(初始距离)定义为IN_OUT参数,把VD100换成LD1
S7-200 SMART 系统手册
https://support.industry.siemens.com/cs/cn/zh/view/109745610
补充:
是的,作为操作数赋值给LD1(距离1),子程序中LD1值move给LD9
提问者对于答案的评价:
1
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc360736.html