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

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

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

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