LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

CANopen SDO R/W block

Solved!
Go to solution

Hi,

I want to transfer block of data between two CANopen devices. For this, I used CANopen SDO Read [Block].vi and CANopen SDO Write [Block].vi from the CANopen llb. However, the size of block is limited to 64 data bytes. This limitation is not mentioned in any of the help files. Reading data block larger than 64 bytes returns out of memory error and writing data block larger than 64 bytes returns invalid input error (−2147136895).

 

As per the CiA301 standards, the block transfer is limited to 127 segments of data. i.e. 889 data bytes. 

 

Is there a way to read or write larger SDO data block larger than 64 bytes? Am I missing something?

 

SW and HW used

LV2013

PXI 8531

NI-Industrial Communication for CANopen 16.0

 

Best Regards

MiKa

 

0 Kudos
Message 1 of 4
(2,702 Views)
Solution
Accepted by topic author mikan900

Hi,

 

The maximum that NI CANopen SDO transfer block of data is limited to 64 bytes. I suggest splitting the data if it's larger than 64 bytes.

 

Thanks!

0 Kudos
Message 2 of 4
(2,662 Views)
Solution
Accepted by topic author mikan900

Thanks for the confirmation. Block of data needs to be sent or received as CAN frames. 

0 Kudos
Message 3 of 4
(2,637 Views)

Can you provide an example how you solved this issue?

0 Kudos
Message 4 of 4
(253 Views)