Schneider Modicon Plc'lerde hız kontrol programlamaları nasıl yapılır?

Katılım
7 Kas 2007
Mesajlar
45
Puanları
1
Analog input kartına program yazmak istiyorum. Elimde bir altivar 71 var. Bununla pid kontrol yapıp plc'den kontrol ettirmek istiyorum. Bu konuda yardımcı olabilir misiniz?
 
Merhaba, uygulamayı yanlış anlamadıysam encoderdan alınan bilgi PLC'de işlenerek analog modül üzerinden sürücüye iletilecek ve sürücü içinde PID işlemi ile motor sürülecek öyle değil mi?

Bu durumda encoderın çıkışı PLC'deki hızlı sayma işlemine uygun girişe bağlanır. PLC içinde encoderdan alınan pulse bilgisi frekans yada devir/dk ya çevirilip analog kart üzerindeki çıkış kullanılarak sürücünün analog girişine bağlanır(analog modülde kullanılacak çıkışın değer aralığını da çözünürlükten dolayı sıkıntı yaşamamak için ayarlamalısınız). Altivar 71'de kullandığınız girişin türüne göre bu bilgiyi 4-20mA yada 0-10V olarak gönderebilirsiniz. Örneğin AI2 girişi akım ile çalışmaktadır, hangi akım değerleri arasında çalışmasını istiyorsanız onu giriş-çıkış ayarları menüsünden ayarlayabilirsiniz. Hız referansı beklenen giriş ile aynı giriş olmamasına yada öyle yapılacaksa ona göre ayar değişikliği yapmaya dikkat edin.
Fonksiyon blokları menüsü altında PID'de PLC üzerinden gelen encoder bilgisini bağladığınız analog girişi geribesleme referansı olarak seçmelisiniz. Geribesleme ve referans değerleri min olarak sıfır verilip max olarak da ikisi de aynı olacak şekilde (ör: 32767) ayarlanır. PID için setpoint dışarıdan verilecekse dahili setpoint ayarı da kapalı tutulur(bu durumda AI1'den setpoint bekler- o yüzden geribesleme referansı AI2den verilebilir). Bunlar sürücüdeki PID ayarları için yeterlidir. PLCden başlama durdurma işlemleri için sürücünün 24V çıkışı ile ilgili girişleri (ör: LI1) PLC'nin çıkış rölesine bağlanır.

Yapı kabaca bu şekilde diyebilirim, fazla basit olmuş olabilir, biraz temel olarak anlatmak istedim. Başka sormak istedikleriniz olursa bildiğim kadarıyla yardımcı olmaktan memnun olurum, iyi günler kolay gelsin.
 
Evet arkadaşım aynen anlattığın gibi birşeyler yapmayı düşünüyorum. Frekans konvertörünü plc ye bağlayıp burada gerekli dönüşümler için ve pid için program yazmak istiyorum ve set değerine göre motoru kontrol etmek istiyorum. Gerçek anlamda sıkıntı yaşadığım nokta,plc bölümü. Bununla ilgili örnek olarak bir plc programı bulabilirmiyim ya da sizde mevcutmudur? Basit bir şeyde olabilir, yalnızca bir yol gösterici bir çalışmada olabilir? Plc konusuna yeni başladım, basit uygulamalarda sıkıntım yok ama işler biraz karmaşıklaşınca yardıma ihtiyacım oluyor. Bu konuda da yardımcı olabilirseniz memnun olurum, olmazsa da sağlık olsun. Teşekkürler...
 
