LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Dataflow_G

Malleable VI - Option to view Instance VI

Status: New

A malleable VI on a block diagram can be converted from an Instance VI to a Standard VI, which I've found useful to aid debugging. Unfortunately this modifies the calling code and requires the changes to be reverted to restore the original malleable VI.

 

This idea is to provide an additional right-click option for malleable VIs - View Instance VI. This would open the instance VI in memory, and allow read-only viewing of the block diagram.

instance-vi-1.png

This is useful when examining how the Type Specialization Structure cases are being evaluated given the currently wired inputs to a malleable VI. It also offers ability to quickly view the instance VI data types, helping determine which malleable input wires are *actually* broken. In the example below LabVIEW shows all of the inputs to Stall Data Flow.vim as broken, though viewing the instance VI shows only one input is actually broken.

 

instance-vi-2.png

 

When the Instance VI is opened for viewing, it wouldn't offer any runtime debugging, but means no changes need to be made to the calling VI when performing static code analysis at edit time.

 

The ability to view instance VIs already exists in LabVIEW through VI scripting (see example below), but would be nicer to have quick access to it when right-clicking a malleable VI.

 

instance-vi-3.png

3 Comments
Dataflow_G
Member

It looks like this idea already exists in LabVIEW, hidden behind a labview.ini token:

 

allowOpenFPOfInstanceVIs=True

 

When set, the right-click menu option Convert Instance VI to Standard VI instead opens the instance VI. It would still be nice to have both the option to view or convert instance VIs, but for my use case I'll be keeping this key enabled.

 

Note that the instance VI can be edited so be careful not to make changes to it, and only update the malleable VI.

_carl
Member

"When the Instance VI is opened for viewing, it wouldn't offer any runtime debugging"....actually...why not?  I'd love to be able to step in to the runtime instance VI to help debug VIMs...

wiebe@CARYA
Knight of NI

Because the 'instance' isn't a clone instance. The code runs inlined, and inlined VIs can't be debugged.

 

Of course the next question could be "why can't we debug inlined VIs"...