在 06-07-2013 01:10 AM
各位先進大家好 :
目前我正在使用sbRIO 9636做CAN Bus的資料擷取,但因在網路上有許多資料同時在傳,我只想收到某個範圍CAN ID訊號,但是我找不到哪裡可以進行CAN Mask的設定,不知道有無方法可以解決?
謝謝
在 06-09-2013 08:13 PM
可以請你描述的詳細一點嗎? 您是想要用9636去收某個範圍的CAN ID訊號? 如果是這樣,為什麼不先收進來後再做後處理。
通常這種通訊的前段應該都是由晶片做掉,如果原本的設定沒辦法忽略某個CAN ID的話,那由後端來做看起來是比較可行的。
舉232通訊來說好了,通常232晶片會把Serial Bus上的所有字串照單全收,如果有某些字串是不想要的,建議在LabVIEW中先用VISA Read把所有字串通通讀進LabVIEW,然後在LabVIEW中在自己下去過濾要與不要的字串,這就是我比喻的後處理。
不知道這種方式對於你的應用可不可行,如果不可行,可能也要請您描述清楚一點您的應用是什麼。
在 06-10-2013 02:30 AM
Ting1224您好 :
我主要是要收汽車上面如車速的訊號,您說的方法我有試過,就是將所有訊號收進來後再利用程式設定我要的ID,
但是我發現利用PXI單純送一筆CAN時sbRIO是可以收到的,可是接到車上因為有40幾組CAN訊號,
導致我要的訊號會有lag的狀態產生,因此我將收進來的訊號作監控,發現可能是因為有些CAN的訊息傳送很快,
而我要收的訊息比較慢,導致sbRIO只收到那些訊息比較快的ID,慢的就感覺很久很久才收到一筆,
不知道您是否有更好的建議。
在 06-10-2013 11:12 AM
請問你是先把所有CAN Bus上的訊號錄下來到硬碟以後再回播出去給sbRIO嗎?
還是目前就只有用sbRIO去做截取而已?
如果我沒猜錯,你應該是想做到ID Filter的動作,我有找到以下的相關文件,你可以參考看看哪個符合你的應用。
1. NI-CAN Self-Reception and Filtering
http://digital.ni.com/public.nsf/allkb/14429577623AEB5286257005004A9B02
2. How to Filter Data for a Particular Device ID with NI-CAN Frame API
https://decibel.ni.com/content/docs/DOC-16992
3. 範例程式
你先參考看看。