05-03-2010 04:41 AM
The task:
Continuous monitoring, and logging, of vibration signal plus some other diagnostics. Sampling rate: 500 Hz, three channels. Divided into user-defined intervals of 1 to 20 minutes.
The components:
- PCB 356B18 triaxial accelerometer + PCB 480B21 signal conditioner
- NI USB 6210 card
- LabVIEW 8.6 on Windows
I'm modifying code that was written by someone else, for a different set of equipment (e.g. PXI 4461 card) and specifications. This is my first confrontation with LabVIEW. I've gotten help from my local colleagues on several points, but none of them have experience with queues so I think it is time to ask my questions here. I've attached an image of the block diagram. Bits that look really peculiar are probably my contribution... please feel free to suggest improvements. Here then are some of the questions I'm trying to answer:
0. I know the code doesn't have a release queue command. Stupidly, I can't see where/how I need to put this in.
1. Hardware error:
At the property node I'm getting a -200452 error. I assume this is because my USB 6210 DAQ does not support the 'Overloaded channels' thing.
Is this correct? What do I need to do to fix this?
2. Time stamp
If I understand this correctly, for each run interval (loop), the time stamp that is assigned is that what is "measured" at the end of the samples collection period. For example, if I start a 500 Hz, 60000 samples collection at 08:22, the time stamp assigned to it is 08:24. I would appreciate suggestions on how I should go about reading the actual start time into the file.
Thanks!
-zc
05-04-2010 04:42 AM
05-04-2010 05:46 AM
Hello Stefan,
Thanks for writing. I didn't realize the image was illegible, sorry about that. I've attached the version of the VI that I'm working on at the moment (I'm trying to implement the basic level trigger detection function in place of the comparisons I had).
I had the same idea about the error.
Thanks, and best wishes.
-zc
05-06-2010 03:22 AM
I took a look at your code.
Please look at the examples shipped with LabVIEW, especially the frameworks. Go to File -> New and a window will appear. Select VI -> From Template -> Frameworks -> Design Patterns and open the Producer/Consumer Desing Pattern (Data). This is the basic framework of a design pattern with two parallel while loops and a queue for transfering data.
If you go on the property itself and click the right button to get the shortcut menu you will see the help for this property. If you then follow the links "device-specific" and then "E-Series ..." you will see all property you can set while the task is running.
What do you exactly mean with your Time Stamp?
Stefan
05-06-2010 03:59 AM
Hi Stefan,
I did explore the Producer/Consumer Design Pattern (Data) VI and I've tried to mimic the release queue command in my code but I haven't been able to get it to work yet (the program just hangs up). I'll keep trying and I'll report back if I make progress.
As for the property node, I don't see a "device specific" option. Under Select Filter/Configure Filters Settings I do see an option for the NI USB 6210 but nothing about E-Series... Any ideas on what I'm doing wrong?
As for time stamp, I would like to save the data with its 'real' time information. But maybe this is not possible using the structure I currently have.
Let me see if I can explain the problem:
Say I have a loop running that takes 60,000 samples (at 500 Hz, this is 2 minutes of data collection) in each pass.
Say the measurement started at 09:13:31.
As the code stands at the moment, the time (t_0) that gets assigned in the file is 09:15:31 (after the collection ends), not 09:13:31
Maybe I just have to live with this and make the necessary adjustment after the fact.
Thanks for your continued help!
-zc
05-07-2010 01:56 AM
05-07-2010 02:51 AM
Hello Stefan,
Oh, I see now that I wasn't clicking in the correct area (D'oh!) Sorry to waste your time on this.
Thank you.
-zc
05-07-2010 06:42 AM
I dont have your VI where you save the data but the information in the waveform data type should be the time stamp when you aquire the data.
Stefan
05-07-2010 07:09 AM
Hi Stefan,
Thanks for all your efforts. I'm going to try a different approach to the problem because I think this code is not right for what I need to do.
-zc