課件西門子S7300PLC應用技術故障診斷_第1頁
課件西門子S7300PLC應用技術故障診斷_第2頁
課件西門子S7300PLC應用技術故障診斷_第3頁
課件西門子S7300PLC應用技術故障診斷_第4頁
課件西門子S7300PLC應用技術故障診斷_第5頁
已閱讀5頁,還剩151頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第七章故障診斷PLC是運行在工業環境中的控制器,一般而言可靠性比較高,出現故障的概率較低,但是,出現故障也是難以避免的。一般引發故障的原因有很多,故障的后果也有很多種。引發故障的原因雖然我們不能完全控制,但是我們可以通過日常的檢查和定期的維護來消除多種隱患,把故障率降到最低。故障的后果輕的可能造成設備的停機,影響生產的數量;重的可能造成財產損失和人員傷亡,如果是一些特殊的控制對象,一旦出現故障可能會引發更嚴重的后果。故障發生后,對于維護人員來說最重要的是找到故障的原因,迅速排除故障,盡快恢復系統的運行。對于系統設計人員在設計時要考慮到系統出現故障后的系統的自我保護措施力爭使故障的停機時間最短,故障的產生的損失最小。第七章故障診斷PLC是運行在工業環境中的控制器,一般而言可7.1了解S7-300PLC的基本故障種類一般PLC的故障主要有外部故障或是內部錯誤造成。外部故障時由外部傳感器或執行機構的故障等引發PLC產生故障,可能會使整個系統停機,甚至燒壞PLC。而內部錯誤是PLC內部的功能性錯誤或編成錯誤造成的,可以使系統停機。S7-300具有很強的錯誤(或稱故障)檢測和處理能力,CPU檢測到某種錯誤后,操作系統調用對應得組織塊,用戶可以在組織塊中編程,對發生的錯誤采取相應的措施。對于大多數錯誤,如果沒有給組織塊編程,出現錯誤時CPU將進入STOP模式。被S7CPU檢測到并且用戶可以通過組織塊對其進行處理的錯誤分為兩類:1、異步錯誤異步錯誤是與PLC的硬件或操作系統密切相關的錯誤,與程序執行無關,但異步錯誤的后果一般比較嚴重。2、同步錯誤同步錯誤是與執行用戶程序有關的錯誤,程序中如果有不正確的地址區,錯誤的編號或錯誤的地址,都會出現同步錯誤,操作系統將調用同步錯誤OB。7.1了解S7-300PLC的基本故障種類一般PLC的故7.2掌握PLC的常規維護及故障排除的方法為了保障系統的正常運行,定期對PLC系統進行維護和檢查是必不可少的,而且還必須熟悉一些故障診斷和排除方法。7.2.1檢查與維護7.2.2外部故障的排除方法7.2.3內部錯誤的故障診斷7.2掌握PLC的常規維護及故障排除的方法為了保障系統的正7.2.1檢查與維護一、定期檢查PLC是一種工業控制設備,盡管在可靠性方面采取了許多措施,但工作環境對PLC影響還是很大的。所以,通常每隔半年時間應對PLC作定期檢查。如果PLC的工作條件不符合表7-1規定的標準,就要做一些應急處理,以便使PLC工作在規定的標準環境。7.2.1檢查與維護一、定期檢查表7-1周期性檢查一覽表表7-1周期性檢查一覽表二、日常維護PLC除了鋰電池和繼電器輸出觸點外,基本上沒有其它易損元器件。由于存放用戶程序的隨機內存(RAM),計數器和具有保持功能的輔助繼電器等均用鋰電池保護,鋰電池的壽命大約5年,當鋰電池的電壓逐漸降低達一定程度時,PLC基本單元上的電池電壓跌落指示燈會亮。提示用戶注意,有鋰電池所支持的程序還可以保持一周左右,必須更換電池,這是日常維護的主要內容。二、日常維護PLC除了鋰電池和繼電器輸出觸點外,基本上沒有其調換鋰電池的步驟:

1、在拆裝之前,應先讓PLC通電15S以上,這樣可使作為內存備用電源的電容器充電,在鋰電池斷開后,該電容可對PLC作短暫供電,以保護RAM中的信息不丟失。2、斷開PLC的交流電源。3、打開基本單元的電池蓋板。4、取下舊電池,裝上新電池。5、蓋上電池蓋板。更換電池的時間要盡量短,一般不允許超過3min。如果時間過長,RAM中的程序將丟失。調換鋰電池的步驟:1、在拆裝之前,應先讓PLC通電15S以7.2.2外部故障的排除方法PLC有很強的自診斷能力,當PLC自身故障或外圍設備發生故障,都可用PLC上具有診斷指示功能的發光二極管的亮滅來診斷。7.2.2外部故障的排除方法一、故障查找1、總體檢查根據總體檢查流程圖找出故障點的大方向,逐漸細化,以找出具體故障,如圖7-1所示。一、故障查找1、總體檢查2、電源故障檢查電源等不亮部需要對供電系統進行檢查,檢查流程圖如圖7-2所示。

