05-22-2012 01:30 PM
Encoder sinyalinde edgeleri saydırırken aynı zaman da zero çıkışını da kullanarak hangi edge nin üst ölü nokta alt ölü nokta olduğunu bilmek istiyorum ancak encoderın A çıkışını ctr 0 a girip zero yu ctr 1 e girdiğimde ctr1 den 360 da 1 atması gereken sinyali göremiyorum. Ctr1 girişine A B çıkışlarını takıp veri almaya çalıştığımda ad alamadım kanalda bir problem olduğunu düşündüm ancak daha önceden sadece ctr0 kanalını seçip daq içine gömüp ctr1 i de kullanan bir arkadaş olduğu söylendi okulda bu işlemi nasıl yapabilirim yardım ederseniz sevinirim
05-22-2012 01:36 PM
DAQ 6215 kart kullanıyorum
05-23-2012 03:25 AM - edited 05-23-2012 03:25 AM
Veri toplama görevleri (DAQ Task) zaten donanımın ayarlanıp görevin donanım üzerinde işlemesi mantığı ile çalışır. Görevi ayarlayıp çalıştır dedikten sonra donanım gerçek zamanda bu ayarlarla veri toplamaya başlayacak ve veri paketleri hazır oldukça genelde DMA'lar üzerinden hafızaya aktaracak ve veri hazır bayrağı (flag) gibi bir bilgi ile yazılıma durumu bildirecektir. Duymuş olduğunuz gömülü sistem modelini ise desteklemezler. Bunu destekleyen sistemler FPGA ya da kendi RTOS'u olan gömülü sistemlerdir ve cRIO'yu bunlardan bir sayabiliriz.
Yine donanım sorunu olduğu için olası birkaç yanlış ayar hakkında fikir verelim ama dene yapmak gerekli.
İlk aklıma gelen sayıcı girişlerini ayrı görevler olarak tanımlamışsanız donanım bunların tek görev altında tanımlanmasını istiyor olabilir. Her sayıcıyı ayrı ayrı deneyiniz. ctr0'ı denerken ctr1'e erişmeyin ve ctr1'i denerken de ctr0'a erişmeyin. (Bunu MAX üzerinde denerseniz daha iyi olacaktır)
Bağlantı hatası yapmış olabilirsiniz. Yine MAX'ı açın ve hiçbir yazılım denemesi yapmadan gerekli verileri doğru aldığınızı MAX ile kontrol edin.
Elimde USB-6215 kart yok. Bu konu daha önce sorduğunuz soru ile ilgiliyse enkoder sinyalini veri toplar gibi toplayıp sonra asıl verilerle çakıştırmaya çalışmanız doğru değil. Nasıl yapmanız gerektiği ile ilgili açıklamayı orada yapmıştım.