11-06-2017 03:12 AM
Hi all,
I'm working on a PXI-based simulator running Veristand and running multipòle CAN connections using XNET.
I'm trying to have two messages on the same CAN bus, with the same ID, using a boolean (or two) to select which one to transmit at a given time. Veristand (XNET?) won't allow having two messages with the same ID, regardless of whether they are mutually exclusive. Is there a way to achieve this, without having to compose the messages byte-wise?
Thank you all in advance
11-06-2017 11:29 AM
Normally, one byte would be a multiplexer signal, which indicates the format of the payload of the rest of the message. You might want to take a look at the docs.
11-07-2017 02:35 AM
Thank you for your reply, unfortunately multiplexing is not exactly what we need.
The issue is that we have a 'double protocol', where two variants of the same frame(s) are sent depending on a status variable. They have the same ID but different payload, and unfortunately it is not possible to change it in order to accommodate the multiplexing bit. That's because the other CAN node's software works this way and it is not possible to change the protocol at this point.
11-07-2017 07:56 AM
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
11-08-2017 05:06 AM
Actually, as far as I know it is not strictly against the CAN specification as long as the same node is supposed to send the two messages, and not at the same time (i.e. they are mutually exclusive). Technically a CAN message can have whatever payload you want, as long as the nodes know how to decode it. Nothing mandates that the composition of the message can't change over time.
What it is 'conflicting' with is Vector's .dbc databases, and XNET's handling of the same. Indeed I can read/write the messages byte-wise and compose the signals using a model or custom device, I was just wondering if there was a 'smarter' way to do the same using Veristand's functionality.