LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible to subpanel a vi from another application instance?

Solved!
Go to solution

I have a vi I'm running from TestStand, and it's loading in a different application instance than my LabVIEW app.  I know how I can get them on the same application instance, but that creates other problems for me. I'd really like to be able to have my LabVIEW app subpanel a vi that is running in another application instance, but I don't think it's possible. I'm hoping someone can confirm or comment on if there are any known workarounds.

Steven Dusing
CLA, CTA
0 Kudos
Message 1 of 10
(1,263 Views)

Just try it and see if it works.

0 Kudos
Message 2 of 10
(1,228 Views)

I have tried it - it does not work, which is what I should have said when I mentioned "I don't think it's possible". I ask the question because I am wondering if there are any other tricks or workarounds.  Otherwise it sounds like it is a requirement that a vi be in the same application instance to subpanel into another. I'll accept that, just wanted to verify that conclusion with community experts.

Steven Dusing
CLA, CTA
0 Kudos
Message 3 of 10
(1,222 Views)

I just threw together some code.  It works OK for me.

0 Kudos
Message 4 of 10
(1,199 Views)

Really!? would you be able to share it?

Steven Dusing
CLA, CTA
0 Kudos
Message 5 of 10
(1,196 Views)

So, you want to see the FP of a VI running in another application instance (TS)?

 

Why is this a need?

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 6 of 10
(1,184 Views)

When running from the development environment in LabVIEW (a project application instance), I would like to subpanel vi's that are run from TestStand (in the default application instance) to provide a more integrated application experience.

At risk of going down a rabbit hole here, I'll mention I'm aware of a couple of workarounds, but they cause other notable painpoints:
1. Create plugin vi's for subpanelling into the LabVIEW application that interface with the Teststand code through UI messages or another means. This is quite a bit of extra work I'm looking to avoid.
2.  run the LabVIEW project code from the main application instance.  To do this you either need to avoid opening an lvproj file which removes lots of useful IDE capabilities or you open the lvproj file and switch your top level vi's application instance to the default (main) application instance.  However, when you do this, it locks up classes since they're now open in two application instances (the lvproj app instance and the default/main app instance).  Even after you finish running your code, LabVIEW never fully unloads the classes from memory, which is a known limitation/feature of LabVIEW.  Locked classes limits what you can then do with your code after you run once and you need to close and reopen your project to unlock the code.  This is the painful workaround I'm currently dealing with.

Steven Dusing
CLA, CTA
0 Kudos
Message 7 of 10
(1,145 Views)
Solution
Accepted by topic author sdusing

@sdusing wrote:

Really!? would you be able to share it?


Here

Download All
Message 8 of 10
(1,108 Views)

I learned something new today. Thank you Paul!

Steven Dusing
CLA, CTA
0 Kudos
Message 9 of 10
(1,078 Views)

sdusing_0-1710356072133.png

Just wanted to show the test I was able to run and how I did in fact confirm this functionality. VI that is subpanelled is running in the main app instance. The vi on the left is running in the project app instance. Opening the vi by name in the correct app instance did work and did allow me to subpanel it into another.

 

Steven Dusing
CLA, CTA
0 Kudos
Message 10 of 10
(550 Views)