You are on page 1of 13

INTERRUPT KOMUTLARI

nterrupt kelime anlamyla kesme demek olup , PLC deki alma biimi genel itibari ile u
ekildedir.

Ana programn almas esnasnda gelen kesme isteine gre yrtt program keserek
kesme alt programna dallanlr.Buradaki programn altrlmas ve bitimine mteakipde ana
programda kald yere dnerek almasn icra eder.

Aada Delta PLC lerde kullanlan interrupt eitleri grlmektedir.

1-) ES/EX/SS interrupt numaralar :

a) Harici Interruptlar : (I001, X0), (I101, X1), (I201, X2), (I301, X3), (I401, X4),(I501, X5), 6
nokta
b) Zaman Ayarl Interruptlar : I6** 1 tane (** = 10-99 aras) Zaman Birimi : 1 ms
(Versiyon 5.7 ve zeri modeller iin)
c) Haberleme interruption : 1 adet I150 (Versiyon 5.7 ve zeri modeller iin)

2-) SA/SX/SC interrupt numaralar :

a) Harici Interruptlar : (I001, X0), (I101, X1), (I201, X2), (I301, X3) 4 nokta
b) Zaman Ayarl Interruptlar : I6** , I7** 2 tane (** = 10-99 aras) Zaman Birimi : 1ms
c) Yksek hzl sayc interruptlar: I010, I020, I030, I040 4 nokta. (API 53 DHSCSkomutu ile
birlikte kullanlr.)
d) Belirli wordleri akmak iin kullanlan haberleme interruptlar. (I150)
e) Interrupt pointerleri aktif etme sras : Yksek hzl sayc interrupt, Harici interrupt, Zaman
ayarl Interrupt ve Haberleme Interrupt
f) 6 interrupt no (I001,I010), (I101,I020), (I201,I030), (I301,I040), (I401,I050),(I501,I060)
iftlerinden sadece 1 tanesi programda kullanlabilir. Eer iftlerin ikiside ayn program iinde
kullanlrsa syntax (szdizimi) yazlm hatas oluur.

3-) EH/EH2/SV interrupt numaralar :

a) Harici interrupt: I00 (X0), I10 (X1), I20 (X2),I30(X3), I40 (X4), I50 (X5) olmak zere 6
tanedir. = 1 ise ykselen kenar tetikleme, = 0 ise den kenar tetikleme
b) Zaman Ayarl (Timed) Interrupt: I6** , I7** 2 tane (** = 10-99 aras) Zaman Birimi: 1 ms ,
I8** , 1 tane (** = 10-99 aras) Zaman Birimi : 0.1 ms
c) Yksek hzl sayc interrupt : I010, I020, I030, I040, I050, I060 olmak zere 6 tanedir. (API
53 DHSCS komutu ile birlikte kullanlr.)
d) Pulse k interuptlar I110, I120 (pulse k tamamland zaman tetiklenir) ve
I130, I140 (ilk pulse k geldiinde tetiklenir) aktif olduu zaman, program taramas
kesilir ve tanmlanan interrupt subroutine atlar.
e) Haberleme interrupt : I150, I160, I170
f) Frekans lm Card Interrupt : 1 adet I180
g) Interrupt pointer ileme sras : Harici interrupt, Zaman ayarl interrupt, Yksekhzl
sayc interrupt, Pulse interrupt, Haberleme interrupt, Frekans lm card Interrupt
Interrupt Pointer : Interrupt pointerler API 04 (EI), API 05 (DI), API 03 (IRET) komutlar ile
birlikte kullanlr. 6 eit interrupt pointer vardr. Hangi interrupt kullanlyor olursa olsun
yukardaki komutlarla ilikilendirilmesi gerekir.

