Codesys'de PID Kontrol

burcuyelis

Üye
Katılım
6 Tem 2015
Mesajlar
2
Puanları
1
Merhaba arkadaşlar, forumda yeniyim. Mühendislikte de yeniyim hatta. Codesys öğreniyorum, ilerleme kaydettim bayağı. PID kontrol fonksiyonuna ihtiyacım oldu, ilk defa kullanıyorum. Bu fonksiyon bloğu ile pwm kontrol edeceğim . Util kütüphanesindeki PID fonksiyonunu daha önce kullanan var ise giriş ve çıkış değerlerinin tam olarak neleri ifade ettiğini yazabilir mi?
 
Sn. elektronikmuh yazdığınız fonksiyon bloğu güzel fakat Util kütüphanesinde hazır PID fonksiyonu var şu şekilde:

FB_PID(
ACTUAL:= ,
SET_POINT:= ,
KP:= ,
TN:= ,
TV:= ,
Y_MIN:= ,
Y_MAX:= ,
RESET:= ,
Y=> ,
LIMITS_ACTIVE=> ,
OVERFLOW=> );

Elimde hidrolik bir silindir var. Ben bu silindiri oransal valfler ile kontrol ediyorum. eğim sensoründen aldıgım dataya göre pwm çıkışlarım değişiyor. Buna göre de valfler kontrol edilip piston ileri ya da geri hareket ediyor. Oransallık ile eğim fazla iken hızlı eğim düştükçe yavaşlayarak en son duran bir dengeleme sistemi yaptım. Ama silindirin debisi düştüğünde bir ton ayarlama yapmam gerekiyor yeni baştan.
Amacım PID kullanarak sistem ne olursa olsun bi set değer koyup her türlü aynı şekilde çalışsın. DEbiyi değiştirmem ağırlığı değiştirmem vs. etkilemesin yazılımımı.
 
Sn. elektronikmuh yazdığınız fonksiyon bloğu güzel fakat Util kütüphanesinde hazır PID fonksiyonu var şu şekilde:

FB_PID(
ACTUAL:= ,
SET_POINT:= ,
KP:= ,
TN:= ,
TV:= ,
Y_MIN:= ,
Y_MAX:= ,
RESET:= ,
Y=> ,
LIMITS_ACTIVE=> ,
OVERFLOW=> );

Elimde hidrolik bir silindir var. Ben bu silindiri oransal valfler ile kontrol ediyorum. eğim sensoründen aldıgım dataya göre pwm çıkışlarım değişiyor. Buna göre de valfler kontrol edilip piston ileri ya da geri hareket ediyor. Oransallık ile eğim fazla iken hızlı eğim düştükçe yavaşlayarak en son duran bir dengeleme sistemi yaptım. Ama silindirin debisi düştüğünde bir ton ayarlama yapmam gerekiyor yeni baştan.
Amacım PID kullanarak sistem ne olursa olsun bi set değer koyup her türlü aynı şekilde çalışsın. DEbiyi değiştirmem ağırlığı değiştirmem vs. etkilemesin yazılımımı.


Şu an ne durumdasınız.
ST yerine CFC dilini denerseniz daha kolay halledebilirsiniz.
Ayrıca PID bloğunu bir task'e bağlamalısınız.(100 ya da 200 mslik)
 

Forum istatistikleri

Konular
128,158
Mesajlar
915,528
Kullanıcılar
449,904
Son üye
teknikbilimlers31

Yeni konular

Geri
Üst