在生活中,西門子PLC系列應(yīng)用廣泛,用戶在調(diào)試過程中可能會(huì)遇到西門子PLC突然停機(jī)的情況,下面西門子PLC代理商對西門子PLC停機(jī)的原因做一個(gè)分析,供用戶在調(diào)試過程中參考。
原因分析
使西門子PLC停機(jī)的情況很多,比如地址調(diào)用錯(cuò)誤,沒有下載需要DB塊,編程錯(cuò)誤等等,如果你想避免錯(cuò)誤時(shí)不使CPU進(jìn)入停止?fàn)顟B(tài),你可以在程序中加入特殊的OB塊,則出現(xiàn)相應(yīng)問題,調(diào)用相應(yīng)的OB塊,雖然里面沒程序,PLC將對錯(cuò)誤錯(cuò)誤不作任何處理,繼續(xù)運(yùn)行。否則PLC將進(jìn)入停機(jī)狀態(tài)可,比如:
OB73通訊冗余出錯(cuò)OB
當(dāng)容錯(cuò)S7連接中發(fā)生首次冗余丟失時(shí),H CPU的操作系統(tǒng)將調(diào)用OB73(只有在S7通訊中才會(huì)有容錯(cuò)S7連接。如果其它容錯(cuò)S7連接發(fā)生了冗余丟失,則不會(huì)再有OB73啟動(dòng)。直到為具有容錯(cuò)功能的所有S7連接恢復(fù)冗余后,才會(huì)出現(xiàn)另一個(gè)OB73啟動(dòng)。如果發(fā)生了啟動(dòng)事件且OB73沒有編程,CPU不會(huì)轉(zhuǎn)為STOP模式。
OB80時(shí)間出錯(cuò)組織塊
無論何時(shí)執(zhí)行OB時(shí)出錯(cuò),S7-300 CPU的操作系統(tǒng)將調(diào)用OB80。此類錯(cuò)誤包括:超出周期時(shí)間、執(zhí)行OB時(shí)出現(xiàn)確認(rèn)錯(cuò)誤、提前了時(shí)間而使OB的啟動(dòng)時(shí)間被跳過、在CiR后恢復(fù)RUN模式。例如,如果在上一次調(diào)用之后發(fā)生了某一周期性中斷OB的啟動(dòng)事件,而同一OB此時(shí)仍在執(zhí)行中,則操作系統(tǒng)將調(diào)用OB80。如果OB80尚未編程,則CPU將轉(zhuǎn)為STOP模式。可以使用SFC 39至42禁用或延遲和重新啟用時(shí)間出錯(cuò)OB。
OB81電源出錯(cuò)組織塊
只要發(fā)生由錯(cuò)誤或故障所觸發(fā)的事件,而此錯(cuò)誤或故障又與電源(僅在S7-400上)或備用電池有關(guān),則S7-300 CPU的操作系統(tǒng)調(diào)用OB81。在S7-400中,如果已使用BATT.INDIC開關(guān)激活了電池測試功能,則只有在出現(xiàn)電池故障時(shí)才會(huì)調(diào)用OB81。如果OB81沒有編程,則CPU不會(huì)轉(zhuǎn)為STOP模式。可以使用SFC 39至42禁用或延遲,并重新啟用電源出錯(cuò)OB。
OB82診斷中斷組織塊
如果具有診斷功能的模塊檢測到錯(cuò)誤,則它會(huì)輸出一個(gè)診斷中斷的請求給CPU。則操作系統(tǒng)調(diào)用OB82。 OB82的局部變量包含邏輯基址和四字節(jié)的故障模塊的診斷數(shù)據(jù)。如果OB82尚未編程,則CPU轉(zhuǎn)為STOP模式??梢允褂肧FC 39至42禁用或延遲,并重新啟用診斷中斷OB。
OB121編程出錯(cuò)組織塊
只要發(fā)生同程序處理相關(guān)的錯(cuò)誤所導(dǎo)致的事件,CPU的操作系統(tǒng)即調(diào)用OB121。例如,如果用戶程序調(diào)用了尚未裝載到CPU中的塊,將會(huì)調(diào)用OB121。
OB122I/O訪問出錯(cuò)組織塊
只要在訪問模塊上的數(shù)據(jù)時(shí)出錯(cuò),CPU的操作系統(tǒng)即調(diào)用OB122。例如,如果在訪問I/O模塊上的數(shù)據(jù)時(shí),CPU檢測到讀取錯(cuò)誤,操作系統(tǒng)將調(diào)用OB122.
綜上所述,西門子PLC的停機(jī)有多種原因,用戶可以參考本文提供的方法調(diào)用相應(yīng)的組織塊進(jìn)行操作。如果用戶需要更多的了解西門子PLC 系列的相關(guān)用法,請聯(lián)系我們,我們會(huì)更好的提供相關(guān)技術(shù)支持。