From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Can I read PXI buffer data after failure?

Hi,

 

I have a problem with a PXI system and I'm seeking help. The software is written in LabVIEW, but I think the PXI discussion thread is more appropriate.

 

My system has three PXI-5105 cards, these are 8 channel high speed digitizers, up to 60Msamples per second per channel. It's used on an experimental trials of short (sub second) duration, and until today ran with success. 

 

Today the system triggered, but didn't write data to disk. The code is set up to arm and aquire to buffer until triggered, then store the data from the buffers with 10% pre trigger data.

 

No data files were created today, but prior to the point where data is written a new data folder is created. This did happen, so I do know the system triggered.

 

My problem is that the test is unique, or so difficult to repeat that it's as good as unique. I suspect the data still may still reside in the card buffers. The chassis is still switced on, and apart from checking if the data was stored to disk using Windows Explorer nothing has been touched. The LabVIEw application I have written is still running, in it's idle state. It's an exe, it's not running in the development environment.

 

My question is... Is there a way to confirm data is still present in the buffers on the PXI cards, and if so extract it in an orderly fashion so it comes off in order and allocated to the correct channel?

 

Thanks for any help that anyone can offer.

 

Regards,

 

Bandit.

 

 

0 Kudos
Message 1 of 4
(3,477 Views)

Hello again,

 

I have some additional thoughts.

 

Is it possible to directly access the data buffer memory on the PXI cards using for instance a DOS window. This way at least I could get the data and save it away to disc. After thet there would still be the small matter of interpreting it, extracting the 8 channels from each card, but it would be a start.

 

Also, is there a way of finding out how the memory is allocated. Is it always allocated the same way, from the start, all channel 0 data placed togethre in order, or is there something more complex going on?

 

regard,

 

Bandit

0 Kudos
Message 2 of 4
(3,466 Views)

Hi Bandit,

 

The prognosis doesn't look good for retrieving the data from the card's buffer.  However, it will depend on where the problem occurred in the application.  If it was in the middle of writing to a file, then a close function to that reference may save data up to that point or at least make the file visible from windows.  When the LabVIEW program is stopped, does it go through general housekeeping to close resources etc?

 

Have you located the cause of the problem?

 

Best regards,

 

Tony_G

0 Kudos
Message 3 of 4
(3,444 Views)

Hi Tony_G, thanks for your reply.

 

As of lunchtime today we had to take the decision to power down the PXI chassis, so anything that may have been left in the buffers is now lost.

 

However all the advice I have been able to source locally (NI support, Ni alliance partner, colleagues...) indicated the following...

 

1. My software had kept running, the vi to reset the PXi cards had executed, and therefore there would have been no data in the buffers. Unlike many NI .vi routines the reset one runs even if it recieves an error on it's input (niScope Reset Device.vi).

 

2. The reference or handle to the PXI card was then disposed of  (niScope Close.vi).

 

3. The buffers are only accesible through the NI drivers/interface, they are not readable in the same way as PC RAM so you can't use a DOS window to do a memory dump for instance.

 

4. To get at them via the NI driver interface would require a new reference, which in turn would cause some resetting, and even if anything remained it would have been altered, corrupted, or cleared as memory was assigned.

 

So sadly the data is now lost.

 

I'm now looking at methods of stopping the same happening again.

 

Best Regards,

 

Bandit.

0 Kudos
Message 4 of 4
(3,442 Views)