03-31-2023 02:56 PM
Hello everyone,
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).
Any suggestions would be appreciated!
03-31-2023 06:23 PM
This question is best to be posted on the Automotive and Embedded Networks board.
For the address filter, you can refer to J1939-Custom-Device/Main.Create XNET Data Sessions.vi at master · NIVeriStandAdd-Ons/J1939-Custom-De... and go through all the configured frames using for loop.
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.