Jump to content

[CR] Insert State Into JKI State Machine (Quick Drop Plugin)


Recommended Posts

index.php?app=downloads&module=display&section=screenshot&id=149

Name: Insert State Into JKI State Machine (Quick Drop Plugin)

Submitter: jgcode

Submitted: 11 Sep 2010

File Updated: 03 Jan 2011

Category: Quick Drop Plugins

LabVIEW Version: 2009

License Type: BSD (Most common)

Insert State Into JKI State Machine v1.3-1

Copyright © 2010, Jonathon Green; JGCODE

All rights reserved.

Author: Jonathon Green

LAVA Name: jgcode

Contact Info: Contact via PM on lavag.org

LabVIEW Versions:

LabVIEW 2009

Dependencies:

No Dependencies

Description:

Contains a Quick Drop Plugin Tool Menu Item which adds a State to a JKI State Machine. This tool will allow you to create either a new state in a section or a complete new section whilst automatically handling the template's syntax. If a new state is selected then it is added after the current visible state and the current section's frame is used as the template frame. If a new section is added it is added after the current visible section and the Core frame is used as the template frame. Correct Syntax (e.g. proper name, single spaces) are forced but can be overriden (e.g. to achieve capitalisation) using a period "." at the end of the text entry.

This package will install the quick drop plugin to LabVIEW\resource\dialog\QuickDrop\plugins and the tool menu item to LabVIEW\project\JGCODE ToolsSupport files are installed at vi.lib\addons\_JGCODE Toolkits\insert_state_into_jki_state_machine. See here to learn more about creating your own keyboard shortcuts using Quick Drop Plugins.

Note: This tool assumes that the template structure of the JKI State Machine will not be altered in any way.

Installation and Instructions:

Install package using VIPM.

*Ensure that the j.vi does not already exist as a quick drop plugin, if so you will have to manual manipulate the install.

If dependencies exist, then install provided .vipc file.

If the VI contains only one JKI State Machine then just run the plugin otherwise, use the mouse to select the case structure you want to manipulate.

Quick Drop:

Press Ctrl + Space to activate Quick Drop on this VI

Enter the name of the State in the Quick Drop Combo Box

Press Ctrl + J to create a new State

Or

Press Ctrl + Shift + J to create a new Section

Tool Menu:

Select the item from the menu

Enter the name of the State and check whether to create a new State or new Section

Press Ok

Undo is supported with the plugin.

Examples:

No Examples supplied

Known Issues:

No Known Issues

Acknowledgements:

Darren Nattinger

Eric BOBILLIER and Ton Plomp

Version History (Changelist):

1.3-1 2010 09 30

Added (): Quick Drop combobox can force syntax and non-capitialisation. Names are now checked for correct syntax, including proper case and single spaces between words and no whitespace either side.

1.1-1 2010 09 13

Fixed (): Fixed broken run arrow issue. Thanks to Eric BOBILLIER for finding and posting the workaround.

1.0-1 2010 09 11

Added (): Initial release of the code (LabVIEW 2009)

License:

