西門子S7-300學(xué)習(xí)教程_6.ppt_第1頁
西門子S7-300學(xué)習(xí)教程_6.ppt_第2頁
西門子S7-300學(xué)習(xí)教程_6.ppt_第3頁
西門子S7-300學(xué)習(xí)教程_6.ppt_第4頁
西門子S7-300學(xué)習(xí)教程_6.ppt_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第七章 故障診斷,PLC是運(yùn)行在工業(yè)環(huán)境中的控制器,一般而言可靠性比較高,出現(xiàn)故障的概率較低,但是,出現(xiàn)故障也是難以避免的。一般引發(fā)故障的原因有很多,故障的后果也有很多種。 引發(fā)故障的原因雖然我們不能完全控制,但是我們可以通過日常的檢查和定期的維護(hù)來消除多種隱患,把故障率降到最低。故障的后果輕的可能造成設(shè)備的停機(jī),影響生產(chǎn)的數(shù)量;重的可能造成財(cái)產(chǎn)損失和人員傷亡,如果是一些特殊的控制對(duì)象,一旦出現(xiàn)故障可能會(huì)引發(fā)更嚴(yán)重的后果。 故障發(fā)生后,對(duì)于維護(hù)人員來說最重要的是找到故障的原因,迅速排除故障,盡快恢復(fù)系統(tǒng)的運(yùn)行。對(duì)于系統(tǒng)設(shè)計(jì)人員在設(shè)計(jì)時(shí)要考慮到系統(tǒng)出現(xiàn)故障后的系統(tǒng)的自我保護(hù)措施力爭(zhēng)使故障的停機(jī)時(shí)

2、間最短,故障的產(chǎn)生的損失最小。,7.1 了解S7-300 PLC的基本故障種類,一般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ò)誤,如果沒有給組織塊編程,出現(xiàn)錯(cuò)誤時(shí)CPU將進(jìn)入STOP模式。 被S7 CPU檢測(cè)到并且用戶可以通過組織塊對(duì)其進(jìn)行處理的錯(cuò)誤分為兩類:

