<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Displaying a VI while another is running in LabVIEW</title>
    <link>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253352#M1237758</link>
    <description>&lt;P&gt;That's an objective that has multiple ways to accomplish it, and it kind of depends on how complex you need the interaction between these two VIs to be.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;At the simplest level, you would just create both of the VIs you want to run, and go into their "Properties" window, and set the "Window Appearance" options to "Top level application" on both, and then create a 3rd VI where you put both of those as subVIs to run in parallel.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you need the VIs to send information to each other, you could use messaging systems such as &lt;A href="https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P7OfSAK&amp;amp;l=en-US" target="_self"&gt;Queues&lt;/A&gt;, &lt;A href="https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000kFGfSAM&amp;amp;l=en-US" target="_self"&gt;Notifiers&lt;/A&gt;, or &lt;A href="https://www.ni.com/docs/en-US/bundle/labview/page/creating-custom-events.html" target="_self"&gt;User events&lt;/A&gt;, depending on which makes the most sense for how the VIs are set up.&amp;nbsp; You should strongly resist the urge to use global variables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to get more involved on how the VIs run at the same time, then instead of having one top VI calling the other two you want to run simultaneously, you could instead look into things like &lt;A href="https://www.ni.com/docs/en-US/bundle/labview/page/loading-a-front-panel-in-a-subpanel-control.html" target="_self"&gt;subpanels&lt;/A&gt; or &lt;A href="https://www.ni.com/docs/en-US/bundle/labview/page/asynchronously-calling-a-vi-without-collecting-the-results.html" target="_self"&gt;asynchronous VI calls&lt;/A&gt; from whichever VI you use as the main VI.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Actor framework that Bob mentions is in fact built on using asynchronous calls that send messages to each other using queues.&amp;nbsp; It might be a bit much to learn it just for one small 2-window application.&lt;/P&gt;</description>
    <pubDate>Mon, 11 Aug 2025 18:25:04 GMT</pubDate>
    <dc:creator>Kyle97330</dc:creator>
    <dc:date>2025-08-11T18:25:04Z</dc:date>
    <item>
      <title>Displaying a VI while another is running</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253333#M1237752</link>
      <description>&lt;P&gt;I would like to run a vi, and have it display another vi continuously while the first vi continues to run.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to use one vi that can capture and display trace data from a spectrum analyzer. Then I want to call that from another vi that performs tests. In some situations, I need to be able to see what's on the spectrum analyzer display. For example, if I'm running the test remotely. So I want to be able to click on a button to display the spec an capture vi continuously until I click on the button again, or the test vi ends.&lt;/P&gt;</description>
      <pubDate>Fri, 02 Sep 2022 19:23:22 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253333#M1237752</guid>
      <dc:creator>bemoore</dc:creator>
      <dc:date>2022-09-02T19:23:22Z</dc:date>
    </item>
    <item>
      <title>Re: Displaying a VI while another is running</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253339#M1237753</link>
      <description>Elements of what you propose are certainly possible with LabVIEW.  The "trick" is to design your application to run simultaneous tasks "from the beginning", so to speak (although with good design, it is certainly possible to add an asynchronously-running sub-task that displays itself on, say, a second display monitor, or to have a sub-Panel on a second monitor that you can stick a variety of callable sub-tasks inside).

There may also be other methods (I recall some Actor Framework demos that had some of this "flavor", but never got into Actors much, myself).  I'm sure other members of the Community will have more experience along these lines ...

