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.

FIRST Robotics Competition Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

LabView - Feature Request - New Subsystem Create Within Auto-Populating Directory

We're trying out LabView this year and I'm finding the experience with Subsystems to be a bit lagging in comparison to the Java or C++ implementation where Subsystems are collected under one directory structure to keep things a bit cleaner in the project.  This also helps solve a problem with source control in LabView which apparently doesn't work without the auto-populating directory we've named Subsystems in this example.

 

I don't understand why one isn't allowed to create a subsystem within an auto-populating directory structure, but if you want its possible to move the files around on disk then force LabView to comply with the move by fixing the conflicts that the move causes afterwards in the software by re-mapping the new homes.

 

See attached for an example of what I would expect should be possible.

0 Kudos
Message 1 of 5
(3,268 Views)

The auto populating folder is just a map to how the files are displayed in windows.

LabVIEW doesn't understand a folder of files as a group set of files.

If you go to the files tab in the project and right click on the folder you can move it but can't copy.

You will have to click on explore and copy the folder in windows.

project.png

I wouldn't recommend this as it will create a bunch of file with the same name and you will have to deal with all the conflicts it will generate.

conflicts.png

 

I would recommend you place all the subsystem files in a .lvlib.

LabVIEW does recognize files in a .lvlib as a file group. 

you can create an new lvlib and then drag the files into it

lvlib.png

Then Save the lvlib preferably in the same folder as the files.

create lvlib.png

when the files are placed into the lvlib their name space now reflects the lvlib they are link to.

Name space.png

 

Now that all the files are linked together through the lvlib all the files can be copied as a set using save as.

saveas.png

 copy.png

You will have to create a new windows folder but all the files will be copied together and the lvlib name spacing keeps the same file names from creating conflicts.

no conflicts.png

I am using this technique to create a subsystem template in a video series I put together for teams I am helping remotely. If you would like to see how I use the lvlib templates they are demonstrated in Demo 1 video starting at 10:40 min.

The video also shows how to make an icon for the lvlib so all the vis inside will have a common icon header.

 

Here is a link to all the videos if you are interested (Lockport Porterbots team 4292 you tube channel)

https://www.youtube.com/channel/UC7eTQXkTNmPoIgXqqRZHe2w

 

 

 

Champion CLA

Making senseless computers do
intelligent real world things
is NOT easy. SO MAKE IT FUN!
Message 2 of 5
(3,245 Views)

Interesting that there is another approach to achieve this, but really all I'm looking for is taking two existing features and melting them together.  I like the way the "New Subsystem" created stub code to work with.  Combine that with "Auto Populating" folder structure functionality and then there's less issues to be had with Source Control tools like GIT.  Thanks for the feedback though :).

0 Kudos
Message 3 of 5
(3,236 Views)

@prodigi3277 wrote:

but really all I'm looking for is taking two existing features and melting them together.


Are you  looking to merge 2 vis into one? There is a merge tool that can help do this.

 

Merge.png

Champion CLA

Making senseless computers do
intelligent real world things
is NOT easy. SO MAKE IT FUN!
0 Kudos
Message 4 of 5
(3,225 Views)

FYI for ideas we should like the thread at the link below.

 

LabvIEW Idea Exchange - https://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas

 

Also here are short introductions for GIT and LabVIEW that I've found helpful. I know they might not solve the request but maybe there's information here that can help bridge the gap.

 

Getting Started With Git and LabVIEW - https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019OWSSA2&l=en-US

 

Every Developer Needs a Time Machine - https://delacor.com/every-developer-needs-a-time-machine/

 

 

JY
Application Engineer, RF and Communications
National Instruments
0 Kudos
Message 5 of 5
(3,224 Views)