LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

dll for cRIO

Hello,

I am trying to create a dll that runs on a cRIO.
I have a VI including a CallLibraryNode that runs on a PXI system without any problems.
But when using the same vi on a cRIO, I always get an error:
Failed to load shared library on RT target device.

I have already tried to simplify the code as much as possible.
At the moment, I only have the function but without any code in it.
The dll is compiled with Visual C++ 6.0.

Is there anything special about creating dll's for cRIO?
Or do I have to install special modules on the cRIO?

Thank you.

Best regards,

Christian
0 Kudos
Message 1 of 6
(3,880 Views)
Christian,

Sounds like you're running a VxWorks-based cRIO. As mentioned in the KB, VxWorks is a Unix-based OS capable of running shared libraries compiled as .out files. You can learn more about this in Developing Shared Libraries for the cRIO-901x and Other VxWorks Targets.

If you are not running a VxWorks-based cRIO, I'm curious if you're accessing some NI driver code (or something similar) that is installed on PXI targets and not cRIO targets (such as NI-DAQ).

Cheers.

| Michael K | Project Manager | LabVIEW R&D | National Instruments |

0 Kudos
Message 2 of 6
(3,866 Views)
Michael,

Thank you for your reply.
I am not sure if this is a VxWorks based cRIO. How can I check this?

In my latest tests, I was using a complete empty dll, only one function was defined but no code inside. Therefore I don't think that this could be a driver issue.

Thank you.

Christian
0 Kudos
Message 3 of 6
(3,862 Views)


@ChristianEC wrote:
Michael,

Thank you for your reply.
I am not sure if this is a VxWorks based cRIO. How can I check this?

In my latest tests, I was using a complete empty dll, only one function was defined but no code inside. Therefore I don't think that this could be a driver issue.

Christian



By checking the type number of your cRIO. If it is a 901x model then it is a VxWorks based model.

Rolf Kalbermatter
Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 4 of 6
(3,839 Views)
Rolf is right.  The cRIO-901x models run VxWorks compared to the 900x models that run PharLap.  Most people don't know this because LabView real-time seems to handle all this for us behind the scenes.  I believe the 901x models are just the 9012 and 9014 currently.
"If you want to succeed... Architect" - The Specialist
0 Kudos
Message 5 of 6
(3,817 Views)
Thanks to all of you, this was the solution.  When compiling with the gnu compiler, I can load the *.out and run the VI.
0 Kudos
Message 6 of 6
(3,806 Views)