第6章-S7-300的組織塊及中斷處理_第1頁
第6章-S7-300的組織塊及中斷處理_第2頁
第6章-S7-300的組織塊及中斷處理_第3頁
第6章-S7-300的組織塊及中斷處理_第4頁
第6章-S7-300的組織塊及中斷處理_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第6章

S7-300的組織塊及中斷處理教學(xué)內(nèi)容和要求內(nèi)容:組織塊的組成及分類、循環(huán)執(zhí)行的組織塊OB1定期執(zhí)行的組織塊及中斷處理、事件驅(qū)動的組織塊和中斷處理啟動組織塊和中斷處理、背景組織塊要求:了解組織塊的組成和分類。掌握塊的使用及其中斷組織塊的功能及系統(tǒng)功能塊的使用2023/2/522023/2/536.1組織塊概述6.2循環(huán)執(zhí)行的組織塊6.3定期執(zhí)行的組織塊和中斷6.4事件驅(qū)動的組織塊和中斷處理6.5啟動組織塊和中斷處理6.6背景組織塊(OB90)6.1組織塊概述組織塊概述組織塊的組成組織塊的分類和優(yōu)先級2023/2/542023/2/55一、組織塊的概述

塊類型組織塊的定義組織塊與程序結(jié)構(gòu)組織塊的特點和功能2023/2/56塊的類型屬性組織塊(OB)-用戶程序接口-優(yōu)先級(0到27)-在局部數(shù)據(jù)堆棧中指定開始信息功能塊(FB)-參數(shù)可分配(可以在調(diào)用時分配參數(shù))-具有(收回)存儲空間(靜態(tài)變量)功能調(diào)用(FC)-參數(shù)可分配(必須在調(diào)用時分配參數(shù))-基本上沒有存儲空間(只有臨時變量)數(shù)據(jù)塊(DB)-結(jié)構(gòu)化的局部數(shù)據(jù)存儲(背景數(shù)據(jù)塊DB)-結(jié)構(gòu)化的全局數(shù)據(jù)存儲(在整個程序中有效)系統(tǒng)功能塊調(diào)用(SFB)-FB(具有存儲空間),存儲在CPU的操作系統(tǒng)中并可由用戶調(diào)用系統(tǒng)功能(SFC)-FC(無存儲空間),存儲在CPU的操作系統(tǒng)中并可由用戶調(diào)用系統(tǒng)數(shù)據(jù)塊(SDB)-用于配置數(shù)據(jù)和參數(shù)的數(shù)據(jù)塊1.塊類型2023/2/57組織塊(OB)是CPU操作系統(tǒng)與用戶程序間的接口操作系統(tǒng)OB1FCFBSFCSFB其它OBsFCFB2.組織塊的定義2023/2/583.組織塊與程序結(jié)構(gòu)操作系統(tǒng)用戶程序系統(tǒng)上電循環(huán)執(zhí)行

主程序運行操作系統(tǒng)與主程序的關(guān)系2023/2/59操作系統(tǒng)用戶程序系統(tǒng)上電循環(huán)執(zhí)行

主程序運行操作系統(tǒng)與中斷程序的關(guān)系啟動初始化中斷事件中斷程序故障中斷程序中斷事件中斷故障中斷2023/2/510OB1電機1FB1閥FB2控制器FB10FC5限制

閥復(fù)制SFC.....CALL FB1,DB2Start :=I0.0Stop :=I0.1Motor_on :=Q12.0Speed :=QW14..FB1地址 聲明 名稱 類型0.0 in Start BOOL0.1 in Stop BOOL2.0 out Motor_on BOOL4.0 out Speed INT6.0 stat Speed_old INT0.0 temp Calc_1 INT...A #StartAN #Stop

= #Motor_on.DB2OB1(1).組織塊的好處——用于結(jié)構(gòu)化編程2023/2/511OB10...17(日期時間中斷)OB80...87(異步錯誤)OB20...23(延時中斷)定期的程序執(zhí)行OB30...38(循環(huán)中斷)事件驅(qū)動的程序執(zhí)行OB40...47(硬件中斷)啟動OB102OB100OB101循環(huán)的程序執(zhí)行OB1OB121,122(同步錯誤)中斷

OB錯誤

