<?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: Triggered DAQ too slow with LabVIEW in LabVIEW</title>
    <link>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332766#M171069</link>
    <description>&lt;P class="MsoNormal"&gt;Hello Paul,&lt;BR /&gt;
&lt;BR /&gt;
Thanks for posting to the NI Discussion Forums!&amp;nbsp; What type of display are
you using -- chart, graph, etc..?&amp;nbsp; If you are plotting very large amounts
of data in a graph each iteration I would expect some performance hit (you do
well with the defer updates,etc...).&amp;nbsp; The UI thread (there's only one for
your entire LabVIEW execution system) is notoriously slow, and every UI update
requires a context switch to the UI thread.&amp;nbsp; I would perform UI events
sparingly -- avoid property nodes, variables, and unnecessary panel activity if
you are concerned with speed.&amp;nbsp; It sounds like you are off to a good start
with this, but consider using charts with different mode updates to display
your data, maybe not even plotting every point.&amp;nbsp; Another possibility is
that the method that the board's manufacturer uses to transfer data from the
card to LabVIEW is a bottleneck.&amp;nbsp; It sounds like you've traced it to the
panel updates, but its always a possibility that the data just isn’t coming
over fast enough.&lt;BR /&gt;
&lt;BR /&gt;
It wasn't much, but I hope this helps -&lt;/P&gt;


&lt;P class="MsoNormal"&gt;&lt;SPAN style=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Thu, 02 Mar 2006 17:44:51 GMT</pubDate>
    <dc:creator>Travis_M.</dc:creator>
    <dc:date>2006-03-02T17:44:51Z</dc:date>
    <item>
      <title>Triggered DAQ too slow with LabVIEW</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332238#M170851</link>
      <description>&lt;DIV&gt;I am using a non-NI daq board with a&amp;nbsp;2GS/sec sampling rate. If I use the&amp;nbsp;basic VI's included with it to run the card I can acquire 20 usec of data at 2 GS/sec continuously with no trouble. However, when I try to sync the data acq with a 1 kHz external trigger&amp;nbsp;things bog down. I am using a state machine. The board itself never times out, (it barely breaks a sweat!) but I cannot seem to trigger, get the data from "start point" to "number of points", go back to "wait for trigger" then get more data. My limit appears to be around 500 pulses per second at 500MS/sec, 10-15 usec worth of data. Why can't LabVIEW do better than this? I've tried timed loops, queues, I've let it free-run, using the "board not busy" to send the state machine back to the "wait for trigger"&amp;nbsp;state, etc. Would I need "real time" even if I'm dealing with events that occur only&amp;nbsp;msec? What is the time&amp;nbsp;required for a state machine&amp;nbsp;to go from one state to another? It cannot possibly be more than 1 msec, can it?&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Paul&lt;/DIV&gt;
&lt;DIV&gt;LV 7.1, XP&lt;/DIV&gt;</description>
      <pubDate>Wed, 01 Mar 2006 22:06:02 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332238#M170851</guid>
      <dc:creator>PaulG.</dc:creator>
      <dc:date>2006-03-01T22:06:02Z</dc:date>
    </item>
    <item>
      <title>Re: Triggered DAQ too slow with LabVIEW</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332364#M170913</link>
      <description>&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Hi Paul,&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This is a comon complaint, but it's not fair to blame LabVIEW - ultimately Windows is in control and directly responsible for inserting small,&amp;nbsp;irregular, delays.&lt;/DIV&gt;
