同一fc5在,另一fc6塊中多次調(diào)用,調(diào)用之間產(chǎn)生沖突!
鄭志武
發(fā)布于2012-12-04 21:39
1
0
標(biāo)簽:
我fc5全部是用的局部變量:start、stop、out、temp1、temp2.
在fc6里面改變接口地址反復(fù)調(diào)動(dòng)。但是我發(fā)現(xiàn)調(diào)用的之間會(huì)產(chǎn)生沖突。但是如果把兩個(gè)temp1與temp2換成out里面的兩個(gè)局部變量,然后在fc6里面用m點(diǎn)就不會(huì)干擾。也就是說干擾的原因來自temp!我把程序掛出來,各位幫我分析下怎么回事!按理說temp是臨時(shí)變量,調(diào)用結(jié)束退出塊時(shí)候是不應(yīng)該產(chǎn)生互相干擾的?。?!求分析?。。。?!
問題補(bǔ)充:
我想問一下火麒麟,你說是因?yàn)檫呇貦z測需要兩個(gè)掃描周期,當(dāng)前掃描周期內(nèi),fc執(zhí)行完了就釋放了。你的意思是用temp是檢測不要上升沿的。但是如果剛剛一樣的程序,我只調(diào)用一次fc5,仿真結(jié)果很好啊!也就是說這也矛盾是來源于兩次調(diào)用??!
圖片說明: 1,fc5 2,fc6 3,問題現(xiàn)象
佳答案
正如你所說:“按理說temp是臨時(shí)變量,調(diào)用結(jié)束退出塊時(shí)候是不應(yīng)該產(chǎn)生互相干擾的啊”
但是上升沿是需要2個(gè)周期來檢測的,但臨時(shí)變量沒有記憶功能,在fc塊調(diào)用結(jié)束后就釋放了。所以,把上升沿改用全局變量吧。