Products > Test Equipment
Rigol DP832 - Firmware list and bugs
skander36:
Thank you for your anwers !
I understand about + signs is ok.
I ask about local/remote because syst:loc and syst:remote commands doesn't seem to work . Instead any commands to DMM put it in remote state , but I cannot put it back to local until reset . Maybe this is the problem so I need to understand if is important to put it back to local .
My setup is simple: DMM direct to PSU . Both are connected to same switch . Laptop Wifi with script running/compilled locally. If you need more details let me know.
skander36:
--- Quote from: garrettm on March 14, 2020, 12:32:48 pm --- If the script was able to print a measurement, then reading the output buffer of the DMM is working. Though something is causing the next read to fail. Either *OPC? is always returning 0, causing an infinite loop or a null string is being received, but that should throw an error.
--- End quote ---
The script is not showing any measurement ! The DMM is showing first value measured after that it will display same value (I have check with another dmm in paralel and it is not getting another values on inputs)
The output of the script show just that :
--------------------------------------------------------------------------------
---------------- Rigol DP800 Series SCPI Calibration ----------------
This script uses Telnet access at port 5555 to connect to the DP832/A
and port 5024 for the SDM3065X
Assuming DHCP is used, a router will assign an IP address to each
device connected to the network
For example: 172.16.0.1 (router / DHCP server), 172.16.0.2 (PC),
172.16.0.3 (PSU) and 172.16.0.4 (DMM)
Enter the IP address or hostname of the DP832/A
192.168.1.20 is online
Opening Telnet connection at port 5555...
Connection established
Querying the instrument...
RIGOL TECHNOLOGIES,DP832A,DP8C211200804,00.01.16
Enter the IP address or hostname of the SDM3065X
192.168.1.19 is online
Opening Telnet connection at port 5024...
Connection established
Querying the instrument...
Welcome to the SCPI instrument 'Siglent SDM3065X'
Please check that the identified instruments are correct before
continuing further
When ready, enter y to begin calibration or n to exit
------------------------ START OF CALIBRATON ------------------------
---------------------- SELECT CALIBRATION TYPE ----------------------
Note 1: If you're having trouble with voltage or current calibrations
performing a full voltage + current calibration will fix this
Note 2: Automated current calibration requires DMM with >= 3A range
Enter value of desired calibration type for ch1
0: skip ch1 calibration
1: voltage + manual current calibration
2: voltage + automated current calibration
3: voltage calibration (automated entry)
4: current calibration (manual entry)
5: current calibration (automated entry)
DAC-V and ADC-V calibration constants for ch1 cleared
-------------------- VOLTAGE CALIBRATION ROUTINE --------------------
Please connect DMM voltage input to ch1 output of PSU
Enter 1 to begin automated voltage calibration
ch1 DAC-V calibration
Terminate batch job (Y/N)?
----------------------------------------------------------------------------------
So it doesn't output a measured value .
It seem that set:rem and set:local are not used anymore in SCPI . Also Agilent 34410A has this problem .
It is so important to switch to remote to local ?
garrettm:
--- Quote ---The script is not showing any measurement ! [...] So it doesn't output a measured value .
--- End quote ---
Well, there you go. readDMM() isn't working... Again an infinite loop will occur if *OPC? does not return "1" after the meter has completed the requested measurement. But triggering needs to be set correctly first for that to be reliable. If the script cannot print out a measurement it means its not getting one. The only way that is possible is if readDMM() is not returning a String value.
Remember *OPC? is only used to know WHEN the DMM has completed a measurement. At 100 NPLC, measurements are very slow, nearly 1 second in duration. We cannot simply ask the instrument for something it doesn't have yet, so we wait, by querying *OPC?, until the DMM says "I'm done" which is the String value "1".
If :INIT *OPC? and :FTECh? won't play nice with the Siglent use READ?. You will have to experiment with finding out when the measurement is completed when using READ? so you know when to read the output buffer. Also triggering can be done via the bus rather than internally at the DMM. You could try using trig:sour bus instead of trig:sour imm but this requires that you send a trigger over the bus. Read the Siglent Remote Manual. It literally has everything you need to get the script working.
The automated measurement routines are very simple:
1) configure DMM for appropriate measurement (DC voltage or current)
2) Loop (steps 0-35 for DAC-V cal):
set cal point on DP832
wait for DP832 output to stabilize
trigger DMM measurement and read output buffer
send measurement to DP832
print out step/cal point/meas value
At the moment, we think configuring the DMM for voltage is okay and we thought that readDMM() was okay, but to really test these assumptions go to line 89 in TelnetCal.java and comment out
calChan(1);
calChan(2);
calChan(3);
Then place all the commands for dmmRemVoltMeas() and readDMM() line by line just below where you commented out the calChan() methods.
for example:
// configure DMM for remote measurement
dmm.send("*cls");
dmm.send("conf:volt:dc auto");
dmm.send("samp:coun 1");
dmm.send("trig:coun 1");
dmm.send("trig:del 0");
dmm.send("trig:sour imm");
// print 5 consecutive measurements
for(int i=0; i<5; i++) {
dmm.send(":init");
do { // wait for measurement to complete
dmm.send("*opc?");
} while (!dmm.read().equals("1"));
dmm.send(":fetch?");
System.out.println(dmm.read());
}
Keep iterating these commands until you can get it to configure and read correctly. Then go back and edit the appropriate DMM methods. This is probably what we should have done first. But oh well.
--- Quote ---It is so important to switch to remote to local ?
--- End quote ---
No. Local mode is only so the DMM will update automatically when the script pauses and waits for banana plugs to be shifted around on the DMM or PSU. Setting the DMM into remote mode is just part of what the Tektronix Programming Manual say to do for fast remote measurements.
--- Quote ---It seem that set:rem and set:local are not used anymore in SCPI . Also Agilent 34410A has this problem .
--- End quote ---
Then comment out any commands requesting for local or remote operation and change all the local measurement methods to remote methods. I've already asked you to do this. Again, this isn't hard. If your DMM operates differently than the DMM4050, then adapt the script to how your DMM works.
P.S.
I noticed that you copied the contents of TelnetCal.java into a MSFT Word doc... Use Notepad++ to read and edit the .java files directly. Don't use Word. That's just asking for trouble.
skander36:
--- Quote from: garrettm on March 14, 2020, 09:24:44 pm ---
P.S.
I noticed that you copied the contents of TelnetCal.java into a MSFT Word doc... Use Notepad++ to read and edit the .java files directly. Don't use Word. That's just asking for trouble.
--- End quote ---
;) it is from forum settings . When you have to upload a document you cannot put jar files , so I have to choose something quick . I should have to explain what to do with it or put it into a zip format . If you open it you will see that is plain text, it was just renamed for a quick upload. I have used Visual Studio Code for editing along with Notepad++ .
Anyway I have managed to calibrate the PSU using LaurentR's Matlab script from here: https://www.eevblog.com/forum/testgear/rigol-dp832-firmware-updates-and-bug-list/msg587350/#msg587350.
Need some fork but finally it do the job.
Your script has potential because it is not depending on aditional software (MathLab, Python, etc.).
Thank you for your help !
skander36:
For those who need to calibrate their Rigol DP832/832A with a Siglent 3065X Multimeter using USB connection.
It is possible to use script attached, adapted from LaurentR's Matlab script described here: https://www.eevblog.com/forum/testgear/rigol-dp832-firmware-updates-and-bug-list/msg587350/#msg587350.
It is adapted to MatLab R2019b that can be downloaded from www.mathworks.com . Make sure that package you will download contain "Instrument Control Toolbox" module (it must be included in Basic as I remember well.
Observations :
1.Script has at line 88 a parameter : simOnly = true . This prevent saving calibration data to PSU to allow testing/debugging . To save data to PSU and do a real calibration you must set simOnly = False .
2.At line 89 and 91 you must replace the VISA address with your VISA devices address .
3.At the end of calibration procedure, in console you will see an error about Catch MExc. Just ignore it, is not part of calibration flow. When this arise, calibration is already done. Maybe one that know how to threat this, can remove the error . I don't know how ...
Credits go to LaurentR for his work !
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version