1.中斷與中斷程序
有很多PLC內(nèi)部或外部的事件是隨機發(fā)生的,例如外部開關(guān)量輸入信號的上升沿或下降沿、通信事件、高速計數(shù)器的當(dāng)前值等于設(shè)定值和定時中斷等,事先并不知道這些事件何時發(fā)生,但是它們出現(xiàn)時需要盡快地處理它們,PLC用中斷來快速處理上述事件。
例如電力系統(tǒng)出現(xiàn)故障時,可能引發(fā)多個斷路器相繼跳閘。為了分析故障的起因,需要及時準(zhǔn)確記錄事故發(fā)生的時間??梢杂?a target="_blank">硬件中斷來完成這一任務(wù)。
由于PLC的掃描工作方式,普通定時器的定時誤差很大,定時時間到了也不能馬上去處理要作的事情??梢?strong>用定時中斷來實現(xiàn)高精度定時,在定時時間到時CPU自動調(diào)用定時中斷程序。
在出現(xiàn)一個中斷事件時,當(dāng)前正在執(zhí)行的程序在當(dāng)前指令執(zhí)行完后被停止執(zhí)行(被中斷),操作系統(tǒng)將會調(diào)用一個用戶編寫的分配給該事件的中斷程序(S7-300/400稱為組織塊)。中斷程序被執(zhí)行完后,被暫停執(zhí)行的程序?qū)谋恢袛嗟牡胤介_始繼續(xù)執(zhí)行。這一過程不受PLC掃描工作方式的影響,因此使PLC能迅速響應(yīng)中斷事件。換句話說,中斷程序不是在每次掃描循環(huán)中處理,而是在需要時才被及時地處理。
2.編寫中斷程序應(yīng)注意的問題
因為不能預(yù)知系統(tǒng)何時調(diào)用中斷程序,為了避免在中斷程序中改寫其他程序使用的存儲器,在中斷程序中應(yīng)盡量使用局部變量。
應(yīng)優(yōu)化中斷程序,使中斷程序盡量短小,以減少中斷程序的執(zhí)行時間,減少對其他處理的延遲,否則可能引起主程序控制的設(shè)備操作異常。設(shè)計中斷程序時應(yīng)遵循“越短越好”的格言。為了減少中斷程序的執(zhí)行時間,可以在中斷程序設(shè)置一個軟件標(biāo)志,在主程序中根據(jù)標(biāo)志處理對于快速性要求不是很高、執(zhí)行時間很長的任務(wù)。
3.中斷程序為什么沒有輸入、輸出變量?
中斷程序不像子程序那樣,被用戶程序調(diào)用,而是在中斷事件發(fā)生時,由操作系統(tǒng)調(diào)用,因此S7系列PLC的中斷程序不需要輸入參數(shù)和輸出參數(shù),它的局部變量表中只有臨時變量。S7-300/400的中斷程序稱為組織塊,它有自動生成的20字節(jié)的臨時局部變量,包含了與觸發(fā)組織塊的事件有關(guān)的信息,它們由操作系統(tǒng)提供。
4.中斷的優(yōu)先級
中斷事件有不同的優(yōu)先級,高優(yōu)先級的中斷程序可以中斷低優(yōu)先級的中斷程序。如果在執(zhí)行中斷程序時,又檢測到一個中斷請求,CPU將比較兩個中斷源的中斷優(yōu)先級。如果優(yōu)先級相同,按照產(chǎn)生中斷請求的先后次序進(jìn)行處理。如果后者的優(yōu)先級比正在執(zhí)行的中斷源的優(yōu)先級高,將中止當(dāng)前正在處理的中斷程序,改為調(diào)用較高優(yōu)先級的中斷源的中斷程序,這種處理方式稱為中斷程序的嵌套調(diào)用。
5.中斷的控制
不是所有的用戶都需要PLC的中斷功能,用戶一般也不需要處理所有的中斷事件,因此允許用戶用指令來控制是否需要中斷和需要哪些中斷。
S7-200的中斷允許指令EI允許處理中斷事件。至于需要處理哪些中斷事件,需要單獨設(shè)置。禁止中斷指令DI禁止處理所有的中斷事件。
S7-200進(jìn)入RUN模式時自動禁止中斷,在RUN模式執(zhí)行中斷允許指令后,各中斷事件發(fā)生時是否會執(zhí)行中斷程序,取決于是否執(zhí)行了該中斷事件的中斷連接指令A(yù)TCH。
中斷分離指令DTCH用來斷開某個中斷事件與中斷程序之間的聯(lián)系,從而禁止單個中斷事件。
審核編輯:湯梓紅
-
plc
+關(guān)注
關(guān)注
5004文章
13048瀏覽量
460903 -
西門子
+關(guān)注
關(guān)注
93文章
2977瀏覽量
115308 -
S7-200
+關(guān)注
關(guān)注
13文章
407瀏覽量
50251 -
中斷程序
+關(guān)注
關(guān)注
0文章
34瀏覽量
8657
原文標(biāo)題:西門子S7-200 PLC中斷程序的應(yīng)用講解
文章出處:【微信號:中泰PLC自動化教學(xué),微信公眾號:中泰PLC自動化教學(xué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論