LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

VI Analyzer shows non-existant error

I just ran VI Analyzer on a VI and received the following in the results.

"The function "Request Deallocation" has none of its outputs wired, and therefore performs no useful operation. Consider removing this function from your diagram."

The "Request Deallocation" function has no outputs, only a single boolean input, and it is connected.

Another thing I noticed that is not quite correct is the "Wires Under Objects". It triggers a warning if a wire is just touching an object, but not hidden. I had a wire running from a For loop iteration terminal to the 'index' terminal on an array function and the bend in the wire was touching the bottom corner of the 'Loop Count' ternimal, but was not under it.

This is on WinXP, LabVIEW
7.1 andVI Analyzer 1.0

Ed


Ed Dickens - Certified LabVIEW Architect
Lockheed Martin Space
Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
0 Kudos
Message 1 of 5
(2,787 Views)
> Another thing I noticed that is not quite correct is the "Wires Under Objects".
> It triggers a warning if a wire is just touching an object, but not hidden.

Well, if it is touching then the casual viewer (or someone who just has a printout/screen capture) may think that it is connected. Things like that cause painful delays in debugging. You have to go through a step that looks at that node - wonder what it is doing - only to discover it's not really connected - blind alley - debug elsewhere. It is right to give a warning on a touch.

Les
0 Kudos
Message 2 of 5
(2,787 Views)
I half way agree with you. I think what the Wires Under Objects check needs some tolerance you can set. Like if only 1 pixel is touching it�s OK.

Look at the attached image. Both of these trigger a warning for the check. Since the wire in Loop 2 is partially obscured by the Loop Count terminal, that one makes sense even though it�s not �under� an object.

Loop 1 has 1 pixel touching the terminal, but it�s clearly not connected to it, so it would be nice to have the option of not producing a warning for that.

Ed


Ed Dickens - Certified LabVIEW Architect
Lockheed Martin Space
Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
0 Kudos
Message 3 of 5
(2,787 Views)
Hi Ed,

In regards to your first problem, that is definitely a bug in the Unused Code test...the "Request Deallocation" function obviously shouldn't fail that test. I will make sure this gets fixed in the next version of the VI Analyzer.

For the second problem, I would argue that both of the examples you give in your screenshots should be flagged by the test. You are correct that the wires are not technically "under" the For Loop N terminals, but I feel that both examples are not good examples of wiring, especially given all the extra space to the right inside the For Loop. The wires are unnecessarily crowded up against the N terminal. Obviously this is a trivial case, but the purpose of the Wires Under Objects test is to improve the readability of diagrams
, and I think we all agree that diagrams are more readable with more whitespace between wires and adjacent objects.

Nevertheless, we do plan to add a pixel tolerance option to the test in the next version of the VI Analyzer, since I know that not everyone agrees with my purist views on wire spacing. 🙂

One more thing...I noticed in your post that you are using LabVIEW 7.1 and the VI Analyzer 1.0. There are some issues with using the VI Analyzer 1.0 with LabVIEW 7.1, and these issues are addressed and corrected with the VI Analyzer 1.0f1 patch. You can read about the issues, and click a link to download the patch, in this KnowledgeBase document.

Please let me know if you have any other questions or feedback on the VI Analyzer.

Darren N.
LabVIEW R&D
0 Kudos
Message 4 of 5
(2,787 Views)
Thanks for the feedback Darren.

Obviously the wire routing is a personal thing, and I don't usually run wires that close to other objects, but in the code of the real application where that popped up there was a lot more going on than in the example I posted. I actually made the example to see if it would fail by itself or if something else was triggering it.

In fact, until the warning popped up, I hadn't even considered them to be touching, but now see that one pixel on each is. Something to keep in mind.

Ed


Ed Dickens - Certified LabVIEW Architect
Lockheed Martin Space
Using the Abort button to stop your VI is like using a tree to stop your car. It works, but there may be consequences.
0 Kudos
Message 5 of 5
(2,787 Views)