I want to do a continous data acquisition with a NI-6133 @ 1MS per Channel. The data should be saved on harddisk. In parallel, I want to take snippets of the acquisition to calculate different values. The snippet acquisition should be triggert through an external digital trigger. Are there any examples, which combine the continous data acquisition and collecting snippets?
Thanks a lot.
Solved! Go to Solution.
Thanks for your reply. At the moment, my data acquisition looks like this and works well (picture shows a slimmed version):
Next to the triggerd acquisition I want to log the whole data, which will be captured through the continous acquisiton. Not only the triggered parts, the whole data stream from the beginning to the end of the acquisition. In parallel the triggering must go on. I tried the DAQmx logging (TDMS).vi - but with it, only the triggered parts get logged.
How can I reach a continuous logging of the data in parallel of the triggered acquisition.
Just another view on my problem:
whole datastream example:
Every time a 2 comes up the trigger gets fired and 3 samples get captured:
Next to the captured datastream I want to record the wohle datastream in background on harddisk.
Any ideas how to do this?
Thanks a lot and best regards.
First off, Massive Honors for finding the DAQmx logging feature! Ditto for using DAQmx Control Task appropriatly!..
Now you want all data logged to TDMS. That is not going to happen with a triggered Task. Make it a contiuous acquisition Task and try to find a way to limit the Data to a reasonable throughput. Look up the Auto-Start property. From the snip you might be missing that cool feature! Of course, I might be missing some of your code specs too but, look at that OK?
>> First off, Massive Honors for finding the DAQmx logging feature! Ditto for using DAQmx Control Task appropriatly!..
>>Now you want all data logged to TDMS. That is not going to happen with a triggered Task. Make it a contiuous acquisition Task and try to find a way to limit the Data to a reasonable throughput.
Okay, that is possible.
>> Look up the Auto-Start property. From the snip you might be missing that cool feature! Of course, I might be missing some of your code specs too but, look at that OK?
I am not sure what you mean by using the Auto-Start property. What would be the benefit?
Here some more details of my programm:
I acquire several channels with AC signals (AC frequency up to 100kHz). The waveform source comes out of a function generator Agilent 33220A , which also generates a trigger signal every start of an AC waveform. At the moment I am waiting for a trigger to acquire the samples for 10 complete waveforms. After acquisition I do severall calculations. After the calculations I am waiting for the next trigger. In the meantime a lot of signal data gets lost, because I am calculating. Usally that is no problem. But in some cases it would be nice to have a closer look at the whole raw data (the complete waveforms).
By switching from triggered to continous acquisition, I am not sure how to extract the necessary 10 complete waveforms after a trigger occurred to start my calculation.
Are there any examples available to have a closer look?
Thanks a lot and best regards,
Thanks to the support of NI-Germany, I have found a working solution for me:
1.) Switch from trigger to continuous acquisition
2.) Connect the trigger signal to a digital IO
3.) Synchronize AI and DIO
4.) Extract the necessary samples by pattern search inside the digital waveform
The example shows the logging of 4 AI channels (Tested on Win7, NI PCI-6115, 4 channels each 5 MS/s) and the calculation on snippets of the triggered signal parts of each channel.