7Step7的組織塊和中斷處理_第1頁
7Step7的組織塊和中斷處理_第2頁
7Step7的組織塊和中斷處理_第3頁
7Step7的組織塊和中斷處理_第4頁
7Step7的組織塊和中斷處理_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Jinan UniversityS7的組織塊和中斷處理參見提高篇第四章2007 SpringVISUAL FOXPROSchool of Control Science and Engineering1All rights reserved© Jinan University要點-組織塊組成及分類、事件/中斷概念及流程。了解掌握內容-組織塊組成及分類;-循環(huán)執(zhí)行的組織塊OB1;-定期執(zhí)行的組織塊及中斷處理; -事件驅動的組織塊和中斷處理;-啟動組織塊和中斷處理-背景組織塊??谧鳂I(yè)-作業(yè):第四章習題3,將紅綠燈書上例子(線性編程和結構化)進行仿真 實驗,找出不恰當或錯誤的地方,分析錯誤

2、的原因,提出修改建議,寫在 作業(yè)中口說明-2學時不同于掃描方式的中斷處理-在正常情況下,PLC按照循環(huán)掃描的方式執(zhí)行用戶程序。如果要對某些特 殊的外部事件或內部事件進行快速響應,PLC采用中斷的方式進行處理。 在SIMATICS7中,對這些特殊事件的處理,安排了大量的組織塊,可在 這些組織塊中編寫相應的中斷處理程序。-當CPU檢測到中斷源發(fā)出的中斷請求時,在執(zhí)行完當前程序的當前指令 (斷點)后,根據(jù)優(yōu)先權的高低,立即響應優(yōu)先權高的中斷。執(zhí)行完中斷 程序后,返回到被中斷程序的斷點處,繼續(xù)執(zhí)行原來的用戶程序。-中斷發(fā)生時,中斷程序是由操作系統(tǒng)自動調用的,而不是由程序塊調用的。 編寫中斷程序時,首先

3、要遵循“短而精”的原則,盡量減少執(zhí)行時間;其 次要注意不要輕易使用其它程序中可能使用的編程元件,應盡量使用相應 組織塊的臨時局域變量。2007 Sept可編程控制器技術School of Control Science and Engineering3All rights reserved© Jinan University口組織塊概述-組織塊是CPU操作系統(tǒng)與用戶程序間的接口。SIMATICS7CPU提供大量 的OB(組織塊),用組織塊可以創(chuàng)建在特定的時間執(zhí)行的特定的程序,或者 響應特定事件的程序。例如,當S7DP從站觸發(fā)了一個硬件中斷,或當一 個DP從站發(fā)生故障時,則S7CPU的

4、操作系統(tǒng)就可能中斷正在處理的OB, 發(fā)出的一個相應OB的驅動事件。因此要定義OB的優(yōu)先權,高優(yōu)先權的OB 可以中斷低優(yōu)先權的OB??诮M織塊的組成-由變量聲明表和用戶程序組成。-當操作系統(tǒng)調用時,每個OB提供20個字節(jié)的變量聲明表,其含義取決于 OBo變量名稱是標準STEP7規(guī)定的-組織塊只能由操作系統(tǒng)啟動口 OB的變量聲明表地址(字節(jié))內容0事件級別與標識符,例如0B40的標識符為B#16#ll,表示駛件中 斷被激活1用代碼表示與啟動0B事件有關的信息2優(yōu)先級。例如0B40的優(yōu)先級為16,30B塊的編號,例如OB40的塊號為40411附加信息,例如0B40的第5個字節(jié)為產生中斷的模板類型, 1

5、6#54為輸入模板,16#55為輸出模板。第6、7字節(jié)組成的字為 產生中斷的模板的起始地址。第811字節(jié)組成的雙字為產生中 將的通12 19啟動缶術口期和時間(年、月、口、時、分、秒、毫秒和星期)口組織塊的分類-循環(huán)執(zhí)行的組織塊:需要連續(xù)執(zhí)行的程序安排在OB1中,執(zhí)行完后又開始 新的循環(huán)。-啟動組織塊:啟動組織塊用于系統(tǒng)的初始化,CPU上電或操作模式改為 RUN時,根據(jù)不同的啟動方式來執(zhí)行OB100OB102中的一個。-定期執(zhí)行的組織塊:定期執(zhí)行的組織塊包括日期時間中斷組織塊 (OB10OB17)和循環(huán)中斷組織塊(OB30OB38)??梢愿鶕?jù)設定的 日期時間或時間間隔執(zhí)行中斷。-事件驅動的組織

