I'm looking for your help on an XNET session issue:
I have created an XNET 'signal in waveform' session to record J1939 signals from a CAN bus using a NI 9862 module. I found that my recorded signals (for example, the engine speed from PGN 61444) were quite noisy, then I found out it was because CAN messages with same PGN but from different source addresses are recorded as the same signal. For example, 0xCF00400 and 0xCF00421 are both identified as the frame EEC1 (PGN: 61444). Although I found this can be solved by adding a source address filter to the XNET session's property node. But I found it tedious if I have say 100+ signals, so I have to set the filter for each signal individually.
I'm wondering if anyone could suggest any easier way to work around this issue?
I also noticed that in the dbc file, the source address can be specified for a frame, but that didn't solve my problem. E.g. when I specify the SA of 61444 to 0 in the dbc, the recorded signals still included the signals from SA of 33 (0x21).
For the source address, it is the expected behaviour. The SA of the frame always comes from the node address claimed for that session. If you want the frame to have a SA of 0, you should send it from another session that has claimed address of 0.