使cpu進入stop的情況很多,比如地址調用錯誤,沒有下載需要DB塊,編程錯誤等等,如果你想避免錯誤時不使CPU進入停止狀態,你可以在程序中加入特殊的OB塊,則出現相應問題,調用相應的OB塊,雖然裏麵沒程序,PLC將對錯誤錯誤不作任何處理,繼續運行。否則PLC將進入停機狀態,比如:
OB73通訊冗餘(yu) 出錯OB
當容錯S7連接中發生首次冗餘(yu) 丟(diu) 失時,H CPU的操作係統將調用OB73(隻有在S7通訊中才會(hui) 有容錯S7連接。更多信息,請參見“S7-400 H可編程控製器,容錯係統。”)。如果其它容錯S7連接發生了冗餘(yu) 丟(diu) 失,則不會(hui) 再有OB73啟動。直到為(wei) 具有容錯功能的所有S7連接恢複冗餘(yu) 後,才會(hui) 出現另一個(ge) OB73啟動。如果發生了啟動事件且OB73沒有編程,CPU不會(hui) 轉為(wei) STOP模式。
OB80時間出錯組織塊
無論何時執行OB時出錯,S7-300 CPU的操作係統將調用OB80。此類錯誤包括:超出周期時間、執行OB時出現確認錯誤、提前了時間而使OB的啟動時間被跳過在CiR後恢複RUN模式。例如,如果在上一次調用之後發生了某一周期性中斷OB的啟動事件,而同一OB此時仍在執行中,則操作係統將調用OB80。如果OB80尚未編程,則CPU將轉為(wei) STOP模式。可以使用SFC 39至42禁用或延遲和重新啟用時間出錯OB。
OB81電源出錯組織塊
隻要發生由錯誤或故障所觸發的事件,而此錯誤或故障又與(yu) 電源(僅(jin) 在S7-400上)或備用電池(當事件進入和離開時)有關(guan) ,則S7-300 CPU的操作係統調用OB81。在S7-400中,如果已使用BATT.INDIC開關(guan) 激活了電池測試功能,則隻有在出現電池故障時才會(hui) 調用OB81。如果OB81沒有編程,則CPU不會(hui) 轉為(wei) STOP模式。可以使用SFC 39至42禁用或延遲,並重新啟用電源出錯OB。
OB82診斷中斷組織塊
如果具有診斷功能的模塊(已為(wei) 其啟用了診斷中斷)檢測到錯誤,則它會(hui) 輸出一個(ge) 診斷中斷的請求給CPU(當事件進入和離開時)。則操作係統調用OB82。 OB82的局部變量包含邏輯基址和四字節的故障模塊的診斷數據(請參見下表)。如果OB82尚未編程,則CPU轉為(wei) STOP模式。可以使用SFC 39至42禁用或延遲,並重新啟用診斷中斷OB。
OB83插入/刪除模塊中斷組織塊
在下列情況下,CPU操作係統會(hui) 調用OB 83:插入/刪除已組態模塊後在STEP 7下修改模塊參數以及在運行期間將更改下載至CPU後可借助SFC 39至42禁用/延遲/啟用插入/刪除中斷OB。OB84CPU硬件故障組織塊在下列情況下,CPU中的OS將調用OB84:已檢測到並更正了內(nei) 存出錯之後對於(yu) S7-400H:如果兩(liang) 個(ge) CPU之間的冗餘(yu) 鏈接的性能下降可以使用SFC 39至42禁用或延遲CPU硬件出錯OB,然後再次啟用它。OB85優(you) 先級出錯組織塊隻要發生下列事件之一,CPU的操作係統即調用OB85:尚未裝載的OB(OB81除外)的啟動事件。操作係統訪問模塊時出錯。在係統更新過程映像期間出現I/O訪問錯誤(如果由於(yu) 組態原因,未禁止OB85的調用)。
OB86機架故障組織塊
隻要在分布式I/O (PROFIBUS DP或PROFInet IO)中檢測到中央擴展機架(不帶S7-300)、DP主站係統或站故障(進入事件與(yu) 離開事件時),CPU的操作係統調用OB86。如果OB86尚未編程,當檢測到此種類型的出錯時,CPU將轉為(wei) STOP模式。可使用SFC 39至42禁用或延遲,並重新啟用OB86。
OB87通訊出錯組織塊
隻要發生由通訊出錯導致的事件,CPU的操作係統就會(hui) 調用OB87。
如果OB87尚未編程,CPU不會(hui) 轉為(wei) STOP模式。可以使用SFC 39至42禁用或延遲,並重新啟用通訊出錯OB。
OB 88處理中斷OB
程序塊執行被中止後,CPU操作係統將調用OB 88。導致此中斷的原因可能是:
同步出錯的嵌套深度過大
塊調用(U堆棧)的嵌套深度過大
分配本地數據時出錯
如果未對OB 88編程且程序塊執行被中止,則CPU進入STOP模式
(事件ID W#16#4570)。如果在優(you) 先級28下中止了程序塊執行,則CPU進入STOP模式。可借助於(yu) SFC 39至42禁用、延遲和啟用處理中斷OB。
OB121編程出錯組織塊
隻要發生同程序處理相關(guan) 的錯誤所導致的事件,CPU的操作係統即調用OB121。例如,如果用戶程序調用了尚未裝載到CPU中的塊,將會(hui) 調用OB121。
OB122I/O訪問出錯組織塊
隻要在訪問模塊上的數據時出錯,CPU的操作係統即調用OB122。例如,如果在訪問I/O模塊上的數據時,CPU檢測到讀取錯誤,操作係統將調用OB122。