LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Continous Buffered AI to Shared Memory using 7030/6030E

I'm looking to replicate the functionality of the High Speed Data Logger (DAQ solutions directory) under a 7030/6030E board with LV 6.1 RT. I'm a newbie to RT DAQ, so apologies in advance! The "SGL Array - RT Engine (7030).vi" seems promising as a starting point however I need to stream the acquired data to shared memory on the PXI controller (8176) and then to file on the HDD. Yes, you may be wondering "Why am I using a RT board for a DAQ board application??". I also have a another DAQ board (6052E) in the same PXI chassis that will be streaming to disk at the same time.

1) Given that AI Read returns either scaled and/or binary output, a 2D array. What is the best method to send this back to the host PC applicat
ion? The SGL Array example only uses "AI Single Scan" which is not appropriate for buffered acquistion.


2) In order to accurately acquire the data, both boards will require PXI star triggers I believe instead of the normal RTSI Master/Slave approach to start the acquistion. How is this achieved in LabVIEW?

Any thoughts would be greatly appreciated!

-Chroma
0 Kudos
Message 1 of 3
(3,415 Views)
First let's clarify a few points.

- The 7030 has 1 KB shared memory. No PXI controller has shared memory for use with the shared memory VIs.
- The 7030 was not designed to be a high-speed data logger
- It is not possible to access the 6030E portion of the 7030/6030E from the same VI that is accessing your 6052E. You would need to have a separate VI running on the 7030 doing the 6030E acquisition.

It sounds like you are trying to use both boards under Windows. If you are attempting to use the 7030 when your PXI controller is running RT, you will quickly find that this simply is not possible. If you were to *try* to use these two boards together in the way you describe, I would use RTSI and not the PXI star trigger. It would require some intricate handshaking
of data between the host PC and the 7030 in order for the DAQ operations to be executed in the correct order.

The next major concern is that of getting the data from the 7030 to the host computer for data logging. The maximum scan rate of the attached 6030E is 100 kS/s. Since each sample is 2 bytes of data, if you acquire at the maximum rate, this is 200 KB/s. You need to transfer this data (either via the 1 KB shared memory or TCP/IP) to your host PC. I am not sure if either method is capable of transferring this quantity of data at that rate.

In short, I'm not one to say what you are suggesting is impossible. But this is definately not what the 7030/6030E was designed for, and I would *highly* recommend a second 6052E or some other stand-alone E Series PXI DAQ device if your application requires synchronization of multiple DAQ devices in a high-speed buffered acquisition for data logging.
0 Kudos
Message 2 of 3
(3,415 Views)
"The 7030 was not designed to be a high-speed data logger" - I am completely aware of this - it's a customer requirement and yes, it doesn't make sense!

"You would need to have a separate VI running on the 7030 doing the 6030E acquisition" - This is how I envisage it to work.

The OS is Windows 2000 Srv Pck2. Both boards may be required to be synched and then triggering seperately. The streamed data from the 6052E and 6030E will be recorded to file (byte stream or otherwise). The channel count would be 8 DIFF @ 10kS/s max (although the max bandwidth of three of the chans is only approx. 1KHz - an accelerometer).

Given that the application needs to use buffered AI with triggering on the RT board, I've tried creating a loop using AI Config, AI Start
and AI Read (within the RT loop). It downloads fine to the 6030 and I've modified the "SGL Array - Host PC.vi" to receive a two 1D arrays (AI Read output is 2D rather than 1D). But when I run the modified "reader" nothing it would appear is sent back. Also when I try and get back to the RT environment, all communication is lost with the board.

I suspect that the buffer setting in AI Config and AI Start may be the problem. The AI Read (for RT) mentions that for buffered acquisition using AI Single Scan (as per the "SGL Array - RT Engine (7030).vi" example) requires the use of AI Control also.

I'm lost to whether the problem is the following:

1) Buffered continuous operation with triggering is not possible with the 6030E.

2) My DAQ AI buffer allocation is outwith the limits of the 6030E.

Any further thoughts? Thanks for your previous input!
0 Kudos
Message 3 of 3
(3,415 Views)