Scl Programlama Dili If Koşulu | Tia Portal

SCL Programlama Dilinde If Koşulu | TIA Portal
Scl Programlama Dili If  Koşulu | Tia Portal

Programlamaya yeni başlayan biriysen, "if" ifadesi karşına çıkacak en temel ve en önemli yapı taşlarından biri. Belki şu an "Bu ne işe yarar?" diye düşünüyorsun, ama merak etme, bu makalede "if"i sana bir arkadaşın anlatır gibi, adım adım, en basit haliyle açıklayacağım. Önce "if"in mantığını günlük hayattan örneklerle kavrayacağız, sonra TIA Portal SCL programlama dilinde PLC’lerde nasıl kullanıldığını detaylıca ele alacağız. Kahveni al, rahatça otur ve bu yolculuğa başlayalım!

1. If Koşulunun Mantığını Anlamak

1.1 If Nedir?

"If" kelimesi İngilizce’de "eğer" demek. Programlamada ise bir şeyin olup olmadığını kontrol etmek için kullandığımız sihirli bir araç. Diyelim ki bir karar vermen lazım: "Eğer bugün hava yağmurluysa şemsiye alacağım." İşte "if" tam da bunu yapıyor; bir koşulu kontrol ediyor ve ona göre ne yapacağına karar veriyor.

Günlük hayatta sürekli "eğer"li kararlar veririz:

  • "Eğer param varsa sinemaya giderim."
  • "Eğer saat 8’i geçtiyse kahvaltı yapmam."

1.2 If Nasıl Çalışır?

"If" bir soru sorar: "Bu koşul doğru mu?" Eğer cevap "Evet"se (yani true), bir şeyler yapar. Cevap "Hayır"sa (yani false), ya hiçbir şey yapmaz ya da başka bir şey yapar. Bu kadar basit!

Bunu bir şemayla düşünelim:

Eğer (koşul doğru mu?) → Evet → Bir şey yap
                       → Hayır → Ya hiçbir şey yapma ya da başka bir şey yap

Mesela, bir kod yazalım (şimdilik basit bir dille):

if hava == "yağmurlu":
    print("Şemsiye al!")

Bu kod ne diyor? "Hava yağmurlu mu? Evetse, ekrana 'Şemsiye al!' yaz." Eğer hava yağmurlu değilse, hiçbir şey olmaz.

1.3 Else ve Else If Nedir?

Hayatta her zaman tek bir seçenek olmaz, değil mi? Mesela:

  • "Eğer hava yağmurluysa şemsiye alırım."
  • "Ama yağmurlu değilse, şemsiyesiz çıkarım."

İşte burada "else" devreye giriyor. "Else" demek "eğer değilse" demek.

Bir de bazen birden fazla olasılık olur:

  • "Eğer hava yağmurluysa şemsiye alırım."
  • "Eğer karlıysa mont giyerim."
  • "Hiçbiri değilse tişörtle çıkarım."

Bu durumda "else if" (veya bazı dillerde "elif") kullanıyoruz.

Örnek bir kod:

hava = "güneşli"
if hava == "yağmurlu":
    print("Şemsiye al!")
elif hava == "karlı":
    print("Mont giy!")
else:
    print("Tişört yeter!")

Çıktı ne olur? "Tişört yeter!" Çünkü hava "güneşli" ve diğer koşullar doğru değil.

1.4 Koşulları Birleştirmek

Bazen tek bir şey yetmez. Mesela:

  • "Eğer hava güneşliyse ve saat 15:00’tan önceyse pikniğe giderim."

Burada "ve" (programlamada &&) iki koşulun birden doğru olmasını ister. Bir de "veya" (programlamada ||) var:

  • "Eğer hava güneşliyse veya param bolsa pikniğe giderim."

Bu durumda birinin doğru olması yeter.

Örnek:

hava = "güneşli"
saat = 14
if hava == "güneşli" and saat < 15:
    print("Pikniğe gidiyorum!")
else:
    print("Evde kalıyorum.")

Çıktı: "Pikniğe gidiyorum!" Çünkü hem hava güneşli hem de saat 15’ten küçük.

2. If Mantığını Kavratmak: Biraz Oyun Oynayalım!