1-) Harici Interrupt : CPUnun donanmnn zel dizaynna bal olarak, X0-X5 den gelen
ykselen ve den kenar giriler tarama sayklndan etkilenmez. Mevcut taranan program
aniden kesilir ve tarama nceden tanmlanan I00 (X0), I10 (X1), I20 (X2),I30(X3), I40
(X4), I50 (X5) interrupt subroutinelere atlar.( = 1 ise ykselen kenar tetikleme, = 0 ise
den kenar tetikleme). Tarama subroutine iinde IRET komutuna ulatktan sonra
almasna normal programda kald yerden devam eder.

Harici interruptla yaplm rnek program aada verilmitir. (SV serisi PLC kullanlmtr)

Program EI - DI komutlar arasn tararken X1den sinyal gelirse interrupt aktif olur ve
program kesilerek I101 satrna atlar.Interrupt subroutine iinde IRET komutu tarandktan
sonra program ilk balad yere geri dnerek kald yerden program srdrecektir.

X2 konta aktif ve program almasna (ana programda) devam ediyorken herhangi bir
anda X1 kontana bir tetik gelirse program I101 interrupt pointerna atlar.X2 n art
saland iin Y3 k aktif olacaktr. Interrupt subroutine programnda IRET tarandktan
sonra program ana programda kald yere geri dnerek ilemleri burada srdrmeye devam
eder.Bu srada X2 konta pasif edilirse Y3 knn hala aktif olduu gzlemlenecektir.X1
aktif olduunda kesme programna dallanlr ve X2 aktif olmad iin (Y3n n art
salanmayacandan) Y3 k pasif hale gelecektir.
2-) Zaman Ayarl (Timed) Interrupt : PLC otomatik olarak mevcut alan program ayarlanan
sabit peryotda bir keser ve tanmlanan interrupt subroutine atlar.

Zaman ayarl interruptla ilgili rnek program aada verilmitir.(SV serisi PLC kullanlmtr)

Program EI - DI arasn tararken zaman ayarl bir interrupt yardmyla I601 interrupt
pointerna atlar.M1013 1 sn de bir clock pals reten bir kontaktr.Her 1 sn de bir D500
datasnn iindeki deer 1 artmaktadr.Program bu ekilde yrtlrken kullanlan zaman
ayarl interrupt sayesinde 1 ms aralklarla kesme uygulanarak kesme alt programna atlanr.
Burada D500 datasnn ierii D600 ile karlatrlarak eitlik olutuunda Y0 kontann aktif
olmas salanmtr.
3-) Sayma hedef deere ulatnda interrupt : DCNT deeri Yksek hzl sayc karlatrma
komutu API 53 DHSCS de belirlenen hedef deerine ulat zaman mevcut program kesilir
ve I010, I020, I030, I040, I050, I060 ile tanmlanan interrupt subroutine atlar.

Hzl sayc interruptla ilgili rnek program aada verilmitir.(SV serisi PLC kullanlmtr)

Programda hzl sayc olarak C251 kullanlmtr.DHSCS hzl sayc karlatrma komutu
olup C251 saycsnn deeri 100 olduunda tarama aniden I010 interrupt pointerna atlar ve
Y1 k aktif olur.Bundan sonra program ana programa geri dner ve kald yerden devam
ederek D300 datasnn iine C251 Counternn deeri olan 100 deerini atacaktr.

