同一FC5在,另一FC6块中多次调用,调用之间产生冲突!求分析!关于TEMP的问题!!!!!

我FC5全部是用的局部变量:start、stop、out、temp1、temp2.
在fc6里面改变接口地址反复调动。但是我发现调用的之间会产生冲突。但是如果把两个temp1与temp2换成out里面的两个局部变量,然后在fc6里面用M点就不会干扰。也就是说干扰的原因来自temp!我把程序挂出来,各位帮我分析下怎么回事!按理说temp是临时变量,调用结束退出块时候是不应该产生互相干扰的啊!!求分析!!!!!

问题补充:
我想问一下火麒麟,你说是因为边沿检测需要两个扫描周期,当前扫描周期内,fc执行完了就释放了。你的意思是用temp是检测不要上升沿的。但是如果刚刚一样的程序,我只调用一次FC5,仿真结果很好啊! 也就是说这也矛盾是来源于两次调用啊!

图片说明:

同一FC5在,另一FC6块中多次调用,调用之间产生冲突!求分析!关于TEMP的问题!!!!!    同一FC5在,另一FC6块中多次调用,调用之间产生冲突!求分析!关于TEMP的问题!!!!!    同一FC5在,另一FC6块中多次调用,调用之间产生冲突!求分析!关于TEMP的问题!!!!!   

最佳答案

正如你所说:“按理说temp是临时变量,调用结束退出块时候是不应该产生互相干扰的啊”

但是上升沿是需要2个周期来检测的,但临时变量没有记忆功能,在FC块调用结束后就释放了。所以,把上升沿改用全局变量吧。

提问者对于答案的评价:

专家置评

大家说的都很好。
或者按照“远”的办法,用FB也是很好的解决办法。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日
下一篇 2018年12月1日

相关推荐