LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Question about clone VI

In a program which I did not develop but I want to modify.

Some of the sub-VI's are in the "clone" format.

 

Is there a way to universally change a VI to the editable format throughout this program?

0 Kudos
Message 1 of 9
(258 Views)

Hello LED,

 

If by "clone format", you mean this :

PinguX_0-1786560425590.png

And you want to be able to edit them, just press Ctrl+M.

Or open them through the .lvproj instead of double-clicking on an instance in a caller VI.

 

This case happen for VI with "preallocated clone reentrant execution" at True.

I would advise against changing that parameter when working on a program you do not master yet. If this option is activated there might be a good reason.

0 Kudos
Message 2 of 9
(246 Views)

Good advice I want to see what will happen if I just eliminate the clone aspect to the program

 

 

0 Kudos
Message 3 of 9
(235 Views)

@LED47 wrote:

Good advice I want to see what will happen if I just eliminate the clone aspect to the program

 

 


This is likely a terrible idea. The whole idea behind clones is so multiple copies can run at the same time. For example. let's say we have a VI that does nothing but wait five seconds. You have three loops and you put your wait subVI in each one. If you have clones, they can all execute independently of each other so your total wait time is ~ 5 seconds. if they are not cloned, each instance has to wait their turn to execute, resulting in a total of ~ 15 seconds. Don't ask me how I know this.🙄

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 4 of 9
(205 Views)

@billko  a écrit :

@LED47 wrote:

Good advice I want to see what will happen if I just eliminate the clone aspect to the program

 

 


This is likely a terrible idea. The whole idea behind clones is so multiple copies can run at the same time. For example. let's say we have a VI that does nothing but wait five seconds. You have three loops and you put your wait subVI in each one. If you have clones, they can all execute independently of each other so your total wait time is ~ 5 seconds. if they are not cloned, each instance has to wait their turn to execute, resulting in a total of ~ 15 seconds. Don't ask me how I know this.🙄


And that is for "clone" alone. But for preallocated clones it is even worse.

Preallocated clone ensures that each caller will always uses the same instance of the subVI. In other words, the previous developer might have used a shift register or a feedback node inside that you definitely don't want to be shared by every callers inside the program.

 

Undefined behaviour may happen and break a few things. ☠️

0 Kudos
Message 5 of 9
(203 Views)

@PinguX wrote:

@billko  a écrit :

@LED47 wrote:

Good advice I want to see what will happen if I just eliminate the clone aspect to the program

 

 


This is likely a terrible idea. The whole idea behind clones is so multiple copies can run at the same time. For example. let's say we have a VI that does nothing but wait five seconds. You have three loops and you put your wait subVI in each one. If you have clones, they can all execute independently of each other so your total wait time is ~ 5 seconds. if they are not cloned, each instance has to wait their turn to execute, resulting in a total of ~ 15 seconds. Don't ask me how I know this.🙄


And that is for "clone" alone. But for preallocated clones it is even worse.

Preallocated clone ensures that each caller will always uses the same instance of the subVI. In other words, the previous developer might have used a shift register or a feedback node inside that you definitely don't want to be shared by every callers inside the program.

 

Undefined behaviour may happen and break a few things. ☠️


I think you might have this backwards? But the intent of the post is correct.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 6 of 9
(193 Views)

 


@billko  a écrit :

@PinguX wrote:

@billko  a écrit :

 




I think you might have this backwards? But the intent of the post is correct.


Oh, sorry, english is not my native language.

 

The things that I wanted to say, expressed as a 5yo :

- do not modify the reentrancy setting when you don't understand either the setting itself or the program that is using it

- modifying it it is even more dangerous if it is "preallocated" clone rather than a "shared" one

 

0 Kudos
Message 7 of 9
(184 Views)

@PinguX wrote:

 


@billko  a écrit :

@PinguX wrote:

@billko  a écrit :

 




I think you might have this backwards? But the intent of the post is correct.


Oh, sorry, english is not my native language.

 

The things that I wanted to say, expressed as a 5yo :

- do not modify the reentrancy setting when you don't understand either the setting itself or the program that is using it

- modifying it it is even more dangerous if it is "preallocated" clone rather than a "shared" one

 


🙂 no problem. i got the idea about what you were trying to say.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 8 of 9
(173 Views)

Describing the clone VI is very helpful in ultimate understanding.

 

Since I'm obviously not too familiar with what that really does, I was able to remove the cloned VI's from my inherited program.

 

In this case I seem to think it's just a simple area of the program with a single transaction so I'm at this point gonna try it both ways (clone and no clone)

 

Thank you everyone for your responses

0 Kudos
Message 9 of 9
(110 Views)