INTERRUPT...DECL ...WHEN ...DO ...中斷指令
中斷聲明的原理:
當(dāng)出現(xiàn)諸如輸入等定義的事件時(shí),控制器中斷當(dāng)前程序,并處理一個(gè)定義的子程序。
事件和子程序用 INTERRUPT...DECL ...WHEN ...DO ... 來(lái)定義
中斷聲明是一個(gè)指令。它必須位于程序的指令部分,不允許位于聲明部分!
聲明后先將取消中斷 (Interrupt)。必須先激活中斷,然后才能對(duì)定義的事件作出反應(yīng)!
中斷聲明的句法:
Global (全局)
中斷只有從對(duì)其進(jìn)行聲明的層面起才被識(shí)別。
在一個(gè)子程序中聲明的中斷在主程序中是未知的 (此處為中斷 23)。一個(gè)在聲明的開(kāi)頭寫有關(guān)鍵詞 GLOBAL 的中斷在上一層面也是已知的(此處為中斷 2)。
Prio:優(yōu)先級(jí)
1.有優(yōu)先級(jí) 1、2、4- 39 和 81 - 128 可供選擇。
2.優(yōu)先級(jí) 3 和 40 - 80 是預(yù)留給系統(tǒng)應(yīng)用的。
3.某些情況下中斷 19 預(yù)留給制動(dòng)測(cè)試。
4.如果多個(gè)中斷同時(shí)出現(xiàn),則先執(zhí)行最高優(yōu)先級(jí)的中斷,然后再執(zhí)行優(yōu).
5.先級(jí)低的中斷。(1 = 最高優(yōu)先級(jí))
事件:觸發(fā)中斷的事件。該事件在出現(xiàn)時(shí)通過(guò)一個(gè)脈沖邊沿被識(shí)別 (脈沖邊沿觸發(fā))。
中斷程序
1.應(yīng)處理的中斷程序的名稱。
2.該子程序被稱為中斷程序。
3.運(yùn)行時(shí)間變量不允許作為參數(shù)傳遞給中斷程序
4.允許使用在一個(gè)數(shù)據(jù)列表中聲明的變量。
INTERRUPT +操作+<編號(hào)>
ON: 激活一個(gè)中斷。
OFF : 取消激活一個(gè)中斷。
DISABLE: 禁止一個(gè)中斷。
ENABLE : 開(kāi)通一個(gè)原本禁止的中斷。
例:INTERRUPT ON 10 中斷被識(shí)別并被執(zhí)行 (脈沖正沿)
這種情況下,中斷由狀態(tài)的轉(zhuǎn)換而觸發(fā),例如,對(duì)于$IN[22]==TRUE 而言,通過(guò) FALSE 到 TRUE 的轉(zhuǎn)換。也就是說(shuō),在 INTERRUPT ON 時(shí)不允許已是該狀態(tài),否則就無(wú)法觸發(fā)中斷!在此情況下,還必須注意:狀態(tài)轉(zhuǎn)換最早允許在 INTERRUPT ON 后的一個(gè)插值周期進(jìn)行。(可通過(guò)在INTERRUPT ON 后編程設(shè)定 WAIT SEC 0.012 來(lái)實(shí)現(xiàn)。若不希望出現(xiàn)預(yù)進(jìn)停止,則可另外在 WAIT SEC 前再編入一個(gè) CONTINUE。)原因是 INTERRUPTON 需要一個(gè)插值周期 (= 12ms),直到中斷真正激活。如果先前變換了狀態(tài),中斷不能識(shí)別這一變換。
中斷指令與FB_PSPS程序的使用分析:
DEF UP1() UP程序
UP Anfang
SPS_N=-1
SPS_FERTIG=FALSE
IF NOTCALLBYSELECT THEN 在由程序調(diào)用UP 時(shí) CALLBYSELECT=false
INTERRUPTDECL 10 WHEN $CYCFLAG[254]==FALSE DO VW(#FB_STOP,TRUE)
由M254 的非來(lái)激活中斷,觸發(fā)程序VW(#FB_STOP,TRUE) 中斷的等級(jí)是10
INTERRUPT ON10 激活中斷
INT10=TRUE
VW_USR_R(#USR_INIT)執(zhí)行 VW_USR_R初始化
ENDIF
VW(#VW_INIT_UP,TRUE)執(zhí)行 VW初始化
DEF FB_STOP ()聲明程序FB_STOP()
INT INT_N
BOOL EXIT_OK
BOOL IN_APO_1
-
程序
+關(guān)注
關(guān)注
117文章
3794瀏覽量
81254 -
Global
+關(guān)注
關(guān)注
0文章
12瀏覽量
8446 -
KUKA機(jī)器人
+關(guān)注
關(guān)注
4文章
143瀏覽量
9127
原文標(biāo)題:KUKA機(jī)器人FB_PSPS由INTERRUPT DECL 中斷程序的觸發(fā)過(guò)程分析
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論