Current Equivalents of Old NI-Industrial Communications for CANopen Driver VIs

Updated Apr 1, 2024

Reported In

Software

  • CANopen Library Toolkit

Issue Details

We have an old program that uses CANopen VI driver. We want to upgrade, but there were some significant changes from LabVIEW 2009 to LabVIEW 2023. We'd like to find equivalents of missing functions shown below:

image.png

Solution

Below are the equivalents:

  • CANopen Module Control.vi  is the CANopen NMT Write.vi.
  • All the CANopen create VIs (PDO, SDO, Heartbeat) are replaced with a single CANopen Create.vi.
  • CANopen SDO Read Object.vi and CANopen SDO Read.vi. Same with CANopen SDO Write Object.vi
  • CANopen PDO Read.vi is CANopen TPDO Read.vi.
  • CANopen PDO Write.vi is CANopen RPDO Write.vi.
  • There is no CANopen Object.ctl, so you will have to create that manually. 
  • The SDO Read and Write do not have the "timed out?" Boolean, since you will receive an error if it does.
  • The PDO Wait.vi does not exist as your TPDO VI has the timeout parameter, with which you can specify the how long you want to wait for data. You can see more information in the current documentation .
  • The Node Guard and Heartbeat wait VIs do not exist anymore, since the DLL that is being called in these VIs changed and those functions no longer exist. You will have to remove them from the project. To know how Node Guard and Heartbeat are used now, you can refer to the shipped example NI CANopen.lvproj.