#1 Best Practice for using the JKI State Machine: Don’t hide your state strings in subVIs.

At a recent JKI Team “LabVIEW Lunch” (where the team gets together to eat and talk shop), we were discussing JKI State Machine Best Practices. Note: the JKI State Machine, an easy-to-use yet powerful state machine template we created to help LabVIEW developers write code faster.

After some brainstorming and discussion we took a vote on what was the most important best practice to follow.  It was unanimous…

The #1 Best Practice: Don’t hide your state strings in SubVIs — keep them on the block diagram of the JKI State Machine.

Here are a couple screenshots to show what we mean:

Good Practice: Keeping the state string on the block diagram.

2014-05-14_13-36-04

Bad Practice: Putting the state string into a subVI

2014-05-14_13-36-20

By keeping the state strings on the block diagram of the JKI State Machine (rather than buried deep inside subVIs) we gain a couple key benefits:

Benefit #1) The readability of your code improves — you don’t have to navigate into subVIs to figure out the logical flow of the JKI State Machine.  This allows you to code more quickly, which is one of the key goals of the JKI State Machine.  Putting code into subVIs just slows down code readability and maintenance.

Benefit #2) You can use LabVIEW’s built-in “Find” dialog — you can search for instances of a specific state string on the block diagram of the VI containing the JKI State Machine.

For example, open the Find dialog by selecting <Ctrl+F> and search for a state string like “UI: Initialize”.  Be sure to set the Search Scope to the VI containing the JKI State Machine.

2014-05-14_13-45-48

Clicking “Find” will then locate all instances of “UI: Initialize” in the block diagram of your VI.

2014-05-14_13-47-53

This ability to Find (and Replace) the state strings in your VI’s block diagram is a hugely powerful tool and it doesn’t work nearly as well if you start putting your state strings into subVIs.

Benefit #3) The coupling is loosened between the state transition logic and the rest of the application code — the JKI State Machine logic/flow stays loosely coupled from all the other code/VIs in the software. This means that changes to one VI don’t inadvertently change the functionality of code in other place.

Bottom line: Take advantage of these great benefits to keeping your state strings on the block diagram of the JKI State Machine (and please, don’t hide your state strings in subVIs) :)

We’d like to hear about your best practices for using the JKI State Machine. Please post comments and suggestions, below.  And, if you have ideas for making the JKI State Machine better, please post them to our Idea Exchange.

And a note from our sponsor: At JKI we use the JKI State Machine every day to help our our clients get their innovative high-tech products and technology to market fast. If you need help taking your system software to the next level or reach an important milestone, contact us to learn more about our services.

Posted in JKI State Machine, LabVIEW | Tagged , , , , | Leave a comment

JKI State Machine Best Practices

At a recent JKI Team “LabVIEW Lunch” (where the team gets together to eat and talk shop), we were discussing best practices for using the JKI State Machine, an easy-to-use yet powerful state machine template we created to help LabVIEW developers write code faster (and can even help you pass the Certified LabVIEW Developer exam).

2014-05-13_18-28-23

As a result of this meeting, we had a lot of great ideas and we decided that we would publish some of them for your feedback and to share them with others in the community.

Here is a list of JKI State Machine Best Practices that I’ll be updating as new articles come out:

We’d like to hear about your best practices for using the JKI State Machine. Please post comments and suggestions, below.  And, if you have ideas for making the JKI State Machine better, please post them to our Idea Exchange.

And a note from our sponsor: At JKI we use the JKI State Machine every day to help our our clients get their innovative high-tech products and technology to market fast. If you need help taking your system software to the next level or reach an important milestone, contact us to learn more about our services.

Posted in JKI State Machine, LabVIEW | Tagged , , , , | Leave a comment

Happy Holidays from JKI!

Happy Holidays 2014

To our Friends and Partners,

Best wishes for a happy holiday season

and a wonderful new year.

From all of us at JKI

Posted in Company News | Tagged , , | Leave a comment

New LabVIEW Tool: LV 2009-2013 Icon Version Overlay

I wanted to share a new package I create that adds a four digit year overlay (e.g. the text “2009” in orange font) to the LabVIEW EXE program icon (similar to LabVIEW 2014 icon), as shown below

2014-12-12_09-50-54

You can >> download and install the package here <<

Now, for those interested, here’s a little bit of the backstory on this useful tool…

A while back, the great @dnatt posted an excellent idea for a new LabVIEW feature — adding a version number to the LabVIEW icon so it’s easy to tell them apart when they are on your Windows taskbar. Since that was a such a wonderful idea, this feature was added to LabVIEW 2014 (thanks, NI!).

loc_env_new_system_tray_icons

But, what about older versions of LabVIEW? How do you tell those apart?

In response to this need, several people posted customized icons for various versions of LabVIEW. This now made it possible to tell all of these older versions apart.

You can tell which version you’re launching from the Windows taskbar (as shown at the top of this post).

And, you can see on the icon in the Window Titlebar which version of LabVIEW a given VI is open in (since sometimes when you double-click a *.vi file it opens in the “wrong” version of LabVIEW and you don’t realize it — that’s painful especially if you save it in a newer version!).

2014-12-12_09-43-25

In closing, I’d like to give some special thanks, not only to @dnatt, but to everyone who posted the icon files that I used in this package: blawson, John.P, Bob_Schor, asbo, David_L, and others. The LabVIEW community is truly a great thing — I can’t take credit for the idea or the great icons. I only packaged them up so they would be easy for everyone to find and use :-)

I hope you find this tool useful in your LabVIEW programming! If you have any issues, let me know @jimkring.