6、塊:事件驅動的組織塊包括延時中斷(OB20OB23)、 硬件中斷(OB40OB47)、異步錯誤中斷(OB80OB87)和同步故障 中斷(OB121 和OB122) o-背景組織塊:避免循環(huán)等待時間。循環(huán)執(zhí)行的組織塊OBI-循環(huán)執(zhí)行的組織塊就是主程序OBI。-OB1調用功能塊(FB)、系統(tǒng)功能塊(SFB),或使用功能調用(FC)和系統(tǒng)功能 調用(SFC)的功能。OB1被循環(huán)地處理。在啟動OB被處理后(OB100用于暖 啟動或OB101用于熱啟動或OB102用于冷啟動),首先執(zhí)行OB1。在OB1循 環(huán)結束時,操作系統(tǒng)傳送過程映像輸出表到輸出模板。在OB1再開始前, 操作系統(tǒng)通過讀取當前的輸入I/O

7、的信號狀態(tài)來更新過程映像輸入表。這個 過程連續(xù)不斷地重復,即“循環(huán)執(zhí)行” o所有被監(jiān)視運行的OB中,OB1的 優(yōu)先權最低,因此它可以被較高優(yōu)先權的OB中斷。2007 Sept可編程控制器技術School of Control Science and Engineering7All rights reserved© Jinan University口定期執(zhí)行的組織塊和中斷處理-日期時間中斷組織塊(OB10OB17)和中斷處理-循環(huán)中斷組織塊(OB30OB38)口日期時間中斷組織塊(OB1QOB17)和中斷處理-在SIMATICS7中,允許用戶通過STEP7編程,可在特定日期、時間(例

8、如每分鐘、每小時、每天、每周、每月、每年)執(zhí)行一次中斷操作,也可 以從設定的日期時間開始,周期性地重復執(zhí)行中斷操作。8個日期時間中 斷具有相同的優(yōu)先級,CPU按啟動事件發(fā)生順序進行處理。o 1.設置和啟動日期時間中斷 0 2.查詢日期時間中斷 0 3.禁止日期時間中斷循環(huán)中斷組織塊(OB30OB38)-循環(huán)中斷是CPU進入RUN后,按一定的間隔時間循環(huán)觸發(fā)的中斷,因此用 戶定義的間隔時間要大于中斷服務程序的執(zhí)行時間。啟動循環(huán)中斷,需要 在STEP7參數(shù)設置時選中循環(huán)中斷組織塊,并按1ms的整數(shù)倍設置間隔時 間。如果未做間隔時間設置,CPU則按默認值100ms觸發(fā)循環(huán)中斷。-可以用SFC40和S

9、FC39來激活或禁止循環(huán)中斷組織塊。2007 Sept可編程控制器技術School of Control Science and EngineeringAll rights reservedJinan Univers汁y口例:在IO. 0的上升沿啟動0B35對應的循環(huán)中斷"在IO.1的上升沿禁止0B35對 應的循環(huán)中斷。在0B35中使MW4加1。下裝到CPU中。AFP10. 1Ml.2/在10.1的上升沿,Ml2為OBI:Networkl: /在10. 0的上升沿激活循環(huán)中斷1A10. 0JNBm002否則跳轉FPMl.l/在10.0的上升沿,骯1為1CALLSFC39禁止0B35對

10、應的循環(huán)中斷JNBm001/否則跳轉MODE: =B#16fi2/用OB號指定中斷CALLSFC40/激活0B35對應的循環(huán)中斷0B_NR: =35組織塊編號MODE:=B#16#2/用0B號指定中斷RETVALt =MW104/俁存錯誤代碼0B_NR:二35/組織塊編號 / 1 1 7廠 I 夕、7PRET_VAL:=MW100/保存錯誤代碼m002:NOP0mOOl:NOP 00B35:Network2: /在10. 1的上升沿禁止循環(huán)中斷先將0B35的循環(huán)周期由默認的100ms改為1000ms,Networkl: L MW4MW4+12007 Sept可編程控制器技術School of

11、Control Science and Engineering9All rights reserved© Jinan University口事件驅動的組織塊和中斷處理-延時中斷(OB20OB23)-硬件中斷(OB40OB47)-異步故障中斷(OB80OB87)同步故障中斷(OB121和OB122) o延時中斷組織塊(OB20OB23)和中斷處理-在PLC中的普通定時器的定時精度要受到不斷變化的掃描周期的影響,使 用延時中斷可以達到以ms為單位的高精度的延時。-SIMATICS7通過調用系統(tǒng)功能SFC32USRT_DINT可調用14個延時中 斷組織塊(OB20OB23),可調用的OB個