4-) Pulse Interrupt : Pulse k komutu API 57 PLSY ilk pulse kn verdiinde M1342 ve
M1343 bitleri kullanlarak I130 ve I140 interrupt subroutineleri aktif edilebilir. Ayrca PLSY
komutu son pulse kn verdii zaman M1340 ve M1341 bitleri kullanlarak I110 ve I120
interrupt subroutineleri aktif edilebilir.
Pulse interruptla ilgili rnek program aada verilmitir.(SV serisi PLC kullanlmtr)
Programda ilk balangta M1340 , M1342 zel bitleri aktif edilmitir.M1340 biti ; 1. grup pals
k CH0 ( y0 ,y1) gnderildikten sonra I110 interrupt aktif eder.M1342 biti ; 1. grup pals
k CH0 (y0,y1) gnderilirken I130 interruptn aktif eder.DPLSY pals komutuyla istenilen
frekans deerinde ve pals adedinde y0 kndan pals retilir.M0 konta aktif edildii anda
(d550 ve d560 datalarnda frekans ve puls adedi girilmise) y0 kanalndan pals k
alnmaya balanacaktr.Bu esnada program aniden I130 interrupt pointerna atlar.Burada
d300 datasnn iine 1 gnderilir ve ayn zamanda M1 konta set edilir ve program tekrar
normal taramasna geri dnecektir.. Belirtilen pals adedi kanaldan gnderildikten sonra ise
tarama aniden bu sefer I110 interrupt pointernn bulunduu satra atlar.Burada d300
datasnn ieriine 0 gnderilir ve M0 , M1 kontaklar resetlenir.
M1295 puls k interrupt I110 pasif etme bitidir.Bu bit en bata aktif edilirse M1342 biti aktif
edilse dahi interrupt almayacaktr.

5-) Haberleme Interrupt :

I050: RS haberleme komutu kullanlaca zaman D1168 datasnn dk bytenda


ayarlanan spesifik deer alnrsa I050 interrupt subroutine aktif edilir. Haberleilen cihazdan
gelen datay karlatrmak iin D1168 word iine son data ayarlanabilir ve gelen datann
iinde ayn data varsa I050 interrupt subroutine aktif edilir.
I060: RS haberleme komutu kullanlaca zaman D1169 datasnn dk bytenda
ayarlanan spesifik deer alnrsa I060 interupt subroutine aktif edilir. D1169=0 ise I060 aktif
olmaz.
I070: Slave mod PLCde data alma tamamlandktan sonra I170 aktif olur. Normalde PLC
haberleme terminali slave moda ise, PLC haberleme ile gelen istekleri END komutunu
iledikten sonra hemen yerine getirir. Fakat eer slave PLC iindeki programn tarama
zaman ok uzun ve haberlemeden gelen isteklerin hemen yerine getirilmesi gerekiyorsa
I070 interrupt subroutine kullanlabilir.

I170 Interrupt rnei (Slave moda data alma ilemi tamamlandktan sonra)
D1020 datasndan PLC girileri cevap zaman ayarlanabilir. Hzl sayc ve interrupt girileri
iin kullanlan giriler iin herhangi bir ayar yapmaya gerek yoktur.

Programn iindeki I170 subroutine program ile, COM 2 slave modda iken eer haberleme
datas geliyorsa PLC bu datay hemen ileyip gerekli cevap kodunu gnderecektir.

Not : I170 kullanlaca zaman program on-line update yapmaynz.PLC tarama zaman
biraz uzayabilir.

6-) Frekans lm kart tetikleme interrupt : PLC M1019 ve D1034 kullanlarak frekans lm
kart mod 1 (pulse saykl lm) veya mod 3 (pulse says sayma) ayarland zaman I180
kullanlr.

nterrupt komutlarnn aklamalar aada verilmitir

IRET : Interrupt subroutine programn sonlandrr ve ana programa dnlmesini salar.


Komutun almas iin nne herhangi bir art konulmasna gerek yoktur. IRET komutu
taranp Interrupt subroutine tamamdktan sonra program taramasna daha nce kesildii
yerden devam eder.

EI/DI : Komutun almas iin nne herhangi bir art konulmasna gerek yoktur.
Interrupt sinyali pulse genilii en az 200 mikro saniye olmaldr.

FEND : Normal programn sonu olduu anlamna gelir. Interrupt programlar FEND
komutunun altna yazlmal ve IRET komutu ile sonlandrlmaldr. Eer birden fazla FEND
komutu kullanlacak ise interrupt subroutineler FEND ve END arasna yazlmaldr.

Notlar :

