Overview
The J1939 add-on provides the ability to monitor and communicate with any J1939 compliant devices on a CAN network. Specifically, it provides the ability to read and write J1939 frames (including frames over 8 bytes) imported from a database, read active and previously active trouble codes (DM1 & DM2), clear active and previously active trouble codes (DM11 & DM3), claim and cache J1939 device addresses, send J1939 requests, and generate raw frames on the network. This functionality is commonly used for testing J1939 compliant ECUs/ECMs. Typically, NI VeriStand is used to simulate the necessary parts of the system. Inputs to the ECU/ECM are set to error conditions, which trigger the ECU/ECM to generate a diagnostic trouble code (DTC). The J1939 add-on is used to confirm the correct DTC was issued. The error condition and DTC is then reset. Automation of this test sequence is made possible through NI TestStand or NI VeriStand Stimulus Profile Editor so that testing of all the desired cases is efficient and repeatable.
In addition to the add-on, a workspace control, workspace tool, SPN indicator, Stimulus Profile Editor automation sequences, host automation API, and system definition API are provided. Help for the components is included in the form of the Getting Started document, examples, and video demonstrations attached below. The embedded video is the demonstration for the workspace control. It shows the main features of the J1939 Add-on in action.
NI XNET 16.0+ Notes
NI released native support for J1939 with the NI XNET 16.0 driver release. Versions 2015+ of the J1939 Addon supports this implementation. Previous versions (2014 and earlier) do not.
If you are upgrading from a previous version of the addon to the latest XNET based version, it is recommended that you
Instructions for Use
The file named J1939 Addon 4.0.0_Built_<VS Version>.zip attached below contains all the built files for the J1939 Add-on, workspace control, workspace tool, SPN indicator, host automation API, and system definition API. It also contains installation instructions in the form of a readme.txt file. Use this if you want to use the custom device in VeriStand.
All the source for this addon resides on Github at https://github.com/NIVeriStandAdd-Ons/J1939-Custom-Device.
J1939 Add-on
The instructions for use are contained in the J1939 Add-on Getting Started Document.zip. Additionally, view the video named 1_Add_J1939_Addon_to_SysDef.mp4 attached in J1939 Add-on Getting Started Videos_1.zip.
J1939 Workspace Control
The instructions for use are contained in the J1939 Add-on Getting Started Document.zip. Additionally, view the video named 2_J1939_Workspace_Control.mp4 attached in J1939 Add-on Getting Started Videos_1.zip.
J1939 SPN Indicator
The instructions for use are contained in the J1939 Add-on Getting Started Document.zip. Additionally, view the video named 3_J1939_SPN_Indicator.mp4 attached in J1939 Add-on Getting Started Videos_1.zip.
J1939 Workspace Tool
The instructions for use are contained in the J1939 Add-on Getting Started Document.zip. Additionally, view the video named 4_J1939_Workspace_Tool.mp4 attached in J1939 Add-on Getting Started Videos_2.zip.
J1939 Stimulus Profile Editor Automation Sequences
The instructions for use are contained in the J1939 Add-on Getting Started Document.zip. Additionally, view the video named 5_J1939_Diagnostic_Channels_Automation.mp4 attached in J1939 Add-on Getting Started Videos_2.zip. The attached file J1939 Stimulus Profile Example.zip contains the example profile and sequence files.
J1939 Host Automation API
The instructions for use are contained in the J1939 Add-on Getting Started Document.zip. Additionally, view the video named 6_J1939_TestStand_API.mp4 attached in J1939 Add-on Getting Started Videos_2.zip. The attached file J1939 Addon 4.0.0_Built_<VS Version>.zip contains the example code named J1939 Host Automation API_Example.vi.
J1939 System Definition API
The instructions for use are contained in the J1939 Add-on Getting Started Document.zip. Additionally, view the video named 7_J1939_SysDef_API.mp4 attached in J1939 Add-on Getting Started Videos_3.zip. The attached file J1939 Addon 4.0.0_Built_<VS Version>.zip contains the example code named J1939 System Definition API_Example_Create Sysdef and Add J1939 CD.vi and J1939 System Definition API_Example_Get J1939 CD Settings.vi.
Installing the J1939 Add-on
To use the J1939 add-on, unzip the add-on files inJ1939 Addon 4.0.0_Built_<VS Version>.zip. Browse to J1939 Addon 4.0.0_Built_<VS Version>.zip\readme.txt and follow the directions.
If you are upgrading from a previous version of the addon to the latest XNET based version, it is recommended that you
Add-on Requirements to Run the J1939 Add-on
All attempts have been made to provide an add-on compatible with the NI VeriStand shipping examples. The nature of some add-ons requires additional software or hardware to function.
Only NI-XNET CAN Interface hardware is currently supported. The add-on requires one NI-XNET CAN port per instance. The add-on has only been tested with NI PXI Real-Time controllers.
Software
This device was created for use with NI VeriStand 2015. In addition to NI VeriStand 2015, you must have the following software installed:
NI-XNET 16.0 or Later
Note: Versions for NI VeriStand 2013 through 2014 will continue to be attached for people needing those versions. Any new features will be added only to the 2015 and later versions.
Hardware
This add-on requires the following hardware:
NI-XNET CAN Interface Hardware
Add-on Requirements to Modify the J1939 Add-on
All the source for this addon resides on Github at https://github.com/NIVeriStandAdd-Ons/J1939-Custom-Device. Review the ReadMe.md file for this information.
Release Notes for the J1939 Add-on
<1.0.0>
<1.1.0>
<1.2.0>
<1.3.0>
<2.0.0>
<4.0.0>
Known Issues for the J1939 Add-on (current version)
Support and Contact
This add-on is provided as open-source software. If it does not meet your exact specification, you are encouraged to modify the source code to meet your needs. It is not officially supported by National Instruments. If you encounter a problem with this add-on, or if you have suggestions for a future revision, please post to the forum for this add-on (J1939 Add-on Feedback). You must use this feedback forum for support. Do not call National Instruments for support for this add-on. National Instruments does not support this code or guarantee its quality in any way. THIS EXAMPLE PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).
Is this compatible with Veristand 2012?
There would be a deploying error using this add-ons in VeriStand 2018.
Below is the error information we got. How can we solve this problem?
?Files successfully deployed to the targets.
?Starting deployment group 1...
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
The VeriStand Gateway encountered an error while deploying the System Definition file.
Details:
Error -1074384758 occurred at Project Window.lvlib:Project Window.vi >> Project Window.lvlib:Command Loop.vi >> NI_VS Workspace ExecutionAPI.lvlib:NI VeriStand - Connect to System.vi
Possible reason(s):
NI-XNET: (Hex 0xBFF6308A) The interface name given does not specify a valid and existing interface. Solution: Use a valid and existing interface. These can be obtained using MAX, XNET system properties, or the LabVIEW XNET Interface IO name. If you are using CompactRIO, refer to the topic "Getting Started with CompactRIO" in the NI-XNET Hardware and Software Help.
=========================
NI VeriStand: NI VeriStand Engine.lvlib:VeriStand Engine Wrapper (RT).vi >> NI VeriStand Engine.lvlib:VeriStand Engine.vi >> NI VeriStand Engine.lvlib:VeriStand Engine State Machine.vi >> NI VeriStand Engine.lvlib:Initialize Inline Custom Devices.vi >> Custom Devices Storage.lvlib:Initialize Device (HW Interface).vi
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
?Sending reset command to all targets...
?Stopping TCP loops.
Waiting for TCP loops to shut down...
?TCP loops shut down successfully.
?Unloading System Definition file...
?Connection with target Controller has been lost.