Bob Schor</description>
      <pubDate>Fri, 02 Sep 2022 19:45:10 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253339#M1237753</guid>
      <dc:creator>Bob_Schor</dc:creator>
      <dc:date>2022-09-02T19:45:10Z</dc:date>
    </item>
    <item>
      <title>Re: Displaying a VI while another is running</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253352#M1237758</link>
      <description>&lt;P&gt;That's an objective that has multiple ways to accomplish it, and it kind of depends on how complex you need the interaction between these two VIs to be.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;At the simplest level, you would just create both of the VIs you want to run, and go into their "Properties" window, and set the "Window Appearance" options to "Top level application" on both, and then create a 3rd VI where you put both of those as subVIs to run in parallel.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you need the VIs to send information to each other, you could use messaging systems such as &lt;A href="https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P7OfSAK&amp;amp;l=en-US" target="_self"&gt;Queues&lt;/A&gt;, &lt;A href="https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000kFGfSAM&amp;amp;l=en-US" target="_self"&gt;Notifiers&lt;/A&gt;, or &lt;A href="https://www.ni.com/docs/en-US/bundle/labview/page/creating-custom-events.html" target="_self"&gt;User events&lt;/A&gt;, depending on which makes the most sense for how the VIs are set up.&amp;nbsp; You should strongly resist the urge to use global variables.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to get more involved on how the VIs run at the same time, then instead of having one top VI calling the other two you want to run simultaneously, you could instead look into things like &lt;A href="https://www.ni.com/docs/en-US/bundle/labview/page/loading-a-front-panel-in-a-subpanel-control.html" target="_self"&gt;subpanels&lt;/A&gt; or &lt;A href="https://www.ni.com/docs/en-US/bundle/labview/page/asynchronously-calling-a-vi-without-collecting-the-results.html" target="_self"&gt;asynchronous VI calls&lt;/A&gt; from whichever VI you use as the main VI.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The Actor framework that Bob mentions is in fact built on using asynchronous calls that send messages to each other using queues.&amp;nbsp; It might be a bit much to learn it just for one small 2-window application.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Aug 2025 18:25:04 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253352#M1237758</guid>
      <dc:creator>Kyle97330</dc:creator>
      <dc:date>2025-08-11T18:25:04Z</dc:date>
    </item>
    <item>
      <title>Re: Displaying a VI while another is running</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253364#M1237759</link>
      <description>&lt;P&gt;"&lt;SPAN&gt;That's an objective that has multiple ways to accomplish it, and it kind of depends on how complex you need the interaction between these two VIs to be.&lt;/SPAN&gt;"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would like to work just like it does in the development environment, when you have both vi's open, and you can see data going in &amp;amp; out of both vi's.&lt;/P&gt;</description>
      <pubDate>Fri, 02 Sep 2022 21:59:04 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253364#M1237759</guid>
      <dc:creator>bemoore</dc:creator>
      <dc:date>2022-09-02T21:59:04Z</dc:date>
    </item>
    <item>
      <title>Re: Displaying a VI while another is running</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253371#M1237761</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/337422"&gt;@bemoore&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I would like to work just like it does in the development environment, when you have both vi's open, and you can see data going in &amp;amp; out of both vi's.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Is there something specific stopping you from doing this, then?&amp;nbsp; Just make both of the VIs and run them both at the same time.&amp;nbsp; It should be allowed in most cases.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you already tried it and it doesn't seem to work for some reason, post extra details about which part isn't working and we can actually give specific advice that does apply.&lt;/P&gt;</description>
      <pubDate>Sat, 03 Sep 2022 00:00:19 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253371#M1237761</guid>
      <dc:creator>Kyle97330</dc:creator>
      <dc:date>2022-09-03T00:00:19Z</dc:date>
    </item>
    <item>
      <title>Re: Displaying a VI while another is running</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253385#M1237771</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/337422"&gt;@bemoore&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;"&lt;SPAN&gt;That's an objective that has multiple ways to accomplish it, and it kind of depends on how complex you need the interaction between these two VIs to be.&lt;/SPAN&gt;"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would like to work just like it does in the development environment, when you have both vi's open, and you can see data going in &amp;amp; out of both vi's.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;So, you want to show the front panel of a subvi?&amp;nbsp; All you need is a VI Reference to that vi and set the window appearance setting.&amp;nbsp; You probably want it "Floating" to make it act like the Palettes. The Windows X will hide the panel without stopping the subvi.&lt;/P&gt;</description>
      <pubDate>Sat, 03 Sep 2022 13:40:07 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253385#M1237771</guid>
      <dc:creator>JÞB</dc:creator>
      <dc:date>2022-09-03T13:40:07Z</dc:date>
    </item>
    <item>
      <title>Re: Displaying a VI while another is running</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253937#M1237966</link>
      <description>&lt;P&gt;Hi bemoore,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I made some examples might fulfill your requirement.&lt;/P&gt;
&lt;P&gt;Just try to run the Main.vi (LabVIEW version 2020)&lt;/P&gt;
&lt;P&gt;There might be still a lot of bugs, but I would suggest you to do the following "click test"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Run "Main.vi" -&amp;gt; call SpetrumAnalyzer -&amp;gt; close SpetrumAnalyzer(hidden, running in the background) -&amp;gt; open SpetrumAnalyzer again&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;before you stop the Main.vi, don't forget to stop the subVI. If you understand the mechanism, you can put this idea in your own project.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you are a beginner, I would suggest you go through the following basic topic of LabVIEW:&lt;/P&gt;
&lt;P&gt;1. State Machine&lt;/P&gt;
&lt;P&gt;2. Event handling&lt;/P&gt;
&lt;P&gt;3. Reference handling, Invoke Node and Property Node.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;FrankenChino&lt;/P&gt;</description>
      <pubDate>Wed, 07 Sep 2022 12:38:06 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4253937#M1237966</guid>
      <dc:creator>Krapfen</dc:creator>
      <dc:date>2022-09-07T12:38:06Z</dc:date>
    </item>
    <item>
      <title>Re: Displaying a VI while another is running</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4254040#M1238009</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/337422"&gt;@bemoore&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;"&lt;SPAN&gt;That's an objective that has multiple ways to accomplish it, and it kind of depends on how complex you need the interaction between these two VIs to be.&lt;/SPAN&gt;"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would like to work just like it does in the development environment, when you have both vi's open, and you can see data going in &amp;amp; out of both vi's.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;When you say, "Just like in the development environment," are you implying that these are to be built into separate executables?&lt;/P&gt;</description>
      <pubDate>Wed, 07 Sep 2022 16:19:12 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Displaying-a-VI-while-another-is-running/m-p/4254040#M1238009</guid>
      <dc:creator>billko</dc:creator>
      <dc:date>2022-09-07T16:19:12Z</dc:date>
    </item>
  </channel>
</rss>