OB(2).PLC運行時程序執(zhí)行方式2023/2/512例如:OB82(優(yōu)先級26)=錯誤處理程序。當模擬輸入PIW352斷線時執(zhí)行。例如OB10(優(yōu)先級2)=日期時間中斷。從9:30開始每分鐘執(zhí)行一次。OB1連續(xù)執(zhí)行

OB13日期時間中斷循環(huán)中斷116錯誤處理循環(huán)程序延時中斷硬件中斷21226/28OB20OB40OB10OB35OB82OB號OB類型優(yōu)先級例如

OB20(優(yōu)先級3)=延時中斷。檢測到一個信號后

延遲3.25s執(zhí)行。......直到被其它OB中斷(3).PLC中斷循環(huán)程序2023/2/513被中斷的OB塊的數(shù)據(jù)保存系統(tǒng)調(diào)用新的

OB在執(zhí)行新的

OB前,保存被中斷塊的寄存器中斷堆棧(I堆棧)塊堆棧(B堆棧)ACCU1,ACCU2累加器的內(nèi)容AR1,AR2地址寄存器的內(nèi)容DB,DI數(shù)據(jù)塊寄存器的內(nèi)容局部數(shù)據(jù)堆棧的地址指針狀態(tài)字,MCR寄存器,B堆棧指針DB和

DI寄存器臨時數(shù)據(jù)

(L堆棧)的指針塊的號碼返回地址2023/2/514組織塊由操作系統(tǒng)自動調(diào)用組織塊不能互相調(diào)用基本功能是調(diào)用用戶程序。組織塊代表著系統(tǒng)功能。4.PLC組織塊的特點和功能2023/2/515二、組織塊的組成

變量聲明表和用戶程序組成4/56/78/910/11局部變量字節(jié)8,9,10,11的數(shù)據(jù)格式附加信息

1 (例如,中斷模塊的起始地址)附加信息2 (例如,中斷狀態(tài))附加信息3 (例如,通道號碼)局部變量字節(jié)0/12/3啟動事件優(yōu)先級序列號OB號12/1314/1516/1718/19年日分鐘1/10秒,1/100秒月小時秒1/1000秒,星期管理信息啟動信息啟動時間每個OB提供20個字節(jié)的啟動信息2023/2/516三、組織塊的分類和優(yōu)先級循環(huán)執(zhí)行的組織塊啟動組織塊定期執(zhí)行的組織塊事件驅(qū)動的組織塊背景組織塊

每個組織塊均具有優(yōu)先級,通常情況下組織號碼越大,優(yōu)先級越高6.2循環(huán)執(zhí)行的組織塊2023/2/517OB1優(yōu)先級為1OB1默認的掃描監(jiān)控時間為150msOB1操作系統(tǒng)OB1FCFBSFCSFB其它OBsFCFB2023/2/518變量數(shù)據(jù)類型描述OB1_EV_CLASSBYTE事件類別標識符:B#16#11OB_SCAN_1BYTEB#16#01:暖啟動結(jié)束B#16#02:熱啟動結(jié)束B#16#03:自由周期結(jié)束OB1_PRIORITYBYTE優(yōu)先級:1OB1_BO_NUMBERBYTEOB號(1)OB1_RESERVED_1BYTE保留OB1_RESERVED_2BYTE保留OB1_PRE_CYCLEINT以前循環(huán)運行時間(ms)OB1_MIN_CYCLEINT從最近的啟動以來最小的循環(huán)時間OB1_MAX_CYCLEINT從最近的啟動以來最大的循環(huán)時間OB1_DATE_TIMEINTOB1被請求的日期和時間OB1的變量聲明表6.3定期執(zhí)行的組織塊和中斷2023/2/519日期時間中斷組織塊(OB10~OB17)循環(huán)中斷組織塊(OB30~OB38)2023/2/520一、日期時間中斷組織塊(OB10~OB17)設(shè)置觸發(fā)的日期、執(zhí)行模式,使其在某一特定日期或特定間隔,產(chǎn)生中斷。8個日期時間中斷具有相同的優(yōu)先級執(zhí)行模式:Once(一次):只在特定日期和時間執(zhí)行一次。Everyminute(每分鐘):從某一特定日期和時間開始,每分鐘執(zhí)行一次。Hourly(每小時):從某一特定日期和時間開始,每小時執(zhí)行一次。Daily(每天):從某一特定日期和時間開始,每天執(zhí)行一次。Weekly(每周):從某一特定日期和時間開始,每周執(zhí)行一次。Monthly(每月):從某一特定日期和時間開始,每月執(zhí)行一次。Annually(每年):從某一特定日期和時間開始,每年執(zhí)行一次。2023/2/5211.

