Jump to content
Michael Aivaliotis

Refactoring of the NI 3 button dialog

Recommended Posts

In this example, we show how you can refactor existing code. We have taken the 3 button dialog that ships with the base version of LabVIEW and upgraded it to use the JKI State Machine template. We have not added or changed any functionality. Also, we have not changed the way the functionality is implemented.

 

Here is a screenshot showing how the VI looked before the refactoring:

3buttonbefore.png

Here is a screenshot showing how the VI looked after applying the JKI State Machine template:

3buttonafter.png

 

We've attached the the refactored VI that has been written in LabVIEW 8.2. Remember that you need to have the JKI State Machine package installed in your version of LabVIEW. Click here for information on how to install the JKI State Machine.

 

jki-state-machine-button.png

 

Three_Button_Dialog_CORE___JKI.vi

The original VI is located at: \Utility\error.llb\Three Button Dialog CORE.vi

Click here to watch a video that describes some of the design thought process used in the re-factoring:

Video: Refactoring the LabVIEW three button dialog

Share this post


Link to post
Share on other sites

We just found a small bug in the release of this example. Thanks goes out to Darren Nattinger of National Instruments for pointing it out ;) . If you've downloaded it before Oct.14,2008 (3pm) then please re-download it. The original link has been updated.

Share this post


Link to post
Share on other sites
In this example, we show how you can refactor existing code. We have taken the 3 button dialog that ships with the base version of LabVIEW and upgraded it to use the JKI State Machine template. We have not added or changed any functionality. Also, we have not changed the way the functionality is implemented...

 

Nice example... However, it is somewhat ironic that NI's Three Button Dialog CORE.vi appears in the hierarchy of your Three_Button_Dialog_CORE___JKI.vi.

Bill VanArsdale

Share this post


Link to post
Share on other sites
Nice example... However, it is somewhat ironic that NI's Three Button Dialog CORE.vi appears in the hierarchy of your Three_Button_Dialog_CORE___JKI.vi.

Bill VanArsdale

Well yes, the reason of course is NI uses it in the General Error Handler.vi which we call in the Error Handler frame of our state machine.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site, you agree to our Terms of Use.