因為在線程序時,博途會根據(jù)畫面中的程序多少進(jìn)行重新編譯,生成可視的變量和狀態(tài)用于顯示,這必然會導(dǎo)致CPU的代碼增多,造成CPU循環(huán)周期的增加,此外在線會導(dǎo)致CPU產(chǎn)生相應(yīng)的通信負(fù)載,同樣會導(dǎo)致CPU循環(huán)周期時間延長。
當(dāng)超過了CPU循環(huán)周期的上限值,導(dǎo)致觸發(fā)OB80,如果沒有調(diào)用OB80,CPU會停機(jī)。即使調(diào)用OB80,如果連續(xù)超時兩次,或者循環(huán)周期一次性超過2倍最大的循環(huán)周期,那么CPU仍會停機(jī)。

解決這樣問題的方法有兩個,一個是限制通信負(fù)載Communication load,例如從50%降到20%,這樣的結(jié)果是限制通信的上限,保證CPU的循環(huán)周期變化較小,不會超過循環(huán)周期上限,但是這種情況不僅會導(dǎo)致程序中的通信任務(wù)變慢,也會使上傳和在線監(jiān)視程序的速度變慢,因為開放的通信負(fù)載減小了。

第二個方法是調(diào)整循環(huán)周期上限,即修改CPU屬性中設(shè)置最大的循環(huán)周期,例如2000ms,從而保證CPU的循環(huán)周期不會超過周期上限,但是這種方式需要注意在線多個程序畫面時,CPU循環(huán)周期變化過大,可能會影響現(xiàn)場的工藝控制。

同樣上傳程序也有可能因為程序過大,導(dǎo)致通信過大而CPU停機(jī)。
最后需要強(qiáng)調(diào)的是無論是哪種方式,只要CPU提示警告信息,這說明隨后的操作可能造成CPU的停機(jī),這時需要謹(jǐn)慎處理以免停機(jī)給生產(chǎn)造成損失。
作者:趙欣