設(shè)置和啟動日期時間中斷(1)

SFC28“SET_TINI”設(shè)置參數(shù),SFC30“ACT_TINI”激活中斷。(2)在STEP7的HW-config中,對CPU屬性進行中斷設(shè)置并激活。(3)在STEP7的HW-config中,對CPU屬性進行中斷設(shè)置,不激活,用SFC30“ACT_TINI”激活中斷。

2023/2/522【例1】

:設(shè)置日時鐘中斷2023/2/523配置日時鐘中斷

使用硬件組態(tài)工具來配置日時鐘中斷。選擇菜單功能CPU->ObjectProperties->->“Time-of-DayInterrupts”,可以定義何時、以何方式執(zhí)行OB10。激活

如果點中“激活”(Active)選項框,在CPU每次全啟動后將執(zhí)行日期時間中斷OB。說明 日時鐘中斷可以在程序運行時由系統(tǒng)功能塊來控制??墒褂孟铝邢到y(tǒng)功能塊:

? SFC28“SET_TINT” 設(shè)置啟動日期、時刻和周期

? SFC29“CAN_TINT”取消日期時間中斷

? SFC30“ACT_TINT” 激活日期時間中斷

? SFC31“QRY_TINT”查詢?nèi)掌跁r間斷S7-400 在S7-400PLC中有8個不同的日期時間中斷OB(OB10to17)。2023/2/5242.查詢?nèi)掌跁r間中斷調(diào)用系統(tǒng)功能SFC31“QRY_TINI”3.禁止日期時間中斷調(diào)用系統(tǒng)功能SFC29“CAN_TINI”2023/2/525【例2】

:設(shè)置系統(tǒng)時間2023/2/526二、循環(huán)中斷組織塊(OB30~OB38)循環(huán)中斷的時間間隔在CPU的屬性中設(shè)置,每個OB默認時間間隔不同,系統(tǒng)功能SFC39~SFC42,可以禁止、延遲、使能循環(huán)中斷循環(huán)中斷

循環(huán)中斷(看門狗)用于在一定的間隔執(zhí)行程序塊。在S7-300中,循環(huán)中斷組織塊為OB35,它的缺省調(diào)用時間為100ms,其允許的設(shè)定范圍為1ms至1分鐘。啟動時刻

當一個時間控制中斷被激活后,應(yīng)以“啟動時刻”為參考點設(shè)定中斷的時間間隔.每次CPU從STOP切換為RUN的時刻為啟動時刻。時間間隔

必須保證所定義的時間間隔大于組織塊中程序的執(zhí)行時間。操作系統(tǒng)在設(shè)定的間隔后調(diào)用OB35時,如果上一次執(zhí)行的OB35仍未結(jié)束,則操作系統(tǒng)將調(diào)用OB80(循環(huán)中斷錯誤)。說明 在程序運行時,循環(huán)中斷無法用系統(tǒng)功能來控制。S7-400 在S7-400PLC中有9種不同的循環(huán)中斷組織塊(OB30至38)。2023/2/527RUNOB35OB35OB35IntervalOOB1B1OB1OB1OB1OB1OB1OB1IntervalInterval【例3】

:設(shè)置循環(huán)中斷2023/2/528【例4】:循環(huán)中斷的使用在I0.0的上升沿啟動OB35對應(yīng)的循環(huán)中斷,在I0.1的上升沿禁止OB35對應(yīng)的循環(huán)中斷。在OB35中使MW4加1。(設(shè)中斷間隔為1s)2023/2/529//先將OB35的循環(huán)周期由默認的100ms改為1000ms,下裝到CPU中。OB1:

Network1://在I0.0的上升沿激活循環(huán)中斷AI0.0FPM1.1//在I0.0的上升沿,M1.1為1JNBm001//否則跳轉(zhuǎn)CALLSFC40//激活OB35對應(yīng)的循環(huán)中斷

