Rigol DS1052E Digital Oscilloscope

16 views (last 30 days)
Hamna Ahmad
Hamna Ahmad on 4 Feb 2016
Commented: Zdravko Pavic on 2 Oct 2024
Hey all! I want to import data form Rigol DS1052E Digital Oscilloscope into Simulink at run time. Has anyone done this before ? Neither I can't find the drivers for my Rigol Model nor I know how to do. Will someone help me with this ? Regards,
  2 Comments
Cristhian Zárate
Cristhian Zárate on 19 Sep 2019
I'm not using the Simulink, but I'm workin on reading data from Rigol DS1054z on a matlab script.
Installation:
You will need the NI IVI Compliance Package
And the Rigol DS1000 series driver
Then try to create the object
Simpliest way
Rigol_Osc = oscilloscope();
Rigol_Osc.getResources (select the usb address of the rigol)
Rigol_Osc.Resource = '<ADDRESS>';
Rigol_Osc.getDrivers (select the driver name installed)
Rigol_Osc.Driver = '<DRIVERNAME>'
connect(Rigol_Osc)
Ali bala
Ali bala on 4 Nov 2019
Edited: Ali bala on 4 Nov 2019
Hi, Cristhian. I have tried what you have suggested. But I don't know how to combine the ni package with the rest of the thing. I have installed the ni package as well as the rigol driver. I have copied you piece of code into matlab and run. Only thing it did was to stop the running scope. I have used the matlab demo code from rigol programming guide. But it only acquires the screen data, 1200 points only. Also, the vertical data units do not match with the scope data. This is quite frustrating stiuation. Would you mind sharing your method with more details ? code would be much better.

Sign in to comment.

Answers (1)

AngryMob
AngryMob on 9 Feb 2020
Edited: AngryMob on 9 Feb 2020
Try to change your settings on the oszcilloscope to Uiility->IO Setting->USB Device "Computer" ... i think it is by default on "PicBridge"
I struggle with the same problem...
It seems to work for me with:
% Find a VISA-USB object.
DS1000z = instrfind('Type', 'visa-usb', 'RsrcName', 'USB0::0x1AB1::0x04CE::DS1ZA192712385::0::INSTR', 'Tag', '');
% Create the VISA-USB object if it does not exist
% otherwise use the object that was found.
if isempty(DS1000z)
DS1000z = visa('NI', 'USB0::0x1AB1::0x04CE::DS1ZA192712385::0::INSTR');
else
fclose(DS1000z);
DS1000z = DS1000z(1);
end
% Set the device property. In this demo, the length of the input buffer is set to 2048.
DS1000z.InputBufferSize = 2048;
% Connect to instrument object, obj1.
fopen(DS1000z);
% Set channel
fprintf(DS1000z, ':WAV:SOURce CHAN1' );
% Normal Mode
fprintf(DS1000z, ':WAV:MODE NORM' );
% Samplerate T?
fprintf(DS1000z, ':WAVeform:XINCrement?');
SampRate = fscanf(DS1000z);
% Read the waveform data
fprintf(DS1000z, ':wav:data?' );
% Request the data
[data,len]= fread(DS1000z,2048);
  2 Comments
Priyanka
Priyanka on 16 Jul 2024
I am using the same code. ITs still reading 1200 pts only. Is there any solution to this problem?
Zdravko Pavic
Zdravko Pavic on 2 Oct 2024
Hello SIr,
I struggled with the same problem 5 years ago.
I wrote a software in my university that controlls ans reads out Tektronix scopes and makes signal analysis. It was a nice FFT-Analysator.
Later I tried to include my scope at home, which was the 1052e and I found out that there could be many bugs on the side of Rigol (Signals showed clipping on rising/falling edges in the raw data, where on the scope screen it seemed all good, I only could read out like 500k values and the length of read out values was never constant, sometime a few k more, sometimes a few less).
It seems that the price difference is laying in the SW quality.
After a few nights 5 years ago and again after some trying last year, I gave up with that device. I even wrote RIGOL 5 years ago but never received an answear.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!