PLC den Pulse çıkışı hk.

serhns

Üye
Katılım
10 Eki 2007
Mesajlar
96
Puanları
1
Yaş
39
Merhabalar,

S7300 yada S7200 den Pulse çıkışı nasıl hangi komutlarlarla verebiliyoruz.Pulse in genliğini ve hızını nasıl değişken yapıyoruz.Yardımlarınız için teşekkürler.
 
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.
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
s7 300 400 için FB43 PulsGen standart pid library de ve moduler pid library de PulsGen olarak geçmektedir.
PER_TM ile periyot
P_B_TM ile de puls break süreleri ayarlanır.



iyi çalışmalar.
 
Pulsgen ile ilgili ilave etmek istediğim bir husus var.
en azından 1 örnek vereyim diyorum.

1.şimdi projenize ob35 ekleyin.
2.ob35 i açıp libraryden bir fb43 ekleyelim.
3.INV'e % 70.0 degerini verelim.(Normalde pid out dan gelir buraya deger)
PER_TM 10 Saniye
P_B_TM 50 milisaniye
CYCLE 100 milisaniye

Qpos_P : Q 0.0
QNEG_P: Q 0.1
digital outlarını verelim.
(normalde digital out kullanılmaz sadece deneme amaçlıdır.)

cycle 100ms oldugundan pulsgen 10 saniyede 100 defa çalışacaktır.
ve bu süre içerisinde %70 yani 7 saniye QPOS_P "1"
%30 Yani 3 saniye QNeg_P "1"
olacaktır.


detaylı bilgiyi step7 help de bulabilirsiniz.

diger modlarda yani step3 ve step2bi'yi de sizin denemelerinize bırakıyorum.
 
fb 49 teknoloji fonksiyonu ilede yapabilir ve on-off zamanlarını bağımsız olarak tanımlayabilarsin..
 
Peki S7200 de Pulse çıkışlarını Q0.0 ve Q0.1 den almıyormuyduk.Bunda fark ne,Pulse çıkışlarını hardware olarak nasıl alacağız.

saygılar
 
Sayın ahmetbogus,

Birde birşey ekleyeceğim.FC105 scala bloğunda,

CALL "SCALE"
IN :=PIW272
HI_LIM :=0.000000e+000
LO_LIM :=1.000000e+002
BIPOLAR:=L20.0
RET_VAL:=MW10
OUT :=MD100
MD100 den okuğum değer nedir.PIW den 262 (PT100) MD 100 den 99.0 okuyorum(REAL) Bu 99.0nedir.?

Ben pulsgen in INV sine motorun döneceği devir sayısını girmem gerekmiyormu.100 devir veya 10 hz gibi.
 
bilindiği gibi piw 256 ile okudugumuz deger 0 ila 32767 arasında INT bir degerdir.
ve FC 105 skala ile bu degeri yeniden biçimlediriyoruz.
yüzdelik olarak
yani analog sinyal
piw 256 de 0 iken fc105 çıkışı %0(md300)
16383 iken %50
32767 iken %100
(ara degerler ise lineer enterpolasyon ile yani dogru orantı ile bulunmaktadır.)

bu sadece sinyalin degerini daha anlaşılır hale getirmek için yoksa skala etmeden de hesaplamaları yapabilirsiniz.

PIW den 262 (PT100) MD 100 den 99.0 okuyorum(REAL) Bu 99.0nedir.?
sorusuna gelince bu pt 100 ün okuyabildiği max degerin %99 una ulaşıldı demek oluyor.
max 1200 santigrad derece ölçen bir pt100 oldugunu varsayarak şu an 1188 santigrad derece ölçüyor demek olur.

ben örnekte analog girişten okunan deger ile nasıl puls oluşturulur onu ifade ettim.
bununla nasıl uygulama geliştirileceği tamamen size kalmıştır.
FB43 daha çok fb41 gibi pid uygulamaları ile beraber kullanılmaktadır.

Peki S7200 de Pulse çıkışlarını Q0.0 ve Q0.1 den almıyormuyduk
puls çıkışlarını için kullanacagınız donanımı değil de başka bir bloga örneğin FC'ye aktarılabilir onu kastederek yazdım.
ayrıca donanım olarak konuşursak ihtiyaca göre özel moduller bulunmaktadır ve bu modullerin de kendine has artıları vardır.
bakınız.

https://www.automation.siemens.com/...modules/technology-modules/Pages/Default.aspx

iyi çalışmalar
 
Son düzenleme:
sayın ahmetboğus :
verdiğiniz örnekte anladığım kadayıyla fb 43 bloğu ndaki """inv " girişi 0 ile 100 değerleri arasında kullanılıyor. fb 41 bloğından aldığımız 0 ile 100 arasındaki "ER" çıkışı nı fb 43 bloğunun "INV" girişine bağladığımızda bir ısı sitemi için (rezintan) pulse oluşturabiliyoruz.
sıfır ile 100 arasında skala edilmiş bir "hata değerini" bu blokta kullanabiliyoruz.
çünkü hata 100 değerine yakalaştıkça fb 43 pulsleri artıyor. hata değeri sıfıra doğru gittikçe pulseler azalıyor. hatam varsa düzeltin.
 
sn ulas ;
hata değil de anlamadıgım bir husus var.
ER çıkışı ile puls oluşturarak neyi kontrol etmek istiyorsunuz?

öncelikle ben kendi hatamı düzelteyim çünkü
piw 256 ile okudugumuz deger 0 ila 32767 arasında INT bir degerdir DERKEN hata yaptım dogrusu 0...27648 arası olacaktır sehven 0...32767 yazmışım.
düzeltir ve özür dilerim.

ben uygulamada gördüğüm bir örnekten bahsedip biraz açıklık getireyim
kimyasal bir proses düşünün ve bu prosesin dogal gaz ile beslenen ısıtıcıları var(bknz.honeywell burner controller ).şimdi bu burner kontroller puls ile ortamı ne kadar ısıtıp duracagına karar verebiliyor.
FB41 PID blogu kullanılmış ve LMN manipulated çıkışı fb43 pulsgen'in INV girişine uygulanmış.
(tabi fb41 in tunning konusu ayrı bir bahis)
bu şekilde ISITICIYA PULS uygulayarak ortam sıcaklıgını sabit tutmak amaçlanmıştır.

yukarı step7 örneginde PIW 256 aslında bir potansiyometre gibi düşünülebilir.
pid blogu tarafından hassas bir şekilde kontrol edilen bir analog sinyal ile ısıtıcıyı kumanda ediyoruz ve ortamın sıcaklıgını belli bir SETPOINT degerinde tutmaya çalışıyoruz.
ASLINDA BU POTANSIYOMETREYI PID BLOGU KONTROL ETMEKTEDIR.
ben sadece pulsgen in anlaşılması için pid blogunu çıkartıp manuel olarak PIW den deger girerek anlattım.

iyi çalışmalar.
 
O zaman daha net bir örnekten bahsedeyim.Servo sürücüyü PLC nin pulse çıkışından besliyecem ve pozisyonu kontrol edicem.Doğal olarak FB43 ün INV değerini OP den giricem ve girdiğim değer ile encoderden okuduğum değeri karşılaştırıp servoya pozisyon kontrolü yapmak istiyorum.Bu kapsamda OP den INV değerini girirek pulse üretip istediğim çalışmayı sıkıntı yaşamadan yapabilirim,doğru mudur?
 

Forum istatistikleri

Konular
128,214
Mesajlar
915,863
Kullanıcılar
449,995
Son üye
osmanguney15

Yeni konular

Geri
Üst