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.
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.
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.