01-21-2011 02:34 AM
Hi,
I'm working with NI-XNET 1.1.1, and a PXI-8513 CAN Card.
I'm using dbc databases created with CANdb Editor.
In these databases, there are Periodic frames, event frames, and frames set as P+E (mixed).
Using the XNET Database Editor, there is no choice for this kind of mixed frames.
I've tried to create 2 different frames with different names but with the same ID, one set as Event and the other set as Cyclic.
This method seems to work, and permits to have a cyclic frame sent with sometimes an interleaved frame.
But the problem with that method is that I need to modify the .dbc databases to take into account the frames with P+E settings.
Those dbc are given to me from automotive customers, and I should not modify them.
Is there an other way to handle those mixed frames? Is there something planned to handle the P+E settings with NI-XNET?
Regards,
Olivier L. | Certified LabVIEW Developer
01-24-2011 02:07 AM
Another problem I forgot to raised is that with the Vector DB Editor, it's not possible to create 2 frames with the same ID.
So I can't even ask my customer to prepare his dbc in a manner I could work with, and It will be a lot of rework to modify and verify every frame in the actual dbc.
Thanks for your help.
Kind Regards,
Olivier L. | Certified LabVIEW Developer
01-24-2011 04:18 AM
Hello,
yes this is a limitation of XNET driver I think, we didn't not find a solution to this probleme when using XNET dbc decoder.
Our solution is to use RAW frames with input/output streaming and to manage by ourself the decoding of the dbc and the scheduling of transmitted frameS...
01-24-2011 06:01 AM
Hi Pierre,
Thank you for your answer. I have not looked at Raw frames yet. That's a potential solution but which will cost a lot of work.
I keep this in mind, but if somebody thinks to another solution...
Thanks. CU
Olivier L. | Certified LabVIEW Developer
01-27-2011 03:05 AM
Hi,
Finally There is two other possible options.
1- You can Stop a session and restart it immediately. In this way, the time you restart the session sends immediately a frame on the Bus, thus creating a kind of event frame.
The problem with this method is that your period is now synchronized with the reset of the session, not the original start.
2- You can create 2 sessions on the same Frame,a Single-Point session, and a Stream Session. The single point session will take care of the periodic behavior of the frame, than you can call a Write on the Stream Session to create the Event frame, because this mode doesn't take care of Timings in DBC.
Hope this could help anybody else.
Regards,
Olivier L. | Certified LabVIEW Developer