04-03-2014 03:43 AM
Hi,
I have a problem when trying to deploy a .VI to my cRIO 9082.
The .VI is to control the velocity of a DC engine (KOLLMORGEN) through a servo drive.
However, whenever i try to deploy the VI i get the error message as follows:
LabVIEW: Failed to load shared library nilvaiu (see also attached image).
The dll is present in the tree (see attached image) and i've just reinstalled the DAQmx 9.x.x.
Anyone have a clue on how to fix this?
Help is much appreciated.
Best regards,
Jakob.
Solved! Go to Solution.
04-03-2014 04:07 AM
Is the 9082 running LabVIEW Real-time (RT)? If so - I would suspect that the DAQmx drivers are not installed on the RT target. I'm not entirely sure how DAQmx works with RT targets as it's not something I've used before (and this thread says that you can't use DAQmx on cRIOs - http://forums.ni.com/t5/LabVIEW/DAQmx-driver-support-in-cRIO-Error-fail-to-load-nilvaiu-dll/td-p/112...
1) Have you checked the software installed on the 9082 (go to max, find your cRIO, click 'software' and then add/remove software) to see if there is an option for installing DAQmx support?
2) Do you have LabVIEW RT support installed with your DAQmx drivers? There's some information about it here but it seems quite out of date http://digital.ni.com/public.nsf/allkb/79CB44F7E228AED88625756E00445151. I've just taken a screenshot of my DAQmx configuration:
The other options seem to suggest that it's because DAQmx is corrupted but you said that you've tried reinstalling that. Have you also tried 'repairing' it?
04-07-2014 02:34 AM
Hello Sam,
I have tried reinstalled both Device Drivers and DAQmx without any luck.
When trying to deploy the VI onto the RT target it suggests that i FTP transfer the nilvaiu.dll.
However, when logging onto the cRIO (using IP in browser) there's a lot of folders and i do not know where to place it.
Could this be a solution, or should i reinstall all drivers (again?)?.
Best regards,
Jzaulich.
04-07-2014 07:27 AM
In addition my previous post, here's some illustration describing the system more thoroughly.
The error occurs when im connecting to the cRIO for the first time and whenever i try to deploy the .VI in the system.
As seen on the illustrations, the nilvaiu.dll is on the cRIO under \system and under system\handlers and even under "dependencies" in LabVIEW, however, they must be corrupted as the system is not functioning.
Hopefully, the additional information will help.
Thanks.
/Jakob
Screenshots: https://www.dropbox.com/sh/mlazfqe5e4ii815/jr5zVaHzwH
04-08-2014 02:09 AM
Hi Jakob.
You cannot use DAQmx on a RIO system - it is two different drivers for two different platforms.
To clearify what DAQmx Real-Time support means; You can have a normal desktop computer, running LabVIEW RT OS, and have a DAQmx PCI Card in that computer. In this case, you can use the DAQmx driver in a RT application.
The 9082 cRIO has the option to either run a RT OS or Win OS. I assume you are running the RT OS. The RT OS on the 9082 is Phar Lap ETS, which means that you can execute .dll files, in the same way you can execute them in Windows. However, it is important to note that even though Windows and PharLap both recognize the .dll file extension, DLLs that run on Windows may not run properly on PharLap targets. To understant the complexity of this, you can read this KB:
How Can I Verify that My DLL is Executable in LabVIEW Real-Time on NI PharLap ETS?
So, with this in mind and without knowing your application, you cannot deploy your application to the cRIO. What's the reason for using DAQmx code? What module are you trying to interface to - maybe we can just replace the API so that you are using the RIO driver instead?
04-08-2014 06:32 AM
Hey Alex,
Once again you clarified a problem and for now the problem has actually been solved.
I used a different .VI without involving any DAQmx code, which now allows me to deploy my .VI without any problems and controlling my DC motor.
Thanks again for your help and service - It is much appreciated.
Best regards,
Jakob Zaulich
04-08-2014 06:59 AM
Hi Jakob.
Great, I'm happy you are now up and running