LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How can i be sure whether i write a frame into the bus successfully?

Solved!
Go to solution

Hello,

 

i'm using XNET to write and read Frame. I'm wondering how can i be sure whether the frame-writing into the bus is successful? I mean without using the XNET-Monitor or something. Is there any VIs or propertynode to set after the XNET Write.vi to let me know whether i really write a frame into the bus or not?

 

Thx.

 

0 Kudos
Message 1 of 4
(3,252 Views)
Solution
Accepted by topic author mexaviesta

It's been a while since I looked at it, but I vaguely recall that (at least with the NI-CAN FPGA C-series modules) there is a function/method/configuration parameter which allows you configure the module to echo all (or just error frames) transmitted frames back to the receive side.

 

Also, I think you're supposed to be able to assume that if you don't get an error when you do the write, that it was sent successfully. (But even I'm not convinced...)


LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 2 of 4
(3,236 Views)

Thx a lot

 

0 Kudos
Message 3 of 4
(3,206 Views)

I agree to use the echo function, but I also wanted to add some specifics about CAN which I assume is what you are using but haven't specified.

 

So CAN is a network made to allow messages to drop out.  CAN has priority built into the messaging strategy in the form of the arbitation IDs.  Each message had an ID, and if two message are on the bus at the same time, one will over power the other by having higher priority, and the lower priority message will be lost.  But built into the CAN hardware is a feature to detect if the message sent failed to reach the destination.  If this happens the hardware will retransmit the message, over and over again until it gets confirmation from another node, that the message made it.

 

I'm assuming the echo command, simply returns once it sees the confirmation that another node recieved the frame.  But the point of all this is to let you know that CAN is very robust, and unless the bus is full of high priority message, your message will go out eventually.

0 Kudos
Message 4 of 4
(3,112 Views)