Posted in LabVIEW | Tagged , , , , , | Leave a comment

Secrets of the VIPC: Pinning Packages

A while back we wrote about the Secrets of the VI Package Configuration (*.vipc) file, which is used by VIPM to keep track of which packages are used in your LabVIEW projects.

2014-12-05_13-41-54

This makes VIPC files great for:

  • People who switch between multiple projects, or come back to old projects once in a while to fix bugs or add features.
  • People who work on the same project(s) on multiple computers.
  • People who hand-off projects to other developers for maintenance.

To create a VIPC file, VIPM scans your LabVIEW projects to automatically find package dependencies. However, sometimes you need to manually add a package that VIPM can’t find, or perhaps you’re using a packaged development/build tool that’s not really part of your source code.

In these cases, where packages have been manually added, you probably don’t want VIPM to suggest removing the package after doing a Scan Project to find package dependencies. That’s where “Pinning” a package comes in very handy.

“Pinning” a package prevents VIPM from removing the package after a Scan Project, if the package is not found as a dependency. To pin a package, right-click on the package in the VIPC window and chose Pin Package (note: if it has a checkmark next to it, it’s already pinned).

It’s that easy!

For more useful information about VI Package Configurations, see our article How to use VI Package Configurations (VIPC).

Posted in VIPM | Tagged , , , , , | Leave a comment

A LabVIEW app you just have to touch!

LibertyGT 1200B

The LibertyGT 1200B is an instrument with a touchscreen display that flips down to show it’s really a PXI chassis in disguise!

Ever wonder if it’s possible to create an amazing looking touchscreen application in LabVIEW?

Something with the look and feel of an “App” that you’d find running on a modern touch device like an iPhone, iPad, or Android device?

Then you’re going to love this cool LabVIEW application from RADX Technologies in San Diego with one of the slickest user interfaces created entirely in LabVIEW by the team at JKI.

Oh, and it’s also a revolutionary bench-top instrument that literally flips the idea on its head about what it means to be a boxed instrument by using a modular PXI chassis and instruments under the hood of a flip-down touchscreen display!

2014-07-23_19-05-26

JKI created an environment for launching touch “Apps” that’s written entirely in LabVIEW!

Read the full case study to learn how JKI used LabVIEW to create powerful software in LabVIEW with an amazing user experience (UX) to give RADX Technologies a strong competitive advantage in the RF test instrumentation space…

Creating a Modern Touchscreen User Interface for RF Test Systems with LabVIEW

Watch this video of the software in action!

And, here’s a video of JKI Staff Engineer, Justin Goeres, showing off the software at NIWeek 2014:

Posted in Applications, Company News, JKI, LabVIEW | Tagged , , , , , , , , , , , , , , | 5 Comments

Certified LabVIEW Embedded Developers (CLED) on the US West Coast – We’re It!

Javier Ruiz / CLED

In the April 22 issue of NI News, National Instruments calls attention to the only seven people in the world to have achieved the Certified LabVIEW Embedded Developer classification. We’re thrilled that our very own Javier Ruiz is on the list!

You can also see from the list that JKI is the only company on the United States West Coast with a CLED on staff. So if you’re anywhere in the Western US and doing work (or thinking of doing work) with any National Instruments embedded products, like the Linux-based NI cRIO-9068, why not drop us a line? No matter the size or complexity of your system, our engineers can help.

Posted in Company News | Tagged , , , , | 3 Comments

Happy Holidays from JKI!

Holiday Card 2013To all our Friends and Partners,

Thank you for another wonderful year.
Warm holiday wishes, and all the best for a prosperous 2014.

From all of us at JKI

Posted in Company News | Tagged , , | 4 Comments

VIPM 2013 SP1 is here. Upgrade today!

We’re pleased to announce the availability of VI Package Manager 2013 Service Pack 1.

Download VIPM 2013 SP1

We’ve been hard at work ever since VIPM 2013 shipped on the LabVIEW 2013 Platform DVD a few months ago. We’ve squashed a bunch of bugs reported in our forums, and we also snuck in a few small features from the VIPM Idea Exchange. For full details, read the release notes here.

VIPM 2013 SP1 is a free upgrade and won’t require to you to reactivate your license, so don’t wait. Click here to upgrade.

 

Posted in Company News, JKI Software Products, VIPM | Tagged , , | 1 Comment

NIDays San Jose Is Coming – Join Us There!

NIDays 2013 Logo

Next Thursday (December 12, 2013), National Instruments will bring its largest-ever regional technology and innovation conference to San Jose, and JKI will be there! NIDays is a free, one-day, multitrack conference with dozens of technical sessions, workshops, and technology demos of the latest advancements in design, control, and test. Learn more here, and then register now to book your spot.

Don’t miss our very own Jim Kring in the “Fast 15″ presentation track. Jim will be demonstrating JKI’s embedded LabVIEW touch panel technology in his talk, “At Your Fingertips: Creating a Touch Screen UI for Embedded LabVIEW.” Catch Jim’s talk from 1:15-1:30.

Then, drop by the JKI booth (#206) and see our demo of the new Linux-based NI cRIO-9068 software-designed controller. By combining LabVIEW with the world of Linux software and tools, the cRIO-9068 helps JKI and our customers build flexible, robust, distributed systems faster than even before.

When: Thursday, December 12, 2013
Where: McEnery Convention Center, 150 West San Carlos Street, San Jose, CA
Cost: Free. Register here.

Posted in Company News, Events, JKI | Tagged , , , , , , | Leave a comment