&lt;DIV&gt;I can't find it now, but there was a recent post&amp;nbsp;(by Altenbach?) that described a tweak for squeezing&amp;nbsp;a bit more timing-determinism&amp;nbsp;out of some Windows/DAQ loop.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;BTW, 2GHz - whoa!&amp;nbsp; I'd like to check-out&amp;nbsp; this board - would you be so kind as to post a link? &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://ni.lithium.com/i/smilies/16x16_smiley-happy.gif" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Cheers.&lt;/DIV&gt;&lt;P&gt;Message Edited by Dynamik on &lt;SPAN class="date_text"&gt;03-01-2006&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;11:49 PM&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Mar 2006 05:40:29 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332364#M170913</guid>
      <dc:creator>Dynamik</dc:creator>
      <dc:date>2006-03-02T05:40:29Z</dc:date>
    </item>
    <item>
      <title>Re: Triggered DAQ too slow with LabVIEW</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332551#M170973</link>
      <description>&lt;DIV&gt;Thanks for the response. I'll look for the additional info.&amp;nbsp;I may have jumped to conclusions bashing LV. My apologies. :-o.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;My program works&amp;nbsp;OK if it is just acquiring data.&amp;nbsp;The display is what is killing me.&amp;nbsp;I'm not trying to display that much (20k points) but my program slows dramatically (about 80% !)when I add a display. I know a few tricks (refresh display only every few hundred milliseconds, defer panel updates, etc.) and I should be OK for my application. But I would really like to know how to tweak it to it's maximum potential. Even with refresh of screen subroutine I can watch the downward "glitch" in my loop counter every time the&amp;nbsp;display is refreshed. It's noticable in my loop counter display.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;The board is&amp;nbsp;a Gage 82G with 2MB memory. It's a little pricey ($8k) but I love it and you can order LV drivers and vi's with it for a little extra. We've been running these things daily for years now and so far no trouble.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;A href="http://www.gage-applied.com/Products/digitizer_pci/8_bit/compuScope_82G.htm" target="_blank"&gt;http://www.gage-applied.com/Products/digitizer_pci/8_bit/compuScope_82G.htm&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Paul&lt;/DIV&gt;</description>
      <pubDate>Thu, 02 Mar 2006 13:32:29 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332551#M170973</guid>
      <dc:creator>PaulG.</dc:creator>
      <dc:date>2006-03-02T13:32:29Z</dc:date>
    </item>
    <item>
      <title>Re: Triggered DAQ too slow with LabVIEW</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332766#M171069</link>
      <description>&lt;P class="MsoNormal"&gt;Hello Paul,&lt;BR /&gt;
&lt;BR /&gt;
Thanks for posting to the NI Discussion Forums!&amp;nbsp; What type of display are
you using -- chart, graph, etc..?&amp;nbsp; If you are plotting very large amounts
of data in a graph each iteration I would expect some performance hit (you do
well with the defer updates,etc...).&amp;nbsp; The UI thread (there's only one for
your entire LabVIEW execution system) is notoriously slow, and every UI update
requires a context switch to the UI thread.&amp;nbsp; I would perform UI events
sparingly -- avoid property nodes, variables, and unnecessary panel activity if
you are concerned with speed.&amp;nbsp; It sounds like you are off to a good start
with this, but consider using charts with different mode updates to display
your data, maybe not even plotting every point.&amp;nbsp; Another possibility is
that the method that the board's manufacturer uses to transfer data from the
card to LabVIEW is a bottleneck.&amp;nbsp; It sounds like you've traced it to the
panel updates, but its always a possibility that the data just isn’t coming
over fast enough.&lt;BR /&gt;
&lt;BR /&gt;
It wasn't much, but I hope this helps -&lt;/P&gt;


&lt;P class="MsoNormal"&gt;&lt;SPAN style=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 02 Mar 2006 17:44:51 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332766#M171069</guid>
      <dc:creator>Travis_M.</dc:creator>
      <dc:date>2006-03-02T17:44:51Z</dc:date>
    </item>
    <item>
      <title>Re: Triggered DAQ too slow with LabVIEW</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332778#M171071</link>
      <description>&lt;DIV&gt;Paul wrote&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;"The board is&amp;nbsp;a Gage 82G with 2MB memory. It's a little pricey ($8k) but I love it and you can order LV drivers and vi's with it for a little extra."&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Does the driver use "call Library Function"?&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;If so what color is the header, yellow or orange?&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Ben&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;BTW&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Is this an NDT app?&lt;/DIV&gt;</description>
      <pubDate>Thu, 02 Mar 2006 18:00:15 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332778#M171071</guid>
      <dc:creator>Ben</dc:creator>
      <dc:date>2006-03-02T18:00:15Z</dc:date>
    </item>
    <item>
      <title>Re: Triggered DAQ too slow with LabVIEW</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332823#M171089</link>
      <description>&lt;DIV&gt;Yes, it uses call library funtions, and the headers are orange.&lt;/DIV&gt;</description>
      <pubDate>Thu, 02 Mar 2006 19:39:42 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332823#M171089</guid>
      <dc:creator>PaulG.</dc:creator>
      <dc:date>2006-03-02T19:39:42Z</dc:date>
    </item>
    <item>
      <title>Re: Triggered DAQ too slow with LabVIEW</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332830#M171092</link>
      <description>&lt;DIV&gt;I am using a waveform graph. Along with the actual waveform I am also plotting/diplaying up to 8 additional&amp;nbsp;plots (just straight lines that can vary in level and lenght) that track portions of&amp;nbsp;the waveform. The data that are taken from these gates&amp;nbsp;is processed&amp;nbsp;later in the program.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Paul&lt;/DIV&gt;</description>
      <pubDate>Thu, 02 Mar 2006 19:52:40 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332830#M171092</guid>
      <dc:creator>PaulG.</dc:creator>
      <dc:date>2006-03-02T19:52:40Z</dc:date>
    </item>
    <item>
      <title>Re: Triggered DAQ too slow with LabVIEW</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332887#M171116</link>
      <description>&lt;P&gt;Bingo!&lt;/P&gt;
