plc de interrupt kavrami

halhal

Üye
Katılım
19 Haz 2016
Mesajlar
325
Puanları
1
Yaş
41
merhaba
plc de interrupt in ne demek olduğuyla ilgili bilgi paylaşabilir misiniz
 
İnterrupt: Alt program demektir.
Farklı türleri vardır ve Çeşitli sebeplerle kullanılır. Ana program içerisinden çağrılarak yada belli şartların gerçekleşmesi ile Ana program taraması kesilerek taranması şeklinde kullanılır.
Programı bölümlere ayırıp sadeleştirmek için,
Ardışık tekrar eden işlemlere tekrar tekrar program yazmamak için,
Uzun programlarda her zaman kullanılmayan kısımların olay gerçekleştiğinde çağrılması için,
Hassas zamanlama gerektiren işlemlerde uzun Ana program tarama süresinden etkilenmemek için,
gibi sebeplerle kullanılır.
 
Herhangi bir işlemin yapılması, o işlemin bulunduğu satırın plc tarafından çalıştırılması ile mümkündür.
Uzun bir programda o satıra ulaşma için bir zaman gecikmesi oluşur.

Komutun çalışma şartı gerçekleştiğinde o komut satırını beklemeden yani yazılımdan ve zamandan bağımsız olarak, direkt işlemin yapılmasını sağlayan donanımsal işlemdir.

harici giriş, zaman, hsc, pulse out gibi kesmeler bulunur.

Program taraması devam ederken kesme( interrupt ) oluşursa program kesilir ve kesme programı çalıştırıldıktan sonra geri dönülerek kesilen yerden programın taraması devam eder.

İnterrupt: Alt program demektir.

Düzeltme yapmama izin verin.

ilk cümle hariç alt program için bahsettiğiniz herşey doğru. Ancak interrupt kesme demektir.

Sizin bahsettiğiniz durumlarda program içinde yazılımla belirtilen şarta bağlı olarak normal altprogramlara gidilir.

Kesmede ise önceki mesajımda bahsettiğim şekilde kesme interrupt alt programına gidilir.
Sonuçta kesmelerde alt programlarla çalışırlar ama alt program değillerdir.
 
Moderatör tarafında düzenlendi:
İnterrupt ve altprogram (soubrutine) farklı şeylerdir.
Örnek videoları izleyerek gereken bilgi kavramasını daha iyi anlayacağınızı düşünüyorum.

Harici İnterrupt =



Timer İnterrupt =




Alt Program (soubrutine) =
 
Farklı türleri vardır ve Çeşitli sebeplerle kullanılır. Ana program içerisinden çağrılarak yada belli şartların gerçekleşmesi ile Ana program taraması kesilerek taranması şeklinde kullanılır.
Arkadaşlar haklısınız.
İnterrupt = Kesme
Subroutine = Alt program
İngilizce çevirileridir ve Software içerisinde ikiside ayrı ayrı bulunmaktadır.
Ama aslında ikiside alt programdır. Sadece çağrılma şekilleri farklıdır.
Yukarda da söylediğim gibi Bazıları program taraması içerisinden ilgili bloğa gelindiğinde şart gerçekleşmişse çağrılırken (Buna Subroutine deniyor). Diğeri (interrupt Olan) Program tarama süresinden ve o an program taramasının hangi blokta olduğundan bağımsız olarak İlgili olgu (zaman, harici giriş vs.) gerçekleştiği an çağrılır.
Yeni öğrenen biri için bu anlatılmazsa iki buz dağı oluyor, hep soru işareti kalıyor, Ve yaptığı uygulamalarda tereddüte düşüyor. Kendimden biliyorum :) .
Maalesef programlar yabacı dil olduğu için zaten tedirgin yaklaşıyoruz.
Benzer bir ikilem TIA PORTAL daki FB - FC olayında var. Hep sorulduğunu görüyorum...
 
interrupt bir kesme isteğidir. kesmek derken yanlış tarif etmeyeyim plcde ana program işletilirken ayarladığınıuz zamana bağlı veya koşula bağlı bhir kesme gelirse plc o kesme işlemine öncelik verir.. bunun çok çeşitlilieri vardır. zman bağlı koşula bağlı haberleşmeye bağlı .
size 1 2 örnek vermeye çalışayım
mesalen zaman kesme bir interrupt tanımlarsanız 1 saniye diyelim ayar süresi o program saniyede 1 defa çalıştırılır . na programın satırı sütünu nerede olduğu çevrimi tamamlayıp tamamlamadığına bakılmaksızın saniyede 1 defa program çalıştırılır . bölece saniyerde 1 sayan bir sayıcı elde etmiş olursunuz ..
başka bir örnek veryim koşulla alakalı atıyorum bir arıza durumunuz var yada 3 arıza durumu var kendinizce kırmızı sarı neyse bu arıza durumuda bir interrupt tanımlarsınız bu arıza oluştuğu anda plc ne yapması gerkiyorsa bu programı çalıştırır aksi halde program işletilmez .
örnek emergency stop a bir interrupt tanımladınız . bunada ne bilim valfleri aç kapıları aç tankı boşalt vs vs gibi tanımladınız ne zamanki emergency stopa basıldı bu program çalışır aksi halde çalışmaz ..
tabi bunlar ana hatlarıyla anlatmaya çalıştım çok yavan oldu ama okuyarak daha iyi anlarsınız kanatindeyim
 
Normal alt programlar satır içinden komutla çağırılır.

Tüm plclerde çalışma mantığı şu şekildedir.
1-Plc tüm girişleri tek seferde okuyup giriş hafızasına yazar.
2-Program çalıştırılır.
3-Program End satırına gelene dek ihtiyaç duyulan giriş bilgileri girişten değilde hafızadan alınır.
4-Program boyunca elde edilen çıkış değerleri çıkış hafızasına yazılır. ÇIKIŞA DEĞİL.
5-End komutu ile çıkış hafızası tek seferde çıkışa yazılır.
6-Tüm bu işlemler baştan başlar.

1 ile 6 maddeleri arasında giriş sinyali kısa süre ile oluşup kaybolursa, ( 1 nolu maddeye gelene dek girişlere bakılmayıp hafıza değerleri kullanıldığından ) sinyal kaçırılır.

Kesme-interrupt burada devreye girer. Yazılımsal değil donanımsal olduğu için 1 mikrosaniyede bir dahi şart gerçekleşse ana program kesilerek kesme alt programına gidilir.

Bu şekilde çok hızlı sinyal değişimi olan ve sinyal kaçırmamanın gerektiği sistemlerde kesme kullanılır. Encoderli sitemlerde buna dahildir. Hızlı sayıcı kesmesi gibi.

Kesme interrupt oluşunca yapılacaklar alt programda tanımlanır.

Klasik alt program ise program yapısını parçalara bölmek, aynı iş için tekrar tekrar kod yazmamak, takibi kolaylaştırmak için tercih edilir.

İnterruptlar-kesmeler alt programları kullanırlar. Ancak alt program-subroutine değillerdir.
 
herkese çok teşekkürler
konuyu kahrama ma yardımcı oldunuz
 
bılmıyorsan sus bızı ızle
 

Forum istatistikleri

Konular
130,143
Mesajlar
933,534
Kullanıcılar
453,223
Son üye
Shentyurk

Yeni konular

Çevrimiçi üyeler

Geri
Üst