LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Independent instances of same subVI

Solved!
Go to solution

Hi, I am making a control panel for eight temperature controllers. The controllers communicate to labVIEW with serial communication. I made a subVI that has a while loop inside to display temperature values every certain time. In the main VI I call twice this subVI with independent parameters (inputs) and control the open/close of their front panels with buttons. Although, the Hierarchy diagram shows that both references points to the same subVI so I cannot open them independently. Can you help me, please?

Main VI:

Main VI.png

 

subVI Block diagram (Panel individual.vi):subVI bd.png

subVI Front Panel:subVI fp.png

 

0 Kudos
Message 1 of 7
(307 Views)
Solution
Accepted by topic author Jhonnytisca
05-24-2019 09:58 AM

I believe you need to call Open Reference twice to obtain two references.

Message 2 of 7
(287 Views)
Solution
Accepted by topic author Jhonnytisca
05-24-2019 09:57 AM

Jhonny,

     It looks like you set the caller code up correctly to Start Asynchronous Call on a "clone".  So all you should need to do is to make sure that your "clone", Panel Individual, has its VI Properties set to Preallocated Reentrant.  I can't tell if you've done that by looking at your Snippet, which is why it is advisable to attach the actual VI(s).

 

Bob Schor

Message 3 of 7
(272 Views)
Solution
Accepted by topic author Jhonnytisca
05-24-2019 09:57 AM

Don't use option 0x40 and call the Open function twice to get two clones.

Message 4 of 7
(261 Views)

I did it and I succesfully opened two independent front panels but a get another thing wrong. When I opened a front panel, it seems not to be working, it was just freezed and any of its buttons worked.

0 Kudos
Message 5 of 7
(224 Views)

I was using the "shared clone option" so I changed it to "preallocated" and it worked but now both front panels seems to be freezed and none of its buttons worked. I tried not to use asynchronous call but Run VI method instead and I think it is a solution for now

0 Kudos
Message 6 of 7
(220 Views)

I looked for the available options in the open reference method and I figured out that 0x40 was not for waiting a response as you said.

0 Kudos
Message 7 of 7
(219 Views)