04-25-2022 10:32 AM
Hi!
Is it possible to probe values without a wire? For instance the output of a vi/sub-vi that is not connected to anything but could still be interesting to check out.
I would find it interesting to avoid creating indicators for every output of every functions (or opening every sub-vis that I want to check), just in case I need it while debugging an application.
I should probably add that I'm not using a lot of the Labview debug tools (mostly the highlighting, probes and breakpoints); but I know that there is way more to labview. I'm curious to know if there is any "know how" somewhere to train on these tools 🙂
Thanks in advance.
Best,
Vinny
Solved! Go to Solution.
04-25-2022 10:40 AM
For the specific case of looking at the output of a VI not connected to a wire, just keep the front panel open. If it's not a re-entrant VI you can see the front panel indicators/controls update as your program runs.
04-25-2022 10:44 AM
@StevenD wrote:
For the specific case of looking at the output of a VI not connected to a wire, just keep the front panel open. If it's not a re-entrant VI you can see the front panel indicators/controls update as your program runs.
Yep, I'm aware of that but it doesn't work for reentrant VIs, and if they're not, it can be very annoying if there a bunch of them to check and keep all windows open.
I'm also referring to built-in Labview functions (e.g. Queue Status and many other) that you can't open the front panel.
04-25-2022 11:54 AM
@VinnyAstro wrote:I would find it interesting to avoid creating indicators for every output of every functions
You don't need to create any indicators, just wire to the nearest structure (making sure you are not messing with execution order) and you'll be able to probe that wire.
You probably can even leave these wires in place because once debugging is disabled, they will most likely be ignored and treated as dead code.
04-25-2022 01:07 PM
@altenbach wrote:You don't need to create any indicators, just wire to the nearest structure (making sure you are not messing with execution order) and you'll be able to probe that wire.You probably can even leave these wires in place because once debugging is disabled, they will most likely be ignored and treated as dead code
You can wire it to the side of the structure, but it could slow down the dataflow if the wire is too long and/or thin. Cluster wires or array wires are usually OK but numerics, strings, etc are quite thin.
I use my High-throughput Probe Turbosink™ to prevent these issues. Just wire it straight to the output of your VI and now you have a handy probe hook.
04-25-2022 01:11 PM
@BertMcMahan wrote:
@altenbach wrote:You don't need to create any indicators, just wire to the nearest structure (making sure you are not messing with execution order) and you'll be able to probe that wire.You probably can even leave these wires in place because once debugging is disabled, they will most likely be ignored and treated as dead code
You can wire it to the side of the structure, but it could slow down the dataflow if the wire is too long and/or thin. Cluster wires or array wires are usually OK but numerics, strings, etc are quite thin.
Let's not troll people looking for answers on a technical forum (Mr. Jenkins).
04-25-2022 01:47 PM
@BertMcMahan wrote:
I use my High-throughput Probe Turbosink™ to prevent these issues.
Why re-invent the wheel when we already have the JKI wire nuts??? 😄
04-25-2022 02:06 PM
@StevenD wrote:
Let's not troll people looking for answers on a technical forum (Mr. Jenkins).
The OP seemed comfortable enough with LabVIEW that I assumed he'd catch the joke. I wouldn't have done it if he seemed like he was SUPER new to LV. I was hoping he'd get a small laugh and move on. And technically, the VI I provided will work for what he's looking for. Not to mention, examining the block diagram of the "Turbosinks" should be pretty telling 🙂
04-26-2022 02:25 AM
@BertMcMahan wrote:
I was hoping he'd get a small laugh
I did haha. But I have to admit I got confused with the turbosink, I don't have enough xp for these inside jokes 😉
Ok then, I guess my answer is no: Can't probe without a wire ☹️
Wiring to the closest structure can be the easiest solution indeed, but I still can't do it during execution time
Thanks for your answers 🙂
04-26-2022 05:01 AM
@VinnyAstro wrote:
@StevenD wrote:
For the specific case of looking at the output of a VI not connected to a wire, just keep the front panel open. If it's not a re-entrant VI you can see the front panel indicators/controls update as your program runs.
Yep, I'm aware of that but it doesn't work for reentrant VIs, and if they're not, it can be very annoying if there a bunch of them to check and keep all windows open.
I'm also referring to built-in Labview functions (e.g. Queue Status and many other) that you can't open the front panel.
It does work for reentrant VIs. Just put a breakpoint in it and every instance will open as it runs.
So you want to probe all indicators of reentrant VIs but not have the VIs open? There is no way to probe anything if the VI is not opened.
Outputs of sub-VIs cannot be probed without creating a wire. There have been times when I would have liked to just watch the output of e.g a node like Queue status without having to create wires. Perhaps you could make a feature request for that. Perhaps a probe window that just displays the inputs and output values of a node.
I'm sure there's a comprehensive list of debugging techniques somewhere but I cannot find a great one now. That might help here, too see what is available and learn to use that.
Have you tried the Sub-VI Node Setup > Show front panel when called? It opens the FP when that node is run and you can change input values and run before you release the node. Its an often forgotten feature that can be useful sometimes.