From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
02-14-2013 03:00 PM - edited 02-14-2013 03:04 PM
Hello,
I have written an application with 3 loops running in parallel.
The first loop does only measure and analyze measurement values from a DAQmx device (3 analog input signals from 3 sensors with 1000 Hz).
The second loop does only do the visualization with a graph per sensor continously. The data will be sent from the first loop through a queue.
The third loop only saves the data to a file after a measurement has finished. The data will be sent at the end of a measurement from the first loop, too.
There are 3 measurements running asynchronous.
That means it could be that only one sensor will be read, but it also could be that 3 sensors will be read. The duration of each measurement phase and the beginning/end is asynchronous.
Now I have the following problem:
Why does tha graph stop its visualization during the saving process (I have a dual core cpu)?
How can I do this in a way, the user does not see any lags?
It all works fine but the "interrups" look very unprofessional.
Regards
Matthias
02-15-2013 06:00 AM
Hello Matthias,
could you please post your VI /Project?
02-15-2013 10:23 AM - edited 02-15-2013 10:24 AM
Hello,
I can write a little demo project later, because the original one includes hundreds of VIs.
02-19-2013 03:42 AM
Hi,
the Producer / Consumer parallel-loop is a great architecture, which allow you to acquire data using DAQmx , analyze the data and/or write that data to a file. You can try to analyze your data in the second loop using the Queue funktions, this allows the data to be queued in memory as it is acquired, so the acquisition loop can run at a faster rate. The data is dequeued in the second loop.
02-20-2013 01:13 AM - edited 02-20-2013 01:17 AM
Hello,
I'm using the producer/consumer pattern.
Maybe it could be, that the dll calls I'm using for saving will interrupt the whole program: http://lavag.org/files/file/212-sqlite-labview/
When I use the LabVIEW File-I/O vis all is fine. But when I use these database vis my application will lag.
Any ideas why this is so? Could it be that the dll calls freeze the application during the saving process (LabVIEW 2011)?
Here are thze dll settings:
02-22-2013 09:55 AM
Hi,
which version SQLite are you using? did yoo try with the recommended one?
Version 3.7.15.2 of SQLite is recommended for all new development. Upgrading from all other SQLite versions is recommended. sqlite
02-22-2013 01:49 PM
Hello,
I'm using the correct version of SQLite.
I found the problem, but I can't expalin this behaviour.
I had auto population enabled in the LabVIEW project explorer. The directory including the database was auto populated, too.
That means, on my development notebook LabVIEW had always access to the database and blocked it sometimes (I don't know why).
Strange is, that on another PC with only the LabVIEW runtime installed, my application (compiled as executable file) had the same behaviour as on my notebook. There were these pauses, too.
Then I disabled auto population. On my notebook and on the other PC (!) the executable works now perfectly.
It's unexplainable to me, that the auto population has any influence on the executable built with the application builder.
Regards