İnterruptlar ne işe yarıyor?

Kesmelerin pek çok çeşidi vardır.Zaman gecikmesi kesmesi,periyodik kesme,donanım kesmesi,zaman hatası kesmesi gibi.Hepsinin kullanım alanına hakim değilim ama örneğin periyodik kesme(cyclic interrupt) ile örnekleme zamanı oluşturabilirsin.
 
Bizim bir ödevimiz var orda sensör sayesinde cismin uzunluğu ölçülüyor.ama ben programı mainde yaptım hoca kesme kullanmamı söledi sonuç yanlış çıkıyo dedi.neden yanlış çıksın ki?
Kesme ile hata gideriliyor mu?
 
Moderatör tarafında düzenlendi:
Kullandığın kesme tipine bağlı olarak cihaz normal çalışırken kesme oluştuğu anda cihaz yaptığı tüm işlemleri bırakır ve kesme anında yapılacak fonksiyona gider. Kesme sona erince ise cihaz eski işlemine kaldığı yerden devam eder. Kesme hataları gidermez. Eğer sensorden aldığın değer değişken ise, sensorun en son değerini güncel olarak alabilmek açısından kesme kullanılabilir.
 
bende sensörden değer alıyorum.bunun içn hangi kesme kullanmam gerek?çevrimsel donanımsal...
 
PLC'de kullanımı nasıl oluyor bilmiyorum ancak Mikrodenetleyicide Analog giriş kesmesi, int0/int1 vb. dijital giriş kesmeleri, timer zamanlayıcı kesmesi, seri port kesmesi gibi kesmeler var. PLC kesmeleri konusunda yardımcı olamam.
 
örnekleme zamanını nasıl oluşturuyorsunuz?
 
Merhaba
tia portalda s7 1200 cpu için proje açıp cpu ekledikten sonra add new block tıklayıp
ob bloktan cyclic interrupt seçip kaç mili saniyede bir çalışmasını istiyorsak onu yazarız örnek 100 ms de bir.
Şimdi bu blok ile ne yapacağız.
Bu blok zamana bağlı çalıştığı için her 100 ms bir çalışır.

Her 100 ms bir su sıcaklığının ölçülmesi isteniyorsa bu blok içine yazılır.
böylece istenen iş cyclic ten bağımsız olarak her 100 ms bir çalışır.
yada
her 100 ms bir ultrasonik sensör ile mesafe ölçümü yaparak ölçümün net ve doğru değer olmasını garanti altına alabilirsin.

 
cyclik interrupt blogunun içine bunları yazdım.mantık doğrumu bilmiyorum.analog girişten okudugum değerleri md1 adresine gönderdim sonra md1+md2 toplayıp md2 ye atadım. counterda her kesmede 1 artıyor. counter 10 oldugunda cıkıs vericek md2 degerini sayıcının saydıgı degeri bölüp ortalamasını alıcak main blogunda scala edilicek. md2 -md2=0 yapıp sistem basa dönücek.sizce mantıklımı?
 

Ekli dosyalar

  • vvvv.png
    59.4 KB · Görüntüleme: 52
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…