S7 1200 de PİD ile Dc Motor hız Kontrolü

Katılım
24 Ağu 2012
Mesajlar
13
Puanları
1
Merhabalar Ödevim dc motor hız kontrolünü s7 1200 de pid ile yapmak.Motorun hızını HMI dan girip PİD ile istenen değerde tutmam gerekiyor. motorun sürücü devresini ve gerekli devreleri yaptım. enkoderden pulsları okuyabiliyorum acaba HSC de Count,frekans, axis seçeneklerinden hangisi ile hızı okunabilir ,hızlı sayıcı değerini hıza çevirme ve pid aşamaları nasıl yapmam gerekiyor.Danışman hoca motorun R L C değerlerini bilmem gerektiğini söyledi acaba buna gerek varmı? yardımlarınız için teşekkürler.


PLC :
CPU 1214 DC/DC/DC
AQ 6ES7 232-4HA30-0XB0

motor:
24v çift kanal optik enkoderli fırçalı dc motor,
enkoderde 80 çeltik var.
max 5000 (rpm)
 
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
hmi de sadece pid set değeri gireceksin bunu bir databloğa yazdır
encoder ile hızlı sayı fonks. kullanarak devir sayısını hesaplat ve bunu bir databloğa at bu bilgiyi pid bloğuna giriş olarak bağla

bu işlemler için kullanım klavuzunu netten bulabilirsin. ama türkçe kaynak yok

pid için yardım sayfası ektedir.
http://www.automation.siemens.com/m...c_s71200_sps/Documents/EN_M06_S7-1200_PID.pdf

sn korfez_ bu işlem için sürücüye gerek var mı?
 
Bu bir ödev işi olduğuna göre Bağlanacak motorun çekeceği akım büyük ihtimalle düşüktür fakat genede doğrudan plc çıkışından sürülemeyecektir. bu aşamada motor basit bir transistör üzerinden analog olarak sürülebilir ama benim tavsiyem motorun pwm ile sürülmesidir. Bu aşamada L298 tarzı bir motor sürücü daha iyi olacaktır diye düşünüyorum.
zaten kalan kısım bir encoder ve hızlı sayıcı devre ve programından ibaret.
 
Bu bir ödev işi olduğuna göre Bağlanacak motorun çekeceği akım büyük ihtimalle düşüktür fakat genede doğrudan plc çıkışından sürülemeyecektir. bu aşamada motor basit bir transistör üzerinden analog olarak sürülebilir ama benim tavsiyem motorun pwm ile sürülmesidir. Bu aşamada L298 tarzı bir motor sürücü daha iyi olacaktır diye düşünüyorum.
zaten kalan kısım bir encoder ve hızlı sayıcı devre ve programından ibaret.

sn korfez_
1.HMI kısmına "setpoint"i mi yoksa PID data bloğunun içindeki "s.RET.i_Mode" hücresini mi taşımalıyım?
2.Devir hesabını "en" girişine değil de sanırım "input" girişine bağlayacağız.doğru anlamış mıyım?
3. "HSC" komutunda "cv,rv" vb. komutlar var , biraz karıştırdım.Nasıl bir algoritma kurabilirim?
yardımcı olursanız çok sevinirim.
 
1- data bloktaki setpointi hmi ye taşımalıyız
2- devir hesabını bir fc içerisinde hazırlamalıyız ve pid geri besleme bilgisi olarak kullanacaz.
3-şu an elimde program yok deneyemiyorum ama alttaki link sanırım işinize yarayacaktır.
new_cv sonraki saymanın kaçtan başlayacağını belirtir. cw ise yeni sayma değerini aktifleştirme bitidir.
https://support.automation.siemens....objaction=csview&extranet=standard&viewreg=WW
 
ustadım prosesten sabit zaman aralıklarında veri okumak ve kontrol etmek vb. durumlar için PID yazıyoruz.Çünkü sistem kararlı çalışmalı.PID için çevrimsel kesme OB'si, HSC için de bir start OB'si oluşturup bunların içine yazmak, bir FC içine yazmaktan daha uygun olmaz mı sizce?
 
sn korfez_ vermiş olduğunuz link : plc resetlendiinde ya da enerji gittinde yazılması gereken durumla alakalı.Acaba özelden görüşmemiz mümkün mü bir ara?
 
ustadım prosesten sabit zaman aralıklarında veri okumak ve kontrol etmek vb. durumlar için PID yazıyoruz.Çünkü sistem kararlı çalışmalı.PID için çevrimsel kesme OB'si, HSC için de bir start OB'si oluşturup bunların içine yazmak, bir FC içine yazmaktan daha uygun olmaz mı sizce?

PID ile motor kontrolü yapılacak ve tabiiki geri besleme bilgisine ihtiyaç var. Bu aşamada işin içine encoder ve HSC giriyor.
Bir FC açar HSC işlemini burada gerçekleştiririz
sonra sabit aralıklarla bir zaman bloğu çağırırız örneğin her 200 msn de bir çağırdığımızı düşünelim ve bu blokta hsc den aldığımız değeri 300 ile çarpar dakikadaki devri buluruz tabiiki bu değeri encoderin pals sayısına böleriz. (bu işlemleri reel sayıya çevirip reel sayı olarak yaparız) gene aynı ob içerisinde sayıcının saydığı değeri sıfırlarız ve sayıyı bize 200 msn aralıklarla motor devrini verir diye düşünüyorum. genede devreyi kurup denemek gerekir.
Sonra bu devir bilgisinin yazıldığı hafıza adresini PID bloğunda set point olarak kullanabileceğimizi varsayıyorum.
kolay gelsin.

Birde şu anda aklıma gelen; hsc menüsünde eğer frekans saydırma varsa ki öyle bir şey vardı diye hatırlıyorum yukarıdaki işlemlere gerek kalmayıp doğrudan frekansı devire çevirebiliriz.
 
Son düzenleme:
"Birde şu anda aklıma gelen; hsc menüsünde eğer frekans saydırma varsa ki öyle bir şey vardı diye hatırlıyorum yukarıdaki işlemlere gerek kalmayıp doğrudan frekansı devire çevirebiliriz."

sn korfez_ HSC menüsünde de var PID compact-basic settings-controller type seçeneğinde de var.Burda ben hız kontrol edeceğim için speed seçiyorum. Dikkat ettim frequency diye bir seçenek de var.Lakin velocity diye bir seçenek de var.Kafam allak bullak.


 
Son düzenleme:

Forum istatistikleri

Konular
128,406
Mesajlar
917,333
Kullanıcılar
450,312
Son üye
ErkanGlc

Yeni konular

Geri
Üst