MODE:=B#16#2//用OB號指定中斷OB_NR:=35//組織塊編號

RET_VAL:=MW100//保存錯誤代碼m001:NOP0Network2://在I0.1的上升沿禁止循環(huán)中斷AI0.1FPM1.2//在I0.1的上升沿,M1.2為1JNBm002//否則跳轉(zhuǎn)

CALLSFC39//禁止OB35對應(yīng)的循環(huán)中斷

MODE:=B#16#2//用OB號指定中斷OB_NR:=35//組織塊編號

RET_VAL:=MW104//保存錯誤代碼

m002:NOP0OB35:Network1:LMW4+1TMW46.4事件驅(qū)動的組織塊和中斷處理2023/2/530延時中斷(OB20~OB23)硬件中斷(OB40~OB47)異步故障中斷(OB80~OB87)同步故障中斷(OB121和OB122)2023/2/531一、延時中斷組織塊(OB20~OB23)和中斷處理延時時間為1~60000ms,精度為1ms

優(yōu)先級及更新過程映像區(qū)的參數(shù)在CPU的屬性中設(shè)置SFC32“SRT_DINT”設(shè)置OB號與延時時間,觸發(fā)中斷,SFC33“CAN_DINT”取消延時中斷SFC34“QRY_DINT”查詢延時中斷的狀態(tài)SFC32 ? OB_NR = 延時中斷組織塊的號碼

? DTIME =延時時間(1到60000ms)

? SIGN =啟動延時中斷組織塊時用戶自定義的信號

? RET_VAL=錯誤代碼,如果執(zhí)行延時中斷組織塊時出現(xiàn)錯誤則返回一個錯誤代碼2023/2/532(P)()I0.0M0.1

SFC32(SRT_DINT)ENENOOB_NRDTIMESIGNRET_VAL20T#500msW#16#01MW10M2.0【例5】:設(shè)置延時中斷(OB20)2023/2/533二、硬件中斷組織塊(OB40~OB47)和中斷處理由外部設(shè)備產(chǎn)生也稱為過程中斷SFC39~SFC42可以禁止、延遲、使能硬件中斷例如:功能模塊FM、通信處理模塊CP、數(shù)字量輸入模塊。通常使用具有硬件中斷的數(shù)字量輸入模塊來產(chǎn)生中斷,為每一個模塊配置相應(yīng)的中斷OB(一個模塊只能觸發(fā)一個中斷OB),S7-300只能觸發(fā)硬件中斷OB40通過調(diào)用SFC39~SFC42系統(tǒng)功能可以禁止、延遲、使能硬件中斷的應(yīng)用2023/2/534模擬輸入模塊

上限值下限值+276480 硬件組態(tài):

模擬輸入模塊的屬性

CPU的屬性【例6】:硬件中斷的使用2023/2/535三、異步故障中斷組織塊(OB80~OB87)

錯誤類型例子OB時間錯誤超出最大循環(huán)掃描時間OB8026/28優(yōu)先級26電源故障后備電池失效OB81診斷中斷有診斷能力模塊的輸入斷線OB82插入/移除

中斷在運行時移除S7-400的信號模塊OB83CPU硬件故障MPI接口上出現(xiàn)錯誤的信號電平OB84程序執(zhí)行錯誤更新映像區(qū)錯誤(模塊有缺陷)OB85機架錯誤擴展設(shè)備或DP從站故障OB86通訊錯誤讀取信息格式錯誤OB872023/2/536實際的循環(huán)掃描時間超過設(shè)置的循環(huán)掃描時間。

由于向前修改時間而跳過日期時間中斷。在處理優(yōu)先級時延時太多。2.電源故障處理組織塊(OB81)1.

