Jump to content

Scripting Workbench Beta


Aitor Solar

Recommended Posts

As requested, here is this simple tool intended for providing an easy way of calling properties and methods. I thinks it's pretty intuitive and works as other similar applications. Select the LV version, the class and the desired properties or method. Press "copy" to have the function in the clipboard and paste it in a block diagram.

post-1450-1194860212.jpg?width=400

Known issues:

  • The description box doesn't show anything, because I haven't found a way of programmatically retrieving it. Any idea will be welcome.
  • Some properties can't be created this way. For example, try Generic -> Owner and you'll see the deprecated property is created instead.
  • Maybe not all properties and methods are included and can be some repeated. You can play with the txt files to add and try ned props/meths.
  • The search capability was added as an afterthought and I would prefer to have it better integrated. But still useful.

Please tell me any improvement or idea you get.

Saludos,

Aitor

  • Like 2
Link to comment

QUOTE(Aitor Solar @ Nov 13 2007, 01:26 PM)

My Picture looks almost the same...

VI Server is still VI Server...

post-1396-1195039831.jpg?width=400

EDIT: If I right click on a property node and klick on "select class" then Vi Server is written VI-Server...

So I entered VI-Server istead of VI Server...

This way, a lot of property/involke node can created using the SWB.

However I still get errors on some property/involke nodes:

Application:Command Line Arguments

Application:Debug Name

etc...

post-1396-1195041534.jpg?width=400

Link to comment

Hi Aitor,

Thanks for the great scripting tool! As you already know I've written a similar tool for my private use. However your tool is more polished so I'm not wanting to push my tool forward to compete with your tool but rather help you to include the best of both worlds. I'd like to see a few features added into your tool.

1) Regular expression filtering of class hierarchy while typing into a search field (see Draw Hierarchy.vi and Filter Hierarchy.vi in my tool)

2) Regular expression filtering of methods and properties while typing into a search field (See Filter Items.vi in my tool)

3) Ability to automatically "reverse engineer" classes, properties and methods for new LabVIEW versions when the tool is started in a LabVIEW version for which there is not yet configuration files generated (I've not implemented this so...)

You can also make the start-up faster by using VIs as configuration files. You know how to script a VI with certain default values on the front panel indicators. Such VIs can function as very fast and extensible configuration files. Simply either 1) open the VI and read the front panel controls or 2) open a reference to the VI and call it dynamically. The latter method is faster but requires a little more work if connector pane is changed as old connector pane formats need to be supported.

Cheers,

Tomi

Link to comment

QUOTE(martin@aerodynamics @ Nov 14 2007, 12:30 PM)

post-1396-1195041534.jpg?width=400

Error 1077 is usually associated to a wrong property name. Are you sure all the German names you put are correct?

QUOTE(Tomi Maila @ Nov 14 2007, 03:13 PM)

Yes, the search capability should be heavily improved. I like the approach of your tool, though I still like a global search function because sometimes you just don't know where to look.

I also left out the possibility of creating constants, something your tool has. It was for the sake of simplicity, since you can create a constant from any property ot method, but in fact the question is more complicated if we include strict constants. It happens some classes (like the Vision Image Display) are in fact a strict sub-type of another class, allowing properties and methods the original (un-strict) class doesn't have. But for now I don't see the point of digging that way.

QUOTE(Tomi Maila @ Nov 14 2007, 03:13 PM)

3) Ability to automatically "reverse engineer" classes, properties and methods for new LabVIEW versions when the tool is started in a LabVIEW version for which there is not yet configuration files generated (I've not implemented this so...)

Umm, do you mean the tool should automatically find all the possible classes, properties and methods? I'm afraid that's not an easy task and is far beyond the scope of this simple tool. Generation of the classes tree can be automatic (and fast) through scripting, but usually crashes labview. Finding the correct properties and methods names is more difficult and I prefer not to elaborate on that. I don't know if you have find an immediate way for recovering all that info, I haven't :( .

QUOTE(Tomi Maila @ Nov 14 2007, 03:13 PM)

You can also make the start-up faster by using VIs as configuration files. You know how to script a VI with certain default values on the front panel indicators. Such VIs can function as very fast and extensible configuration files. Simply either 1) open the VI and read the front panel controls or 2) open a reference to the VI and call it dynamically. The latter method is faster but requires a little more work if connector pane is changed as old connector pane formats need to be supported.

Well, the startup seems really fast for me but, I have understood correctly, with the approach you propose, for adding or changing a property would be necessary to open the VI, change the value and making it the default value. I thing the txt files are much more versatile and user-configurable.

Saludos,

Aitor

Link to comment

QUOTE(Aitor Solar @ Nov 15 2007, 10:36 AM)

Error 1077 is usually associated to a wrong property name. Are you sure all the German names you put are correct?

Most property / involke node work with the English names, so I have not yet started to translate all the txt files...

I probably "only" have to figure out the german names of the property / involke node which cause an error...

Link to comment
  • 9 months later...

QUOTE (martin@aerodynamics @ Nov 20 2007, 09:21 AM)

Whoaw, that I missed this tool.

The XControl Inheritance toolkit has a VI (listprops__XIE.vi) which has a property node of the type 'property node' which returns all possible strings under 'All props[]'.

Here's the screen shot:

post-2399-1220551987.png?width=400

Maybe this can help you.

Ton

Link to comment
  • 1 year later...
  • 7 months 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
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.