Jump to content

[CR] VariantProbe


Recommended Posts

post-2399-0-43332100-1345817232.png

File Name: VariantProbe

File Submitter: tcplomp

File Submitted: 4 Dec 2006

File Updated: 24 august 2012

File Category: Custom Probes

This Custrom probe is useful for browsing the contents of a variant.

It will try to parse all the fields in the variant (notify me if you have a fail).

It will track the history of the variant and allow you to pause on a change.

It will present the data in a tree structure, allowing you to browse through the history.

Be warned, the tree structure is great for viewing, but tracking a lot of history (>50 or so) will slow down the update of the tree.

Version History:

  • 2.4: Immediate updating after changing of attributes
    Rebuild in LabVIEW 2011
  • 2.3: Fixed a bug that caused attributes not to be traversed on certain data-types
  • 2.2: Fixed a relinking bug
  • 2.1: Fixes a bug where unnamed cluster elements where used (http://lavag.org/topic/10269-discuss-variantprobe/page__view__findpost__p__67677)
  • 2.0: Added an XControl
    Show XControl in palette (under user.lib controls)
    Add coloring
    Add 'user permissions' on XControl
    Add Reset on XControl
    Add optionally traversing attributes on XControl
    Add optionally colorizing on XControl
    Add optionally resetting on XControl
  • 1.2.0: Upgraded to LabVIEW 8.5 to use Inheritance
    Support for Waveforms, timestamps and dynamic datatypes (thanks to Osvaldo)
    Added probe for an array of Variants
    Distributed as one .llb and added OGP installer
    If a Variant hasn't changed it's not decomposed (optimization)
  • 1.1.0: Support for attributes of variants
  • 1.0.1: Controls placed on a seperate pane
    Resize tree to upper pane
    Hide unused columns
    Limited maximum history length (default 10)
    Window resizable
  • 1.0.0: Initial release of the code.

Uses the following OpenG packages:

oglib_comparison-2.0-1

oglib_lvdata-2.7-1

oglib_file-2.7-1

oglib_string-2.5-1

oglib_error-2.3-1

To get these OpenG packages use VIPM

Ton

Click here to download this file

Link to comment
Nice implementation. Were you aware that Jim Kring had already done something similar?

Hi Mike,

No didn't know, it looks like you had a different approach. And the old OpenG content is hard to get...

Only one question when I want to probe a non-variant data type I get this error:

post-2399-1165993925.png?width=400

Has the probe engine changed?

Sounds like an update with a resizable window is in order.

Here you go! And you used another screenshot (mine was too big I assume?)?

Have fun

Ton

Link to comment
  • 3 weeks later...
  • 2 years later...

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

Name: VariantProbe

Submitter: Ton Plomp

Submitted: 02 Jul 2009

File Updated: 19 Nov 2009

Category: Custom Probes

Version: 2.3.0

LabVIEW Version: 8.5

License Type: BSD (Most common)

Variant Probe V2.3

Copyright © 2009, Ton Plomp

All rights reserved.

Author:

Ton Plomp

tcplomp@gmail.com

Distribution:

This code was downloaded from:

http://lavag.org/ind...ads&showfile=19

Description:

A custrom probe to put on a variant.

It will create a tree based on the variant data, and populate the tree with the data, the attributes of the variant will be shown as well.

The datatype description will betermine the color of the tree items.

Historical data is available as well.

Version 2.0 introduces a Variant Tree XControl which can be used in any project. Located under the user.lib palette, it gives great flexibility to

the programmer.

The programmer has the posibility to give the end user permissions for the following actions:

-Reset

This will reset the whole tree contents

-Traverse Variant Attbributes

This will enable/disable the traversion of variant attributes

-Colorize

This will enable/disable coloring of the actual datatype

All of these customizations are available as properties/methods for the actual XControl as well.

Demo:

Installation method 1:

Install the VariantProbe_2.0-2.ogp using VIPM (www.jkisoft.com/vipm)

Installation method 2:

Place the contents of the user.lib folder inside the LabVIEW user.lib folder.

and you have a custom VariantProbe and xcontrol

Don't forget to remove the old version manually if needed!

To use it add a probe to a variant datatype or to an array of variant's.

It can pause if the data changes, and will notify you if a change happens.

Dependencies:

The following OpenG packages should be installed:

oglib_string>=2.6

oglib_lvdata>=2.8

oglib_comparison>=2.3

oglib_error>=2.0

Known issues:

Is slow on large variants.

Support:

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

http://lavag.org/ind...showtopic=10269

Version History:

2.3: Fixed a bug that causes the attributes not to be traversed

2.2: Recompiled because a cross-linking issue arose caused by NI

2.1: Fixes a bug where unnamed cluster elements where used (http://lavag.org/topic/10269-discuss-variantprobe/page__view__findpost__p__67677)

2.0: Added an XControl

Show XControl in palette (under user.lib controls)

Add coloring

Add 'user permissions' on XControl

Add Reset on XControl

Add optionally traversing attributes on XControl

Add optionally colorizing on XControl

Add optionally restting on XControl

1.2.0:

  • Upgraded to LabVIEW 8.5 to use Inheritanct
  • Support for Waveforms, timestamps and dynamic datatypes (thanks to Osvaldo)
  • Added probe for an array of Variants
  • Distributed as one .llb and added OGP installer
  • If a Variant hasn't changed it's not decomposed (optimization)

1.1.0:Support for attributes of variants

1.0.1:Controls placed on a seperate pan

Resize tree to upper pane

Hide unused columns

Limited maximum history length (default 10)

Window resizable

1.0.0:Initial release of the code.

Click here to download this file

Link to comment
  • 3 weeks later...
  • 3 months later...

I like it!

Just found one small bug - it doesn't show correctly for a cluster with multiple elements of the same name (often un-named!). I think a possible fix is to change browseVariant.vi by converting the Cluster Variant to an Array of VData (using the OpenG routine), rather than pulling out cluster elements by name.

post-3889-125608768097_thumb.png

Cheers ~ Greg

Link to comment

I posted a fix (version 2.1)

Something seems to have got out of sync in the fix. The probes are looking for "C:\Program Files\National Instruments\LabVIEW 2009\XControls\VariantXControl.xctl"

post-3889-125624258791_thumb.png

and though they do find "C:\Program Files\National Instruments\LabVIEW 2009\user.lib\_LAVA\VariantProbe\VariantXControl__VP.xctl", the Reset method call in the probe is not shown correctly:

post-3889-125624258739_thumb.png

Cheers ~ Greg

Link to comment

Something seems to have got out of sync in the fix. The probes are looking for "C:\Program Files\National Instruments\LabVIEW 2009\XControls\VariantXControl.xctl"

..

and though they do find "C:\Program Files\National Instruments\LabVIEW 2009\user.lib\_LAVA\VariantProbe\VariantXControl__VP.xctl", the Reset method call in the probe is not shown correctly:

Cheers ~ Greg

Strange crosslinking issue with the NI builder. I have reopened the probes and relinked them.

Ton

Link to comment
  • 4 weeks later...
  • 2 weeks later...

Instruction video: <br/>

<object width="678" height="526"> <param name="movie" value="http://content.screencast.com/users/TonPlomp/folders/Jing/media/188896f1-f9e9-4e59-acbe-87e6e062e007/jingswfplayer.swf"></param>'>http://content.screencast.com/users/TonPlomp/folders/Jing/media/188896f1-f9e9-4e59-acbe-87e6e062e007/jingswfplayer.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#FFFFFF"></param> <param name="flashVars" value="thumb=http://content.screencast.com/users/TonPlomp/folders/Jing/media/188896f1-f9e9-4e59-acbe-87e6e062e007/FirstFrame.jpg&containerwidth=678&containerheight=526&loaderstyle=jing&content=http://content.screencast.com/users/TonPlomp/folders/Jing/media/188896f1-f9e9-4e59-acbe-87e6e062e007/Variant_Tree.swf"></param> <param name="allowFullScreen" value="true"></param> <param name="scale" value="showall"></param> <param name="allowScriptAccess" value="always"></param> <param name="base" value="http://content.screencast.com/users/TonPlomp/folders/Jing/media/188896f1-f9e9-4e59-acbe-87e6e062e007/"></param>'>http://content.screencast.com/users/TonPlomp/folders/Jing/media/188896f1-f9e9-4e59-acbe-87e6e062e007/"></param> <embed src="http://content.screencast.com/users/TonPlomp/folders/Jing/media/188896f1-f9e9-4e59-acbe-87e6e062e007/jingswfplayer.swf" quality="high" bgcolor="#FFFFFF" width="678" height="526" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/TonPlomp/folders/Jing/media/188896f1-f9e9-4e59-acbe-87e6e062e007/FirstFrame.jpg&containerwidth=678&containerheight=526&loaderstyle=jing&content=http://content.screencast.com/users/TonPlomp/folders/Jing/media/188896f1-f9e9-4e59-acbe-87e6e062e007/Variant_Tree.swf" allowFullScreen="true" base="http://content.screencast.com/users/TonPlomp/folders/Jing/media/188896f1-f9e9-4e59-acbe-87e6e062e007/" scale="showall"></embed> </object>

  • Like 1
Link to comment
  • 2 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.