時間錯誤中斷處理組織塊(OB80)未安裝后備電池或者電池失效機架上的直流24V電源故障。2023/2/5373.診斷中斷處理組織塊(OB82)有診斷功能的模板,用HWConfig定義了診斷報警,當故障模塊發(fā)生及消失時,啟動診斷中斷處理程序4.模板熱插拔中斷處理組織塊(OB83)S7-400系列的PLC2023/2/5386.CPU硬件故障處理組織塊(OB84)MPI網(wǎng)絡(luò)的接口故障通信總線的接口故障分布式I/O的接口故障6.優(yōu)先級錯誤處理組織塊(OB85)操作系統(tǒng)訪問模塊故障更新過程映像區(qū)I/O訪問故障正被更新時出現(xiàn)了I/O存取故障事件觸發(fā)時,相應(yīng)的OB沒有下載到CPU中2023/2/5397.機架故障組織塊(OB86)擴展機架故障產(chǎn)生和消失DP主站系統(tǒng)和DP從站的故障產(chǎn)生和消失8.通信故障處理組織塊(OB87)接收全局數(shù)據(jù)時,檢測到不正確的幀標識符(ID)。全局數(shù)據(jù)通信時的狀態(tài)信息數(shù)據(jù)塊不存在或太短。接收到非法的全局數(shù)據(jù)包編號。2023/2/540模擬輸入模塊斷線+276480

硬件組態(tài):

模擬模塊的屬性

CPU的屬性【例7】:設(shè)置異步故障診斷中斷2023/2/541在CPU機架直流24V電壓故障發(fā)生時,將Q4.0置位,當故障消失時,將Q4.0復(fù)位OB1:Network1://24V電壓故障發(fā)生

LB#16#23L#OB81_FLT_ID==I=M0.1LOB81_EV_CLASSLB#16#39==I=M0.2AM0.1AM0.2SQ4.0Network2://24V電壓故障消失

LOB81_EV_CLASSLB#16#38==I=M0.3AM0.1AM0.3RQ4.0【例8】:異步故障診斷中斷的使用2023/2/542四、同步故障中斷(OB121和OB122)與執(zhí)行用戶程序有關(guān)的故障錯誤類型例子OB優(yōu)先級與被中斷的錯誤OB優(yōu)先級相同編程錯誤在程序中調(diào)用一個CPU中并不存在的塊OB121訪問錯誤訪問一個模塊有故障或不存在的模塊(例如,直接訪問一個不存在的I/O模塊)OB1222023/2/543S7中可能產(chǎn)生的各種故障2023/2/544為避免發(fā)生某故障時CPU進入停機狀態(tài),在CPU中建立一個相應(yīng)的空故障組織塊。在故障OB塊中編程實現(xiàn)所希望的響應(yīng),也可以在執(zhí)行完規(guī)定指令后,調(diào)用SFC46申請停機。故障組織塊的啟動信息中包含有故障的特征,可在程序中使用。故障組織塊的詳細描述參見在線幫助或系統(tǒng)和標準功能手冊。使用故障組織塊2023/2/545故障處理OB塊中的附加信息OB122(訪問故障)中的附加信息變量 類型 描述OB122_EV_CLASS BYTE 事件類別,IDs=B#16#29OB122_SW_FLT BYTE 錯誤代碼:(可能的值為:B#16#42,

B#16#43,B#16#44,B#16#45)OB122_PRIORITY BYTE 發(fā)生錯誤的OB塊的優(yōu)先級 OB122_OB_NUMBR BYTE OB塊的號碼(122)OB122_BLK_TYPE BYTE 發(fā)生錯誤的塊的類型:

B#16#88:OB?

B#16#8A:DB?

B#16#8C:FC?

B#16#8E:FB?OB122_MEM_AREA BYTE 內(nèi)存區(qū)域和訪問類型OB122_MEM_ADDR WORD 發(fā)生錯誤處的內(nèi)存地址OB122_BLK_NUM WORD 導(dǎo)致錯誤的MC7指令所在塊的地址OB122_PRG_ADDR WORD 導(dǎo)致錯誤的MC7指令的相對地址OB122_DATE_TIME DATE_AND_TIME OB塊被調(diào)用的日期和時刻6.5啟動組織塊和中斷處理2023/2/546啟動類型啟動方式2023/2/547讀入

PII執(zhí)行OB1輸出

PIQ完全再啟動自動手動S7-300/400PowerONS7-300STOP->RUNS7-400STOP->RUN+CRST清除過程映像,非保持的M,T,C執(zhí)行

OB100允許輸出讀入

PII允許輸出STOP是否超過重啟動的監(jiān)視時間?清除

PIQ(可設(shè)置)完成剩余的循環(huán)執(zhí)行

OB101執(zhí)行

OB1

溫馨提示

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

最新文檔

評論

0/150

提交評論