12-24-2014 03:09 AM
Herkese merhabalar.
Can-Bus iletişimi gerektiren bir uygulama için NI-sbRIO9626 boardunu kullanıyorum. Öncelikle şunu belirtmeliyim ki Can-Bus embedded driverinı kurduktan sonra herhangi vi. nın block diyagramında industrial commmunication paletine ulaşamıyorsunuz arkadaşlar. Yapmanız gereken öncelikle 9626 yı bir proje içerisinde çağırmak (yani connect etmek) ve daha sonrasında bu singleboard altında bir vi. açıp, ordan embedded can paletine ulaşmaktr. Meseleyi çözene kadar driveri 3-4 defa silip tekrar kurdum. Neyse bu işle uğraşan arkadaşlar varsa, bu bilginin başlangıç için faydalı olacağını düşünüyorum. Şimdi sorularıma geçeyim;
1. Ekte embedded can uygulaması için yazmış olduğum basit bir vi. bulunmakta. Bu vi. yı 9626 boardunun altında yazdığım için interface index i default değerinde bıraktım. Bunun dışında kartın can bus portlarını programa tanıtmak için başka birşey yapmama gerek var mı ?
2. Ben ECU ya CAN-BUS üzerinden ID 0x240 heartbeat mesajı göndermek istiyorum. Bunu program üzerinde nasıl bir operasyonla gerçekleştirebilrim? Şu an writecan.vi üzerindeki "frame" girişi bu haliyle işimi görmemekte.
3. Kart üzerindeki CAN-BUS portunda yapılacak olan uygulama için sadece CAN_LOW ve CAN_HIGH çıkışlarını kulllanmam yeterli olmakta. Diğer portları kullanmadan sadece bu iki portu kullanarak iletişimi sağlayabilir miyim ?
Cevaplarınız için şimdiden teşekkürler... Kolay gelsin
Metin
12-24-2014 05:13 AM
Merhaba Metin,
CAN_GND pininin bağlı olmaması yüzünden haberleşme gerçekleşmiyor olabilir. Çünkü CAN_HIGH ve CAN_LOW hatları CAN_GND hattı referans alınarak okunuyor.
Ayrıca, blok diyagramda initialize, start, stop ve uninitialize bloklarını while loop dışında bırakırsan iyi olur. Çünkü bir kere CAN portunu başlatmak, sürekli veri göndermek için yeterli.
İyi çalışmalar.
12-24-2014 05:37 AM
Evet haklısınız initialize, start ve stop vi. ları döngünün dışına alınabilir. Daha öncede daqmx paletinde buna benzer modüller kullanmıştım. Devamlı bir çalışma için döngünün dışında tutulması daha mantıklı.
Canbus portuyla haberleştiğimiz cihazın üzerinde canbus ile ilgili sadece can_low ve can_high çıkış pinleri bulunmakta. Can_gnd diye birşey görmedim malesef. Bu durumda kontrol ve izleme yapılacak olan cihazın gnd sini 9626 nın canbus gnd sine bağlamak gibi bir durum ortaya çıkıyor fakat bu durumda istenmeyen bir sinyal alımı sonucu karta zarar verilebilir.
Benim en çok merak ettiğim şey, yukarıda da belirttiğim gibi CAN Frame i kullanarak en basitinden ID 0x240 gibi mesajı cihaza nasıl göndereceğimdir. Bunun cevabını hala bulamadım ?
Kolay gelsin.
12-24-2014 06:29 AM