3、1、異步錯(cuò)誤 異步錯(cuò)誤是與PLC的硬件或操作系統(tǒng)密切相關(guān)的錯(cuò)誤,與程序執(zhí)行無關(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.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.1 檢查與維護(hù),一、定期檢查 PLC是一種工業(yè)控制設(shè)備,盡管在可靠性方面采取了許多措施

4、,但工作環(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-1 周期性檢查一覽表,二、日常維護(hù),PLC除了鋰電池和繼電器輸出觸點(diǎn)外,基本上沒有其它易損元器件。由于存放用戶程序的隨機(jī)內(nèi)存(RAM),計(jì)數(shù)器和具有保持功能的輔助繼電器等均用鋰電池保護(hù),鋰電池的壽命大約5年,當(dāng)鋰電池的電壓逐漸降低達(dá)一定程度時(shí),PLC基本單元上的電池電壓跌落指示燈會(huì)亮。提示用戶注意,有鋰電池所支持的程序還可以保持一周左右,必須更換電池,這是日常維護(hù)的主要內(nèi)容。,調(diào)換鋰電池的步驟:,1、在拆裝之

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

6、2、電源故障檢查,電源等不亮部需要對(duì)供電系統(tǒng)進(jìn)行檢查,檢查流程圖如圖7-2所示。,3、運(yùn)行故障檢查,電源正常,運(yùn)行指示燈不亮,說明系統(tǒng)已因某種異常而終止了正常運(yùn)行,檢查流程圖如圖7-3所示。,4、輸入輸出故障檢查,輸入輸出是PLC與外部設(shè)備進(jìn)行信息交流的信道,其是否正常工作,除了和輸入輸出單元有關(guān)外,還與聯(lián)接配線、接線端子、保險(xiǎn)管等組件狀態(tài)有關(guān)。圖7-4和圖7-5分別所示的是輸入檢查流程和輸出檢查流程。 圖7-4 輸入檢查流程圖,圖7-5 輸出檢查流程圖,5、外圍環(huán)境的檢查,影響PLC工作的環(huán)境因素主要有溫度、濕度、噪音與粉塵,以及腐蝕性酸堿等。,二、故障的處理,不同故障產(chǎn)生的原因不同,它們也

7、有不同的處理方法,具體請(qǐng)見下表所列。 表7-2 CPU裝置、I/O擴(kuò)展裝置故障處理,表7-3 輸入單元故障處理,表7-4輸出單元故障處理,7.2.3 內(nèi)部錯(cuò)誤的故障診斷,S7-300具有非常強(qiáng)大的故障診斷功能,通過STEP 7編程軟件可以獲得大量的硬件故障與編程錯(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)用該組織塊。,一、故障診斷的基本方法,在SIMATIC管理器中用菜單命令“V

8、iew”“Online”打開再現(xiàn)窗口。打開所有的站,查看是否有CPU顯示了指示錯(cuò)誤或故障的診斷符號(hào)。 診斷符號(hào)用來形象直觀地表示模塊的運(yùn)行模式和模塊的故障狀態(tài),如圖7-6所示。如果模塊有診斷信息,在模塊符號(hào)上將會(huì)增加一個(gè)診斷符號(hào),或者模塊符號(hào)的對(duì)比度降低。,圖7-6 診斷符號(hào),診斷符號(hào)“當(dāng)前組態(tài)與實(shí)際組態(tài)不匹配”表示被組態(tài)的模塊不存在,或者插入了與組態(tài)的模塊的型號(hào)不同的模塊。 診斷符號(hào)“無法診斷”表示無線上連接,或該模塊不支持模塊診斷信息,例如電源模塊或子模塊。 “強(qiáng)制”符號(hào)表示在該模塊上有變量被強(qiáng)制,即在模塊的用戶程序中有變量被賦予一個(gè)固定植,該數(shù)據(jù)值不能被程序改變?!皬?qiáng)制”符號(hào)可以與其它符

9、號(hào)組合在一起顯示,如圖7-6中“強(qiáng)制與運(yùn)行”符號(hào)。 從在線的SIMATIC管理器的窗口、在線的硬件診斷功能打開的快速窗口和在線的硬件組態(tài)窗口(診斷窗口),都可以觀察到診斷符號(hào)。 通過觀察診斷符號(hào),可以判斷CPU模塊的運(yùn)行模式,是否有強(qiáng)制變量,CPU模塊和功能模塊(FM)受否有故障。 打開在線窗口,在SIMATIC管理器中執(zhí)行菜單命令“PLC”“Diagnostic/Setting”“Hardware Diagnostics”,將打開硬件診斷快速瀏覽窗口。在該窗口中顯示PLC的狀態(tài),看到診斷功能的模塊的硬件故障,雙擊故障模塊可以獲得詳細(xì)的故障信息。,二、利用CPU診斷緩沖區(qū)進(jìn)行詳細(xì)故障診斷,建立

10、與PLC的在線連接后,在SIMATIC管理器中選擇要檢查的站,執(zhí)行菜單命令“PLC”“Diagnostics/Setting”“Module Information”,如圖7-7所示,將打開模塊信息窗口,顯示該站中CPU的信息。在快速窗口中使用“Module Information”。,圖7-7 打開CPU診斷緩沖區(qū),在模塊信息窗口中的診斷緩沖區(qū)(Diagnostic Buffer)選項(xiàng)中,給出了CPU中發(fā)生的事件一覽表,選中“Events”窗口中某一行的某一事件,下面灰色的“Details on”窗口將顯示所選事件的詳細(xì)信息,見圖7-8所示。使用診斷緩沖區(qū)可以對(duì)系統(tǒng)得錯(cuò)誤進(jìn)行分析,查找停機(jī)的

11、原因,并對(duì)出現(xiàn)的診斷時(shí)間分類。,圖7-8 CPU模塊的在線模塊信息窗,診斷事件包括模塊故障、過程寫錯(cuò)誤、CPU中的系統(tǒng)錯(cuò)誤、CPU運(yùn)行模式的切換、用戶程序的錯(cuò)誤和用戶用系統(tǒng)功能SFC52定義的診斷事件。 在模塊信息窗口中,編號(hào)為1,位于最上面的事件是最近發(fā)生的事件。如果顯示因編程錯(cuò)誤造成CPU進(jìn)入STOP模式,選擇該事件,并點(diǎn)擊“Open Block”按鈕,將在程序編輯器中打開于錯(cuò)誤有關(guān)的塊,顯示出錯(cuò)的程序段。 診斷中斷和DP從站診斷信息用于查找模塊和DP從站中的故障原因。 “Memory”(內(nèi)存)選項(xiàng)給出了所選的CPU或M7功能模塊的工作內(nèi)存和裝載內(nèi)存當(dāng)前的使用情況,可以檢查CPU或功能模塊

12、的裝載內(nèi)存中是否有足夠的空間用來存儲(chǔ)新的塊,如圖7-9所示。,圖7-9 “Memory” 選項(xiàng),“Scan Cycle Time”(掃描循環(huán)時(shí)間)選項(xiàng)卡用于顯示所選CPU或M7功能模塊的最小循環(huán)時(shí)間、最大循環(huán)時(shí)間和當(dāng)前循環(huán)時(shí)間,如圖7-10所示。 如果最長循環(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)延長循環(huán)至設(shè)置的最小循環(huán)時(shí)間。在這個(gè)延長時(shí)間內(nèi)可以處理背景組織塊(OB90)。組態(tài)硬件時(shí)可以設(shè)置最大和最小循環(huán)時(shí)間。,圖7-10 “Scan Cycle Time” 選項(xiàng),“

13、Time System”(時(shí)間系統(tǒng))選項(xiàng)卡顯示當(dāng)前日期、時(shí)間、運(yùn)行的小時(shí)數(shù)以及時(shí)鐘同步的信息,見圖7-11所示。,圖7-11 “Time System” 選項(xiàng),“Performance Data”(性能數(shù)據(jù))選項(xiàng)卡給出了所選模塊(CPU/FM)可以使用的地址區(qū)和可以使用的OB、SFB、和SFC,見圖7-12所示。,圖7-12 “Performance Data” 選項(xiàng),“Communication”(通信)選項(xiàng)卡給出了所選模塊的傳輸速率、可以建立的連接個(gè)數(shù)和通信處理占掃描周期的百分比,如圖7-13所示。,圖7-13“Communication” 選項(xiàng),“Stacks”(堆棧)選項(xiàng)卡只能在STO

14、P模式或HOLD(保持)模式下調(diào)用,顯示所選模塊的B(塊)堆棧。還可以顯示I(中斷)堆棧、L(局域)堆棧以及嵌套深度堆棧。可以跳轉(zhuǎn)到使塊中斷的故障點(diǎn),判明引起停機(jī)的原因。 在模塊信息窗口各選項(xiàng)卡的上面顯示了附加的信息,例如所選模塊的在線路徑、CPU的操作模式和狀態(tài)(例如出錯(cuò)或OK)、所選模塊的操作模式,如果它有自己的操作模式的話(例如CP342-5)。 從 (“Accessible Nodes”窗口)打開的非CPU模塊的模塊信息中,不能顯示CPU本身的操作模式和所選模塊的狀態(tài)。,三、錯(cuò)誤處理組織塊,組織塊是操作系統(tǒng)與用戶程序之間的接口。S7提供了各種不同的組織塊(OB),用組織塊可以創(chuàng)建在特定

15、時(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織塊,見表7-5。如果沒有相應(yīng)的錯(cuò)誤處理OB,CPU將進(jìn)入STOP模式。用戶可以在錯(cuò)誤處理OB中編寫如何處理這種錯(cuò)誤的程序,以減小或消除錯(cuò)誤的影響。,表7-5 錯(cuò)誤處理組織塊,為避免發(fā)生某種錯(cuò)誤時(shí)CPU進(jìn)入停機(jī),可以在CPU中建立一個(gè)對(duì)應(yīng)的空的組織塊。用戶可以利用OB中的變量聲明表提供的信息來判別錯(cuò)誤的類型。 根據(jù)S7 CPU檢測(cè)到并且用戶可以通

16、過組織塊對(duì)其進(jìn)行處理的錯(cuò)誤分為異步錯(cuò)誤和同步錯(cuò)誤。,1、異步錯(cuò)誤組織塊,異步錯(cuò)誤是與PLC的硬件或操作系統(tǒng)密切相關(guān)的錯(cuò)誤,與程序執(zhí)行無關(guān)。異步錯(cuò)誤的后果一般都比較嚴(yán)重。異步錯(cuò)誤對(duì)應(yīng)的組織塊為OB70OB73和OB80OB87,有最高的優(yōu)先級(jí)。操作系統(tǒng)檢測(cè)到一個(gè)異步錯(cuò)誤時(shí),將啟動(dòng)相應(yīng)的OB。,(1)時(shí)間錯(cuò)誤處理組織塊(OB80),OB執(zhí)行時(shí)出現(xiàn)故障S7-300 CPU的操作系統(tǒng)調(diào)用OB80。這樣的故障包括循環(huán)時(shí)間超出、執(zhí)行OB時(shí)應(yīng)答故障、向前移動(dòng)時(shí)間以致于躍過了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。如果O

17、B80未編程,CPU變?yōu)镾TOP方式,可以使用SFC39至42封鎖或延時(shí)和在使用時(shí)間故障OB。 如果在同一個(gè)稍描周期中由于掃描時(shí)間超出OB80被調(diào)用兩次,CPU就變?yōu)镾TOP方式,可以通過在程序中適當(dāng)?shù)奈恢谜{(diào)用SFC43“RE_TRIGR”來避免這種情況。,打開OB80可以從OB80的臨時(shí)變量中得到故障信息,見圖7-14所示。,圖7-14 OB80的臨時(shí)變量,表7-6 OB80的變量申明表,(2)電源故障處理組織塊(OB81),與電源(僅對(duì)S7-400)或后備電池有關(guān)的故障事件發(fā)生時(shí),S7-300 CPU的操作系統(tǒng)調(diào)用OB81,表7-7為OB81的變量申明表。 如果OB81未編程,CPU并不轉(zhuǎn)

18、換為STOP方式??梢允褂肧FC39至42來禁用、延時(shí)或再使用電源故障(OB81)。,表7-7 OB81的變量申明表,(3)診斷中斷處理組織塊(OB82),如果模塊具有診斷能力又使能了診斷中斷,當(dāng)它檢測(cè)到錯(cuò)誤時(shí),它輸出一個(gè)診斷中斷請(qǐng)求給CPU,以及錯(cuò)誤消失時(shí),操作系統(tǒng)都會(huì)調(diào)用OB82。當(dāng)一個(gè)診斷中斷被觸發(fā)時(shí),有問題的模塊自動(dòng)地在診斷中斷OB的起動(dòng)信息和診斷緩沖區(qū)中存入4個(gè)字節(jié)的診斷數(shù)據(jù)和模塊的起始地址??梢杂肧FC39至42來禁用、延時(shí)或再使用診斷中斷(OB82),表7-8描述了診斷中斷OB82的臨時(shí)變量。,表7-8 OB82的變量申明表,在編寫OB82的程序時(shí),要從OB82的起動(dòng)信息中獲得與

19、出現(xiàn)的錯(cuò)誤有關(guān)的更確切的診斷信息,例如是哪一個(gè)通道出錯(cuò),出現(xiàn)的是哪種錯(cuò)誤。使用SFC51“RDSYSST”也可以讀出模塊的診斷數(shù)據(jù),用SFC52“WR_USMSG”可以將這些信息存入診斷緩沖區(qū)。 現(xiàn)在通過結(jié)合模板的短線診測(cè)應(yīng)用和SFC51來說明診斷中斷組織塊OB82的使用方法。,首先,在SIMATIC管理器中新建一個(gè)項(xiàng)目,插入一個(gè)300站。硬件組態(tài),在機(jī)架上插入CPU 315-2DP和一塊具有中斷功能模擬量輸入模塊SM331,配置SM331模塊的“Inputs”選項(xiàng),選擇0-1通道組為2線制電流(2DMU),其它通道組為電壓,并注意模塊的量程卡要與設(shè)置的相同。選中“Enable”框中的“Dia

20、gnostic Interrupt”選項(xiàng),選中“Diagnostics”選項(xiàng)中的0-1通道組中的“Group Diagnostics”和“with Check for Wire Break”選項(xiàng),如圖7-15所示。,圖7-15 硬件組態(tài),點(diǎn)擊OK,然后雙擊CPU 315-2DP,選擇“Interrupts”選項(xiàng),可以看到CPU支持OB82,見圖7-16所示。硬件組態(tài)完成后,保存編譯,下載到CPU中。,圖7-16 CPU中的“Interrupts”選項(xiàng),然后完成診斷程序。OB82程序當(dāng)在硬件組態(tài)中設(shè)定的診斷中斷發(fā)生后執(zhí)行,但OB82執(zhí)行時(shí)可以通過它的臨時(shí)變量OB82_MDL_ADDR讀出產(chǎn)生診斷

21、中斷的模塊的邏輯地址。STEP 7不能時(shí)時(shí)監(jiān)控程序的運(yùn)行。 在SIMATIC管理器中S7 Program(1)下插入一個(gè)STL Source文件STL Source(1),如圖7-17所示。,圖7-17 插入STL Source文件,打開OB1,在“Libraries”“Standard Libraries”“System Function Blocks”下找到SFC51“RDSYSST DIAGNSTC”,按F1鍵,出現(xiàn)SFC51在線幫助信息,在幫助信息的最低部點(diǎn)擊“Example for module diagnostics with the SFC51”,然后點(diǎn)擊“STL Source

22、File”,選中全部STL Source源程序拷貝到STL Source(1)中,編譯保存。這是在Blocks中生成OB1、OB82、DB13和SFC51。 打開OB82,對(duì)其中的程序做簡單的修改,將19和20行的程序拷貝到go:后面,如圖7-18所示。再進(jìn)行保存,下載到CPU中。,圖7-18 OB82的程序修改,下載完成后,將CPU上的模式選擇開關(guān)切換到“RUN”狀態(tài),此時(shí),CPU上的“RUN”燈和“SF”燈會(huì)亮,SM331模塊上的“SF”燈也會(huì)亮。同時(shí),查看CPU的診斷緩沖區(qū)可以獲得相應(yīng)的故障信息。 打開DB13數(shù)據(jù)塊,在線監(jiān)控,見圖7-19所示。因?yàn)橥ǖ罃嗑€是一到來事件,所以診斷信息存儲(chǔ)

