From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Vector XL CAN Error Frame vxlapi

I'm using the fantastic Vector XL Driver wrappers posted here, and I was wondering if it was possible to query error frame information using these drivers?

 

I've looked into the XL Driver Library documentation but I didn't see anything in there that was clear on how to read CAN Error frame information.  Is this information available?  Is there some method of reading bus error information?  Thanks.

0 Kudos
Message 1 of 6
(4,716 Views)

Sorry Brian, I never got a notification of your question here.

The NI forum search subscription function doesn't seem to like me. I either get nothing or useless mismatches.Smiley Sad

It's probably a bit late for this response now, but I don't know of a way to get more useful information out of an error frame itself. There seems to be at least a byte of information returned in a reserved field but I have no idea what it means.

One way to get more diagnotic information when a bus goes into an error state is to look at the chipstate events.

Another way is to look at the error that comes out of the api soon after. I don't know that the transceiver chip is capable of detecting much more than the fact that it can't transmit or no node is ACKing frames.

Ultimately there are only a few possibilities aren't there?

1. No nodes on bus / open circuit

2. Wrong BAUD (Sync errors)

3. Bus improperly terminated (Random error frames due to CRC errors because of reflections)

4. Short circuit (usually results in instant BUSOFF)

Troy - CLD "If a hammer is the only tool you have, everything starts to look like a nail." ~ Maslow/Kaplan - Law of the instrument
Message 2 of 6
(4,387 Views)

No worries, thanks for the suggestios.  We did end up just using the chip state and showing that to the user.  They seemed content with the string returned so we just perform the Request Chip State once in a while and show that.  I would have prefered more information like the kind you see in CANalyzer but as long as the customer is happy.

0 Kudos
Message 3 of 6
(4,377 Views)

Hi, thanks for Your CAN blogspot.  Can You recommend a device for testing the USD implementation ?

Thanks a lot.

0 Kudos
Message 4 of 6
(3,346 Views)

This is not a simple question, it depends on how you will be using it.

 

I use the hardware from Vector because we already have so much of it here where I work and it was much more capable than the first CAN hardware from NI.

Our software teams use Vector CANoe software with Vector VN1640 hardware because that's what our customers use and they support many CAN ports.  Vector CANoe licenses are very expensive though!

 

Probably the fastest way to get a UDS setup going if you're a LabVIEW programmer is to get some NI-XNET CAN hardware and the NI Automotive Diagnostic Command Set.

Troy - CLD "If a hammer is the only tool you have, everything starts to look like a nail." ~ Maslow/Kaplan - Law of the instrument
0 Kudos
Message 5 of 6
(3,330 Views)

I agree with Troy that the fastest and most supported method of testing UDS would be with NI hardware, and the NI ADCS toolkit.  If you want the cheapest I'd say look into the software I wrote for doing ISO-15765 which includes UDS, for KVaser, Intrepid, or Vector hardware.

Message 6 of 6
(3,308 Views)