Author Topic: Purchased Rigol DHO-914s  (Read 5244 times)

0 Members and 1 Guest are viewing this topic.

Online ebastler

  • Super Contributor
  • ***
  • Posts: 7375
  • Country: de
Re: Purchased Rigol DHO-914s
« Reply #25 on: October 11, 2023, 07:04:37 pm »
Hi.
I would like to ask if all four channels are active, the maximum memory is only 10M/channel, or is there a typo in the description?

That's correct.

And that's the "generous" version provided on the 900 series. On the 800 models, Rigol gives you 25 MPts, 10 MPts, then 1 (!) MPts, for 1/2/4 active channels.

Looks like they are limiting it to 1 MPts just out of spite, or to encourage users to hack their way up to a pseudo-900 model...
 

Online Fungus

  • Super Contributor
  • ***
  • Posts: 17518
  • Country: 00
Re: Purchased Rigol DHO-914s
« Reply #26 on: October 11, 2023, 08:14:22 pm »
Time for a new thread about all the various DHO threads.  Should someone start a "DHO Metathread Thread"?

Yes! It could have a summary of what's happening in all the other threads so it's all kept neat and tidy.
 

Offline moffyTopic starter

  • Super Contributor
  • ***
  • Posts: 2216
  • Country: au
Re: Purchased Rigol DHO-914s
« Reply #27 on: October 11, 2023, 09:40:57 pm »
RoGeorge or anyone else who might know, do you have any idea how to  access and program the AWG in the DHO914s? My best guess would be the commands used by one of the Rigol AWGs e.g. ":SOUR1:FREQ 100".
 

Offline TurboTom

  • Super Contributor
  • ***
  • Posts: 1471
  • Country: de
Re: Purchased Rigol DHO-914s
« Reply #28 on: October 11, 2023, 10:49:36 pm »
From Rigol's international page https://int.rigol.com/products/detail/DHO900 you can download a chinese language programming manual. I don't know if there are decent PDF online translators that would accept a 500+ page document. But even without a translation, the examples should pretty much answer your questions. I hope this may help a little...  ;)
 
The following users thanked this post: moffy

Offline moffyTopic starter

  • Super Contributor
  • ***
  • Posts: 2216
  • Country: au
Re: Purchased Rigol DHO-914s
« Reply #29 on: October 12, 2023, 01:26:12 am »
Thanks TurboTom i'll give it a go. :)

P.S. They do have the :SOUR statement but no number since there is only one AWG output.
« Last Edit: October 12, 2023, 01:50:38 am by moffy »
 

Offline moffyTopic starter

  • Super Contributor
  • ***
  • Posts: 2216
  • Country: au
Re: Purchased Rigol DHO-914s
« Reply #30 on: October 12, 2023, 01:44:24 am »
I found an english version on their website but you need to register first: https://www.rigol.eu/En/Index/listView/catid/27/tp/4/wd/
 
The following users thanked this post: TurboTom

Offline TurboTom

  • Super Contributor
  • ***
  • Posts: 1471
  • Country: de
Re: Purchased Rigol DHO-914s
« Reply #31 on: October 12, 2023, 06:16:18 am »
I copied the CN language programming manual to easyupload (valid for one week): https://easyupload.io/vkletl There doesn't seem to be an EN language version of this file available yet.

You'll find the section relevant for programming the AWG starting from page 260. Despite the language, the usage of the SCPI commands should be easily comprehensible.

P.S: Did they really get that wrong in the commands: :SOURce:FUNCtion:SQUare:DUYT instead of :SOURce:FUNCtion:SQUare:DUTY ? Or is it just a typo in the manual?? I re-checked against the DG800/900/200 programming manual. There, the corresponding instruction is: [:SOURce[<n>]]:FUNCtion:SQUare:DCYCle So it's not even consistent throughout Rigol's own gear!  :palm:
« Last Edit: October 12, 2023, 06:32:38 am by TurboTom »
 

Offline moffyTopic starter

  • Super Contributor
  • ***
  • Posts: 2216
  • Country: au
Re: Purchased Rigol DHO-914s
« Reply #32 on: October 12, 2023, 08:07:05 am »
The english version I downloaded has the same typo?

"3.25.6 :SOURce:FUNCtion:SQUare:DUYT
Syntax
:SOURce:FUNCtion:SQUare:DUYT < percent >
:SOURce:FUNCtion:SQUare:DUYT?
Description
Sets or queries the duty cycle of the square wave generated by the AFG function."
 

