1.同步錯(cuò)誤
??同步錯(cuò)誤是與執(zhí)行用戶程序有關(guān)的錯(cuò)誤,程序中如果有不正確的地址區(qū)、錯(cuò)誤的編號(hào)或錯(cuò)誤的地址,都會(huì)出現(xiàn)同步錯(cuò)誤,操作系統(tǒng)將調(diào)用同步錯(cuò)誤OB。OB121用于對(duì)程序錯(cuò)誤的處理,OB122用于處理模塊訪問錯(cuò)誤。
??同步錯(cuò)誤OB的優(yōu)先級(jí)與檢測(cè)到出錯(cuò)的塊的優(yōu)先級(jí)一致。因此OB121和OB122可以訪問中斷發(fā)生時(shí)累加器和其他寄存器的內(nèi)容。用戶程序可以用它們來處理錯(cuò)誤,例如出現(xiàn)對(duì)某個(gè)模擬量輸入模塊的訪問錯(cuò)誤時(shí),可以在OB122中用SFC44定義一個(gè)替代值。
??可以用SFC36“MASK_FLT”來屏蔽同步錯(cuò)誤,使某些同步錯(cuò)誤不觸發(fā)對(duì)應(yīng)的OB的調(diào)用,但是CPU在錯(cuò)誤寄存器中記錄發(fā)生的被屏蔽的錯(cuò)誤。SFC 37“DMSK_FLT”在當(dāng)前優(yōu)先級(jí)被執(zhí)行完后,將解除被屏蔽的錯(cuò)誤,并且清除當(dāng)前優(yōu)先級(jí)的事件狀態(tài)寄存器相應(yīng)的位。
??可以用SFC38“READ_ERR”讀出已經(jīng)發(fā)生的被屏蔽的錯(cuò)誤。
??對(duì)于S7-300(CPU318除外),不管錯(cuò)誤是否被屏蔽,錯(cuò)誤都會(huì)被送入診斷緩沖區(qū),并且CPU的“SF”LED會(huì)被點(diǎn)亮。
??2. 編程錯(cuò)誤組織塊(OB121)
??出現(xiàn)編程錯(cuò)誤時(shí),CPU的操作系統(tǒng)將調(diào)用OB121。編程錯(cuò)誤的診斷將在7.3.2節(jié)介紹。
??3. I/O訪問錯(cuò)誤組織塊(OB122)
??CPU用PI、PQ地址區(qū)訪問有故障的模塊時(shí),如果出現(xiàn)直接訪問I/O錯(cuò)誤(模塊損壞或找不到),或者訪問了一個(gè)CPU不能識(shí)別的I/O地址,此時(shí)CPU的操作系統(tǒng)將會(huì)調(diào)用0B122。0B122將在7.1.1節(jié)介紹。
??其他組織塊
??1. DPV1中斷組織塊 OB55~OB57
??如果PROFIBUS-DP V1(簡(jiǎn)稱 DPV1)從站的模塊或機(jī)架改變了操作模式,例如由RUN切換為STOP,CPU的操作系統(tǒng)可能調(diào)用狀態(tài)中斷組織塊OB55。
??如果用戶通過本地或遠(yuǎn)程訪問更改了DPV1從站插槽的參數(shù),CPU的操作系統(tǒng)可能調(diào)用更新中斷組織塊0B56。OB57是DPV1從站的插槽觸發(fā)的制造商特定的中斷的組織塊。
??2.多處理器中斷組織塊OB60
??S7-400的一個(gè)機(jī)架可以插入最多4個(gè)CPU,協(xié)同完成同一個(gè)復(fù)雜任務(wù)。OB60用來確保在多CPU過程中CPU的反應(yīng)與事件同步。
??3.同步循環(huán)中斷組織塊OB61~OB64
??DP從站從采集輸入信號(hào)到輸出邏輯運(yùn)算結(jié)果需要經(jīng)過7個(gè)不同的循環(huán),同步循環(huán)中斷用于實(shí)現(xiàn)各DP從站數(shù)據(jù)處理的同步。
??4.技術(shù)功能同步中斷組織塊OB65
??技術(shù)(Technology)功能同步中斷組織塊0B65用于技術(shù)功能CPU的程序啟動(dòng)和技術(shù)功能塊更新的同步。
??5.背景組織塊OB90
??S7-400的CPU可以設(shè)置最小掃描循環(huán)時(shí)間,如果它比實(shí)際的掃描循環(huán)時(shí)間長(zhǎng),在循環(huán)程序結(jié)束后CPU處于空閑的時(shí)間內(nèi)可以執(zhí)行背景組織塊(OB90)。如果沒有對(duì)OB90編程,CPU要等到定義的最小掃描循環(huán)時(shí)間到達(dá)為止,再開始下一次循環(huán)的操作。用戶可以將對(duì)運(yùn)行時(shí)間要求不高的操作放在OB90中去執(zhí)行,以避免出現(xiàn)等待時(shí)間。
??OB90的優(yōu)先級(jí)為29(最低),不能通過參數(shù)設(shè)置進(jìn)行修改。實(shí)際編程極少使用OB90。