NI-CANTM Software for Windows and LabVIEWTM Real-Time (RT)
Version 2.3.3
© 1996-2006 National Instruments Corporation, All Rights Reserved.
Thank you for using National Instruments products for
Information in this file is organized in the following sections:
The Installation Guide: CAN Hardware and NI-CAN Software for Windows document included with the NI-CAN CD provides instructions for installing National Instruments CAN hardware and software.
The NI-CAN Hardware and Software Manual is the primary document for NI CAN products. This manual includes an introduction to CAN, specifications for hardware, information on how to get started with application development, and a complete reference for all NI-CAN functions.
The NI-CAN Hardware and Software Manual is provided in Adobe Acrobat Portable Document Format (PDF). You can download the Acrobat Reader for free at: www.adobe.com.
Open the manual from your Start menu in:
Start » Programs » National Instruments » NI-CAN
Links to the NI-CAN Hardware and Software Manual are provided in the online help for each NI-CAN function within the National Instruments LabVIEW and Lab Windows/CVITM development environments.
Online help for the NI-CAN features within Measurement & Automation Explorer (MAX) is located in the MAX Help Topics menu. The MAX Help Topics for NI-CAN also include a link to the NI-CAN Hardware and Software Manual.
You must install and run the NI-CAN software on the following operating systems:
NI-CAN software for Windows and LabVIEW RT supports the following National Instruments hardware products:
The following National Instruments Series 1 CAN hardware is not supported in this version of NI-CAN.
Install NI-CAN version 2.2 for support of the following hardware products (available on ni.com):
Install NI-CAN version 2.1.3 for support of the following AT (ISA) hardware products (available on ni.com):
The NI-CAN software supports only National Instruments CAN hardware products. For information about software for CAN products from other vendors, refer to the documentation you received with those products.
The NI-CAN software supports the following development environments:
This NI-CAN 2.3.x release adds the following features:
As described in Chapter 1 of the NI-CAN Hardware and Software Manual, NI-CAN supports two distinct formats for CAN data. The first format is the CAN frame, which represents a raw frame consisting of an ID, type, data bytes, and timestamp. The second format is the CAN channel, which represents a field in the data of a specific ID, scaled to a floating point value in physical units (such as Volts or Revolutions-per-minute). However, many applications require the ability to convert CAN data from one format to another. Several examples include:
To learn more about Frame to Channel conversion, refer to the Frame to Channel Conversion section of Chapter 6 in the NI-CAN Hardware and Software Manual.
For large test applications that are deployed to several end-users, it is common to query CAN databases for initial configuration of a test. With NI-CAN 2.3.x, the database queries can now be made without NI CAN hardware.
To learn more about database queries without NI CAN hardware, refer to the Frame to Channel Conversion section of Chapter 6 in the NI-CAN Hardware and Software Manual.
The ncWriteNetMult function allows writing multiple CAN frames to the write buffer. It supports multiple output modes to either transmit the CAN frames as fast as possible or transmit them in a timed manner based on the specified timestamp.
To learn more about ncWriteNetMult, refer to the complete function description in Chapter 10 (LabVIEW API) or 11 (C API) of the NI-CAN Hardware and Software Manual.
In addition to supporting multiple frames, the new ncWriteNetMult function supports timestamped frames. When the Transmit mode is set to Timestamped Transmit, NI-CAN times the transmission according to the difference in timestamps between consecutive frames. For example, if every frame provided to the ncWriteNetMult function increments by 10 milliseconds, the frames will be transmitted with a 10 millisecond gap. This functionality is important for applications that require playback or replay of logged CAN traffic.
To learn more about Timestamped Transmit, refer to the Timestamped Transmit section in the ncWriteNetMult description of the NI-CAN Hardware and Software Manual.
The NI-CAN logfile specification defines a simple, open, binary file format for the storage of CAN data.
You can find the NI_CAN_Logfile_Spec.htm specification in the following location:
…\Program Files\National Instruments\NI-CAN\Documentation
You can find logging, playback, and replay example
Hardware Input and Output » CAN » Channel API » Logging & Playback
Hardware Input and Output » CAN » Frame API » Logging & Playback
Most M-Series DAQ cards are now directly supported for hardware synchronization with NI-CAN. Refer to the CAN Sync Start/Stop with NI-DAQmx functions.
The NI-CAN 2.3.x release no longer includes the NI-DNET driver software. You can still use NI-CAN and NI-DNET together. To download the latest NI-DNET version, go to ni.com/downloads.
The NI-CAN 2.3 release also includes several changes not related to new features. The following table provides a brief description of several major changes:
API/Tool |
Old Behavior |
New Behavior |
Channel |
When multiple periodic channels are configured for a transmit rate faster than allowed, a warning is generated and only the first channel is transmitted. |
When multiple periodic channels are configured for a transmit rate faster than allowed, an error is generated and no channels are transmitted. When the transmit rate is at the threshold, a warning is generated and all channels are transmitted. |
Channel |
For Single-Chan Multi-Sample 1D (mode: Output), only the last sample of the array is transmitted when the sample rate is set to zero. |
For Single-Chan Multi-Sample ID (mode: Output), a message is transmitted for each entry in the array when the sample rate is set to zero. |
Channel |
For Read and Write, passing an empty array returns an error. |
For Read and Write, passing an empty array returns success. |
Channel |
The StartTrigger is not received when two tasks on different ports of the same hardware are used. |
The StartTrigger is received by both ports when two tasks on different ports of the same hardware are used. |
Channel |
An error is returned when two messages with the same ID and different byte lengths are used in different tasks. |
No error is returned when two messages with the same ID and different byte lengths are used in different tasks. However, the tasks cannot be used at the same time. |
Channel |
Channels with values greater than 52 bits are truncated when the scaling factor is set to one, but there is no warning or error message. |
An error is returned when channels greater than 52 bits and a scaling factor of one are detected. |
Channel |
When an input task is restarted (while the interface is still active), the task will return samples from the time before it was restarted. |
When an input task is restarted (while the interface is still active), the task will return samples from the time where the task was restarted. |
Channel |
All Channel API VIs were not re-entrant. |
All Channel API VIs are now re-entrant. |
Channel or Frame |
When transmitting frames on a low-speed card, a network fault (e.g. short CAN_H to CAN_L) might slow down the transmission. |
When transmitting frames on a low-speed card, a network fault (e.g. short CAN_H to CAN_L) does not slow down the transmission. |
Frame |
The function ncWait is a documented feature. |
The function ncWait was replaced with ncWaitforState. The function ncWait will continue to work, but it is not documented. |
Bus Monitor |
If an error occurs while the Bus Monitor is running, the Bus Monitor continues to operate. |
If an error occurs while the Bus Monitor is running, the Bus Monitor stops as if the STOP button was pressed. |
Frame |
The Start Trigger Behavior attribute of function ncSetAttr is a documented feature. |
The Start Trigger Behavior attribute has been replaced by the Log Start Trigger? and Timestamp Format attributes. |
In addition to the changes listed above, the following issues were addressed in the NI-CAN 2.3.2 release:
Please note that the list is not an exhaustive list of changes.
NI-CAN includes several Frame API attributes for Series 2 hardware features. If you have a LabVIEW VI written for NI-CAN 2.0 or earlier, upgrading to NI-CAN 2.1 or later will not automatically update constants or controls for the AttrId input. To use the new attributes, replace your older constants and controls using the AttrId input of the updated NI-CAN VIs.
If you do not want to use new Frame API attributes, you can continue to use the older constants and controls for compatibility.
This issue does not apply to the Channel API for LabVIEW.
Because the Get/Set Property functions are provided as polymorphic
NI-CAN has two different sets of attributes to filter received CAN frames.
The new attributes for Series 2 hardware include the Series 2 Filter Mode, Series 2 Comparator, and Series 2 Mask. This filter is programmed into the Series 2 hardware (Philips SJA1000), and applies to all received frames. The default value enables reception of all standard and extended frames.
The legacy Series 1 attributes include the Standard Comparator, Standard Mask, Extended Comparator, and Extended Mask. For Series 1 hardware, this filter is programmed into the hardware (Intel 82527) and applies to all received frames. For Series 2 hardware, this filter is implemented in software and applies only after a received frame has passed through the Series 2 filter. For Series 2, if the legacy attributes are programmed to don’t-care (all zero), the software filter is bypassed, and only the Series 2 filter applies.
NI-CAN provides support for CANdb network files created using the Vector CANdb or CANdb++ editor. The information from the CANdb file can be used in the Measurement & Automation Explorer (MAX) or with the NI-CAN Channel API. For more information, refer to the Using the Channel API chapter in the NI-CAN Hardware and Software Manual.
NI-CAN supports CANdb network files created using the CAN module of Vector products. NI-CAN does not provide complete support of CANdb files created using modules for higher-layer CAN protocols, such as J1939, ISO11783, or NMEA2000. In order to view the set of features supported for these modules, import the CANdb file into MAX. NI-CAN will display an error dialog for any unsupported object, and will display those objects with a red mark. For example, the J1939 protocol for multi-frame messages (greater than 8 bytes) is not supported in the current version of NI-CAN.
The NI-CAN 2.3.3 release has the following known issues:
“If feature ‘NI-CAN 2.3.3’ is installed it will break dependencies of the following products. This may result in loss of functionality in these products.”
To prevent breaking the dependencies uninstall the LabVIEW 7.0 support from the NI ECU Measurement and Calibration Toolkit.