I am trying to monitor the traffic on a CAN bus using CAN receive.vi. (included as a demo program in Labview 6.1) The problem is that not all arbitration IDs are showing up in the table. There are about 12 different arbitration IDs that should be appearing, but usually I only see 2 or 3. I am just trying to monitor a system that is passing messages back and forth (but not outside to anything else). I have a cable that connects an output of the system to a 1-input CAN card (PXI-8461) in a PXI-1000B unit. The cable is properly terminated with 120 ohm resistors, and the system runs at a baud rate of 500k. When I run CAN receive.vi, sometimes it will show a continuous real-time listing of all the messages that are coming from 1
particular arbitration ID (usually the same one). Other times, it will show 1-2 messages from 1-3 different arbitration IDs, but will not show any more messages after that, even though I know there is constant communication within the system. I can't find sny pattern that would predict when it is going to monitor 1 ID continuously, and when it is going to display 1-2 messages from 1-3 different IDs and then not display any new messages after that. I have also tried using the bus monitor utility in MAX, which also gives erratic behavior. Sometimes several arbitration IDs will show up in the window, but they will not be updating in real time, and will have dashes ( - ) listed under the "Rate", "dt Min", and "dt Max" columns. Other times a single ID will show up (again, usually the same one) and it will be updating in real time. I can't find any pattern that predicts when it is going to display several ID's that don't update, and when it is going to display 1 that does. I have used
another company's CAN hardware and program to monitor this CAN bus and verify that there should be 12 different arbitration IDs updating in real time, but I need to get this working in Labview.