EI komutu harici interrupt, zaman ayarl interrupt ve yksek hzl sayc interrupt gibi interrupt
subroutinelere izin verir.

Program EI ve DI komutlar arasnda sinyal geldii zaman interrupt aktif eder. Eer
programda interrupt pasif etmek gerekmiyorsa sadece EI kullanmak yeterli olur. DI
kullanlmasna gerek yoktur.

nterrupt subroutineler (pointer) FEND komutunun altna yazlmaldrlar.

Bir interrupt subroutine ilenirken dier interrupt subroutineler aktif olamaz.

Birok interrupt aktif olursa, ncelik ilk verilen interrupttadr. Eer aniden birok interrupt
aktif olursa daha kk pointer numaral interruptlarn ncelii vardr.

DI ve EI komutlar arasnda bir interrupt sinyali gelirse bu komut hemen deil tarama izin
verilen EI ve DI komutlar aras tarand zaman aktif olur.

ES/SA PLCde zaman ayarl interruptlar kalc deildir.


Interrupt pointer kullanld zaman o interrupt pointer aktif eden giriin yksek hzl
saycsn programda ok sk kullanmaynz.

Interrupt ilemi srasnda ani I/O gerekli ise, I/O durumlarn update etmek iin program
iinde REF komutunu kullannz.

Subroutine (Alt Program) Timer: T192-T199 aras subroutine veye interrupt subroutinelerde
kullanlr.

SA serisi CPUlar iin program END komutuna ulat zaman bir kere ilenir ve program
END komutunu tarad zaman eer set deerine ulatysa k ON olur.

EH/EH2/SV CPUlar iin program TMR veya END komutuna ulat zaman bir kere ilenir.
ve program TMR veya END komutuna ulat zaman PV=SV ise k ON olur.
Eer subroutinelerde ve interrupt subroutinelerde genel amal timer kullanlyor ise fakat
subroutine taranmyor ise timer doru olarak alamayacaktr.

SA/SC/SX serisi CPUlarda DHSCS komutu DHSCR komutu ile birlikte 6 kereden fazla
kullanlamaz. DHSZ komutuda 6 kereden fazla kullanlamaz. DHSCS komutu I interrupt ile
birlikte kullanlyorsa, kullanlan bu yksek hzl sayc baka DHSCS,DHSCR ve DHSZ
komutu iinde kullanlamaz.

DHSCS komutu ile Hzl sayc belirlenen deere ulat zaman I010 I060 yksek hzl
sayc interruptlar aktif eder.

ES/EX/SS serisi PLCler yksek hzl sayc interruptlar desteklemez.

SA/SX/SC serisi PLCler yksek hzl sayc interruptlar destekler. DHSCS komutunda
yksek hzl sayc interrupt kullanldysa kullanlan yksek hzl sayc baka DHSCS,
DHSCS ve DHSZ komutunda kullanlamaz.

SA/SX/SC serisi PLClerde sayc deeri ayarlanan deere ulat zaman interrupt aktif olur.
I010 interrupt subroutine aktif etmek iin X0 girii, I020 iin X1 girii, I030 iin X2 girii, I040
iin X3 girii, I050 iin X4 girii, I060 iin X5 girii kullanlr. Toplam 6 tanedir.

ES/EX/SS ve SA/SX/SC PLClerde SPD komutu kullanldnda (X1 ve X2), o girile


kullanlan yksek hzl sayc ve harici interruptlar kullanlamaz. (I101,I201)
Eer DHSCS komutunda kullanlan yksek hzl saycnn ok hzl k vermesi isteniyorsa
Y10ve Y11 klarnn kullanlmas gerekir. Bunlarn dnda kullanlan farkl klar 1
tarama sonra k verir veya kn keser. Yksek hzl sayc interruptda kullanlabilir.

Eer I0X0 subroutine ayarlanacaksa, C243 iin I020, C245 iin I040 ve C250,C255 iin
I060a karlk gelir.