Şimdi "if"in mantığını iyice anlaman için seni küçük bir oyuna davet ediyorum. Sana durumlar vereceğim, sen de "if"le ne olacağını söyleyeceksin. Hazır mısın?

Durum 1: Markete Gitmek

Cüzdanında 20 lira var. Eğer 15 liradan fazlaysa süt alırsın, yoksa almazsın.

  • Cevabın ne olurdu?

Doğru cevap: "20 lira, 15’ten büyük, o yüzden süt alırım."

Durum 2: Alarm Kurmak

Saat şu an 22:00. Eğer saat 21:00’den sonraysa alarmı 07:00’ye kurarsın, yoksa kurmazsın.

  • Ne dersin?

Doğru cevap: "22:00, 21:00’den büyük, o yüzden alarmı 07:00’ye kurarım."

Durum 3: Yemek Yapmak

Evde 2 yumurta var. Eğer 3 yumurtadan azsa makarna yaparsın, yoksa omlet yaparsın.

  • Senin kararın?

Doğru cevap: "2 yumurta, 3’ten az, o yüzden makarna yaparım."

Bu oyunla neyi fark ettin? "If" bir karar verme makinesi gibi! Bir şeyi kontrol ediyor ve ona göre bir yol seçiyor. Artık mantık kafanda netleştiyse, işin teknik kısmına geçelim: TIA Portal SCL’de "if" nasıl kullanılır?

3. TIA Portal SCL’de If Kullanımı

TIA Portal, Siemens’in PLC’ler (Programlanabilir Lojik Kontrolörler) için geliştirdiği bir yazılım. SCL (Structured Control Language) ise bu ortamda kullanılan, Pascal’a benzeyen bir programlama dili. PLC’ler fabrikalarda, makinelerde, otomasyon sistemlerinde kullanılır ve "if" burada çok önemli bir rol oynar. Neden mi? Çünkü bir makinenin ne zaman çalışıp ne zaman duracağına karar vermek için koşulları kontrol etmemiz lazım.

3.1 SCL’de If’in Temel Yapısı

SCL’de "if" şu şekilde yazılır:

IF koşul THEN
    // Koşul doğruysa burası çalışır
END_IF;

Basit bir örnek: Bir tankın su seviyesi 90’dan büyükse bir valfi kapatalım.

IF waterLevel > 90 THEN
    valve := FALSE; // Valf kapanır
END_IF;
  • waterLevel: Tanktaki su seviyesini ölçen bir sensörden gelen değer.
  • valve: Valfi açıp kapatan çıkış (TRUE = açık, FALSE = kapalı).

3.2 Else ve Else If ile Daha Fazla Kontrol

Tek bir koşul yetmeyebilir. Mesela:

  • Su seviyesi 90’dan büyükse valf kapansın.
  • 50 ile 90 arasındaysa bir uyarı verilsin.
  • 50’den küçükse valf açılsın.

Bunu SCL’de şöyle yazarız:

IF waterLevel > 90 THEN
    valve := FALSE;    // Valf kapanır
    warning := FALSE;  // Uyarı kapalı
ELSIF waterLevel >= 50 AND waterLevel <= 90 THEN
    valve := TRUE;     // Valf açık
    warning := TRUE;   // Uyarı ver
ELSE
    valve := TRUE;     // Valf açık
    warning := FALSE;  // Uyarı kapalı
END_IF;
  • ELSIF: "Else if" yerine kullanılır, ikinci bir koşulu kontrol eder.
  • AND: İki koşulun birden doğru olmasını sağlar.

3.3 Gerçek Bir PLC Uygulaması

Şimdi gerçek hayattan bir örnek yapalım. Diyelim ki bir konveyör bandın var. Bir sensör, bandın üzerinde bir kutu algıladığında motoru durdurmak istiyorsun. Kod şöyle olur:

VAR
    sensor : BOOL;   // Sensör durumu (TRUE = kutu var, FALSE = kutu yok)
    motor : BOOL;    // Motor çıkışı
END_VAR

IF sensor = TRUE THEN
    motor := FALSE;  // Kutu varsa motor durur
ELSE
    motor := TRUE;   // Kutu yoksa motor çalışır
END_IF;

Bu kod ne yapıyor? Sensör "TRUE" sinyali verdiğinde (yani kutu algılandığında) motor duruyor. Sensör "FALSE"sa (kutu yoksa) motor çalışıyor.

