LADDER'da if else

Başlatan Silas, 13 Kasım 2013, 09:06:01

Silas

merhabalar. henüz öğrenciyim ve PLC'yi öğrenmek istiyorum. dökümanlar okuyorum, proje yapmaya çalışıyorum. bu projeleri şimdilik LAD'da yazıyorum. ve sanırım biraz kısıtlı imkanları var LAD'ın.

Şöyle ki; şu sıralar uğraştığın bir asansör projesi var, bu proejede eğer 2. ve 3. katlara basılmışsa asansörün önce 2. kata sonra da 3. kata gidip işlem yapmasını istiyorum. bunu if else kullanarak yapmam mümkün mü? C'de filan böyle komutlar vardı, STL'de de var yanlış bilmiyorsam. fakat LAD'da bunu yapmak mümkün mü? bunu öğrenmek istiyorum. Yardımcı olabilir misiniz?

Teşekkür ederim...

rkinaci

Hangi PLC ve yazılımı kullanıyorsunuz?
Ne kadar bilirsen bil, söylediklerin karşındakinin anladığı kadardır!

Salih

Şöyle bir başlangıç yapmanı sağlayacak bir şeyler söyleyeyim.
Her kat için bir bit değişkeni tanımla.
İlgili kat çağrısı yapılınca ilgili biti set yap.
Kata gelindiğinde katla ilgili biti reset yap.
Kat ilgili değişken bit olduğu için ladder da direk kontak olarak kullanabilirsin.

elektrorazor

ladder de işlemler kısıtlı diye bir şey yok. kullandığın markaya göre değişir ama çok sayıda fonksiyon mevcut. mesela if komutunu ladder de açık kontak(NO) olarak düşün. 2. ve 3. kat için ard arda iki tane açık kontak koy. ikiside 1 olursa bunu yap gibi... sonra da denildiği gibi yardımcı röle vs. ler ile bit kontrolü yap.

Silas

Şu sıralar vizelere ağırlık verdim. vizelerden sonra ilk iş bu projeyi tamamlamak olacak.

hepinize çok teşekkür ediyorum... Vizelerden sonra gene sormaya devam edeceğim. Umarım cevaplarsınız. tekrar teşekkürler...

WorldWideWeb

Mantığı anlaman için 4 katlı bir asansörün basitçe tuşların birbirine karışmaması için bir şeyler yaptım. Hangi PLC'yi kullandığını bilmiyorum fakat DELTA PLC'de yaptığımı belirtirim. Zaten basit bir arayüzü var.

Dediğin şey çok farklı yollarla yapılabilir. Ben Sayıcılarla yaptım. sayıcısızda olabilen bir şey ama mantığı kafa karıştırabilir diye, daha basite indirgenmiş yolları seçmeden bir örnek hazırlamaya çalıştım.

Yaptığım şey ise; Düğmeye basmak, düğme bir yardımcı kontağı tetikliyor ve yardımcı kontakta çıkışları açıyor, çıkışlarla beraber, sayıcımda sayıyor, sayıcıların kontaklarınıda çıkışlara kapalı olarak koydum.  Yani sayıcı resetleninde diğer çıkışa geçmiş olacak ve çıkışlar karışmayacak.

Diğer bir yol istersen; Katların sensorlerını kullanabilirsin. Eğer katın düğmesine basılmışsa, O sensore okumasını söyle ve okuduğunda da o katta durmasını söylersen durur, Senin belirlediğin süre geçtikten sonra, kapısını kapatır ve hangi kattan çağırılmışsa veyahutta hangi kata gitmesi gerekiyorsa yoluna devam eder.

http://www30.zippyshare.com/v/62384801/file.html


Not; Programı test etmediğim gibi, verimli çalışacağını tam olarak bilmiyorum. Sadece aklımdan basit bir örnek yaptım. Algoritmada hatalar olabilir veyahutta 1,2,3'üncü katlara basıldığında 3,den 2 yi görmeden 1,inci kata inebilir. Bunlarıda sayıcılarla sensorlerle çözebilirsin.