PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Running LabVIEW code on a RT host pc

Hi,

 

I am developing a RT project for a programmable instrument on a PXI system using LabVIEW 8.6. When running the code, I receive the following error message:

 

Fail to load shared library CIC_RP50.dll

Deployment completed with errors

 

I am not sure why it does not recognise the instrument drivers of the instrument needs to be controlled. Under the project explorer for the PXI dependencies tab , I do see the VIs of the required drivers which are being used in my LabVIEW code. Do I need to store the .dll file to a specific folder? Can get some suggestions?

0 Kudos
Message 1 of 19
(4,150 Views)

Hey Kierenz,

 

Before deploying a .dll file to an RT target you must ensure that it is compatible. I have posted a link below which you can use to verify the .dll works before deploying. Let me know how it goes.

 

http://digital.ni.com/public.nsf/allkb/0BF52E6FAC0BF9C286256EDB00015230

 

 

Regards

Andrew George @ NI UK
0 Kudos
Message 2 of 19
(4,128 Views)

Yes, I have done that using the DLL Checker 8.6. The results showed about 1532 functions are under the bad category which means the function has not been exported to the operating system.

 

I thought this done automatically when the VI is run on the LabVIEW Real Time. In the Project Explorer window, under the PXI >>Dependencies>>vi.lib , I can see the list of instrument drivers which are used in my VI listed. I would assume it does recognise the drivers but could not find the .dll path.

 

Do I need to save the .dll in a specific folder? Could you please advise me further?

0 Kudos
Message 3 of 19
(4,119 Views)

Also, how does the DLL checker determine if whether or not the functions have been exported to the operating system specifically to PXI?

 

 

0 Kudos
Message 4 of 19
(4,118 Views)

Just to ensure i have provided enough information, the instruments drivers were downloaded from the Instrument Driver Network whereby it is mentioned that the driver is suitable for labview 8.2 and higher and i am using labview 8.6.

 

Thanks for the reply.

0 Kudos
Message 5 of 19
(4,115 Views)

Hey Kieren,

 

I have a few more questions for you to get a better understanding of what you are trying to achieve. Also I would consider rewriting or even using the DLL, as if the DLL check is resulting in a "BAD" this to me suggests the DLL itself is not calling or retrieving files correctly. The questions are as follows:

 

Are you using a DLL rather than LabVIEW to control the Instrument I/O?

 

What exactly are you trying to achieve with the DLL?

 

Are you using a Hyper Visor system?

 

Regards

Andrew George @ NI UK
0 Kudos
Message 6 of 19
(4,067 Views)

Hey, thanks for the reply Andy. At the moment I am trying to program the power supply using the instrument drivers provided by the manufacturer and by using LabVIEW I have developed a program for the power supply control. The communication is setup via RS232 link which is connceted between the PXI chassis and the power supply.

 

Without using the LabVIEW real time, it was running fine on another computer which is not connected to the PXI chassis. But after downloading the program to the PXI, the instrument drivers don't seem to work as in the .dll is not recognised by the shared library.To answer your questions:

 

1) I am using LabVIEW to control the instrument which is made up of few different instrument drivers provided by the manufacturer.

2) I am guessing .dll is the extension to the instrument drivers I am using in my LabVIEW code.

3) I am not using Hyper Visor system

 

Regards,

Kieren

0 Kudos
Message 7 of 19
(4,021 Views)

Hey Kieren,

 

What realtime operating system are you using? I believe the error is directly cause by the DLL, if you are not calling the National Instruments instrument drivers correctly the system will simply not depoly. Also If your are using RS232 you must ensure that the VISA drivers are called, VISA is the driver that handels serial communication in LabVIEW.

 

Also I suggest implementing the function of the DLL in LabVIEW rather, this should not take too long as the driver calling will all be handeled by LabVIEW.

Regards

Andrew George @ NI UK
0 Kudos
Message 8 of 19
(3,991 Views)

 

 

Hey Andy,

 

I am using Windows XP. I am not very familiar with LabVIEW. How do I make sure that the NI instrument drivers are called correctly? I have used the LabVIEW serial communication.vi example to ensure that the RS232 is working properly but I am not sure on to check if the VISA drivers are called correctly on my LabVIEW code. 

 

Also, what do you mean by implementing the function of the DLL in LabVIEW? Does that mean that instead of using the instrument drivers I should be developing the vi for each function on the LabVIEW code which I have developed?

 

Thank you.

 

Regards,

Kieren

0 Kudos
Message 9 of 19
(3,965 Views)

Hey Kieren,

 

With regards to calling drivers in LabVIEW, this is handled by the software and is done automatically, so the example code you are using to communicate with the device via RS232 will work fine.

 

 I take it the DLL was written by the company that has created the Hardware and there they are stating that their software is compatible with LabVIEW? If that is the case then you will have to contact the company who wrote the drivers for support, as we cannot take responsibility for the drivers they have created.

 

Im sorry I cannot be of more help.

Regards

Andrew George @ NI UK
0 Kudos
Message 10 of 19
(3,938 Views)