Programımız otomatik olarak şu şekilde çalışacaktır. PLC ‘ye enerji gelir gelmez öncelikle 3 saniye kırmızı ışık, ardından 1 saniye sarı ışık, ardından 2 saniye yeşil ışık yanacak ve döngü başa dönerek bu şekilde devam edecektir. Ladder diyagramı oluşturunuz.
Evet öncelikle kendimiz yapmaya çalışalım.
Çözüm
Öncelikle bir tag tablosu oluşturalım sinyal adında. Tüm çıkışlarımızı burada isimlendiriyoruz.
Ardından İlk iş olarak TON zamanlayıcı ekliyoruz. Networklerimize bir zamanlayıcı ekleyelim ve ışıklarımızı ekleyelim
Evet şuan için programımız bu şekilde. Şimdi ise fasuleyenin faydalarına geliyoruz 🙂 Öncelikle nasıl bu işi gerçekleştirebiliriz düşünelim toplamda 6 saniyeye ihtiyacımız var, ilk 3 saniye kırmızı ışık ardından 2 saniye sarı ışık ardından 2 saniye yeşil ışık yanacak.
Bu noktada kafamda bir ampul yanıyor, bizler bu zamanlayıcıların sürelerini hafıza alanlarına kaydetmiyor muyduk ? evet. Peki bu hafıza alanlarını karşılaştırıcı komutlarla da yazamıyor muyduk ? evet. O zaman geriye sadece helva yapmak kalıyor … Nasıl yani ? Hemen gösterelim 🙂
Tüm lambaların önüne Zamanlayıcı dan gelen süreyi bilen ve karşılaştıran karşılaştırıcı komutları ekliyorum şöyle
Bir adet küçük eşit karşılaştırma komutu ekledim. Timer dan gelen veri 3 e eşit ve küçükse çıkış versin değilse çıkış vermesin istiyorum. Üst taraftaki değere…
Tıklayıp sağ taraftaki kutucuğu seçtiğimde TİMER DM yani timer data block değerinin gelmesini istiyorum. Hangi değer diye soracak. Tabi ki anlık değer olan ET değeri olmasını istiyoruz
Ve artık komutun alt satırındaki karşılaştırılacağı değeri yazmamız gerekiyor ona da “3s” yazıyoruz. Dikkat edelim 3 değil, 3s yani birimi belirtmemiz gerekiyor
Evet güzel oldu
Şimdi sırada sarı ışık var, sarı ışık sadece bir saniye yanacak o halde buraya iki adet önerme koyabiliriz, 3ten büyük, 5 ten küçük evet.
Yine süreleri belirtirken 3s diye yazmayı unutmuyoruz
Ve son ışığımız yeşil ışık toplam 2 saniye yanacak bu yüzden ona 5 e eşit ve büyükse karşılaştırıcı komutunu koyuyoruz.
Önemli !
Şimdi burada herşey normal gözükse de program bizde sonsuz döngü olmasını istiyor yani 6. saniyeden sonra başa dönmesi isteniyor. O yüzden bizim Zamanlayıcımızı başa döndürmemeiz lazım bunu nasıl yaparız ?
Şöyle düşünelim işimiz 7 saniyelik, 7. saniyeden sonra başa dönsün istiyoruz O halde bizler 7. saniyeye geldiğimizde TON zamanlayıcının girişini kesebiliriz. Nasıl keseriz. Şöyle ki: Kendi kontağı üzerinden
7. saniye girişini açacagı için kendi kendini resetleyecektir. Timer’ın Q normalde kapalı kontagı üzerinden kendisini resetlemesini sağlıyoruz.
Veya burada karşılaştırma komutu da kullanabilirdik.
Programı çalıştırıyoruz
evet çalıştı.