23、到COME數(shù)組中。,圖7-19 DB13中的數(shù)據(jù)變換,本例中COME數(shù)組字節(jié)的含義接受如下: COME1=B#16#D:表示通道錯(cuò)誤,外部故障和模塊問題; COME2=B#16#15:表示此段信息為模擬量模塊的通道信息; COME3=B#16#0:表示CPU處于運(yùn)行狀態(tài),無字節(jié)2中標(biāo)示的故障信息; COME4=B#16#0:表示無字節(jié)3中標(biāo)示的故障信息; COME5=B#16#71:表示模擬量輸入; COME6=B#16#8:表示模塊的每個(gè)通道有8個(gè)診斷位; COME7=B#16#8:表示模塊的通道數(shù); COME8=B#16#3:表示0通道錯(cuò)誤和1通道錯(cuò)誤,其他通道正常; COME9=B#16

24、#10:表示0通道斷線; COME10=B#16#10:表示1通道斷線; COME11=B#16#0:表示2通道正常,其他通道與2通道相同。,(4)插入/拔出模塊中斷組織塊(OB83),當(dāng)組態(tài)的模塊插入/拔出后或在SETP 7下修改了模塊的參數(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)。由于僅以一秒

25、的間隔監(jiān)視模塊的存在,如果模塊被直接訪問或當(dāng)過程映像被刷新時(shí)可能首先檢測(cè)出訪問故障。如果在“RUN”狀態(tài)下插入一塊模塊,操作系統(tǒng)檢查插入模塊的類型是否與組態(tài)的記錄一致,如果模塊類型匹配,于是OB83被啟動(dòng)并且參數(shù)被賦值??梢越柚鶶FC39至42來禁用、延時(shí)或再使用插入/拔出模塊中斷(OB83),表7-9描述了插入/拔出模塊中斷OB83的臨時(shí)變量。,表7-9 OB83的變量申明表,(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塊,即事件到來和離去時(shí)都調(diào)用該OB。表7-

26、10描述了CPU硬件故障OB84的臨時(shí)變量。,表7-10 OB84的變量申明表,(6)優(yōu)先級(jí)錯(cuò)誤處理組織塊(OB85),在以下情況下將會(huì)觸發(fā)優(yōu)先級(jí)錯(cuò)誤中斷: 產(chǎn)生了一個(gè)中斷事件,但是對(duì)應(yīng)的OB塊沒有下載到CPU; 訪問一個(gè)系統(tǒng)功能塊的背景數(shù)據(jù)塊時(shí)出錯(cuò); 刷新過程映像表時(shí)I/O訪問出錯(cuò),模塊不存在或有故障。 在編寫OB85的程序時(shí),應(yīng)根據(jù)OB85的起動(dòng)信息,判定是哪個(gè)模塊損壞或沒有插入??梢允褂肧FC39至42封鎖或延時(shí)并使能優(yōu)先級(jí)故障OB,表7-11描述了優(yōu)先級(jí)故障OB85的臨時(shí)變量。,表7-11 O85的變量申明表,(7)機(jī)架故障組織塊(OB86),出現(xiàn)下列故障或故障消失時(shí),都會(huì)觸發(fā)機(jī)架故障

27、中斷,操作系統(tǒng)將調(diào)用OB86:擴(kuò)展機(jī)架故障(不包括CPU 318),DP主站系統(tǒng)故障或分布式I/O故障。故障產(chǎn)生和故障消失時(shí)都會(huì)產(chǎn)生中斷。 在編寫OB86的程序時(shí),應(yīng)根據(jù)OB86的起動(dòng)信息,判斷是哪個(gè)機(jī)架損壞或找不到??梢允褂肧FC39至42封鎖或延時(shí)并使能OB86,表7-12描述了機(jī)架故障OB86的臨時(shí)變量。,表7-12 O86的變量申明表,這里也通過一個(gè)例子來說明OB86的使用。新建一個(gè)項(xiàng)目,插入一個(gè)300站,進(jìn)行硬件組態(tài)。在機(jī)架中插入CPU 315-2DP,選擇DP作為主站,在DP主站下添加一個(gè)ET200M從站,并在從站中插入一個(gè)模擬量輸入模塊SM331,如圖7-20所示。,圖7-20

28、硬件組態(tài),然后雙擊CPU,選擇“Interrupts”選項(xiàng),可以看到CPU支持OB86,見圖7-21所示。硬件組態(tài)完成后,保存編譯,下載到CPU中。,圖7-21 CPU中的“Interrupts”選項(xiàng),OB86程序當(dāng)在通訊發(fā)生問題后或者訪問不到配置的機(jī)架或站時(shí)執(zhí)行,此時(shí)程序可能還可能需要調(diào)用OB82和OB122等組織塊,當(dāng)OB86執(zhí)行時(shí)可以通過它的臨時(shí)變量讀出產(chǎn)生的故障代碼和事件類型,通過它們的組合可以得到具體錯(cuò)誤信息,同時(shí)也可以讀出產(chǎn)生錯(cuò)誤的模塊地址和機(jī)架信息。STEP 7不能時(shí)時(shí)監(jiān)控程序的運(yùn)行,可以用“Variable Table”監(jiān)控實(shí)時(shí)數(shù)據(jù)的變化。,打開組織塊OB86編寫程序,程序如圖

29、7-22所示。,圖7-22 OB86中所編寫的程序,該程序也可以轉(zhuǎn)化成梯形圖,但程序中要將OB86的臨時(shí)變量OB86_RACKS_FLTD ARRAY0.31改成OB86_z23 DWORD。 把程序下載到CPU后,在“Blocks”插入“Variable Table”,如圖7-23所示。然后打開,填入MB0、MB1、MW2、MD4并點(diǎn)擊 鍵就可以得到相關(guān)信息了。,圖7-23 插入“Variable Table”,(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)

30、; 全局?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í)變量。,表7-13 OB87的變量申明表,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用于處理模塊訪問錯(cuò)誤。同步錯(cuò)誤OB的優(yōu)先級(jí)與檢測(cè)到出錯(cuò)的塊的優(yōu)先級(jí)一致。因此OB121

