Skip navigation


1 2 3 Previous Next

LabVIEW Tools Network Developer Center

33 Posts tagged with the labview tag

It's that time of the year again.  The LabVIEW 2014 beta 1 has officially been released and it's time to sign up.   We are working on a few new features that will directly benefit LabVIEW Tools Network products which you should especially test out:


(Note: links below will not work until you have been accepted to the LabVIEW 2014 beta program)



Even if you don’t plan to use these new features right away, it is important to test your products with the 2014 beta to ensure their compatibility with the new version and make sure no unexpected issues are introduced into your product (we don't usually do this on purpose, but mistakes happen!).  The sooner you do your testing, the better chance we can fix any bugs before 2014 is officially released.


You can sign up for the new LabVIEW 2014 beta at  Please sign up, test your products and give feedback via the beta forum. 


Cool Toys for Big Kids

Posted by penrenpo Dec 19, 2013


Let’s face it, the holidays are for kids - sons, daughters, nieces, nephews, and grandkids, all wide-eyed and squealing with laughter on Christmas Eve or morning about the gifts that Santa delivered. But what about the big kid on our shopping list?  As a mom and marketer, I’m inundated with the flashy, full-colored print ads in the mailbox, and online ads in my inbox for every retailer on the planet. However being married to a gadget geek, I still struggle with finding that cool gift for my tech savvy husband and not ending up with the traditional shirt/tie box set, new video game, or favorite collegiate or pro football clothing or gear. We’re really all just big kids living vicariously through our younger generation and the evolution of technology they can access.  And who needs another pair of Darth Vader lounge pants?


Get the big kid on your list what they really want – new software “toys” from the LabVIEW Tools Network!  These cool tools will give you hours of LabVIEW playtime and hopefully an excuse to escape the “assembly-required” part of kid’s holiday gifts.  Grab some hot cocoa, sneak off to your computer hide-out, download from the list below, and get started.



Electronics Prototyping - LabVIEW Interface for Arduino Toolkit

Interface Your Microsoft Kinect with LabVIEW - Kinesthesia Toolkit for Microsoft Kinect

Control Your Synthesizers, Musical Instruments and other Multimedia Devices - Open Sound Control for LabVIEW

Build VIs for Drones - AR Drone Toolkit for LabVIEW

Create a Robot with Your Roomba Vacuum - iRobot Create for LabVIEW



LabVIEW Hacker, creators of the AR Drone Toolkit and iRobot Create, have some exciting software toys designed to interface with a variety of cool devices:


Use the Leap Motion Controller to Capture Gestures with LabVIEW - LabVIEW Leap Interface

Send and Receive Tweets Without Leaving LabVIEW - i3 Twitter Toolkit for LabVIEW

Utilize the Sensors of an Android Device Directly in LabVIEW - LabVIEW Android Interface

Pull Motion Data and Button Actions from a Nintendo Wiimote into LabVIEW - LabVIEW Wiimote Interface



Have fun and Happy Holidays!



Penny Wright

Marketing Communications Manager

LabVIEW Tools Network


The holiday season is the time of the year when people are traveling, spending time with family, and using up last minute accrued vacation hours before they expire in the new year.  Because of this, you may have a lot of down time in which you are hankering for some juicy LabVIEW nuggets to keep your expertise fresh and continuously growing.  The good news is that TONS of developers out there love LabVIEW so much that they spend time each week writing their thoughts down about their favorite graphical programming language.  In the spirit of holiday sharing, I wanted to let you all in on some of the blogs I personally follow so you can all be as informed as can be.  Here's a few of my favorites:


LabVIEW News


LabVIEW News.png


As the official LabVIEW News blog, Laura Arnold and her team gather LabVIEW content from around the web in all topic areas (as long as it's about LabVIEW).  This is the same news feed that shows up in your LabVIEW Gettering Started Window each day.


Eyes on VIs


Eyes on VIs.png

Christina Rogers is a developer in LabVIEW R&D and active member of the LabVIEW community.  Her blog tends to focus on hidden LabVIEW tips and tricks and new features of LabVIEW that she is excited about.





VI Shots is a podcast by LabVIEW Champion Michael Aivaliotis.  Each post, Michael will interview someone from the LabVIEW community and talk about advanced LabVIEW development as well as new and exciting LabVIEW tools.


Software Engineering for LabVIEW



Eli Kerry is the Senior Product Manager for LabVIEW at National Instruments as well as a CLA and LabVIEW enthusiast.  His blog focuses on Large application development tips and best practices using LVOOP, Actor Framework, and many other advanced frameworks and technologies.


Random Ramblings on LabVIEW Design




Steve Watts is a LabVIEW developer from the UK who quite literally wrote the book on LabVIEW.  In his blog, he writes about anything from UI design to software development best practices and how they can be applied to LabVIEW.


LabVIEW Field Journal




The National Instruments Field Architects are a small, elite group of LabVIEW experts.  In their blog, Nancy Hollenback, Charlie Knapp and Brian Powell cover advanced topics to help guide software architecture and encourage good software engineering practices in LabVIEW. 






Returning to the blog scene after a multiple year hiatus, LabVIEW champion Tomi Maila writes his blog about flow-based programming.  While LabVIEW is one of the two main languages he discusses (the other being NoFlo), the blog discusses broader concepts and provides a different perspective on programming in a graphical world.



LabVIEW Tools Network Developer Center Blog


lvtn -small.png


Yes, yes, I know.  I'm promoting our own blog on the blog of blogs, but I want to make sure that whose who stumble across this article by accident know who we are.  The LabVIEW Tools Network Developer Center blog is a collaborative blog by the LabVIEW Tools Network team (currently Matthew Friedman, Will Schoettler, Robert Des Rosier,Patrick Simmons and Penny Wright).  Here we discuss technical and marketing topics aimed at helping developer create quality toolkits, applications and add-ons for LabVIEW.





There are TONS of other LabVIEW blogs out there, and this post only scratches the surface.  What are the favorite blogs you follow (shameless plugs graciously accepted)?


Your website is an important vehicle to help generate leads for your business and to create awareness for your products and solutions. This section covers the following:


  1. Things to Consider When Creating Your Website
  2. Making Your Website Search Engine-Friendly
  3. Linking to from Your Website



1. Things to Consider When Creating Your Website

  • Clearly define the strategy for your site and decide on the primary goals and objectives.
    It is important to establish what you are trying to accomplish in each area of your site. Having clearly identified objectives (i.e.collecting leads, driving e-commerce, generating inbound calls, educating users) helps you prioritize which content to include on your pages. When adding content to an area of your web site, always ask yourself, "Does this content match my objective?"

  • Create compelling content and present it clearly on your site.
    When writing content for your website, keep your users in mind. Address their needs, pain points, and concerns and explain how your products and solutions alleviate those problems. They care about how your system benefits them. Having useful content is crucial, but it doesn’t help anyone if users cannot find it on your site. Think about how to most logically group your content and organize it on your site. Clearly label sections of information and pieces of content so that users can skim the page and find what they’re looking for. Based on your experience with your customers, highlight their most typical key points of interest.

  • Check to make sure you have a clear user experience and friendly interface.
    Make sure that your site is easy to use and to navigate for your users. If it’s hard for them to find what they’re looking for, they might give up and leave. It is tempting to try to cram a bunch of content and calls to action on one page, but that often clutters the experience and potentially confuses the user. If in doubt, keep things simple, and refer to your primary objectives to decide what to prioritize and present on the page. When you are working with customers, feel free to request their feedback on your website, and what they would like to add or change.

2. Make Your Website Search Engine-Friendly

Search engine optimization (SEO) helps increase traffic, and therefore leads, to your website. This section covers the following: understanding how search works, understanding the user, optimizing content on the page, and promoting content off the page. This is intended as a basic introduction. There is much more you can learn about SEO. It is recommended that you continue pursuing this topic as it can directly impact the performance of your website.


Understanding How Search Works

Search engines feature four main functions:

  1. Finding content: Search engines use software (bots) that move from page to page through links to find your content.
  2. Indexing content: This is the process of bots parsing through the HTML on a page and storing it in a file for the search engine to reference when a user searches for a term.
  3. Returning results to the user based on relevancy: The main way that search engines determine relevancy to a page is through something called anchor text or link text. Anchor text is the visible, clickable text in a hyperlink. You want this anchor text to match as closely as possible to the keyword you are trying to optimize.
  4. Ranking those results based on importance: Search engines determine importance based on popularity and the quality of your popularity (for example, who is deeming your content popular). Search engines are trying to reward good content, so it assumes that popular content is deemed good by users.

Understanding the User

The way the user interacts with a search engine is by inputting keywords. It’s important to understand the language users use to describe their applications and your products and services. That way, you can get the right people to your site. By using these keywords in your web site content, search engines will associate your web site with these keywords and direct users to it.


Brainstorming Keywords

  • Ask yourself/sales team
  • Search the keyword
  • Use your web analytics tool
  • Look it up on the Google keyword tool
  • Test it with Google AdWords

Selecting Keywords

  • Narrow your list of keywords down to 1-3 per page
  • Think about long tail SEO. That is the distribution of search terms from broad to niche. Which 20% of keywords gives you 80% of the correct traffic?
  • Broad terms: A very broad word such as “daq” is going to get a lot of search traffic, have a lot of competition, and have a lower probability of converting.
  • More niche terms: These phrases have less competition and less search volume, meaning you could potentially get less traffic to your site. But these terms also convert better, meaning the customers that get to your site are more likely to continue shopping and browsing because your site applies to them well.
  • When selecting a particular keyword for one page, think about your goals. Are you trying to build awareness that you are a DAQ vendor but are less concerned with converting people to leads or sales? Then a broad term might be a good decision.


Optimizing Content on the Page

Search engines view certain content on the page as more important based on where you place it. The items with a higher weight are page title, headings, and URL, so you want to make sure that your keywords are included at this level.

  • HTML tag: This is a code surrounded by brackets (<>) that denotes format, hyperlinks, or information for the bot.
  • Page title: The page title or title tag shows up in a few places. It is visible at the top of the browser. It is also the clickable link in the search engine results.
  • Meta tag: This is a type of HTML tag that gives information about the page. The bot can see this information in the HTML, but the user can’t see it on the page. Users can see it on the search engine results page below the clickable link. It is not a factor in determining your rankings, but it can help persuade users to click on your link versus another one on the first page.
  • Heading: This is recognized by the HTML tag “H” and then the number, such as H1 or H2 as the heading tag.
  • Keyword at the page level: Sprinkle the keyword throughout the body content, with a few variations to allow for user variations in the query and for natural writing in the content. At the page level, it’s really important to remember your users. If they type in a search term, get to a page, and find out it’s not about that keyword, they’re going to leave.

Promoting Content off the Page

Of all the things you can do to optimize your content for search, this is the most important. The search engine determines your popularity and relevence at the top of the results page largely based on which external sites link to yours.

  • Get links from trusted, relevant sites. Examples include:
    • Credible institutions: .edu, .gov
    • User-generated: blogs, forums
  • Focus more on external links than internal
  • Get links from multiple unique domains


Build links to your site by

  1. Creating exciting content: If people are really excited about what you do as a company, they are naturally going to talk about you and link back to your site.
  2. Building relationships: Build relationships with editors to get them to write articles for you; build relationships with bloggers in your industry to get them to write posts about you.
  3. Taking advantage of social media: Post comments on blogs and forums related to your industry. Social media is a great way to get links back to your site.
  4. Participating: Make sure you are participating in the forums, conferences, and communities that contain your target audience. This helps you spread the word, forge relationships, build credibility, and much more.


3. Linking to from Your Website

Cross-linking between relevant and content-rich sites is important for driving traffic. Your company can greatly benefit from linking to our site. For example, by linking between sites, you improve your ranking in web search engines, as we just discussed above. Higher rankings mean better chances that customers will come to both and your websites looking for your services and solutions.


As a contributor to the LabVIEW Tools Network, take advantage of the Related Links section of your model page to link back to important documentation and demos on your own website. Link back to your model page on and the LabVIEW Tools Network to strengthen the link connection.


As always, feel free to post your own ideas below.


Will Schoettler

LabVIEW Tools Network Product Manager


Design and Implementation


In Tools For Developing Tools, Part 1 we looked at a variety of tools that improve the process of creating detailed documentation that meets the Compatible with LabVIEW standard.  In order to utilize tools for documentation, you must have code worth documenting.  Fortunately, there are a wide array of different tools available on the LabVIEW Tools Network that assist in the the actual design and implementation of a large application.  Many of the tools on the LabVIEW Tools Network are extremely useful for specific applications, such as the set of VIs used to program KUKA Robots.  The focus of this post will be on more generic tools that are useful in a wider variety of applications.



General Purpose Toolkits



OpenG Libraries


The OpenG community has built and shared hundreds of open-source VIs that cover a wide variety of different functions.  There are additional palettes with advanced functions for working with arrays, strings, application control, file handling, and more.  If you aren't already using OpenG, you probably should be.



GPower Toolsets


Another set of useful functions, the GPower Toolsets include functionality for advanced error handling, timing functions, overflow arithmetic, dynamic VIs, and more.  They also introduce the concept of VI Registers, which are extremely useful for global access throughout your application.



MGI Library - Moore Good Ideas


Moore Good Ideas employees consolidated a free set of VIs created by MGI over time.  This toolkit includes functions for most of the categories in the default LabVIEW Programming palette, expanding on built-in functionality with advanced re-usable VIs.



NI Labs: LabVIEW VI Scripting


VI scripting allows you to programmatically generate, run, inspect, and modify LabVIEW code.  These tools are indispensable when working with large sets of code, and can significantly decrease the amount of time needed to generate large libraries.



EasyGIO Tools


EasyGIO Tools is an add-on that addresses a wide variety of new functionality.  It includes VIs to create HTML help files automatically, set help options programmatically, modify VI descriptions, update front panel tip strips, and more.  In fact, this tool addresses much more than just documentation.  It includes functions that manipulate controls on your front panel, easily create FGVs, rename and save VIs without conflicts, and create a top-level VI with project.  The EasyGIO Tools are exceptionaly useful utility VIs that assist in many phases of development.



Third-Party Licensing and Activation Toolkit


Properly licensing code for distribution to customers presents a number of challenges, such as managing activations and preventing fraud.  Implementing custom licensing can be very time consuming, especially when maintaining a positive end-user experience.  The Third-Party Licensing and Activation Toolkit is an out-of-the-box solution that takes care of licensing, activation, evaluation, and more.  It supports development and deployment licensing and is highly recommended for use with any code that needs to be licensed.



Source Code Control

tsvntoolbar_l.jpgTSVN Toolkit


Source code control allows teams of developers to ensure easy access to shared code while mitigating conflicting changes, allowing check outs of code, merging versions, and more.  Tortoise SVN is a very popular free set of code that performs source code control from a file browser.  Viewpoint Systems' TSVN Toolkit integrates the functionality of source code control programs directly into LabVIEW, extending the native source code control of LabVIEW with an intuitive interface that overlays directly on a LabVIEW project.



TortoiseSVN Tool for LabVIEW


Similar to TSVN, this toolkit incorporates source code control into the LabVIEW Tools menu.  Created by JKI, this full-featured toolkit saves time for developers, accessing common TortoiseSVN operations without leaving LabVIEW, allowing them to focus on their work rather than source code control.



Clusters and OOP




Cluster Toolkit


Clusters are an extremely powerful way to manage elements in LabVIEW.  This set of VIs simplifies a number of different operations related to working with clusters.  You can easily obtain individual or sets of elements, manipulate elements, split or index cluster subsets, convert clusters to other data structures, and sort clusters programmatically.  The Cluster Toolkit also works with clusters in the form of variant data, further increasing the flexibility of this powerful toolkit.



Cluster Tools


Cluster Tools by IMS builds on the native LabVIEW cluster functions by allowing programmatic indexing, register reference, recursive operations, and more.  Allowing direct access to cluster element references means you can perform manipulation of those elements without bundling values with references.  Overall, Cluster Tools is extremely useful when working with code that is heavily dependent on clusters as a data structure.



GOOP Development Suite


Object oriented programming in LabVIEW has grown by leaps and bounds in recent years.  Object data is stored in wires that are accessed via cluster tools.  There also exists a series of tools designed to extend LabVIEW's OOP feature set.  The GOOP Development Suite simplifies management of classes, allows automatic code generation, and incorporates Unified Modeling Language support into LabVIEW. 



G# Framework


This toolkit adds reference-based object oriented support, includes a debugger for tracing object instantiation, and adds automated garbage collection to remove the need to manually destroy objects.  The toolkit's object oriented support makes LabVIEW as powerful as any object oriented language.



UI Customization




WF ProgressBar


The WireFlow WF ProgressBar module is a simple, easy way to add progress bars into your application.  It allows full customization of the appearance, giving you control over the user interface and allowing the end user to potentially cancel longer operations.  For more progress bar functionality, check out the LabVIEW Taskbar Progress Bar API, which allows you to use the progress bar embedded in Windows 7 by leveraging very simple VIs.



VI Box XControls


One of my personal favorites, this XControl allows you to create a tab control on your LabVIEW front panel that performs similarly to a browser.  You can create additional tabs, manipulate their locations, pop them into separate windows, and more - all during run-time.  The ability to provide users an intuitive tabbed experience similar to what they are used to from internet browsers increases the usability of a wide variety of applications.



UI Control Suite


The UI Control Suite adds controls and indicators that differ aesthetically from the built-in LabVIEW UI objects.  Available in Metallic Theme, NI Theme, and System Controls, the UI Control Suites offer the ability to make engaging, coherently styled UIs for a variety of desired looks.



UI Tools


The UI Tools palette, created by LAVA, allows the LabVIEW front panel to fade in or out, smoothly move objects programmatically, override generic dialog boxes, and more.  This powerful toolset also incorporates functionality to improve the usability of front panels of LabVIEW OOP VIs.





There are many more tools available on the LabVIEW Tools Network that facilitate productivity, expand built-in functionality, and incorporate specific applications to save you and your developers time and effort during the Design and Implementation phase of your project.  In Part 3 of this series, we will take a look at a number of tools that simplify the Deployment process in a variety of different ways.


Patrick Simmons

LabVIEW Tools Network Engineer


We have added a new technical document to the LabVIEW Tools Network Developer Center entitled "Creating a Custom Bookmark Manager for LabVIEW".  This guide introduces VI Bookmarks, one of the exciting new features of LabVIEW 2013, and discusses how developers can customize the Bookmark Manager or create their own.  Check it out now, and if you have any questions or information to add, feel free to leave a comment!


Creating a Custom Bookmark Manager for LabVIEW




Developing code to share via the LabVIEW Tools Network presents a unique set of challenges and requirements. Transforming an idea into a finished product can prove to be a time consuming process, even for experienced LabVIEW programmers interested in sharing their VIs or built executables. The Tools For Developing Tools series will address a variety of methods that can help decrease the time necessary to complete this process.  In Part 1, we will take a look at improving the process of creating detailed documentation that lives up to the Compatible with LabVIEW Certification



Understanding the Requirements


The requirements for documentation are similar for the different levels of Compatible with LabVIEW Certification.  Documentation starts and ends with the end user of the software in mind.  Including getting started instructions, well-explained examples, and detailed help information will allow your customers to get the most they can from your tools right out of the box.  Start with general Product Documentation, then expand into Professionalize Your Add-On or App With Icons and Documentation Best Practices.  Once you understand just how much documentation can be included, it becomes clear that manually entering all of the necessary information can be time consuming.  Let’s dive in to the tools available to assist in this process.





VI Properties Editor


The VI Properties Editor is a free tool that allows you to edit a VI’s Description, Help Tag, Help Path, and Name/Description/Tip in a single window. It also allows you to quickly scroll through multiple VIs on disk, decreasing the amount of time necessary to populate the Context Help for each VI.










VI To XML Documentation Tool


Use the VI To XML Documentation Tool to generate a set of XML documents describing your VIs.  You can also convert that XML into HTML, then use an HTML Editor and CHM tool to create CHM files from this HTML source.  If you plan on using XML extensively, then you can also check out the EasyXML Toolkit for LabVIEW, which makes XML editing as easy as working with a cluster.














HELPer: Help Editor for LabVIEW Programs


HELPer is an easy to use documentation tool that you can use to create and edit VI documents like those found in the “Detailed VI Help” links from the context help.  This tool takes care of the formatting and style, automatically matching current LabVIEW design while allowing you to focus on content.  It does allow you to customize formatting as you see fit, and generates ready-to-use HTML documents, allowing you to avoid programming directly in HTML.













VI Helpeks


Similar to HELPer, VI Helpeks simplifies the generation of completed HTML format documentation files and provides support for creating CHM files.  This tool automatically takes information from your VIs and compiles that information into the help files.  The more VIs you have to create documentation for, the more useful this tool becomes.














EasyGIO Tools


EasyGIO Tools is an add-on that addresses a wide variety of new functionality.  It includes VIs to create HTML help files automatically, set help options programmatically, modify VI descriptions, update front panel tip strips, and more.  In fact, this tool addresses much more than just documentation.  It includes functions that manipulate controls on your front panel, easily create FGVs, rename and save VIs without conflicts, and create a top-level VI with project.  The EasyGIO Tools are exceptionaly useful utility VIs that assist in many phases of development.












Icon Library Update Tool


As mentioned in the Professionalize Your Add-On or App With Icons and Documentation Best Practices, icons play a large part in how your code is perceived by customers.  The icon will be seen each time a customer drops one of your functions on the block diagram.  In order to simplify this process, you can use the Icon Library Update Tool to enhance the built-in capabilities of LabVIEW.  With this toolkit, you’ll be able to apply glyphs to controls or indicators, make your UI more user friendly, and incorporate improved icon conventions.












LabVIEW Localization Toolkit


Creating code for multilanguage applications can present a unique challenge.  Use the LabVIEW Localization Toolkit to simplify the process.  This toolkit allows you to create multilangue applications, change languages on the fly, and create language-dependent formatting rules.  This tool greatly reduces the effort needed to create and incorporate help documentation in multiple languages.












Stay tuned for Part 2!

(Edit: Check out Tools For Developing Tools, Part 2: Design and Implementation)


Patrick Simmons

LabVIEW Tools Network Engineer


Case studies document how our customers use our products and services to develop innovative solutions, optimize existing applications, or perform cutting-edge research. They are excellent tools for demonstrating the capabilities of your products and building credibility in industry. This post will cover how to write an effective case study. We will cover:


  1. Type of content you want to include
  2. How to structure your case study
  3. Important details


Type of Content you Want to Include

Case studies are inherently about projects that your customers have created. So typically you will work directly with your customers to obtain content and review the messaging that is used. When obtaining content for your case study, be sure to cover the following points:


  • Demonstrate how your application met the customer’s challenges better than any other company and include examples of other options the customer may have chosen.
  • Communicate the challenge clearly and include the “pain points” the customer was trying to alleviate.
  • Highlight all of the software, hardware, and services used to develop the solution.
  • Quantify the results. Include phrases such as, “We helped the customer increase efficiency by X percent, decrease costs by X dollars, and decrease test time by X minutes/hours.” The more specific you can be, the better.


How to Structure Your Case Study

Now that you have your content, how do you present it to the reader? You want to make it as easy as possible for your reader to get a snapshot of the solution. You should also have more detailed supporting content so they can learn more if they are interested.


  1. Provide a conside but descriptive Title. 60 characters maximum.

  2. Start by crediting the Author(s), including the company name that created the solution. This helps you gain credibility in the eyes of the reader. A recognized name that uses your products will have the most weight in the eyes of the reader.

  3. State your Products used in this case study. Simply state them - description will come later.

  4. Next, mention the Industry and Application Area that the solution pertains to. This allows readers to self-select by their interest area.

  5. Now it's time to describe the Challenge your customer needed to overcome. This is the reason they needed your product. Make this 25-50 words.

  6. Follow the Challege by the Solution. Describe how your customer solved the problem using your products. This should also be 25-50 words.

This completes your snapshot of the solution. You have given the reader enough information to decide if this fits their interests and if they want to learn more. The next step is to provide more details on the customer, the solution, and reasoning why your product was chosen for the solution. This is the main Body of the case study. It should be 800-1200 words.


  1. First paragraphs should be a Brief Description of the Customer. Specifically who they are, what they do, and who they serve. Elaborate on the engineering problem they were trying to solve and why it was important.

  2. The next few paragraphs should describe the Project itself that was used to solve the challenge. This is a high-level description of how the system works. Be sure to describe:
    • Other options besides your own, that could have solved the problem.
    • Why the customer chose your product over the other options.
    • The specific features of your product that were most utilitized and why they were important for the success of the solution.
    • Mention any additional services you provided that were helpful for the project.

  3. Now explain the Benefits of the Solution. Provide detail, and give quantifiable measures of the benefits. Specifically:
    • Practical benefits (Increased efficiency, ability to reuse or scale, etc)
    • Business benefits (Cost savings, time savings, meeting more customer needs)
    • Any benefits your or your customer did not expect

  4. The Final Paragraph should discuss how this solution and specifically your products met the customer's objective for their project.

  5. Follow the body with Contact Information to learn more about your products and the solution as well as any Additional Materials you may want to include like code or supplemental technical documents.


Once complete, your case study should have the following structure:


Case Study Title




Products Used:




Application Area:


The Challenge (25-50 words)


The Solution (25-50 words)


Body (800-1200 words)

    • Brief Description of the Customer
    • Project Itself
    • Benefits of the Solution
    • Final Paragraph


Contact Information


Additional Information


Important Details

There are a few details that help to make a case study particularly engaging and effective. Always do the following:


  1. Include links or methods for readers to learn more about your product and get in contact with you. They should always have a next step.

  2. Choose a solution that is either attention grabbing or solves a very common problem in the industry you serve. This will help get people interested and give the case study more mileage.

  3. When possible, include pictures. Graphics and photographs immediately add a new element and sense of reality to your case study. People will be able to understand the case study more effectively. It also adds additional credibility.

  4. When possible, include video of the solution or concepts applied in the solution. Videos are one of the most effective methods to gain attention and get important messages across to the viewer.


Final Thoughts

Case studies can be a very effective addition to your overall marketing strategy. They give you the opportunity to demonstrate your technical aptitude while quickly showing others how people are effectively using your products. One of the best ways to gain exposure and increase sales is by demonstrating that respected organizations in your industry are happily using your product.


For example case studies, take a look at As always, free to post questions or your own examples below.


Have a great weekend!


Will Schoettler

LabVIEW Tools Network Product Manager


NIWeek 2013 has finally, but sadly come to an end.  Every year, it's a great experience for Alliance Partners and the LabVIEW Tools Network, but 2013 has been by far the best.  In case you weren't able to join us (or if you did join us and just want to relive the memories) here are a few of the highlights:


LabVIEW Tools Network Awards


This year the LabVIEW Tools Network Awards were bigger and more successful than all of the others.  Combined with the Alliance Partner Network awards, we completely filled the keynote room to showcase this year's top new LabVIEW Tools Network products.  Congratulations to the finalists and winners in all 5 categories:


Test Product of the Year

Winner:  Tool Qualification Kit for NI TestStand by CertTech, L.L.C.

Toolkit to Qualify NI TestStand as a Verification Tool

Runner Up: Digital Video Signal Generation Toolkits by MaxEye Technologies

Create Test Signals for DVB, DTMB, CMMB, DAB, ISDB, and ATSC Digital Video Standards


Embedded Product of the Year

Winner: Raima Database API for LabVIEW by Raima, Inc.

Database solution for NI CompactRIO, Single-Board RIO and Windows


Runner Up: modeFRONTIER for LabVIEW by ESTECO

Integration platform for multi-objective and multi-disciplinary Hardware-in-the-loop optimization.

DAQ Product of the Year

Winner:  Chameleon for NI CompactDAQ by PVI Systems

Configurable DAQ Software for Structural Test and Monitoring

Runner Up: iDaq by Tools for Smart Minds (T4SM)

Data Logger, Fully Programmable With LabVIEW

Community Product of the Year

Winner: TSVN Toolkit by Viewpoint Systems Inc.

Subversion Version Control for NI LabVIEW

Runner Up: VI Box XControls by SAPHIR

Advanced front panel controls for a more dynamic user experience

LabVIEW Innovation Product of the Year

Winner: Wirebird Labs: Deploy by Wirebird Labs LLC

Setup Authoring and Application Distribution for NI LabVIEW

Runner Up: BLT for LabVIEW by Studio Bods

Building, Licensing, and Tracking for LabVIEW Executables

Runner Up: VI Helpeks by Konstantin Shifershteyn

Provide Your VIs With Help That Looks Like LabVIEW Help


Double the Products, Double the Downloads, Double the Fun!

Since this time last year, the LabVIEW Tools Network has almost doubled the number of products available (Currently 177 and growing) and doubled the number of downloads (Over 2 Million downloads).  This only happened thanks to the time and effort from our great developers and their awesome products. 


LabVIEW Tools Network Products in the Day 1 Keynote

This year the LabVIEW Tools Network took over the Day 1 Keynote stage.  Not only were the 5 LabVIEW Tools Network awards winners congratulated on the big screen, but Jack Dunaway from Wirebird Labs demoed Deploy, Raima Database API for LabVIEW and RTI DDS Toolkit for LabVIEW were showcased in a case study from LocalGrid, and Viewpoint Systems TSVN Toolkit was mentioned as a key Software Engineering Tool for LabVIEW.  Kudos to everyone involved!


Alliance Day Session: Selling Tools on the LabVIEW Tools Network

LabVIEW Tools Network Program Manager, Matthew Friedman, and LabVIEW Tools Network Engineer, Robert Des Rosier gave a very well received session on the process of selling a product on the LabVIEW Tools Network.  Slides from this session are attached below.


LabVIEW 2013 Release

LabVIEW 2013 was released and is better and more stable than ever.  The most notable new feature is that the LabVIEW Tools Network and VI Package Manager is actually installed by default when you install LabVIEW 2013.  This means that customers have an even easier opportunity to download and try out third party tools from directly within the LabVIEW environment without any additional steps needed.  A more detailed review of notable features of LabVIEW 2013 to come soon..


Much more

This is just a small bit of the excitement that we had for NIWeek this year.  For more information check out the NI News Blog.  Hopefully we'll see everyone out here next year!


NI Week is coming up fast, and it's an understatement to say there's going to be a lot going on. The LabVIEW Tools Network team and other groups at NI are going to be actively sharing cool and interesting information throughout the whole conference. So be sure to follow us to get all the best info!


LabVIEW Tools Network Team on Twitter

@LV_ToolsNetwork - Tweets on the latest product releases and other exciting information

@David_LVTN - David Ladolcetta, CLA, LabVIEW Tools Network guru

@MattATX - Our new LabVIEW Tools Network program manager and enthusiast


Alliance Partner Team

@shellybenjamin - Alliance Partner news and occasional Austin info


National Instruments on Twitter

@NIWeek - Information and live updates from the conference

@NIGlobal - News and updates on Graphical System Design

@labview - LabVIEW news and updates


National Instruments on Facebook


LabVIEW on Google+



Don't Forget! During NI Week you can meet with LabVIEW Tools Network engineers and marketing one-on-one to discuss anything from technical implementations in LabVIEW to marketings strategies. This is a free opportunity. Click here to sign up!


Will Schoettler

LabVIEW Tools Network Product Manager


email signature image.png


VI Package Manager is a very powerful tool for distributing and installing LabVIEW toolkits and add-ons.  There are tons of features for customizing your palettes, install destinations, licensing, etc in almost every way that is needed.  However as a developer,you may occasionally find yourself needing a little more control of your package that may not be directly supported in VIPM.  In these situations, you may use custom actions to unlock the full potential of your product.


custom action 2.png

Custom Actions

For those unaware of this powerful feature, custom actions are VIs that execute during the build or installation process of a VI Package.  They are standard LabVIEW VIs that run in the LabVIEW development environment, so anything that you can do in LabVIEW can be added to your build or install process.  There are three main types of custom Actions: 

  • Install Actions run before or after an end user installs your package
  • Uninstall Actions which run before or after a user uninstalls your package
  • Build Actions run before or after VIPM builds the .vip file (note that Build Actions are only available in VIPM Pro)



One feature of Custom Actions that really makes them powerful is their use of Parameters that are passed from VIPM.  Parameters are passed via Variant Attributes into each Custom Action VI and can be used to make decisions based on information from the users (or developers) system.  Not every parameter applies to every Action type, but below are some parameters you may find useful:

  • Package Display Name
  • Package Name
  • LabVIEW Target Version
  • VIPM Version
  • Quite Mode
  • Mass Compile On
  • Files Installed
  • Folders Created
  • Files Uninstalled
  • Files Not Uninstalled
  • Refresh Palettes On
  • Output Package File Path
  • Package Member Source Files
  • Passwords
  • Product Name
  • Package Version
  • Package LabVIEW Version
  • Package Source Folder
  • Package Name
  • Build Failure

custom action 1.png

Error Output

All custom Action VIs have an error output which passes an error back to VIPM.  If an error occurs in the custom action VI, then installation/uninstallation/building is aborted and an error is displayed to the user.

Common Uses

As I mentioned, you can use custom actions to do almost anything that is possible in LabVIEW.  However a few ways custom actions can be useful are:

  • Zip/unzip files that you don't want mass compiled during install time.  Use a pre-build VI to zip the files and, install the zip file to a temporary location and then use a post-install VI to extract them into the appropriate folder.
  • Prevent a package from installing on newer versions of LabVIEW.  Use a pre-install step to check the LabVIEW version and return an error if the package should not install on the system.
  • Restart LabVIEW after installation.
  • Rename or make changes to components created during installation such as palettes, source files/folders, VIP files, etc.
  • Read or write from the registry

Getting Started

Creating your own custom actions is easy.  In your VIPM build specification, simply click the Custom Actions tab and then click Generate VI for the desired action.  This will create a VI in your build directory with the appropriate connector pane.  The Parameters variant is also added to the block diagram with code that breaks out the parameters that are useful in the specific type of custom action.  Simply use data extracted from the variant to start programming your custom action. 


Do you have any other interesting uses for Custom Actions or advice to other developers?  If so leave a comment below.


In many LabVIEW APIs (toolkits, drivers, etc), it can be important to have run-time licensing checks built in such that the VIs can only be run when they have been purchased and activated.  The add-on licensing tool of the Third Party Licensing & Activation Toolkit (TPLAT) is very useful for protecting code in the LabVIEW development environment, but this does not protect activated code from running after it has been built into an executable.  To protect code at Run-time, you can instead use the TPLAT API to build licensing checks into the code itself.


One drawback to building in run-time licensing checks is that there is an overhead cost to check the license each time any of the API VIs run.  Fortunately, most APIs already need to be initialized before the rest of the code works to open resources, allocate memory, etc.  Run-time licensing checks can easily be added to this initialize function so it only needs to be called once. 


However there are many situations in which an API doesn't have an open or initialize function (such as analysis functions or a collection of reuse code) and therefore the license checks need to be in each VI in order to ensure total protection.  To overcome this final hurdle and make the license check faster and more efficient, we can turn to the functional global variable.  With this architecture we can have the API do the license check on the first call only and then store the state (expired, activated, evaluation, etc) in the functional global variable.


Check License (Core)

The core functionality of this architecture is the Check License VI.  As mentioned it is a functional global that checks the license status on first call and then stores the status for subsequent calls.  Because of this, there is some overhead on the first call of this function (however long it takes for the licensing check to take place) but there is very little overhead on later calls.  You can also force a license check by using the appropriate control.  In the attached example, the license check is a simple dialog box, but this should be replaced by your appropriate license checking code.


Check License Status.png



Now that you have your core functional global variable created, all you need to do is add this to your API VIs and surround the rest of the code with a case structure.  Then your code will run differently depending on the license status.  The most common situation would be to run normally if the license is in Evaluation or Activated state, and to throw an error if in Expired or Invalid state, but this can be changed based on your licensing scheme.


API 1.png

API 2.png


Initialize VI


Now that you have a licensing solution, you can create a new Initialize VI that will does nothing but check the license status.  This allows a developer to do the licensing check as required, but to ensure no delays in their critical code.





The attached example shows how to add run-time licensing checks to an API such that you can avoid the overhead of checking licensing in every VI.  It does this by using a functional Global Variable and the "First Call?" function to check licensing on the first call and then storing the status for subsequent calls.  Have you used a similar strategy?  What other methods do you use for efficient run-time licensing?


We are excited to announce the release of the Third Party Licensing & Activation Toolkit 2013 Beta!


This release of Third Party Licensing & Activation Toolkit includes:

  • Support for licensing nested libraries.
  • Usability improvements to the interface of the Third Party Add-on Activation page.
  • Bug fixes and user experience improvements.


Head over to the LabVIEW Beta forum for more information and to download the new version  Also, be sure to let us know of any issues or feedback that you have! More information on the Third Party Licensing and Activation Toolkit can be found on our community.


TPLAT 2012.png


We would like to announce the release of the newest version of the LabVIEW Third Party Licensing & Activation Toolkit 2012.  Aside from official support for LabVIEW 2012, this release contains bug fixes and improvements to the shipping Examples and documentation.  It is highly recommended for all Third Party Licensing & Activation Toolkit users to upgrade to this release.  For more information, please see the Third Party Licensing & Activation Toolkit Readme.


To download the newest version, visit the Third Party Licensing & Activation Toolkit product page on the LabVIEW Tools Network


For help and support for this product, please visit the Third Party Licensing & Activation Toolkit community group.


VIPM 2012 Released

Posted by Will_S. May 15, 2012

VIPM 2012 Released




We are proud to announce the release of VI Package Manager 2012! Click here to get it. VIPM 2012 brings great new features for LabVIEW teams and add-on creators. Through direct collaboration, one-on-one interviews and public forums such as the VIPM Idea Exchange NI and JKI have learned a lot about how people use VIPM and more importantly how people want to use VIPM. Some major changes in VIPM 2012:


New Low Price, Easy Trial Activation

There are now only two versions of VI Package Manager: VIPM Free and VIPM Pro. VIPM 2012 Pro is now $499, and if you’ve ever bought a previous version of VIPM Pro or Enterprise upgrades are just $199. It's also easy to evaluate VIPM Pro for 30 days: just activate VIPM with the special trial code VIPM-PRO-EVAL-NI.

Unleashing VI Package Repositories

With VIPM 2012, VIPM Pro users can create as many VI Package Repositories as they want. This means that if you’re building LabVIEW add-ons or reusable libraries for your coworkers, customers, or the community, you can create one or more central VI Package Repositories to easily distribute your add-ons. Other features:

  • VIPM 2012 Pro can connect to any number of repositories. Repository client limits are a thing of the past.
  • VI Package Repositories can be hosted in public Dropbox folders. You no longer have to run your own web server or ftp site to host a repository (although you still can if you want).
  • VIPM 2012 Pro users can now manage multiple shared repositories. Previously, VIPM could only a manage a single repository.
  • VIPM 2012 Pro can create private repositories for package sharing within your organization or with your customers.
  • Every VI Package Repository has a unique RSS feed so repository users can subscribe to receive package release notifications in their favorite RSS reader.

Automate Tasks With VIPM’s New VI-based API


Do you want to automate installation of packages or perform maintenance tasks on your reuse library easily? Now you can, with VIPM 2012 Pro’s new public API. Learn more here.

Here are some examples of automations you can create:

  • Automated package builds: Create a one-click build for your LabVIEW add-on. Write LabVIEW code to automatically apply a VIPC file, build your package, install the built package & test it, then publish the package to your repository, all automatically.
  • Unattended system updates: Script your development systems to automatically find and install add-on updates.
  • Group package publishing: Create a “package release dropbox” for members of your team to put built packages into; automatically publish packages from that folder to your repository.
  • New development system setup: Create a “system setup” script to automatically install “core” packages on multiple LabVIEW versions with a single command.
  • System inventory and maintenance: Validate system installations, perform cleanup and maintenance on deployed systems.

VI Package Configuration (VIPC) Improvements

Our users tell us that once they start using VI Package Configuration files they can’t stop. They’ve also given us some great ideas to improve how VIPC files work. We’ve listened, and VIPM 2012 Pro adds the following enhancements:

  • Apply VIPC to any LabVIEW Version: VIPM 2012 allows you to apply a VIPC in any version of LabVIEW.
  • LabVIEW Project (.lvproj) Dependency Scanning Support: VIPM 2012 Pro supports LabVIEW project files as a source for finding project VI package dependencies. Use this feature to create a VIPC file containing exactly the right libraries and add-ons for each project you work on.

New in VIPM Free

  • New Install\Uninstall Custom Action Parameters
  • "Generate VI" Buttons from templates for Custom Actions
  • Improved Network Connectivity for users behind corporate Proxies
  • Easier Removal of Unpublished Packages

Other Stuff



Much of this content has been taken from the JKI blog post here.

1 2 3 Previous Next