2、電源故障檢查電源等不亮部需要對供電系統進行檢查,檢查流程3、運行故障檢查電源正常,運行指示燈不亮,說明系統已因某種異常而終止了正常運行,檢查流程圖如圖7-3所示。3、運行故障檢查電源正常,運行指示燈不亮,說明系統已因某種異4、輸入輸出故障檢查輸入輸出是PLC與外部設備進行信息交流的信道,其是否正常工作,除了和輸入輸出單元有關外,還與聯接配線、接線端子、保險管等組件狀態有關。圖7-4和圖7-5分別所示的是輸入檢查流程和輸出檢查流程。圖7-4輸入檢查流程圖4、輸入輸出故障檢查輸入輸出是PLC與外部設備進行信息交流的圖7-5輸出檢查流程圖課件-西門子S7300PLC應用技術第六章故障診斷5、外圍環境的檢查影響PLC工作的環境因素主要有溫度、濕度、噪音與粉塵,以及腐蝕性酸堿等。5、外圍環境的檢查二、故障的處理不同故障產生的原因不同,它們也有不同的處理方法,具體請見下表所列。表7-2CPU裝置、I/O擴展裝置故障處理二、故障的處理不同故障產生的原因不同,它們也有不同的處理方法表7-3輸入單元故障處理表7-3輸入單元故障處理課件-西門子S7300PLC應用技術第六章故障診斷表7-4輸出單元故障處理表7-4輸出單元故障處理7.2.3內部錯誤的故障診斷S7-300具有非常強大的故障診斷功能,通過STEP7編程軟件可以獲得大量的硬件故障與編程錯誤的信息,使用戶能迅速地查找到故障。這里的診斷是指S7-300內部集成的錯誤識別和記錄功能,錯誤信息在CPU的診斷緩沖區內。有錯誤或事件發生時,標有日期和時間的信息被保存到診斷緩沖區,時間保存到系統的狀態表中,如果用戶已對有關的錯誤處理組織塊編程,CPU將調用該組織塊。7.2.3內部錯誤的故障診斷S7-300具有非常強大的故障一、故障診斷的基本方法在SIMATIC管理器中用菜單命令“View”→“Online”打開再現窗口。打開所有的站,查看是否有CPU顯示了指示錯誤或故障的診斷符號。診斷符號用來形象直觀地表示模塊的運行模式和模塊的故障狀態,如圖7-6所示。如果模塊有診斷信息,在模塊符號上將會增加一個診斷符號,或者模塊符號的對比度降低。圖7-6診斷符號一、故障診斷的基本方法在SIMATIC管理器中用菜單命令“V診斷符號“當前組態與實際組態不匹配”表示被組態的模塊不存在,或者插入了與組態的模塊的型號不同的模塊。診斷符號“無法診斷”表示無線上連接,或該模塊不支持模塊診斷信息,例如電源模塊或子模塊?!皬娭啤狈柋硎驹谠撃K上有變量被強制,即在模塊的用戶程序中有變量被賦予一個固定植,該數據值不能被程序改變?!皬娭啤狈柨梢耘c其它符號組合在一起顯示,如圖7-6中“強制與運行”符號。從在線的SIMATIC管理器的窗口、在線的硬件診斷功能打開的快速窗口和在線的硬件組態窗口(診斷窗口),都可以觀察到診斷符號。通過觀察診斷符號,可以判斷CPU模塊的運行模式,是否有強制變量,CPU模塊和功能模塊(FM)受否有故障。打開在線窗口,在SIMATIC管理器中執行菜單命令“PLC”→“Diagnostic/Setting”→“HardwareDiagnostics”,將打開硬件診斷快速瀏覽窗口。在該窗口中顯示PLC的狀態,看到診斷功能的模塊的硬件故障,雙擊故障模塊可以獲得詳細的故障信息。診斷符號“當前組態與實際組態不匹配”表示被組態的模塊不存在,二、利用CPU診斷緩沖區進行詳細故障診斷建立與PLC的在線連接后,在SIMATIC管理器中選擇要檢查的站,執行菜單命令“PLC”→“Diagnostics/Setting”→“ModuleInformation”,如圖7-7所示,將打開模塊信息窗口,顯示該站中CPU的信息。在快速窗口中使用“ModuleInformation”。圖7-7打開CPU診斷緩沖區二、利用CPU診斷緩沖區進行詳細故障診斷建立與PLC的在線連在模塊信息窗口中的診斷緩沖區(DiagnosticBuffer)選項中,給出了CPU中發生的事件一覽表,選中“Events”窗口中某一行的某一事件,下面灰色的“Detailson”窗口將顯示所選事件的詳細信息,見圖7-8所示。使用診斷緩沖區可以對系統得錯誤進行分析,查找停機的原因,并對出現的診斷時間分類。圖7-8CPU模塊的在線模塊信息窗在模塊信息窗口中的診斷緩沖區(DiagnosticBuff診斷事件包括模塊故障、過程寫錯誤、CPU中的系統錯誤、CPU運行模式的切換、用戶程序的錯誤和用戶用系統功能SFC52定義的診斷事件。在模塊信息窗口中,編號為1,位于最上面的事件是最近發生的事件。如果顯示因編程錯誤造成CPU進入STOP模式,選擇該事件,并點擊“OpenBlock”按鈕,將在程序編輯器中打開于錯誤有關的塊,顯示出錯的程序段。診斷中斷和DP從站診斷信息用于查找模塊和DP從站中的故障原因。“Memory”(內存)選項給出了所選的CPU或M7功能模塊的工作內存和裝載內存當前的使用情況,可以檢查CPU或功能模塊的裝載內存中是否有足夠的空間用來存儲新的塊,如圖7-9所示。圖7-9“Memory”選項診斷事件包括模塊故障、過程寫錯誤、CPU中的系統錯誤、CPU“ScanCycleTime”(掃描循環時間)選項卡用于顯示所選CPU或M7功能模塊的最小循環時間、最大循環時間和當前循環時間,如圖7-10所示。如果最長循環時間接近組態的最大掃描循環時間,由于循環時間的波動可能產生時間錯誤,此時應增大設置的用戶程序最大循環時間(監控時間)。如果循環時間小于設置的最小循環時間,CPU自動延長循環至設置的最小循環時間。在這個延長時間內可以處理背景組織塊(OB90)。組態硬件時可以設置最大和最小循環時間。圖7-10“ScanCycleTime”選項“ScanCycleTime”(掃描循環時間)選項卡用于“TimeSystem”(時間系統)選項卡顯示當前日期、時間、運行的小時數以及時鐘同步的信息,見圖7-11所示。圖7-11“TimeSystem”選項“TimeSystem”(時間系統)選項卡顯示當前日期、時“PerformanceData”(性能數據)選項卡給出了所選模塊(CPU/FM)可以使用的地址區和可以使用的OB、SFB、和SFC,見圖7-12所示。圖7-12“PerformanceData”選項“PerformanceData”(性能數據)選項卡給出了“Communication”(通信)選項卡給出了所選模塊的傳輸速率、可以建立的連接個數和通信處理占掃描周期的百分比,如圖7-13所示。圖7-13“Communication”選項“Communication”(通信)選項卡給出了所選模塊的“Stacks”(堆棧)選項卡只能在STOP模式或HOLD(保持)模式下調用,顯示所選模塊的B(塊)堆棧。還可以顯示I(中斷)堆棧、L(局域)堆棧以及嵌套深度堆棧??梢蕴D到使塊中斷的故障點,判明引起停機的原因。在模塊信息窗口各選項卡的上面顯示了附加的信息,例如所選模塊的在線路徑、CPU的操作模式和狀態(例如出錯或OK)、所選模塊的操作模式,如果它有自己的操作模式的話(例如CP342-5)。從(“AccessibleNodes”窗口)打開的非CPU模塊的模塊信息中,不能顯示CPU本身的操作模式和所選模塊的狀態?!癝tacks”(堆棧)選項卡只能在STOP模式或HOLD(三、錯誤處理組織塊組織塊是操作系統與用戶程序之間的接口。S7提供了各種不同的組織塊(OB),用組織塊可以創建在特定時間執行的程序和響應特定事件的程序。當系統程序可以檢測下列錯誤:不正確的CPU功能、系統程序執行中的錯誤、用戶程序中的錯誤和I/O中的錯誤。根據錯誤類型的不同,CPU設置為進入STOP模式或調用一個錯誤處理OB。當CPU檢測到錯誤時,會調用適當的組織塊,見表7-5。如果沒有相應的錯誤處理OB,CPU將進入STOP模式。用戶可以在錯誤處理OB中編寫如何處理這種錯誤的程序,以減小或消除錯誤的影響。三、錯誤處理組織塊組織塊是操作系統與用戶程序之間的接口。S7表7-5錯誤處理組織塊表7-5錯誤處理組織塊為避免發生某種錯誤時CPU進入停機,可以在CPU中建立一個對應的空的組織塊。用戶可以利用OB中的變量聲明表提供的信息來判別錯誤的類型。根據S7CPU檢測到并且用戶可以通過組織塊對其進行處理的錯誤分為異步錯誤和同步錯誤。為避免發生某種錯誤時CPU進入停機,可以在CPU中建立一個對1、異步錯誤組織塊異步錯誤是與PLC的硬件或操作系統密切相關的錯誤,與程序執行無關。異步錯誤的后果一般都比較嚴重。異步錯誤對應的組織塊為OB70~OB73和OB80~OB87,有最高的優先級。操作系統檢測到一個異步錯誤時,將啟動相應的OB。1、異步錯誤組織塊異步錯誤是與PLC的硬件或操作系統密切相關(1)時間錯誤處理組織塊(OB80)OB執行時出現故障S7-300CPU的操作系統調用OB80。這樣的故障包括循環時間超出、執行OB時應答故障、向前移動時間以致于躍過了OB的啟動的時間、CLR后恢復RUN方式。如果當循環中斷OB仍在執行前一次調用時,該OB塊的啟動事件發生,操作系統調用OB80。如果OB80未編程,CPU變為STOP方式,可以使用SFC39至42封鎖或延時和在使用時間故障OB。如果在同一個稍描周期中由于掃描時間超出OB80被調用兩次,CPU就變為STOP方式,可以通過在程序中適當的位置調用SFC43“RE_TRIGR”來避免這種情況。(1)時間錯誤處理組織塊(OB80)OB執行時出現故障S7-打開OB80可以從OB80的臨時變量中得到故障信息,見圖7-14所示。圖7-14OB80的臨時變量打開OB80可以從OB80的臨時變量中得到故障信息,見圖7-表7-6OB80的變量申明表表7-6OB80的變量申明表(2)電源故障處理組織塊(OB81)與電源(僅對S7-400)或后備電池有關的故障事件發生時,S7-300CPU的操作系統調用OB81,表7-7為OB81的變量申明表。如果OB81未編程,CPU并不轉換為STOP方式??梢允褂肧FC39至42來禁用、延時或再使用電源故障(OB81)。(2)電源故障處理組織塊(OB81)與電源(僅對S7-400表7-7OB81的變量申明表表7-7OB81的變量申明表(3)診斷中斷處理組織塊(OB82)如果模塊具有診斷能力又使能了診斷中斷,當它檢測到錯誤時,它輸出一個診斷中斷請求給CPU,以及錯誤消失時,操作系統都會調用OB82。當一個診斷中斷被觸發時,有問題的模塊自動地在診斷中斷OB的起動信息和診斷緩沖區中存入4個字節的診斷數據和模塊的起始地址??梢杂肧FC39至42來禁用、延時或再使用診斷中斷(OB82),表7-8描述了診斷中斷OB82的臨時變量。(3)診斷中斷處理組織塊(OB82)如果模塊具有診斷能力又使課件-西門子S7300PLC應用技術第六章故障診斷表7-8OB82的變量申明表表7-8OB82的變量申明表在編寫OB82的程序時,要從OB82的起動信息中獲得與出現的錯誤有關的更確切的診斷信息,例如是哪一個通道出錯,出現的是哪種錯誤。使用SFC51“RDSYSST”也可以讀出模塊的診斷數據,用SFC52“WR_USMSG”可以將這些信息存入診斷緩沖區。現在通過結合模板的短線診測應用和SFC51來說明診斷中斷組織塊OB82的使用方法。在編寫OB82的程序時,要從OB82的起動信息中獲得與出現的首先,在SIMATIC管理器中新建一個項目,插入一個300站。硬件組態,在機架上插入CPU315-2DP和一塊具有中斷功能模擬量輸入模塊SM331,配置SM331模塊的“Inputs”選項,選擇0-1通道組為2線制電流(2DMU),其它通道組為電壓,并注意模塊的量程卡要與設置的相同。選中“Enable”框中的“DiagnosticInterrupt”選項,選中“Diagnostics”選項中的0-1通道組中的“GroupDiagnostics”和“withCheckforWireBreak”選項,如圖7-15所示。圖7-15硬件組態首先,在SIMATIC管理器中新建一個項目,插入一個300站點擊OK,然后雙擊CPU315-2DP,選擇“Interrupts”選項,可以看到CPU支持OB82,見圖7-16所示。硬件組態完成后,保存編譯,下載到CPU中。圖7-16CPU中的“Interrupts”選項點擊OK,然后雙擊CPU315-2DP,選擇“Interr然后完成診斷程序。OB82程序當在硬件組態中設定的診斷中斷發生后執行,但OB82執行時可以通過它的臨時變量OB82_MDL_ADDR讀出產生診斷中斷的模塊的邏輯地址。STEP7不能時時監控程序的運行。在SIMATIC管理器中S7Program(1)下插入一個STLSource文件STLSource(1),如圖7-17所示。圖7-17插入STLSource文件然后完成診斷程序。OB82程序當在硬件組態中設定的診斷中斷發打開OB1,在“Libraries”→“StandardLibraries”→“SystemFunctionBlocks”下找到SFC51“RDSYSSTDIAGNSTC”,按F1鍵,出現SFC51在線幫助信息,在幫助信息的最低部點擊“ExampleformodulediagnosticswiththeSFC51”,然后點擊“STLSourceFile”,選中全部STLSource源程序拷貝到STLSource(1)中,編譯保存。這是在Blocks中生成OB1、OB82、DB13和SFC51。打開OB82,對其中的程序做簡單的修改,將19和20行的程序拷貝到go:后面,如圖7-18所示。再進行保存,下載到CPU中。圖7-18OB82的程序修改打開OB1,在“Libraries”→“StandardL下載完成后,將CPU上的模式選擇開關切換到“RUN”狀態,此時,CPU上的“RUN”燈和“SF”燈會亮,SM331模塊上的“SF”燈也會亮。同時,查看CPU的診斷緩沖區可以獲得相應的故障信息。打開DB13數據塊,在線監控,見圖7-19所示。因為通道斷線是一到來事件,所以診斷信息存儲到COME數組中。圖7-19DB13中的數據變換下載完成后,將CPU上的模式選擇開關切換到“RUN”狀態,此本例中COME數組字節的含義接受如下:COME[1]=B#16#D:表示通道錯誤,外部故障和模塊問題;COME[2]=B#16#15:表示此段信息為模擬量模塊的通道信息;COME[3]=B#16#0:表示CPU處于運行狀態,無字節2中標示的故障信息;COME[4]=B#16#0:表示無字節3中標示的故障信息;COME[5]=B#16#71:表示模擬量輸入;COME[6]=B#16#8:表示模塊的每個通道有8個診斷位;COME[7]=B#16#8:表示模塊的通道數;COME[8]=B#16#3:表示0通道錯誤和1通道錯誤,其他通道正常;COME[9]=B#16#10:表示0通道斷線;COME[10]=B#16#10:表示1通道斷線;COME[11]=B#16#0:表示2通道正常,其他通道與2通道相同。本例中COME數組字節的含義接受如下:(4)插入/拔出模塊中斷組織塊(OB83)當組態的模塊插入/拔出后或在SETP7下修改了模塊的參數并在“RUN”狀態把所做修改下載到CPU后,CPU操作系統調用OB83。在“RUN”、“STOP”和“STARTUP”狀態時每次組態的模塊插入或拔出,就產生一個插入/拔出中斷(電源模塊、CPU、適配模塊和IM模塊不能在這種狀態下移出)。該中斷引起有關CPU的診斷緩沖區和系統狀態表的記錄如果在“RUN”狀態下拔出組態的模塊,OB83期啟動。由于僅以一秒的間隔監視模塊的存在,如果模塊被直接訪問或當過程映像被刷新時可能首先檢測出訪問故障。如果在“RUN”狀態下插入一塊模塊,操作系統檢查插入模塊的類型是否與組態的記錄一致,如果模塊類型匹配,于是OB83被啟動并且參數被賦值。可以借助SFC39至42來禁用、延時或再使用插入/拔出模塊中斷(OB83),表7-9描述了插入/拔出模塊中斷OB83的臨時變量。(4)插入/拔出模塊中斷組織塊(OB83)當組態的模塊插入/表7-9OB83的變量申明表表7-9OB83的變量申明表(5)CPU硬件故障處理組織塊(OB84)當CPU檢測到MPI網絡的接口故障、通信總線的接口故障或分布式I/O網卡的接口故障時,操作系統調用OB84。故障消除時也會調用該OB塊,即事件到來和離去時都調用該OB。表7-10描述了CPU硬件故障OB84的臨時變量。(5)CPU硬件故障處理組織塊(OB84)當CPU檢測到MP表7-10OB84的變量申明表表7-10OB84的變量申明表(6)優先級錯誤處理組織塊(OB85)在以下情況下將會觸發優先級錯誤中斷:產生了一個中斷事件,但是對應的OB塊沒有下載到CPU;訪問一個系統功能塊的背景數據塊時出錯;刷新過程映像表時I/O訪問出錯,模塊不存在或有故障。在編寫OB85的程序時,應根據OB85的起動信息,判定是哪個模塊損壞或沒有插入??梢允褂肧FC39至42封鎖或延時并使能優先級故障OB,表7-11描述了優先級故障OB85的臨時變量。(6)優先級錯誤處理組織塊(OB85)在以下情況下將會觸發優表7-11O85的變量申明表表7-11O85的變量申明表(7)機架故障組織塊(OB86)出現下列故障或故障消失時,都會觸發機架故障中斷,操作系統將調用OB86:擴展機架故障(不包括CPU318),DP主站系統故障或分布式I/O故障。故障產生和故障消失時都會產生中斷。在編寫OB86的程序時,應根據OB86的起動信息,判斷是哪個機架損壞或找不到。可以使用SFC39至42封鎖或延時并使能OB86,表7-12描述了機架故障OB86的臨時變量。(7)機架故障組織塊(OB86)出現下列故障或故障消失時,都表7-12O86的變量申明表表7-12O86的變量申明表這里也通過一個例子來說明OB86的使用。新建一個項目,插入一個300站,進行硬件組態。在機架中插入CPU315-2DP,選擇DP作為主站,在DP主站下添加一個ET200M從站,并在從站中插入一個模擬量輸入模塊SM331,如圖7-20所示。圖7-20硬件組態這里也通過一個例子來說明OB86的使用。新建一個項目,插入一然后雙擊CPU,選擇“Interrupts”選項,可以看到CPU支持OB86,見圖7-21所示。硬件組態完成后,保存編譯,下載到CPU中。圖7-21CPU中的“Interrupts”選項然后雙擊CPU,選擇“Interrupts”選項,可以看到COB86程序當在通訊發生問題后或者訪問不到配置的機架或站時執行,此時程序可能還可能需要調用OB82和OB122等組織塊,當OB86執行時可以通過它的臨時變量讀出產生的故障代碼和事件類型,通過它們的組合可以得到具體錯誤信息,同時也可以讀出產生錯誤的模塊地址和機架信息。STEP7不能時時監控程序的運行,可以用“VariableTable”監控實時數據的變化。OB86程序當在通訊發生問題后或者訪問不到配置的機架或站時執打開組織塊OB86編寫程序,程序如圖7-22所示。圖7-22OB86中所編寫的程序打開組織塊OB86編寫程序,程序如圖7-22所示。圖7-22該程序也可以轉化成梯形圖,但程序中要將OB86的臨時變量OB86_RACKS_FLTDARRAY[0..31]改成OB86_z23DWORD。把程序下載到CPU后,在“Blocks”插入“VariableTable”,如圖7-23所示。然后打開,填入MB0、MB1、MW2、MD4并點擊鍵就可以得到相關信息了。圖7-23插入“VariableTable”該程序也可以轉化成梯形圖,但程序中要將OB86的臨時變量OB(8)通信錯誤組織塊(OB87)在使用通信功能塊或全局數據(GD)通信進行數據交換時,如果出現下列通信錯誤,操作系統將調用OB87:接受全局數據時,檢測到不正確的幀標識符(ID);全局數據通信的狀態信息數據塊不存在或太短;接受到非法的全局數據包編號。如果用于全局數據通信狀態信息的數據塊丟失,需要用OB87生成該數據塊將它下載到CPU。可以使用SFC39至42封鎖或延時并使能通信錯誤OB,表7-13描述了通信錯誤OB86的臨時變量。(8)通信錯誤組織塊(OB87)在使用通信功能塊或全局數據(表7-13OB87的變量申明表表7-13OB87的變量申明表2、同步錯誤組織塊同步錯誤是與執行用戶程序有關的錯誤,程序中如果有不正確的地址區、錯誤的編號和錯誤的地址,都會出現同步錯誤,操作系統將調用同步錯誤OB。同步錯誤組織塊包括OB121用于對程序錯誤的處理和OB122用于處理模塊訪問錯誤。同步錯誤OB的優先級與檢測到出錯的塊的優先級一致。因此OB121和OB122可以訪問中斷發生時累加器和其他寄存器中的內容,用戶程序可以用它們來處理錯誤。2、同步錯誤組織塊同步錯誤是與執行用戶程序有關的錯誤,程序中同步錯誤可以用SFC36“MASK_FLT”來屏蔽,使某些同步錯誤不觸發同步錯誤OB的調用,但是CPU在錯誤寄存器中記錄發生的被屏蔽的錯誤。用錯誤過濾器中的一位來表示某種同步錯誤是否被屏蔽。錯誤過濾器分為程序錯誤過濾器和訪問錯誤過濾器,分別占一個雙字。調用SFC37“DMSK_FLT”并且在當前優先級被執行完后,將解除被屏蔽的錯誤,并且清楚當前優先級的事件狀態寄存器中相應的位。可以用SFC38“READ_ERR”讀出已經發生的被屏蔽的錯誤。對于S7-300(CPU318除外),不管錯誤是否被屏蔽,錯誤都會被送入診斷緩沖區,并且CPU的“組錯誤”LED會被點亮。可以在不同的優先級屏蔽某些同步錯誤。在這種情況下,在特定的優先級中發生這類錯誤時不會停機,CPU把該錯誤存放到錯誤寄存器中。但是無法知道是什么時候發生的錯誤,也無法知道錯誤發生的頻率。同步錯誤可以用SFC36“MASK_FLT”來屏蔽,使某些同(1)編程錯誤組織塊(OB121)

當有關程序處理的故障事件發生時CPU操作系統調用OB121,OB121與被中斷的塊在同一優先級中執行,表7-14描述了編程錯誤OB121的臨時變量。(1)編程錯誤組織塊(OB121)當有關程序處理的故障事件表7-14OB121的臨時變量表表7-14OB121的臨時變量表OB121程序在CPU執行錯誤時執行,此錯誤不包括用戶程序的邏輯錯誤和功能錯誤等,例如當CPU調用一個未下載到CPU中的程序塊,CPU會調用OB121,通過臨時變量“OB121_BLK_TYPE”可以得出出現的錯誤的程序塊。使用STEP7不能時時監控程序的運行,可以用“VariableTable”監控實時數據的變化。打開事先已經插入的OB121編寫程序,如圖7-24所示。圖7-24OB121中編寫的程序OB121程序在CPU執行錯誤時執行,此錯誤不包括用戶程序的接著在項目“Blocks”下插入FC1,打開FC1編寫程序,如圖7-25所示。圖7-25FC1中編寫的程序接著在項目“Blocks”下插入FC1,打開FC1編寫程序,然后打開OB1編寫程序,如圖7-26所示。圖7-26OB1中編寫的程序然后打開OB1編寫程序,如圖7-26所示。圖7-26OB1先將硬件和OB1下載到CPU中,此時CPU能正常運行。在“Blocks”下插入“VariableTable”,然后打開,填入MW0和M10.0,并點擊鍵,程序運行正常。將M10.0置為“true”后,CPU就報錯停機,查看CPU的診斷緩沖區信息,發現為編程錯誤,這是將OB121也下載到CPU中,再將M10.0置為“true”,CPU會報錯但不停機,MW0立刻為“W#16#88”,“W#16#88”表示為OB程序錯誤,檢查發現FC1未下載。下載FC1后,在將M10.0置為“true”,這是CPU不會再報錯,程序也不會在調用OB121。先將硬件和OB1下載到CPU中,此時CPU能正常運行。在“B(2)I/O訪問錯誤組織塊(OB122)當對于模塊的數據訪問出現故障時CPU的操作系統調用OB122,OB122與被中斷的塊的同一優先級中執行,表7-15描述了I/O訪問錯誤OB121的臨時變量。(2)I/O訪問錯誤組織塊(OB122)當對于模塊的數據訪問表7-15OB122的臨時變量表表7-15OB122的臨時變量表同樣,在這里運用一個例子來說明OB122的用法。首先,新建一個項目,插入一個300的站,進行硬件組態。插入一個CPU315-2DP和一個模擬量輸入模塊SM331。同時配置SMM331的“Inputs”選項,把所有通道設置為電壓類型,注意模塊的量程卡要與設置的相同,并把模塊的邏輯輸入地址設置為256…257,如圖7-27所示。圖7-27硬件組態同樣,在這里運用一個例子來說明OB122的用法。首先,新建一組態完成后,編譯保存并下載到CPU中。OB122程序在出現I/O訪問錯誤是被調用,通過臨時變量“OB122_SW_FLT”可以讀出錯去代碼,通過“OB122_BLK_TYPE”得出出錯的程序塊,通過“OB122_MEM_ADDR”可以讀出發生錯誤的存儲器地址使用STEP7不能時時監控程序的運行,可以用“VariableTable”監控實時數據的變化。打開在“Blocks”下插入的OB122編寫程序,如圖7-28所示。圖7-28OB122中編寫的程序組態完成后,編譯保存并下載到CPU中。圖7-28OB122該程序也可以轉換為梯形圖。接著打開OB1編寫程序,如圖7-29所示。圖7-29OB1中編寫的程序該程序也可以轉換為梯形圖。圖7-29OB1中編寫的程序先將硬件組態和OB1下載到CPU中,這是CPU運行正常。在“Blocks”下插入“VariableTable”,然后打開,填入MW0、MW2、MW4、MW6和M10.0,點擊鍵,程序運行正常。將M10.0置為“true”,CPU會報錯并停機,查看CPU的診斷緩沖區信息,發現為I/O訪問錯誤。將OB122下載到CPU中,再將M10.0置為“true”,CPU會報錯但不停機,檢查并修改OB1程序,如圖7-30所示。圖7-30OB1修改后的程序先將硬件組態和OB1下載到CPU中,這是CPU運行正常。在“重新下載OB1,CPU不再報錯,程序運行正常。對于某些同步錯誤,可以調用系統功能SFC44,為輸入模塊提供一個替代錯誤值,以便使程序能繼續執行。如果錯誤發生在輸入模塊,可以在用戶程序中直接替代。如果是輸出模塊錯誤,輸出模塊將自動地用組態時定義的值替代。替代值雖然不一定能反映真實的過程信號,但是可以避免終止用戶程序和進入STOP模式。重新下載OB1,CPU不再報錯,程序運行正常。第七章故障診斷PLC是運行在工業環境中的控制器,一般而言可靠性比較高,出現故障的概率較低,但是,出現故障也是難以避免的。一般引發故障的原因有很多,故障的后果也有很多種。引發故障的原因雖然我們不能完全控制,但是我們可以通過日常的檢查和定期的維護來消除多種隱患,把故障率降到最低。故障的后果輕的可能造成設備的停機,影響生產的數量;重的可能造成財產損失和人員傷亡,如果是一些特殊的控制對象,一旦出現故障可能會引發更嚴重的后果。故障發生后,對于維護人員來說最重要的是找到故障的原因,迅速排除故障,盡快恢復系統的運行。對于系統設計人員在設計時要考慮到系統出現故障后的系統的自我保護措施力爭使故障的停機時間最短,故障的產生的損失最小。第七章故障診斷PLC是運行在工業環境中的控制器,一般而言可7.1了解S7-300PLC的基本故障種類一般PLC的故障主要有外部故障或是內部錯誤造成。外部故障時由外部傳感器或執行機構的故障等引發PLC產生故障,可能會使整個系統停機,甚至燒壞PLC。而內部錯誤是PLC內部的功能性錯誤或編成錯誤造成的,可以使系統停機。S7-300具有很強的錯誤(或稱故障)檢測和處理能力,CPU檢測到某種錯誤后,操作系統調用對應得組織塊,用戶可以在組織塊中編程,對發生的錯誤采取相應的措施。對于大多數錯誤,如果沒有給組織塊編程,出現錯誤時CPU將進入STOP模式。被S7CPU檢測到并且用戶可以通過組織塊對其進行處理的錯誤分為兩類:1、異步錯誤異步錯誤是與PLC的硬件或操作系統密切相關的錯誤,與程序執行無關,但異步錯誤的后果一般比較嚴重。2、同步錯誤同步錯誤是與執行用戶程序有關的錯誤,程序中如果有不正確的地址區,錯誤的編號或錯誤的地址,都會出現同步錯誤,操作系統將調用同步錯誤OB。7.1了解S7-300PLC的基本故障種類一般PLC的故7.2掌握PLC的常規維護及故障排除的方法為了保障系統的正常運行,定期對PLC系統進行維護和檢查是必不可少的,而且還必須熟悉一些故障診斷和排除方法。7.2.1檢查與維護7.2.2外部故障的排除方法7.2.3內部錯誤的故障診斷7.2掌握PLC的常規維護及故障排除的方法為了保障系統的正7.2.1檢查與維護一、定期檢查PLC是一種工業控制設備,盡管在可靠性方面采取了許多措施,但工作環境對PLC影響還是很大的。所以,通常每隔半年時間應對PLC作定期檢查。如果PLC的工作條件不符合表7-1規定的標準,就要做一些應急處理,以便使PLC工作在規定的標準環境。7.2.1檢查與維護一、定期檢查表7-1周期性檢查一覽表表7-1周期性檢查一覽表二、日常維護PLC除了鋰電池和繼電器輸出觸點外,基本上沒有其它易損元器件。由于存放用戶程序的隨機內存(RAM),計數器和具有保持功能的輔助繼電器等均用鋰電池保護,鋰電池的壽命大約5年,當鋰電池的電壓逐漸降低達一定程度時,PLC基本單元上的電池電壓跌落指示燈會亮。提示用戶注意,有鋰電池所支持的程序還可以保持一周左右,必須更換電池,這是日常維護的主要內容。二、日常維護PLC除了鋰電池和繼電器輸出觸點外,基本上沒有其調換鋰電池的步驟:

1、在拆裝之前,應先讓PLC通電15S以上,這樣可使作為內存備用電源的電容器充電,在鋰電池斷開后,該電容可對PLC作短暫供電,以保護RAM中的信息不丟失。2、斷開PLC的交流電源。3、打開基本單元的電池蓋板。4、取下舊電池,裝上新電池。5、蓋上電池蓋板。更換電池的時間要盡量短,一般不允許超過3min。如果時間過長,RAM中的程序將丟失。調換鋰電池的步驟:1、在拆裝之前,應先讓PLC通電15S以7.2.2外部故障的排除方法PLC有很強的自診斷能力,當PLC自身故障或外圍設備發生故障,都可用PLC上具有診斷指示功能的發光二極管的亮滅來診斷。7.2.2外部故障的排除方法一、故障查找1、總體檢查根據總體檢查流程圖找出故障點的大方向,逐漸細化,以找出具體故障,如圖7-1所示。一、故障查找1、總體檢查2、電源故障檢查電源等不亮部需要對供電系統進行檢查,檢查流程圖如圖7-2所示。

2、電源故障檢查電源等不亮部需要對供電系統進行檢查,檢查流程3、運行故障檢查電源正常,運行指示燈不亮,說明系統已因某種異常而終止了正常運行,檢查流程圖如圖7-3所示。3、運行故障檢查電源正常,運行指示燈不亮,說明系統已因某種異4、輸入輸出故障檢查輸入輸出是PLC與外部設備進行信息交流的信道,其是否正常工作,除了和輸入輸出單元有關外,還與聯接配線、接線端子、保險管等組件狀態有關。圖7-4和圖7-5分別所示的是輸入檢查流程和輸出檢查流程。圖7-4輸入檢查流程圖4、輸入輸出故障檢查輸入輸出是PLC與外部設備進行信息交流的圖7-5輸出檢查流程圖課件-西門子S7300PLC應用技術第六章故障診斷5、外圍環境的檢查影響PLC工作的環境因素主要有溫度、濕度、噪音與粉塵,以及腐蝕性酸堿等。5、外圍環境的檢查二、故障的處理不同故障產生的原因不同,它們也有不同的處理方法,具體請見下表所列。表7-2CPU裝置、I/O擴展裝置故障處理二、故障的處理不同故障產生的原因不同,它們也有不同的處理方法表7-3輸入單元故障處理表7-3輸入單元故障處理課件-西門子S7300PLC應用技術第六章故障診斷表7-4輸出單元故障處理表7-4輸出單元故障處理7.2.3內部錯誤的故障診斷S7-300具有非常強大的故障診斷功能,通過STEP7編程軟件可以獲得大量的硬件故障與編程錯誤的信息,使用戶能迅速地查找到故障。這里的診斷是指S7-300內部集成的錯誤識別和記錄功能,錯誤信息在CPU的診斷緩沖區內。有錯誤或事件發生時,標有日期和時間的信息被保存到診斷緩沖區,時間保存到系統的狀態表中,如果用戶已對有關的錯誤處理組織塊編程,CPU將調用該組織塊。7.2.3內部錯誤的故障診斷S7-300具有非常強大的故障一、故障診斷的基本方法在SIMATIC管理器中用菜單命令“View”→“Online”打開再現窗口。打開所有的站,查看是否有CPU顯示了指示錯誤或故障的診斷符號。診斷符號用來形象直觀地表示模塊的運行模式和模塊的故障狀態,如圖7-6所示。如果模塊有診斷信息,在模塊符號上將會增加一個診斷符號,或者模塊符號的對比度降低。圖7-6診斷符號一、故障診斷的基本方法在SIMATIC管理器中用菜單命令“V診斷符號“當前組態與實際組態不匹配”表示被組態的模塊不存在,或者插入了與組態的模塊的型號不同的模塊。診斷符號“無法診斷”表示無線上連接,或該模塊不支持模塊診斷信息,例如電源模塊或子模塊?!皬娭啤狈柋硎驹谠撃K上有變量被強制,即在模塊的用戶程序中有變量被賦予一個固定植,該數據值不能被程序改變。“強制”符號可以與其它符號組合在一起顯示,如圖7-6中“強制與運行”符號。從在線的SIMATIC管理器的窗口、在線的硬件診斷功能打開的快速窗口和在線的硬件組態窗口(診斷窗口),都可以觀察到診斷符號。通過觀察診斷符號,可以判斷CPU模塊的運行模式,是否有強制變量,CPU模塊和功能模塊(FM)受否有故障。打開在線窗口,在SIMATIC管理器中執行菜單命令“PLC”→“Diagnostic/Setting”→“HardwareDiagnostics”,將打開硬件診斷快速瀏覽窗口。在該窗口中顯示PLC的狀態,看到診斷功能的模塊的硬件故障,雙擊故障模塊可以獲得詳細的故障信息。診斷符號“當前組態與實際組態不匹配”表示被組態的模塊不存在,二、利用CPU診斷緩沖區進行詳細故障診斷建立與PLC的在線連接后,在SIMATIC管理器中選擇要檢查的站,執行菜單命令“PLC”→“Diagnostics/Setting”→“ModuleInformation”,如圖7-7所示,將打開模塊信息窗口,顯示該站中CPU的信息。在快速窗口中使用“ModuleInformation”。圖7-7打開CPU診斷緩沖區二、利用CPU診斷緩沖區進行詳細故障診斷建立與PLC的在線連在模塊信息窗口中的診斷緩沖區(DiagnosticBuffer)選項中,給出了CPU中發生的事件一覽表,選中“Events”窗口中某一行的某一事件,下面灰色的“Detailson”窗口將顯示所選事件的詳細信息,見圖7-8所示。使用診斷緩沖區可以對系統得錯誤進行分析,查找停機的原因,并對出現的診斷時間分類。圖7-8CPU模塊的在線模塊信息窗在模塊信息窗口中的診斷緩沖區(DiagnosticBuff診斷事件包括模塊故障、過程寫錯誤、CPU中的系統錯誤、CPU運行模式的切換、用戶程序的錯誤和用戶用系統功能SFC52定義的診斷事件。在模塊信息窗口中,編號為1,位于最上面的事件是最近發生的事件。如果顯示因編程錯誤造成CPU進入STOP模式,選擇該事件,并點擊“OpenBlock”按鈕,將在程序編輯器中打開于錯誤有關的塊,顯示出錯的程序段。診斷中斷和DP從站診斷信息用于查找模塊和DP從站中的故障原因?!癕emory”(內存)選項給出了所選的CPU或M7功能模塊的工作內存和裝載內存當前的使用情況,可以檢查CPU或功能模塊的裝載內存中是否有足夠的空間用來存儲新的塊,如圖7-9所示。圖7-9“Memory”選項診斷事件包括模塊故障、過程寫錯誤、CPU中的系統錯誤、CPU“ScanCycleTime”(掃描循環時間)選項卡用于顯示所選CPU或M7功能模塊的最小循環時間、最大循環時間和當前循環時間,如圖7-10所示。如果最長循環時間接近組態的最大掃描循環時間,由于循環時間的波動可能產生時間錯誤,此時應增大設置的用戶程序最大循環時間(監控時間)。如果循環時間小于設置的最小循環時間,CPU自動延長循環至設置的最小循環時間。在這個延長時間內可以處理背景組織塊(OB90)。組態硬件時可以設置最大和最小循環時間。圖7-10“ScanCycleTime”選項“ScanCycleTime”(掃描循環時間)選項卡用于“TimeSystem”(時間系統)選項卡顯示當前日期、時間、運行的小時數以及時鐘同步的信息,見圖7-11所示。圖7-11“TimeSystem”選項“TimeSystem”(時間系統)選項卡顯示當前日期、時“PerformanceData”(性能數據)選項卡給出了所選模塊(CPU/FM)可以使用的地址區和可以使用的OB、SFB、和SFC,見圖7-12所示。圖7-12“PerformanceData”選項“PerformanceData”(性能數據)選項卡給出了“Communication”(通信)選項卡給出了所選模塊的傳輸速率、可以建立的連接個數和通信處理占掃描周期的百分比,如圖7-13所示。圖7-13“Communication”選項“Communication”(通信)選項卡給出了所選模塊的“Stacks”(堆棧)選項卡只能在STOP模式或HOLD(保持)模式下調用,顯示所選模塊的B(塊)堆棧。還可以顯示I(中斷)堆棧、L(局域)堆棧以及嵌套深度堆棧??梢蕴D到使塊中斷的故障點,判明引起停機的原因。在模塊信息窗口各選項卡的上面顯示了附加的信息,例如所選模塊的在線路徑、CPU的操作模式和狀態(例如出錯或OK)、所選模塊的操作模式,如果它有自己的操作模式的話(例如CP342-5)。從(“AccessibleNodes”窗口)打開的非CPU模塊的模塊信息中,不能顯示CPU本身的操作模式和所選模塊的狀態。“Stacks”(堆棧)選項卡只能在STOP模式或HOLD(三、錯誤處理組織塊組織塊是操作系統與用戶程序之間的接口。S7提供了各種不同的組織塊(OB),用組織塊可以創建在特定時間執行的程序和響應特定事件的程序。當系統程序可以檢測下列錯誤:不正確的CPU功能、系統程序執行中的錯誤、用戶程序中的錯誤和I/O中的錯誤。根據錯誤類型的不同,CPU設置為進入STOP模式或調用一個錯誤處理OB。當CPU檢測到錯誤時,會調用適當的組織塊,見表7-5。如果沒有相應的錯誤處理OB,CPU將進入STOP模式。用戶可以在錯誤處理OB中編寫如何處理這種錯誤的程序,以減小或消除錯誤的影響。三、錯誤處理組織塊組織塊是操作系統與用戶程序之間的接口。S7表7-5錯誤處理組織塊表7-5錯誤處理組織塊為避免發生某種錯誤時CPU進入停機,可以在CPU中建立一個對應的空的組織塊。用戶可以利用OB中的變量聲明表提供的信息來判別錯誤的類型。根據S7CPU檢測到并且用戶可以通過組織塊對其進行處理的錯誤分為異步錯誤和同步錯誤。為避免發生某種錯誤時CPU進入停機,可以在CPU中建立一個對1、異步錯誤組織塊異步錯誤是與PLC的硬件或操作系統密切相關的錯誤,與程序執行無關。異步錯誤的后果一般都比較嚴重。異步錯誤對應的組織塊為OB70~OB73和OB80~OB87,有最高的優先級。操作系統檢測到一個異步錯誤時,將啟動相應的OB。1、異步錯誤組織塊異步錯誤是與PLC的硬件或操作系統密切相關(1)時間錯誤處理組織塊(OB80)OB執行時出現故障S7-300CPU的操作系統調用OB80。這樣的故障包括循環時間超出、執行OB時應答故障、向前移動時間以致于躍過了OB的啟動的時間、CLR后恢復RUN方式。如果當循環中斷OB仍在執行前一次調用時,該OB塊的啟動事件發生,操作系統調用OB80。如果OB80未編程,CPU變為STOP方式,可以使用SFC39至42封鎖或延時和在使用時間故障OB。如果在同一個稍描周期中由于掃描時間超出OB80被調用兩次,CPU就變為STOP方式,可以通過在程序中適當的位置調用SFC43“RE_TRIGR”來避免這種情況。(1)時間錯誤處理組織塊(OB80)OB執行時出現故障S7-打開OB80可以從OB80的臨時變量中得到故障信息,見圖7-14所示。圖7-14OB80的臨時變量打開OB80可以從OB80的臨時變量中得到故障信息,見圖7-表7-6OB80的變量申明表表7-6OB80的變量申明表(2)電源故障處理組織塊(OB81)與電源(僅對S7-400)或后備電池有關的故障事件發生時,S7-300CPU的操作系統調用OB81,表7-7為OB81的變量申明表。如果OB81未編程,CPU并不轉換為STOP方式。可以使用SFC39至42來禁用、延時或再使用電源故障(OB81)。(2)電源故障處理組織塊(OB81)與電源(僅對S7-400表7-7OB81的變量申明表表7-7OB81的變量申明表(3)診斷中斷處理組織塊(OB82)如果模塊具有診斷能力又使能了診斷中斷,當它檢測到錯誤時,它輸出一個診斷中斷請求給CPU,以及錯誤消失時,操作系統都會調用OB82。當一個診斷中斷被觸發時,有問題的模塊自動地在診斷中斷OB的起動信息和診斷緩沖區中存入4個字節的診斷數據和模塊的起始地址。可以用SFC39至42來禁用、延時或再使用診斷中斷(OB82),表7-8描述了診斷中斷OB82的臨時變量。(3)診斷中斷處理組織塊(OB82)如果模塊具有診斷能力又使課件-西門子S7300PLC應用技術第六章故障診斷表7-8OB82的變量申明表表7-8OB82的變量申明表在編寫OB82的程序時,要從OB82的起動信息中獲得與出現的錯誤有關的更確切的診斷信息,例如是哪一個通道出錯,出現的是哪種錯誤。使用SFC51“RDSYSST”也可以讀出模塊的診斷數據,用SFC52“WR_USMSG”可以將這些信息存入診斷緩沖區?,F在通過結合模板的短線診測應用和SFC51來說明診斷中斷組織塊OB82的使用方法。在編寫OB82的程序時,要從OB82的起動信息中獲得與出現的首先,在SIMATIC管理器中新建一個項目,插入一個300站。硬件組態,在機架上插入CPU315-2DP和一塊具有中斷功能模擬量輸入模塊SM331,配置SM331模塊的“Inputs”選項,選擇0-1通道組為2線制電流(2DMU),其它通道組為電壓,并注意模塊的量程卡要與設置的相同。選中“Enable”框中的“DiagnosticInterrupt”選項,選中“Diagnostics”選項中的0-1通道組中的“GroupDiagnostics”和“withCheckforWireBreak”選項,如圖7-15所示。圖7-15硬件組態首先,在SIMATIC管理器中新建一個項目,插入一個300站點擊OK,然后雙擊CPU315-2DP,選擇“Interrupts”選項,可以看到CPU支持OB82,見圖7-16所示。硬件組態完成后,保存編譯,下載到CPU中。圖7-16CPU中的“Interrupts”選項點擊OK,然后雙擊CPU315-2DP,選擇“Interr然后完成診斷程序。OB82程序當在硬件組態中設定的診斷中斷發生后執行,但OB82執行時可以通過它的臨時變量OB82_MDL_ADDR讀出產生診斷中斷的模塊的邏輯地址。STEP7不能時時監控程序的運行。在SIMATIC管理器中S7Program(1)下插入一個STLSource文件STLSource(1),如圖7-17所示。圖7-17插入STLSource文件然后完成診斷程序。OB82程序當在硬件組態中設定的診斷中斷發打開OB1,在“Libraries”→“StandardLibraries”→“SystemFunctionBlocks”下找到SFC51“RDSYSSTDIAGNSTC”,按F1鍵,出現SFC51在線幫助信息,在幫助信息的最低部點擊“ExampleformodulediagnosticswiththeSFC51”,然后點擊“STLSourceFile”,選中全部STLSource源程序拷貝到STLSource(1)中,編譯保存。這是在Blocks中生成OB1、OB82、DB13和SFC51。打開OB82,對其中的程序做簡單的修改,將19和20行的程序拷貝到go:后面,如圖7-18所示。再進行保存,下載到CPU中。圖7-18OB82的程序修改打開OB1,在“Libraries”→“StandardL下載完成后,將CPU上的模式選擇開關切換到“RUN”狀態,此時,CPU上的“RUN”燈和“SF”燈會亮,SM331模塊上的“SF”燈也會亮。同時,查看CPU的診斷緩沖區可以獲得相應的故障信息。打開DB13數據塊,在線監控,見圖7-19所示。因為通道斷線是一到來事件,所以診斷信息存儲到COME數組中。圖7-19DB13中的數據變換下載完成后,將CPU上的模式選擇開關切換到“RUN”狀態,此本例中COME數組字節的含義接受如下:COME[1]=B#16#D:表示通道錯誤,外部故障和模塊問題;COME[2]=B#16#15:表示此段信息為模擬量模塊的通道信息;COME[3]=B#16#0:表示CPU處于運行狀態,無字節2中標示的故障信息;COME[4]=B#16#0:表示無字節3中標示的故障信息;COME[5]=B#16#71:表示模擬量輸入;COME[6]=B#16#8:表示模塊的每個通道有8個診斷位;COME[7]=B#16#8:表示模塊的通道數;COME[8]=B#16#3:表示0通道錯誤和1通道錯誤,其他通道正常;COME[9]=B#16#10:表示0通道斷線;COME[10]=B#16#10:表示1通道斷線;COME[11]=B#16#0:表示2通道正常,其他通道與2通道相同。本例中COME數組字節的含義接受如下:(4)插入/拔出模塊中斷組織塊(OB83)當組態的模塊插入/拔出后或在SETP7下修改了模塊的參數并在“RUN”狀態把所做修改下載到CPU后,CPU操作系統調用OB83。在“RUN”、“STOP”和“STARTUP”狀態時每次組態的模塊插入或拔出,就產生一個插入/拔出中斷(電源模塊、CPU、適配模塊和IM模塊不能在這種狀態下移出)。該中斷引起有關CPU的診斷緩沖區和系統狀態表的記錄如果在“RUN”狀態下拔出組態的模塊,OB83期啟動。由于僅以一秒的間隔監視模塊的存在,如果模塊被直接訪問或當過程映像被刷新時可能首先檢測出訪問故障。如果在“RUN”狀態下插入一塊模塊,操作系統檢查插入模塊的類型是否與組態的記錄一致,如果模塊類型匹配,于是OB83被啟動并且參數被賦值。可以借助SFC39至42來禁用、延時或再使用插入/拔出模塊中斷(OB83),表7-9描述了插入/拔出模塊中斷OB83的臨時變量。(4)插入/拔出模塊中斷組織塊(OB83)當組態的模塊插入/表7-9OB83的變量申明表表7-9OB83的變量申明表(5)CPU硬件故障處理組織塊(OB84)當CPU檢測到MPI網絡的接口故障、通信總線的接口故障或分布式I/O網卡的接口故障時,操作系統調用OB84。故障消除時也會調用該OB塊,即事件到來和離去時都調用該OB。表7-10描述了CPU硬件故障OB84的臨時變量。(5)CPU硬件故障處理組織塊(OB84)當CPU檢測到MP表7-10OB84的變量申明表表7-10OB84的變量申明表(6)優先級錯誤處理組織塊(OB85)在以下情況下將會觸發優先級錯誤中斷:產生了一個中斷事件,但是對應的OB塊沒有下載到CPU;訪問一個系統功能塊的背景數據塊時出錯;刷新過程映像表時I/O訪問出錯,模塊不存在或有故障。在編寫OB85的程序時,應根據OB85的起動信息,判定是哪個模塊損壞或沒有插入??梢允褂肧FC39至42封鎖或延時并使能優先級故障OB,表7-11描述了優先級故障OB85的臨時變量。(6)優先級錯誤處理組織塊(OB85)在以下情況下將會觸發優表7-11O85的變量申明表表7-11O85的變量申明表(7)機架故障組織塊(OB86)出現下列故障或故障消失時,都會觸發機架故障中斷,操作系統將調用OB86:擴展機架故障(不包括CPU318),DP主站系統故障或分布式I/O故障。故障產生和故障消失時都會產生中斷。在編寫OB86的程序時,應根據OB86的起動信息,判斷是哪個機架損壞或找不到??梢允褂肧FC39至42封鎖或延時并使能OB86,表7-12描述了機架故障OB86的臨時變量。(7)機架故障組織塊(OB86)出現下列故障或故障消失時,都表7-12O86的變量申明表表7-12O86的變量申明表這里也通過一個例子來說明OB86的使用。新建一個項目,插入一個300站,進行硬件組態。在機架中插入CPU315-2DP,選擇DP作為主站,在DP主站下添加一個ET200M從站,并在從站中插入一個模擬量輸入模塊SM331,如圖7-20所示。圖7-20硬件組態這里也通過一個例子來說明OB86的使用。新建一個項目,插入一然后雙擊CPU,選擇“Interrupts”選項,可以看到CPU支持OB86,見圖7-21所示。硬件組態完成后,保存編譯,下載到CPU中。圖7-21CPU中的“Interrupts”選項然后雙擊CPU,選擇“Interrupts”選項,可以看到COB86程序當在通訊發生問題后或者訪問不到配置的機架或站時執行,此時程序可能還可能需要調用OB82和OB122等組織塊,當OB86執行時可以通過它的臨時變量讀出產生的故障代碼和事件類型,通過它們的組合可以得到具體錯誤信息,同時也可以讀出產生錯誤的模塊地址和機架信息。STEP7不能時時監控程序的運行,可以用“VariableTable”監控實時數據的變化。OB86程序當在通訊發生問題后或者訪問不到配置的機架或站時執打開組織塊OB86編寫程序,程序如圖7-22所示。圖7-22OB86中所編寫的程序打開組織塊OB86編寫程序,程序如圖7-22所示。圖7-22該程序也可以轉化成梯形圖,但程序中要將OB86的臨時變量OB86_RACKS_FLTDARRAY[0..31]改成OB86_z23DWORD。把程序下載到CPU后,在“Blocks”插入“VariableTable”,如圖7-23所示。然后打開,填入MB0、MB1、MW2、MD4并點擊鍵就可以得到相關信息了。圖7-23插入“VariableTable”該程序也可以轉化成梯形圖,但程序中要將OB86的臨時變量OB(8)通信錯誤組織塊(OB87)在使用通信功能塊或全局數據(GD)通信進行數據交換時,如果出現下列通信錯誤,操作系統將調用OB87:接受全局數據時,檢測到不正確的幀標識符(ID);全局數據通信的狀態信息數據塊不存在或太短;接受到非法的全局數據包編號。如果用于全局數據通信狀態信息的數據塊丟失,需要用OB87生成該數據塊將它下載到CPU??梢允褂肧FC39至42封鎖或延時并使能通信錯誤OB,表7-13描述了通信錯誤OB86的臨時變量。(8)通信錯誤組織塊(OB87)在使用通信功能塊或全局數據(表7-13OB87的變量申明表表7-13OB87的變量申明表2、同步錯誤組織塊同步錯誤是與執行用戶程序有關的錯誤,程序中如果有不正確的地址區、錯誤的編號和錯誤的地址,都會出現同

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論