Anladım, ben teşekkür ederim. Ancak PID'nin yapılacağı yeri yanlış düşünmüşüm, sürücü sanmıştım ama siz PLC üzerinden PID yaptırmak istiyorsunuz. Zaten temelde aynı şey, encoderı okuyabilmek için gereken yüksek frekansa uygun girişler PLC üzerinde bulunduğu için(sürücüye özel bir kart takılmadıysa) encoder'ı oraya bağlayıp PID işlemini PLC içinde yapıp PID'nin sonucunu sürücüye gönderebileceğiniz gibi encoder bilgisini PLC'nin analog modülünden sürücüye gönderip orada da PID işlem yapabilirsiniz. PLC'niz hangi model bilmiyorum ama hazır bir blok vardır PID için, Twido'da var örneğin. Örnek bir program da hazırlayabilirim ama burda sözel olarak da yazayım şimdilik. Encoder'ın yüksek frekanslı pulse bilgisini okuyabilmek için fast yada very fast counter kullanmak gerekiyor. Bloğun ayarları yapılırken seçtiğiniz moda göre(yukarı, aşağı, çift yönlü veya frekans hesaplama modu gibi) örneğin I0.0 girişine encoder'ı bağlamanız gerektiğini söylüyor zaten(pulse input). Kablo bağlantısını ona göre yaptıktan sonra counter o pulse değerlerini sayıyor( sayma işlemini bir buton yada durum ile de başlatabilirsiniz). Setpointinizin frekans yada devir bilgisi olma durumuna göre sayıcının anlık değerini çarpma bölme işlemleriyle frekans yada devir/dakika şekline dediğiniz gibi dönüştürüp ona göre motoru sürebilirsiniz. PID ayarlarında her bir değişkeni bir MW(memory word, mword) üzerinden girmenizi isteyecektir, siz de setpointinizi, geribesleme yani encoder bilgisini(setpoint ile aynı birime çevirdikten sonra), oransal, integral ve/ya türev kazançlarının katsayılarını birer mword üzerinden PID bloğuna tanımlıyorsunuz, MW1de setpoint var gibi. PID işleminin sonucunu da atayacağınız bir mword üzeriden alıyorsunuz. Bunu da analog kartın istediğiniz çıkışına eşitlediğinizde frekans yada devir bilgisi, nasıl ayarladıysanız, analog kart üzerinden sürücüye iletiliyor. Yanlız dikkat edilmesi gereken şey, örneğin frekans bilgisi yolluyorsanız ve bu bilgi 0-50Hz arasında olacaksa, modülleri programa eklediğiniz sayfada o modülün ayarlarından kullanacağınız çıkışı da 0-50 arasına ölçeklemeniz ve 0-10V mu yoksa 4-20mA ile mi ileteceğnizi girmeniz gerekir(sürücüde bağlayacağınız girişe göre, dediğim gibi Altive71de AI1 gerilim AI2 ise akım üzerinden çalışmaktadır, fakat AI2 için ayarlardan normalde 0-20mA olan değeri 4-20mA'e ayarlamanız gerekebilir). Böylece 50 sayısı geldiğinde bunu maximum çıkış değeri olarak sürücüye iletecek ve o da bu max değer karşılığı olan HSP değerinde motoru çalışacaktır. Eksik kalan bir yer yada başka sormak istedikleriniz varsa açıklamaya çalışırım, kolay gelsin.
 
Teşekkürler kardeşim, az çok düşündüğüm yapıda şeyler yazmışsın,benim için aydınlatıcı oldu bu bilgiler. Bundan sonra tek sıkıntı programı yazmak olacak,onu da bir şekilde artık halletmeye çalışacağım.(bu arada untiy pro'da program yazıyorum, modicon quantum plc mevcut işyerinde) Biraz program yazımı araştırmasıyla halledebiliriz inş. Tekrardan sağol...
 
Rica ederim, yardımcı olabildiysem ne mutlu. Bu arada PLC derken Quantum beklemiyordum açıkcası:) Fazla basit kaldı anlattıklarım kusura bakmayın.. Ben Twido'ya göre anlattım. Unity pro da CoDeSys'e benzer bir ortam diye tahmin ediyorum, orada da CoDeSys'teki gibi bir PID fonksiyon bloğu vardır, ancak counter kısmından emin değilm, PLC üzerinde hızlı giriş elbette vardır onu programda direk normal bir counter'a bağlamak yeterli olur mu acaba, terminaldeki girişin hızlı saymaya müsait olması yeterli olur mu ondan emin değilim. Eğer öyleyse bir sorun yok gibi, sayıcıdan okuyup PID'ye de ilgili girişleri vermek ve sonucu analog kanaldan ATV71'e yollamak gerekiyor gibi. Bende ilgili kütüphaneler olmadığı için program örneği göndermem mümkün olamayacak. Daha önce gönderebilirim dediğim ise Twido içindi ki o da Unity ile çok farklı tabii.
Bu arada şöyle bir link buldum, belki işinize yarar, örnek bir program da var: http://v1.graybar.com/automation/ga...ing Unity Pro Counter Modules User Manual.pdf
 
Gönderdiğin dosyayı bir inceleyeceğim öncelikle... Bende bu plclerle ilgili konulara yeni başladığım için biraz ileri düzeye geçince sıkıntılar yaşıyorum. Programda ne yapabilirim, nasıl program yazabilirim, bağlantılar ne şekilde olmalıdır diye. Tabi kısa zaman içinde bir şeyler öğrenmek istediğimden kaynaklanan problemler aslında bunlar, bundan sonra artık biraz daha ağırdan alarak iyi bir araştırma yapmam gerekiyor, basit birkaç deneme yaptıktan sonra ileri seviyeye geçmek daha iyi olacak gibi. Daha önceden anlattıkların için bir kez daha teşekkür ediyorum,başarılar hayatta...
 
Çok teşekkür ederim, size de başarılar dilerim.

Destek veya eğitim ihtiyacınızda benim de eğitim almış olduğum OtomaSIS Otomasyon Sistemleri'nden faydalanabilirsiniz, ben çok memnunum, özellikle eğitmen Hasan BARAN çok bilgili, ilgilenirseniz tavsiye ederim..
 
teşekkürler verdiğin tavsiye için...Sitelerine baktım firmanın nerede oldukları hakkında bir bilgi yok,ben izmirde oturuyorum, böyle şeyler genellikle istanbulda oluyor:) Bir şekilde artık ya plc'yi kurcalayarak ya da dediğiniz gibi bir eğitim alarak gidereceğiz bu bilgi eksikliğini.
 

Forum istatistikleri

Konular
129,774
Mesajlar
929,978
Kullanıcılar
452,539
Son üye
cmllsb

Yeni konular

Geri
Üst