TONOF Timer lazım

T1.Q ve T2.Q paralel bağlanırsa bu noktadan istediğiniz çıkışı elde edersiniz gibi görünüyor(T2.IN := T1.Q yine). İkinci aralıkta IN sinyalinin düşüşü ne kadar bir sürelik orası önemli tabi, T2 süresinden kısa ise sorun yok, ama T2'den büyük ise çıkışı kesecek.
Bu şekilde de olmuyor, ayrıca düşüş süresi T(anlık) < T2 ve T(anlık) < T1 şartı var.
T1 ve T2 ms olarak nedir?
Filtre süreleri yani T1 ve T2 süreleri değişken olabilir. Yani T1>= T2 veya T1 =< T2 olabilir.
1733807157013.png

Geniş bir zamanda akümülatör olayına bakacağım.
 
Son düzenleme:
Kodu library den aldım, bu timer TON_Time:= 0 girilirse TOF modunda çalışıyor veya TOF_Time := 0 girilirse TON modunda çalışıyor. İkisinde de bir değer varsa TON ve TOF modu devreye giriyor.

Kod:
FUNCTION_BLOCK TONOF
VAR_INPUT
    Input:BOOL;  // Giriş Sİnyali
    TON_Time, TOF_Time :TIME; // TON TOF zamanları örneğin T#1s
END_VAR

VAR_OUTPUT
   Q :BOOL; // Çıkış
END_VAR

VAR
   TON_Timer :TON;
   old, mode   : BOOL;
END_VAR

Kod:
    IF Input  XOR old THEN
        TON_Timer(IN:=FALSE , PT:= SEL(Input, TOF_Time, TON_Time ));
        mode     := Input;
        old         := Input;
    END_IF;

    TON_Timer( IN := TRUE);
   
    IF TON_Timer.Q THEN
        Q := mode;
    END_IF;
 
ladder çözümüm ektedir.
isteneni karşılamıyorsa üzerinde çalışmak isterim.
 

Ekli dosyalar

  • tontof3.pdf
    99.8 KB · Görüntüleme: 4

Forum istatistikleri

Konular
130,074
Mesajlar
932,832
Kullanıcılar
453,075
Son üye
GpuAndCpu

Yeni konular

Geri
Üst