LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Get history of signals before the event (PCI-6534)

Hi All,

I would like to process/store the last 1.5 seconds previously acquired digital signals triggered by an external event. In other words I need the "history" of the signals before the event occurs.
Due to the high sample rate I want to avoid copying continuously the data from the onboard memory to the PC memory. 
 
The data acquisition should run over hours but the acquired data would be stored 10-20 times (when the trigger event detected) during the test.
 
I tried to keep the continuously acquired latest 32MB samples (PCI6534, 8bit port reading at 20MHz, Overwrite unread samples enabled) in the onboard memory and read them only programmatically. Until now I have no success.
 
I use Labview 7.1.
Is it possible with this card to do that? What should I do?
 

Thanks in advance,
Tomi
0 Kudos
Message 1 of 3
(2,720 Views)

Can't help on anything that may be board specific, but I do analogous things with other boards pretty regularly.  (Granted, not at that sample rate or depth.)

The key trick is to use a DAQmx Read property node to request the data in a non-default way using the properties "RelativeTo" and "Offset".    Here's a brief summary from a prior post.  Due to your large on-board RAM, there's a possibility that some of this stuff interacts with the channel property for "DataTransferRequestCondition".   Not sure, as my experience is primarily with regular MIO boards which don't store much on board before shipping it up to PC RAM.

-Kevin P.

 

ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
Message 2 of 3
(2,708 Views)
Hi Kevin,
Thanks your post helped a lot. Finally I could solve the problem. Not that way as I wanted but the original demand was nonsense.
 
Now I can monitor the number of available most recent samples, and copy them into the application. One thing was additionally important. The PC Buffer has to be big enough (when requiring tens of million samples with high samplerate) to avoid overwriting the oldest samples during  data transfer to the application. For safety reasons now I use huge PC buffer (20M/Srate, 8bit, 20M samples required, --> 40MByte PC Buffer).
 
Of course the PC Buffer size can be optimized by checking the time of data transfer to the application. In my PC 20MB transfer takes 80-100msec according to Profile timing statistics.... requesting only 22MB PC buffer.

Thanks again, regards
Tomi
0 Kudos
Message 3 of 3
(2,687 Views)