Jump to content

[CR] Scripting Tools


Recommended Posts

Scripting Tools


lava_lib_LabVIEW_API_scripting_tools v0.22.1.21 by University of Leeds

Author: Gavin Burnell

Copyright: Copyright © 2007-2010, University of Leeds

License: BSD

Compatible LabVIEW Versions: >= 8.6.

Compatible OS Versions: ALL.

Description:

This is a LabVIEW 8.6.1 Library of VIs to help with scripting.

The public VIs include routines to get hold of the block diagram references, control terminal references, get the connector pane reference and select the connector pane pattern and wire controls up to it. There are a number of routines to help wire the block diagram up, including creating a selection of the primitives (I got bored of coding them all up !).

I've stuck in some routines that work with tags - hidden away is the capability to tag LabVIEW vi-server objects with arbitary data. One possibility is to use this to identify bits of the block diagram of a vi for moving and rewiring via scripting.

The scripting Tools includes a separate XNode support library that provides routines to help scripting and terminal adaptation in XNodes.

There are some routines to help with undo transactions new to this release.

This Package Conflicts with these other packages:

LAVAG_scripting_tools >= 0.0

Scripting Tools >= 0.0


  • Like 1
Link to comment

Thanks to the LAVA team for resurrecting the Scripting Tools.

The latest version is available via subversion on the LAVACR repository on Google: http://code.google.com/p/lavacr/ including an 8.6.1 version. Future releases (as and when I get ownership of the CR entry back (!)) will be for LabVIEW 8.6.1 or higher versions only. With the release of LabVIEW scripting most of this code is now easily reproduced but hopefully some folks will still find it useful.

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

I've just uploaded a new version - 0.20.1 which has several new features, including a vi that can create structures by enclosing objects that already exist on the block diagram - just like the regular draw structure around things does. There;s also a couple of vi's that do things that aren't exposed by scripting - like turning on the "use default if not wired flag" on tunnels and triggering type propagation. I've stuck these together to create a new example too - a pugin for the JKISoft RCF framework that will wrap everything in a case structure, wire up the error wires and then set the output tunnels to use default value if not wired (so the resulting VI does actually compile).

  • Like 1
Link to comment
  • 1 year later...

Version bump to 0.21 - new feature is a routine for finding the downstream sink terminals of a wire from an arbitary point close to one segment of the wire (e.g. to be used for working out where in a multi-branched wire a node needs to be inserted if the user clicked at a given co-ordinate)

Link to comment
  • 6 months later...

Version bump to 0.21 - new feature is a routine for finding the downstream sink terminals of a wire from an arbitary point close to one segment of the wire (e.g. to be used for working out where in a multi-branched wire a node needs to be inserted if the user clicked at a given co-ordinate)

I cannot get the latest version of scripting tools package to install in LabVIEW 2010. I am not sure if this is a package or a VIPM problem. I suspect it is a package issue at present and somehow involved with format release of scripting. Is there a way to find out what the auto-conflict is referring to ?

post-7256-0-32613300-1300372481_thumb.jp

I will force the install and see what happens

EDIT unselected the auto-conflict and installed in 2010 but did not load as expected

Dannyt

Link to comment
  • 2 weeks later...

I cannot get the latest version of scripting tools package to install in LabVIEW 2010. I am not sure if this is a package or a VIPM problem. I suspect it is a package issue at present and somehow involved with format release of scripting. Is there a way to find out what the auto-conflict is referring to ?

post-7256-0-32613300-1300372481_thumb.jp

I will force the install and see what happens

EDIT unselected the auto-conflict and installed in 2010 but did not load as expected

Dannyt

Ok,

I've got another rebuild that installs cleanly (for me anyway) on LV2010 64bit. Unfortunately the Code Repository file uploader is being funny and not letting me upload the file right now.

Edit: Code Repository playing ball now. Version updated. Any reports problems installing on LabVIEW 2010 or 2009 happily accepted.

  • Like 1
Link to comment

Ok,

I've got another rebuild that installs cleanly (for me anyway) on LV2010 64bit. Unfortunately the Code Repository file uploader is being funny and not letting me upload the file right now.

Edit: Code Repository playing ball now. Version updated. Any reports problems installing on LabVIEW 2010 or 2009 happily accepted.

Hi Gavin,

That is great thank you, I can now load the package OK into LabVIEW 2010

Link to comment
  • 4 weeks later...

I've released a new version (0.22.1) that cleans up a few bugs and adds a couple of features that I needed to help write XNodes based on a templating approach more easily and quickly. I'm currently working on converting OpenG Array tools to XNodes using this toolkit (which is why I've removed the dependency of Scripting Tools on OpenG array tools !) so that they are not limited to just the types for which polymorphs have been provided but will work with any suitable array type. There is an initial release out now.

Link to comment
  • 1 month later...

It seems as though "Check Cluster Term Type" is missing its connector pane assignments.

Cheers ~ Greg

Hmmm, oops. Thanks for spotting that - now fixed in 0.22.02.

Too much working too late at night methinks.

Gavin

Link to comment
  • 3 weeks later...

Hi Gavin

I want propose you one small vi for your library. This Vi return the ConPane index on one control (connect to ConPane) if find.

Perhapse you can add it to your library.

Regards

Eric

Nice.

Added to version 0.23.0 (after back saving to 8.6.1f2 and renaming Find ? to Found ? on the indicator label :rolleyes:)

Gavin

Link to comment

I think there are problems with the "Find tagged and replace" routine - the "Replacement Path" control does not default to a truly "Not a Path" value, and the "New VI Object Style" should be a Ring control (with the appropriate values) rather than an Enum. I've attached an 8.6 version of what I think should be the correct VI.

I also created a little utility which may be useful to add to your XNode support, though it is quite tailored to your own method for creating XNodes!

Find tagged and replace.vi

Copy+WireScript.vi

Link to comment

I think there are problems with the "Find tagged and replace" routine - the "Replacement Path" control does not default to a truly "Not a Path" value, and the "New VI Object Style" should be a Ring control (with the appropriate values) rather than an Enum. I've attached an 8.6 version of what I think should be the correct VI.

I also created a little utility which may be useful to add to your XNode support, though it is quite tailored to your own method for creating XNodes!

Thanks !

I've used your patched Find tagged and replace and added a new Copy and WireTagged Element which is essentially the same as yours except that I put the tagname and value to look for into a front panel control (with the defaults set for my standard tags). Uploaded as version 0.24

Keep the bug fixes and additions rolling folks and I'll merge them as and when I get time...

Link to comment
  • 4 years later...

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.