My recent project is to add support for the E4980A LCR Meter to an existing C++ program. This program has traditionally used the 4263B. I have added the additional code to support the new meter but I am having some problems.
1. The measurement times do not seem to match the manual. For instance, the manual states (on page 439-440) that the measurement time for a 100Hz measurement in Medium mode should be around 180ms when no DC Bias is used. But I measure this to be around 230 ms and sometimes more than this. I have verified that all the conditions on page 439 have been met corectly when setting up the meter. I am using the NI Spy/Trace to verify the times. There is no significant portions of code that should add any extra time to between the reading of one measurement and the triggering of the next. I see a similar timing offset as I increase the measurement frequency. Testing at 100kHz in Medium mode should be around 89ms, but I measure it to be closer to 131ms.
This leads to my next question.
2. When i run multiple readings back to back continuously, the meter doesn't appear to be able to keep up over the long term. The occassional error always comes when the program is ready to send another trigger. The meter must not be ready to accept it (maybe it is busy handling another task?) and times out. I have added some code to try to mitigate this problem by checking the measurement status using "TATPER:COND?" to verify that the previous measurement is complete before trying to send a new trigger. Now instead of the timeout happeneing when the program tries to trigger, it happens when requesting the status of the operation status event register.
My guess is that these two issues are linked in some way.
Any ideas on these problems?
Thanks.