6 interrupt no (I001,I010), (I101,I020), (I201,I030), (I301,I040), (I401,I050), (I501,I060)


iftlerinden sadece 1 tanesi programda kullanlabilir. Eer iftlerin ikiside ayn program
iindekullanlrsa syntax (szdizimi) yazlm hatas oluur.Yksek hzl saycda kullanlan X
girii harici interrupt olarak kullanlamaz. rnein programda C235 saycs kullanlyorsa I00
(X0) nolu harici interrupt kullanlamaz.
nterrupt Komutlar ile Birlikte Kullanlan zel Data ve Bitler :

M1083 : FROM/TO komutlarnda interrupt subroutine izin verir.

M1340 : 1. Grup pulse k CH0 (Y0,Y1) gnderildilkten sonra I110 interrupt aktif eder.
M1341 : 1. Grup pulse k CH1 (Y2,Y3) gnderildilkten sonra I120 interrupt aktif eder.
M1342 : 1. Grup pulse k CH0 (Y0,Y1) gnderilirken I130 interrupt aktif eder.
M1343 : 1. Grup pulse k CH1 (Y2,Y3) gnderilirken I140 interrupt aktif eder.
D1168 : RS komutu iinde spesifik wordleri almak iin I150 interrupt istei.
D1169 : RS komutu iinde spesifik wordleri almak iin I160 interrupt istei.
D1180 : I401 interrupt tarafndan alnan dk word yksek-hzl sayc deeri
D1181 : I401 interrupt tarafndan alnan yksek word yksek-hzl sayc deeri
D1198 : I501 interrupt tarafndan alnan dk word yksek-hzl sayc deeri
D1199 : I401 interrupt tarafndan alnan yksek word yksek-hzl sayc deeri

D1020 datasndan PLC girileri cevap zaman ayarlanabilir. Hzl sayc ve interrupt girileri iin
kullanlan giriler iin herhangi bir ayar yapmaya gerek yoktur.

C409 hata kodu (D1004 iinde) Subroutine veya Interrupt subroutine iinde STL/RET
komutlarnn kullanlmas hatasdr.
C40A hata kodu (D1004 iinde) Subroutine veya Interrupt subroutine iinde MC/MCR
komutlarnn kullanlmas hatasdr.

SA/SX/SC/EH/EH2/SV PLClerde M1083 almas :

a) M1083 = OFF ise FROM/TO komutlar taranrken tm dahili ve harici interruptlar


subroutineler pasif olur. Interruptlar sadece FROM/TO komutlarnn ilenmesi
tamamlandktan snra aktif olur. FROM/TO komutlar interrupt subroutine iinde
kullanlabilir.

b) M1083 = ON ise FROM/TO komutlar taranrken interrupt sinyali aktif olursa, ilk
nce interrupt subroutine ilenir (100 mikrosaniye gecikme ile) ve FROM/TO komutlar
almas durdurulur. Interrupt subroutine taramas tamamlandktan sonra program
FROM/TO komutunun kullanld satrn altndan almasna devam eder.

ES/EX/SS serisi PLClerde M1083 kullanlmaz. FROM/TO kumutlar ilenirken tm dahili ve


harici interrupt subroutineler pasif olur. Interruptlar sadece FROM/TO komutlarnn ilenmesi
tamamlandktan snra aktif olur. FROM/TO komutlar interrupt subroutine iinde
kullanlabilir.
nterrupt Engelleme Bitleri :

ES/EX/SS Interrupt Kesme Bitleri

M1050 : Harici Interrupt I001 pasif etme biti


M1051 : Harici Interrupt I101 pasif etme biti
M1052 : Harici Interrupt I201 pasif etme biti
M1053 : Harici Interrupt I601 pasif etme biti
M1056 : I6** zaman ayarl interrupt pasif etme biti

SA/SX/SC Interrupt Kesme Bitleri

