西門子PCU50硬盤損壞不啟動維修
西門子S7-300/400異步錯誤組織塊
1.錯誤處理概述
S7-300/400有很強的錯誤(或稱故障)檢測和處理能力。這里所說的錯誤是PLC內部的功能性錯誤或編程錯誤,而不是外部傳感器或執(zhí)行機構的故障。操作系統(tǒng)可以檢測出下列錯誤:不正確的CPU功能、操作系統(tǒng)執(zhí)行中的錯誤、用戶程序中的錯誤和I/O中的錯誤。
CPU檢測到某種錯誤時,將會調用對應的組織塊(見表6-6),用戶可以在組織塊中編程,對發(fā)生的錯誤采取相應的措施,以減小或消除錯誤的影響。如果沒有生成和下載處理某個錯誤的組織塊,出現(xiàn)該錯誤時CPU將進入STOP模式。
操作系統(tǒng)檢測到一個異步錯誤時,將啟動相應的OB。異步錯誤OB具有高等級的優(yōu)先級,如果當前正在執(zhí)行的OB的優(yōu)先級低于26,異步錯誤OB的優(yōu)先級為26,如果當前正在執(zhí)行的OB的優(yōu)先級為27(啟動組織塊),異步錯誤OB的優(yōu)先級為28,其他OB不能中斷它們。
如果同時有多個相同優(yōu)先級的異步錯誤OB出現(xiàn),將按出現(xiàn)的順序處理它們。
用戶可以利用OB中的變量聲明表提供的信息來判別錯誤的類型,OB的局部數(shù)據(jù)中的變量OB8x_FLT_ID和OB12x_SW_FLT包含有錯誤代碼。它們的具體含義見隨書光盤中的《用于S7的系統(tǒng)軟件和標準功能參考手冊》。
利用系統(tǒng)功能( SFC),用戶可以屏蔽、延遲或禁止各種OB的啟動事件。
2.錯誤的分類
被S7 CPU檢測到并且用戶可以通過組織塊對其進行處理的錯誤分為兩個基本類型:
(1)異步錯誤
異步錯誤是與PLC的硬件或操作系統(tǒng)密切相關的錯誤,與程序執(zhí)行無關。異步錯誤的后果一般都比較嚴重。異步錯誤對應的組織塊為OB70~ OB73和OB80~ OB87(見表6-6),具有高的優(yōu)先級。
(2)同步錯誤
同步錯誤是與程序執(zhí)行有關的錯誤,OB121和OB122用于處理同步錯誤,它們的優(yōu)先級與出現(xiàn)錯誤時被中斷的塊的優(yōu)先級相同,即同步錯誤OB中的程序可以訪問塊被中斷時累加器和狀態(tài)寄存器的內容。對錯誤進行適當處理后,可以將處理結果返回被中斷的塊。
3.電源故障處理組織塊( OB81)
電源故障包括后備電池失效或未安裝,S7-400的CPU機架或擴展機架上的DC 24V電源故障。電源故障出現(xiàn)和消失時操作系統(tǒng)都要調用OB81。
4.時間錯誤處理組織塊( OB80)
循環(huán)監(jiān)控時間的默認值為150ms,時間錯誤包括實際循環(huán)時間超過設置的循環(huán)時間、因為向前修改時間而跳過日期時間中斷、處理優(yōu)先級時延遲太多等。
5.診斷中斷處理組織塊( OB82)
如果模塊有診斷功能并且激活了它的診斷中斷,當它檢測到錯誤時,以及錯誤消失時,操作系統(tǒng)都會調用OB82。下列情況將調用OB82:有診斷功能的模塊的斷線故障,模擬量輸入模塊的電源故障,輸入信號超過模擬量模塊的測量范圍等。