31、和OB122可以訪問中斷發(fā)生時(shí)累加器和其他寄存器中的內(nèi)容,用戶程序可以用它們來處理錯(cuò)誤。,同步錯(cuò)誤可以用SFC36“MASK_FLT”來屏蔽,使某些同步錯(cuò)誤不觸發(fā)同步錯(cuò)誤OB的調(diào)用,但是CPU在錯(cuò)誤寄存器中記錄發(fā)生的被屏蔽的錯(cuò)誤。用錯(cuò)誤過濾器中的一位來表示某種同步錯(cuò)誤是否被屏蔽。錯(cuò)誤過濾器分為程序錯(cuò)誤過濾器和訪問錯(cuò)誤過濾器,分別占一個(gè)雙字。 調(diào)用SFC37“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ò)

32、誤都會(huì)被送入診斷緩沖區(qū),并且CPU的“組錯(cuò)誤”LED會(huì)被點(diǎn)亮。 可以在不同的優(yōu)先級(jí)屏蔽某些同步錯(cuò)誤。在這種情況下,在特定的優(yōu)先級(jí)中發(fā)生這類錯(cuò)誤時(shí)不會(huì)停機(jī),CPU把該錯(cuò)誤存放到錯(cuò)誤寄存器中。但是無法知道是什么時(shí)候發(fā)生的錯(cuò)誤,也無法知道錯(cuò)誤發(fā)生的頻率。,(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í)變量。,表7-14 OB121的臨時(shí)變量表,OB121程序在CPU執(zhí)行錯(cuò)誤時(shí)執(zhí)行,此錯(cuò)誤不包括用戶程序的邏輯錯(cuò)誤和功能錯(cuò)誤等,例如當(dāng)CPU調(diào)用一個(gè)未下載到CPU中的程序塊,

33、CPU會(huì)調(diào)用OB121,通過臨時(shí)變量“OB121_BLK_TYPE”可以得出出現(xiàn)的錯(cuò)誤的程序塊。使用STEP 7不能時(shí)時(shí)監(jiān)控程序的運(yùn)行,可以用“Variable Table”監(jiān)控實(shí)時(shí)數(shù)據(jù)的變化。 打開事先已經(jīng)插入的OB121編寫程序,如圖7-24所示。,圖7-24 OB121中編寫的程序,接著在項(xiàng)目“Blocks”下插入FC1,打開FC1編寫程序,如圖7-25所示。,圖7-25 FC1中編寫的程序,然后打開OB1編寫程序,如圖7-26所示。,圖7-26 OB1中編寫的程序,先將硬件和OB1下載到CPU中,此時(shí)CPU能正常運(yùn)行。在“Blocks”下插入“Variable Table”,然后打開,填入MW0和M10.0,并點(diǎn)擊鍵,程序運(yùn)行正常。將M10.0置為“true”后,CPU就報(bào)錯(cuò)停機(jī),查看CPU的診斷緩沖區(qū)信息,發(fā)現(xiàn)為編程錯(cuò)誤,這是將

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論