Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

Sending all frames defined in a DBC

Solved!
Go to solution

I have a PXIe-8510 and several can frames defined in a DBC.  Is there a simpler way to send all the Frames in the DBC all at once at the defined rate rather than creating a session for each Frame?

0 Kudos
Message 1 of 7
(3,552 Views)
Solution
Accepted by topic author altran

To answer your exact question I'd say it is impossible to send all frames in a DBC all at once no matter what method or hardware you have.  The CAN bus has arbitration and priority and only one frame can be sent at once.

 

But to answer the intent of your question there are several methods.  Using the Frame Out Single-Point you can specify the array of CAN frames to send, which will get sent at the rate defined in the DBC.  Otherwise you can also achieve this using software timing and sending out the frames you want one at a time using Frame Out Stream keeping track of the timing of each frame and when a new one should go out.

 

More information on the various XNet modes can be discovered by reading my CAN Blog Part 6.

Message 2 of 7
(3,535 Views)

Gotta love those self promotions...Smiley Tongue


@Hooovahh wrote:

 

More information on the various XNet modes can be discovered by reading my CAN Blog Part 6.


 

Help the Community (and future reviewers) by marking posts as follows:
If it helped - KUDOS
If it answers the issue - SOLUTION
0 Kudos
Message 3 of 7
(3,529 Views)

No offense taken, but I mean I did the blog for a reason.  And that was so others would find its information, and if it happens to answer a question posted here why shouldn't I link to it?  I'd link to someone else's blog or community page if it answers a question too.  I just happen to know my own content better than someone else's.

0 Kudos
Message 4 of 7
(3,527 Views)

Funny thing is, right after the initial post, I ran into your blog and started reading it from the beginning.  I just haven't got to Part 6 yet. Thanks!

0 Kudos
Message 5 of 7
(3,522 Views)

Related question:

 

Is there a way to read in the full Frame List from a DBC file?  I've looked through the APIs and nothing really stood out.

 

0 Kudos
Message 6 of 7
(3,480 Views)

Oh sure, there's several ways.  A pretty elaborate example can be seen in the Exploring Database with Tree example.  This can be found in the Help >> Find Examples and searching for it or using keywords like Xnet and Database.

 

I think the core function of this VI can be found here which gives all frames clusters, signals and other things based on a database.

 

<LabVIEW Install>\examples\nixnet\examples.llb\NI-XNET Example subVI - Get All Names from Database.vi

 

But the most basic way is to use the property nodes like this:

 

Example_VI_BD.png

You'll probably notice these functions only work once a DBC has been imported into the XNet Database.  This can be done using the Add Alias XNet function found on the palette.  If you installed my CAN Reuse from the blog posts, then you'll also have Get Alias from DBC under the XNet tools.  This takes a DBC and will return the database alias for it.  If the DBC hasn't been added before it adds it creating a new unique name.

0 Kudos
Message 7 of 7
(3,451 Views)