&lt;P&gt;"&lt;/P&gt;
&lt;DIV&gt;Yes, it uses call library funtions, and the headers are orange.&lt;/DIV&gt;
&lt;DIV&gt;"&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;An &lt;STRONG&gt;orange&lt;/STRONG&gt; Call Library functoin is &lt;STRONG&gt;configured to run in the User Interface thread&lt;/STRONG&gt;.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Ben&lt;/DIV&gt;</description>
      <pubDate>Thu, 02 Mar 2006 21:00:37 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/332887#M171116</guid>
      <dc:creator>Ben</dc:creator>
      <dc:date>2006-03-02T21:00:37Z</dc:date>
    </item>
    <item>
      <title>Re: Triggered DAQ too slow with LabVIEW</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/333199#M171246</link>
      <description>&lt;DIV&gt;Thanks, Ben.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;"An &lt;STRONG&gt;orange&lt;/STRONG&gt; Call Library functoin is &lt;STRONG&gt;configured to run in the User Interface thread&lt;/STRONG&gt;."&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;And the difference would be if the Call Library Function header were yellow? Just curious.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;BTW: I would think if you were going to have two different header colors you make make them a little more different than yellow and orange. I'm not color blind, but I would not bet my next paycheck that the color "orange" is indeed "orange" and not yellow. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; Maybe that's a cosmetic but important issue&amp;nbsp;to&amp;nbsp;bring to the attention&amp;nbsp;of the LV developers. How can I do this?&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Paul&lt;/DIV&gt;</description>
      <pubDate>Fri, 03 Mar 2006 14:00:21 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/333199#M171246</guid>
      <dc:creator>PaulG.</dc:creator>
      <dc:date>2006-03-03T14:00:21Z</dc:date>
    </item>
    <item>
      <title>Re: Triggered DAQ too slow with LabVIEW</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/333210#M171250</link>
      <description>&lt;P&gt;An orange CLF runs in the User Interface thread which is single threaded. That means once something is started in that thread, it must complete before anything else that runs in that thread can get at the the CPU.&lt;/P&gt;
&lt;P&gt;If you graph/chart/what-ever is wasting a lot of time, the other stuff just has to wait.&lt;/P&gt;
&lt;P&gt;Ben&lt;/P&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 03 Mar 2006 14:18:14 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/333210#M171250</guid>
      <dc:creator>Ben</dc:creator>
      <dc:date>2006-03-03T14:18:14Z</dc:date>
    </item>
    <item>
      <title>Re: Triggered DAQ too slow with LabVIEW</title>
      <link>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/333268#M171270</link>
      <description>Great information Ben!&lt;BR /&gt;
&lt;BR /&gt;
Check out:
http://zone.ni.com/devzone/conceptd.nsf/webmain/a342b904a68811a0862567c9006bafed
for additional information on the differences between threadsafe and
non-threadsafe DLLs.&amp;nbsp; You can declare that your DLL is threadsafe
by checking the "reentrant" box, but I would highly recomend that you
don't do this unless you are completely ceartain that the DLL really is
threadsafe (you'll have to contact the manufacturer of the board's
software for that though).&lt;BR /&gt;
&lt;BR /&gt;
best of luck!&lt;BR /&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 03 Mar 2006 15:31:01 GMT</pubDate>
      <guid>https://ni.lithium.com/t5/LabVIEW/Triggered-DAQ-too-slow-with-LabVIEW/m-p/333268#M171270</guid>
      <dc:creator>Travis_M.</dc:creator>
      <dc:date>2006-03-03T15:31:01Z</dc:date>
    </item>
  </channel>
</rss>