當一個診斷中斷被觸發(fā)時,有問題的模塊自動地在診斷中斷OB的啟動信息和診斷緩沖區(qū)中存入4B的診斷數(shù)據(jù)和模塊的起始地址。在編寫OB82的程序時,要從OB82的啟動信息中獲得與出現(xiàn)的錯誤有關的更確切的診斷信息,例如是哪一個通道出錯,出現(xiàn)的是哪種錯誤。使用SFC 51“RDSYSST”可以讀出模塊的診斷數(shù)據(jù),用SFC 52“WR USMSG”可以將這些信息存入診斷緩沖區(qū)。也可以發(fā)送一個用戶定義的診斷報文到監(jiān)控設備。
6.插入/拔出模塊中斷組織塊( OB83)
S7-400在RUN、STOP或STARTUP模式下帶電拔出和插入模塊時,將產(chǎn)生插入/拔出模塊中斷。在這些模式不能拔出CPU模塊、電源模塊、接口模塊和帶適配器的S5模塊。
7.CPU硬件故障處理組織塊(OB84)
當CPU檢測到MPI網(wǎng)絡的接口故障、通信總線的接口故障或分布式I/O網(wǎng)卡的接口故障,或故障消除時,操作系統(tǒng)調用OB84。
8.優(yōu)先級錯誤處理組織塊( OB85)
在以下情況下將會觸發(fā)優(yōu)先級錯誤中斷:
1)產(chǎn)生了一個中斷事件,但是對應的OB塊沒有下載到CPU。
2)訪問—個系統(tǒng)功能塊的背景數(shù)據(jù)塊時出錯。
3)刷新過程映像表時I/O訪問出錯,模塊不存在或有故障。
9.機架故障組織塊( OB86)
出現(xiàn)下列故障或故障消失時,操作系統(tǒng)將調用OB86:
1) S7-400的*機架或擴展機架故障,例如斷線、機架上的分布式電源故障。
2)主站系統(tǒng)、PROFIBUS-DP從站故障,或IO系統(tǒng)、PROFINET IO設備故障。
10.通信錯誤組織塊(OB87)
在使用通信功能塊或全局數(shù)據(jù)( GD)通信進行數(shù)據(jù)交換時,如果出現(xiàn)通信錯誤,操作系統(tǒng)將調用OB87。
下列事件發(fā)生時,CPU執(zhí)行啟動功能:PLC電源上電后;CPU的模式選擇開關從STOP位置扳到RUN或RUN-P位置;接收到通過通信功能發(fā)送來的啟動請求;多CPU方式同步之后和H系統(tǒng)連接好后(只適用于備用CPU)。
啟動用戶程序之前,先執(zhí)行啟動OB。在暖啟動、熱啟動或冷啟動時,操作系統(tǒng)分別調用OB100、OB101或OB102,S7-300只能暖啟動,S7-400H不能熱啟動。

用戶可以通過在啟動組織塊OB100~OB102中編寫程序,來設置CPU的初始化操作,例如設置開始運行時某些變量的初始值,和輸出模塊的初始值等。
啟動程序沒有長度和時間的限制,因為循環(huán)時間監(jiān)視還沒有被激活,在啟動程序中不能執(zhí)行時間中斷程序和硬件中斷程序。
在設置CPU模塊屬性的對話框中,可以在“啟動”選項卡設置啟動的各種參數(shù)。
OB100的變量聲明表中的OB100_STRTUP用代碼表示各種不同的啟動方式,OB100_STOP是引起停機的事件號,OB100_STRT_INFO是當前啟動的更詳細的信息。各參數(shù)的具體意義參見有關的參考手冊。
S7-400 CPU有3種啟動方式:暖啟動、熱啟動和冷啟動,用STEP 7設置CPU的屬性時,可以選擇S7-400上電后啟動的方式。S7-300 CPU(不包括CPU 318)只有暖啟動。
在啟動期間,不能執(zhí)行時間驅動的程序和中斷驅動的程序,運行時間計數(shù)器開始工作,所有的數(shù)字量輸出信號都為“0”狀態(tài)。
(1)暖啟動(Warm Restart)
暖啟動時,過程映像數(shù)據(jù)以及非保持的存儲器位、定時器和計數(shù)器被復位。具有保持功能的存儲器位、定時器、計數(shù)器和所有的數(shù)據(jù)塊將保留原數(shù)值。程序將重新開始運行,執(zhí)行OB100后,循環(huán)執(zhí)行OB1。
手動暖啟動時,將模式選擇開關扳到STOP位置,“STOP”LED亮,然后扳到RUN或RUN-P位置。
(2)熱啟動(Hot Restart)
S7-400 CPU在RUN狀態(tài)時如果電源突然丟失,然后又重新上電,將執(zhí)行OB101,自動地完成熱啟動。熱啟動從上次RUN模式結束時程序被中斷之處繼續(xù)執(zhí)行,不對計數(shù)器等復位。
(3)冷啟動(Cold Restart,CPU 417和CPU 417H)
冷啟動時,過程數(shù)據(jù)區(qū)的所有過程映像數(shù)據(jù)、存儲器位、定時器、計數(shù)器和數(shù)據(jù)塊均被清除,即被復位為零,包括有保持功能的數(shù)據(jù)。用戶程序從裝載存儲器載人工作存儲器,調用OB102后,循環(huán)執(zhí)行OB1。
可以通過將模式選擇開關扳到MRES位置,實現(xiàn)手動冷啟動。

西門子PCU50硬盤損壞不啟動維修