LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

acquisition and storing database

good afternoon,

I'm using lv 7.1 and dsc 7.1. I need to make a acquisition and storing in citadel. However, all the time which i run my application, after a few minutes the data freezing. I suppose that rate between data acquisition and storing in citadel are different. I tried to development a queue rotine, but didn't work. Can somebody help me?

follow attachment my vi acquisition

thanks
0 Kudos
Message 1 of 4
(5,125 Views)
A couple problems I can see right off...
  1. I assume that of the two loops occupying the right half of the main loop, the top one is for enqueuing data. This loop is not needed.
  2. There is no need to open and close the queue with each iteration. Open it once outside the main loop and close it when the main loop finishes.
  3. The lower of those two loops looks like it is the one that is passing data from the queue to Citadel. It should not be inside the main loop but outside the main loop running i parallel with it.
There are other things we can talk about later, but this should at least get it working.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 2 of 4
(5,097 Views)
thanks Mike for your help,

I understood the mistake. For lower rate sample the application looks like to be ok. However, when i use a high rate sample the values are freezing. I guess that queue grow up so much for each iteration. How could i to control the length of queue? What is the minimal rate for storing in database? Could i storing all the data queue of one only time?

David
0 Kudos
Message 3 of 4
(5,034 Views)
On the Obtain Queue function there is a max queue size input. When that limit is reached, the enqueuing function will either wait for room to become available on the queue or generate an error - depending on how it is setup.

In terms of your other questions I can't really say how fast you can spool data into Citadel.

Something to consider is to stream the disk to a binary file while the acquisition is ongoing and only insert it into the database at the end of a test run. To save time at the end of a test, you also might be able to set that file up such that it acts like a really, really, really big queue (limited only by disk size). i.e. Your DAQ process writes to the end of it, the database insertion loop reads from the beginning of it.

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 4 of 4
(5,026 Views)