Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Agilent E4980A Measurement Speed and Data Acquisition Speed

I am using E4980A LCR meter, I need very fast data aquisition unfortunately limited by device own speed with 5.6 ms per measurement which means nearly 178 Hz. I am using usb interface with the software provided by NI, in that program I made some modification taking the reading side of the programme in a while loop .

 

To test my speed I start the program count 5s and stop saving the results to an excell file. If I plot the results in a graph while programme is working I have 60 Hz speed. If I don't, then it is 80 Hz which are far below the potential maximum speed of 178 Hz. If my lap top battery is very low then my speed is worse. But with no battery problem, my celeron laptop performance is the same as an i7 laptop.

Here it is my programme, it is the same provided NI but some modification. What can I do to have higher data acquisiton speed ?

 

Probably, USB's speed is not enough but I can not believe that while it can save gigabytes of data in a few min can't take 200 datapoint in 1s. Why can't I have 178 Hz speed now and how can I reach this limit ?

 

Regards.

Download All
0 Kudos
Message 1 of 11
(6,920 Views)
Instead of a couple of shift registers with arrays that have to be constantly reallocated memory, try writing the scalars to a chart. If you see a speed improvement, try writing the scalars to a queue in a producer/consumer architecture.

Can you also provide a reference to that maximum throughput? Sometimes specs like that do not include some communication overhead or may apply only for multiple measurements performed by the instrument itself instead of single ones like you are doing.
Message 2 of 11
(6,914 Views)

Instrument communications via serial, USB, Ethernet, GPIB, etc just tend to be slow.  The instrument has to interpret the data, react to it, and then send data back.  That takes time.  A few ms per measurement is quite normal.  One option you might have is you could tell the instrument to take several measurements and then request all of the measurements once it is done.  I haven't looked into the E4980A yet to see if it can do that.

 

What exactly are you trying to measure.  There might be better ways to get "fast" readings.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 3 of 11
(6,912 Views)

I don't know what do you mean with writing the scalers to chart and producer consumer architecture. Sory but I am not a senior labvirew programmer. If you give a simple example I can write the suitable code.

 

http://cp.literature.agilent.com/litweb/pdf/E4980-90080.pdf

Here you can download the user manual. In page 105 you can find a useful graph and a detailed analyze 438-445.

 

I am at constant 2 MHz, 0.5 V and manual impedance range so we don't need a settling time.

 

Trig delay time and step delay time are both set to 0 s, even if I set them to 100 us it doesn't make any difference.

 

As I know we don't have option 005 or something like it only 001 which doen't effect any thing becauese I don't use DC bias, But I will check it again.

 

Thanks...

0 Kudos
Message 4 of 11
(6,898 Views)

As I know USB DAQs are very fast, some have more than 1000000 sampling rate. But I don't know If they can be displayed realtime. So why do usb interface is slow while they are fast at DAQs

 

You are wright I coudn't reach beyond 60Hz speed at lock-in amplifier via GPIB.

 

I m using this device as a particle detector. It is sensing the impedance change while they are passing the sensing region. But they are very fast so I want to be faster.

 

Thanks...

0 Kudos
Message 5 of 11
(6,897 Views)

The DAQs are setup to constantly sample and send the data back constantly using a binary command/data structure.  When you talk to a box instrument, you are telling it to take a sample, then request that sample, then the instrument sends the reading.  Furthermore, this is done with SCPI, an ASCII command structure that then requires decoding.

 

As I said before, you need to setup the instrument to take a bunch of readings at a given sample rate.  After the fact, you can then request all of the recorded samples.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 6 of 11
(6,895 Views)
That page does not include any timing information for processing the command and transmitting results over the bus.
0 Kudos
Message 7 of 11
(6,890 Views)

As I understand, I will say the instrument to take measurement and save them in its own memory before send to PC, am I wright ?

0 Kudos
Message 8 of 11
(6,885 Views)

Yes it doesn't, only talk about measurement time and steps. I thought you mentioned it.

 

So, I think, after p 251, it talks about what you mean especially p 256. But I must say that I have never looked at those pages  maybe I was looking the wrong place. I am just beginer for programming and electronics.

0 Kudos
Message 9 of 11
(6,884 Views)

@Tahomançanzi wrote:

As I understand, I will say the instrument to take measurement and save them in its own memory before send to PC, am I wright ?


Judging by the VI icons, I would say you are not.  You are telling the meter to take a reading and then request that reading.  There should be some setup in the drivers for taking multiple samples.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 10 of 11
(6,877 Views)