LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Malleable VI broken wires... NOT!

Recently I have converted fair amount of VIs in my project to malleable. What I have noticed is that some of the VIs using malleables became broken because the wires connected to the malleable VI got broken. Once I disconnect and reconnect a wire it is not broken anymore, it seems I only needed to rewire them. I can't provide an example, but I have noticed this in several cases so I guess its a common phenomena.

 

Any reason to this and is there a way to solve this in an automated way instead of going into every broken VI and reconnect wires? (tried ctrl+RUN VI button, but that didnt help)

 

Thx!

0 Kudos
Message 1 of 16
(1,069 Views)

I would try a Mass Compile... with the faint hope that it would solve the problem.

Message 2 of 16
(1,044 Views)

@1984 wrote:

Any reason to this and is there a way to solve this in an automated way instead of going into every broken VI and reconnect wires? (tried ctrl+RUN VI button, but that didnt help)


Malleable VIs are neat, but are indeed a bit erratic...

 

This shows esp. with nested .vims. (YMMV)

 

It depends a lot on the LabVIEW version. This is one area where things seem to improve without notice. (YMMV)

 

A type specialization structure around a .vim call inside a .vim seems to improve the behavior:

wiebeCARYA_0-1709283097390.png

Put an unwired add (or increment) in the other case, so it always breaks...

 

This should be a no-op, but it seems to help (although again, it's erratic). (YMMV)

 

Sometimes Save All seems to fix things... (YMMV)

Message 3 of 16
(1,034 Views)

I pretty sure thats the most YMMV in a single post I've ever seen 🙂 Thanks for the info!

 

YMMV!

Message 4 of 16
(1,030 Views)

@1984 wrote:

I pretty sure thats the most YMMV in a single post I've ever seen 🙂 Thanks for the info!

 

YMMV!


That's on the malleable VIs, not me!

0 Kudos
Message 5 of 16
(1,025 Views)

@1984 wrote:

Recently I have converted fair amount of VIs in my project to malleable. What I have noticed is that some of the VIs using malleables became broken because the wires connected to the malleable VI got broken. Once I disconnect and reconnect a wire it is not broken anymore, it seems I only needed to rewire them. I can't provide an example, but I have noticed this in several cases so I guess its a common phenomena.


I've had that happen a few times, typically when upgrading LV if memory serves and a couple times when LV crashed (which doesn't happen as often nowadays)

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 6 of 16
(984 Views)

@1984 wrote:

Any reason to this and is there a way to solve this in an automated way instead of going into every broken VI and reconnect wires? (tried ctrl+RUN VI button, but that didnt help)


What version of LabVIEW are you using?  I know this was a major issue in the compiler that many were up in arms over.  I'm mostly certain it has been fixed.  I don't remember exactly what versions were involved and too lazy to go digging.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 7 of 16
(967 Views)

wiebe@CARYA wrote:

@1984 wrote:

Any reason to this and is there a way to solve this in an automated way instead of going into every broken VI and reconnect wires? (tried ctrl+RUN VI button, but that didnt help)


Malleable VIs are neat, but are indeed a bit erratic...

 

...

 

A type specialization structure around a .vim call inside a .vim seems to improve the behavior:

wiebeCARYA_0-1709283097390.png

 


That's interesting- I recently had an issue where a VIM inside a TSS inside a VIM was corrupting things, and getting rid of the VIM inside the TSS actually fixed my "This VI will not compile" error. I'd fix it, save everything, close, and reopen it and bam it was corrupted again.

 

Of course it could've been a coincidence and some minor element was corrupted, so.... YMMV 🙂

0 Kudos
Message 8 of 16
(951 Views)

@BertMcMahan wrote:

wiebe@CARYA wrote:

@1984 wrote:

Any reason to this and is there a way to solve this in an automated way instead of going into every broken VI and reconnect wires? (tried ctrl+RUN VI button, but that didnt help)


Malleable VIs are neat, but are indeed a bit erratic...

 

...

 

A type specialization structure around a .vim call inside a .vim seems to improve the behavior:

wiebeCARYA_0-1709283097390.png

 


That's interesting- I recently had an issue where a VIM inside a TSS inside a VIM was corrupting things, and getting rid of the VIM inside the TSS actually fixed my "This VI will not compile" error. I'd fix it, save everything, close, and reopen it and bam it was corrupted again.

 

Of course it could've been a coincidence and some minor element was corrupted, so.... YMMV 🙂


I don't think it's corruption, at least not of the VI. It's just that .vims behave in ways we don't understand.

 

I've had complex .vim schemes that didn't work at all, and after changing some code worked perfectly. No idea what I did to deserve it...

 

Another factor is the compile cache. There could be some misalignment between code and the cc, triggering updates too much or too little (or too soon or too late).

0 Kudos
Message 9 of 16
(944 Views)

@BertMcMahan wrote:

That's interesting- I recently had an issue where a VIM inside a TSS inside a VIM was corrupting things, and getting rid of the VIM inside the TSS actually fixed my "This VI will not compile" error. I'd fix it, save everything, close, and reopen it and bam it was corrupted again.


A VIM inside of another VIM is a known issue.  It is not 100% going to break things, but, anecdotally, seems to be very commonly causing issues.  I'm pretty sure Darren N talked about this in his Ludicrous Ways to Fix Broken LabVIEW Code presentation.  Granted, he goes full-bore "avoid VIMs like the plague".


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 10 of 16
(941 Views)