Showing results for 
Search instead for 
Did you mean: 

Using canopen with veristand

We are implementing a CANopen device in our system and I am trying to implement this functionality in Veristand 2011. However, it seems very cumbersome to use the database editor to create the canopen structure and I was wondering if there were any CANopen tools for use with veristand that would simplify this?

0 Kudos
Message 1 of 21

Well, NI sells CANopen devices for PCI/PXI and cRIO which come with a driver that has all the CANopen functionality in a LV API. All you have to do is writing a custom device for that driver in Veristand.


Driver Download Link


Hardware Web Link



0 Kudos
Message 2 of 21

What about if you have a PXI-8513/2?



0 Kudos
Message 3 of 21

Hi Dave,


There is the NI CANopen LabVIEW Library that would allow you to use your PXI-8513 through a compatibility layer.  You would need to create a custom device to use it in Veristand.  The performance of the CAN card would probably be degraded, and determinism might take a big hit.



Matt M.

Applications Engineer
National Instruments
0 Kudos
Message 4 of 21



   I am working on developing a system that will use CANopen in Veristand.  My understand is that the PXI-8513 should natievely support CANopen in Veristand since it uses XI-NET?

0 Kudos
Message 5 of 21


0 Kudos
Message 6 of 21

The CANopen library that I linked to is built on top of NI-CAN, not NI-XNET, so in order to use it you will need to create a custom device.  Your card, since it uses NI-XNET is natively supported in Veristand, but using it with the CANopen protocol is not natively supported because of the above mentioned incompatibility.


CANopen is a protocol on top of CAN, so it would be possible for you to build the protocol manually using NI-XNET, and then you may have native support in Veristand, but there is no NI supported library for this.



Matt M

Applications Engineer
National Instruments
0 Kudos
Message 7 of 21



    Thanks for clearing this up.  I have started reading the Custom Device developer guide.  Now I am wondering what the recommended architecture is for a CANopen custom device?


        Should the top level device be the CAN port? Or should it be the Node that you are communicating with?


        And drilling down from there, how do you devide the sections and channesl up?





0 Kudos
Message 8 of 21

From Matt (the forums have been acting up a bit):

 Because NI VeriStand is an open-architecture real-time test platform, we can add a CANOpen RT Plug-in (Add-on) for NI VeriStand.  It will leverage the LabVIEW CANOpen library and operates on NI CAN cards.  CANOpen is a higher level protocol that sits on top of "normal" CAN, which is why the additional library is required and this functionality is not natively supported in NI VeriStand.  We are willing to work with you to get this done, but that should probably be a direct conversation.  

Kevin Fort
Principal Software Engineer
0 Kudos
Message 9 of 21

HEllo! I've a really similar problem!
I've to export a Labview(2011) Realtime application on Veristand(2011).

I'm using a PXI with controller 8133 with the 8512 2 port Xnet card for the CANopen.

I'm using the CANopen Libray through Xnet 1.4 with compatibility Library installed.

The project is working as expected in Labview, BUT 'im having an error message when deployng to the PXI the System definition file with my custom device

The error is:

The VeriStand Gateway encountered an error while deploying the System Definition file.
Error 1003 occurred at Project Window.lvlib:Project >> NI_VS Workspace ExecutionAPI.lvlib:NI VeriStand - Connect to
Possible reason(s):
LabVIEW: The VI is not executable. Most likely the VI is broken or one of its subVIs cannot be located. Select File>>Open to open the VI and then verify that you are able to run it.
NI VeriStand: Open VI Reference in NI VeriStand Engine.lvlib:Open Custom Device Driver VI>NI VeriStand Engine.lvlib:Launch Asynchronous Custom>NI VeriStand Engine.lvlib:VeriStand Engine State>NI VeriStand Engine.lvlib:VeriStand>NI VeriStand Engine.lvlib:VeriStand Engine Wrapper (RT).vi<APPEND>

The error seem to be within the RT-driver (I configured It as asynchronous). When I disable all the CANopn structures, indeed the project can be deployed to the real time target.


I've tryed to convert everithing in LV2010 and VS2010, but the error and the behavior is exactly the same.

I post an example of my RT-driver just to be more understandable 😉


Can anyone post an example, or just brifly explain, how to use the "CANopen Labview Library" with Veristand?


Thank you very much in advance!!!

Davide Galli

0 Kudos
Message 10 of 21