How Does the NI-Embedded CAN for RIO Driver Differ from the Traditional NI-XNET or NI-CAN Driver?

Updated Dec 22, 2023

Reported In


  • sbRIO-9606
  • sbRIO-9607
  • sbRIO-9626
  • sbRIO-9627
  • sbRIO-9633
  • sbRIO-9636
  • sbRIO-9651
  • sbRIO-9637
  • roboRIO


  • NI-Embedded CAN for RIO
  • NI-CAN

Issue Details

How does the NI-Embedded CAN for RIO driver differ from the traditional NI-XNET or NI-CAN driver?


The onboard CAN port of sbRIO-9606/9607, sbRIO-9626/9627/9633/9636, sbRIO-9651 System on Module (SOM), and roboRIO are not compatible with the NI-XNET or NI-CAN drivers.

Instead, they use the NI-Embedded CAN for RIO driver , which can be considered to be a condensed version of the NI-XNET or NI-CAN driver. 

The NI-Embedded CAN for RIO driver is similar to the Frame API of the NI-XNET driver. With this driver you may open, configure, and close the CAN port, as well as read/write frames. There are no advanced features, such as databases, clusters, signals, channels, etc.

The palette for NI-Embedded CAN for RIO driver is shown below: 

The palette can be found by right-clicking on the block diagram of a LabVIEW Real-Time VI to open the Functions Palette » Industrial Communications » Embedded CAN for RIO.

Shipping examples can be found at <LabVIEW>\examples\NI-Embedded CAN for RIO.

Additional Information

  • The sbRIO-9606/9607, sbRIO-9626/9627/9633/9636/9637, sbRIO-9651 System on Module (SOM), and roboRIO are unique in the fact that the CAN port is connected directly to the real-time processor. Because of this, the NI-Embedded CAN for RIO driver is a LabVIEW Real-Time driver and is installed as part of the associated packages to LabVIEW Real-Time and the RIO software drivers.
  •  The performance of the CAN port is expected to be lower than National Instruments dedicated CAN devices because it is also performing other LabVIEW Real-Time operations.
  • If you wish to use the NI-XNET driver with the sbRIO platform, see What sbRIO Controllers are Compatible with NI-XNET?