Yükselen Kenar ve Alçalan Kenar

Başlatan Analyzer, 26 Nisan 2006, 21:33:54

Analyzer

Selam,

Pic programlarken, elektrik/elektronik devre kurarken bilinçli ya da bilinçsiz kullandığım bu yükselen kenar, alçalan kenar kavramını anlamaya çalışıyorum. Bu iki kavramı örneklerle açıklamanız mümkün mü? Örneğin butona bastığımda; bağlı bulunduğu girişi 0->1 yaptığımda yükselen kenar event'i gerçekleşiyor, bıraktığımda alçalan kenar event'i gerçekleşiyor değil mi?
Konuyla ilgili bir gerçek uygulama örneği verebilir misiniz?

Teşekkürler,

Analyzer
Üşeniyorum, öyleyse yarın!

microcozmoz

Arkadaşım bu olayı bir örnekle anlatmaya çalışacağım..

iki tane butonumuz var olduğunu düşünelim..PLC programımızda bir tanesi NA (normalde açık) diğerini NC(Normalde kapalı) olarak kullanalım.

Resimdeki program incelendiğinde birinci sırada OFF 'tan ON'a doğru geçişte enerji geçişi oluşacaktır.İkinci sırada ise zaten ON olan I0.1 kontağı açtığında ON'dan OFF'a geçiş olacak ve NC kontaktan sonra gelen kontağın özelliğinden dolayı enerji geçişi oluşacaktır.

Bu şekilde verdiğim örnek umarım yardımcı olmuştur.

"Bütün bu şerâitten daha elîm ve daha vahim olmak üzere, memleketin dahilinde, iktidara sahip olanlar gaflet ve dalâlet ve hattâ hıyanet içinde bulunabilirler."

aYe

Selam,

İstanbul 0 olsun ankara 1, siz istanbuldan ankaraya gidecek olun, küüttt diye ankarada olmanız mümkün mü?

Tabiki hayır, arada adapazarı var bolu var düzce var yani 0 ve 1 arası değerlerde var.

Bu değerleri aşıp 1'e ulaşmanıza yükselen kenar dersek, istanbula dönerken gerçekleşen olaya da düşen kenar diyebiliriz.

Biliyorum pek güzel bir örnek olmadı ama gecenin bu saatinde anca bunu bulabildim, idare edin hocam :D

İyi çalışmalar.
Dünyada iki şey sonsuzdur. İnsanın aptallığı ve evren. Ancak ikincisinden o kadar emin değilim... (Einstein)

Analyzer

Selam,

Cevaplar için teşekkür ederim. Sizden gerçek bir uygulama örneği isteyebilirmiyim? Nerelerde kullanılıyor yükselen ve alçalan kenar kontaklar?

Teşekkürler,

Analyzer
Üşeniyorum, öyleyse yarın!

asm_Coder

Kalıcı bir butonunun olduğunu düşün. Bu butonu çevirdiğinde sadece ilk anda motora hareket verilecek ve bununla beraber bazı değişkenler için değerler ayarlanacak sonrasında program bu işlemı tekrer yapmayacak diğer işlemler ile meşgul olacak. Böylelikle hem cycle time dan kazan mıs olursun hemde ilk anda yapılmasını istediğin işlemleri sadece ilk anda yaptırmış olursun. Yada söyle düşün Operator paneli üzerinden bir tuşa bastın ve yenı bir sayfa açıyorsun bu sayfa ilk acıldığı anda bazı işler yaptırılıp daha sonra bu işlemler tekrar yapılmaz

C için basit bir kod

_CYCLIC void cyclic(void)
{
   /*input isimli değişkenin durumu clock sinyali olarak atanıyor */
   F_TRIG_01.CLK = input;

   /* fonksiyon çağrılıyor */
   F_TRIG(&F_TRIG_01);

   /* input sinyalinin düsen kenarında output degiskeni set ediliyor*/
   output = F_TRIG_01.Q;

  if (output == 1)
  {
     
     output == 0;
     motor = 1;      /* Motora hareket veriliyor*/
     screen = 10;    /* Ekarnın 10 ncu sayfası açıçıyor*/
     katsayı = b*c;  /* Katsayı değeri hesaplanıyor*/

  }


}

Yada yükselen kenar için


_CYCLIC void cyclic(void)
{
   /*input isimli değişkenin durumu clock sinyali olarak atanıyor */
   R_TRIG_01.CLK = input;

   /* fonksiyon çağrılıyor */
   R_TRIG(&R_TRIG_01);

   /* input sinyalinin düsen kenarında output degiskeni set ediliyor*/
   output = R_TRIG_01.Q;

  if (output == 1)
  {
     output == 0;
     motor = 1;      /* Motora hareket veriliyor*/
     screen = 10;    /* Ekarnın 10 ncu sayfası açıçıyor*/
     katsayı = b*c;  /* Katsayı değeri hesaplanıyor*/

  }

}

Bu andan sonra output değişkeni, input değişkeni 0 olup  tekrar 1(düşen kenar için tam tersi) oluncaya kadar asla 1 olmaz
y=f(x);

z

Yukselen kenar ve alcalan kenardan anlasilacak sey  adi ustunde.

0 seviyesindeki sinyal 1 seviyesine cikarken, tam bu an yukselen kenardir.

Tersine, 1 seviyesindeki sinyal 0 seviyesine inerken  tam gecis ani dusen kenara denk gelir.

Flip floplarin clock sinyalleri kenarlardan etkilenir.

Ornegin;

Yukselen kanarli,  D tipi bir FF'un data D girisine 1 vermis olun. Bu esnada CLock H yada L olsun. D girisini ne yaparsaniz yapin Q cikisi degismez.

