11-24-2015 09:48 AM
Hi,
last time a small problem caused a large debugging session with many wtf's.
In short, what happend is this:
... the wire vanished behind the frame, after I shifted the tunnel to the border on the left side.
Later on, I forgot about the replaced tunnel and thught the wire goes streight throu the structure.
So, the case structures look alike they contain different logic, but thei don't.
Would be better if the wire stays visible like this, by default:
Actually I'm working with LV 2011, so the question is: does LV 2015 still behave in the same way?
If it does, I'd put a request to the idea exchange.
11-24-2015 09:53 AM
I believe when you use VI analyzer it will tell you if you have items located behind structures. It would be hard to implement automatic re-wiring because oftentimes when I move a tunnel I don't want it to re-wire.
11-24-2015 09:58 AM
11-24-2015 10:00 AM
I generally avoid swapping a tunnel from one border to another.
When I do need to, I can generally tell that something happened with the wire, and I'll immediate go and right click on the wire and clean it up before I leave that area of the block diagram.
11-24-2015 10:21 AM
it is an annoying problem even in 2015. There are quite a few innocent edit operations that cause wire fragments to get hidden and LabVIEW should do a better job to automatically avoid hiding the wires. There might even be some related entries in the ideas exchange.
11-24-2015 03:39 PM
That's why there is VI Analyzer, a tool I almost never remember to use. I just spent two days trying to find out why my code, very clear, very easy to explain, just wasn't working. I was processing an array, using Delete from Array to remove the initial elements after I processed them, but kept getting the wrong answer.
As it turns out, it was a stupid mis-wiring. I often wire the outputs of LabVIEW Functions (like the Array Out in Delete from Array) from the right, dragging from where they wire will go to where the wire is coming from. Sometimes I drag quickly, and release the mouse button a little too late, effectively wiring to the input of the function, instead of to the output. On a casual (or even somewhat careful) glance, there is nothing wrong with the Block Diagram, but the wire went under the function to its Input, instead of to its Output.
Clumsy Bob!
11-24-2015 03:49 PM
I discuss these very issues in my Improving Code Quality Through Automated Code Analysis presentation. Anyone who doesn't regularly use the VI Analyzer should take the time to watch the 41-minute video. I have some demos along the lines of what Bob describes that make it very clear how the VI Analyzer can help you find bugs in your code that are very difficult to find with visual inspection.
11-24-2015 03:50 PM
Oh, and we are also researching ways to improve block diagram interactions and object positioning to avoid these hard-to-find wiring scenarios in the first place.
11-24-2015 04:09 PM - edited 11-24-2015 04:13 PM
Here's a typical scenario that I encounter almost daily but there are many similar cases:
Moving any tunnel around a corner of a structure is guaranteed to hide its wires inside and outside of the structure. No exceptions!
(Even resizing the case structure downwards in the "Grrr!!!" state will NOT expose the hidden wire.)
11-26-2015 11:00 AM
How does LV internally correlate how a wire connects with a tunnel? With Altenbach's example, it seems to be maintaining it as a left, right, up, down. That when the tunnel is moved from the side to the bottom, if the wire came in from the left, it seems to be staying on the left.
I know there is the inside vs. outside terminations.