Offline tv84

  • Super Contributor
  • ***
  • Posts: 3345
  • Country: pt
Re: Purchased Rigol DHO-914s
« Reply #33 on: October 12, 2023, 09:12:18 am »
Remember that many times Rigol uses their own "english". So, only looking inside the app code one can be sure in those cases.
« Last Edit: October 12, 2023, 02:30:00 pm by tv84 »
 

Offline moffyTopic starter

  • Super Contributor
  • ***
  • Posts: 2216
  • Country: au
Re: Purchased Rigol DHO-914s
« Reply #34 on: October 12, 2023, 09:34:33 am »
I guess it comes down to try it and see which spelling works. ;)
 

Offline moffyTopic starter

  • Super Contributor
  • ***
  • Posts: 2216
  • Country: au
Re: Purchased Rigol DHO-914s
« Reply #35 on: October 12, 2023, 10:43:39 am »
Question answered it is "DUTY" not "DUYT". I connected my scope to my PC and tried both commands and "DUTY" won.
 
The following users thanked this post: thm_w, TurboTom

Offline mwb1100

  • Frequent Contributor
  • **
  • Posts: 572
  • Country: us
Re: Purchased Rigol DHO-914s
« Reply #36 on: October 12, 2023, 05:50:13 pm »
DHO800/DHO900 Programming Guide (EN) (no registration/sign in needed):

  - https://www.rigol.eu/Public/Uploads/uploadfile/files/20230823/20230823143925_64e5a99d4dd84.pdf
 
The following users thanked this post: Fungus

Offline moffyTopic starter

  • Super Contributor
  • ***
  • Posts: 2216
  • Country: au
Re: Purchased Rigol DHO-914s
« Reply #37 on: October 13, 2023, 12:08:12 am »
Got my first program in Visual Studio C++ controlling the scope and reading the memory.

Code: [Select]
#include "VISA\WinNT\Include\visa.h"

#define NUM_CMDS 10
#define CMD_SIZE 64

static ViSession rmSession, scopeSession;
static ViFindList resourceList;
static ViUInt32 numResources;
static ViStatus status;
static char usbResource[VI_FIND_BUFLEN];

// Execute each command in a list
void run_commands(char commands[NUM_CMDS][CMD_SIZE])
{
int i;

for (i = 0; i < NUM_CMDS; i++)
{
status = viWrite(scopeSession, (ViBuf)commands[i], strlen(commands[i]), VI_NULL);
if (status != VI_SUCCESS)
{
printf("Error executing %s\n", commands[i]);
exit(-1);
}
}
}

void CRigolDlg::OnBnClickedScopemem()
{
// The list of commands
static char cmds[NUM_CMDS][CMD_SIZE] =
{ ":CHAN1:SCAL 0.1\n",
  ":CHAN1:BWL 20M\n",
  ":TIM:MAIN:SCAL 0.001\n",
  ":WAV:MODE RAW\n",
  ":WAV:SOUR CHAN1\n",
  ":WAV:STAR 1\n",
  ":WAV:STOP 10000\n",
  ":SING\n",
  ":RUN\n",
  ":TFOR\n" };

// Open session with the resource manager
status = viOpenDefaultRM(&rmSession);
if (status != VI_SUCCESS)
{
viClose(rmSession);
exit(1);
}
// Find USB resources
status = viFindRsrc(rmSession, "USB?*INSTR", &resourceList, &numResources, usbResource);
if (status != VI_SUCCESS)
{
viClose(rmSession);
exit(2);
}
// Open session to the resource
status = viOpen(rmSession, usbResource, VI_NULL, VI_NULL, &scopeSession);
if (status != VI_SUCCESS)
{
viClose(rmSession);
exit(3);
}

// Configure the device and start measurement
run_commands(cmds);
//viWrite(scopeSession, (ViBuf)cmds[6], strlen(cmds[6]), VI_NULL);
// Wait for the scope's measurement
Sleep(1000);
// Read the response
viWrite(scopeSession, (ViBuf)":STOP\n", 6, VI_NULL);
viWrite(scopeSession, (ViBuf)":WAV:DATA?\n", 11, VI_NULL);
viReadToFile(scopeSession, "wave.dat", 20000, VI_NULL);

// Close the session to the resource
viClose(scopeSession);
viClose(rmSession);
}
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf