Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Agilent E3631A DC power supply Measurement problem

I am setting a voltage on the E3631A DC power supply using GPIB. There is no problem with doing that but I notice that when I take a measurement the voltage drops by a little, around 0.02V. The measured voltage differs from the Set voltage by that amount.

I use the IVI-COM drivers and wrote a Visual Basic .Net program to do this. I referred to 'example1' in the IVI-COM driver libraries for Agilent E36XX power supplies.
A segment of code is below:

'initialise driver
ividc.Initialize("GPIB::2", False, True, "Simulate=true") 'id query=false, reset=true

pout1 = ividc.Outputs.Item("Output1")

'set output voltage level
pout1.VoltageLevel = 1.645

'Measure output voltage
measVal = pout1.Measure(IviDCPwrMeasurementTypeEnum.IviDCPwrMeasurementVoltage)

At first, setting the voltage level proceeds without error, the set voltage on the display is correct. 
But the command to measure voltage causes the voltage on the display to change and the measured voltage contained in the variable measVal is inaccurate.
Any idea what went wrong?

Isaac
0 Kudos
Message 1 of 13
(8,077 Views)

Since it has nothing to do with NI hardware or software, not sure why you posted here. You really need to be asking Agilent.

 

That being said, is there an explanation in the manual about what happens with a measurement? If you use an external meter before the measure command, what do you read?

0 Kudos
Message 2 of 13
(8,074 Views)

Saw some other people asking about Agilent products here as well. The agilent forums are not as active.

Anyway, thanks for the attention.

 

Didn't see anything in the manual that could explain why this happens. All it says is that a measurement will be made.

I connected a voltmeter to the outputs and found that the voltage measured does not change ie. it is the same as when I use the Set command and after the Measurement command. It does differ from the desired voltage by a little though, but that is probably normal due to non-idealities.

So what I think is that the display simply shows the measured voltage after I run the measurement command and that the measure command measures an inaccurate voltage. 

0 Kudos
Message 3 of 13
(8,063 Views)

I personally think it is not bad to post IVI topics here even if NI product is not concering, because many people in this thread are interested in IVI/VISA drivers and SCPI command operation.

 

To make the symptom more clear, I have a question:

 

Q, When IVI driver's Measure function returns the measured voltage, is the value same with instrument panel's meter display?

 

If the Measure function returns the same value with meter display (but different with set voltage), it is just due to instrument output accuracy or measurement subsystem's A/D accuracy. No problem on the driver, firmware.  To solve it you will need calibration.

 

If the Measure function returns different value that meter display, there might be some reason of this.  Then you should ask the vendor.

 

Makoto

Message Edited by Makoto on 06-04-2010 10:00 AM
0 Kudos
Message 4 of 13
(7,971 Views)

Yes, when the Measure function returns the voltage, it is the same value as on the instrument's display though it is of course different from the desired set value.

 

I don't think it is due to the instrument's output accuracy as the discrepancy is about 0.01 ~ 0.02 V when I use the 6V output terminal. I'm sure the instrument is more accurate than that. It is probably to do with the measurement subsystem as you mentioned. Thanks for helping.

 

 

 

 

0 Kudos
Message 5 of 13
(7,962 Views)
By the way I have now noticed your IVI driver operation specifies "Simulate=true" option. When operating with the real instrument, of course you did remove the option didnt you?
0 Kudos
Message 6 of 13
(7,958 Views)
Yes, simulate=false when doing the real test. During simulation there was no error at all.
0 Kudos
Message 7 of 13
(7,954 Views)

Isaacwu, how did you managed to get Measure() working?

 

We are using Agilent e3631a, our test app is also in c#.

Everything works fine besides Measure() -

we get an IO Timeout exception, and these errors:

Error 550: Command not allowed in local

Error 511: RS-232 framing error

in the error queue.

 

I am wondering how you initialize e3631a?

0 Kudos
Message 8 of 13
(7,813 Views)

> Error 550: Command not allowed in local

 

Probably the instrument requires REMOTE operation. Try to send ":SYST:REM" command.

0 Kudos
Message 9 of 13
(7,774 Views)

Hello there, I don't see why there should be a problem with Measure() if you can get the other things to work. I based my code on the Example1 program provided by Agilent in the example folder, you can refer to it. Btw my code is in Visual Basic .Net.

 

 


@olkhov wrote:

Isaacwu, how did you managed to get Measure() working?

 

We are using Agilent e3631a, our test app is also in c#.

Everything works fine besides Measure() -

we get an IO Timeout exception, and these errors:

Error 550: Command not allowed in local

Error 511: RS-232 framing error

in the error queue.

 

I am wondering how you initialize e3631a?


 

0 Kudos
Message 10 of 13
(7,762 Views)