From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, 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: 

Where does real-time put deployed DLLs?

Using LabVIEW 8.5 and deploying code to an RT Target also running 8.5.

I run one VI that calls several DLLs using Call Shared Library nodes. It magically seems to "work" on the realtime target (a PXI) but after poking around on the target's hard drive (using the FTP interface) I cannot find the local copies (local from the viewpoint of the PXI) of the DLLs I'm calling.

Does the FTP interface hide directories from me?
0 Kudos
Message 1 of 8
(4,694 Views)


@AlexDubya wrote:
Using LabVIEW 8.5 and deploying code to an RT Target also running 8.5.

I run one VI that calls several DLLs using Call Shared Library nodes. It magically seems to "work" on the realtime target (a PXI) but after poking around on the target's hard drive (using the FTP interface) I cannot find the local copies (local from the viewpoint of the PXI) of the DLLs I'm calling.

Does the FTP interface hide directories from me?


What DLLs are this?

Rolf Kalbermatter

Rolf Kalbermatter
My Blog
0 Kudos
Message 2 of 8
(4,661 Views)
Custom (non-NI) ones. I can't find them in the file structure using the FTP connection.

Sorry, I should have been more clear.
0 Kudos
Message 3 of 8
(4,635 Views)
Hello,
 
What FTP are you using?  Windows ftp or National Instruments.  Plus, I would think that they put them in the folder ni-rt -> system.  Try checking that directory.
 
Michael B
0 Kudos
Message 4 of 8
(4,611 Views)
I checked the ni-rt system folder and the dll isnt there (its my DLL so i know the exact name to be looking for).

I'm using either windows explorer FTP or TotalCommander.
0 Kudos
Message 5 of 8
(4,590 Views)
When you deploy a VI from the LabVIEW development environment; the VI and it's dependencies, including dlls, are deployed to RAM memory. That is why everything 'magically' works but you don't see the dll on disk via FTP. This is also why VIs deployed from the LabVIEW development environment don't persist on the system after a reboot. If in the Call Library Node on the diagram you specify your dll name with ".*" as the extension, which is used for platform independence, then it won't deploy the dll to RAM and will assume it is already on the system. That is what is done with most of the system and driver dll calls which is why you see those dlls already down there.
 
-JRA
0 Kudos
Message 6 of 8
(4,493 Views)
Excellent answer. Thanks.

If I put my DLL in the ni-rt folder will it affect anything? I.E. will that force the VI to use the local version (on the PXI HDD) or will it still load the VI from the host directly into RAM?
0 Kudos
Message 7 of 8
(4,490 Views)
Placing the dll in "c:\ni-rt\system" folder or the "c:\ni-rt\startup" folders won't force the VI to use that copy unless something else has already loaded it into memory. If you want to use the copy on disk then you should use ".*" as the extension when you specify it in the Call Library node.
 
-JRA
0 Kudos
Message 8 of 8
(4,399 Views)