Jump to content
Ervin

bit kayrdırma sorun

Önerilen İletiler

Merhaba;

Forumdaki mevcut  bit operasyon örneğini inceledim.   Yapmak istediğim aşağidaki çizimdeki gibi bir sistemde ürünleri takip edip, defolu ürünün rejektörden atılmasını sağlamak.  buna istinaden zincir-bit diye bir operand oluşturdum word olarak. sıfırıncı adımda sensör ürünü görürse, sıfırıncı bit ..00001 olacak. enkoder 200 puls gönderince(bunu şimdilik 400ms lik pwm timer ile yapıyorum)  ...00010 yapmak;  bir 200 puls sonra ...000100 yapmak, eğer ürün gelirse bir sonraki tur ...0001001 yapmak.  bitleri takip etmek için test bit komutunu kullandım.  test bit 0, test bit1- test bit2... diye sıraladım.  ilk komutum set bit 0 (yükselen kenar ile tetikledim). ama sola kaydır komutunu tetiklediğimde son hal 2 oluyor, bir daha tetiklediğimde bir değişim olmuyor. test bit lerden de sadece test bit 0 değişiyor, onun dışındakiler hep 0.  yorum yapabilecek var mıdır acaba ? selamlar...

1631186583_bitgrsel.jpg.3db4a34bad13adec8b15a3b164c18163.jpg

tarihinde Ervin tarafından düzenlendi

İletiyi paylaş


İletiye bağlantı
Sitelerde Paylaş

Merhabalar;

Test bit kullandığınız zaman kaçıncı biti kontrol edecekseniz onu girmeniz gerekiyor. Örneğin işaretlemeyi yaptınız 5 kere kaydırmanın sonucunda hatalı ürünü atacaksanız test bit 5 diyip ona göre pistonu tetikleyebilirsiniz.

 Aşağıda örnek bir yazım şekli ekledim. Buna uygun şekilde yapabilirsiniz.

İyi Çalışmalar

Kolay Gelsin

 

bit_ornek.png

İletiyi paylaş


İletiye bağlantı
Sitelerde Paylaş

Hızlı geri dönüş için teşekkür ederim. sizin öreneğinizi denedim. lakin zincir sensörüne bir kez tıklayınca istasyon 1  eberjlieniyor; ama ikinci kez tıkladğığmda istasyon 2 de değişme olmuyor.  

benim örneğime göz atar mısınız ?   benim istediğim   zincir bit 0 set edilince m1 enerjilenecek, sonra timer her puls gönderdiğinde birer adım sola kaydırma işlemi uygulanacak. sırasyla test bit 1, test  bit 2, test bit 3, enerjilnecek, yanlarındaki  m1, m2, m3 de enerjilenecek.  ama dediğim gibi  sadece test bit 0 yani m1 enerjileniyor.   

bit deneme.gpf

İletiyi paylaş


İletiye bağlantı
Sitelerde Paylaş

Merhabalar;

Kaydırdığınız operandı sonuç operandına atamalısınız ki bit kaydıktan sonra işleme devam edebilsin.

Programınızı revize yaptım. Sizinle paylaşıyorum.

İyi Çalışmalar

Kolay Gelsin

bit deneme.gpf

İletiyi paylaş


İletiye bağlantı
Sitelerde Paylaş

uzun bir aradan sonra başka bir proje çıktı karşıma. yine benzer mantık, sıralı gelen malzemeleri  belli pozisyona gelince atmam gerekiyor. Lakin bu sefer 42.adımda hatalı ürünü atmam gerekiyor. malum double word te 32 bit adım var. 42 ye nasıl uyarlayabilirim?

İletiyi paylaş


İletiye bağlantı
Sitelerde Paylaş
gönderildi (düzenlendi)

Ben su sekilde bir cozum buldum. Iki adet doubleword hafiza belirledim.   A alani ve B alani.   A+B toplam 64 bit oldu.  A alaninin son bitine (31) kaydirma yaptigim satirda  B nin 0 inci bitini set edip onu kaydirmaya devam ediyorum. Simulasyonda oldu gibi duruyor ama pratikte gorecegiz.  

 

tarihinde Ervin tarafından düzenlendi

İletiyi paylaş


İletiye bağlantı
Sitelerde Paylaş

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Misafir
Bu konuyu yanıtla

×   Yapıştırdığınız içerik biçimlendirme içeriyor.   Biçimlendirmeyi Temizle

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Önceki içeriğiniz geri yüklendi.   Editör içeriğini temizle

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Yeni Oluştur...