Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

Database for compound message format

Solved!
Go to solution

I'm assembling a vehicle data logger and have run into an odd issue. The vehicle uses a non-standard CAN communication format. All vehicle systems (except the engine itself) are handled through a single ECU. Frames are transmitted cyclically with N different frames in a cycle. Every frame has an identical arbitration code. The payload of every frame is 8 bytes, and the first byte is a secondary identifier that cycles from 1 to N to indicate which data are being transmitted in the following 7 bytes.

e.g.

This presents problems: to a database, every frame will be interpreted the same way because they all share identical arbitration IDs. As far as I know, there isn't a way to create a database file that differentiates messages based on the contents of the data field. Are there any ways of doing so? 

 

My current solution is just to log data frames straight to TDMS. From there, I can load the TDMS files and interpret each frame - either using a case structure or a call to some C++ code I have. Of course, I could do that on-line as well, but I'm crunched for time and that sounds like a pain. It would be much easier if there was a way to construct the database to parse out messages into signals.

 

Thanks!

0 Kudos
Message 1 of 3
(2,655 Views)
Solution
Accepted by topic author CaseyH_UI

The XNET API refers to this type of arrangement as signal multiplexing. The first byte of the payload will be configured in the database to be the multiplexer in the "Signal Type" field. You can then setup multiplexed signals that will be interpreted based on the value of the first byte (the mode value or multiplexer).

Jeff L
National Instruments
Message 2 of 3
(2,637 Views)

Thanks! Just a matter of terminology...

 

The vehicle manufacturer referred to it as "compound message format," which was turning up very little online. This solves it.

0 Kudos
Message 3 of 3
(2,630 Views)