LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Darren's Occasional Nugget 02/23/2018

There is a little-known feature in LabVIEW 2016 and later called Data-agnostic Smart Probes. These are probes you can place on wires in LabVIEW that don't actually care about the value being passed through the wire, so much as they care that data has passed through the wire.

 

LabVIEW does not currently ship with any Data-agnostic Smart Probes, but you can create one relatively easily. Follow the procedure for creating a new smart probe, then simply delete the control that was created within the probe VI matching the wire data type. You now have a Data-agnostic Smart Probe!

 

I've attached an example 'Timing Probe' to this post (saved in LabVIEW 2016) that illustrates the power of Data-agnostic Smart Probes. See the following diagram:

timing_probe_1.png

I have created a Timing probe on each of those wires with different data types (normally, you can only probe a wire with a probe that matches the wire data type). But in this case, each wire has a timing probe, and in the Probe Watch Window, you can see the time difference between when data flowed through each wire. Note that each instance of the Timing probe allows you to specify a unique 't start' to calculate the delta t between execution of any other Timing probe and the current probe.

 

A few caveats about using Data-agnostic Smart Probes:

1. You have no access to the data that flowed through the wire being probed. You only know that when the probe executes, it's because data has flowed through the wire being probed.

2. If your Data-agnostic Smart Probe panel has an XControl on it (as the Timing Probe does), your probe will not work on LabVIEW RT.

 

To try out the Timing Probe attached to this post, unzip the contents of the attached zip file to your [LabVIEW Data]\Probes folder or your [LabVIEW 20xx]\vi.lib\_probes folder.

 

I look forward to seeing more scenarios for which the LabVIEW community can utilize Data-agnostic Smart Probes.

Message 1 of 6
(8,222 Views)

Very neat and yes this is a feature not many know about.  But honestly not having access to the data makes this feature only good for things like timing, I can't really think of any other use for this.  When I first heard about this feature in the beta I really wanted this to mean a more advanced variant probe that can probe any wire and do other things with it.  Like incorporate the Variant Probe on all wires.

0 Kudos
Message 2 of 6
(7,965 Views)

Very nice feature.

 

A great way to demonstrate race conditions while training up newer developers.  I'm sure you'll see that probe display in a snip or two on the forums.  

 

And now I have to ask (just because I'm me) Will there be support for smart-probes with a vim extension that also have access to the data?  The feature seams a bit incomplete without that too.


"Should be" isn't "Is" -Jay
0 Kudos
Message 3 of 6
(7,944 Views)

@Hooovahh wrote:

But honestly not having access to the data makes this feature only good for things like timing, I can't really think of any other use for this.


Here's a Data-agnostic Smart Probe that isn't related to timing. This probe will conditionally toggle execution highlighting while your VI is executing.

 

execution_highlighting.gif

 

We are considering shipping this probe in a future LabVIEW version since it is also a highly-kudoed idea on the LabVIEW Idea Exchange.

 

The attachment is saved in LabVIEW 2016. Place it in your [LabVIEW Data]\Probes folder or your [LabVIEW 20xx]\vi.lib\_probes folder. It will give you a new  'Execution Highlighting' entry in the Custom Probe menu.

Message 4 of 6
(7,891 Views)

@JÞB wrote:

 

 

And now I have to ask (just because I'm me) Will there be support for smart-probes with a vim extension that also have access to the data?  The feature seams a bit incomplete without that too.


I'm not aware of any plans for .vim integration with custom probes at this time. Good idea, though. 

0 Kudos
Message 5 of 6
(7,890 Views)

@Darren wrote:

@JÞB wrote:

 

 

And now I have to ask (just because I'm me) Will there be support for smart-probes with a vim extension that also have access to the data?  The feature seams a bit incomplete without that too.


I'm not aware of any plans for .vim integration with custom probes at this time. Good idea, though. 


Well then, Kudos here


"Should be" isn't "Is" -Jay
Message 6 of 6
(7,866 Views)