From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
0 Kudos
Andi_S

block diagram decoration frame element with clustering ability

Using single-frame-sequences is one (beside other) possibility to keep the code well structured and good readable:
- clustering code in logical groups
- defined place of description by using sub-diagram label
- frame- and background colors
- exclude from diagram cleanup option
- moving the frame will move the code inside, too

 

But there is also two disadvantages:
- clustering the code in sequences changes the execution order. Especially on high optimized and parallel code this can lead to unwanted performance loss
- only code which follows the data flow can be placed within one frame

 

An alternative is the frame decoration element. But this is not grouping the code, it is just floating over the code. This has several disadvantages:
- during diagram cleanup the frame will be moved to somewhere
- moving the frame will not move the code
- documentation ability
- no background color

My idea / request:

The frame-decoration-element shall be extended by a visual code-clustering ability so that it has the same usability like a sequence but without an influence to the execution order. Additinally it shall be possible to place code inside, even if this does not follow the data flow.

 

The two images are showing the current situation - first with a decoration frame, second with a sequence.

frame.pngframe2.png

 

Remark: I'm using LV2015SP1     

 

3 Comments
AristosQueue (NI)
NI Employee (retired)

Duplicate: http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Add-a-quot-structure-quot-that-does-not-affect-compila...

This idea has been repeatedly rejected by R&D.

It originally came up when we were designing the Diagram Disable Structure. If you're disabling two sections of code, there's no reason to necessarily slave their dataflow together. So we originally prototyped it as exactly what you're requesting -- a structure that could group code without modifying the dataflow. But in usability testing, we found that confused more people than it helped. Ultimately, we decided that frames in LabVIEW need to always be synchronization boundaries. We have revisited this question a few times over the years and always come to the same conclusion.

Andi_S
Member

hm ... ok Smiley Frustrated  😞

Darren
Proven Zealot