M1050 : Harici Interrupt I001 pasif etme biti


M1051 : Harici Interrupt I101 pasif etme biti
M1052 : Harici Interrupt I201 pasif etme biti
M1053 : Harici Interrupt I301 pasif etme biti
M1054 : Harici Interrupt I401 pasif etme biti
M1055 : Harici Interrupt I501 pasif etme biti
M1056 : I6** zaman ayarl interrupt pasif etme biti
M1057 : I7** zaman ayarl interrupt pasif etme biti
M1059 :Yksek hzl sayc interrupt pasif etme biti I010 I060

EH/EH2/SV Interrupt Kesme Bitleri

M1280 : Harici Interrupt I00 pasif etme biti


M1281 : Harici Interrupt I10 pasif etme biti
M1282 : Harici Interrupt I20 pasif etme biti
M1283 : Harici Interrupt I30 pasif etme biti
M1284 : Harici Interrupt I40 pasif etme biti
M1285 : Harici Interrupt I50 pasif etme biti
M1286 : Zaman Ayarl I6 pasif etme biti
M1287 : Zaman Ayarl I7 pasif etme biti
M1288 : Zaman Ayarl I8 pasif etme biti
M1289 : Yksek hzl sayc interrupt I010 pasif etme biti
M1290 : Yksek hzl sayc interrupt I020 pasif etme biti
M1291 : Yksek hzl sayc interrupt I030 pasif etme biti
M1292 : Yksek hzl sayc interrupt I040 pasif etme biti
M1293 : Yksek hzl sayc interrupt I050 pasif etme biti
M1294 : Yksek hzl sayc interrupt I060 pasif etme biti
M1295 : Pulse k interrupt I110 pasif etme biti
M1296 : Pulse k interrupt I120 pasif etme biti
M1297 : Pulse k interrupt I130 pasif etme biti
M1298 : Pulse k interrupt I140 pasif etme biti
M1299 : Haberleme interrupt I150 pasif etme biti
M1300 : Haberleme interrupt I160 pasif etme biti
M1301 : Haberleme interrupt I170 pasif etme biti
M1302 : Frekans lm kart interrupt I180 pasif etme biti
Program rnekleri :

Program EI ve DI komutlar arasn tararken X0dan sinyal gelirse interrupt aktif olur ve program
kesilerek I001 satrna atlar. Interrupt subroutine iinde IRET komutu tarandktan sonra program
kald yerden normal taramasna devam eder.

__________________________________________________________________________

PLCnin almas srasnda, program EI ve DI datalarnn arasn tararken X1 ve/veya X2


OFF ON olduu zaman Subroutine A ve/veya Subroutine B aktif olur ve IRET komutu
ilendii zaman program normal taramasna geri dner.
Yukardaki programda C251 deeri 99dan 100e getiinde veya 101den 100e getii
zaman program taramas I010 interrupt subroutine atlar.
______________________________________________________________________

Interrupt subroutinelerin ne kadar sre altn test etmek iin Interrupt subroutineler
iinde RTMU ve RTMD komutlar kullanlabilir. Fakat test ilemi tamamlandktan sonra bu
komutlarn silinmesi nerilir.
Aadaki rnek uygulamada X0 girii OFFdan ONa getii zaman I001 interrupt subroutine
aktif olur. RTMU 8-bit timer aktif eder. (Birimi 10 mikro saniye komut 2. Parametreden
ayarlanr) ve RTMD (D = 0 iken) timer kapatr ve deerini komutta belirtilen D datas iine
kaydeder. (D1156 - D1165 aras K0 K9 olarak komut 1.parametreden ayarlanr.)
DELAY komutu rnei :

Aadaki programda X1 sinyali ON iken X0 giriinden harici interrupt sinyali geldiine


Interrupt subroutine I001 aktif olur ve DELAY komutunu altrr. 2 ms sonra Y0 k aktif
olur.

You might also like