ST dilindeki IF-ELSIF-ELSE yapısı hakkında soru?

shox

Katılımcı Üye
Katılım
4 Tem 2007
Mesajlar
968
Puanları
56
Resimde görülen Ladder diyagramı ST ile nasıl yazabilirim? ( if,then, elsif v.s gibi)
Teşekkürler.

44.jpg
 
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
if- elsif-else yapısında öncelikli sorgulama sırasını bilmek çok önemlidir birçok kişi bu konuda hata yapabilir. Örneğin
Kod:
if   A=true   then      (* 1nci öncelikli sorgulama *) (* expression -1 *)
     islem := islem +1; (* 1nci Öncelikli işlem     *) (* Statement-1   *)
elsif B= true then      (* 2nci öncelikli sorgulama *) (* expression -2 *)
     islem := islem +2; (* 2nci öncelikli işlem     *) (* Statement-2   *)
else
     islem := 0;        (*yukarıdaki sorgulama sonuçları true degil ise *) (*Default statement *)
end_if

(islem :INT, A ve B: BOOL tipinde değişkenler olsun)
Şimdi yukarıdaki örnekte Sadece A=true ise islem sonucu birer birer artar.
Sadece B=true ise islem sonucu 2 şer ikişer artar.
A ve B aynı anda TRUE olursa, islem sonucu birer birer artar.(Burası çok önemli) if -elsif-else komutunda
en üstteki if satır sorguları altındakilerine baskındır, önceliklidir(!).
Else koşulu üstteki sorgulama sonuçlarından herhangi biri true degilse islem sonucu sıfırlanır.

if -elsif-else yapısının akış diyagramı aşağıdaki gibidir.

else-if-else-ladder-in-C-Programming-language.jpg
 
Son düzenleme:
Kod:
if(A or (B and C) or (D and E)) THEN
    Z:=TRUE;
ELSE
    Z:=FALSE;
END_IF;
@hkn_blt peki bu yazımda (A=True or (B=True and C=True) or (D=True and E=True)) şeklinde değişkenin TRUE olma şartını belirtmek gerekmiyor mu?

@elektronikmuh bilgi için teşekkür ederim. Gerçekten önemli bir durum. insana saç baş yolduracak cinsten :)
 
Hayır gerekmez içine yazdığınız da default olarak TRUE demektir zaten.
 

Forum istatistikleri

Konular
128,213
Mesajlar
915,861
Kullanıcılar
449,995
Son üye
osmanguney15

Yeni konular

Geri
Üst