11-11-2008 08:10 AM
Hello everyone,
I'm working on a project in which I need to take measurements of 8 channels, with the highest possible frequency in each. I have a DAQmx NI 6133 card and a BNC 2110 connector. The card says the highest freq. is at 2.5MHz, and that's what I'm planning on using.
The problem is: I'm really new to LabView (1 week) and I don't know what I should be exploring first to achieve my goal as fast as possible. Is LabView the best way for acquiring this data? Or is there other National Instrument's software that would get better results (knowing that I'm only looking for logging this data at the highest freq.) like SignalExpress or MeasurementStudio?
And if IT IS LabView the best option I have, what's the best/fastest way of doing it? I don't need to analyze or see the graphs while I'm logging, just write it to a binary (binary is faster right?) file.
Thanks in advance for the help,
Rafael
11-11-2008 08:20 AM
Rafael,
DAQmx, the driver for the 6133, installs many examples for LV. So please search in the example finder (Help >> Find Examples) for an appropriate example.
Try to understand the code in those examples and make small modifications and observe the differences.
Note that LV is a programming language developed for data acquisition, analysis and representation. So LV is a good choice, but you can stick to CVI if you prefer ANSI C or Measurement Studio if you prefer C#.
SignalExpress is a configuration tool. It might be sufficient for your current task, so you sure can take a look, but it is limited in its set of functionalities. If you need mor, you have to switch to a programming language.
hope this helps,
Norbert
11-11-2008 08:39 AM
Hi Robert,
first, thanks for the answer.
Now, I've seen those examples and that is where I've been looking for answers. It's not that I can't get the data, it's just that I need to know if I'm getting the at the highest frequency possible. And for that, I would have to have looked on all examples. So what I'm really asking is for some advice on what direction should I go.
For example, if I put 2.5MHz on the acquiring freq of the DAQ Assistant and 2.5M for the "samples to read", the program works fine when I have only graphics to show, but when I ask also to write it in a binary file, an error occurs: "Attempted to read samples that are no longer available. The requested sample was previously available, but has since been overwritten.". Does it mean that I can't log at 2.5MHz this way? Should I do it on another way?
11-11-2008 08:51 AM
Rafael,
the reason for the error is presumably quite simple: I asume that you configured your acquisition to be finite. So after one second, you have all data in memory. Display works fine. But if you try to read additional 2.5MS, you will get an error since you don't acquire anymore data. So you should use the data you have already in memory to store them on disc.
You can get more infos about DAQmx here.
hope this helps,
Norbert
11-11-2008 08:53 AM - edited 11-11-2008 08:54 AM
Norbert B wrote:I asume that you configured your acquisition to be finite
Nope, continuous...
(and the display is continuous also)11-11-2008 08:54 AM
11-11-2008 08:56 AM
11-11-2008 09:01 AM
Rafael,
due to your settings, your loop should execute once per second. Since you did not connect any filereference to the Write File, you should get a dialog for the filename each iteration.
I seriously doubt, that you will enter a new filename within a second in this dialog. Therefore (since your acquisition is still going on), you will run into a buffer overflow creating the errormessage.
So please search for an example with something like "stream to disc".
hope this helps,
Norbert
11-11-2008 09:10 AM
Even with the File Reference the problem occurs, but now the difference is that the graph update once before receiving the error.
11-11-2008 09:15 AM
Rafael,
Please refer to "Cont Acq&Graph Voltage - Write Data to File (TDMS).vi" (should be in your example finder as well) for proper file streaming.
hope this helps,
Norbert