Common Questions
How can I determine which version of the NI-CAN software is installed on my system?
Within MAX, select My System»Software»NI-CAN within the configuration window. The version is displayed at the right side next to the configuration window.
How many CAN cards can I configure for use with my NI-CAN software?
The NI-CAN software can be configured to communicate with up to 32 NI-CAN cards on all supported operating systems.
Are interrupts required for the NI-CAN cards?
Yes, one interrupt per card is required. However, PCI and PXI CAN cards can share interrupts with other devices in the system.
How do I use a baud rate that is not listed by NI-CAN?
Within MAX, you select the baud rate in the Properties of each CAN port. Select the Advanced button to specify an unlisted rate. Within the application, you can use the hexadecimal baud rate of 0x8000zzyy, where yy is the desired value for Bit Timing Register 0 (BTR0), and zz is the desired value for Bit Timing Register 1 (BTR1) of the CAN controller. For assistance with creating BTR values, use the advanced dialog referenced for MAX.
Can I use the Channel API and the Frame API at the same time?
Yes, you can use the Channel API and the Frame API at the same time, but only on different ports. For example, you can use the Frame API on port 1 of a 2-port NI-CAN card and the Channel API on port 2 of that card.
Can High-Speed NI-CAN cards and low-speed NI-CAN cards be used on the same network?
No. This is not possible due to different termination requirements of High-Speed and low-speed CAN devices. Refer to High-Speed CAN Pinout Cable and Low-Speed/Fault-Tolerant CAN Pinout Cable for more information.
Do NI-CAN cards support a listen-only mode?
Yes, Series 2, 847x, and 847x with Sync CAN interfaces support a listen-only mode, where the CAN card does not interact with the CAN bus, (that is, does not acknowledge incoming CAN frames).
Does the NI-CAN card provide power to the CAN bus?
No. To provide power to the CAN bus, you need an external power supply.
Why can't I communicate with other devices on the CAN bus, even though the self test in MAX passed?
If you have a Series 1 card, check the settings for the power source jumper. The EXT position is required for low-speed cards; High-Speed cards should have the power source jumper set to INT. For more information, refer to Connectors and Cables. If the jumper settings are correct, or you are using Series 2 CAN cards, the network may have a cabling or termination problem. Refer to NI CAN and LIN Hardware for more information. In addition, consult the documentation for the CAN nodes to ensure that the baud rate is exactly the same as you specify in MAX and/or the application code.
Why are components left after the NI-CAN software is uninstalled?
The uninstall program removes only items that the installation program installed. If you add anything to a directory that the installation program created, the uninstall program does not delete that directory, because the directory is not empty after the uninstallation. You must remove any remaining components yourself.
Why do I not see the new feature properties in LabVIEW when I upgrade to a newer NI-CAN driver version?
NI-CAN 2.4 (or newer) includes several new Frame API attributes. If you have a LabVIEW VI written for an earlier version of NI-CAN, upgrading to NI-CAN 2.4 (or newer) 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 VIs, they are automatically updated.
What is special to NI USB 847x devices?
For USB-LIN interfaces, the LIN bus must be terminated. This is typically done at the master node. For information about how to enable or disable termination on the USB-LIN, refer to the ncSetAttribute function with the Frame API.
The USB-LIN interfaces require external power of 8–18 V. For more details on the power requirements, refer to the USB-LIN specifications sections.
The USB LED quickly switches between green and amber when the hardware is first detected.
If you are using the USB CAN or LIN products with a USB hub, the hub must be powered.
Due to the inherent latencies of the Universal Serial Bus (USB), data or states received by the NI USB 847x Series devices might be processed by the driver on the host side later than data from a plug-in (PCI, PXI, or PCMCIA) interface. This does not affect the timestamps, as those are generated on the hardware, but could cause timeout failures with the NI USB 847x Series devices that will not happen on plug-in hardware. To avoid these failures, increase the timeout value for functions that perform a wait for a certain state.
NI USB-847x devices do not support the NI-CAN Channel API.
NI USB-847x devices do not support the CAN Object-related subset of the NI-CAN Frame API functions.
The following overview describes the subset of the Frame API features you can use with USB CAN and USB LIN products. The overview applies to LabVIEW, C/C++ and VB.
Supported functions:
- ncAction (refer to the limitations listed below)
- ncClose
- ncConnectTerminals/ncDisconnectTerminals (refer to the limitations listed below)
- ncGetAttr/ncSetAttr (refer to the limitations listed below)
- ncOpen
- ncConfigCANNet (refer to the limitations listed below)
- ncReadNet/ncReadNetMult
- ncWaitForState (refer to the limitations listed below)
- ncWriteNet/ncWriteNetMult (refer to the limitations listed below)
Limitations:
- ncAction: The Output On RTSI Line action is not supported.
- ncConnectTerminals/ncDisconnectTerminals: For the devices with synchronization, the following source/destination terminals are supported:
- RTSI0: Used to import/export a start trigger from another device.
- RTSI7/RTSI Clock: Used to import/export a timebase from another device.
- 20 MHz Timebase/Master Timebase: Used to export/import a timebase to another device.
- Start Trigger: Used to export/import a start trigger to another device.
- ncGetAttr/ncSetAttr: All CAN Object or RTSI-related properties are not supported.
- ncConfigCANNet: Only the Baudrate and StartOnOpen attributes are used; other values are ignored.
- ncWaitForState: The Read Multiple and Write Multiple states are not supported.
- ncWriteNetMult: Timestamped transmit is not supported, so the timestamp provided in the cluster is always ignored for USB products.