Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

events capture/log - 100k sample/sec, one week long

I'm working with PCI-6025E card. I need to monitor 4 digital lines at a rate of 100k samples per second for one week. I want to capture every change in any of the lines and log the time of the occurrences (with 10usec resolution). I can not log every sample (file too big) so I'm looking for a way to do the processing in real time, meaning to identify a change when it happens and to log it while continue sampling.
 
Can this be done with VI logger? If not, do you have an example codes or other recommendations how to perform this task?
 
Thanks,
Shimon
0 Kudos
Message 1 of 8
(3,899 Views)
Hello,

Actually, before determining whether or not your software is capable of this task, have you considered whether your DAQ device is capable?  You only have 2 counters and your digital I/O channels are static only (this means they are not hardware timed).  The sample rates you are trying to attain would not be achievable with software timing.  Have you considered this?  If you would be interested in another DAQ card that may be better for your application, I could give you some recommendations.  Or, if I have misunderstood your description of the problem, please let me know!  Smiley Happy
0 Kudos
Message 2 of 8
(3,867 Views)

My intention was to use the analog inputs. I'm looking for a way to capture events that occurs typically once every few seconds. In order not to miss an event I have to sample at 100ksamples per seconds. Nevertheless, I want to log only the transactions ('0' to '1' and '1' to '0'). Can I do it with PCI-6025E? If yes, how many lines can I monitor? I'm not a programmer so I'm looking for a way that requires minimal programming.

 

Thanks,
Shimon
0 Kudos
Message 3 of 8
(3,845 Views)

Hi Shimon,

Unfortunately I do not know of a way to do this in VI Logger.  Your device does not support analog edge triggering, so this is not really an ideal application for the PCI-6025E.  You could write a program that samples the analog inputs at 100 kS/s, then interpret the acquired data and throw away all points that are not relevant.  However, this would not be ideal as you can miss edges this way.  It will also require a bit more programming than would be needed if you had the correct hardware for the application.

Also keep in mind that the max sample rate of your device is 200 kS/s.  This means that, if you are sampling 4 channels, you would have an effective max sample rate of 50 kS/s per channel.

0 Kudos
Message 4 of 8
(3,825 Views)
Hi Elizabeth,
 
Thanks.
 
What would be, in this case, the recommended hardware and software?
 
Thanks,
Shimon
0 Kudos
Message 5 of 8
(3,807 Views)

Hi Elizabeth,

One more thing - does this mean that I can use the PCI-6025E to sample, do the interpretation of the the acquired batch of samples while continue sampling the next batch and so on?

Thanks,

Shimon

0 Kudos
Message 6 of 8
(3,807 Views)
 

Hi Shimon,

The ideal way to do this would be to be a buffered period measurement using counters.  You could measure the period length and then based on the start time of your measurement you could precisely calculate the timestamp of each edge.  See Period Measurement with a Counter for more information about this type of measurement.  To program this application you would need something more than VI Logger.  Since you are not already a programmer I would recommend using LabVIEW.  It is much easier to get started with than text-based programming languages.

Your current board already has 2 counters, so all you would need is another DAQ board with two more counters.  Take a look at NI's counter/timer devices

And of course, as I mentioned before, you could theoretically do this with the analog inputs on your 6025E, assuming that you aren't concerned about the possibility of missing an edge and don't mind having less accurate timestamps. 

Hope this helps!

0 Kudos
Message 7 of 8
(3,778 Views)
Thanks, Shimon
0 Kudos
Message 8 of 8
(3,771 Views)