CODESYS TEKNİK FORUM

PLC Programlama Nedir? Nasıl Öğrenilir? | Adım Adım Rehber

Konu detayları, medya içerikleri ve yanıtlar

1 yazı görüntüleniyor (toplam 1)
  • Yazar
    Yazılar
  • #278
    İlhan
    Anahtar yönetici

    PLC Programlama Nedir? Nasıl Öğrenilir? | Adım Adım Rehber

    PLC programlama, endüstriyel makinelerin hangi koşullarda nasıl çalışacağını belirleyen kontrol yazılımlarının geliştirilmesidir. Sensör, buton ve diğer girişlerden gelen bilgiler bir PLC programında değerlendirilir; sonuçlara göre motor, pompa, valf veya ikaz lambası gibi ekipmanlar kontrol edilir.

    PLC programlamaya başlamak için önce temel giriş-çıkış mantığını öğrenmek, ardından Ladder Diagram (LD) veya Structured Text (ST) ile basit uygulamalar geliştirmek gerekir. Bu rehberde, PLC programlama nedir, nasıl yapılır ve sıfırdan nasıl öğrenilir? sorularını adım adım cevaplıyoruz.

    PLC programlama öğrenme yol haritası: Temeller, Ladder ve Structured Text, simülasyon ve gerçek uygulama

    PLC Programlama Nedir?

    PLC programlama, bir makinenin çalışmasını yönetmek amacıyla kontrol algoritmasının PLC’nin desteklediği geliştirme ortamında hazırlanması, derlenmesi, test edilmesi ve uygun cihaza yüklenmesidir. Program; koşullar, zamanlayıcılar, sayaçlar, matematiksel işlemler ve haberleşme fonksiyonları içerebilir.

    PLC’nin ne olduğunu ve temel çalışma prensibini henüz bilmiyorsanız önce PLC Nedir? Ne İşe Yarar ve Nasıl Çalışır? rehberimizi okuyabilirsiniz. Bu yazı, o temel bilgilerin üzerine programlama aşamalarını ekler.

    PLC Programlama Ne İşe Yarar?

    PLC programı, makinedeki işlemlerin belirlenen koşullarla ve istenen sırayla yürütülmesini sağlar. Örneğin aşağıdaki işlevler gerçekleştirilebilir:

    • Start ve Stop butonlarıyla motor çalıştırma ve durdurma.
    • Konveyör hattında ürün algılama ve sayma.
    • Depo alt ve üst seviye sensörleriyle pompa kontrolü.
    • Zamanlayıcı (TON, TOF) ve sayaç (CTU, CTD) uygulamaları.
    • Analog sensörlerden sıcaklık, basınç veya seviye ölçümü.
    • HMI ve SCADA sistemlerine durum ve alarm bilgilerinin aktarılması.
    • Uygun haberleşme altyapısıyla sürücü, servo ve uzak I/O cihazlarının yönetimi.

    Programlama sayesinde sistem davranışı, uygun testler ve güvenlik önlemleriyle yazılım üzerinden geliştirilebilir. Ancak güvenlik fonksiyonları yalnızca sıradan PLC programına bırakılmamalıdır.

    PLC Programlama Nasıl Yapılır?

    Gerçek bir PLC projesinde doğrudan kod yazmaya geçmek yerine önce kontrol senaryosu açıklığa kavuşturulur. Temel iş akışı şöyledir:

    1. Çalışma senaryosunu belirleme

    Makinenin hangi şartlarda başlayacağı, ne zaman duracağı, hangi arıza ve uyarı durumlarının izleneceği yazılır. Örneğin: “Start isteği varsa, durdurma veya arıza isteği yoksa motor komutu aktif olsun.”

    2. Giriş ve çıkış listesini hazırlama

    Butonlar, sensörler, valfler, kontaktörler ve diğer saha ekipmanları belirlenir. Dijital girişler (DI), dijital çıkışlar (DO), analog girişler (AI) ve analog çıkışlar (AO) proje gereksinimlerine göre listelenir.

    3. PLC modelini ve yazılımını seçme

    Kullanılacak PLC’nin giriş-çıkış kapasitesi, haberleşme protokolleri, uygulama gereksinimleri ve desteklediği programlama ortamı kontrol edilir. Her PLC, her programlama yazılımıyla uyumlu değildir.

    4. Programı geliştirme

    Kontrol mantığı Ladder Diagram, Structured Text veya desteklenen başka bir dille oluşturulur. Değişkenler, fonksiyon blokları, zamanlayıcılar ve gerekli hata kontrolleri eklenir.

    5. Derleme, simülasyon ve test

    Kod derlenir ve hatalar düzeltilir. Simülasyon veya uygun test tezgâhında normal çalışma, durdurma, arıza ve beklenmeyen giriş durumları ayrı ayrı sınanır.

    6. Devreye alma ve doğrulama

    Uygun donanım bağlantıları ve güvenlik prosedürleri tamamlandıktan sonra yazılım PLC’ye yüklenir. Gerçek I/O eşleştirmeleri, cihaz tepkileri ve arıza senaryoları yetkili kişilerce doğrulanır.

    PLC Programlama Dilleri Nelerdir?

    PLC programlamada kullanılan temel diller, IEC 61131-3 standardı kapsamında ele alınır. Güncel IEC 61131-3:2025 standardında Structured Text (ST), Ladder Diagram (LD) ve Function Block Diagram (FBD) tanımlanır; Sequential Function Chart (SFC) ise program ve fonksiyon bloklarının sıralı yapısını düzenlemek için kullanılır.

    Ladder Diagram (LD) Nedir?

    Ladder Diagram, elektrik kumanda devrelerindeki kontak ve bobin gösterimine benzeyen grafiksel bir dildir. Start-Stop devreleri, kilitlemeler ve temel mantıksal işlemler için yeni başlayanların sık tercih ettiği yöntemlerden biridir.

    Structured Text (ST) Nedir?

    Structured Text, metin tabanlı PLC programlama dilidir. IF, CASE ve FOR gibi yapılarla koşullu işlemler, hesaplamalar ve daha karmaşık algoritmalar yazılabilir. Değişken adları, veri tipleri ve kodun okunabilirliği önemlidir.

    Function Block Diagram (FBD) Nedir?

    FBD, mantıksal işlemlerin ve fonksiyon bloklarının bağlantılarla gösterildiği grafiksel programlama dilidir. Zamanlayıcılar, sayıcılar ve farklı kontrol işlevlerinin bloklarla birleştirilmesinde kullanılabilir.

    Sequential Function Chart (SFC) Nedir?

    SFC, adım ve geçiş koşullarından oluşan sıralı işlem akışlarının modellenmesine yardımcı olur. Örneğin dolum, karıştırma ve boşaltma aşamalarının sırayla çalıştığı bir makinede kullanılabilir.

    Hangi dil daha iyi? Tek bir doğru cevap yoktur. Basit kontak mantığında LD, yoğun hesaplama ve veri işlemlerinde ST, blok temelli kontrol için FBD, adım sıralaması gereken işlerde SFC uygun seçenekler olabilir. Üretici ve PLC modelinin desteklediği dillere bakılmalıdır.

    PLC Programlama Öğrenmek İçin Neler Gerekli?

    • Temel elektrik ve otomasyon bilgisi: Buton, röle, kontaktör, sensör ve 24 V DC devrelerin çalışma mantığı.
    • Bilgisayar: Seçilen geliştirme ortamının sistem gereksinimlerini karşılayan bir bilgisayar.
    • Programlama yazılımı: Çalışılacak PLC veya simülasyon hedefiyle uyumlu geliştirme ortamı.
    • Deneme projeleri: Start-Stop, trafik lambası, sayaç, konveyör ve depo dolum senaryoları.
    • Dokümantasyon: Kullanılan cihazın üretici kılavuzu, I/O bağlantıları ve yazılım yardım belgeleri.

    Fiziksel PLC şart mı? Temel yazılım mantığını öğrenmek için her zaman şart değildir. Uygun simülasyon desteğiyle giriş değerlerini değiştirmek, program akışını izlemek ve çıkış değişkenlerini kontrol etmek mümkündür. Ancak gerçek cihaz davranışının, elektriksel bağlantıların ve makine güvenliğinin tamamı simülasyonla doğrulanamaz.

    PLC Programlama Nasıl Öğrenilir? 6 Adımlı Yol Haritası

    Yeni başlayanlar için önerdiğimiz sıralama, zor konulara geçmeden temel bilgileri pekiştirmeyi amaçlar:

    1. PLC temelleri: CPU, giriş-çıkış modülleri, tarama döngüsü (scan cycle) ve dijital sinyaller.
    2. Temel mantık: AND, OR, NOT, kilitleme, kenar algılama ve güvenli durdurma prensipleri.
    3. Ladder veya ST: Tek bir dilde basit komutları öğrenip küçük programlar yazma.
    4. Zamanlayıcı ve sayaçlar: TON, TOF, CTU gibi fonksiyon bloklarıyla uygulamalar geliştirme.
    5. Simülasyon: Değişkenleri izleme, farklı giriş senaryolarını deneme ve hata ayıklama.
    6. Gerçekçi proje: Konveyör, pompa veya karıştırma tankı gibi bir sistemi gereksinimleriyle birlikte tasarlama.

    Bir konuyu yalnızca okuyup geçmek yerine, aynı işlemi kendi başınıza programlayıp test etmeniz öğrenmeyi kalıcı hâle getirir.

    PLC Programlama Örneği: Structured Text ile Start-Stop

    Aşağıdaki basit örnek, bir motor komut değişkeninin Start isteğiyle aktif edilmesini ve Stop isteği veya arıza durumunda pasif edilmesini gösterir. Kod, bir eğitim örneğidir; gerçek motor kumandası için tek başına yeterli bir güvenlik çözümü değildir.

    PROGRAM PRG_MotorKontrol
    VAR
        StartIstek : BOOL;   // Start talebi TRUE ise
        StopIstek  : BOOL;   // Stop talebi TRUE ise
        Ariza      : BOOL;   // Ariza varsa TRUE
        MotorKomut : BOOL;   // Motor kontrol komutu
    END_VAR
    
    IF StopIstek OR Ariza THEN
        MotorKomut := FALSE;
    ELSIF StartIstek THEN
        MotorKomut := TRUE;
    END_IF;

    Örnek kod nasıl çalışır?

    • StopIstek veya Ariza TRUE olduğunda MotorKomut FALSE yapılır.
    • Bu iki koşul yokken StartIstek TRUE olursa MotorKomut TRUE olur.
    • Yeni bir Start veya Stop isteği yoksa MotorKomut önceki değerini korur.
    • Örnekteki değişkenler örnek mantık sinyalleridir; fiziksel giriş/çıkış adreslerine bağlanmamıştır.

    Önemli: StopIstek, fiziksel girişin doğrudan seviyesi değil, yazılımda tanımlanmış etkin durdurma talebidir. Normalde kapalı (NC) Stop butonu kullanılan gerçek kumanda devresinde sinyal eşlemesi ayrıca tasarlanmalıdır. Acil durdurma ve diğer güvenlik fonksiyonları, risk değerlendirmesine uygun güvenlik donanımıyla çözülmelidir.

    Codesys ile PLC Programlama Öğrenilir mi?

    Evet. Codesys 3.5, IEC 61131-3 tabanlı programlama dillerini destekleyen geliştirme ortamlarından biridir. Desteklenen hedef ve yapılandırmalarda Ladder Diagram, Structured Text ve fonksiyon bloklarıyla uygulamalar oluşturulabilir.

    Codesys’in simülasyon özelliği, uygun proje yapılandırmasında fiziksel bir kontrol cihazı bağlamadan programın çalışmasını ve değişkenlerin davranışını test etmeye yardımcı olur. Simülasyonun sınırları kullanılan bileşenlere ve uygulamaya bağlıdır.

    Adım adım videolu uygulama arayanlar için Codesys 3.5 PLC Programlama eğitimlerini inceleyebilirsiniz. Temel programlama mantığını öğrendikten sonra kendi senaryonuzu küçük bir proje olarak kurmanız faydalı olacaktır.

    PLC Programlamaya Başlarken Sık Yapılan Hatalar

    • Giriş-çıkış listesini hazırlamadan kod yazmak: Değişken karışıklığı ve yanlış eşleme oluşturabilir.
    • Stop ve arıza koşullarını atlamak: Normal çalışma dışında ne olacağını belirsiz bırakır.
    • Örnekleri test etmeden gerçek makineye yüklemek: Ekipmana veya personele yönelik riskler doğurabilir.
    • Her şeyi tek program bloğuna yazmak: Kodun okunmasını, bakımını ve test edilmesini zorlaştırabilir.
    • Simülasyonu gerçek devreye almanın yerine koymak: Saha kablolaması, emniyet ve fiziksel zamanlama gibi farkları gözden kaçırabilir.

    PLC Programlama Hakkında Sık Sorulan Sorular

    PLC programlama zor mu?

    Temel giriş-çıkışlar ve mantıksal işlemler öğrenildiğinde basit PLC programları oluşturulabilir. Haberleşme, hareket kontrolü ve proses otomasyonu gibi konular daha fazla teknik bilgi ve pratik gerektirir.

    PLC programlama öğrenmek ne kadar sürer?

    Bu süre kişinin elektrik ve otomasyon bilgisine, ayırdığı çalışma zamanına ve yaptığı uygulamaların kapsamına göre değişir. Düzenli küçük projeler üzerinde çalışmak, yalnızca video izlemekten daha verimlidir.

    PLC programlama için İngilizce bilmek şart mı?

    Başlangıçta Türkçe kaynaklardan yararlanılabilir. Ancak birçok üretici kılavuzu, hata mesajı ve yazılım yardımı İngilizce olduğundan temel teknik İngilizce bilmek avantaj sağlar.

    PLC programlama öğrenmek için PLC satın almak gerekir mi?

    Hayır, ilk aşamada uygun bir simülasyon ortamıyla temel kontrol mantığı öğrenilebilir. Gerçek bir makinede çalışma öncesinde saha bağlantıları ve güvenlik için ayrıca uygulamalı doğrulama gerekir.

    Ladder mı Structured Text mi öğrenmeliyim?

    Röleli kumanda devrelerine aşinaysanız Ladder başlangıçta kolay gelebilir. Metin tabanlı programlama ve algoritmalara yönelmek istiyorsanız Structured Text de iyi bir başlangıçtır. Uzun vadede iki yaklaşımı da anlayabilmek faydalıdır.

    Sonuç: PLC Programlama Öğrenmeye Nereden Başlamalı?

    PLC programlama öğrenmenin en sağlam yolu, PLC temelleri → giriş-çıkışlar → programlama dili → simülasyon → uygulama sırasını takip etmektir. Önce küçük ve doğrulanabilir kontrol senaryolarını tamamlayıp daha sonra kapsamlı projelere geçin.

    PLC programlamayla ilgili sorularınız için PLC Programlama forumunu ziyaret edebilir veya bu konuya yanıt yazarak takıldığınız adımı paylaşabilirsiniz.

    İlk denemek istediğiniz proje hangisi: Start-Stop motor kontrolü, trafik lambası, konveyör mü, depo dolum sistemi mi? Yorumlarda paylaşabilirsiniz.

    Teknik Kaynaklar

1 yazı görüntüleniyor (toplam 1)
  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.