Bakmak isteyenler programı attım. Yazdığım kodlarıda resimlere bıkratım.
Öncelikle ben ne yapmaya çalışıyorum.
Bir dc motorum var. Sürücü tek yöne çıkış veriyor. Bende 2 röle kullanarak hem saat yönünde hemde saat yönünün tersine dönmesini sağladım. Dc motorumda frende var. Fren ve hareket arasında 5ms bıraktım ki sistem kısa devreye düşmesin.
Şimdi sistemim şu şekilde çalışmasını istiyorum.
1- start basınca motor saat yönü tersinde dönsün. Home pozisyonuna gelince dönme dursun ( fren açık hala)
2-home gelince enkoder saymaya başlasın ve motor istenilen konuma gitmek için saat yönünde dönsün.
3-Enkoder istenilen konuma gelince motoru kapatsın. ve kendini resetlesin istiyorum.
İşte sorun tamda 3de başlıyor. Enkoder istenilen pozisyona geliyor duruyor ama c251 biti resetlenmiyor.
Bir diğer sıkıntımda enkoder hesaplama bölümünde.
Ben d500 değerini hmi'dan giriş olarak ayarladım.
d203 hesaplamaların yapıldığı yer.
Birde d500 ilk seferde girince problem olmuyor. Ama 2. defa d500 yeni bir değer girince sistem çalışmıyor.
Şöyle yapmak istedim d500 d300 mov komutuyla yazdırayım. SOnra onun önüne bir kontak koyayım. kotank kapansın ve açılsın. Mov d500 d300 yapalım sonra tekrar kontak açılsın böylece o anki değerimi d300 alayım. sonra yeni d500 yeni bir değer koyunca o değerim değişssin ve d500 d300 eşitsizliğinden dc motorum tekrar sağa veya sola gitsin istiyorum. Ancak bu d300 yazdırma ve yeni değer kısmındada sorun yaşıyorum.
Son bir sorum daha olacak. MOV komutu nasıl bir komuttur. Set gibi midir ? önnündeki kontak kapalı olsa bile sürekli olarak mov yapar mı ?
Yoksa önündeki kontak aktif olduğu sürece mi mov komutu çalışır.
Özetle: c251 istediğim konuma gelince resetlensin istiyorum. 0 olsun. Sonra yeni değer girdiğimde hesaplansın motorda o değere göre sağa mı sola mı gidecek onu yapsın istiyorum. olabildiğince açıklayıcı olmaya çalıştım, yardımlarınızı bekliyorum

NOT: resimlere en alttan başlarsanız yukarıdan aşağıya doğru, doğru bir sıralama ile bakmış olursunuz.
Teşekkürler.