Ayni sekilde Clk girisini H dan L a dusurmeniz de cikisi degismez. Ne zaman Clk sinyali Low dan High degerine ziplar iste tam bu esnada D girisindeki bilgi Q cikisina yansir. Artik Clk H olsada i D girisindeki veriyi degistirmeniz Q cikisini etkilenmez.

Islemcilerin kenara duyarli girisleri varsa bu girislere tepki, sinyalin inen yada yukselen kenarinda verilir. Hangisi oldugu veri kitapciginda belirtilir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

byka

bunu en güzel dijital osilaskopla görebilirsin hocam

scope un kendi üzerindeki test sinyali olan 1khz i time/div i acarak ölç

sinyalin 0 dan 1 e yükselme zamanını ölç mesela.bir aralar bir arızada bundan faydalanmıstım.
DWIN LCD Satış Türkiye email:info@kamantek.com  web:http://www.kamantek.com/shop/index.php

OG

Ben de yapılmış açıklamaları resim ile destekleyeyim.

Kırmızı ok Yükselen Kenarı Gösterir
Yeşil Ok Alçalan Kenarı Gösterir

Bazı sayısal hücreler (flip flop, ram vs) yükselen kenar anında iş yapar bazıları alçalan. Bazıları da yapacağı işi böler, sinyal yükselirken işinin bir kısmını, sinyal düşerken diğer kısmını yapar. Mesela girişteki datayı sinyal yükselirken dikkate alır, sinyalin düşüşünde de gereken çıkışı verir.

FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

CaFFeiNe

Alıntı yapılan: "Analyzer"Selam,
Nerelerde kullanılıyor yükselen ve alçalan kenar kontaklar?
bu yükselen alçalan kenarlar farkında olmasakta her yerde var ve olmak zorundada zaten
örneğin basit bir buton kontaktör kumanda devresinde butona bastığın anda bir yükselen kenar olayı bıraktığın anda ise alçalan kenar olayı gerçekleşir tabiki bu durum çok çok kısa sürer belki mikrosaniyeler belki nanosaniyeler mertebesinde
işlemlerde bu esnada olur mesela butona bastığın ANDA (yükselen kenar) kontaktör çeker bıraktığın ANDA (alçalan kenar) kontaktör bırakır gibi
buton bırakılmış veya basılmış vaziyette iken kontaktörün durumunda değişme olmaz sadece butonun basıldığı veya bırakıldığı ANDA kontaktör durum değiştirir yani yükselen alçalan kenarlarda

passwordc

Aşağıdaki gibi bir programımız olduğunu düşünelim. Programın icrasında;
Eğer I0.0 H (High) seviyesine gelmişse "Positive Edge" komutu bunu algılayıp Q0.0 çıkışını sadece 1 döngü boyunca mantık H seviyesine yükseltip sonunda tekrar mantık L (Low) seviyesine düşürecektir.

---------------------------------------------------------
NW-01

|     I0.0         M0.0            Q0.0
|-----| |---------(P)------------( )-----|
|

---------------------------------------------------------


PLC bunu nasıl yapıyor? Sorusuna gelecek olursak aşağıdaki program Positive Edge komutunun eşdeğer devresidir. Bu eş değer devreyi açıklayacak olursak;

---------------------------------------------------------
NW-01

|     I 0.0        M 0.0          Q 0.0
|-----| |---------|/|------------( )-----|
|

---------------------------------------------------------
NW-02

|     I 0.0                          M 0.0
|-----| |------------------------( )-----|
|

---------------------------------------------------------
NOT: PLC programı işlemlerini 3 adımda icra eder;
        1. Girişleri oku (Giriş Görüntü belleğinden veriyi al.)
        2. Programı GGB aldığın bilgilere göre icra et ve sonuçları ÇGB (Çıkış Görüntü belleğine yaz)
        3. ÇGB bilgileri çıkışlara yaz.
                   Döngüye devam et....

1- I0.0 girişinin mantık L durumunda olduğunu düşünelim. Buna göre çıkışda mantık L durumunda olacaktır.

2- Eğer I0.0 mantık H durumuna yükselmişse, işlem M0.0 mantık L durumunda olduğundan ve NW-01 içerisinde de MC kontağı kullanıldığı için çıkış yani Q0.0 mantık H durumuna yükselecektir. Dikkat edilmesi gereken henüz işlem sonucunun ÇGB yazılmış olmasıdır. Daha sonuçlar çıkışlara aktarılmadı.
   NW-02 de ise I0.0 mantık H seviyesinde olduğu için M0.0 bitini mantık H seviyesine yükseltecektir.
   Program akışı tamalandığı vakit PLC 3. adıma geçerek ÇGB bilgileri çıkışlara yazar. Böylece çıkışımız mantık H durumuna yükselmiş olur.

   Program akışı 2. döngüye geldiğinde NW-01 içerisindeki M0.0 bitinin NC si mantık H seviyesinde olduğu için sonucu mantık L seviyesine düşürecektir. Bu sonuç ÇGB ne yazılır. NW-02 halen daha I0.0 mantık H seviyesinde olduğundan (elimizi butondan kaldırmadığımızı düşünüyoruz) sonucu H olarak hesaplar.
   PLC 3. adıma geldiğinde ÇGB bilgiler çıkışlara yazılır. Ama NW-01 içerindeki durum mantık L olduğu için çıkışımız elimizi butonadan kaldırıp tekrar basına kadar L durumunda kalacaktır.

Positive Edge komutunun çalışma prensibi bu şekilde olmaktadır. Negative Egde ise bunun tersi olmala beraber PLC içerisndeki işleri oldukça kolaylaştırmıştır.

Yardımcı oldu ise ne mutlu.