Validate CAN (J1939) interface on multiple UUTs with NI TestStand and NI LabVIEW

By using LabVIEW and TestStand, we were able to build a generic librairy that would enable to read/write CAN message based on the SAE J1939 standard for our customer. This librairy was architected to interface with multiple UUTs at the same time with no effort. And finally, there was a utility to monitor all CAN message traffic on the bus.

By using the NI-XNET driver in LabVIEW and by creating generic custom TestStand step types that interacts with the J1939 messages defined in the CAN Database. These functions are directly tided into a specific CAN hardware interface selected in order to handle multiple CAN interface within the test sequence.

Test Step Library

In order to validate the CAN communication on the UUT, a  TestStand sequence was developed in order to send, receive and monitor CAN J1939 frames. In order to reduce developed time on the  TestStand sequence, Neosoft Technologies built a custom Step library to be used within the  TestStand development environment.

TestStand bibliotheque step type

These custom steps are then configured directly when being inserted in the TestStand sequence through a custom Edit Step interface that is simplified by using the J1939 database that was previously configure through the NI XNET Database Editor.

TestStand Edit steps J1939 sequence step types

The Sniffer step allows to record all CAN traffic on that interface throughout the sequence and save it to a log file. This step is also used as shared memory with the Read Frame step in order to get the last message received.

Parallel test on multiple UUTs

By combining the Parallel TestStand model with this custom step library, we are able to easily test and interface with multiple UUT with their unique J1939 interface without having any interference from one UUT to another. This also help in scaling up production and/or V&V with little investment.

J1939 CAN Parallel test teststand xnet LabVIEW