<?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: Sub VI simultaneous execution in LabVIEW</title>
    <link>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/630093#M291663</link>
    <description>&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/73139"&gt;@Pnt&lt;/a&gt; wrote:&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Correct me if i am wrong but i think they are in parallel.&lt;/P&gt;
&lt;P&gt;Sub2 should run, even if Sub1 is not finished.&lt;/P&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;They are in parallel.&amp;nbsp; The issue is that if one of the two subVIs takes longer to execute, the other subVI cannot run again until the first finishes.&amp;nbsp; Also, the subVI in the case statement will not repsond to the change in the boolean until the other VI has run and the loop iterates again.&lt;BR /&gt;&lt;BR /&gt;If these VI's ran quickly, the user probably wouldn't notice, ad the way the program is written, everything would work fine.&amp;nbsp; But if the VI in the case statement takes 100ms to run and the other VI takes 30s to run, the user will notice that the click on the Boolean and nothing appears to happen.&amp;nbsp; By moving them to two seperate while loops, then they can run at different periods and the user can run either VI whenever they choose.&lt;BR /&gt;&lt;BR /&gt;Since his sub2 doesn't close for a while, subvi runs once if the boolean happens to be in the right state, then won't run again until sub2 finishes.&lt;BR /&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by Matthew Kelton on &lt;SPAN class="date_text"&gt;12-21-2007&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;01:35 AM&lt;/SPAN&gt;</description>
    <pubDate>Fri, 21 Dec 2007 07:35:24 GMT</pubDate>
    <dc:creator>Matthew_Kelton</dc:creator>
    <dc:date>2007-12-21T07:35:24Z</dc:date>
    <item>
      <title>Sub VI simultaneous execution</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/629740#M291538</link>
      <description>Hi&lt;BR /&gt;
&lt;BR /&gt;
I know that it is possible to execute sub VIs simultaneously (Sub VIs&lt;BR /&gt;
carried out parallel). I have read previous posts, but have not fully&lt;BR /&gt;
understood the way to do it.&lt;BR /&gt;
&lt;BR /&gt;
I have tried changing:  VI Properties -&amp;gt; Execution -&amp;gt; "Normal&lt;BR /&gt;
Priority" to Reentrant. This however seem not to help.&lt;BR /&gt;
&lt;BR /&gt;
In my Main.VI, I call a Sub1.VI which does nothing more than just show&lt;BR /&gt;
values in a Table. ( While loop which ends with STOP button).&lt;BR /&gt;
&lt;BR /&gt;
Is it possible that even though I dont close Sub1.VI, I can execute&lt;BR /&gt;
Sub2.VI in the Main.VI??&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
Thank you in advance.&lt;BR /&gt;</description>
      <pubDate>Thu, 20 Dec 2007 16:40:14 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/629740#M291538</guid>
      <dc:creator>DaVinci</dc:creator>
      <dc:date>2007-12-20T16:40:14Z</dc:date>
    </item>
    <item>
      <title>Re: Sub VI simultaneous execution</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/629750#M291540</link>
      <description>Yes.&lt;BR /&gt;&lt;BR /&gt;But to give you a good answer I would need to look at your current implementation. &lt;BR /&gt;Could you post the main VI or a screenshot thereof?&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 20 Dec 2007 16:48:28 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/629750#M291540</guid>
      <dc:creator>andre.buurman@carya</dc:creator>
      <dc:date>2007-12-20T16:48:28Z</dc:date>
    </item>
    <item>
      <title>Re: Sub VI simultaneous execution</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/629770#M291546</link>
      <description>&lt;P&gt;Set "Reentrant" a vi, you want to execute, multiple copies of it, at the same time.&lt;/P&gt;