12、數(shù)與CPU型號有關。-如果延時中斷已經啟動,而延時時間尚未達到時,可通過調用系統(tǒng)功能 SFC33“CAN_DINT"取消延時中斷的執(zhí)行。還可以通過調用系統(tǒng)功能 SFC 34“ QRY_DINT"查詢延時中斷的狀態(tài)。異步故障中斷組織塊(OB80OB87)-SIMATICS7 300/400系列PLC對于編程元件和內部寄存器,具有很強的故 障檢測和處理能力。當CPU檢測到某個故障后,操作系統(tǒng)將調用相應的組 織塊,通過編寫故障中斷組織塊的程序,對檢測到的故障進行處理,否則 將進入STOP模式。為了避免發(fā)生某種故障時CPU進入STOP模式,可以在 CPU中建立一個對應的空組織塊。時

13、間錯誤中斷處理組織塊(OB80)-CPU默認的循環(huán)掃描的監(jiān)控時間為150ms,如果發(fā)生下列情況時產生時間 錯誤中斷:o實際的循環(huán)掃描時間超過設置的循環(huán)掃描時間。o由于向前修改時間而跳過日期時間中斷。0在處理優(yōu)先級時延時太多。電源故障處理組織塊(OB81)-電源故障包括未安裝后備電池或者電池失效和機架上的直流24V電源故障。 當電源故障出現(xiàn)和消失時,操作系統(tǒng)都要調用OB81。2007 Sept可編程控制器技術School of Control Science and Engineering11All rights reserved© Jinan University例:在CPU機架直流

14、24V電壓故障發(fā)生時,將Q44置位,當故障消失時,將 Q4Q復位。OBI: Network 1: /24V電壓故障發(fā)生L B#16#23L #OB81_ FLT_ID=I=M0.1L OB81_EV_CLASSL B#16#39=I=M0.2A M0.1A M0.2Network2: 24V電壓故障消失L OB81_EV_CLASSL B#16#38=I=M0.3A M0.1A M0.3R Q4.0S Q4.0診斷中斷處理組織塊(OB82)-如果對于有診斷功能的模板,已經用HWConfig定義了診斷報警,當模板 出現(xiàn)斷線故障時,或者當模擬量輸入模板發(fā)生電源故障時,以及輸入信號 值超過模擬量模板

15、的測量范圍時,當故障發(fā)生及消失時,都調用OB82, 啟動診斷中斷處理程序。-當診斷中斷被觸發(fā)時,有問題的模板自動地在OB82的啟動信息和診斷緩 沖區(qū)存入4個字節(jié)的診斷數(shù)據(jù)和模板的起始地址,在編寫OB82的程序時, 從OB82的啟動信息中得到更確切的診斷信息。利用系統(tǒng)功能SFC51,可讀 出模板的診斷數(shù)據(jù),利用SFC52,可將這些信息寫入診斷緩沖區(qū)。模板熱插拔中斷處理組織塊(OB83)-對于S7-400系列的PLC,除了CPU模板、電源模板和帶適配器的S5模板外, 允許帶電熱插拔已經組態(tài)的其它模板,此時要產生模板熱插拔中斷。此外 用STEP7修改模板的參數(shù)后,在RUN模式下下裝到CPU中時,也要

16、產生模 板熱插拔中斷,調用OB83o可以用SFC39SFC42來禁止、延時和激活 OB83o-如果CPU正在運行時插入已組態(tài)的模板,貝IJCPU檢查所插入的模板類型是 否與組態(tài)記錄一致。如果一致,則調用OB83,通過HWConfig程序,用已 組態(tài)在CPU上的參數(shù)集裝入該模板。在編寫OB83的程序時,要根據(jù)OB83 的啟動信息,調用SFC55SFC59,對新插入的模板的參數(shù)賦值。 CPU硬件故障處理組織塊(QB84)-當CPU檢測到MPI網絡的接口故障、通信總線的接口故障或者分布式I/O的 接口故障時,以及故障消失時,操作系統(tǒng)都調用OB84。-在編寫OB84的程序時,要根據(jù)OB84的啟動信息,

17、用系統(tǒng)功能SFC52,將 故障信息寫入到診斷緩沖區(qū)??趦?yōu)先級錯誤處理組織塊(QB85)-當用戶程序調用了一個未被裝入的程序塊或操作系統(tǒng)調用了一個沒有編程 的OB時,S7CPU的操作系統(tǒng)將調用OB85。當過程映像正被更新時出現(xiàn)了 I/O存取錯誤,也調用OB85o當被組態(tài)的用于DP從站輸入和輸出的地址被 放在S7CPU的過程映像表時,而此DP從站已損壞,也調用OB85o-在編寫OB85的程序時,應根據(jù)OB85的啟動信息,判斷已損壞或未插入的 模板位置??捎肧FC49查找有關模板所在槽。口機架故障組織塊(OB86)-如果S7CPU的操作系統(tǒng)檢測到擴展機架故障、DP主站系統(tǒng)和DP從站的故 障,產生機架

