當前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動化控制 > PLC可編程控制器
發(fā)布日期:2022-04-20 點擊率:26
引言
S7-200PLC設置了中斷功能,用于實時控制、高速處理、通信和網(wǎng)絡等特殊和復雜的控制任務。中斷功能的合理使用,既可以使一些突發(fā)事件得到即時響應和處理,又可以使程序條理清晰,結構合理。本文以噴泉的控制系統(tǒng)為例,闡述S7-200PLC中斷指令及其應用情況。
1PLC中斷及相關概念
PLC在執(zhí)行程序時,如果有一些急需處理的事件發(fā)生,且中斷允許時,PLC會中止當前正在執(zhí)行的程序,轉去執(zhí)行中斷程序,執(zhí)行完中斷程序,再返回中斷處接著執(zhí)行后續(xù)程序。
下面介紹幾個和PLC中斷有關的概念。
1.1中斷源
中斷源是指引發(fā)中斷的事件。系統(tǒng)給每個中斷源分配了一個編號,稱為中斷事件號。S7-200系列PLC最多有34個中斷源,分為三大類,即通信中斷、1/0中斷、時基中斷。其中,時基中斷又分為定時中斷和定時器中斷:定時中斷分為定時中斷0和定時中斷1。本例用的是定時中斷0,中斷事件號為10。
1.2中斷優(yōu)先級
在PLC運行期間,多個中斷源同時向PLC申請中斷,需要將中斷源按中斷性質和緊急程度進行中斷排序,并按優(yōu)先級高低進行逐項處理。S7-200PLC中斷優(yōu)先權從高到低依次是通信中斷、1/0中斷和時基中斷,每類中斷中又有不同的優(yōu)先級。
1.3定時中斷
定時中斷用于周期性的定時活動,每隔一段時間,當定時中斷允許時,計時開始,時間到,執(zhí)行一次中斷程序。定時中斷包括定時中斷0和定時中斷1,其中定時中斷0的時間間隔由SMB34中的數(shù)值決定,數(shù)值范圍為1~255,時間單位是毫秒。
1.4中段服務程序
中段服務程序簡稱中斷程序,是中斷事件發(fā)生時要執(zhí)行的程序。中斷服務程序不需要調用,當中斷事件發(fā)生時,系統(tǒng)會自動跳到中斷服務程序去執(zhí)行。中斷服務程序在執(zhí)行過程中不能被另一個程序打斷,即使是更高一級的中斷,也必須按中斷優(yōu)先級排序依次執(zhí)行。
2中斷指令介紹
中斷指令包括中斷允許EN1、中斷禁止DISI、中斷連接ATCH、中斷分離DTCH等指令。
2.1中斷允許指令ENI
中斷允許指令EN1,允許所有被連接的事件產(chǎn)生中斷,按優(yōu)先級進行中斷排序,并依次執(zhí)行中斷程序。
2.2中斷禁止指令DISI
中斷禁止指令DISI,全局禁止處理所有中斷事件。
2.3中斷連接指令ATCH
中斷連接指令ATCH,將一個中斷事件與一個中斷服務程序連接起來,并允許這一中斷事件有效。
2.4中斷分離指令DTCH
中斷分離指令DTCH,使能輸入有效時,把一個中斷事件EVENT和一個中斷程序1NT分離,禁止該中斷事件有效。
對于上述中斷指令補充說明如下:
(1)經(jīng)過中斷優(yōu)先級判斷后,將優(yōu)先級最高的中斷請求發(fā)送給CPU,CPU響應中斷后自動保存累加器和某些特殊標志寄存器位,即保護現(xiàn)場:中斷處理完成后,自動恢復中斷時保存的數(shù)據(jù),即恢復現(xiàn)場。
(2)當進入運行模式時,CPU禁止所有中斷。當執(zhí)行中斷允許指令EN1后,允許所有中斷有效。
(3)多個中斷事件可以調用同一個中斷程序,但同一個事件不能調用多個中斷程序。
(4)中斷分離指令DTCH禁止中斷事件和中斷服務程序之間的聯(lián)系,它只禁止某一中斷事件,而DISI禁止所有中斷。
3中斷指令的應用舉例
本文以噴泉控制為例,闡述S7-200PLC中斷指令的具體應用。
噴泉常用電磁閥控制噴頭的噴水動作,電磁閥由其自身的線圈控制,PLC控制電磁閥線圈。其控制線路如圖1所示。
圖中PLC采用CPU224,YV1~YV8為電磁閥線圈,G為24V直流電源,SB1為啟動按鈕,SB2為停止按鈕。控制要求:按下啟動按鈕SB1,電磁閥線圈YV1到YV8依次得電,間隔0.5S,且后一個電磁閥線圈得電時,前一個電磁閥線圈斷電,循環(huán)運行:按下停止按鈕SB2,噴泉停止工作。
4系統(tǒng)程序
4.1編程思路
定時中斷0的定時時間由SMB34中的數(shù)值決定,數(shù)值范圍為1~255,時間單位為毫秒,所以定時時間最多為255mS。本例SMB34賦值100,即每隔100mS執(zhí)行一次中斷程序,5次定時中斷的時間和為500mS。
在中斷程序中用VB0來累計中斷的次數(shù),計夠5次耗時0.5S,之后用循環(huán)左移指令將○B(yǎng)0左移一位,對應電磁閥得電順序為yV1~yV8。這里需要說明一下為什么要用循環(huán)左移指令,○B(yǎng)0的位排列順序從右到左為○0.0~○0.7,從圖1線路圖上看,其對應的電磁閥線圈得電順序為yV1~yV8,所以用循環(huán)左移指令。
4.2程序
噴泉控制系統(tǒng)程序由主程序、中斷程序組成。主程序中初始化定時中斷0,開啟中斷,中斷服務程序中的中斷計數(shù)計夠5次,執(zhí)行循環(huán)左移指令。
4.2.1主程序
LDI0.0//按下啟動按鈕SB1,I0.0常開觸點閉合:
M0VB1,○B(yǎng)0//給○B(yǎng)0賦初值1,使○0.0對應指示燈HL1亮:M0VB0,VB0//清零VB0:VB0存放中斷次數(shù):
M0VB100,SMB34//設置定時中斷0的時間間隔為100mS:
ATCHINT0,10//將中斷程序INT0和定時中斷0(編號為10)連接起來,這樣當定時中斷0定時時間到,系統(tǒng)就會自動調用中斷程序0:
一NI//開中斷,啟動定時中斷0,每隔100mS執(zhí)行一次中斷程序:
LDI0.1//按下停止按鈕SB1,I0.1常開觸點閉合:
DTCH1//解除中斷連接關系,不再執(zhí)行中斷程序,指示燈不再右移:
M0VB0,○B(yǎng)0//輸出清零,指示燈全滅。
4.2.2中斷服務程序
LDSM0.0//ELC運行時SM0.0常開觸點接通:
INCBVB0//將VB0中的數(shù)值加1,相當于中斷次數(shù)計數(shù)器:
LDB=VB0,5//當VB0=5時,比較觸點接通,累積時間是500mS,即0.5S:
RLB○B(yǎng)0,1//循環(huán)左移指令將○B(yǎng)0對應的8位二進制數(shù)值循環(huán)左移1位,對應的得電電磁閥右移1位:
M0VB0,VB0//將VB0清零,為下一次計數(shù)作準備。
5結語
定時中斷是指每隔一段時間就去執(zhí)行一次中斷服務程序,在中斷服務程序中累積定時中斷的次數(shù),以此作為定時方式。定時時間到,執(zhí)行循環(huán)左移指令,對應的噴泉也依次循環(huán)動作,使用中斷指令編程,能夠使程序結構更加清晰合理。
下一篇: PLC、DCS、FCS三大控
上一篇: 廣州地鐵3號線北延段