From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to build a real time time application calling a cvi dll (cRIO 9091)

Solved!
Go to solution

Hi everyone,

 

Here is my problem:

- Following the NI tutorial (http://zone.ni.com/reference/en-XX/help/370051AC-01/cvi/programmerref/examplecreatinglvrtdlls/), I build the simpCalC.dll using CVI2015. I build it with realease and selected "Real time only in target settings. Also I included the .h files in exported files.

- The DLL passed the DLL checker 2015

- Under my cRIO 9081 target (Phar Lap/Labview 2015) i added a VI calling the simpCalc.dll using the "Call library function node". I set simpCalc.* for name/path.

- When i run the VI, it works, the dll is called properly.

But I now want to build a real time application, so I put the dll at c:\ni-rt\startup\simpCalc.dll using NIMAX ftp. Problem is: i get an error 7 whatever the path/name I set.

 

Can you please help me in that case?

 

Thank you

0 Kudos
Message 1 of 14
(4,305 Views)

Hello Guillaume.Cl,

 

have you tried an absolute path internally in the call library function node and or external so you can chose the path?

Can you try to add the dll to your project and always include the dll into the build executable?

best regards
Alexander
0 Kudos
Message 2 of 14
(4,272 Views)

Hi,

Thanks for answering.

Yes i tried both setting on Call library node

I also tried to add the dll in the project and include it in teh build

In addition, i add the check file exist.vi : it says the file exist but still got error 7.

Do the real time application needs more than the dll file to run? 

Thank you

 

0 Kudos
Message 3 of 14
(4,268 Views)

Hello Guillaume.Cl,

 

it could be also a mitstake during creating the DLL. I have attached a simple LV project in which i created a DLL and copied it manually to the RT folder and called it on the target inside the executable.

Unbenannt.PNG

best regards
Alexander
0 Kudos
Message 4 of 14
(4,264 Views)

Can you also give me the dll folder pls?

Thank you

0 Kudos
Message 5 of 14
(4,251 Views)

Hello Guillaume.Cl,

for my example i used the C:\ni-rt\startup\Add.dll folder.

best regards
Alexander
0 Kudos
Message 6 of 14
(4,247 Views)

Hi,

I joined the project + VI's + dll

Maybe it can help

The dll was compiled in cvi 2015 (compiled with release for real time only)

The real time targer is 9081 cRIO (Phar Lap OS)

Like i said in my first post, it works by just running the VI's, but it doesn't when I build a real time application.

 

PS: pls change the .txt file to .dll (seems I can't link a .dll file)

 

Thank you 

Download All
0 Kudos
Message 7 of 14
(4,243 Views)

Hello Guillaume.Cl,

 

i tried it on an 8106 RT system with LV 2016 and it worked. I build the RT application with setting the dll as always included and enabled debugging under the advanced settings. The dll was copied on the RT target automatically into the data folder.

Unbenannt.PNG

 

Unbenannt.PNG

best regards
Alexander
0 Kudos
Message 8 of 14
(4,232 Views)

Hello Guillaume.Cl,

 

have you installed the CVI runtime engine on the system?

Unbenannt.PNG

 

 

best regards
Alexander
0 Kudos
Message 9 of 14
(4,231 Views)

Hi,

Thanks for replying.

I checked for Labwindows 2015 run time engine but I don't have it and I can't install it on my cRIO 9081.

Maybe it worked for you because your target is a pxi?

Thank you

0 Kudos
Message 10 of 14
(4,224 Views)