18、故障中斷,無論是故障的產生和消失,都將調用組織塊 OB86o-在編寫OB86的程序時,應根據(jù)OB86的啟動信息,判斷出故障的機架。可 以用SFC52將故障信息寫入到診斷緩沖區(qū)。通信故障處理組織塊(OB87)-在使用通信功能塊或全局數(shù)據(jù)(GD)通信時,如果出現(xiàn)下列通信錯誤, 操作系統(tǒng)將調用OB87:0接收全局數(shù)據(jù)時,檢測到不正確的幀標識符(ID)。0全局數(shù)據(jù)通信時的狀態(tài)信息數(shù)據(jù)塊不存在或太短。0接收到非法的全局數(shù)據(jù)包編號。-如果用于全局數(shù)據(jù)通信狀態(tài)信息的數(shù)據(jù)塊丟失,需要用OB87生成該數(shù)據(jù) 塊,并將它下裝到CPU中??谕焦收现袛啵∣B121和QB122)-同步故障是指與執(zhí)行用戶程序有關的故障,

19、例如程序中有錯誤的地址,有 錯誤的編號,操作系統(tǒng)將調用同步故障組織塊。-同步故障中斷組織塊OB12k OB122的優(yōu)先級與檢測到出錯的塊的優(yōu)先級 一致。因此在中斷發(fā)生時,可以訪問累加器和其它寄存器,這樣用戶程序 就可以用這些編程元件來處理故障。編程錯誤中斷組織塊(OB121)-當出現(xiàn)編程錯誤時,操作系統(tǒng)將調用OB121。 "Q存取故障中斷組織塊(OB122)-當STEP7指令存取I/O模板或DP從站的輸入/輸出數(shù)據(jù)時出現(xiàn)錯誤,或者 當用戶程序存取不存在的或有故障的DP從站的輸入/輸出數(shù)據(jù)時,貝吧7 CPU操作系統(tǒng)調用O B122o啟動組織塊和中斷處理-當PLC接通電源以后,CPU有3

20、種啟動方式,可以在STEP7中設置CPU的屬 性時選擇其一:熱啟動(Hotrestan)、暖啟動(Warmrestail)、冷啟動 (Cold restart)。-不同的CPU具有不同的啟動方式,例如S7-300系列,除了CPU318可以選擇 暖啟動或者冷啟動外,其它的CPU只有暖啟動的方式,對于S7-400系列, 根據(jù)不同的CPU型號,都可以選擇熱啟動,或者選擇暖啟動、冷啟動。只 能選擇1種啟動方式??谂瘑?手動暖啟動:將CPU的模式選擇開關扳到STOP位置,“STOPPED指示燈 亮,然后再扳到RUN或者RUNP位置。-自動暖啟動:啟動時將復位過程映像寄存器及非保持的存儲器位,復位定 時

21、器和計數(shù)器。在STEP7中設置CPU的屬性時設置的具有保持功能的器件 將保留原數(shù)據(jù)。重新開始運行程序,執(zhí)行OB100或OB1。熱啟動-如果PLC在運行期間突然停電,又重新上電,CPU將執(zhí)行一個初始化程序 OB101,自動完成熱啟動,從上次RUN模式下中斷處繼續(xù)執(zhí)行,不對計數(shù) 器等復位。冷啟動-手動冷啟動:將CPU的模式選擇開關扳到STOP位置,“STOPPLED指示燈 亮,再扳到MRES位置,STOP指示燈滅Is,亮Is,再滅Is秒,然后常亮, 最后將模式開關再扳到RUN或者RUN-P位置。-自動冷啟動:過程映像區(qū)的所有過程映像數(shù)據(jù)、存儲器位、定時器、計數(shù) 器、數(shù)據(jù)塊以及有保持功能的器件的數(shù)據(jù),都被復位到“OS如果用戶程 序希望在啟動后繼續(xù)使用原有的值,也可以選擇不將過程映像區(qū)清“0”。口背景組織塊-STEP7可以監(jiān)視最大掃描循環(huán)時間,也可以保證設置最小掃描循環(huán)時間。 如

溫馨提示

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

評論

0/150

提交評論