課件西門(mén)子S7300PLC應(yīng)用技術(shù)故障診斷_第1頁(yè)
課件西門(mén)子S7300PLC應(yīng)用技術(shù)故障診斷_第2頁(yè)
課件西門(mén)子S7300PLC應(yīng)用技術(shù)故障診斷_第3頁(yè)
課件西門(mén)子S7300PLC應(yīng)用技術(shù)故障診斷_第4頁(yè)
課件西門(mén)子S7300PLC應(yīng)用技術(shù)故障診斷_第5頁(yè)
已閱讀5頁(yè),還剩151頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

1、在拆裝之前,應(yīng)先讓PLC通電15S以上,這樣可使作為內(nèi)存?zhèn)溆秒娫吹碾娙萜鞒潆?,在鋰電池?cái)嚅_(kāi)后,該電容可對(duì)PLC作短暫供電,以保護(hù)RAM中的信息不丟失。2、斷開(kāi)PLC的交流電源。3、打開(kāi)基本單元的電池蓋板。4、取下舊電池,裝上新電池。5、蓋上電池蓋板。更換電池的時(shí)間要盡量短,一般不允許超過(guò)3min。如果時(shí)間過(guò)長(zhǎng),RAM中的程序?qū)G失。調(diào)換鋰電池的步驟:1、在拆裝之前,應(yīng)先讓PLC通電15S以7.2.2外部故障的排除方法PLC有很強(qiáng)的自診斷能力,當(dāng)PLC自身故障或外圍設(shè)備發(fā)生故障,都可用PLC上具有診斷指示功能的發(fā)光二極管的亮滅來(lái)診斷。7.2.2外部故障的排除方法一、故障查找1、總體檢查根據(jù)總體檢查流程圖找出故障點(diǎn)的大方向,逐漸細(xì)化,以找出具體故障,如圖7-1所示。一、故障查找1、總體檢查2、電源故障檢查電源等不亮部需要對(duì)供電系統(tǒng)進(jìn)行檢查,檢查流程圖如圖7-2所示。

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

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

1、在拆裝之前,應(yīng)先讓PLC通電15S以上,這樣可使作為內(nèi)存?zhèn)溆秒娫吹碾娙萜鞒潆?,在鋰電池?cái)嚅_(kāi)后,該電容可對(duì)PLC作短暫供電,以保護(hù)RAM中的信息不丟失。2、斷開(kāi)PLC的交流電源。3、打開(kāi)基本單元的電池蓋板。4、取下舊電池,裝上新電池。5、蓋上電池蓋板。更換電池的時(shí)間要盡量短,一般不允許超過(guò)3min。如果時(shí)間過(guò)長(zhǎng),RAM中的程序?qū)G失。調(diào)換鋰電池的步驟:1、在拆裝之前,應(yīng)先讓PLC通電15S以7.2.2外部故障的排除方法PLC有很強(qiáng)的自診斷能力,當(dāng)PLC自身故障或外圍設(shè)備發(fā)生故障,都可用PLC上具有診斷指示功能的發(fā)光二極管的亮滅來(lái)診斷。7.2.2外部故障的排除方法一、故障查找1、總體檢查根據(jù)總體檢查流程圖找出故障點(diǎn)的大方向,逐漸細(xì)化,以找出具體故障,如圖7-1所示。一、故障查找1、總體檢查2、電源故障檢查電源等不亮部需要對(duì)供電系統(tǒng)進(jìn)行檢查,檢查流程圖如圖7-2所示。

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論