Tag Archive for: VI Snippet

LabVIEW Subpanel

 

Figure 1 – Radio Button control of VI insertion into subpanel.

 

One control combination that our LabVIEW development team uses to build modular adaptive user interfaces is the radio button, subpanel pairing.  Using the radio button to switch between vis displayed in a subpanel essentially allows you to  make a tab control that scales with the front panel during resizing events.

I built the vi shown in Figures 1 & 2 (linked here) to demonstrate how to insert dynamically called vi’s front panels into a subpanel.¬† In this example each radio button inserts a different 3D graph example vi into the subpanel by its reference.

Since the vis used in the subpanel are called dynamically, some extra steps may be required to build the exe.  The link below shows how to build an exe that uses dynamically called vis using the application builder.  I have also included some path tips that are useful when building LabVIEW executables (exe).

Related Link: Integration of Sub-Panel in the Front Panel of LabVIEW Executable – National Instruments (ni.com)

Figure 2 – Inserting a VI into a subpanel block diagram.Steps for Inserting a VI into a Subpanel

  1. Assign VI Name to a Button or Tree Item.
  2. Insert File Name into the Relative Path containing VIs to show in the Sub Panel.  See Notes
  3. Open a reference to the VI.
  4. If the VI is in the Idle state then run the VI.
  5. Insert VI into the Subpanel via a reference.

Notes

  • “..” will cause the Build Path VI to strip path once.
  • \ One extra \ is required per folder because the format into string function interprets backslashes as escape characters.

You can also use a tree control instead of a radio button to control which vi is inserted into the control panel.¬† An example of this method is illustrated in a previous blog titled “Building a Modern User Interface in LabVIEW“.¬† ¬†The vi shown in that blog uses a similar technique for building and selecting the which vi will be inserted into the subpanel.

Figure 3 – Insert VI into subpanel snippet.

Figure 3 above is a vi snippet of the Insert VI invoke node for a Subpanel. If you already have a subpanel, right click on the subpanel, create a reference and wire it to the subpanel invoke node.

To learn more about subpanels, other LabVIEW programming techniques, iTestSystem or our LabVIEW programming services contact Mark Yeager  @(844) 837-8797.

LabVIEW Dialog Snippet

Figure 1 ‚Äď Framework for Simple Dialog VI Snippet

Here is a trick for creating a simple dialog in LabVIEW. Follow these simple steps to quickly create your next dialog in less than a minute. 

  1. Create a New VI .
  2. Drop the VI Snippet (Figure 1) above on the block diagram.
  3. Update the Window Appearance setting in VI properties to dialog (see Figure 2 below).
  4. Optional: Update with a Custom Window title.
  5. Save and run the VI.

Figure 2¬†‚ÄstVI Properties/Windows Appearance

In the dialog template snippet I also used another useful snippet Рthe error case structure.  This simple VI snippet will help you save time with your next project.

What’s next? 

Common snippets for folder creation and cluster sorting.

LabVIEW VI Snippets

ÔĽŅÔĽŅ

If you’ve ever managed or work with a team of programmers, you realize that each person has their own programming style.¬† If programming team members always use their own code and style, they cannot develop code effectively.

A critical practice for getting programming teams to work efficiently is code re-use.  In LabVIEW there are many ways to implement code re-use.  In this blog I decided to revisit one of these code re-use strategies, the VI Snippet.  

What is a VI Snippet? 

‚ÄúVI Snippets are a way to store, share and reuse small portions of LabVIEW code. VI Snippets combine the portability of a screenshot with the functionality of a VI file by embedding LabVIEW code in a standard PNG image. When you drag a VI Snippet PNG image onto the block diagram it will drop the snippet as graphical code that can be edited and used in your application.‚ÄĚ More on that here (Using VI Snippets to Store and Share Reusable Code Sections – National Instruments)¬†

Figure 1¬†‚Äď VI Snippet¬†DateTime¬†String

Note: This image is a LabVIEW snippet, which includes LabVIEW code that you can reuse in your project. To use a snippet, right-click the image, save it to your computer, and drag the file onto your LabVIEW diagram. 

Introducing Snippets in my workflow 

At the surface, the Snippet is a cool way to share and reuse frequently used code. Similar to my userlib folder where I store my vi libraries, I have a folder on my computer where I catalog my snippets in subfolders (e.g. general, frameworks, arrays, tdms, SQLite, DAQmx, etc.) so that they can be located with minimal effort. Actually, I have two locations on my computer that I store snippets: A private folder that I use as my personnel sandbox and a public folder that I share with my team. As with any collaboration or shared repository, you must be discipline or you will experience chaos. Our LabVIEW development team meets weekly for code reviews, discusses new projects, and to share best practices. At the end of every meeting, we invite team members to share any new vis and/or snippets they would like to add to the team’s repository.  

My first Snippet 

25 years ago, when I first started wiring G code, it was not such a big deal connecting all of those wires on the Block Diagram. However, as time passes and my eyes require a bigger monitor, I look for any hack that I can muster to limit the time spent wiring clusters and arrays. To that end I offer up the prewired Bundle By Name /Array. 

Figure 2 ‚Äď Bundle/Unbundle/Build Array – Prewire

What’s next? 

How I use VI Snippets to make quick user dialogs.  

Introducing the LabVIEW Channel

ÔĽŅÔĽŅ

I would like to introduce the ITM LabVIEW Channel, a series of blog posts related to building efficiencies in LabVIEW. In the weeks and months ahead my team and I will share past insights, lessons learned, and explore new programming concepts. This will be a sand box of sorts with a focus on solving problems using LabVIEW.

Please join us on our new LabVIEW Channel and subscribe below.

Preview What’s Next: VI Snippets

Related Links