西門子828數(shù)控屏黑屏不啟動維修

西門子S7-300/400其他常見組織塊
1.DPV1中斷組織塊OB55~OB57
如果PROFIBUS-DP V1(簡稱DPV1)從站的模塊或機架改變了操作模式,例如由RUN切換為STOP,CPU的操作系統(tǒng)可能調(diào)用狀態(tài)中斷組織塊OB55。
如果用戶通過本地或遠程訪問更改了DPV1從站插槽的參數(shù),CPU的操作系統(tǒng)可能調(diào)用更新中斷組織塊OB56。OB57是DPV1從站的插槽觸發(fā)的制造商特定的中斷的組織塊。
2.多處理器中斷組織塊OB60
S7-400的一個機架可以插入多4個CPLT,協(xié)同完成同一個復(fù)雜任務(wù)。OB60用來確保在多CPU過程中CPU的反應(yīng)與事件同步。
3.同步循環(huán)中斷組織塊OB61~OB64
DP從站從采集輸入信號到輸出邏輯運算結(jié)果需要經(jīng)過7個不同的循環(huán),同步循環(huán)中斷用于實現(xiàn)各DP從站數(shù)據(jù)處理的同步。
4.技術(shù)功能同步中斷組織塊OB65
技術(shù)功能( Technology)同步中斷組織塊OB65用于技術(shù)功能CPU的程序啟動和技術(shù)功能塊更新的同步。
5.背景組織塊OB90
S7-400的CPU可以保證設(shè)置的小掃描循環(huán)時間,如果它比實際的掃描循環(huán)時間長,在循環(huán)程序結(jié)束后CPU處于空閑的時間內(nèi)可以執(zhí)行背景組織塊(OB90)。如果沒有對OB90編程,CPU要等到定義的小掃描循環(huán)時間到達為止,再開始下一次循環(huán)的操作。用戶可以將對運行時間要求不高的操作放在OB90中去執(zhí)行,以避免出現(xiàn)等待時間。
OB90的優(yōu)先級為29(低),不能通過參數(shù)設(shè)置進行修改。OB90可以被所有其他的系統(tǒng)功能和任務(wù)中斷。

由于OB90的運行時間不受CPU操作系統(tǒng)的監(jiān)視,用戶可以在OB90中編寫長度不受限制的程序。實際編程很少使用OB90。
STEP 7指令如果訪問有故障的模塊,例如直接訪問I/O錯誤(模塊損壞或找不到),或者訪問了一個CPU不能識別的I/O地址,CPU的操作系統(tǒng)將會調(diào)用OB122。局部變量OB122 SW_FLT(錯誤代碼)為B#16#42時,為I/O讀訪問錯誤;為B#16#43時,為I/O寫訪問錯誤。錯誤代碼B#16#44和B#16#45表示錯誤相當嚴重,例如可能是因為訪問的模塊不存在,導(dǎo)致多次訪問出錯,這時應(yīng)采取停機的措施。
【例6-6】 同步錯誤組織塊應(yīng)用舉例。
建立一個名為“OB121例程”的項目,生成FC 1,OB1無條件調(diào)用FC 1。FC 1中是一段錯誤的指令(超出了定時器的地址范圍):
A T 3000
M 2.0
用仿真軟件模擬運行程序,切換到RUN模式時,CPU視圖對象上的紅色SF燈亮,不能進入RUN。
在SIMATIC管理器中執(zhí)行菜單命令“PLC”→“診斷/設(shè)置”→“模塊信息”,打開模塊信息對話框,選中“診斷緩沖區(qū)”選項卡(見圖6-22),可以看到錯誤標志(紅色指示燈)。
診斷緩沖區(qū)的第1條是的信息,選中第2條有關(guān)停機原因的信息,下面的窗口指出停機原因的詳細信息:因為沒有下載錯誤OB,程序在OB1中斷。選中第3條信息,可以看到在FC 2發(fā)生了定時器編號錯誤,請求調(diào)用OB121。點擊對話框中的“打開塊”按鈕,將會打開出錯的塊FC 1。在診斷緩沖區(qū)的“堆棧”選項卡的塊堆棧中,可以看到從上到下排列著OB1和FC 1,表示出錯時程序的調(diào)用路徑。選中OB1,點擊該選項卡中的“I堆棧”按鈕,打開中斷堆棧,可以看到發(fā)生中斷時累加器、地址寄存器和狀態(tài)字的內(nèi)容,在“中斷點”區(qū)可以查到斷點的位置。點擊“幫助”按鈕可以得到有關(guān)的幫助信息。
返回SIMATIC管理器,生成OB121(可以是一個空的塊),下載后重新運行,可以進入RUN模式,但是SF燈會亮。

可以在錯誤處理OB中調(diào)用SFC20“BLKMOV”(復(fù)制數(shù)據(jù)塊),來保存OB的啟動信息,供分析故障時使用。
同步錯誤是與執(zhí)行用戶程序有關(guān)的錯誤,程序中如果有不正確的地址區(qū)、錯誤的編號或錯誤的地址,都會出現(xiàn)同步錯誤,操作系統(tǒng)將調(diào)用同步錯誤OB。
OB121用于對程序錯誤的處理,OB122用于處理模塊訪問錯誤。
同步錯誤OB的優(yōu)先級與檢測到出錯的塊的優(yōu)先級*。因此OB121和OB122可以訪問中斷發(fā)生時累加器和其他寄存器的內(nèi)容。用戶程序可以用它們來處理錯誤,例如出現(xiàn)對某個模擬量輸入模塊的訪問錯誤時,可以在OB122中用SFC 44定義一個替代值。
同步錯誤可以用SFC 36“MASK_FLT”來屏蔽,使某些同步錯誤不觸發(fā)同步錯誤OB的調(diào)用,但是CPU在錯誤寄存器中記錄發(fā)生的被屏蔽的錯誤。用錯誤過濾器中的一位來表示某種同步錯誤是否被屏蔽。錯誤過濾器分為程序錯誤過濾器和訪問錯誤過濾器,分別占一個雙字。
調(diào)用SFC 37“DMSK FLT”并且在當前優(yōu)先級被執(zhí)行完后,將解除被屏蔽的錯誤,并且清除當前優(yōu)先級的事件狀態(tài)寄存器中相應(yīng)的位。可以用SFC 38“READ_ERR”讀出已經(jīng)發(fā)生的被屏蔽的錯誤。對于S7-300(CPU 318除外),不管錯誤是否被屏蔽,錯誤都會被送入診斷緩沖區(qū),并且CPU的“SF”LED會被點亮。
可以在不同的優(yōu)先級屏蔽某些同步錯誤。在這種情況下,在特定的優(yōu)先級中發(fā)生這類錯誤時不會停機,CPU把該錯誤存放到錯誤寄存器中。但是無法知道是什么時候發(fā)生的錯誤,也無法知道錯誤發(fā)生的頻率。
表6-7中的變量PRGFLT_SET_MASK和ACCFLT_SET_MASK分別用來設(shè)置程序錯誤過濾器和訪問錯誤過濾器,某位為1表示該位對應(yīng)的錯誤被屏蔽。屏蔽后的錯誤過濾器可以用變量PRCFLT_MASKED和ACCFLT_MASKED讀出。錯誤信息返回值RET_VAL為0時表示沒有錯誤被屏蔽,為1時表示至少有一個錯誤被屏蔽。
表6-7 SFC 36“MSK_ FLT”的局部變量表
西門子828數(shù)控屏黑屏不啟動維修