09-28-2023 09:13 AM
I have a bunch of VIs I'd like to package for another PCs use (which has LabVIEW development on it). I would like to package them so the folder I create for the other PCs use included all the subVIs and has no linking issues when opened on the other PC. I know I can create a project to create a top level VI but I have multiple VIs. What is the correct way to do this? Thanks!
09-28-2023 09:23 AM
All internal paths of VIs are relative, so if the dependencies are not scattered all over the HD, you can just copy the hierarchy over.
09-28-2023 09:49 AM - edited 09-28-2023 09:51 AM
One way is to save the project as a duplicate and include all dependencies.
09-28-2023 10:24 AM
@testdesign wrote:
I know I can create a project to create a top level VI but I have multiple VIs.
So you don't have a project yet, right? Make one!
A project can have as many toplevel VIs you want so your perceived limitation does not even exist.
(A useful tools is the "files" view to ensure that some dependencies are not on weird relative locations.)
09-28-2023 10:38 AM
I don't know about how correct it is anymore but you can save a VI into a .LLB file.
File -> save as
Select "Duplicate hierarchy to new location."
Click Continue.
Navigate to the directory that you want it to land in and click "New LLB..."
Type in a name and click "Create"
Then click "Save"
Open the library and right click on the main VI and select make top level. You can have multiple top level VIs in a .LLB file.
You have to be careful about dependencies when you open things that have the same subVIs in multiple libraries. When it happens you get a popup that items were loaded with a different dependency. That being said it works great for moving things from one machine to another. It is also handy when you want to hand someone a DAQ box to go take some data.
09-28-2023 11:01 AM - edited 09-28-2023 11:03 AM
@Tom_Powers wrote:
I don't know about how correct it is anymore but you can save a VI into a .LLB file.
It is no longer "correct" to suggest this. 😄
LLBs are ancient, way before we had projects. VI names inside them can have characters that are not allowed by the OS and they were allowed to be longer, even if the OS did not support long file names (Windows 3.1!), so they were "somewhat useful" 30 years ago! 😄 If an llb gets corrupted, you probably lose all content. (see also). I would stay away!
09-28-2023 11:14 AM
Of course something I use is ancient I started using LabVIEW at version 1.2 and I am a LabVIEW Luddite.
When I do not use .LLB files and save as duplicate hierarchy new location it creates all kinds of new directories in the new location starting out with a directory called C and one called D so that it catches things that are in the
C:\Program Files\National Instruments\user.llb\<user library stuff>
D:\directory name\directory name\LabVIEW VIs\<several subdirectories>
In general I don't do projects. In general I do not do IVI type of structures as I don't want to have to worry about what insrument driver is installed in the directory user.llb on a given machine.
In general I use a structured directory approach on my test stands. The problem becomes when someone just needs to use an instrument for a quick test.
PS I also just got rid of my landline 20 years after I got my first cell phone.