&lt;P&gt;To execute two vis in parallel simple wire them in parallell. Labview will do the rest !&lt;/P&gt;
&lt;P&gt;Be more specisic, if you want more info&lt;/P&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 20 Dec 2007 17:02:51 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/629770#M291546</guid>
      <dc:creator>Pnt</dc:creator>
      <dc:date>2007-12-20T17:02:51Z</dc:date>
    </item>
    <item>
      <title>Re: Sub VI simultaneous execution</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/629777#M291550</link>
      <description>&lt;DIV&gt;I have posted a screenshot of my the Main.VI&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;As explained, I would like Sub2.VI to run eventhough Sub1.VI is not closed.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Thanks.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Regards&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Azfar&lt;/DIV&gt;</description>
      <pubDate>Thu, 20 Dec 2007 17:09:11 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/629777#M291550</guid>
      <dc:creator>DaVinci</dc:creator>
      <dc:date>2007-12-20T17:09:11Z</dc:date>
    </item>
    <item>
      <title>Re: Sub VI simultaneous execution</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/629850#M291575</link>
      <description>With this architecture a solution is to create a second while loop outside the main loop and use a local to stop it and a local to check the start condition.&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 20 Dec 2007 18:48:58 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/629850#M291575</guid>
      <dc:creator>andre.buurman@carya</dc:creator>
      <dc:date>2007-12-20T18:48:58Z</dc:date>
    </item>
    <item>
      <title>Re: Sub VI simultaneous execution</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/630087#M291659</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Correct me if i am wrong but i think they are in parallel.&lt;/P&gt;
&lt;P&gt;Sub2 should run, even if Sub1 is not finished.&lt;/P&gt;</description>
      <pubDate>Fri, 21 Dec 2007 06:16:10 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/630087#M291659</guid>
      <dc:creator>Pnt</dc:creator>
      <dc:date>2007-12-21T06:16:10Z</dc:date>
    </item>
    <item>
      <title>Re: Sub VI simultaneous execution</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/630093#M291663</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://ni.lithium.com/t5/user/viewprofilepage/user-id/73139"&gt;@Pnt&lt;/a&gt; wrote:&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Correct me if i am wrong but i think they are in parallel.&lt;/P&gt;
&lt;P&gt;Sub2 should run, even if Sub1 is not finished.&lt;/P&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;They are in parallel.&amp;nbsp; The issue is that if one of the two subVIs takes longer to execute, the other subVI cannot run again until the first finishes.&amp;nbsp; Also, the subVI in the case statement will not repsond to the change in the boolean until the other VI has run and the loop iterates again.&lt;BR /&gt;&lt;BR /&gt;If these VI's ran quickly, the user probably wouldn't notice, ad the way the program is written, everything would work fine.&amp;nbsp; But if the VI in the case statement takes 100ms to run and the other VI takes 30s to run, the user will notice that the click on the Boolean and nothing appears to happen.&amp;nbsp; By moving them to two seperate while loops, then they can run at different periods and the user can run either VI whenever they choose.&lt;BR /&gt;&lt;BR /&gt;Since his sub2 doesn't close for a while, subvi runs once if the boolean happens to be in the right state, then won't run again until sub2 finishes.&lt;BR /&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by Matthew Kelton on &lt;SPAN class="date_text"&gt;12-21-2007&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;01:35 AM&lt;/SPAN&gt;</description>
      <pubDate>Fri, 21 Dec 2007 07:35:24 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/630093#M291663</guid>
      <dc:creator>Matthew_Kelton</dc:creator>
      <dc:date>2007-12-21T07:35:24Z</dc:date>
    </item>
    <item>
      <title>Re: Sub VI simultaneous execution</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/630105#M291670</link>
      <description>&lt;DIV&gt;you can always have multiple VIs, or loops running in parallel (provided they are independent and are not&amp;nbsp;exchanging any values &lt;STRONG&gt;trough wires&lt;/STRONG&gt;&amp;nbsp;), but remember one thing, as labview runs on dataflow&amp;nbsp;technique,&amp;nbsp;any sub VI or function will not execute unless and until it do not get all the input values wired to it.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;And if, say one input of subvi2 is wired to an output of subVI1, then you cant run these two VIs independently. If no wires connected between 2 then its always possible to run them independly.&lt;/DIV&gt;</description>
      <pubDate>Fri, 21 Dec 2007 08:25:03 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Sub-VI-simultaneous-execution/m-p/630105#M291670</guid>
      <dc:creator>pritam</dc:creator>
      <dc:date>2007-12-21T08:25:03Z</dc:date>
    </item>
  </channel>
</rss>

