Can I Send More Than 8 Bytes of Data in a CAN Frame Using NI-XNET?

Updated Apr 24, 2023

Reported In

Hardware

  • PXI-8512
  • PXI-8461
  • PXI-8462
  • PXI-8463
  • PXI-8464
  • PXI-8513
  • PXIe-8510
  • PXI-8511

Driver

  • NI-XNET
  • NI-CAN

Issue Details

  • Is it possible to send a payload of 16 bytes using NI-XNET drivers with my PXI-8512 module?
  • I have some frames with payload greater than 8 bytes. I am not able to send these frames across to my DUT accurately. How can I do the same?

Solution

CAN Protocol itself is limited to a maximum payload of 8 bytes. You will not be able to send a payload of greater than 8 bytes in one frame while working with CAN Protocol.

It is not a limitation of NI-XNET APIs that it is not possible. And, as far as NI-XNET APIs are concerned, this information is mentioned specifically in the help documents:


 

Additional Information

Many Protocols have defined their custom frame format. For example, the SAE J1939 has a frame that has 12 byte payload shown:



Basically, you need a different API/protocol that works over CAN that can enable you to send a higher number of bytes. For example, On April 17, 2012, Bosch released an updated CAN specification, CAN with Flexible Data-Rate. This specification improves CAN performance by making two key additions to the CAN standard: increasing the maximum payload size from 8 to 64 bytes.