3.4 Biraz Daha Karmaşık Bir Örnek

Bir fabrikada sıcaklık ve basınç kontrolü yapalım:

  • Sıcaklık 70°C’den büyükse VE basınç 5 bar’dan büyükse sistem dursun.
  • Sıcaklık 50-70°C arasındaysa bir fan çalışsın.
  • Diğer durumlarda normal çalışsın.

Kod:

VAR
    temperature : REAL;  // Sıcaklık (derece)
    pressure : REAL;     // Basınç (bar)
    systemOn : BOOL;     // Sistem durumu
    fan : BOOL;          // Fan çıkışı
END_VAR

IF temperature > 70 AND pressure > 5 THEN
    systemOn := FALSE;  // Sistem durur
    fan := FALSE;
ELSIF temperature >= 50 AND temperature <= 70 THEN
    systemOn := TRUE;   // Sistem çalışır
    fan := TRUE;        // Fan çalışır
ELSE
    systemOn := TRUE;   // Sistem çalışır
    fan := FALSE;       // Fan durur
END_IF;

Burada:

  • REAL: Ondalık sayılar için kullanılan veri tipi.
  • AND: İki koşulun birden doğru olması lazım.

3.5 PLC’de If Kullanırken Nelere Dikkat Edilmeli?

  1. Değişken Tanımlama: SCL’de her değişkeni (örneğin INT, BOOL, REAL) önceden tanımlaman gerek. Yukarıdaki VAR ... END_VAR kısmı bunun için.
  2. Döngüsel Çalışma: PLC sürekli bir döngüde çalışır (scan cycle). Yani "if" her döngüde tekrar kontrol edilir. Bu yüzden sensör değerleri sürekli güncel olmalı.
  3. Hata Ayıklama: TIA Portal’da simülasyon özelliği var. Kodunu test etmeden PLC’ye yükleme, önce sanal ortamda dene!
  4. SCL’ye Özgü Detaylar: Bazı dillerde "else if" elif olurken, SCL’de ELSIF yazılır. Ayrıca her "if" bloğu END_IF; ile bitmeli.

4. If’i Hayata Uygulamak: Sen de Denemelisin!

Şimdi sıra sende! Bir makineyi durdurmak için "if" kullanarak bir kod yazmayı dene. Mesela: "Bir düğmeye basıldığında makine dursun." Benim önerdiğim çözüm:

VAR
    button : BOOL;   // Düğme girişi
    machine : BOOL;  // Makine çıkışı
END_VAR

IF button = TRUE THEN
    machine := FALSE;  // Düğmeye basılırsa makine durur
ELSE
    machine := TRUE;   // Düğme basılı değilse makine çalışır
END_IF;

Senin fikrin ne? Farklı bir koşul eklemek ister misin?

5. Sonuç ve Özet

Bu makalede "if"i sıfırdan öğrendik. Önce günlük hayattan örneklerle mantığını kavradık, sonra TIA Portal SCL’de PLC’lerde nasıl kullanıldığını gördük. Şunları öğrendik:

  • "If" bir koşulu kontrol eder ve ona göre bir şey yapar.
  • "Else" ve "else if" ile alternatif yollar ekleyebiliriz.
  • PLC’de "if" sensörler ve çıkışlarla makineleri kontrol eder.

Şimdi TIA Portal’ı açıp kendi küçük projeni yapmaya ne dersin? Mesela bir lambayı açıp kapatan bir kod yazabilirsin. Eğer takılırsan, bana sor, beraber çözelim! 😊

Ekstra: Biraz Motivasyon

Programlama öğrenmek bazen zor gelebilir, ama "if" gibi temel taşları anladığında gerisi çorap söküğü gibi gelir. Bu makaleyi 20 dakikada okuduysan ve bir şeyleri kafanda oturttuysan, aferin sana! Şimdi kahveni bitir ve klavyenin başına geç.

  • If Koşulu Nasıl Çalışır? Simülatör ile Bakalım

  • Notlar ve Doğrulama: Teknik veriler Siemens resmi TIA Portal dokümantasyonu ve IEC 61131-3 standardından teyit edildi. SCL örnekleri TIA Portal V18 ile uyumludur.

    Yorumlar