BSD (http://opensource.or...bsd-license.php)

Copyright © 2010, JGCODE

All rights reserved.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright

notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the following disclaimer in the

documentation and/or other materials provided with the distribution.

* Neither the name of JGCODE nor the

names of its contributors may be used to endorse or promote products

derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY JGCODE ''AS IS'' AND ANY

EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

DISCLAIMED. IN NO EVENT SHALL JONATHON GREEN BE LIABLE FOR ANY

DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES

(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;

LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS

SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Support:

If you have any problems with this code or want to suggest features:

please go to lavag.org and Navigate to LAVA > Resources > Code Repository (Certified) and search for the Insert State Into JKI State Machine support page.

Distribution:

This code was downloaded from the LAVA Code Repository found at lavag.org

Click here to download this file

Link to comment

Hi Jonathon

Few days ago,I have propose similar tools on JKI Forum Here . Have you see it ? It's really near your tool but run like JKI RCF PlugIn.

Like you, i have find same issue arround break arrow. Certainly a scripting issue. Perhapse solve in LV2010 ?

My solution is to save automaticaly the vi before quit tool.( only possible if the vi is all ready save on hard drive)

Eric

  • Like 1
Link to comment

Hi Jonathon

Few days ago,I have propose similar tools on JKI Forum Here . Have you see it ? It's really near your tool but run like JKI RCF PlugIn.

Like you, i have find same issue arround break arrow. Certainly a scripting issue. Perhapse solve in LV2010 ?

My solution is to save automaticaly the vi before quit tool.( only possible if the vi is all ready save on hard drive)

Eric

Hi Eric

I certainly have been following your work (and with Ton too).

In fact, in the readme above you will see I included you in the acknowledgements (and made a mention in video).

I did see your code where you save the VI but I did not want to do that in this case, or handle new-VI (unsaved) case.

The reason for this tool was that I wanted to speed up my workflow when I insert a state.

This was probably the thing that takes me the longest to do.

Do you have any ideas in mind for other tools with respect to JKI State Machine?

Cheers

-Jon

Link to comment

Hi Eric

I certainly have been following your work (and with Ton too).

In fact, in the readme above you will see I included you in the acknowledgements (and made a mention in video).

I did see your code where you save the VI but I did not want to do that in this case, or handle new-VI (unsaved) case.

The reason for this tool was that I wanted to speed up my workflow when I insert a state.

This was probably the thing that takes me the longest to do.

Do you have any ideas in mind for other tools with respect to JKI State Machine?

Cheers

-Jon

Maybe worth exploring. But if you edit the case name after insertion (say insert a space then delete it). The broken arrow disappears.

  • Like 1
Link to comment

Thanks for yours acknowledgements. :thumbup1:

You are welcome!

After few tests, i have find a solution to break arrow issue. In fact it's arround default case. You just need to redefine it and the arrow isn't break. see my solution in the red box below.

Eric this is great (and thanks for posting too Shaun)

I have found you only need less code, but the principle is the same: toggle the default case.

post-10325-036438800 1284330420_thumb.pn

Does this work for you?

Now that the broken run arrow is no longer an issue I have uploaded a fix: version 1.1.

Here is the video (it got mundged with the starting post was automatically updated) - but now the run arrow issue is fixed.

<object id="scPlayer" class="embeddedObject" width="1122" height="876" type="application/x-shockwave-flash" data="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c275b677-922c-42b8-a699-ce4c1b7bd0bb/jingswfplayer.swf"> <param name="movie" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c275b677-922c-42b8-a699-ce4c1b7bd0bb/jingswfplayer.swf"> <param name="quality" value="high"> <param name="bgcolor" value="#FFFFFF"> <param name="flashVars" value="thumb=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c275b677-922c-42b8-a699-ce4c1b7bd0bb/FirstFrame.jpg&containerwidth=1122&containerheight=876&content=http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c275b677-922c-42b8-a699-ce4c1b7bd0bb/Insert%20State%20Into%20JKI%20State%20Machine.swf&blurover=false"> <param name="allowFullScreen" value="true"> <param name="scale" value="showall"> <param name="allowScriptAccess" value="always"> <param name="base" value="http://content.screencast.com/users/jgcode/folders/LAVA%20CR/media/c275b677-922c-42b8-a699-ce4c1b7bd0bb/"> </object>

  • Like 1
Link to comment
  • 3 weeks later...

post-10325-088825500 1285842487_thumb.pn

A small update to handle a little issue with the quick drop combo box...

Version History (Changelist):

1.3-1 2010 09 30

Added (): Quick Drop combobox can force syntax and non-capitialisation. Names are now checked for correct syntax, including proper case and single spaces between words and no whitespace either side.

So in QD if you Type "Load For..." it converts it to "Load for..."

So I decided to handle this case plus syntax in general.

post-10325-075303700 1285842785_thumb.pn

Before:

post-10325-033823900 1285842784_thumb.pn

After:

post-10325-011886800 1285842783_thumb.pn

And in the edge case that you want to override this Syntax, you can, by placing a period as the last character:

post-10325-028622500 1285843094_thumb.pn

post-10325-008905600 1285843095_thumb.pn

Cheers

-JG

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

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