CPU 312C ile enkoderin saydırdığı değeri kaydetmek..

aybulus

Üye
Katılım
21 Ara 2006
Mesajlar
66
Puanları
1
Yaş
39
Arkadaşlar elimde 360 pulse lik bir rotary enkoder ve CPU 312C bulunuyor.Enkoder ile sayıcıyı saydırma da problem yok ama enkoderin dönüş hızı 1Khz in altına düşer düşmez ya da durduğunda sayılan dğer otomatikman "0" lanıyor.Bu değeri nasıl kaydedebilirim.Yapmak istediğim olay ise enkoderin saydığı 100000 den geriye doğru da istediğim yere geri dönmek.Ya da ben 100.000 e git dediğimde işlem stop la kesildiyse kaldığı yerden nasıl devam edecek counter...
 
Son düzenleme:
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.
1.si encoder için counter modül kullanman doğru olan yöntem eğer di modulden okuyorsan zaten pulse kaçırman çok normal değeri couter modül ile okuyup db ye yazar isen cpuya cold restart atmadığın yada db üstüne yazmadığın sürece değer her zaman kalıcı olacaktır
 
erdi001 arkadaşım cevabın için teşekkür ederim ama ben şu şekilde deneyerek çözüm buldum.
CALL SFB 47 , DB10
LADDR :=W#16#300
CHANNEL :=0
SW_GATE :=M90.0
CTRL_DO :=
SET_DO :=
JOB_REQ :=M90.5
JOB_ID :=DB10.DBW6
JOB_VAL :=DB10.DBD8
STS_GATE:=
STS_STRT:=
STS_LTCH:=
STS_DO :=
STS_C_DN:=
STS_C_UP:=
COUNTVAL:=DB10.DBD14
LATCHVAL:=
JOB_DONE:=
JOB_ERR :=
JOB_STAT:=

Burda m90.5 değerini "0" tuttuğum sürece hızlı sayıcım resetlenmiyor yani istediğim değere gelip gidebiliyorum..M90.5 i "1" yapar isem counter resetleniyor.Eğer başka yöntemler varsa da bilmek isterim...
 
Yukarıdaki kodun önüne bunu ekle:
Kod:
A   M   90.5
JCN  M001         // counter a deger yazmak istediginde M90.5 i true yap

   L   1              // JOB_ID sini söylüyorum
   T   DB10.DBW  6
   L   0              //  Buraya ne yazarsan offset olarak onu yükler
   T   DB10.DBD  8

M001: NOP  0
 
Yukarıdaki kodun önüne bunu ekle:
Kod:
A   M   90.5
JCN  M001         // counter a deger yazmak istediginde M90.5 i true yap

   L   1              // JOB_ID sini söylüyorum
   T   DB10.DBW  6
   L   0              //  Buraya ne yazarsan offset olarak onu yükler
   T   DB10.DBD  8

M001: NOP  0

Hocam;

İntance data blok değerlerini direk yüklemek mümkünmü acaba?

DB10,SFC47'nin intance bloğu olarak gözüküyor.
 

Forum istatistikleri

Konular
128,108
Mesajlar
915,040
Kullanıcılar
449,809
Son üye
yucelsenolgm

Yeni konular

Geri
Üst