我FC5全部是用的局部变量:start、stop、out、temp1、temp2.
在fc6里面改变接口地址反复调动。但是我发现调用的之间会产生冲突。但是如果把两个temp1与temp2换成out里面的两个局部变量,然后在fc6里面用M点就不会干扰。也就是说干扰的原因来自temp!我把程序挂出来,各位帮我分析下怎么回事!按理说temp是临时变量,调用结束退出块时候是不应该产生互相干扰的啊!!求分析!!!!!
问题补充:
我想问一下火麒麟,你说是因为边沿检测需要两个扫描周期,当前扫描周期内,fc执行完了就释放了。你的意思是用temp是检测不要上升沿的。但是如果刚刚一样的程序,我只调用一次FC5,仿真结果很好啊! 也就是说这也矛盾是来源于两次调用啊!
图片说明:
最佳答案
正如你所说:“按理说temp是临时变量,调用结束退出块时候是不应该产生互相干扰的啊”
但是上升沿是需要2个周期来检测的,但临时变量没有记忆功能,在FC块调用结束后就释放了。所以,把上升沿改用全局变量吧。
提问者对于答案的评价:
哦
专家置评
大家说的都很好。
或者按照“远”的办法,用FB也是很好的解决办法。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc244222.html