SDG Series
Arbitrary Waveform
Generator
Programming Guide
PG02_E05C

Programming Guide

Content
1

PROGRAMMING OVERVIEW ........................................................................................... 1
1.1

1.1.1

Install NI-VISA .............................................................................................................1

1.1.2

Connect the instrument ...............................................................................................4

1.2

2

3

BUILD COMMUNICATION VIA VISA ................................................................................... 1

REMOTE CONTROL ........................................................................................................ 5

1.2.1

User-defined Programming .........................................................................................5

1.2.2

Using SCPI via NI-MAX ..............................................................................................5

1.2.3

Using SCPI over Telnet ...............................................................................................5

1.2.4

Using SCPI over Socket..............................................................................................7

INTRODUCTION TO THE SCPI LANGUAGE ................................................................... 8
2.1

ABOUT COMMANDS & QUERIES ...................................................................................... 8

2.2

DESCRIPTION ................................................................................................................. 8

2.3

USAGE .......................................................................................................................... 8

2.4

COMMAND NOTATION ..................................................................................................... 8

2.5

TABLE OF COMMAND & QUERIES .................................................................................... 9

COMMANDS AND QUERIES........................................................................................... 12
3.1IEEE 488.2 COMMON COMMAND INTRODUCTION ......................................................... 12

3.1.1*IDN ...........................................................................................................................12

3.1.2*OPC .........................................................................................................................13

3.1.3*RST ..........................................................................................................................14

3.2

COMM_HEADER COMMAND .......................................................................................... 14

3.3

OUTPUT COMMAND ...................................................................................................... 15

3.4

BASIC WAVE COMMAND ............................................................................................... 17

3.5

MODULATE WAVE COMMAND ........................................................................................ 21

3.6

SWEEP WAVE COMMAND ............................................................................................. 25

3.6.1<channel>: SweepWaVe <para>,<value> ................................................................25

3.6.2<channel>:SWEep <switch> .....................................................................................28Int.siglent.com

IProgramming Guide

II

3.6.3

<channel>:SWEep:TYPE <type> ..............................................................................29

3.6.4<channel>:SWEep:SOURce <src> ...........................................................................29

3.6.5<channel>:SWEep:FMODe <mode> ........................................................................30

3.6.6<channel>:SWEep:AMODe <mode> ........................................................................30

3.6.7<channel>:SWEep:FSNumber <value> ....................................................................31

3.6.8<channel>:SWEep:ASNumber <value> ....................................................................31

3.6.9<channel>:SWEep:TIME <value> .............................................................................32

3.6.10<channel>:SWEep:SHTime <value> ........................................................................32

3.6.11<channel>:SWEep:EHTime <value> ........................................................................33

3.6.12<channel>:SWEep:RTIMe <value> ..........................................................................33

3.6.13<channel>:SWEep:SFRequency <value> ................................................................34

3.6.14<channel>:SWEep:EFRequency <value> ................................................................34

3.6.15<channel>:SWEep:CFRequency <value> ................................................................35

3.6.16<channel>:SWEep:FSPan <value> ..........................................................................35

3.6.17<channel>:SWEep:SAMPlitude <value> ..................................................................36

3.6.18<channel>:SWEep:EAMPlitude <value> ..................................................................36

3.6.19<channel>:SWEep:CAMPlitude <value> ..................................................................37

3.6.20<channel>:SWEep:ASPan <value> ..........................................................................37

3.6.21<channel>:SWEep:FDIRection <direction> ..............................................................38

3.6.22<channel>:SWEep:ADIRection <direction> ..............................................................38

3.6.23<channel>:SWEep:FSYMmetry <value> ..................................................................39

3.6.24<channel>:SWEep:ASYMmetry <value> ..................................................................39

3.6.25<channel>:SWEep:TOUT <switch> ..........................................................................40

3.6.26<channel>:SWEep:EDGe <polarity> ........................................................................40

3.6.27<channel>:SWEep:MTRigger ...................................................................................41

3.6.28<channel>:SWEep:FMARker <switch> .....................................................................41

3.6.29<channel>:SWEep:MFRequency <value> ................................................................41

3.6.30<channel>:SWEep:MSNumber <value> ...................................................................423.6.31<channel>:SWEep:CARRier:WTYPe <wave> ..........................................................42

int.siglent.com

Programming Guide

3.6.32<channel>:SWEep:CARRier:FREQuency <value> ..................................................43

3.6.33<channel>:SWEep:CARRier:PHASe <value> ..........................................................43

3.6.34<channel>:SWEep:CARRier:PAMPlitude <value> ...................................................44

3.6.35<channel>:SWEep:CARRier:RAMPlitude <value> ...................................................44

3.6.36<channel>:SWEep:CARRier:OFFSet <value> .........................................................45

3.6.37<channel>:SWEep:CARRier:SYMMetry <value> .....................................................45

3.6.38<channel>:SWEep:CARRier:DUTY <value> ............................................................46

3.7

BURST WAVE COMMAND .............................................................................................. 46

3.8

PARAMETER COPY COMMAND ...................................................................................... 49

3.9

ARBITRARY WAVE COMMAND ....................................................................................... 50

3.9.1

Arbitrary Wave Switch Command .............................................................................50

3.9.2

Arbitrary Wave Marker Setting Command(Only SDG7000A) ...................................53

3.10

SYNC COMMAND .......................................................................................................... 54

3.11

EQUAL PHASE COMMAND ............................................................................................. 55

3.12

NUMBER FORMAT COMMAND ........................................................................................ 55

3.13

LANGUAGE COMMAND .................................................................................................. 56

3.14

CONFIGURATION COMMAND ......................................................................................... 56

3.15

DATE AND TIME COMMAND .......................................................................................... 57

3.16

POWER ON COMMAND ................................................................................................. 58

3.17

KEY COMMAND ............................................................................................................ 59

3.18

BUZZER COMMAND ...................................................................................................... 59

3.19

CHANNEL TRIGGER SOURCE SETTING COMMAND ......................................................... 60

3.20

SCREEN SAVER COMMAND........................................................................................... 60

3.21

CLOCK SOURCE COMMAND .......................................................................................... 61

3.22

FREQUENCY COUNTER COMMAND................................................................................ 62

3.23

COUNTER COMMAND(ONLY SDG7000A) ..................................................................... 63

3.23.1:SENSe:COUNTer:CLEar .........................................................................................65

3.23.2:SENSe:COUNTer:FREQuency:MEASure[:type] ......................................................66

3.23.3:SENSe:COUNTer:FREQuency:RFREQuency .........................................................66

Int.siglent.com

IIIProgramming Guide

3.23.4:SENSe:COUNTer:FREQuency? ..............................................................................67

3.23.5:SENSe:COUNTer:FREQuency:SNUMBer? .............................................................67

3.23.6:SENSe:COUNTer:FREQuency:FDEViation? ...........................................................68

3.23.7:SENSe:COUNTer:FREQuency:MEAN?...................................................................68

3.23.8:SENSe:COUNTer:FREQuency:MEAN:FDEViation? ...............................................70

3.23.9:SENSe:COUNTer:FREQuency:MAX? .....................................................................70

3.23.10 :SENSe:COUNTer:FREQuency:MAX:FDEViation? ..................................................71
3.23.11 :SENSe:COUNTer:FREQuency:MIN? ......................................................................71
3.23.12 :SENSe:COUNTer:FREQuency:MIN:FDEViation? ...................................................72
3.23.13 :SENSe:COUNTer:FREQuency:SDEViation?...........................................................72
3.23.14 :SENSe:COUNTe:FREQuency:SDEViation:FDEViation? ........................................73
3.23.15 :SENSe:COUNTer:FREQuency:PERiod? .................................................................73
3.23.16 :SENSe:COUNTer:FREQuency:PERiod:MEAN? .....................................................74
3.23.17 :SENSe:COUNTer:FREQuency:PERiod:MAX? ........................................................74
3.23.18 :SENSe:COUNTer:FREQuency:PERiod:MIN? .........................................................75
3.23.19 :SENSe:COUNTer:FREQuency:PERiod:SDEViation? .............................................75
3.23.20 :SENSe:COUNTer:FREQuency:DUTY? ...................................................................76
3.23.21 :SENSe:COUNTer:FREQuency:DUTY:MEAN? ........................................................76
3.23.22 :SENSe:COUNTer:FREQuency:DUTY:MAX? ..........................................................77
3.23.23 :SENSe:COUNTer:FREQuency:DUTY:MIN? ............................................................77
3.23.24 :SENSe:COUNTer:FREQuency:DUTY:SDEViation? ................................................78
3.23.25 :SENSe:COUNTer:TOTalizer:GATE:STATe ..............................................................78
3.23.26 :SENSe:COUNTer:TOTalizer:EDGE .........................................................................79
3.23.27 :SENSe:COUNTer:TOTalizer:GATE:MODE ..............................................................79
3.23.28 :SENSe:COUNTer:TOTalizer:GOLarity:GATE:POLarity ...........................................80
3.23.29 :SENSe:COUNTer:TOTalizer:GOLarity:GATE:EDGE ...............................................80
3.23.30 :SENSe:COUNTer:TOTalizer? ..................................................................................81

IV

3.24

INVERT COMMAND........................................................................................................ 82

3.25

DIGITAL FILTER COMMAND............................................................................................ 83

int.siglent.com

Programming Guide

3.26

COUPLING COMMAND .................................................................................................. 84

3.27

OVER-VOLTAGE PROTECTION COMMAND ...................................................................... 85

3.28

OVER-CURRENT PROTECTION COMMAND ..................................................................... 86

3.29

OVERLOAD STATUS QUERY COMMAND ......................................................................... 86

3.30

OUTPUT SKEW ............................................................................................................. 87

3.31

STORE LIST COMMAND ................................................................................................ 87

3.32

ARB DATA COMMAND ................................................................................................... 91

3.33

SEQUENCE COMMAND(ONLY SDG7000A) ................................................................... 94

3.33.1<channel>:ARBMode <Mode> ..................................................................................94

3.33.2<channel>:SEQuence <switch> ................................................................................94

3.33.3<channel>:SEQuence:BURSt <count> .....................................................................95

3.33.4<channel>:SEQuence:RMODe <mode> ...................................................................95

3.33.5<channel>:TRIGger[:SEQuence]:SOURce ...............................................................96

3.33.6<channel>:TRIGger[:SEQuence][:IMMediate] ..........................................................96

3.33.7<channel>:TRIGger:TIMer ........................................................................................97

3.33.8<channel>:TRIGger[:SEQuence]:SLOPe .................................................................97

3.33.9<channel>:SEQuence:COUNt ..................................................................................98

3.33.10 <channel>:SEQuence:DEFAult .................................................................................99
3.33.11 <channel>:SEQuence:NEW .....................................................................................99
3.33.12 <channel>:SEQuence:SEGMent<x>:WAVeform ......................................................99
3.33.13 <channel>:SEQuence:SEGMent<x>:REPeat:COUNt ............................................100
3.33.14 <channel>:SEQuence:SEGMent<x>:AMPlitude .....................................................101
3.33.15 <channel>:SEQuence:SEGMent<x>:OFFset .........................................................102
3.33.16 <channel>:SEQuence:SEGMent<x>:VOLTage:HIGH ............................................102
3.33.17 <channel>:SEQuence:SEGMent<x>:VOLTage: LOW ............................................103
3.33.18 <channel>:SEQuence:SEGMent<x>:LENGth ........................................................104
3.33.19 <channel>:SEQuence:SEGMent<x>:DELEte .........................................................105
3.33.20 <channel>:SEQuence:SEGMent<x>:INSErt ..........................................................105
3.33.21 <channel>:SEQuence:STATe..................................................................................105

Int.siglent.com

VProgramming Guide

3.33.22 <channel>:SEQuence:SCALe ................................................................................106
3.33.23 <channel>:SEQuence:INCReasing ........................................................................107
3.33.24 <channel>:SEQuence:DECReasing .......................................................................107
3.33.25 <channel>:SEQuence:RECall .................................................................................108
3.33.26 <channel>:SEQuence:SAVe ...................................................................................108

3.34

DIGITAL CHANNEL COMMAND(ONLY SDG7000A) ....................................................... 109

3.34.1

DIG:SRATe ..............................................................................................................109

3.34.2

DIG:PERiod .............................................................................................................109

3.34.3

DIG:CHANnel<x>:STATe ........................................................................................ 110

3.34.4

DIG:OUTPut ............................................................................................................ 110

3.34.5

DIG:WAVeform ........................................................................................................ 111

3.35

FREQUENCY HOP COMMAND(ONLY SDG7000A) ........................................................ 113

3.35.1<channel>:FHOP:SWITch ....................................................................................... 113

3.35.2<channel>:FHOP:STATe ......................................................................................... 113

3.35.3<channel>:FHOP:TYPE .......................................................................................... 114

3.35.4<channel>:FHOP:TIME ........................................................................................... 114

3.35.5<channel>:FHOP:SFREquency .............................................................................. 115

3.35.6<channel>:FHOP:EFREquency .............................................................................. 115

3.35.7<channel>:FHOP:FSTep ......................................................................................... 116

3.35.8<channel>:FHOP:RPATtern .................................................................................... 116

3.35.9<channel>:FHOP:RLPAttern ................................................................................... 117

3.35.10 <channel>:FHOP:ALSTate ...................................................................................... 117
3.35.11 <channel>:FHOP:AFLIst ......................................................................................... 118
3.35.12 <channel>:FHOP:DFLIst ......................................................................................... 118
3.35.13 <channel>:FHOP:CFLIst ......................................................................................... 118
3.35.14 <channel>:FHOP:MFLIst ........................................................................................ 119
3.35.15 <channel>:FHOP:AOLIst ........................................................................................ 119
3.35.16 <channel>:FHOP:DOLIst ........................................................................................ 119
3.35.17 <channel>:FHOP:COLIst ........................................................................................120

VI

int.siglent.com

Programming Guide

3.35.18 <channel>:FHOP:MOLIst ........................................................................................120
3.35.19 <channel>:FHOP:AALIst .........................................................................................120
3.35.20 <channel>:FHOP:DALIst.........................................................................................121
3.35.21 <channel>:FHOP:CALIst.........................................................................................121
3.35.22 <channel>:FHOP:LFLIst .........................................................................................121
3.35.23 <channel>:FHOP:SFLIst .........................................................................................122
3.35.24 <channel>:FHOP:LOLIst .........................................................................................122
3.35.25 <channel>:FHOP:SOLIst ........................................................................................122
3.35.26 <channel>:FHOP:LALIst .........................................................................................123
3.35.27 <channel>:FHOP:SALIst .........................................................................................123

3.36

VIRTUAL KEY COMMAND............................................................................................. 124

3.37

IP COMMAND ............................................................................................................. 127

3.38

SUBNET MASK COMMAND .......................................................................................... 127

3.39

GATEWAY COMMAND .................................................................................................. 128

3.40

SAMPLING RATE COMMAND ........................................................................................ 129

3.41

HARMONIC COMMAND ................................................................................................ 130

3.42

WAVEFORM COMBINING COMMAND ............................................................................ 131

3.43

MODE SELECT COMMAND .......................................................................................... 132

3.44

MULTI-DEVICE SYNC .................................................................................................. 132

3.45

IQ COMMANDS........................................................................................................... 134

3.45.1

IQ:WAVeinfo? ..........................................................................................................134

3.45.2

IQ:CENTerfreq.........................................................................................................134

3.45.3

IQ:SAMPlerate ........................................................................................................135

3.45.4

IQ:SYMBolrate ........................................................................................................135

3.45.5

IQ:AMPLitude ..........................................................................................................136

3.45.6IQ:IQADjustment:GAIN ...........................................................................................136

3.45.7IQ:IQADjustment:IOFFset .......................................................................................137

3.45.8IQ:IQADjustment:QOFFset .....................................................................................137

3.45.9IQ:IQADjustment:QSKew ........................................................................................137

Int.siglent.com

VIIProgramming Guide

3.45.10 IQ:TRIGger:SOURce ..............................................................................................138
3.45.11 IQ:WAVEload:BUILtin .............................................................................................138
3.45.12 IQ:WAVEload:USERstored .....................................................................................139
3.45.13 IQ:FrequencySampling ...........................................................................................140

3.46

4

FILE OPERATION COMMANDS(ONLY SDG7000A) ....................................................... 141

3.46.1

MMEMory:DELete ...................................................................................................141

3.46.2

MMEMory:RDIRectory ............................................................................................141

3.46.3

MMEMory:MDIRectory ............................................................................................141

3.46.4

MMEMory:CATalog .................................................................................................142

3.46.5

MMEMory:COPY .....................................................................................................142

3.46.6

MMEMory:MOVE ....................................................................................................143

3.46.7

MMEMory:SAVE:XML .............................................................................................143

3.46.8

MMEMory:LOAD:XML.............................................................................................144

3.46.9

MMEMory:TRANsfer ...............................................................................................144

WAVEFORM FORMAT ................................................................................................... 146
4.1

BIN ............................................................................................................................ 146

4.2

CSV/DAT..................................................................................................................... 147

4.3

MAT ........................................................................................................................... 148

4.4

AWG .......................................................................................................................... 150

4.5

HOP ........................................................................................................................... 152

4.6

WAV/ARB .................................................................................................................... 153

5

PROGRAMMING EXAMPLES ....................................................................................... 155
5.1

5.1.1

VC++ Example ........................................................................................................155

5.1.2

LabVIEW Example ..................................................................................................172

5.1.3

Python2 Example ....................................................................................................174

5.1.4

Python3 Example ....................................................................................................177

5.1.5

Python3 Example(Digital)........................................................................................180

5.2
VIII

EXAMPLES OF USING VISA ........................................................................................ 155

EXAMPLES OF USING SOCKETS .................................................................................. 182
int.siglent.com

Programming Guide

5.2.1

6

Python Example ......................................................................................................182

INDEX ............................................................................................................................. 185

Int.siglent.com

IX

Programming Guide

1

Programming Overview

By using USB and LAN interfaces, in combination with NI-VISA and programming languages, users
can remotely control the waveform generator. Through the LAN interface, VXI-11, Sockets, and Telnet
protocols can be used to communicate with the instruments. This chapter introduces how to build
communication between the instrument and the PC. It also introduces how to configure a system forremote instrument control.

1.1
1.1.1

Build communication via VISA
Install NI-VISA

Before programming, please make sure that you have properly installed the latest version of National
Instruments NI-VISA Software.

NI-VISA is a communication library that enables computer communications to instrumentation. There
are two available VISA packages: A full version and the Run-Time Engine. The full version includes
NI device drivers and a tool named NI MAX; a user interface to control the device. While the drivers
and NI MAX can be useful, they are not required for remote control. The Run-Time Engine is a muchsmaller file and is recommanded for remote control.

For convenience, you can obtain the latest version of the NI-VISA run-time engine or the full version
from the National Instruments website. The installation process is similar for both versions.

Follow these steps to install NI-VISA (The full version of NI-VISA 5.4 is used in this example):a. Download the appropriate version of NI-VISA (the Run-time engine is recommanded)b. Double click the visa540_full.exe and observe the dialog box as shown below:

Int.siglent.com

1

Programming Guidec. Click Unzip, the install process will launch after unzipping files. If your computer needs to installthe .NET Framework 4, it may auto-start.

d. The NI-VISA install dialog is shown above. Click Next to start the installation process.

2

int.siglent.com

Programming Guidee. Set the install path, the default path is “C:\Program Files\National Instruments\”, you can change
it if you prefer. Click Next, dialog as shown above.

f.

Click Next twice, in the License Agreement dialog, select the “I accept the above 2 License
Agreement(s).”, and click Next, and a dialog box will appear as shown below:

Int.siglent.com

3

Programming Guide

g. Click Next to begin installation.

h. Now the installation is complete. Reboot your PC.

1.1.2

Connect the instrument

Depending on the specific model, the arbitrary waveform generator may be able to communicate witha PC through the USB or LAN interface.
Connect the arbitrary waveform generator and the USB Host interface of the PC using a USB cable.
Assuming your PC is already turned on, turn on the SDG, and then the PC will display the “Device
Setup” screen as it automatically installs the device driver as shown below.

Wait for the installation to complete and then proceed to the next step.

4

int.siglent.com

Programming Guide

Remote Control

1.2
1.2.1

User-defined Programming

Users can send SCPI commands via a computer to program and control the arbitrary waveformgenerator. For details, refer to the introductions in "Programming Examples".

1.2.2

Using SCPI via NI-MAX

NI-MAX is a program created and maintained by National Instruments. It provides a basic remotecontrol interface for VXI, LAN, USB, GPIB, and Serial communications. The SDG can be controlled
remotely by sending SCPI commands via NI-MAX.

1.2.3

Using SCPI over Telnet

Telnet provides a means of communicating with the SDG over the LAN. The Telnet protocol sends
SCPI commands to the SDG from a PC and is similar to communicating with the SDG over USB. It
sends and receives information interactively: one command at a time. The Windows operating
systems use a command prompt style interface for the Telnet client. The steps are as follows:

1.

On your PC, click Start > All Programs > Accessories > Command Prompt.

2.

At the command prompt, type in telnet.

3.

Press the Enter key. The Telnet display screen will be displayed.

Int.siglent.com

5

Programming Guide

4.

At the Telnet command line, type:open XXX.XXX.XXX.XXX 5024
Where XXX.XXX.XXX.XXX is the instrument’s IP address and 5024 is the port. You should see
a response similar to the following:

5.

At the SCPI> prompt, input the SCPI commands such as *IDN? to return the company name,model number, serial number, and firmware version number.

6.

To exit the SCPI> session, press the Ctrl+] keys simultaneously.

7.

Type quit at the prompt or close the Telnet window to close the connection to the instrument andexit Telnet.

6

int.siglent.com

Programming Guide

1.2.4

Using SCPI over Socket

Socket API can be used to control the SDG series by LAN without installing any other libraries. Thiscan reduce the complexity of programming.

SOCKET ADDRESSIP address + port number

IP ADDRESSSDG IP address

PORT NUMBER

5025

Please see section 5.2 "Examples of Using Sockets" for the details.

Int.siglent.com

7

Programming Guide

2

Introduction to the SCPI Language

2.1

About Commands & QueriesThis section lists and describes the remote control commands and queries recognized by the
instrument. All commands and queries can be executed in either the local or remote state.

Each command or query, with syntax and other information, has some examples listed. The
commands are given in both long and short format at “COMMAND SYNTAX” and “QUERY SYNTAX”,
and the subject is indicated as a command or query or both. Queries perform actions such as
obtaining information from the instrument and are identified by a question mark (?) following theheader.

2.2

Description

In the description, a brief explanation of the function performed is given. This is followed by apresentation of the formal syntax, with the header given in Upper-and-Lower-Case characters andthe short form derived from it in ALL UPPER-CASE characters. Where applicable, the syntax of thequery is given with the format of its response.

2.3

Usage

The commands and queries listed here can be used for SDGxxxx Series Arbitrary Waveform
Generators.

2.4

Command Notation

The following notations are used in the commands:< > Angular brackets enclose words that are used as placeholders, of which there are two types:

8

int.siglent.com

Programming Guide

the header path and the data parameter of a command.
:=

A colon followed by an equals sign separates a placeholder, from the description of the type andrange of values that may be used in a command instead of the placeholder.
{ } Braces enclose a list of choices, one of which must be made.
[ ] Square brackets enclose optional items.
… ] Ellipsis (trailing dots) indicate that the preceding element may be repeated one or more times.

2.5

Table of Command & Queries

ShortLong Form

Subsystem

What Command/Query does

*IDN

*IDN

SYSTEM

Gets identification from device.

*OPC

*OPC

SYSTEM

Gets or sets the OPC bit (0) in
the Event Status Register(ESR).

*RST*RST

SYSTEM

Restore default settings

CHDR

COMM_HEADERSIGNAL

Sets or gets the command
returned format

OUTP

OUTPUT

SIGNAL

Sets or gets the output state.

BSWV

BASIC_WAVE

SIGNAL

Sets or gets the basic wave
parameters.

MDWV

MODULATEWAVE

SIGNAL

Sets or gets the modulation
parameters.

SWWV

SWEEPWAVE

SIGNAL

Sets or gets the sweep
parameters.

BTWV

BURSTWAVE

SIGNAL

Sets or gets the burst
parameters.

PACP

PARACOPY

SIGNAL

Copies parameters from one
channel to the other.

ARWV

ARBWAVE

DATA

Changes arbitrary wave type.

SYNC

SYNC

SIGNAL

Sets or gets thesynchronization signal.

NBFM

NUMBER_FORMATSYSTEM

Sets or gets the data format.

LAGG

LANGUAGESYSTEM

Sets or gets the language.

Int.siglent.com

9

Programming Guide

Short

Long Form

Subsystem

What Command/Query does

SCFG

SYS_CFGSYSTEM

Sets or gets the power-on
system setting way.

BUZZ

BUZZERSYSTEM

Sets or gets the buzzer state.

SCSVSCREEN_SAVESYSTEM

Sets or gets the screen savestate.

ROSC

ROSCILLATORSIGNAL

Sets or gets the state of theclock source.

FCNT

FREQCOUNTERSIGNAL

Sets or gets the frequency
counter parameters.

INVT

INVERT

SIGNAL

Sets or gets the polarity of thecurrent channel.

COUP

COUPLING

SIGNAL

Sets or gets the coupling
parameters.

VOLTPRT

VOLTPRT

SYSTEM

Sets or gets the state of overvoltage protection.

STL

STORELIST

SIGNAL

Lists all stored waveforms.

WVDT

WVDT

SIGNAL

Sets and gets the arbitrary
wave data.

VKEY

VIRTUALKEYSYSTEM

Sets the virtual keys.

SYST:COMM:LAN:IPAD

SYSTEM:COMMUNICATE:LAN:IPADDRESSSYSTEM

The Command can set and get
the system IP address.

SYST:COMM:LAN:SMAS

SYSTEM:COMMUNICATE:LAN:SMASKSYSTEM

The Command can set and get
the system subnet mask.

SYST:COMM:LAN:GATSYSTEM:COMMUNICATE:LAN:GATEWAYSYSTEM

The Command can set and get
the system Gateway.

SRATE

SAMPLERATESIGNAL

Sets or gets the arbitrary wave
mode, sampling rate, andinterpolation method.

HARM

HARMonic

SIGNAL

Sets or gets the harmonic
information.

CMBN

CoMBiNe

SIGNAL

Sets or gets the wave combine
information.

MODE

MODE

SIGNAL

Sets or gets the waveform
phase mode

CASCADECASCADESYSTEMSet up multi-device
synchronization10

int.siglent.com

Programming Guide

Short

Long Form

Subsystem

What Command/Query does

IQ:CENT

IQ:CENTerfreq

SIGNAL

Sets the I/Q modulator center
frequency.

IQ:SAMPIQ:SAMPlerate

SIGNAL

Sets the I/Q sample rate.

IQ:SYMB

IQ:SYMBolrate

SIGNAL

Sets the I/Q symbol rate.

IQ:AMPL

IQ:AMPLitude

SIGNAL

Sets the I/Q amplitude.

IQ:IQAD:GAIN

IQ:IQADjustment:GAIN

SIGNAL

Adjusts the ratio of I to Q while
preserving the composite.

IQ:IQAD:IOFF

IQ:IQADjustment:IOFFset

SIGNAL

Adjusts the I channel offset
value.

IQ:IQAD:QOFF

IQ:IQADjustment:QOFFset

SIGNAL

Adjusts the I channel offset
value.

IQ:IQAD:QSKIQ:IQADjustment:QSKew

SIGNAL

Adjusts the phase angle
between the I and Q vectors byincreasing or decreasing the Q
phase angle.

IQ:TRIG:SOUR

IQ:TRIGger:SOURce

SIGNAL

Sets the I/Q trigger source.

IQ:WAVE:BUIL

IQ:WAVEload:BUILtin

SIGNAL

Selects the I/Q wave from thebuilt-in wave list.

IQ:WAVE:USER

IQ:WAVEload:USERstored

SIGNAL

Select the I/Q wave from user
stored waveforms.

:IQ:
FrequencySampling:IQ: FrequencySampling

SIGNAL

Sets the I/Q Frequency
sampling rate.

Int.siglent.com

11

Programming Guide

3

Commands and Queries

3.1

IEEE 488.2 Common Command Introduction

The IEEE standard defines the common commands used for querying the basic information of the
instrument or executing basic operations. These commands usually start with "*" and the length of
the keywords of the command is usually 3 characters.

3.1.1

*IDN

DESCRIPTIONThe *IDN? query causes the instrument to identify itself. The
response is comprised of the manufacturer, model, serial number,and firmware version.

QUERY SYNTAX*IDN?

RESPONSE FORMAT

Format 1: *IDN, <device id>,<model>,<serial number>,<firmware
version>, <hardware version>
Format 2: <manufacturer>,<model>,<serial number>,<firmware
version><device id>:= “SDG”.
<manufacturer>:= “Siglent Technologies”.
<model>:= A model identifier less than 14 characters, should notcontain the word “MODEL”.
<serial number>:= The serial number.
<firmware version>:= The firmware version number.
<hardware version>:= The hardware level field, containing
information about all separately revisable subsystems.

EXAMPLE

Reads version information:
*IDN?

12

int.siglent.com

Programming Guide

Return:Siglent Technologies,SDG6052X, SDG6XBAX1R0034,
6.01.01.28 (It may differ from each version)

Notes:
1. The table below shows the available response format of the command in each SDG series.
Parameter/commandResponse
Format

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

Format1

Format1

Format2

Format1

Format2

Format2

Format2

2. Format of <hardware version>: value1-value2-value3-value4-value5.
value1: PCB version.
value2: Hardware version.
value3: Hardware subversion.
value4: FPGA version.
value5: CPLD version.

3.1.2

*OPC

DESCRIPTIONThe *OPC (Operation Complete) command sets the OPC bit (bit0) in the standard Event Status Register (ESR). This command
has no other effect on the operation of the device because theinstrument starts parsing a command or query only after it hascompletely processed the previous command or query. The*OPC? query always responds with the ASCII character 1
because the device only responds to the query when the previous
command has been entirely executed.

COMMAND SYNTAX*OPCQUERY SYNTAX*OPC?

RESPONSE FORMAT

Format 1: *OPC 1
Format 2: 1

Int.siglent.com

13

Programming Guide

Note: The table below shows the available response format of the command in each SDG series.
Parameter/commandResponse
Format3.1.3

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

Format1

Format1

Format2

Format1

Format2

Format2

Format2*RST

DESCRIPTIONThe *RST command initiates a device reset and recalls the default
setup.

COMMAND SYNTAX*RSTEXAMPLEThis example resets the signal generator to the default setup:
*RST

3.2

Comm_Header Command

DESCRIPTIONThis command is used to change the query command returned
format. “SHORT” parameter returns short format. “LONG”
parameter returns long format. The “OFF” parameter returns
nothing.

COMMAND SYNTAXComm_HeaDeR <parameter><parameter>:= {SHORT,LONG,OFF}.

QUERY SYNTAXComm_HeaDeR?

RESPONSE FORMATCHDR <parameter>

EXAMPLESet query command format to long:
CHDR LONG
Read query command format:
CHDR?
Return:14

int.siglent.com

Programming Guide

COMM_HEADER LONG

Note: The table below shows the availability of the command in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

yes

yes

no

yes

no

no

no

CHDR

3.3

Output Command

DESCRIPTIONThis command enables or disables the output port(s) at the front
panel. The query returns “ON” or “OFF” and “LOAD”, “PLRT”, and“RATIO” parameters.

COMMAND SYNTAX<channel>:OUTPut ON|OFF,LOAD,<load>,PLRT, <polarity><channel>:= {C1, C2}.
<load>:= {see the note below}. The unit is ohms.
<polarity>:= {NOR, INVT}, in which NOR refers to normal, and INVT
refers to invert.
NoiseSum: to add noise to the channel with specified signal-to-noise
ratio.
<channel>:NOISE_ADD STATE,ON|OFF,RATIO,<S/N>.
or<channel>:NOISE_ADD STATE,ON|OFF,RATIO_DB,<S/N(dB)>.
<S/N>:= {2.1-100000000}.
<S/N (dB)>:= {3.24886-80}.
Max Amplitude Output: to limit the maximum amplitude output.
<channel>:BSWV MAX_OUTPUT_AMP, <Amplitude><Amplitude>:={1-20}, Maximum output amplitude peak-to-peakvoltages.

QUERY SYNTAX<channel>:OUTPut?
<channel>:NOISE_ADD?
<channel>:BSWV?

RESPONSE FORMAT

Int.siglent.com<channel>:OUTP ON|OFF,LOAD,<load>,PLRT, <polarity>

15

Programming Guide<channel>:NOISE_ADDSTATE,ON|OFF,RATIO,<S/N >,RATIO_DB,<S/N (dB)><channel>:BSWV
WVTP,<type>,FRQ,<frequency>,PERI,<period>,AMP,<amplitude>,A
MPVRMS,<Amplitude>,MAX_OUTPUT_AMP, OFST, <offset>, HLEV,<high level>, LLEV, <low level>, PHSE, <phase>
EXAMPLE

Turn on CH1:
C1:OUTP ON
Read CH1 output state:
C1:OUTP?
Return:C1:OUTP ON,LOAD,HZ,PLRT,NOR
Set the load of CH1 to 50 ohms:
C1:OUTP LOAD,50
Set the load of CH1 to HiZ:
C1:OUTP LOAD,HZ
Set the polarity of CH1 to normal:
C1:OUTP PLRT,NOR
turn on NoiseSum and set the signal-to-noise ratio
C1:NOISE_ADD STATE,ON,RATIO,120
Set the maximum output amplitude
C1:BSWV MAX_OUTPUT_AMP,5Note: The table below shows the availability of the command in each SDG series.
Parameter/command<channel>
LOAD

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

yes

yes

yes

yes

yes

yes

50~10000

50~100000,

50~100000,

50~100000,

50~100000,

, HiZ

HiZ

HiZ

HiZ

HiZ

50,HiZ

50, HiZ* "HiZ" refers to High Z.

16

int.siglent.com

Programming Guide

DESCRIPTION

Set two channels to open or close output at the same time

COMMAND SYNTAXOUT_BOTHCH <STATE><STATE>={ON,OFF}QUERY SYNTAXRESPONSE FORMAT
EXAMPLE

Open two channels of output:
OUT_BOTHCH ON

Note: The table below shows the availability of the command in each SDG series.
Parameter/command

3.4

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

yes

yes

yes

yes

yes

yes

Basic Wave Command

DESCRIPTIONThis command sets or gets the basic wave parameters.

COMMAND SYNTAX<channel>:BaSic_WaVe <parameter>,<value><channel>:={C1, C2}.
<parameter>:= {a parameter from the table below}.
<value>:={value of the corresponding parameter}.

Parameters
WVTP

FRQ

PERI

Int.siglent.com

Value

Description<type>:= {SINE, SQUARE, RAMP, PULSE, NOISE, ARB, DC,
PRBS, IQ}. If the command doesn’t set basic waveform
type, WVPT will be set to the current waveform.

<frequency>:= frequency. The unit is Hertz “Hz”. Refer to the datasheet
for the range of valid values. Not valid when WVTP isNOISE or DC.

<period>:= period. The unit is seconds "s". Refer to the datasheet
for the range of valid values. Not valid when WVTP isNOISE or DC.
17

Programming Guide

AMP<amplitude>:= amplitude. The unit is volts, peak-to-peak "Vpp". Referto the datasheet for the range of valid values. Not valid
when WVTP is NOISE or DC.

AMPVRMS<amplitude>:= amplitude. The unit is Volts, root-mean-square “Vrms”.

AMPDBM<amplitude>:= amplitude. The unit is dBm.

OFST

<offset>:= offset. The unit is volts "V". Refer to the datasheet for
the range of valid values. Not valid when WVTP is NOISE.

COM_OFST<commonoffset>:={-1 to 1}.common offset. The unit is volts "V". It can be
set only when the channel differential output is on.

SYM<symmetry>:={0 to 100}. Symmetry of RAMP. The unit is "%". Only
settable when WVTP is RAMP.

DUTY<duty>:= {0 to 100}. Duty cycle. The unit is "%". Value depends
on frequency. Only settable when WVTP is SQUARE or
PULSE.

PHSE<phase>:= {0 to 360}. The unit is "degree". Not valid when WVTP isNOISE, PULSE or DC.

<stdev>:= standard deviation of NOISE. The unit is volts "V". Referto the datasheet for the range of valid values. Only
settable when WVTP is NOISE.

MEAN<mean>:= mean of NOISE. The unit is volts "V". Refer to thedatasheet for the range of valid values. Only settable
when WVTP is NOISE.

WIDTH<width>:= positive pulse width. The unit is seconds "s". Refer tothe datasheet for the range of valid values. Only settable
when WVTP is PULSE.

<rise>:= rise time (10%~90%). The unit is seconds "s". Refer tothe datasheet for the range of valid values. Only settable
when WVTP is PULSE.

FALL<fall>:= fall time (90%~10%). The unit is seconds "s". Refer tothe datasheet for the range of valid values. Only settable
when WVTP is PULSE.

DLY<delay>:= waveform delay. The unit is seconds "s". Refer to thedatasheet for the range of valid values.

HLEV<high level>:= high level. The unit is volts "V". Not valid when WVTP isNOISE or DC.

LLEV<low level>:= low level. The unit is volts "V". Not valid when WVTP isNOISE or DC.

BANDSTATE<bandwidth
switch >:= {ON,OFF}. Only settable when WVTP is NOISE.

STDEV

RISE

18

int.siglent.com

Programming GuideBANDWIDTH<bandwidth
value>:= noise bandwidth. The unit is Hertz "Hz". Refer to thedatasheet for the range of valid values. Only settable
when WVTP is NOISE.

LENGTH<prbs length>:={3~32}. Actual PRBS length = 2LENGTH-1. Only settable
when WVTP is PRBS.

EDGE

<prbs
rise/fall>:= rise/fall time of PRBS. The unit is seconds "s". Refer tothe datasheet for the range of valid values. Only settable
when WVTP is PRBS.

FORMAT<output
format>:={DIFF, SINGLE }. Set channel differential output or single
ended output

DIFFSTATE<prbs
differential
switch>:={ON, OFF}. State of PRBS differential mode. Only
settable when WVTP is PRBS.

BITRATE<prbs bitrate>:= PRBS bit rate. The unit is bits-per-second "bps". Referto the datasheet for the range of valid values. Only
settable when WVTP is PRBS.

LOGICLEVEL<prbs
logiclevel
rate>:={ TTL_CMOS, LVTTL_LVCMOS, ECL, LVPECL, LVDSCUSTOM (only on SDG7000A) }. Only settable when
WVTP is PRBS.

QUERY SYNTAX<channel>: BaSic_WaVe?
<channel>:= {C1, C2}.

RESPONSE FORMAT<channel>:BSWV <parameter><parameter>:= {All the parameters of the current basic waveform}.

EXAMPLE

Change the waveform type of C1 to Ramp:
C1:BSWV WVTP,RAMP
Change the frequency of C1 to 2000 Hz:
C1:BSWV FRQ,2000
Set the amplitude of C1 to 3 Vpp:
C1:BSWV AMP,3
Return parameters of C1 from the device:
C1:BSWV?
Return:
C1:BSWV WVTP,SINE,FRQ,100HZ,PERI,0.01S,AMP,2V,

Int.siglent.com

19

Programming Guide

OFST,0V,HLEV,1V,LLEV,-1V,PHSE,0
Set noise bandwidth of C1 to 100 MHz:
C1:BSWV BANDWIDTH,100E6
or
C1:BSWV BANDWIDTH,100000000
Set output amplitude of C1 to 3dBm:
C1:BSWV AMPDBM,3
Set the logic level of C1 to TTL_CMOS:
C1:BSWV LOGICLEVEL,TTL_CMOS

Notes:
1.

The table below shows the availability of some command parameters in each SDG series.

Parameter

SDG

SDG

SDG

SDG

SDG

SDG

SDG

SDG

/command

800

1000

2000X

5000

1000X

6000X

6000X-E

7000A<channel>

no

yes

yes

yes

yes

yes

yes

yes

RISE

yes

no

yes

yes

yes

yes

yes

yes

FALL

yes

no

yes

yes

yes

yes

yes

yes

DLY

no

yes

yes

yes

yes

yes

yes

yes

BANDSTATE

no

no

yes

no

no

yes

yes

yes

BANDWIDTH

no

no

yes

no

no

yes

yes

yes

LENGTH

no

no

no

no

no

yes

no

yes

EDGE

no

no

no

no

no

yes

no

yes

DIFFSTATE

no

no

no

no

no

yes

no

no

BITRATE

no

no

no

no

no

yes

no

yes

LOGICLEVEL

no

no

no

no

no

yes

no

yes

AMPDBM

no

no

yes

no

yes

yes

yes

yes

2.

20

With SDG1000X models, if Wave Combine is enabled, WVTP cannot be set to SQUARE.

int.siglent.com

Programming Guide

3.5

Modulate Wave Command

DESCRIPTIONThis command sets or gets the modulation parameters.

COMMAND SYNTAX<channel>:MoDulateWaVe <type><channel>:MoDulateWaVe <parameter>,<value><channel>:={C1, C2}<type>:= {AM,DSBAM,FM,PM,PWM,ASK,FSK,PSK}.
<parameter>:= {a parameter from the table below}.
<value>:= {value of the from the table below}.

Parameters

Value

Description:={ON, OFF}. Enable or disable modulation.

STATE<state>STATE must be set to ON before you set or readother parameters of the modulation.

AM,SRC<src>:= {INT, EXT,CH1,CH2}. AM modulation source.

AM,MDSP<mod wave shape>:= {SINE, SQUARE, TRIANGLE, UPRAMP,DNRAMP, NOISE, ARB}.
AM modulation wave. Only settable when SRC is
INT.

AM,FRQ<AM frequency>:= AM frequency. The unit is Hertz "Hz". Refer tothe datasheet for the range of valid values. Only
settable when SRC is INT.

AM,DEPTH<depth>:= {0 to 120}. AM depth. The unit is "%". Only
settable when SRC is INT.

DSBAM,SRC<src>:= {INT, EXT}. DSB-AM modulation source.

DSBSC,SRC<src>= {INT, EXT, CH1,CH2}. DSB-SC modulation
source. (only SDG7000A)

DSBAM,MDSP<mod wave shape>

DSBSC,MDSP<mod wave shape>

DSBAM,FRQ<DSB-AMfrequency>

Int.siglent.com:= {SINE, SQUARE, TRIANGLE, UPRAMP,DNRAMP, NOISE, ARB}.
DSB AM modulation wave. Only settable when
SRC is INT.
:= {SINE, SQUARE, TRIANGLE, UPRAMP,DNRAMP, NOISE, ARB}.
DSB-SC modulation wave. Only settable when
SRC is INT. (only SDG7000A):= DSB-AM frequency. The unit is Hertz "Hz". Referto the datasheet for the range of valid values. Only

21

Programming Guide

settable when SRC is INT.
DSBSC,FRQ<DSB-SC
frequency>:= DSB-SC frequency. The unit is Hertz "Hz". Referto the datasheet for the range of valid values. Only
settable when SRC is INT.(only SDG7000A)

FM,SRC<src>:= {INT, EXT, CH1,CH2}. FM modulation source.

FM,MDSP

FM,FRQ<mod wave shape><FM frequency>:= {SINE, SQUARE, TRIANGLE, UPRAMP,DNRAMP, NOISE, ARB}.
FM modulation wave. Only settable when SRC is
INT.
:= FM frequency. The unit is Hertz "Hz". Refer tothe datasheet for the range of valid values. Only
settable when SRC is INT.
:= {0 to carrier frequency}.

FM,DEVI<FM frequency
deviation >PM,SRC,<src>

PM,MDSP

22<mod wave shape>

FM frequency deviation. The value depends on the
difference between the carrier frequency and the
bandwidth frequency. Only settable when SRC is
INT.
:= {INT, EXT, CH1,CH2}. PM modulation source.
:= {SINE, SQUARE, TRIANGLE, UPRAMP,DNRAMP, NOISE, ARB}.
PM modulation wave. Only settable when SRC is
INT.

PM,FRQ<PM frequency>:= PM frequency. The unit is Hertz "Hz". Refer tothe datasheet for the range of valid values. Only
settable when SRC is INT.

PM,DEVI<PM phase offset>:= {0 to 360}. PM phase deviation. The unit is"degree". Only settable when SRC is INT.

PWM,SRC<src>:= {INT, EXT, CH1,CH2}. PWM modulation source.

PWM,FRQ<PWM frequency>:= PWM frequency. The unit is Hertz "Hz". Refer tothe datasheet for the range of valid values. Only
settable when SRC is INT.

PWM,DEVI<PWM dev>:= Duty cycle deviation. The unit is "%". Valuedepends on the carrier duty cycle.
:= {SINE, SQUARE, TRIANGLE, UPRAMP,DNRAMP, NOISE, ARB}.

PWM,MDSP<mod wave shape>

ASK,SRC<src>:= {INT, EXT}. ASK modulation source.

ASK,KFRQ< key frequency>:= ASK key frequency. The unit is Hertz "Hz". Referto the datasheet for the range of valid values. Only

PWM modulation wave. Only settable when SRC is
INT.

int.siglent.com

Programming Guide

settable when SRC is INT.
FSK,SRC<src>:= {INT, EXT}. FSK modulation source.

< key frequency>:= FSK key frequency. The unit is Hertz "Hz". Referto the datasheet for the range of valid values. Only
settable when SRC is INT.

FSK,HFRQ<FSK_hop_freq>:= FSK hop frequency. The same with basic wave
frequency. The unit is Hertz "Hz". Refer to thedatasheet for the range of valid values.

PSK,SRC<src>:= {INT, EXT}. PSK modulation source.

PSK,KFRQ< key frequency>:= PSK key frequency. The unit is Hertz "Hz". Referto the datasheet for the range of valid values. Only
settable when SRC is INT.

PSK,PLRT<polarity>:={POS,NEG}.

CARR,WVTP<wave type>:= {SINE, SQUARE, RAMP, ARB, PULSE}. Carrier
waveform type.

CARR,FRQ<frequency>:= carrier frequency. The unit is Hertz "Hz". Refer tothe datasheet for the range of valid values.

CARR,PHSE<phase>:= {0 to 360}. Carrier phase. The unit is "degree".

CARR,AMP<amplitude>:= carrier amplitude. The unit is volts, peak-to-peak"Vpp". Refer to the datasheet for the range of valid
values.

CARR,OFST<offset>:= carrier offset. The unit is volts "V". Refer to thedatasheet for the range of valid values.

CARR,SYM<symmetry>:= {0 to 100}. Carrier symmetry when the carrier is
RAMP. The unit is "%".

CARR,DUTY<duty>:= {0 to 100}. Carrier duty cycle when the carrier is
SQUARE or PULSE. The unit is "%".

<rise>:= rise time when the carrier is PULSE. The unit isseconds "s". Refer to the datasheet for the range ofvalid values.

<fall>:= fall time when the carrier is PULSE. The unit isseconds "s". Refer to the datasheet for the range ofvalid values.

<delay>:= pulse delay when the carrier is PULSE. The unit
is seconds "s". Refer to the datasheet for the rangeof valid values.

FSK,KFRQ

CARR,RISE

CARR,FALL

CARR,DLY

Notes:The range of some parameters depends on the model. Refer to the datasheet for details.

Int.siglent.com

23

Programming GuideQUERY SYNTAX<channel>:MoDulateWaVe?
<channel>:={C1, C2}.

RESPONSE FORMAT<channel>:MDWV <parameter><parameter>:= {all parameters of the current modulation}.

EXAMPLE

Set CH1 modulation state to on:
C1:MDWV STATE,ON
Set CH1 modulation type to AM:
C1:MDWV AM
Set modulation to AM, and the modulating wave type to sine wave:
C1:MDWV AM,MDSP,SINE
Read CH1 modulation parameters when STATE is ON:
C1:MDWV?
Return:C1:MDWV AM,STATE,ON,MDSP,SINE,SRC,INT,FRQ,100HZ,
DEPTH,100,CARR,WVTP,RAMP,FRQ,1000HZ,AMP,4V,
AMPVRMS,1.15473Vrms,OFST,0V,PHSE,0,SYM,50
Read CH1 modulate wave parameters when STATE is OFF:
C1:MDWV?
Return:C1:MDWV STATE,OFF
Set CH1 FM frequency to 1000 Hz:
C1:MDWV FM,FRQ,1000
Set CH1 carrier to SINE:
C1:MDWV CARR,WVTP,SINE
Set CH1 carrier frequency to 1000 Hz:
C1:MDWV CARR,FRQ,1000

Note: The table below shows the availability of some command parameters in each SDG series.
Parameter

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A<channel>

no

yes

yes

yes

yes

yes

yes

<type>, SRC

no

yes

yes

yes

yes

yes

yes

CARR, DLY

no

yes

yes

yes

yes

yes

yes

/command24

int.siglent.com

Programming Guide

CARR, RISE

yes

no

yes

yes

yes

yes

yes

CARR, FALL

yes

no

yes

yes

yes

yes

yes

<type>:= {AM, FM, PM, FSK, ASK, PSK, DSBAM, PWM}.

3.6

Sweep Wave Command

3.6.1<channel>: SweepWaVe <para>,<value>

DESCRIPTIONThis command sets or gets the sweep parameters. This commandis not valid in SDG7000A. SDG7000A sweep wave command isreferenced in 3.6.2—3.6.38

COMMAND SYNTAX<channel>:SweepWaVe <parameter>,<value><channel>:={C1, C2}<parameter>:= {a parameter from the table below}<value>:={value of the corresponding parameter}

Parameters

Value

Description

STATE<state>:={ON, OFF}. Enable or disable sweep.
STATE must be set to ON before you set or read otherparameters of the sweep.

TIME<time>:= sweep time. The unit is seconds "s". Refer to thedatasheet for the range of valid values.

STARTTIME<time>:={0 to 300}. The unit is seconds "s".Start hold time

ENDTIME<time>:={0 to 300}. The unit is seconds "s".End hold time

BACKTIME<time>:={0 to 300}. The unit is seconds "s".Back time

START

<start_freq>:= start frequency. The same with basic wave
frequency. The unit is Hertz "Hz".

STOP<stop_freq>:= stop frequency. The same with basic wave
frequency. The unit is Hertz "Hz".

CENTER<center_freq>:= center frequency. The unit is Hertz "Hz". Refer to thedatasheet for the range of valid values.

SPAN<span_freq>:= frequency span. The unit is Hertz "Hz". Refer to thedatasheet for the range of valid values.

Int.siglent.com

25

Programming Guide

SWMD<sweep_mode>:= {LINE, LOG,STEP}, in which LINE refers toLinear ,LOG refers to Logarithmic and STEP refers to
step.

DIR

<direction>:= {UP, DOWN, UP_DOWN}. Sweep direction.

SYM<symmetry>:={0% to 100%}. The symmetry when sweep direction
is up.

TRSR<trig_src>:= {EXT, INT, MAN}. Trigger source. EXT refers toExternal, INT refers to Internal and MAN refers to
Manual.

MTRIG:= send a manual trigger. Only valid when TRSR is
MAN.

TRMD

<trig_mode>:= {ON, OFF}. State of trigger output. If TRSR is EXT,the parameter is invalid.

EDGE<edge>:={RISE, FALL}. Available trigger edge. Only valid
when TRSR is EXT or MAN.

CARR, WVTP

<wave type>:= {SINE, SQUARE, RAMP, ARB}. Carrier waveform
type. Modulation is not available if the carrier is
PULSE, NOISE, or DC.

CARR, FRQ

<frequency>:= carrier frequency. The unit is Hertz "Hz". Refer to thedatasheet for the range of valid values.

CARR, PHSE

<phase>:= {0 to 360}. Carrier phase. The unit is "degree".

CARR, AMP

<amplitude>:= carrier amplitude. The unit is volts, peak-to-peak"Vpp". Refer to the datasheet for the range of valid
values.

CARR, OFST

<offset>:= carrier offset. The unit is volts "V". Refer to thedatasheet for the range of valid values.

CARR, SYM

<symmetry>:= {0 to 100}. Carrier symmetry when the carrier is
RAMP. The unit is percent "%".

CARR, DUTY

<duty>:= {0 to 100}. Carrier duty cycle when the carrier is
SQUARE. The unit is "%".

MARK_STATE<state>:= {ON, OFF}.

MARK_FREQ<frequency>:= mark frequency. The unit is Hertz "Hz". The range isfrom the start frequency to the stop frequency.

QUERY SYNTAX<channel>:SWeepWaVe?
<channel>:= {C1, C2}.

RESPONSE FORMAT<channel>:SWWV <parameter><parameter>:= {All parameters of the current sweep wave}

26

int.siglent.com

Programming Guide

EXAMPLE

Set CH1 sweep state to ON:
C1:SWWV STATE,ON
Set CH1 sweep time to 1 s:
C1:SWWV TIME,1
Set CH1 stop frequency to 1000 Hz:
C1:SWWV STOP,1000
Set the trigger source of CH1 to Manual:
C1:SWWV TRSR,MAN
Send a manual trigger to CH1:
C1:SWWV MTRIG
Read CH2 sweep parameters when STATE is ON:
C2:SWWV?
Return:C2:SWWVSTATE,ON,TIME,1S,STOP,1500HZ,START,500HZ,
CENTER,1000HZ,SPAN,1000HZ,TRSR,INT,TRMD,OFF,SWMD,LI
NE,DIR,UP,SYM,0,MARK_STATE,OFF,MARK_FREQ,1000HZ,CARR,WVTP,SINE,FRQ,1000HZ,AMP,4V,AMPVRMS,1.41421Vrms,O
FST,0V,PHSE,0
Read CH2 sweep parameters when STATE is OFF:
C2:SWWV?
Return:C2:SWWV STATE,OFF
Set CH1 the FreqMarker of sweep to 1kHz
C1:SWWV MARK_STATE,ON,MARK_FREQ,1000

Note: The table below shows the availability of some command parameters in each SDG series.
Parameter

SDG

SDG

SDG

SDG

SDG

SDG6000/command

800

1000

2000X

5000

1000X

X/X-E

<channel>

no

yes

yes

yes

yes

yes

STATE

no

yes

yes

yes

yes

yes

TRMD

no

yes

yes

yes

yes

yes

EDGE

no

yes

yes

yes

yes

yes

START

Int.siglent.com

27

Programming Guide

Parameter

SDG

SDG

SDG

SDG

SDG

SDG6000/command

800

1000

2000X

5000

1000X

X/X-E

STOP
CENTER
SPAN
SWMD
DIR
TRSR
MTRIG
TRMD
CARR, WVTP
CARR, FRQ
CARR, PHSE
CARR, AMP
CARR, OFST
CARR, SYM
CARR, DUTY

3.6.2

<channel>:SWEep <switch>

DESCRIPTIONThis command sets or gets the sweep state. This command is onlyused by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep <switch><channel>:= {C1, C2}.
<switch>:= {ON, OFF}.

QUERY SYNTAX<channel>: SWEep?
<channel>:= {C1, C2}.

EXAMPLE

Set CH1 sweep state ON.
:C1:SWEep ON
Get CH1 sweep state.
:C1:SWEep?
Return:“ON”

28

int.siglent.com

Programming Guide

3.6.3<channel>:SWEep:TYPE <type>

DESCRIPTIONThis command sets or gets the sweep type. This command is onlyused by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:TYPE <type><channel>:= {C1, C2}.
<type>:= {FREQ, AMP, BOTH}.

QUERY SYNTAX<channel>: SWEep:TYPE?
<channel>:= {C1, C2}.

EXAMPLE

Set CH1 sweep type to frequency sweep.
:C1:SWEep:TYPE FREQ
Get CH1 sweep type.
:C1:SWEep:TYPE?
Return:“FREQ”

3.6.4<channel>:SWEep:SOURce <src>

DESCRIPTIONThis command sets or gets the sweep trig source. This command is
only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:SOURce <src><channel>:= {C1, C2}.
<src>:= {INT,EXT, MAN}.

QUERY SYNTAX<channel>: SWEep:SOURce?
<channel>:= {C1,C2}.

EXAMPLE

Set CH1 sweep trig source to internal.
:C1:SWEep:SOURce INT
Get CH1 sweep trig source.
:C1:SWEep:SOURce?
Return:“INT”

Int.siglent.com

29

Programming Guide

3.6.5<channel>:SWEep:FMODe <mode>

DESCRIPTIONThis command sets or gets the frequency sweep mode. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:FMODe <mode><channel>:= {C1, C2}.
<mode>:= {LINE,LOG,STEP}.

QUERY SYNTAX<channel>: SWEep:FMODe?
<channel>:= {C1, C2}.

EXAMPLE

Set CH1 frequency sweep mode to linear.
:C1:SWEep:FMODe linear.
Get CH1 frequency sweep mode.
:C1:SWEep:FMODe?
Return?
“LINE”

3.6.6<channel>:SWEep:AMODe <mode>

DESCRIPTIONThis command sets or gets the amplitude sweep mode. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:AMODe <mode><channel>:= {C1, C2}.
<mode>:= {LINE,STEP}.

QUERY SYNTAX<channel>: SWEep:AMODe?
<channel>:= {C1, C2}.

EXAMPLE

Set CH1 amplitude sweep mode to linear.
:C1:SWEep:AMODe linear.
Get CH1 sweep mode.
:C1:SWEep:AMODe?
Return,“LINE”

30

int.siglent.com

Programming Guide

3.6.7<channel>:SWEep:FSNumber <value>

DESCRIPTIONThis command sets or gets the frequency sweep step number. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:FSNumber <value><channel>:= {C1, C2}.
<value>:= integral number between 2 and 1024.

QUERY SYNTAX<channel>: SWEep: FSNumber?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 frequency sweep step number to 10:C1:SWEep:FSNumber 10
Gets CH1 frequency sweep step number:C1:SWEep:FSNumber?
Return:
“10”

3.6.8

<channel>:SWEep:ASNumber <value>

DESCRIPTIONThis command sets or gets the amplitude sweep step number. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:ASNumber <value><channel>:= {C1, C2}.
<value>:= integral number between 2 and 1024

QUERY SYNTAX<channel>: SWEep: ASNumber?
<channel>:= {C, C2}.

EXAMPLE

Sets CH1 amplitude sweep step number to 10:C1:SWEep:ASNumber 10
Gets CH1 amplitude sweep step number:C1:SWEep:ASNumber?
Return:“10”Int.siglent.com

31

Programming Guide

3.6.9<channel>:SWEep:TIME <value>

DESCRIPTIONThis command sets or gets the sweep time. This command is onlyused by the SDG7000A..

COMMAND SYNTAX<channel>:SWEep:TIME <value><channel>:= {C1, C2}.
<value>:= floating number with second unit

QUERY SYNTAX<channel>: SWEep:TIME?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep time to 10 seconds.
:C1:SWEep:TIME 10
Gets CH1 sweep time
:C1:SWEep:TIME?
Return:“10”

3.6.10<channel>:SWEep:SHTime <value>

DESCRIPTIONThis command sets or gets the sweep start hold time. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:SHTime <value><channel>:= {C1, C2}.
<value>:= floating number with second unit

QUERY SYNTAX<channel>: SWEep:SHTime?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep start hold time to 100 milliseconds.
:C1:SWEep:SHTime 0.1
Gets CH1 sweep start hold time
:C1:SWEep:SHTime?
Return:“0.1”

32

int.siglent.com

Programming Guide

3.6.11<channel>:SWEep:EHTime <value>

DESCRIPTIONThis command sets or gets the sweep end hold time. This commandis only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:EHTime <value><channel>:= {C1, C2}.
<value>:= floating number with second unit

QUERY SYNTAX<channel>: SWEep:EHTime?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep end hold time to 100 milliseconds.
:C1:SWEep:EHTime 0.1
Gets CH1 sweep end hold time
:C1:SWEep:EHTime?
Return:“0.1”

3.6.12<channel>:SWEep:RTIMe <value>

DESCRIPTIONThis command sets or gets the sweep return time. This command is
only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:RTIMe <value><channel>:= {C1, C2}.
<value>:= floating number with second unit

QUERY SYNTAX<channel>: SWEep:RTIMe?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep return time to 100 milliseconds.
:C1:SWEep:RTIMe 0.1
Gets CH1 sweep return time
:C1:SWEep:RTIMe?
Return:“0.1”

Int.siglent.com

33

Programming Guide

3.6.13<channel>:SWEep:SFRequency <value>

DESCRIPTIONThis command sets or gets the sweep start frequency. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:SFRequency <value><channel>:= {C1, C2}.
<value>:= floating number with hertz unit

QUERY SYNTAX<channel>: SWEep:SFRequency?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep start frequency to 1kHz
:C1:SWEep:SFRequency 1000
Gets CH1 sweep start frequency.
:C1:SWEep:SFRequency?
Return:“1000”

3.6.14<channel>:SWEep:EFRequency <value>

DESCRIPTIONThis command sets or gets the sweep stop frequency. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:EFRequency <value><channel>:= {C1, C2}.
<value>:= floating number with hertz unit

QUERY SYNTAX<channel>: SWEep:EFRequency?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep stop frequency to 9kHz
:C1:SWEep:EFRequency 9000
Gets CH1 sweep stop frequency.
:C1:SWEep:EFRequency?
Return:“9000”

34

int.siglent.com

Programming Guide

3.6.15<channel>:SWEep:CFRequency <value>

DESCRIPTIONThis command sets or gets the sweep center frequency. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:CFRequency <value><channel>:= {C1, C2}.
<value>:= floating number with hertz unit

QUERY SYNTAX<channel>: SWEep:CFRequency?
<channel>:= {C1, C2}..

EXAMPLE

Sets CH1 sweep center frequency to 5kHz
:C1:SWEep:CFRequency 5000
Gets CH1 sweep center frequency.
:C1:SWEep:CFRequency?
Return:“5000”

3.6.16<channel>:SWEep:FSPan <value>

DESCRIPTIONThis command sets or gets the sweep frequency span. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:FSPan <value><channel>:= {C1, C2}.
<value>:= floating number with hertz unit

QUERY SYNTAX<channel>: SWEep:FSPan?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep frequency span to 8kHz
:C1:SWEep:FSPan 8000
Gets CH1 sweep frequency span.
:C1:SWEep:FSPan?
Return:“8000”

Int.siglent.com

35

Programming Guide

3.6.17<channel>:SWEep:SAMPlitude <value>

DESCRIPTIONThis command sets or gets the sweep start amplitude. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:SAMPlitude <value><channel>:= {C1, C2}.
<value>:= floating number with volt unit

QUERY SYNTAX<channel>: SWEep:SAMPlitude?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep start amplitude to 100mv:C1:SWEep:SAMPlitude 0.1
Gets CH1 sweep start amplitude.
:C1:SWEep:SAMPlitude?
Return:“0.1”

3.6.18<channel>:SWEep:EAMPlitude <value>

DESCRIPTIONThis command sets or gets the sweep stop amplitude. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:EAMPlitude <value><channel>:= {C1, C2}.
<value>:= floating number with volt unit

QUERY SYNTAX<channel>: SWEep:EAMPlitude?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep stop amplitude to 900mv:C1:SWEep:EAMPlitude 0.9
Gets CH1 sweep stop amplitude.
:C1:SWEep:EAMPlitude?
Return:“0.9”

36

int.siglent.com

Programming Guide

3.6.19<channel>:SWEep:CAMPlitude <value>

DESCRIPTIONThis command sets or gets the sweep center amplitude. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:CAMPlitude <value><channel>:= {C1, C2}.
<value>:= floating number with volt unit

QUERY SYNTAX<channel>: SWEep:CAMPlitude?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep center amplitude to 500mv:C1:SWEep:CAMPlitude 0.5
Gets CH1 sweep center amplitude.
:C1:SWEep:CAMPlitude?
Return:“0.5”

3.6.20<channel>:SWEep:ASPan <value>

DESCRIPTIONThis command sets or gets the sweep amplitude span. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:ASPan <value><channel>:= {C1, C2}.
<value>:= floating number with volt unit

QUERY SYNTAX<channel>: SWEep:ASPan?
<channel>:= {C1, C2}..

EXAMPLE

Sets CH1 sweep amplitude span to 800mv:C1:SWEep:ASPan 0.8
Gets CH1 sweep amplitude span.
:C1:SWEep:ASPan?
Return:“0.8”

Int.siglent.com

37

Programming Guide

3.6.21<channel>:SWEep:FDIRection <direction>

DESCRIPTIONThis command sets or gets the frequency sweep direction. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:FDIRection <direction><channel>:= {C1, C2}.
<direction>:= {UP, DOWN, UP_DOWN}.

QUERY SYNTAX<channel>: SWEep:FDIRection?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 frequency sweep direction up.
:C1:SWEep:FDIRection UP
Gets CH1 frequency sweep direction.
:C1:SWEep:FDIRection?
Return:“UP”

3.6.22<channel>:SWEep:ADIRection <direction>

DESCRIPTIONThis command sets or gets the amplitude sweep direction. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:ADIRection <direction><channel>:= {C1, C2}.
<direction>:= {UP, DOWN, UP_DOWN}.

QUERY SYNTAX<channel>: SWEep:ADIRection?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 amplitude sweep direction up.
:C1:SWEep:ADIRection UP
Gets CH1 amplitude sweep direction.
:C1:SWEep:ADIRection?
Return:“UP”

38

int.siglent.com

Programming Guide

3.6.23<channel>:SWEep:FSYMmetry <value>

DESCRIPTIONThis command sets or gets the frequency sweep symmetry when
direction is UP_DOWN. This command is only used by the
SDG7000A.

COMMAND SYNTAX<channel>:SWEep:FSYMmetry <value><channel>:= {C1, C2}.
<value>:= floating number between 0 an 100.

QUERY SYNTAX<channel>: SWEep:FSYMmetry?
<channel>:= {C1, C2}.

EXAMPLE

Sets symmetry to 50% when CH1 frequency sweep direction is
UP_DOWN:C1:SWEep:FSYMmetry 50
Gets symmetry value when CH1 frequency sweep direction is
UP_DOWN.
:C1:SWEep:FSYMmetry?
Return:“50”

3.6.24<channel>:SWEep:ASYMmetry <value>

DESCRIPTIONThis command sets or gets the amplitude sweep symmetry when
direction is UP_DOWN. This command is only used by the
SDG7000A.

COMMAND SYNTAX<channel>:SWEep:ASYMmetry <value><channel>:= {C1, C2}.
<value>:= floating number between 0 an 100.

QUERY SYNTAX<channel>: SWEep:ASYMmetry?
<channel>:= {C1, C2}.

EXAMPLE

Sets symmetry to 50% when CH1 amplitude sweep direction is
UP_DOWN:C1:SWEep:ASYMmetry 50
Gets symmetry value when CH1 amplitude sweep direction is
UP_DOWN.

Int.siglent.com

39

Programming Guide:C1:SWEep:ASYMmetry?
Return:“50”

3.6.25<channel>:SWEep:TOUT <switch>

DESCRIPTIONThis command sets or gets the sweep trig out state. This commandis only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:TOUT <switch><channel>:= {C1, C2}.
<switch>:= {ON, OFF}.

QUERY SYNTAX<channel>: SWEep:TOUT?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep trig out state ON.
:C1:SWEep:TOUT ON
Gets CH1 sweep trig out state.
:C1:SWEep:TOUT?
Return:“ON”

3.6.26<channel>:SWEep:EDGe <polarity>

DESCRIPTIONThis command sets or gets the sweep external trig edge. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:EDGe <polarity><channel>:= {C1, C2}.
<polarity>:= {RISE, FALL}.

QUERY SYNTAX<channel>: SWEep:EDGe?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep external trig edge RISE
:C1:SWEep:EDGe RISE
Gets CH1 sweep external trig edge.
:C1:SWEep:EDGe?
Return:40

int.siglent.com

Programming Guide“RISE”

3.6.27<channel>:SWEep:MTRigger

DESCRIPTIONThis command trig sweep once when trig source is manual. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:MTRigger<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep trig once when trig source is manual.
:C1:SWEep:MTRigger

3.6.28<channel>:SWEep:FMARker <switch>

DESCRIPTIONThis command sets or gets the sweep frequency marker state. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:FMARker <switch><channel>:= {C1, C2}.
<switch>:= {ON, OFF}.

QUERY SYNTAX<channel>: SWEep:FMARker?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep frequency marker state ON.
:C1:SWEep:FMARker ON
Gets CH1 sweep frequency marker state:C1:SWEep:FMARker?
Return:“ON”

3.6.29<channel>:SWEep:MFRequency <value>

DESCRIPTIONThis command sets or gets the sweep marker frequency. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:MFRequency<value><channel>:= {C1, C2}.

Int.siglent.com

41

Programming Guide<value>:= floating number with hertz unit
QUERY SYNTAX<channel>: SWEep:MFRequency?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep marker frequency 5kHz.
:C1:SWEep:MFRequency 5000
Gets CH1 sweep marker frequency.
:C1:SWEep:MFRequency?
Return:“5000”

3.6.30<channel>:SWEep:MSNumber <value>

DESCRIPTIONThis command sets or gets the sweep marker step number. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:MSNumber <value><channel>:= {C1, C2}.
<value>:= integral number between 2 and 1024

QUERY SYNTAX<channel>: SWEep:MSNumber?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep marker the fifth step.
:C1:SWEep:MSNumber 5
Gets CH1 sweep marker step number.
:C1:SWEep:MSNumber?
Return:“5”

3.6.31<channel>:SWEep:CARRier:WTYPe <wave>

DESCRIPTIONThis command sets or gets the sweep carrier wave type. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:CARRier:WTYPe <wave><channel>:= {C1. C2}.

42

int.siglent.com

Programming Guide<wave>:={SINE,SQUARE,RAMP,AFG}
QUERY SYNTAX<channel>: SWEep:CARRier:WTYPe?
<channel>:= {C1, C2}.

EXAMPLE

Sets CH1 sweep carrier wave type sine.
:C1:SWEep:CARRier:WTYPe SINE
Gets CH1 sweep carrier wave type.
:C1:SWEep:CARRier:WTYPe?
Return:“SINE”

3.6.32<channel>:SWEep:CARRier:FREQuency <value>

DESCRIPTIONThis command sets or gets the sweep carrier wave frequency. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:CARRier:FREQuency <value><channel>:= {C1, C2}.
<value>:= floating number with hertz unit

QUERY SYNTAX<channel>: SWEep:CARRier:FREQuency?
<channel>:={C1, C2}.

EXAMPLE

Sets CH1 sweep carrier wave frequency 1MHz.
:C1:SWEep:CARRier:FREQuency 1000000
Gets CH1 sweep carrier wave frequency.
:C1:SWEep:CARRier:FREQuency?
Return:“1000000”

3.6.33<channel>:SWEep:CARRier:PHASe <value>

DESCRIPTIONThis command sets or gets the sweep carrier wave phase. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:CARRier:PHASe <value><channel>:= {C1, C2}.

Int.siglent.com

43

Programming Guide<value>:= floating number with degree unit
QUERY SYNTAX<channel>: SWEep:CARRier:PHASe?
<channel>:={C1, C2}.

EXAMPLE

Sets CH1 sweep carrier wave phase 90°.
:C1:SWEep:CARRier:PHASe 90
Gets CH1 sweep carrier wave phase.
:C1:SWEep:CARRier:PHASe?
Return:“90”

3.6.34<channel>:SWEep:CARRier:PAMPlitude <value>

DESCRIPTIONThis command sets or gets the sweep carrier wave amplitude by
Vpp. This command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:CARRier:PAMPlitude <value><channel>:= {C1, C2}.
<value>:= floating number with volt unit

QUERY SYNTAX<channel>: SWEep:CARRier:PAMPlitude?
<channel>:={C1, C2}.

EXAMPLE

Sets CH1 sweep carrier wave amplitude 4Vpp.
:C1:SWEep:CARRier:PAMPlitude 4
Gets CH1 sweep carrier wave amplitude by Vpp.
:C1:SWEep:CARRier:PAMPlitude?
Return:“4”

3.6.35<channel>:SWEep:CARRier:RAMPlitude <value>

DESCRIPTIONThis command sets or gets the sweep carrier wave amplitude byVrms. This command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:CARRier:RAMPlitude <value><channel>:= {C1, C2}.

44

int.siglent.com

Programming Guide<value>:= floating number with unit Vrms.
QUERY SYNTAX<channel>: SWEep:CARRier:RAMPlitude?
<channel>:={C1, C2}.

EXAMPLE

Sets CH1 sweep carrier wave amplitude 1.414Vrms.
:C1:SWEep:CARRier:RAMPlitude 1.414
Gets CH1 sweep carrier wave amplitude by Vrms.
:C1:SWEep:CARRier:RAMPlitude?
Return:“1.414”3.6.36<channel>:SWEep:CARRier:OFFSet <value>

DESCRIPTIONThis command sets or gets the sweep carrier wave offset. This
command is only used by the SDG7000A.

COMMAND SYNTAX<channel>:SWEep:CARRier:OFFSet <value><channel>:= {C1, C2}.
<value>:= floating number with volt unit.

QUERY SYNTAX<channel>: SWEep:CARRier:OFFSet?
<channel>:={C1, C2}.

EXAMPLE

Sets CH1 sweep carrier wave offset 2V.
:C1:SWEep:CARRier:OFFSet 2
Gets CH1 sweep carrier wave offset.
:C1:SWEep:CARRier:OFFSet?
Return:“2”

3.6.37<channel>:SWEep:CARRier:SYMMetry <value>

DESCRIPTIONThis command sets or gets the sweep carrier wave symmetry when
carrier wave type is ramp. This command is only used by the
SDG7000A.

COMMAND SYNTAX<channel>:SWEep:CARRier:SYMMetry <value>

Int.siglent.com

45

Programming Guide<channel>:= {C1, C2}.
<value>:= floating number between 0 an 100.
QUERY SYNTAX<channel>: SWEep:CARRier:SYMMetry?
<channel>:= {C1, C2}.

EXAMPLE

Sets symmetry to 50% when CH1 sweep carrier wave type is ramp.
:C1:SWEep:CARRier:SYMMetry 50
Gets symmetry value when CH1 sweep carrier wave type is ramp.
:C1:SWEep:CARRier:SYMMetry?
Return:“50”

3.6.38<channel>:SWEep:CARRier:DUTY <value>

DESCRIPTIONThis command sets or gets the sweep carrier wave duty when
carrier wave type is square. This command is only used by the
SDG7000A.

COMMAND SYNTAX<channel>:SWEep:CARRier:DUTY <value><channel>:= {C1, C2}.
<value>:= floating number between 0 an 100.

QUERY SYNTAX<channel>: SWEep:CARRier:DUTY?
<channel>:= {C1, C2}.

EXAMPLE

Sets duty to 50% when CH1 sweep carrier wave type is square.
:C1:SWEep:CARRier:DUTY 50
Gets duty value when CH1 sweep carrier wave type is square.
:C1:SWEep:CARRier:DUTY?
Return:“50”

3.7

Burst Wave Command

DESCRIPTION

46

This command sets or gets the burst wave parameters.

int.siglent.com

Programming Guide

COMMAND SYNTAX<channel>:BursTWaVe <parameter>,<value><channel>:= {C1, C2}.
<parameter>:= {a parameter from the table below}.
<value>:= {value of the corresponding parameter}.

Parameters

Value

Description

STATE<state>:= {ON, OFF}. Enable or disable burst.
STATE must be set to ON before you set or read otherparameters of the burst.

PRD<period>:= burst period. Refer to the datasheet for the range ofvalid values. The unit is seconds “s” Not valid when:
Carrier is NOISEGATE_NCYC is GATE (except the "X" series)
TRSR is EXT

STPS<start_phase>:= {0 to 360}. Start phase of the carrier. The unit is"degree". Not valid when the carrier is NOISE or PULSE.

GATE_NCYC<burst_mode>:= {GATE, NCYC}. Burst mode. Not valid when the carrier
is NOISE.

TRSR<trig_src>:= {EXT, INT, MAN}. Trigger source. EXT refers toExternal, INT refers to Internal and MAN refers to Manual.

MTRIG:= send a manual trigger. Only when TRSR is MAN, theparameter is valid.

DLAY<delay>:= trigger delay. The unit is seconds "s". Refer to thedatasheet for the range of valid values. Available when
GATE_NCYC is NCYC. Not valid when the carrier is
NOISE.

PLRT<polarity>:= {NEG, POS}. Gate polarity. Negative or Positive.

TRMD<trig_mode>:= {RISE, FALL, OFF}. Trigger out mode. Available when
GATE_NCYC is NCYC and TRSR is INT or MAN. Not
valid when the carrier is NOISE.

EDGE<edge>:={RISE, FALL}. Available trigger edge. Only valid when
TRSR is EXT or MAN.

EDGE

<edge>:= { RISE, FALL}. Available trigger edge. Available when
GATE_NCYC is NCYC and TRSR is EXT. Not valid when
the carrier is NOISE.

TIME<circle_ time>:={INF, 1, 2,..., M}, where M is the maximum supported
Ncycle number which depends on the model; INF sets theburst to Infinite mode.
Available when GATE_NCYC is NCYC. Not valid when
the carrier is NOISE.

COUNT<counter>:=Burst count, Only valid when TRSR is EXT or MAN.

CARR,
WVTP

<wave type>:= {SINE, SQUARE, RAMP, ARB, PULSE, NOISE}.
Carrier waveform type.

Int.siglent.com

47

Programming Guide

CARR, FRQ

<frequency>:= carrier frequency. The unit is Hertz "Hz". Refer to thedatasheet for the range of valid values.

CARR, PHSE

<phase>:= {0 to 360}. Carrier phase. The unit is "degree".

CARR, AMP

<amplitude>:= carrier amplitude. The unit is volts, peak-to-peak "Vpp".
Refer to the datasheet for the range of valid values.

CARR, OFST

<offset>:= carrier offset. The unit is volts "V". Refer to thedatasheet for the range of valid values.

CARR, SYM

<symmetry>:= {0 to 100}. Carrier symmetry when the carrier is RAMP.
The unit is "%".

CARR, DUTY

<duty>:= {0 to 100}. Carrier duty cycle when the carrier is
SQUARE or PULSE. The unit is "%".

CARR, RISE

<rise>:= rise time when the carrier is PULSE. The unit isseconds "s". Refer to the datasheet for the range of valid
values.

CARR, FALL

<fall>:= fall time when the carrier is PULSE. The unit is seconds"s". Refer to the datasheet for the range of valid values.

CARR, DLY

<delay>:= pulse delay when the carrier is PULSE. The unit isseconds “s”. Refer to the datasheet for the range of valid
values.

CARR,
STDEV

<stdev>:= standard deviation of NOISE. The unit is volts “V”.
Refer to the datasheet for the range of valid values.

CARR,
MEAN

<mean>:= mean of NOISE. The unit is volts “V”. Refer to thedatasheet for the range of valid values.

QUERY SYNTAX<channel>:BTWV(BursTWaVe)?
<channel>:={C1, C2}RESPONSE FORMAT<channel>:BTWV <parameter><parameter>:={All parameters of the current burst wave.}

EXAMPLE

Set CH1 burst state to ON
C1:BTWV STATE,ON
Set CH1 burst period to 1 s.
C1:BTWV PRD,1
Set CH1 burst delay to 1 s
C1:BTWV DLAY,1
Set CH1 burst to infinite
C1:BTWV TIME,INF
Read CH2 burst parameters when the STATE is ON.

48

int.siglent.com

Programming Guide

C2:BTWV?
Return:C2:BTWV STATE,ON,PRD,0.01S,STPS,0,TRSR,INT,
TRMD,OFF,TIME,1,DLAY,2.4e-07S,GATE_NCYC,NCYC,
CARR,WVTP,SINE,FRQ,1000HZ,AMP,4V,OFST,0V,PHSE,0
Read CH2 burst parameters when the STATE is OFF.
C2:BTWV?
Return:C2:BTWV STATE,OFF

Note: The table below shows the availability of some command parameters in each SDG series.
Parameter

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A<channel>

no

yes

yes

yes

yes

yes

yes

TRMD

no

yes

yes

yes

yes

yes

yes

EDGE

no

yes

yes

yes

yes

yes

yes

CARR, DLY

yes

yes

yes

yes

yes

yes

yes

CARR, RISE

yes

no

yes

yes

yes

yes

yes

CARR, FALL

yes

no

yes

yes

yes

yes

yes

/command

3.8

Parameter Copy Command

DESCRIPTIONThis command copies parameters from one channel to another.

COMMAND SYNTAXParaCoPy <destination_channel>,<src_channel>< destination_channel>:= {C1, C2}.
<src_channel>:= {C1, C2}.
Note: the parameters C1 and C2 must be set to the device
together.

EXAMPLE

Copy parameters from CH1 to CH2.
PACP C2,C1

Note: The table below shows the availability of the command in each SDG series.

Int.siglent.com

49

Programming Guide

Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

yes

yes

yes

yes

yes

yes

PACP

3.9
3.9.1

Arbitrary Wave Command
Arbitrary Wave Switch Command

DESCRIPTIONThis command sets and gets the arbitrary waveform type.
Note: The index number in the command syntax and the
response format of the query omits the character and directly
uses the value to represent the index number.

COMMAND SYNTAXFormat1: <channel>:ArbWaVe INDEX,<index>
Format2: <channel>:ArbWaVe NAME,<name>Format3: <channel>:ArbWaVe NAME,<path><channel>:= {C1, C2}.
<index>: the index of the arbitrary waveform from the table below.
<name>: the name of the arbitrary waveform from the tablebelow.
<path>: the path of waveformQUERY SYNTAX<channel>:ARbWaVe?
<channel>:= {C1, C2}.

RESPONSE FORMAT<channel>:ARWV INDEX,<index>,NAME,<name>

EXAMPLE

Set CH1 current waveform by index 2:
C1:ARWV INDEX,2
Read CH1 current waveform:
C1:ARWV?
Return:C1:ARWV INDEX,2,NAME,StairUp
Set CH1 current waveform to wave_1 by name.
C1:ARWV NAME,”wave_1”
Set the waveform of ch1 through the waveform path:
C1:ARWV NAME,”Local/wave1.bin”

50

int.siglent.com

Programming Guide

C1:ARWV NAME,”Local/wave2.mat”
C1:ARWV NAME,”Local/wave3.csv”
C1:ARWV NAME,”net_storage/wave4.bin”
C1:ARWV NAME,”U-disk0/wave1.bin”
NOTE

The specific path refers to the path in the file manager

RELATED COMMANDS

STL

Index

Name

Index

Name

Index

Name

Index

Name

0

Sine

51

AttALT102

LFPulse153

Duty18

1

Noise

52

RoundHalf

103

Tens1

154

Duty202

StairUp

53

RoundsPM

104

Tens2

155

Duty22

3

StairDn

54

BlaseiWave

105

Tens3

156

Duty24

4

Stairud

55

DampedOsc

106

Airy

157

Duty26

5

Ppulse56

SwingOsc

107

Besselj

158

Duty28

6

Npulse57

Discharge

108

Bessely159

Duty307

Trapezia

58

Pahcur109

Dirichlet

160

Duty32

8

Upramp59

Combin

110

Erf

161

Duty34

9

Dnramp

60

SCR

111

Erfc

162

Duty36

10

ExpFal61

Butterworth

112

ErfcInv

163

Duty38

11

ExpRise62

Chebyshev1

113

ErfInv

164

Duty4012

Logfall63

Chebyshev2

114

Laguerre

165

Duty42

13

Logrise

64

TV

115

Legend166

Duty44

14

Sqrt

65

Voice

116

Versiera

167

Duty46

15

Root3

66

Surge

117

Weibull

168

Duty48

16

X^2

67

NA

118

LogNormal

169

Duty50

17

X^3

68

Ripple119

Laplace170

Duty52

18

Sinc

69

Gamma

120

Maxwell171

Duty5419

Gaussian70

StepResp

121

Rayleigh

172

Duty5620

Dlorentz

71

BandLimited

122

Cauchy173

Duty5821

Haversine72

CPulse

123

CosH

174

Duty6022

Lorentz

73

CWPulse124

CosInt175

Duty6223

Gauspuls

74

GateVibr

125

CotH

176

Duty6424

Gmonopuls

75

LFMPulse

126

CscH

177

Duty6625

Tripuls76

MCNoise

127

SecH

178

Duty6826

Cardiac

77

AM

128

SinH

179

Duty70

27

Quake

78

FM

129

SinInt180

Duty72Int.siglent.com

51

Programming Guide

Index

Name

Index

Name

Index

Name

Index

Name

28

Chirp

79

PFM

130

TanH

181

Duty7429

Twotone

80

PM

131

ACosH

182

Duty76

30

SNR

81

PWM

132

ASecH

183

Duty7831

Hamming

82

EOG

133

ASinH

184

Duty8032

Hanning

83

EEG

134

ATanH

185

Duty8233

Kaiser

84

EMG

135

ACsch

186

Duty8434

Blackman

85

Pulseilogram

136

ACoth

187

Duty8635

Gausswin

86

ResSpeed

137

Bartlett188

Duty8836

Triang

87

ECG1

138

BohmanWin

189

Duty9037BlackmanH

88

ECG2

139

ChebWin190

Duty9238

Bartlett

89

ECG3

140

FlattopWin

191

Duty94

39

Tan

90

ECG4

141

ParzenWin

192

Duty96

40

Cot

91

ECG5

142

TaylorWin

193

Duty98

41

Sec

92

ECG6

143

TukeyWin194

Duty99

42

Csc

93

ECG7

144

Duty01

195

demo1_375

43

Asin

94

ECG8

145

Duty02

196

demo1_16k

44

Acos

95

ECG9

146

Duty04197

demo2_3k

45

Atan

96

ECG10

147

Duty06198

demo2_16k

46

Acot

97

ECG11

148

Duty0847

Square

98

ECG12

149

Duty1048

SineTra

99

ECG13

150

Duty1249

SineVer

100

ECG14

151

Duty1450

AmpALT

101

ECG15

152

Duty16

Note: The below table shows the index of built-in waveforms of different models

INDEX

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

0~46

2~198

2~198

2~198

2~198

2~198

0~198

Note: The table below shows the availability of some command parameters in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A<channel>

no

yes

yes

yes

yes

yes

yes

INDEX

yes

yes

Yes
(only builtin wave)

yes

Yes
(only builtin wave)

Yes(only built-in
wave)

Yes
(only built-in
wave)

NAME

yes

yes

Yes
(only user-

yes

Yes
(only user-

Yes(only user-

Yes(built-in or

52

int.siglent.com

Programming Guide

definedwave)

definedwave)

defined wave)
Format 2

userdefined
wave)
Format2
Format3

3.9.2

Arbitrary Wave Marker Setting Command(Only SDG7000A)DESCRIPTIONThis command sets the switch of the markers.

COMMAND SYNTAX<channel>:MSWitch <state><channel>:= {C1, C2}.
<state>:= {ON, OFF}.

QUERY SYNTAX<channel>: MSWitch?
<channel>:= {C1, C2}.

RESPONSE FORMAT<state>EXAMPLE

Turn on the marker switch of CH1.
C1:MSWItch ON
Read the state of CH1 marker switch.
C1:MSWItch?
Return:ON

DESCRIPTIONThis command sets the position of the markers.

COMMAND SYNTAX<channel>:MPOS<state><channel>:= {C1, C2}.
<value>:= {integer number at the range of the length of the
wave.}.

QUERY SYNTAX<channel>: MPOS?
<channel>:= {C1, C2}.

RESPONSE FORMAT<value>EXAMPLESet the position of marker of CH1 to 100.

Int.siglent.com

53

Programming Guide

C1:MPOS 100
Read the position of the marker of CH1.
C1:MPOS?
Return:100

3.10 Sync Command
DESCRIPTIONThis command sets the synchronization signal.

COMMAND SYNTAX<channel>:SYNC <state><channel>:= {C1, C2}.
<state>:= {ON, OFF}.
SYNC TYPE, <TYPE><TYPE>:={CH1,CH2,MOD_CH1,MOD_CH2}.

QUERY SYNTAX<channel>:SYNC?
<channel>:= {C1, C2}.

RESPONSE FORMAT<channel>:SYNC <state>

EXAMPLE

Turn on sync output and set the source as modulating signal of
CH1:
C1:SYNC ON,TYPE,MOD_CH1
Read the state of CH1 sync.
C1:SYNC?
Return:C1:SYNC ON,TYPE,MOD_CH1

Note: The table below shows the availability of the command in each SDG series.
Parameter/command
SYNC

54

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

yes

yes

yes

yes

yes

yes

int.siglent.com

Programming Guide

3.11 Equal Phase Command
DESCRIPTIONThis command is used to set the phase synchronization of twochannels

COMMAND SYNTAXEQPHASERESPONSE FORMATEQPHASE <state>

EXAMPLEEQPHASE

Note: The table below shows the availability of the command in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

yes

yes

yes

yes

yes

yes

EQPHASE3.12 Number Format Command
DESCRIPTIONThis command sets or gets the number format.

COMMAND SYNTAXNumBer_ForMat PNT,<pnt>,
NumBer_ForMa SEPT,<sept><pnt>:= {Dot, Comma}. The point format.
<sept>:= {Space, Off, On}. The separator format.

QUERY SYNTAXNBFM?

RESPONSE FORMATNBFM PNT,<pnt>, SEPT,<sept>

EXAMPLESet point format to DOT:
NBFM PNT,DOT
Set separator format to ON:
NBFM SEPT,ON
Read the number format:
NBFM?
Return:Int.siglent.com

55

Programming Guide

NBFM PNT, DOT, SEPT, ON
Note: The table below shows the availability of the command in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

yes

yes

yes

yes

yes

yes

no

NBFM

3.13 Language Command
DESCRIPTIONThis command sets or gets the system language.

COMMAND SYNTAXLAnGuaGe <language><language>:= {EN,CH,RU}, where EN is English, CH is Chinese
Simplified, and RU is Russian.

QUERY SYNTAXLAnGuaGe?

RESPONSE FORMATLAGG <language>

EXAMPLESet language to English:
LAGG EN
Read language
LAGG?
Return:LAGG EN

Note: The table below shows the availability of some command parameters in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

yes

no

no

no

no

no

RU

3.14 Configuration Command
DESCRIPTION

56

This command sets or gets the power-on system setting.

int.siglent.com

Programming Guide

COMMAND SYNTAXFormat1: Sys_CFG <mode><mode>:= {DEFAULT, LAST,USER}Format2: Sys_CFG<config><filepath><config>:={USER, PRESET}<filepath>:= { The path of the configuration file stored by the user
(local, network storage, USB flash disk), including the file nameand suffix }QUERY SYNTAXSys_CFG?

RESPONSE FORMATSCFG <mode>
Sys_CFG<config><filepath>

EXAMPLESet the power-on system setting to LAST:SCFG LAST
Set boot recovery file:
SCFG USER,”net_storage/config/state.xml”
or: SCFG USER,”U-disk0/config/state.xml”
or: SCFG USER,SCFG USER,”Local/state.xml”
Set recovery file:
SCFG PRESET,”net_storage/config/state.xml”
Or: SCFG PRESET,”U-disk0/config/state.xml”
Or: SCFG PRESET,”Local/state.xml”

Note 1: the path must be included in English in double quotation marks, and the suffix ".xml" must be
added. Please refer to the file manager for specific available paths.
Note 2: Format 2 is only supported by SDG7000A

3.15 Date And Time Command
DESCRIPTIONThis command sets the date and time of the device

COMMAND SYNTAXSYST:DATE < Date >< Date >:= {Date to set, Format: yyyy/mm/dd }.

Int.siglent.com

57

Programming Guide

SYST:TIME< Time >:= { Time to set, Format: hh/mm/ss }.
QUERY SYNTAXSYST:DATE?
SYST:TIME?

EXAMPLE 1

Set the date to 2021/01/10
SYST:DATE 20210110

EXAMPLE 2

Set the time to 10:06:32
SYST:TIME 100632

Note: the following table shows the availability of some commands in different SDG series
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

no

no

no

no

no

yes

MODE

3.16 Power On Command
DESCRIPTIONThis command is used to set direct power on or key on.

COMMAND SYNTAXPOWER:ON:MODE<value>< value >:= {1, 2}.
Mode 1:Press the power on button to power on
Mode 2:Turn on the power and start it directly

QUERY SYNTAXPOWER:ON:MODE?

RESPONSE FORMAT

POWER:ON:MODE< value >EXAMPLE

Turn on the power and start it directly:
POWER:ON:MODE 2

Note: the following table shows the availability of some commands in different SDG series

58

int.siglent.com

Programming Guide

Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

no

no

no

no

no

yes

MODE

3.17 Key Command
DESCRIPTIONThis command is used to turn on or off the front panel keys.

COMMAND SYNTAXKEY<state>< state >:= {ON, OFF}.

QUERY SYNTAXKEY?

RESPONSE FORMATKEY< state >EXAMPLE

Turn on the front panel key:
KEY ON

Note: Only supported on the SDG7000A series.

3.18 Buzzer Command
DESCRIPTIONThis command turns on or off the buzzer.

COMMAND SYNTAXBUZZer <state><state>:= {ON, OFF}.

QUERY SYNTAXBUZZer?

RESPONSE FORMATBUZZ <state>

EXAMPLE

Turn on the buzzer:
BUZZ ON

Int.siglent.com

59

Programming Guide

3.19 Channel Trigger Source Setting Command
DESCRIPTIONThis command is used to set whether to trigger both channels
simultaneously when manually triggered.

COMMANDSYNTAX

COUP TRDUCH, < parameter >QUERY SYNTAXCOUP?

RESPONSE
FORMAT

COUP\sTRACE,OFF,FCOUP,OFF,PCOUP,OFF,ACOUP,OFF,TRDUCH,<
parameter >EXAMPLEWhen setting manual triggering, both channels are triggered simultaneously:< parameter >:= {ON, OFF}.

COUP TRDUCH,ON
Read the current channel trigger setting status:
COUP?
Return:COUP\sTRACE,OFF,FCOUP,OFF,PCOUP,OFF,ACOUP,OFF,TRDUCH,ON\nNote: The table below shows the availability of the command in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

No

yes

no

no

no

no

COUP
TRDUCH

3.20 Screen Saver Command
DESCRIPTIONThis command sets or gets the screen saver time. The unit isminutes “m”.

COMMAND SYNTAXSCreen_SaVe <parameter><parameter>:= {OFF, 1, 5, 15, 30, 60, 120, 300}.

QUERY SYNTAXSCreen_SaVe?

RESPONSE FORMATSCSV <parameter>60

int.siglent.com

Programming Guide

EXAMPLESet screen saver time to 5 minutes:
SCSV 5
Read the current screen saver time:
SCreen_SaVe?
Return:SCSV 5MIN

Note: The table below shows the availability of the command in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

yes

yes

yes

yes

yes

yes

yes

SCSV

3.21 Clock Source Command
DESCRIPTIONThis command sets or gets the clock source.

COMMAND SYNTAXROSCillator <src><src>:= {INT, EXT}ROSCillator 10MOUT,<state><state>:={ ON,OFF }QUERY SYNTAXROSC?

RESPONSE FORMATROSC <src>,10MOUT,<state>

EXAMPLESet internal time base as the source:
ROSC INT
Enable 10MHz output:
ROSC 10MOUT,ON

Note: The table below shows the availability of the command in each SDG series.
Parameter

Int.siglent.com

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

61

Programming Guide/command
ROSC

no

yes

yes

yes

yes

yes

yes

3.22 Frequency Counter Command
DESCRIPTIONThis command sets or gets the frequency counter parameters.

COMMAND SYNTAXFreqCouNTer <parameter>,<value><parameter>:= {a parameter from the table below}.
<value>:= {value of the corresponding parameter}.

Parameters

Value

Description

STATE<state>FRQ<frequency>

PW<pos_width>

NW<neg_width>

DUTY<duty>FRQDEV<freq_dev>

REFQ<ref_freq>

Expected frequency, for calculating the frequency
deviation. The unit is Hertz “Hz”.

TRG<triglev>

Trigger level. The range of valid values depends on themodel. The unit is volts “V”.

MODE

<mode>HFR<HFR>:={ON, OFF}State of frequency counter.
Measured frequency. The unit is Hertz “Hz”.
Can’t be set.
Measured positive width. The unit is seconds “s”.
Can’t be set.
Measured negative width. The unit is seconds “s”.
Can’t be set.
Measured duty cycle. The unit is "%".
Can’t be set.
Measured frequency deviation. The unit is "ppm".
Can’t be set.

:={AC, DC}
Coupling mode.
:={ON, OFF}State of High Frequency Rejection.

QUERY SYNTAXFreqCouNTer?

RESPONSE FORMATFCNT <parameter>

62

int.siglent.com

Programming Guide<parameter>:={All parameters of the frequency counter}
EXAMPLE

Turn frequency counter on:
FCNT STATE,ON
Set reference frequency to 1000 Hz:
FCNT REFQ,1000
Query frequency counter information:
FCNT?
Return:FCNT STATE,ON,FRQ,10000000HZ,DUTY,59.8568,REFQ,
1e+07HZ,TRG,0V,PW,5.98568e-08S,NW,4.01432e08S,FRQDEV,0ppm,MODE,AC,HFR,OFF

Note: The table below shows the availability of the command in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

yes

yes

yes

yes

yes

no

FCNT

3.23 Counter Command(Only SDG7000A)
COMMAND SYNTAX:SENSe:COUNTer

DESCRIPTION

It is used to set and obtain various parameters of the counter.
See 3.23.1 ~3.23.30 for detailed commands
This command sets the counter configuration

COMMAND SYNTAXSENSe:COUNTer:CONFig: < parameter > <value>< parameter >:={ Parameters in the following table }< value >:={ Values of related parameters }parameter

value

description

STATe<state>={ OFF, ON}or{0, 1},turn on or off the counter

MODE<state>:={ FREQuency,TOTALizer }Frequency meter mode or counter mode

Int.siglent.com

63

Programming Guide

COUPLing<mode>:={AC, DC} Coupling mode

HFREJect<HFR>:={OFF,ON}or{0,1}High frequency suppression
state

TLEVel<triglev><unit>

Trigger level. The range of valid values depends
on the model. The unit is volts “V”.
< unit > := {V, mV, uV}

SEXIT<mode>={ OFF, ON}or{0, 1}

PAUSe<state>={ OFF, ON},Pause switch

QUERY SYNTAX:SENSe:COUNTer:CONFig: < parameter >?

RESPONSE FORMAT<mode>

EXAMPLESet the counter coupling mode to AC mode::SENSe:COUNTer:CONFig:COUPLing AC

DESCRIPTIONThis command sets the measurement parameters in thefrequency meter mode

COMMAND SYNTAXSENSe:COUNTer:FREQuency: < parameter > <value>< parameter >:={ Parameters in the following table }:< value >:={ Values of related parameters }.

parameter

value

description

MEASure< type ><type>:={ FREQ, PERIOD,
DUTY_CYCLe }RFREQuency<frequency><unit><unit> := {Hz, MHz, GHz}.The default
unit is Hz

QUERY SYNTAX:SENSe:COUNTer:FREQuency:MEASure[:type]?
RESPONSE FORMAT <mode>

EXAMPLESet the measurement type in frequency meter mode as period::SENSe:COUNTer:FREQuency:MEASure PERIODDESCRIPTIONThis command is used to query the measurement results in thefrequency meter mode

COMMAND SYNTAX:SENSe:COUNTer:FREQuency:

64

int.siglent.com

Programming Guide< Measurement type >:< parameter ><[type]>?>< Measurement type >:={ default, PERiod, DUTY } Frequency,
cycle and duty cycle< parameter >:={ default, SNUMBer , MEAN, MAX, MIN,
SDEViation } Real time value of measurement type, samplingtimes of measurement type, average value of measurement type,maximum value of measurement type, minimum value of
measurement type and standard deviation of measurement type< type >:={ FDEViation }. Available only when the measurement
type is frequency mode
QUERY SYNTAX:SENSe:COUNTer:FREQuency:SNUMBer?
RESPONSE FORMAT <mode>:SENSe:COUNTer:CONFig:COUPLing[:MODE] AC

DESCRIPTIONThis command is used to set the measurement parameters incounter mode

COMMAND SYNTAX:SENSe:COUNTer: TOTalizer: < parameter > < value >< parameter >:={ Parameters in the following table }< value >:={ Values of related parameters }.

parameter

value

describe

GATE:STATe< type ><state>:={ OFF, ON} or {0, 1}

EDGE<edge>< edge >:={ RISE, FALL}

GATE:MODE<mode><mode>:={LEVEL, AFTER_EDGE}

GOLarity:GATE:POLarity< polarity >< polarity >:={ NEGative, POSitive}

GOLarity:GATE:EDGE< edge >< edge >:={ RISE, FALL}

3.23.1:SENSe:COUNTer:CLEar

DESCRIPTIONThis command is used to clear the measurement results

QUERY SYNTAX:SENSe:COUNTer:CLEar

Int.siglent.com

65

Programming GuideRESPONSE FORMAT
EXAMPLE

Clear the measurement results::SENSe:COUNTer:CLEar

3.23.2:SENSe:COUNTer:FREQuency:MEASure[:type]

DESCRIPTIONThis command sets the measurement type in the frequency meter
mode

COMMAND SYNTAX:SENSe:COUNTer:FREQuency:MEASure[:type] <type><type>:={ FREQ, PERIOD, DUTY_CYCLe }QUERY SYNTAX:SENSe:COUNTer:FREQuency:MEASure?

RESPONSE FORMAT<type>

EXAMPLESet the measurement type in frequency meter mode as period::SENSe:COUNTer:FREQuency:MEASure PERIOD

NOTE

3.23.3This command is only valid in frequency meter mode

:SENSe:COUNTer:FREQuency:RFREQuency

DESCRIPTIONThis command sets the reference frequency in the frequency
meter mode

COMMAND SYNTAX:SENSe:COUNTer:FREQuency:
RFREQuency < frequency ><unit>< frequency >:= the reference frequency of frequency
meter,Please refer to the data manual for the valid range of thisparameter.
< unit > := {Hz, MHz, GHz}. The default unit is Hz

QUERY SYNTAX:SENSe:COUNTer:FREQuency:RFREQuency?

RESPONSE FORMAT< frequency > (Expressed in HZ)

66

int.siglent.com

Programming Guide

EXAMPLESet the reference frequency in the frequency meter mode to
1MHz::SENSe:COUNTer:FREQuency:RFREQuency 1MHZ

NOTE

3.23.4This command is only valid when the measurement type isfrequency in counter mode

:SENSe:COUNTer:FREQuency?

DESCRIPTIONThis command is used to query the frequency results measured
in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency?

RESPONSE FORMAT< frequency > (Expressed in Hz)

EXAMPLE

Query the frequency results measured in the frequency meter
mode::SENSe:COUNTer:FREQuency?
Return value
9999996.75781744

NOTE

3.23.5This command is only valid in frequency meter mode

:SENSe:COUNTer:FREQuency:SNUMBer?

DESCRIPTIONThis command is used to query the results of sampling times infrequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:SNUMBer?

RESPONSE FORMAT< sampling times >EXAMPLE

Query the results of sampling times in frequency meter mode::SENSe:COUNTer:FREQuency:SNUMBer?
Return value:
2294

Int.siglent.com

67

Programming Guide

NOTE

3.23.6This command is only valid in frequency meter mode

:SENSe:COUNTer:FREQuency:FDEViation?

DESCRIPTIONThis command is used to query the frequency deviation results
measured in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:FDEViation?

RESPONSE FORMAT< frequency deviation > (Expressed in ppm)

EXAMPLE

Query the frequency deviation results measured in the frequency
meter mode::SENSe:COUNTer:FREQuency:FDEViation?
Return value:-0.324020794406533

NOTE

3.23.7This command is only valid in frequency meter mode

:SENSe:COUNTer:FREQuency:MEAN?

DESCRIPTIONThis command is used to query the frequency average value
measured in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:MEAN?

RESPONSE FORMAT< frequency > (Expressed in Hz)

EXAMPLE

Query the frequency results measured in the frequency meter
mode::SENSe:COUNTer:FREQuency:MEAN?
Return value:
9999996.79101083

NOTE

68

This command is only valid in frequency meter mode

int.siglent.com

Programming Guide

Int.siglent.com

69

Programming Guide

3.23.8:SENSe:COUNTer:FREQuency:MEAN:FDEViation?

DESCRIPTIONThis command is used to query the deviation result of thefrequency average value measured in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:MEAN:FDEViation?

RESPONSE FORMAT< frequency deviation > (Expressed in ppm)

EXAMPLE

Query the deviation results of the average frequency measured in
the frequency meter mode::SENSe:COUNTer:FREQuency:MEAN:FDEViation?
Return value:-0.322511510334804

NOTE

3.23.9This command is only valid in frequency meter mode

:SENSe:COUNTer:FREQuency:MAX?

DESCRIPTIONThis command is used to query the maximum frequency
measured in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:MAX?

RESPONSE FORMAT< frequency > (Expressed in Hz)

EXAMPLE

Query the maximum frequency measured in the frequency meter
mode::SENSe:COUNTer:FREQuency:MAX?
Return value:
9999996.8775536

NOTE

70

This command is only valid in frequency meter mode

int.siglent.com

Programming Guide

3.23.10 :SENSe:COUNTer:FREQuency:MAX:FDEViation?
DESCRIPTIONThis command is used to query the maximum deviation result of
frequency measured in frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:MAX:FDEViation?

RESPONSE FORMAT< frequency deviation > (Expressed in ppm)

EXAMPLE

Query the maximum deviation result of frequency measured infrequency meter mode::SENSe:COUNTer:FREQuency:MAX:FDEViation?
Return value:-0.312244639918208

NOTE

This command is only valid in frequency meter mode

3.23.11 :SENSe:COUNTer:FREQuency:MIN?
DESCRIPTIONThis command is used to query the results of the minimum
frequency measured in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:MIN?

RESPONSE FORMAT< frequency > (Expressed in Hz)

EXAMPLE

Query the result of the minimum frequency measured in thefrequency meter mode::SENSe:COUNTer:FREQuency:MIN?
Return value:
9999996.67704201

NOTE

Int.siglent.com

This command is only valid in frequency meter mode71

Programming Guide

3.23.12 :SENSe:COUNTer:FREQuency:MIN:FDEViation?
DESCRIPTIONThis command is used to query the minimum deviation result of
frequency measured in frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:MIN:FDEViation?

RESPONSE FORMAT< frequency deviation > (Expressed in ppm)

EXAMPLE

Query the minimum deviation result of frequency measured infrequency meter mode::SENSe:COUNTer:FREQuency:MIN:FDEViation?
Return value:-0.332295799069107

NOTE

This command is only valid in frequency meter mode

3.23.13 :SENSe:COUNTer:FREQuency:SDEViation?
DESCRIPTIONThis command is used to query the frequency standard deviation
results measured in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:SDEViation?

RESPONSE FORMAT< frequency > (Expressed in Hz)

EXAMPLE

Query the frequency standard deviation results measured in thefrequency meter mode::SENSe:COUNTer:FREQuency:SDEViation?
Return value:
0.395284707521047

NOTE

72

This command is only valid in frequency meter mode

int.siglent.com

Programming Guide

3.23.14 :SENSe:COUNTe:FREQuency:SDEViation:FDEViation?
DESCRIPTIONThis command is used to query the deviation results of thefrequency standard deviation measured in the frequency meter
mode

QUERY SYNTAX:SENSe:COUNTe:FREQuency:SDEViation:FDEViation?

RESPONSE FORMAT< frequency deviation > (Expressed in ppm)

EXAMPLE

Query the deviation result of frequency standard deviation
measured in frequency meter mode::SENSe:COUNTer:FREQuency:SDEViation:FDEViation?
Return value:-0.332295799069107

NOTE

This command is only valid in frequency meter mode

3.23.15 :SENSe:COUNTer:FREQuency:PERiod?
DESCRIPTIONThis command is used to query the period results measured in
the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:PERiod?

RESPONSE FORMAT< period > (Expressed in s)

EXAMPLE

Query the period results measured in the frequency meter mode::SENSe:COUNTer:FREQuency:PERiod?
Return value:
1.00000032802047e-07

NOTE

Int.siglent.com

This command is only valid in frequency meter mode73

Programming Guide

3.23.16 :SENSe:COUNTer:FREQuency:PERiod:MEAN?
DESCRIPTIONThis command is used to query the periodic average value
measured in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:PERiod:MEAN?

RESPONSE FORMAT< period > (Expressed in s)

EXAMPLE

Query the period average value measured in the frequency meter
mode::SENSe:COUNTer:FREQuency:PERiod:MEAN?
Return value:
1.00000032802047e-07

NOTE

This command is only valid in frequency meter mode

3.23.17 :SENSe:COUNTer:FREQuency:PERiod:MAX?
DESCRIPTIONThis command is used to query the average value of the period
measured in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:PERiod:MAX?

RESPONSE FORMAT< period > (Expressed in s)

EXAMPLE

Query the maximum value of the period measured in thefrequency meter mode::SENSe:COUNTer:FREQuency:PERiod:MAX?
Return value:
1.00000033229591e-07

NOTE

74

This command is only valid in frequency meter mode

int.siglent.com

Programming Guide

3.23.18 :SENSe:COUNTer:FREQuency:PERiod:MIN?
DESCRIPTIONThis command is used to query the minimum value of the period
measured in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:PERiod:MIN?

RESPONSE FORMAT< period > (Expressed in s)

EXAMPLE

Query the minimum value of the period measured in thefrequency meter mode::SENSe:COUNTer:FREQuency:PERiod:MIN?
Return value:
1.00000031224474e-07

NOTE

This command is only valid in frequency meter mode

3.23.19 :SENSe:COUNTer:FREQuency:PERiod:SDEViation?
DESCRIPTIONThis command is used to query the standard deviation results ofthe period measured in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:PERiod:SDEViation?

RESPONSE FORMAT< period > (Expressed in s)

EXAMPLE

Query the standard deviation result of the period measured in thefrequency meter mode::SENSe:COUNTer:FREQuency:PERiod:SDEViation?
Return value:
6.52675178645049e-15

NOTE

Int.siglent.com

This command is only valid in frequency meter mode75

Programming Guide

3.23.20 :SENSe:COUNTer:FREQuency:DUTY?
DESCRIPTIONThis command is used to query the duty cycle results measured
in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:DUTY?

RESPONSE FORMAT< duty cycle > (Expressed in %)EXAMPLE

Query the duty cycle results measured in frequency meter mode::SENSe:COUNTer:FREQuency:DUTY?
Return value:
49.8178520697226

NOTE

This command is only valid in frequency meter mode

3.23.21 :SENSe:COUNTer:FREQuency:DUTY:MEAN?
DESCRIPTIONThis command is used to query the average value of the duty
cycle measured in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:DUTY:MEAN?

RESPONSE FORMAT< duty cycle > (Expressed in %)EXAMPLE

Query the average value of duty cycle measured in frequency
meter mode::SENSe:COUNTer:FREQuency:DUTY:MEAN?
Return value:
49.8204827053384

NOTE

76

This command is only valid in frequency meter mode

int.siglent.com

Programming Guide

3.23.22 :SENSe:COUNTer:FREQuency:DUTY:MAX?
DESCRIPTIONThis command is used to query the result of the maximum duty
cycle measured in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:DUTY:MAX?

RESPONSE FORMAT< duty cycle > (Expressed in %)EXAMPLE

Query the maximum value of duty cycle measured in frequency
meter mode::SENSe:COUNTer:FREQuency:DUTY:MAX?
Return value:
1.00000033229591e-07

NOTE

This command is only valid in frequency meter mode

3.23.23 :SENSe:COUNTer:FREQuency:DUTY:MIN?
DESCRIPTIONThis command is used to query the minimum value of duty cycle
measured in frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:DUTY:MIN?

RESPONSE FORMAT< duty cycle > (Expressed in %)EXAMPLE

Query the minimum value of duty cycle measured in frequency
meter mode::SENSe:COUNTer:FREQuency:DUTY:MIN?
Return value:49.8071405616451

NOTE

Int.siglent.com

This command is only valid in frequency meter mode77

Programming Guide

3.23.24 :SENSe:COUNTer:FREQuency:DUTY:SDEViation?
DESCRIPTIONThis command is used to query the standard deviation results ofthe duty cycle measured in the frequency meter mode

QUERY SYNTAX:SENSe:COUNTer:FREQuency:DUTY:SDEViation?

RESPONSE FORMAT< duty cycle > (Expressed in %)EXAMPLE

Query the results of periodic standard deviation measured infrequency meter mode::SENSe:COUNTer:FREQuency:DUTY:SDEViation?
Return value:
0.00505753455971934

NOTEThis command is only valid in frequency meter mode

3.23.25 :SENSe:COUNTer:TOTalizer:GATE:STATeDESCRIPTIONThis command is used to set the gating state of the totalizer in the
totalizer mode

COMMAND SYNTAX:SENSe:COUNTer:TOTalizer:GATE:STATe <state><state>:={ OFF, ON}or{0, 1}

QUERY SYNTAX:SENSe:COUNTer:TOTalizer:GATE:STATe?

RESPONSE FORMAT<state>EXAMPLESet the counter gating status in totalizer mode to on::SENSe:COUNTer:TOTalizer:GATE:STATe ON

NOTE

78

This command is only valid when the counter mode is totalizer

int.siglent.com

Programming Guide

3.23.26 :SENSe:COUNTer:TOTalizer:EDGEDESCRIPTIONThis command is used to set the type of totalizer trigger edge intotalizer mode

COMMAND SYNTAX:SENSe:COUNTer:TOTalizer:EDGE < edge >< edge >:={ RISE, FALL}QUERY SYNTAX:SENSe:COUNTer:TOTalizer:EDGE?

RESPONSE FORMAT< edge >EXAMPLESet the trigger edge type of totalizer in totalizer mode as rising edge::SENSe:COUNTer:TOTalizer:EDGE RISENOTEThis command is only valid when the counter mode is totalizer

3.23.27 :SENSe:COUNTer:TOTalizer:GATE:MODE
DESCRIPTIONThis command is used to set the totalizer gating mode in totalizer
mode

COMMAND SYNTAX:SENSe:COUNTer:TOTalizer:GATE:MODE < mode >< mode >:={ LEVEL, AFTER_EDGE}QUERY SYNTAX:SENSe:COUNTer:TOTalizer:GATE:MODE?

RESPONSE FORMAT<state>EXAMPLESet the totalizer gating mode to level mode
:SENSe:COUNTer:TOTalizer:GATE:MODE LEVEL

NOTEInt.siglent.com

This command is only valid when the counter mode is totalizer

79

Programming Guide

3.23.28 :SENSe:COUNTer:TOTalizer:GOLarity:GATE:POLarity
DESCRIPTIONThis command is used to set the totalizer gating polarity in totalizer
mode

COMMAND SYNTAX:SENSe:COUNTer:TOTalizer:GATE:POLarity < polarity >< polarity >:={ NEGative, POSitive}QUERY SYNTAX:SENSe:COUNTer:TOTalizer:GATE:POLarity?

RESPONSE FORMAT< polarity >EXAMPLESet the gating polarity of the counter to positive::SENSe:COUNTer:TOTalizer:GATE:POLarity POSitive

NOTE

This command is only valid when the counter mode is totalizer

3.23.29 :SENSe:COUNTer:TOTalizer:GOLarity:GATE:EDGEDESCRIPTIONThis command is used to set the totalizer gating edge in totalizer
mode

COMMAND SYNTAX:SENSe:COUNTer:TOTalizer:GATE:EDGE < edge >< edge >:={ RISE, FALL}QUERY SYNTAX:SENSe:COUNTer:TOTalizer:GATE:EDGE?

RESPONSE FORMAT< edge >EXAMPLESet the gating edge of the totalizer as the rising edge::SENSe:COUNTer:TOTalizer:GATE:EDGE RISE

NOTE

80

This command is only valid when the counter mode is totalizer

int.siglent.com

Programming Guide

3.23.30 :SENSe:COUNTer:TOTalizer?
DESCRIPTIONThis command is used to query the cumulative value results
measured in totalizer mode

QUERY SYNTAX:SENSe:COUNTer:TOTalizer?

RESPONSE FORMAT< totalize >(Expressed in hits)

EXAMPLE

Query cumulative value results measured in totalizer mode
:SENSe:COUNTer:TOTalizer?
Return value:
13364879033

NOTE

Int.siglent.com

This command is only valid when the counter mode is totalizer

81

Programming Guide

3.24 Invert Command
DESCRIPTIONThis command sets or gets the polarity of specified channel.

COMMAND SYNTAX<channel>:INVerT <state><channel>:= {C1, C2}.
<state>:= {ON, OFF}.

QUERY SYNTAX<channel>:INVerT?
<channel>:={C1, C2}.

RESPONSE FORMAT<channel>:INVT <state>

EXAMPLE

Set CH1 polarity to invert
C1:INVT ON
Read the polarity of CH1.
C1:INVT?
Return:C1:INVT ON

Note: The table below shows the availability of some command parameters in each SDG series.
Parameter/command<channel>

82

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

yes

yes

yes

yes

yes

yes

int.siglent.com

Programming Guide

3.25 Digital Filter Command
DESCRIPTIONThis command is used to set the switching and cut-off frequency ofthe digital filter.

COMMAND SYNTAX<channel>:FILTer< parameter >,<value>< parameter >:={ Parameters in the following table}.
< value >:={Values of related parameters}.

parameters

value

description

STATE<state>:={ON, OFF} Digital filter status

COFF_FRQ<cutoff_freq>:={ Device bandwidth },The unit is Hertz ‘Hz”, used to
set the cut-off frequency of the digital filter

QUERY SYNTAX< channel > FILTer?
< channel >:={C1,C2}.

RESPONSE FORMAT< channel >: FILT < parameter >,< value >EXAMPLESet the digital filter of CH1 on:
C1:FILT STATE,ON
Set the cut-off frequency of the digital filter of CH1 to 200 MHz:
C1:FILT COFF_FRQ,200000000
Query the digital filter information of CH1:
C1:FILT?
Return value:
STATE,OFF,COFF_FRQ,350000000HZ

Note: the following table shows the availability of some commands in different SDG series
Parameters

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

STATE

no

no

no

no

no

no

yes

COFF_FRQ

no

no

no

no

no

no

yes

/Commands

Int.siglent.com

83Programming Guide

3.26 Coupling Command
DESCRIPTIONThis command sets or gets the channel coupling parameters.
Only when TRACE is set to OFF, the other coupling parameters
can be set.

COMMAND SYNTAXCOUPling <parameter>,<value><parameter>:= {a parameter from the table below}.
<value>:={value of the corresponding parameter}.

Parameters

Value

Description

TRACE<track_enble>:= {ON, OFF}STATE

<state>BSCH<bsch>

FCOUP<fcoup>

FDEV<frq_dev>:= frequency deviation between the 2 channels. The unit is
Hertz “Hz”.

FRAT<frat>:= frequency ratio between the 2 channels.

PCOUP<pcoup>

PDEV<pha_dev>

PRAT<prat>

ACOUP<acoup>ARAT<arat>:= amplitude ratio between the 2 channels.

ADEV<adev>:= amplitude deviation between the 2 channels. The unit is
volts, peak-to-peak “Vpp”.

State of channel tracking.
:= {ON, OFF}State of channel coupling.
:= {CH1,CH2}Base channel.
:= {ON, OFF}State of frequency coupling:={ON, OFF}State of phase coupling:= phase deviation between the 2 channels. The unit isdegree “°”.
:= phase ratio between the 2 channels.
:= {ON, OFF}State of amplitude coupling

QUERY SYNTAXCOUPling?

RESPONSE FORMAT

COUP <parameter><parameter>:= { All parameters of coupling}.

84

int.siglent.com

Programming Guide

EXAMPLESet coupling state to ON:
COUP STATE,ON
Set frequency coupling state to ON:
COUP FCOUP,ON
Set frequency deviation to 5 Hz:
COUP FDEV,5
Query coupling information.
COUP?
Return:
COUP TRACE,OFF,FCOUP,ON,PCOUP,ON,ACOUP,ON,FDEV,
5HZ,PRAT,1,ARAT,2

Note: The table below shows the availability of the command and some parameters in each SDG
series.
Parameter

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

COUP

no

yes

yes

yes

yes

yes

yes

TRACE

no

no

yes

no

yes

yes

yes

STATE

no

yes

no

yes

no

no

no

BSCH

no

yes

no

yes

no

no

no

FCOUP

no

no

yes

no

yes

yes

yes

FRAT

no

no

Yes

no

yes

yes

yes

PCOUP

no

no

Yes

no

yes

yes

yes

PRAT

no

no

Yes

no

yes

yes

yes

ACOUP

no

no

Yes

no

yes

yes

yes

ARAT

no

no

Yes

no

yes

yes

yes

ADEV

no

no

yes

no

yes

yes

yes

/command3.27 Over-Voltage Protection Command
DESCRIPTIONThis command sets or gets the state of over-voltage protection.

COMMAND SYNTAXVOLTPRT <state><state>:= {ON, OFF}Int.siglent.com

85

Programming GuideQUERY SYNTAXVOLTPRT?

RESPONSE FORMAT

VOLTPRT <state>

Note: The table below shows the availability of the command in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

yes

yes

no

yes

yes

yes

VOLTPRT

3.28 Over-Current Protection Command
DESCRIPTIONThis command sets or gets the state of over-current protection.

COMMAND SYNTAXCURRPRT< state >< state >:= {ON,OFF}QUERY SYNTAXCURRPRT?

RESPONSE FORMATCURRPRT < state >Note: The table below shows the availability of the command in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

yes

yes

no

yes

yes

yes

CURRPRT

3.29 Overload Status Query Command
DESCRIPTIONThis command is used to obtain the current overload status(overvoltage, overcurrent, none)

COMMAND SYNTAXVOLTSTAT?

QUERY SYNTAXVOLTSTAT?

Note: The table below shows the availability of the command in each SDG series.
86

int.siglent.com

Programming Guide

Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

yes

yes

no

yes

yes

yes

VOLTSTAT?

3.30 Output SkewDESCRIPTIONThis command is used toset or query output skew.

COMMAND SYNTAX<channel>:OUTPut:SKEW <value>< channel >={C1,C2}< value >={-0.2 to 0.2},unit “ns”

QUERY SYNTAX< channel >:OUTPut:SKEW?
< channel >={C1,C2}RESPONSE FORMAT< value >< value >:={ The value of the current channel setting }EXAMPLESet the output skew of C1 to 0.2ns:
C1:OUTPut:SKEW 0.2e-9
Query the output skew of C1:
C1:OUTPut:SKEW?
Return value:
2e-10

Note: The table below shows the availability of the command in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

no

no

no

no

no

yes

3.31 Store List Command
DESCRIPTION

Int.siglent.com

This command is used to read the stored waveforms list with indexes
and names. If the storage unit is empty, the command will return“EMPTY”

87Programming GuideQUERY SYNTAXFormat1: SToreList?
Format2: SToreList? <parameter>< parameter >=:{ Parameters in the following table }Format3: SToreList? <USER>,<path>< path >=:{ Specify the path of network storage or USB flash disk, asshown in the table below }RESPONSE FORMAT<waveform name>parameterfunction

BUILDIN< parameter >Query built-in waveform name andindex number

USER< parameter >Query locally saved waveform namePath (for example only, you
can specify any path under the
network storage or USB flash
disk directory)

function“net_storage/wave”< path >Query the waveform name saved
under the network storage path“U-disk0/wave”< path >Query the waveform name saved in
the path of USB flash disk 0“U-disk1/wave”< path >Query the waveform name saved in
the path of USB flash disk 1“U-disk2/wave”< path >Query the waveform name saved in
the path of USB flash disk 2

EXAMPLE(1) Read all arbitrary wave names saved in the device (excluding
network storage and data in USB flash disk):
STL?
Return:
STL M0, sine, M1, noise, M2, stairup, M3, stairdn, M4, stairud,
M5, ppulse, M6, npulse, M7, trapezia, M8, upramp, M9, dnramp,
M10, exp_fall, M11, exp_rise, M12, logfall, M13, logrise, M14,
sqrt, M15, root3, M16, x^2, M17, x^3, M18, sinc, M19, gaussian,
M20, dlorentz, M21, haversine, M22, lorentz, M23, gauspuls, M24,
gmonopuls, M25, tripuls, M26, cardiac, M27, quake, M28, chirp, M29,
twotone, M30, snr, M31, EMPTY, M32, EMPTY, M33, EMPTY, M34,
hamming, M35, hanning, M36, kaiser, M37, blackman, M38,

88

int.siglent.com

Programming Guide

gaussiwin, M39, triangle, M40, blackmanharris, M41, bartlett, M42,tan, M43, cot, M44, sec, M45, csc, M46, asin, M47, acos, M48, atan,
M49, acot, M50, EMPTY, M51, EMPTY, M52, EMPTY, M53,
DDROPOUT, M54, FCLK1, M55, FSDA1, M56, EMPTY, M57,
EMPTY, M58, EMPTY, M59, EMPTY(2) Read the built-in waveform name saved in the device:
STL? BUILDIN
Return:
STL M10, ExpFal, M100, ECG14, M101, ECG15, M102, LFPulse,
M103, Tens1, M104, Tens2, M105, Tens3, M106, Airy, M107, Besselj,
M108, Bessely, M109, Dirichlet, M11, ExpRise, M110, Erf, M111, Erfc,
M112, ErfcInv, M113, ErfInv, M114, Laguerre, M115, Legend, M116,
Versiera, M117, Weibull, M118, LogNormal, M119, Laplace, M12,
LogFall, M120, Maxwell, M121, Rayleigh, M122, Cauchy, M123,
CosH, M124, CosInt, M125, CotH, M126, CscH, M127, SecH, M128,
SinH, M129, SinInt, M13, LogRise, M130, TanH, M131, ACosH,
M132, ASecH, M133, ASinH, M134, ATanH, M135, ACsch, M136,
ACoth, M137, Bartlett, M138, BohmanWin, M139, ChebWin, M14,
Sqrt, M140, FlattopWin, M141, ParzenWin, M142, TaylorWin, M143,
TukeyWin, M144, SquareDuty01, M145, SquareDuty02, M146,
SquareDuty04, M147, SquareDuty06, M148, SquareDuty08, M149,
SquareDuty10, M15, Root3, M150, SquareDuty12, M151,
SquareDuty14, M152, SquareDuty16, M153, SquareDuty18, M154,
SquareDuty20, M155, SquareDuty22, M156, SquareDuty24, M157,
SquareDuty26, M158, SquareDuty28, M159, SquareDuty30, M16,
X^2, M160, SquareDuty32, M161, SquareDuty34, M162,
SquareDuty36, M163, SquareDuty38, M164, SquareDuty40, M165,
SquareDuty42, M166, SquareDuty44, M167, SquareDuty46, M168,
SquareDuty48, M169, SquareDuty50, M17, X^3, M170,
SquareDuty52, M171, SquareDuty54, M172, SquareDuty56, M173,
SquareDuty58, M174, SquareDuty60, M175, SquareDuty62, M176,
SquareDuty64, M177, SquareDuty66, M178, SquareDuty68, M179,
SquareDuty70, M18, Sinc, M180, SquareDuty72, M181,
SquareDuty74, M182, SquareDuty76, M183, SquareDuty78, M184,
SquareDuty80, M185, SquareDuty82, M186, SquareDuty84, M187,
SquareDuty86, M188, SquareDuty88, M189, SquareDuty90, M19,
Gaussian, M190, SquareDuty92, M191, SquareDuty94, M192,
SquareDuty96, M193, SquareDuty98, M194, SquareDuty99, M195,
demo1_375pts, M196, demo1_16kpts, M197, demo2_3kpts, M198,
demo2_16kpts, M2, StairUp, M20, Dlorentz, M21, Haversine, M22,
Lorentz, M23, Gauspuls, M24, Gmonopuls, M25, Tripuls, M26,
Cardiac, M27, Quake, M28, Chirp, M29, Twotone, M3, StairDn, M30,

Int.siglent.com

89

Programming Guide

SNR, M31, Hamming, M32, Hanning, M33, kaiser, M34, Blackman,
M35, Gausswin, M36, Triangle, M37, Bartlett-Hann, M38, Bartlett,M39, Tan, M4, StairUD, M40, Cot, M41, Sec, M42, Csc, M43, Asin,
M44, Acos, M45, Atan, M46, Acot, M47, Square, M48, SineTra, M49,
SineVer, M5, Ppulse, M50, AmpALT, M51, AttALT, M52, RoundHalf,
M53, RoundsPM, M54, BlaseiWave, M55, DampedOsc, M56,
SwingOsc, M57, Discharge, M58, Pahcur, M59, Combin, M6, Npulse,
M60, SCR, M61, Butterworth, M62, Chebyshev1, M63, Chebyshev2,
M64, TV, M65, Voice, M66, Surge, M67, NA, M68, Ripple, M69,
Gamma, M7, Trapezia, M70, StepResp, M71, BandLimited, M72,
CPulse, M73, CWPulse, M74, GateVibr, M75, LFMPulse, M76,
MCNoise, M77, AM, M78, FM, M79, PFM, M8, Upramp, M80, PM,
M81, PWM, M82, EOG, M83, EEG, M84, EMG, M85, Pulseilogram,
M86, ResSpeed, M87, ECG1, M88, ECG2, M89, ECG3, M9, Dnramp,
M90, ECG4, M91, ECG5, M92, ECG6, M93, ECG7, M94, ECG8,
M95, ECG9, M96, ECG10, M97, ECG11, M98, ECG12, M99, ECG13(3) Read user-defined waveform name from the device::
STL? USER
Return:
STL WVNM,sinc_8M,sinc_3000000,sinc_1664000,
ramp_8M,sinc_2000000,sinc_50000,square_8M,sinc_5000,wave1,sq
uare_1M(4) Read waveform data from network storage:
STL? USER,”net_storage/wave”
Returnnet_storage/wave,STLWVNM,AutoWave2,wave1,AutoWave,
ExpFal,test-sq,Besselj,libEasyLib

Note: The table below shows the availability of some command parameters in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/

SDG7000

X-E

A
BUILDIN|
USRE(Including

STL? return

BUILDIN

BUILDIN

USER

USER

BUILDIN

BUILDIN
USER

BUILDIN

BUILDIN

networkstorageand USB
flash disk
storage)90

int.siglent.com

Programming Guide

BUILDIN

no

no

yes

no

yes

yes

Yes

USER

no

no

yes

no

yes

yes

Yes

PATH

no

no

no

no

no

no

Yes

3.32 Arb Data Command
DESCRIPTIONThis command sets the arbitrary waveform data.

COMMAND SYNTAX<channel>:WVDT,<parameter>,<value><channel>:= {C1, C2, DIG}.
<parameter>:= {a parameter from the table below}.
<value>:= {value of the corresponding parameter}.

Parameters

Value

Description

WVNM<wave_name>:= waveform name.

LENGTH<length>:= the number of waveform bytes, the valid range
depends on the model. See note 1 below for thedetails.
This parameter is not necessary for the “X” series

FREQ<frequency>:= frequency. The unit is Hertz “Hz”.

AMPL<amplifier>:= amplitude. The unit is volts, peak-to-peak “Vpp”.

OFST<offset>:= offset. The unit is volts “V”.

PHASE

<phase>:= phase. The unit is "degree".

WAVEDATA<wave data>

QUERY SYNTAX:= waveform data.
Data written to waveform file

Format 1: WVDT? Mn
Format 2: WVDT? USER,<wave_name><wave name>:={The name of user-defined waveform}.
Format3: WVDT? USER,<PATH>,< wave_name>< Path > specify storage path, such as USB flash disk path. See thefollowing example for network storage path

Int.siglent.com

91

Programming Guide< waveform name >: = {user defined waveform name}
EXAMPLE

Example1
WVDT? USER,“net_storage/wave”,wave1
ReturnWVDT POS,net_storage/wave, WVNM, wave1, LENGTH, 300B,
TYPE, 10,WAVEDATA,
Example2
C1:WVDT WVNM,”wave1”,WAVEDATA, b'0x6000c0006000'.

Notes1:(1)

The path query function must be under the network storage or USB flash disk directory.
When using the command, English quotation marks must be added at both ends of the path.

(2)

The top-level directory of network storage or USB flash disk can be obtained in the file
manager.

(3)

Do not specify a path. The default is the local path (format 2).

(4)

Try to fix the directory where waveform files are stored to reduce the waiting time caused byfile retrieval.

(5)

The following table shows the paths of different storage methods and is only an example.

path

function“net_storage/wave”< path >Read the waveform file information under the network
storage path“U-disk0/wave”< path >Read the waveform file information under the path of
USB flash disk 0“U-disk1/wave”< path >Read the waveform file information under the path of
USB flash disk 1“U-disk2/wave”< path >Read the waveform file information under the path of
USB flash disk 2

Notes2:(1) The table below shows the availability of some command parameters in each SDG series.

92

int.siglent.com

Programming Guide

Parameter

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

TYPE

yes

yes

no

yes

no

<length>

32KB

32KB

4B~16MB

USER

no

no

yes

/commandFormat of
WVDT?

Format 1

Format 1

SDG6000

SDG6000X

SDG7000A

no

no

yes

4B~16MB

4B~16MB

4B~40MB

yes

yes

yes

yes

Built-in:Built-in:Built-in:Built-in:Built-in:Format1

Format1

Format1

Format1

Format1

User-

User-

User-

User-

defined:defined:defined:defined:defined:Format2

Format2

Format2

Format2

Format2

Format3

Format3

User-

32KB,
1024KBno

Format 1

X-E(2) The table below shows the details of Mn parameters in each SDG series.
Model

Description of Mn
0<=n<=59.

SDG800

M0~M49: build-in (32KB).
M50~M59: user-defined (32KB).
0<=n<=59.

SDG1000

M0~M49: build-in (32KB).
M50~M59: user-defined (32KB).
0<=n<=196.

SDG2000X

M0~M196: build-in (32KB).
Not necessary when sending waveform data.
0<=n<=68.

SDG5000

M0~M35: build-in (32KB).
M36~M59: user-defined (32KB).
M60~M67: user-defined (1024KB).
0<=n<=196.

SDG1000X

M0~M196: build-in (32KB).
Not necessary when sending waveform data.
0<=n<=196.

SDG6000X/X-E

M0~M196: build-in (32KB).
Not necessary when sending waveform data.

SDG7000A

Int.siglent.com

0<=n<=198
M0~M198: build-in (32KB).

93

Programming Guide

3.33 Sequence Command(Only SDG7000A)
3.33.1<channel>:ARBMode <Mode>DESCRIPTIONThis command is used to set or query the working mode of the ARB
waveform

COMMAND SYNTAX<channel>:ARBMode <mode><channel>:={C1,C2}.
<mode>:={AFG,AWG}.

QUERY SYNTAX<channel>:ARBMode?
<channel>:={C1,C2}.

EXAMPLE

Set CH1 arb to AFG mode::C1:ARBMode AFG
Read the mode of CH1:
:C1:ARBMode?
Return:AWG

3.33.2<channel>:SEQuence <switch>

DESCRIPTIONThis command is used to set (query) the output status of thesequence

COMMAND SYNTAX<channel>:SEQuence <switch><channel>:={C1,C2}.
<switch>:={0,1}or{ON,OFF}.

QUERY SYNTAX<channel>:SEQuence?
<channel>:={C1,C2}.

EXAMPLE

Turn on the sequence output of channel 1:C1:SEQuence ON

94

int.siglent.com

Programming Guide

Read the sequence output status of channel 1:C1:SEQuence?
Return:ON

3.33.3<channel>:SEQuence:BURSt <count>

DESCRIPTIONThis command is used to set (query) the number of cycles of each
output waveform when the sequence is in single output mode

COMMAND SYNTAX<channel>:SEQuence:BURSt <count><channel>:={C1,C2}.
<count>:={1 to 65535}.

QUERY SYNTAX<channel>:SEQuence:BURSt?
<channel>:={C1,C2}.

EXAMPLESet channel 1 sequence to output 2 cycles each time in single
output mode
:C1:SEQuence:BURSt 2
Query the number of cycles of each output waveform of channel 1
sequence in single output mode
:C1:SEQuence:BURSt?
Return:2

3.33.4<channel>:SEQuence:RMODe <mode>

DESCRIPTIONThis command is used to set (query) the running mode of thesequence

COMMAND SYNTAX<channel>:SEQuence:RMODe <mode><channel>:={C1,C2}.
<mode>:={CONT,TCON,BURS,STEP,ADV}.

Int.siglent.com

95

Programming GuideQUERY SYNTAX<channel>:SEQuence:RMODe?
<channel>:={C1,C2}.

EXAMPLESet the operation mode of channel 1 sequence to continuous
operation:C1:SEQuence:RMODe CONT
Query the operation mode of channel 1 sequence:C1:SEQuence:RMODe?
Return:CONT

3.33.5<channel>:TRIGger[:SEQuence]:SOURceDESCRIPTIONThis command is used to set (query) the trigger mode when thesequence runs

COMMAND SYNTAX<channel>:TRIGger:SOURce <src><channel>:={C1,C2}.
<src>:={MAN,TIMe,EXT}.

QUERY SYNTAX<channel>:TRIGger:SOURce?
<channel>:={C1,C2}.

EXAMPLESet the trigger mode of channel 1 sequence to external trigger:C1:TRIGger:SOURce EXT
Query the trigger mode of channel 1 sequence:C1:TRIGger:SOURce?
Return:EXT

3.33.6<channel>:TRIGger[:SEQuence][:IMMediate]

DESCRIPTION

96

This command immediately triggers a sequence output

int.siglent.com

Programming Guide

COMMAND SYNTAX<channel>:TRIGger<channel>:={C1,C2}.

EXAMPLE

Immediately trigger the sequence output of channel 1:C1:TRIGger

3.33.7<channel>:TRIGger:TIMer

DESCRIPTIONThis command is used to set (query) the time interval triggered by
the timer of the sequence

COMMAND SYNTAX<channel>:TRIGger:TIMer <time><channel>:={C1,C2}.

QUERY SYNTAX<channel>:TRIGger:TIMer?
<channel>:={C1,C2}.

EXAMPLESet the timer trigger interval of channel 1 sequence to 1ms:C1:TRIGger:TIMer 0.001
Query the time interval triggered by the timer of channel 1
sequence:C1:TRIGger:TIMer?
Return:“0.001”

3.33.8<channel>:TRIGger[:SEQuence]:SLOPeDESCRIPTIONThis command is used to set (query) the trigger edge of theexternal trigger of the sequence

COMMAND SYNTAX<channel>:TRIGger:SLOPe <slope><channel>:={C1,C2}.
<slope>:={RISe,FALL}.

QUERY SYNTAX
Int.siglent.com<channel>:TRIGger:SLOPe?
97

Programming Guide<channel>:={C1,C2}.
EXAMPLESet the trigger polarity of the external trigger of channel 1 sequenceas the rising edge
:C1:TRIGger:SLOPe RISe
Query trigger polarity of the external trigger of channel 1 sequence:C1:TRIGger:SLOPe?
Return:RISe

3.33.9<channel>:SEQuence:COUNt

DESCRIPTIONThis command is used to set (query) the total number of segmentsof the sequence

COMMAND SYNTAX<channel>:SEQuence:COUNt <count><channel>:={C1,C2}.

QUERY SYNTAX<channel>:SEQuence:COUNt?
<channel>:={C1,C2}.

EXAMPLESet channel 1 as a sequence of 10 segments:C1:SEQuence:COUNt 10
Query the total number of segments of channel 1 sequence
waveform:C1:SEQuence:COUNt?
Return:
10

NOTE

98

Count= {1 to 1024}

int.siglent.com

Programming Guide

3.33.10 <channel>:SEQuence:DEFAult
DESCRIPTIONThis command is used to set (query) sequence waveform
parameters as default values

COMMAND SYNTAX<channel>:SEQuence:DEFAult<channel>:={C1,C2}.

EXAMPLESet the sequence waveform parameters of channel 1 as the default
setting:C1:SEQuence:DEFAult

3.33.11 <channel>:SEQuence:NEW
DESCRIPTIONThis command is used to create a new sequence waveform

COMMAND SYNTAX<channel>:SEQuence:NEW <segment number><channel>:={C1,C2}.
<segment number>:= Number of segments to be created

EXAMPLE

Create a new 10 segment waveform for the sequence of channel 1:C1:SEQuence:NEW 10

NOTE

segment number = {1 to 1024}

3.33.12 <channel>:SEQuence:SEGMent<x>:WAVeform
DESCRIPTIONThis command is used to set (query) the waveform of a certain
segment of the sequence through the waveform name

COMMAND SYNTAX<channel>:SEQuence:SEGMent<x>:WAVeform <name><channel>:={C1,C2}.
<x>:=segment number<name>:=waveform name. See section 3.34.5 for available
waveform names

Int.siglent.com

99

Programming GuideQUERY SYNTAX<channel>:SEQuence:SEGMent<x>:WAVeform?
<channel>:={C1,C2}.
<x>:= segment number

EXAMPLESet the waveform of the third segment of channel 1 sequence asstairup:C1:SEQuence:SEGMent3:WAVeform stairup
Query the waveform of the third segment of channel 1 sequence(return the waveform name):C1:SEQuence:SEGMent3:WAVeform?
Return:stairup

NOTE

segment number = {1 to 1024}

3.33.13 <channel>:SEQuence:SEGMent<x>:REPeat:COUNt
DESCRIPTIONThis command is used to set (query) the repetition times of a certain
segment waveform of the sequence

COMMAND SYNTAX<channel>:SEQuence:SEGMent<x>:REPeat:COUNt <count><channel>:={C1,C2}.
<x>:=segment number<count>:= The maximum value is related to the waveform length of
this segment and the total length of other segments.

QUERY SYNTAX<channel>:SEQuence:SEGMent<x>:REPeat:COUNt?
<channel>:={C1,C2}.
<x>:= segment number

EXAMPLE100

Set the waveform of the third segment of the channel 1 sequence torepeat twice

int.siglent.com

Programming Guide:C1:SEQuence:SEGMent3:REPeat:COUNt 2
Query the waveform repetition times of the third segment of channel
1 sequence:C1:SEQuence:SEGMent3:REPeat:COUNt?
Return:2
NOTE

segment number = {1 to 1024}

3.33.14 <channel>:SEQuence:SEGMent<x>:AMPlitude
DESCRIPTIONThis command is used to set (query) the waveform amplitude of acertain segment of the sequence

COMMAND SYNTAX<channel>:SEQuence:SEGMent<x>:AMPlitude <amp><channel>:={C1,C2}.
<x>:= segment number<amp>:={0 to 24Vpp}

QUERY SYNTAX<channel>:SEQuence:SEGMent<x>:AMPlitude?
<channel>:={C1,C2}.
<x>:= segment number

EXAMPLESet the amplitude of the third segment waveform of channel 1
sequence to 2Vpp
:C1:SEQuence:SEGMent3:AMPlitude 2
Query the amplitude of the waveform of the third segment ofchannel 1 sequence:C1:SEQuence:SEGMent3:AMPlitude?
Return:2

NOTEInt.siglent.com

segment number = {1 to 1024}

101

Programming Guide

3.33.15 <channel>:SEQuence:SEGMent<x>:OFFset
DESCRIPTIONThis command is used to set (query) the waveform offset of acertain segment of the sequence

COMMAND SYNTAX<channel>:SEQuence:SEGMent<x>:OFFset <offset><channel>:={C1,C2}.
<x>:= segment number<offset>:={-12V to 12V}QUERY SYNTAX<channel>:SEQuence:SEGMent<x>:OFFset?
<channel>:={C1,C2}.
<x>:= segment number

EXAMPLESet the offset of the third segment waveform of channel 1 sequence
to 2Vdc:C1:SEQuence:SEGMent3:OFFset 2
Query the offset of the third segment waveform of channel 1
sequence:C1:SEQuence:SEGMent3:OFFset?
Return:2

NOTE

segment number = {1 to 1024}

3.33.16 <channel>:SEQuence:SEGMent<x>:VOLTage:HIGH
DESCRIPTIONThis command is used to set (query) the high-level value of the
waveform of a certain segment of the sequence

COMMAND SYNTAX<channel>:SEQuence:SEGMent<x>:VOLTage:HIGH <highLevel><channel>:={C1,C2}.
<x>:= segment number<highLevel>:={lowLevel to 12V}

102

int.siglent.com

Programming GuideQUERY SYNTAX<channel>:SEQuence:SEGMent<x>:VOLTage:HIGH?
<channel>:={C1,C2}.
<x>:= segment number

EXAMPLESet the high level of the third segment waveform of channel 1
sequence to 10V:C1:SEQuence:SEGMent3:VOLTage:HIGH 10
Query the high-level value of the waveform of the third segment of
the channel 1 sequence:C1:SEQuence:SEGMent3:VOLTage:HIGH?
Return:10

NOTE

segment number = {1 to 1024}

3.33.17 <channel>:SEQuence:SEGMent<x>:VOLTage: LOW
DESCRIPTIONThis command is used to set (query) the low-level value of the
waveform of a certain segment of the sequence

COMMAND SYNTAX<channel>:SEQuence:SEGMent<x>:VOLTage:LOW <lowLevel><channel>:={C1,C2}.
<x>:= segment number<lowLevel>:={-12V to highLevel}

QUERY SYNTAX<channel>:SEQuence:SEGMent<x>:VOLTage:LOW?
<channel>:={C1,C2}.
<x>:= segment number

EXAMPLESet the low level of the third segment waveform of channel 1
sequence to 10V:C1:SEQuence:SEGMent3:VOLTage:LOW 10
Query the low-level value of the third segment waveform of channel

Int.siglent.com

103

Programming Guide

1 sequence:C1:SEQuence:SEGMent3:VOLTage:LOW?
Return:10
NOTE

segment number = {1 to 1024}

3.33.18 <channel>:SEQuence:SEGMent<x>:LENGthDESCRIPTIONThis command is used to set (query) the length of the waveform of acertain segment of the sequence

COMMAND SYNTAX<channel>:SEQuence:SEGMent<x>:LENGth <len><channel>:={C1,C2}.
<x>:= segment number<len>:= It will be automatically truncated to an integer multiple of 16

QUERY SYNTAX<channel>:SEQuence:SEGMent<x>:LENGth?
<channel>:={C1,C2}.
<x>:= segment number

EXAMPLESet the length of the waveform of the third segment of the channel 1
sequence to 16384:C1:SEQuence:SEGMent3:LENGth 16384
Query the length of the waveform of the third segment of thechannel 1 sequence:C1:SEQuence:SEGMent3:LENGth?
Return:
16384

NOTE

104

segment number = {1 to 1024}

int.siglent.com

Programming Guide

3.33.19 <channel>:SEQuence:SEGMent<x>:DELEte
DESCRIPTIONThis command is used to delete a segment in the sequence
waveform

COMMAND SYNTAX<channel>:SEQuence:SEGMent<x>:DELEte<channel>:={C1,C2}.
<x>:= segment number

EXAMPLE

Delete the waveform of the third segment in the channel 1 sequence
C1:SEQuence:SEGMent3:DELEte

NOTE

segment number = {1 to 1024}

3.33.20 <channel>:SEQuence:SEGMent<x>:INSErt
DESCRIPTIONThis command is used to insert a new segment after a certain
segment in the sequence waveform

COMMAND SYNTAX<channel>:SEQuence:SEGMent<x>:INSErt<channel>:={C1,C2}.
<x>:= segment number

EXAMPLE

Insert a new segment after the third segment of the channel 1
sequence:C1:SEQuence:SEGMent3:INSErt

NOTE

segment number = {1 to 1024}

3.33.21 <channel>:SEQuence:STATeDESCRIPTIONThis command is used to set (query) the running status of thesequence

COMMAND SYNTAX<channel>:SEQuence:STATe <state>Int.siglent.com

105

Programming Guide<channel>:={C1,C2}.
<state>:={RUN,STOP} or {ON,OFF}QUERY SYNTAX<channel>:SEQuence:STATe?
<channel>:={C1,C2}.

EXAMPLESet the status of channel 1 sequence to "run":C1:SEQuence:STATe RUN
Query the status of channel 1 sequence:C1:SEQuence:STATe?
Return:RUN

3.33.22 <channel>:SEQuence:SCALeDESCRIPTIONThis command is used to set (query) the output amplitude of thesequence

COMMAND SYNTAX<channel>:SEQuence:SCALe <scale><channel>:={C1,C2}.
<scale>:={0.01 to 1}

QUERY SYNTAX<channel>:SEQuence:SCALe?
<channel>:={C1,C2}.

EXAMPLESet the output amplitude of channel 1 sequence to 80%:C1:SEQuence:SCALe 0.8
Query the output amplitude of channel 1 sequence:C1:SEQuence:SCALe?
Return:0.8

106

int.siglent.com

Programming Guide

3.33.23 <channel>:SEQuence:INCReasing
DESCRIPTIONThis command is used to set (query) the interpolation method of thesequence

COMMAND SYNTAX<channel>:SEQuence:INCReasing <mode><channel>:={C1,C2}.
<mode>:={INT,ZERo,HLAS,DUPL}QUERY SYNTAX<channel>:SEQuence:INCReasing?
<channel>:={C1,C2}.

EXAMPLESet the interpolation mode of channel 1 sequence to linear
interpolation
C1:SEQuence:INCReasing INTQuery the interpolation mode of channel 1 sequence
C1:SEQuence:INCReasing?
Return:INT

3.33.24<channel>:SEQuence:DECReasing

DESCRIPTIONThis command is used to set (query) the sampling method of thesequence

COMMAND SYNTAX<channel>:SEQuence:DECReasing <mode><channel>:={C1,C2}.
<mode>:={DECi,CTAi,CHEa}

QUERY SYNTAX<channel>:SEQuence:DECReasing?
<channel>:={C1,C2}.

EXAMPLESet the sampling method of channel 1 sequence to linear sampling:C1:SEQuence:DECReasing DECi
Query the sampling method of channel 1 sequence:C1:SEQuence:DECReasing?

Int.siglent.com

107

Programming Guide

Return:DECi

3.33.25 <channel>:SEQuence:RECall
DESCRIPTIONThis command is used to load sequence waveforms from a file

COMMAND SYNTAX<channel>:SEQuence:RECall <path><channel>:={C1,C2}.
<path>:= Complete path of waveform

EXAMPLE

From file sequence.csv loading sequence waveform:C1:SEQuence:RECall "Local/sequence.awg":C1:SEQuence:RECall "U-disk0/sequence.awg":C1:SEQuence:RECall "net_storage/sequence.awg"

NOTE

The specific path refers to the path in the file manager

3.33.26 <channel>:SEQuence:SAVeDESCRIPTIONThis command is used to save the sequence waveform to a file

COMMAND SYNTAX<channel>:SEQuence:SAVe<path><channel>:={C1,C2}.
<path>:= Complete path of waveform

EXAMPLE

Save the sequence waveform to wave1.csv:C1:SEQuence:SAVe "Local/sequence.awg":C1:SEQuence:SAVe "U-disk0/sequence.awg":C1:SEQuence:SAVe "net_storage/sequence.awg"

NOTE

108

The specific path refers to the path in the file manager

int.siglent.com

Programming Guide

3.34 Digital Channel Command(Only SDG7000A)
3.34.1

DIG:SRATeDESCRIPTIONThis command is used to set (query) the bit rate of the digitalchannelCOMMAND SYNTAXDIG:SRATe <value><value>:={0 to 1000000000}

QUERY SYNTAXDIG:SRATe?

EXAMPLESet the bit rate of the digital channel to 100Mbps:DIG:SRATe 100000000
Query bit rate of digital channel:DIG:SRATe?
Return:100000000

3.34.2

DIG:PERiod

DESCRIPTIONThis command is used to set (query) the period of the digitalchannelCOMMAND SYNTAXDIG:PERiod <value><value>:={1ns to 1Ks}

QUERY SYNTAXDIG:PERiod?

EXAMPLESet the period of the digital channel to 10 ns:DIG:PERiod 0.00000001
Query the period of the digital channel:DIG:PERiod?
Return:0.00000001

Int.siglent.com

109

Programming Guide

3.34.3

DIG:CHANnel<x>:STATeDESCRIPTIONThis command is used to set (query) the status of a digital channel

COMMAND SYNTAXDIG:CHANnel<x>:STATe <value><X>:={1 to 16}<value>:={0 or 1} or {off or on}

QUERY SYNTAXDIG:CHANnel<index>:STATe?

EXAMPLESet channel 2 to on:DIG:CHANnel2:STATe 1
Query the status of digital channel 2:DIG:CHANnel2;STATe?
Return:1

3.34.4

DIG:OUTPutDESCRIPTIONThis command is used to set (query) the output status of the digitalchannelCOMMAND SYNTAXDIG:OUTPut <value><value>:={0 or 1} or {off or on}

QUERY SYNTAXDIG:OUTPut?

EXAMPLE

Turn on the digital channel output:DIG:OUTPut 1
Query the output status of the digital channel:DIG:OUTPut?
Return:1

110

int.siglent.com

Programming Guide

3.34.5

DIG:WAVeform

DESCRIPTIONThis command is used to set (query) the data source of the digitalchannel through the waveform name

COMMAND SYNTAXDIG:WAVeform <name><name>:= The name of the built-in waveform, or the complete
path of the waveformQUERY SYNTAXDIG:WAVeform?

EXAMPLESet the data source of the digital channel as sine
:DIG:WAVeform sine
Query the digital channel data source:DIG:WAVeform?
Return:“sine”

NOTE: Customized edit waveform, see 5.1.5
sine

noise

erfc

erfcinv

stairupstairdnerfinvlaguerrestairud

ppulselegendversiera

npulsetrapezia

weibulllognormal

uprampdnramplaplace

maxwell

exp_fall

exp_riserayleighcauchylogfalllogrisecoshcosint

sqrt

root3

coth

csch

x^2

x^3

sech

sinh

sinc

gussiansininttanhdlorentz

haversine

acosh

asech

lorentzgauspuls

asinh

atanh

gmonopuls

tripuls

acsch

acoth

cardiacquakebartlettbohmanwin

chirp

twotonechebwinflattopwin

snr

digit_clockparzenwin

taylorwin

digit_counter

digit_zero

tukeywinsquare_duty01

hamminghanningsquare_duty02

square_duty04

kaiserblackmansquare_duty06

square_duty08

Int.siglent.com

111

Programming Guide

gausswin

triangsquare_duty10

square_duty12

blackmanharris

barthannwin

quare_duty14

square_duty16

tan

cot

square_duty18

square_duty20

sec

csc

square_duty22

square_duty24

asin

acos

square_duty26

square_duty28

atan

acot

square_duty30

square_duty32

squaresinetrasquare_duty34

square_duty36

sinever

ampaltsquare_duty38

square_duty40

attaltroundhalfsquare_duty42

square_duty44

roundspmblaseiwave

square_duty46

square_duty48

dampedosc

swingoscsquare_duty50

square_duty52

discharge

pahcursquare_duty54

square_duty56

combinscr

square_duty58

square_duty60

butterworth

chebyshev1

square_duty62

square_duty64

chebyshev2

tv

square_duty66

square_duty68

voice

surge

square_duty70

square_duty72

NAripplesquare_duty74

square_duty76

gamma

steprespsquare_duty78

square_duty80

bandlimited

cpulsesquare_duty82

square_duty84

cwpulsegatevibrsquare_duty86

square_duty88

lfmpulse

mcnoisesquare_duty90

square_duty92

amfm

square_duty94

square_duty96

pfm

pm

square_duty98

square_duty99

pwm

eog

demo1_375pts

demo1_16kpts

eeg

emg

demo2_3kpts

demo2_16kpts

pulseilogram

resspeed

sine_harmonic2

sine_harmonic3

ecg1

ecg2

sine_harmonic4

sine_harmonic5

ecg3

ecg4

sine_harmonic6

sine_harmonic7

ecg5

ecg6

sine_harmonic8

sine_harmonic9

ecg7

ecg8

sine_harmonic10

sine_harmonic11

ecg9

ecg10

sine_harmonic12

sine_harmonic13

ecg11

ecg12

sine_harmonic14

sine_harmonic15

ecg13

ecg14

sine_harmonic16

digit_one

ecg15

lfpulse

tens1

tens2

tens3

airy

besselj

bessely

dirichlet

erf

112

int.siglent.com

Programming Guide

3.35 Frequency Hop Command(Only SDG7000A)
3.35.1<channel>:FHOP:SWITchDESCRIPTIONThis command is used to set frequency hop switch state

COMMAND SYNTAX<channel>:FHOP:SWITch <switch><channel>:={C1, C2}<switch>:= {ON, OFF}QUERY SYNTAX<channel>:FHOP:SWITch?

EXAMPLE

CH1 turn on frequency hop
C1:FHOP:SWITch ON
Query the switch state of CH1
C1:FHOP:SWITch?
Return:“ON”

3.35.2<channel>:FHOP:STATeDESCRIPTIONThis command is used to set the frequency hop run state

COMMAND SYNTAX<channel>:FHOP:STATe <state><channel>:={C1, C2}<state>:= {ON, OFF}QUERY SYNTAX<channel>:FHOP:STATe?

EXAMPLE

CH1 set frequency hop run state on
C1:FHOP:STATe ON
Query the run state of CH1
C1:FHOP:STATe?
Return:“ON”

Int.siglent.com

113

Programming Guide

3.35.3<channel>:FHOP:TYPE

DESCRIPTIONThis command is used to set the frequency hop type

COMMAND SYNTAX<channel>:FHOP:TYPE <type><channel>:={C1, C2}<type>:= {"MANUAL", "RHOP", "RLIST"}QUERY SYNTAX<channel>:FHOP:TYPE?

EXAMPLE

Set CH1 frequency hop to manual type
C1:FHOP:TYPE MANUAL
Query CH1 frequency hop type
C1:FHOP:TYPE?
Return:“MANUAL”

3.35.4<channel>:FHOP:TIMEDESCRIPTIONThis command is used to set the frequency hop time

COMMAND SYNTAX<channel>:FHOP:TIME <time><channel>:={C1, C2}<time>:= {float value from 0 to 1000.Unit second}

QUERY SYNTAX<channel>:FHOP:TIME?

EXAMPLE

Set CH1 frequency hop time 1ms
C1:FHOP:TIME 0.001
Query CH1 frequency hop type time
C1:FHOP:TIME?
Return:“0.001”

114

int.siglent.com

Programming Guide

3.35.5<channel>:FHOP:SFREquency

DESCRIPTIONThis command is used to set the min hop frequency in random
mode.

COMMAND SYNTAX<channel>:FHOP:SFREquency <freq><channel>:={C1, C2}<freq>:= {float value}

QUERY SYNTAX<channel>:FHOP:SFREquency?

EXAMPLE

Set CH1 min hop frequency 1MHZ in random mode
C1:FHOP:SFREquency 1000000
Query CH1 min hop frequency in random mode
C1:FHOP:SFREquency?
Return:“1000000”

3.35.6<channel>:FHOP:EFREquency

DESCRIPTIONThis command is used to set the max hop frequency in random
mode.

COMMAND SYNTAX<channel>:FHOP:EFREquency <freq><channel>:={C1，C2}<freq>:= { float value }QUERY SYNTAX<channel>:FHOP:EFREquency?

EXAMPLE

Set CH1 max hop frequency 1MHZ in random mode
C1:FHOP:EFREquency 100000000
Query CH1 max hop frequency in random mode
C1:FHOP:EFREquency?
Return:“100000000”

Int.siglent.com

115

Programming Guide

3.35.7<channel>:FHOP:FSTepDESCRIPTIONThis command is used to set the frequency step in random hop
mode

COMMAND SYNTAX<channel>:FHOP:FSTep <freq><channel>:={C1, C2}<freq>:= { float value }QUERY SYNTAX<channel>:FHOP:FSTep?

EXAMPLE

Set CH1 frequency step 10MHz in random hop mode
C1:FHOP:FSTep 10000000
Query CH1 frequency step in random hop mode
C1:FHOP: FSTep?
Return:“10000000”

3.35.8<channel>:FHOP:RPATtern

DESCRIPTIONThis command is used to set the prbs pattern in random hop mode

COMMAND SYNTAX<channel>:FHOP:RPATtern <pattern><channel>:={C1, C2}<pattern>:= {Int value between 3 and 32}

QUERY SYNTAX<channel>:FHOP:RPATtern?

EXAMPLE

Set CH1 prbs pattern prbs-7 in random hop mode
C1:FHOP:RPATtern 7
Query CH1 prbs pattern in random hop mode
C1:FHOP:RPATtern?
Return:“7”

116

int.siglent.com

Programming Guide

3.35.9<channel>:FHOP:RLPAttern

DESCRIPTIONThis command is used to set the prbs pattern in random list mode

COMMAND SYNTAX<channel>:FHOP:RLPAttern <pattern><channel>:={C1, C2}<pattern>:= {Int value between 3 and 32}

QUERY SYNTAX<channel>:FHOP:RLPAttern?

EXAMPLE

Set CH1 prbs pattern prbs-7 in random list mode
C1:FHOP:RLPAttern 7
Query CH1 prbs pattern in random list mode
C1:FHOP:RLPAttern?
Return:“7”

3.35.10 <channel>:FHOP:ALSTate
DESCRIPTIONThis command is used to set the enable state of frequency avoid table

COMMAND SYNTAX<channel>:FHOP:ALSTate <state><channel>:={C1, C2}<state>:= {ON, OFF}QUERY SYNTAX<channel>:FHOP:ALSTate?

EXAMPLE

Set CH1 frequency avoid table enabled
C1:FHOP:ALSTate ON
Query CH1 frequency avoid table enable state
C1:FHOP:ALSTate?
Return:“ON”

Int.siglent.com

117

Programming Guide

3.35.11 <channel>:FHOP:AFLIstDESCRIPTIONThis command is used to insert a new element into the frequency
table at the specified position

COMMAND SYNTAX<channel>:FHOP:AFLIst <index>,<freq><channel>:={C1, C2}<index>:= {Int value between 1 and 4096}<freq>:= {float value}

EXAMPLE

Insert a new element 1KHz into CH1 frequency table at the position
row 3
C1:FHOP:AFLIst 3,1000

3.35.12 <channel>:FHOP:DFLIstDESCRIPTIONThis command is used to delete a element from the frequency table
at the specified position

COMMAND SYNTAX<channel>:FHOP:DFLIst <index><channel>:={C1, C2}<index>:= {Int value between 1 and 4096}

EXAMPLE

Delete row 3 from CH1 frequency table
C1:FHOP:DFLIst 3

3.35.13 <channel>:FHOP:CFLIstDESCRIPTIONThis command is used to clear the frequency table

COMMAND SYNTAX<channel>:FHOP:CFLIst<channel>:={C1, C2}

EXAMPLE

Clear CH1 frequency table
C1:FHOP:CFLIst

118

int.siglent.com

Programming Guide

3.35.14 <channel>:FHOP:MFLIstDESCRIPTIONThis command is used to set the specified element value of
frequency table

COMMAND SYNTAX<channel>:FHOP:MFLIst <index>,<freq><channel>:={C1, C2}<index>:= { Int value between 1 and 4096}<freq>:= { float value }EXAMPLE

Set CH1 frequency table row 3 element value 2KHz
C1:FHOP:MFLIst 3,2000

3.35.15 <channel>:FHOP:AOLIstDESCRIPTIONThis command is used to insert a new element into the hop ordertable at the specified position

COMMAND SYNTAX<channel>:FHOP:AOLIst <index>,<freq_num><channel>:={C1, C2}<index>:= { Int value between 1 and 4096}<freq_num>:= { Int value between 1 and 4096}

EXAMPLE

Insert a new element 4 into CH1 hop order table at the position row 3
C1:FHOP:AOLIst 3,4

3.35.16 <channel>:FHOP:DOLIstDESCRIPTIONThis command is used to delete a element from the hop order table
at the specified position

COMMAND SYNTAX<channel>:FHOP:DOLIst <index><channel>:={C1, C2}<index>:= { Int value between 1 and 4096}

EXAMPLE

Delete row 3 from CH1 hop order table
C1:FHOP:DOLIst 3

Int.siglent.com

119Programming Guide

3.35.17 <channel>:FHOP:COLIstDESCRIPTIONThis command is used to clear the hop order table

COMMAND SYNTAX<channel>:FHOP:COLIst<channel>:={C1, C2}

EXAMPLE

Clear CH1 hop order table
C1:FHOP:COLIst

3.35.18 <channel>:FHOP:MOLIstDESCRIPTIONThis command is used to set the specified element value of hoporder table

COMMAND SYNTAX<channel>:FHOP:MOLIst <index>,<freq_num><channel>:={C1, C2}<index>:= { Int value between 1 and 4096}<freq_num>:= { Int value between 1 and 4096}

EXAMPLE

Set CH1 hop order table row 3 element value 8
C1:FHOP:MOLIst 3,83.35.19 <channel>:FHOP:AALIstDESCRIPTIONThis command is used to add a new element at the end of
frequency avoid table

COMMAND SYNTAX<channel>:FHOP:AALIst <start_freq>,<end_freq><channel>:={C1, C2}<start_freq>:= {float value}<end_freq>:= {float value}

EXAMPLE

Add a new element at the end of frequency avoid table, value 1KHz
and 5KHz
C1:FHOP:AALIst 1000,5000

120

int.siglent.com

Programming Guide

3.35.20 <channel>:FHOP:DALIstDESCRIPTIONThis command is used to delete the last element of frequency avoid
table

COMMAND SYNTAX<channel>:FHOP:DALIst<channel>:={C1, C2}

EXAMPLE

Delete the last element of CH1 frequency avoid table
C1:FHOP:DALIst

3.35.21 <channel>:FHOP:CALIstDESCRIPTIONThis command is used to clear the frequency avoid table

COMMAND SYNTAX<channel>:FHOP:CALIst<channel>:={C1, C2}

EXAMPLE

Clear CH1 frequency avoid table
C1:FHOP:CALIst

3.35.22 <channel>:FHOP:LFLIstDESCRIPTIONThis command is used to load frequency table from file

COMMAND SYNTAX<channel>:FHOP:LFLIst <file><channel>:={C1, C2}<file>:=file name

EXAMPLE

Load CH1 frequency table from file “freq.hop”
C1:FHOP:LFLIst “freq.hop”

Int.siglent.com

121

Programming Guide

3.35.23 <channel>:FHOP:SFLIstDESCRIPTIONThis command is used to save frequency table to file

COMMAND SYNTAX<channel>:FHOP:SFLIst <file><channel>:={C1, C2}<file>:= file name

EXAMPLE

Save CH1 frequency table to file “freq.hop”
C1:FHOP:SFLIst “freq.hop”

3.35.24 <channel>:FHOP:LOLIstDESCRIPTIONThis command is used to load hop order table from file

COMMAND SYNTAX<channel>:FHOP:LOLIst <file><channel>:={C1, C2}<file>:= file name

EXAMPLE

Load CH1 hop order table from file “order.hop”
C1:FHOP:LOLIst “order.hop”

3.35.25 <channel>:FHOP:SOLIstDESCRIPTIONThis command is used to save hop order table to file

COMMAND SYNTAX<channel>:FHOP:SOLIst <file><channel>:={C1, C2}<file>:= file name

EXAMPLE

Save CH1 hop order table to file “order.hop”
C1:FHOP:SOLIst “order.hop”

122

int.siglent.com

Programming Guide

3.35.26 <channel>:FHOP:LALIstDESCRIPTIONThis command is used to save frequency avoid table to file

COMMAND SYNTAX<channel>:FHOP:LALIst <file><channel>:={C1, C2}<file>:= file name

EXAMPLE

Load CH1 frequency avoid table from file “avoid.hop”
C1:FHOP:LALIst “avoid.hop”

3.35.27 <channel>:FHOP:SALIstDESCRIPTIONThis command is used to save frequency avoid table to file

COMMAND SYNTAX<channel>:FHOP:SALIst <file><channel>:={C1, C2}<file>:= file name

EXAMPLE

Save CH1 frequency avoid table to file “avoid.hop”
C1:FHOP:SALIst “avoid.hop”

Int.siglent.com

123Programming Guide

3.36 Virtual Key Command
DESCRIPTIONThis command is used to simulate pressing a key on the front
panel.

COMMAND SYNTAX

VirtualKEY VALUE,<value>,STATE,<state><value>:= {a Name or Index of the virtual keys from the tablebelow}.
<state>:= {0,1}, where 1 is effective to virtual value, and 0 is
useless.

Name

IndexesName

Indexes

KB_FUNC1

28

KB_NUMBER_4

52

KB_FUNC2

23

KB_NUMBER_5

53

KB_FUNC318

KB_NUMBER_6

54

KB_FUNC4

13

KB_NUMBER_7

55

KB_FUNC58KB_NUMBER_8

56

KB_FUNC6

3KB_NUMBER_9

57

KB_SINE34

KB_POINT46

KB_SQUARE

29

KB_NEGATIVE43

KB_RAMP24

KB_LEFT44

KB_PULSE

19

KB_RIGHT40

KB_NOISE

14

KB_UP

45

KB_ARB9KB_DOWN39

KB_MOD15

KB_OUTPUT1

153

KB_SWEEP16KB_OUTPUT2152

KB_BURST17

KB_KNOB_RIGHT175

KB_WAVES4

KB_KNOB_LEFT

177

KB_UTILITY

11

KB_KNOB_DOWN

176

KB_PARAMETER

5

KB_HELP12

KB_STORE_RECALL70

KB_CHANNEL72

KB_NUMBER_0

48

KB_K

59

KB_NUMBER_1

49

KB_M

60

KB_NUMBER_2

50

KB_G

61

KB_NUMBER_3

51

KB_DIGITAL

20

124

int.siglent.com

Programming Guide

KB_ENTER58

KB_HOME21

KB_AWG29

KB_TOUCH

22

KB_IQ

30

Keys and Indices on the SDG1000X/SDG2000X/SDG6000X/SDG6000X-E

Keys and Indices on the SDG5000

Keys and Indices on the SDG1000/SDG800
Int.siglent.com

125

Programming Guide

Keys and Indices on the SDG7000A
EXAMPLEVKEY VALUE,15,STATE,1
VKEY VALUE,KB_SWEEP,STATE,1

Note: The table below shows the availability of some command parameters in each SDG series.
Parameter

SDG

SDG

SDG

SDG

SDG

SDG

SDG

/command

800

1000

2000X

5000

1000X

6000X/X-E

7000A

KB_FUNC6

no

no

yes

yes

yes

yes

no

yes

yes

yes

no

yes

yes

no

KB_HELP

yes

yes

no

no

no

no

no

KB_CHANNEL

no

yes

yes

no

yes

yes

yes

KB_SINE

yes

yes

no

no

no

no

no

KB_SQUARE

yes

yes

no

no

no

no

no

KB_ RAMP

yes

yes

no

no

no

no

no

KB_PULSE

yes

yes

no

no

no

no

no

KB_NOISE

yes

yes

no

no

no

no

no

KB_ARB

yes

yes

no

no

no

no

no

KB_UP

yes

yes

no

no

no

no

no

KB_DOWN

yes

yes

no

no

no

no

no

KB_STORE_
RECALL126

int.siglent.com

Programming Guide

3.37 IP Command
DESCRIPTIONThis command sets and gets the system IP address.

COMMAND SYNTAXSYSTem:COMMunicate:LAN:IPADdress“<parameter1>.<parameter2>.<parameter3>.<parameter4>”<parameter1>:={an integer value between 1 and 223}.
<parameter2>:={an integer value between 0 and 255}.
<parameter3>:={an integer value between 0 and 255}.
<parameter4>:={an integer value between 0 and 255}.

QUERY SYNTAXSYSTem:COMMunicate:LAN:IPADdress?

EXAMPLES

Set IP address to 10.11.13.203:
SYST:COMM:LAN:IPAD “10.11.13.203”
Get the IP address:
SYST:COMM:LAN:IPAD?
Return:“10.11.13.203”

Note: The table below shows the availability of the command in each SDG series :Parameter

SDG

SDG

SDG

SDG

SDG

SDG

SDG

/command

800

1000

2000X

5000

1000X

6000X/X-E

7000A

no

no

yes

no

yes

yes

yes

SYST:COMM:
LAN:IPAD

3.38 Subnet Mask Command
DESCRIPTIONThis command sets and gets the system subnet mask.

COMMAND SYNTAXSYSTem:COMMunicate:LAN:SMASk“<parameter1>.<parameter2>.<parameter3>.<parameter4>”<parameter1>:={an integer value between 0 and 255}.
<parameter2>:={an integer value between 0 and 255}.

Int.siglent.com

127

Programming Guide<parameter3>:={an integer value between 0 and 255}.
<parameter4>:={an integer value between 0 and 255}.
QUERY SYNTAXSYSTem:COMMunicate:LAN:SMASk?

EXAMPLES

Set the subnet mask to 255.0.0.0:
SYST:COMM:LAN:SMAS “255.0.0.0”
Get the subnet mask:
SYST:COMM:LAN:SMAS?
Return:“255.0.0.0”

Note: The table below shows the availability of the command in each SDG series.
Parameter

SDG

SDG

SDG

SDG

SDG

SDG

SDG

/command

800

1000

2000X

5000

1000X

6000X/X-E

7000A

no

no

yes

no

yes

yes

yes

SYST:COMM:
LAN:SMAS

3.39 Gateway Command
DESCRIPTIONThis command sets and gets the system gateway.

COMMAND SYNTAXSYSTem:COMMunicate:LAN:GATeway“<parameter1>.<parameter2>.<parameter3>.<parameter4>”<parameter1>:={an integer value between 0 and 223}.
<parameter2>:={an integer value between 0 and 255}.
<parameter3>:={an integer value between 0 and 255}.
<parameter4>:={an integer value between 0 and 255}.

QUERY SYNTAXSYSTem:COMMunicate:LAN:GATeway?

EXAMPLES

Set Gateway to 10.11.13.5:
SYSTem:COMMunicate:LAN:GATeway “10.11.13.5”
Get gateway:

128

int.siglent.com

Programming Guide

SYSTem:COMMunicate:LAN:GATeway?
Return:“10.11.13.5”

Note: The table below shows the availability of the command in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

no

yes

no

yes

yes

yes

SYST:COMM:
LAN:GAT

3.40 Sampling Rate Command
DESCRIPTIONThis command sets or gets the Arb mode, sampling rate, andinterpolation method. The sampling rate and interpolation method
can only be set when MODE is TARB.

COMMAND SYNTAX<channel>:SampleRATE MODE,<mode>,VALUE, <sample rate>,
INTER,<interpolation><channel>:= <C1, C2>.
<mode>:= {DDS, TARB}, where TARB is TrueArb or<mode>:={AFG, AWG} (only SDG7000A)<sample rate>:= sample rate. The unit is samples per second“Sa/s”.
<interpolation>:= {LINE, HOLD, SINC, SINC27, SINC13}, where
LINE is linear, and HOLD is zero-order hold. SINC, SINC27 and
SINC13 are only for SDG6000X/X-E and SDG7000AQUERY SYNTAX<channel>:SRATE?

EXAMPLES

Get the sampling rate of CH1:
C1:SRATE?
Return:C1:SRATE MODE,DDS
Set CH1 to TureArb mode:

Int.siglent.com

129

Programming Guide

C1:SRATE MODE,TARB
Set sampling rate of CH1 to 1000000Sa/s:
C1:SRATE VALUE,1000000
Set CH1 to TureArb mode and set interpolation to SINC13
C1:SRATE MODE,TARB,INTER,SINC13

Note: The table below shows the availability of the command and some parameters in each SDG
series.
Parameter

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

SRATE

no

no

yes

no

no

yes

yes

INTER

no

no

no

no

no

yes

yes

/command3.41 Harmonic Command
DESCRIPTIONThis command sets or gets the harmonic parameters. Only available
when the basic wave is SINE.

COMMAND SYNTAX<channel>:HARMonic HARMSTATE,<state>,HARMTYPE,<type>,HARMORDER,<order>,<unit>,<value>,
HARMPHASE,<phase><state>:= <ON, OFF>.
<type>:= <EVEN, ODD, ALL>.
<order>:= {1,2,...,M}, where M is the supported maximum order.
<unit>:= < HARMAMP, HARMDBC>.
<value>:= amplitude of specified harmonic. The range of valid
values depends on the model. When <unit>= HARMAMP, the unit is
volts, peak-to-peak “Vpp”, and when <unit>= HARMDBC, the unit is"dBc".
<phase>:= {0~360}, the unit is "degree"

130

int.siglent.com

Programming GuideQUERY SYNTAX<channel>:HARMonic?
<channel> : ={C1, C2}.

EXAMPLES

Enable the harmonic function of CH1:
C1:HARM HARMSTATE,ON
Set the 2nd harmonic of CH1 to -6 dBc:
C1:HARM HARMORDER,2,HARMDBC,-6
Get the harmonic information of CH1:
C1:HARM?
Return:C1:HARM ,HARMSTATE,ON,HARMTYPE,EVEN,HARMORDER,2,
HARMAMP,2.004748935V,HARMDBC,-6dBc,HARMPHASE,0

Note: The table below shows the availability of the command in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

no

yes

no

yes

yes

yes

HARM

3.42 Waveform Combining Command
DESCRIPTIONThis command sets or gets the waveform combining parameters.

COMMAND SYNTAX<channel>:CoMBiNe <state><channel>:= {C1, C2}.
<state>:= {ON, OFF}.

QUERY SYNTAX<channel>:CoMBiNe?
<channel>:= {C1, C2}.

RESPONSE FORMAT<channel>:CMBN <state>

EXAMPLES

Enable waveform combining forf CH1:
C1:CMBN ON

Int.siglent.com

131Programming Guide

Query the waveform combining state of CH2:
C2:CMBN?
Return:C2:CMBN OFF

Note: The table below shows the availability of the command in each SDG series.
Parameter/commandSDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

no

yes

no

yes

yes

yes

CMBN

3.43 Mode Select Command
DESCRIPTIONThis command sets or gets the phase mode.

COMMAND SYNTAXMODE <parameter><parameter>:= {PHASELOCKED, INDEPENDENT}.

QUERY SYNTAXMODE?

RESPONSE FORMAT

MODE <parameter>

EXAMPLESet the phase mode to INDEPENDENT:
MODE INDEPENDENT

Note: The table below shows the availability of the command in each SDG series.
Parameter/command
MODE

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

no

yes

no

yes

yes

yes

3.44 Multi-Device Sync
DESCRIPTION

132

This command set up synchronization between two or more
instruments and achieve in-phase output

int.siglent.com

Programming Guide

COMMAND SYNTAXCASCADE STATE,ON|OFF,MODE,<MODE>,DELAY,<DELAY><MODE>:={MASTER,SLAVE}<DELAY>:={0-0.000025},UNIT=s，This parameter can only be set
in slave mode

QUERY SYNTAXCASCADE?

RESPONSE FORMAT

Return from SLAVE MODE :CASCADE STATE,ON,MODE,SLAVE,DELAY, <DELAY>
Return from MASTER mode :CASCADE STATE,ON,MODE,MASTER

EXAMPLESet the device as slave and the delay to 0.0000001s:
CASCADE STATE,ON,MODE,SLAVE,DELAY,0.0000001

Note: The table below shows the availability of the command in each SDG series.
Parameter/command
CASCADEInt.siglent.com

SDG800

SDG1000

SDG2000X

SDG5000

SDG1000X

SDG6000X/X-E

SDG7000A

no

no

yes

no

no

yes

yes

133

Programming Guide

3.45 IQ Commands
The table below shows the availability of IQ commands in each SDG series.
Parameter

SDG

SDG

SDG

SDG

SDG

SDG

SDG

SDG

/command

800

1000

2000X

5000

1000X

6000X

6000X-E

7000A

IQ

no

no

no

no

no

yes

no

yes

3.45.1

IQ:WAVeinfo?

DESCRIPTIONThis command queries the waveform information of I/Q.

COMMAND SYNTAXIQ:WAVeinfo?

EXAMPLE

Query current I/Q waveform information:
IQ:WAVeinfo?
Return:WAVE_INFO,SYMBOL_LENTH,1024,OVER_SAMPLING,
4,MODULATION,2ASK,FILTER_TYPE,RootCosine,
FILTER_ALPHA,0.35

NOTE

3.45.2

Only on SDG7000A

IQ:CENTerfreq

DESCRIPTIONThis command sets the center frequency of the I/Q modulator.

COMMAND SYNTAXIQ:CENTerfreq <center_freq><unit><center_freq>:= the center frequency. Refer to the datasheet for
the range of valid values.
<unit>:= {Hz, kHz, MHz, GHz}. The default unit is Hertz “Hz”.

QUERY SYNTAX

134

IQ:CENTerfreq?

int.siglent.com

Programming GuideRESPONSE FORMAT<center_freq> (expressed in Hz.)

EXAMPLESet the center frequency to 1 kHz::IQ:CENTerfreq 1000Hz

3.45.3

IQ:SAMPlerate

DESCRIPTIONThis command sets the I/Q sampling rate.

COMMAND SYNTAXIQ:SAMPlerate <sample_rate><unit><sample_rate>:= sample rate. Refer to the datasheet for the rangeof valid values.
<unit>:= {Hz, kHz, MHz, GHz}. The default unit is Hertz “Hz”.

QUERY SYNTAXIQ:SAMPlerate?

RESPONSE FORMAT<sample_rate> (expressed in Hz.)

EXAMPLESet the sample rate to 100 kHz::IQ:SAMPlerate 100000
or::IQ:SAMP 100kHz

3.45.4

IQ:SYMBolrate

DESCRIPTIONThis command sets the I/Q symbol rate.

COMMAND SYNTAX

IQ:SYMBolrate <symb_rate><unit><symb_rate>:= symbol rate. Refer to the datasheet for the range ofvalid values.
<unit>:= {S/s, kS/s, MS/s}. The default unit is symbols-per-second“S/s”.

QUERY SYNTAX

IQ:SYMBolrate?

RESPONSE FORMAT<symb_rate> (expressed in S/s.)

Int.siglent.com

135

Programming Guide

EXAMPLESet the symbol rate to 1 MS/s::IQ:SYMB 1MS/s

3.45.5

IQ:AMPLitude

DESCRIPTIONThis command sets the I/Q amplitude.

COMMAND SYNTAXIQ:AMPLitude <amplitude><unit><amplitude>:= amplitude. Refer to the datasheet for the range ofvalid values.
<unit>:= {Vrms, mVrms, dBm}. The default unit is volts, root-meansquare “Vrms”.

QUERY SYNTAXIQ:AMPLitude?

RESPONSE FORMAT<amplitude> (expressed Vrms.)

EXAMPLESet the I/Q amplitude (sqrt(I2+Q2)) to 0.2 Vrms::IQ:AMPL 0.2

3.45.6IQ:IQADjustment:GAINDESCRIPTIONThis command adjusts the ratio of I to Q while preserving thecomposite.

COMMAND SYNTAX

IQ:IQADjustment:GAIN <gain_ratio><gain_ratio>:= Gain ratio of I to Q. The default unit is dB.

QUERY SYNTAX

IQ:IQADjustment:GAIN?

RESPONSE FORMAT<gain_ratio> (expressed in unit of dB.)

EXAMPLESet the gain ratio of I/Q to 0.1dB::IQ:IQADjustment:GAIN 0.1

136

int.siglent.com

Programming Guide

3.45.7IQ:IQADjustment:IOFFset

DESCRIPTIONThis command adjusts the I channel offset value.

COMMAND SYNTAX

IQ:IQADjustment:IOFFset <offset><unit><offset>:= I offset.
<unit>:= {V, mV, uV}. The default unit is volts “V”.

QUERY SYNTAX

IQ:IQADjustment:IOFFset?

RESPONSE FORMAT<offset> (expressed V.)

EXAMPLESet the I offset to 1 mV:
IQ:IQADjustment:IOFFset 1mV

3.45.8IQ:IQADjustment:QOFFset

DESCRIPTIONThis command adjusts the Q channel offset value.

COMMAND SYNTAX

IQ:IQADjustment:QOFFset <offset><unit><offset>:= Q offset.
<unit>:= {V, mV, uV}. The default unit is volts “V”.

QUERY SYNTAX

IQ:IQADjustment:QOFFset?

RESPONSE FORMAT<offset> (expressed in V.)

EXAMPLESet the Q offset to -1 mV:
IQ:IQAD:QOFF -0.001V

3.45.9IQ:IQADjustment:QSKew

DESCRIPTION

Int.siglent.com

This command adjusts the phase angle (quadrature skew) between
the I and Q vectors by increasing or decreasing the Q phase angle.

137Programming Guide

COMMAND SYNTAX

IQ:IQADjustment:QSKew <angle><angle>:= angle. The unit is degree.

QUERY SYNTAX

IQ:IQADjustment:QSKew?

RESPONSE FORMAT<angle> (expressed in unit of degree.)

EXAMPLESet the Q angle to 1 degree:
IQ:IQADjustment:QSKew 1.0

3.45.10 IQ:TRIGger:SOURceDESCRIPTIONThis command sets the I/Q trigger source.

COMMAND SYNTAXIQ:TRIGger:SOURce <src><src>:={INTernal,EXTernal,MANual}QUERY SYNTAXIQ:TRIGger:SOURce?

RESPONSE FORMAT<src>

EXAMPLESet the trigger source to INT:
IQ:TRIGger:SOURce INTernal

3.45.11 IQ:WAVEload:BUILtin
DESCRIPTIONThis command selects I/Q waveform from the built in waveform list.

COMMAND SYNTAXIQ:WAVEload:BUILtin <wave_name><wave_name>:= {A waveform name from the table below}.

QUERY SYNTAXIQ:WAVEload?

RESPONSE FORMATBUILtin|USERstored <wave_name>

EXAMPLESet the I/Q waveform to built-in 2ASK:
IQ:WAVE:BUIL “2ASK”

138

int.siglent.com

Programming Guide

2ASK

4ASK

8ASK

BPSK

4PSK

8PSK

DBPSK

4DPSK

8DPSK

8QAM

16QAM

32QAM

64QAM

128QAM

256QAM

3.45.12 IQ:WAVEload:USERstored
DESCRIPTIONThis command selects I/Q waveform from the user stored
waveforms.

COMMAND SYNTAXFormat1: IQ:WAVEload:USERstored “<wave_name>”<wave_name>:= { A waveform name from the user stored
waveforms}.
Format2: IQ:WAVEload:USERstored<path><Path>: = {waveform path from user storage (local, network storage,
USB flash disk), including file name and suffix}.

QUERY SYNTAXIQ:WAVEload?

RESPONSE FORMATBUILtin|USERstored <wave_name>

EXAMPLE1

Set the I/Q waveform to user stored UserIQ_1.arb:
IQ:WAVEload:USERstored wave1.arb

EXAMPLE2

Set the I/Q waveform as the user's locally stored waveform
wave1.arb：
IQ:WAVEload:USERstored ”wave1.arb”
Or：IQ:WAVEload:USERstored “Local/wave1.arb”

EXAMPLE3

Set the I / Q waveform to network storage waveform wave1.arb:
IQ:WAVEload:USERstored ”net_storage/wave/wave1.arb”

EXAMPLE4

Set the I / Q waveform to the U disk storage waveform wave1.arb:
IQ:WAVEload:USERstored ”U-disk0/ wave/wave1.arb”

Int.siglent.com

139

Programming Guide

Note1:(1) the path must be included in double quotation marks, for example: "net_storage/wave/wave1.
Arb”. Please refer to file manager for specific available paths.
(2) If no path is specified, the default is the local path. If no suffix is added, the default is Wav suffix.
(3) SDG6000X, waveforms need to be stored in the specified path (Local/EasyIQ_arb), The wave
file suffix is. arb

Note 2: the following table shows the availability of some commands in different SDG series.
Parameter

SDG

SDG

SDG

SDG

SDG

SDG

SDG

SDG

/command

800

1000

2000X

5000

1000X

6000X

6000X-E

7000A

USERstored

no

no

no

no

no

Format1

noFormat2

3.45.13 IQ:FrequencySampling
DESCRIPTIONThis command sets the I/Q Frequency sampling rate.

COMMAND SYNTAXIQ: FrequencySampling <sampling>< sampling >:= {1000-1250000000}. The unit is Hz

QUERY SYNTAXIQ:FrequencySampling?
IQ:FrequencySamplingLimit?

RESPONSE FORMAT<sampling>
MAX,<max_sampling>,MIN,< min_sampling >EXAMPLESet the I/Q frequency sampling to 2000000 Hz:
IQ:FrequencySampling 2000000

140

int.siglent.com

Programming Guide

3.46 File Operation Commands(Only SDG7000A)
3.46.1

MMEMory:DELete

DESCRIPTIONThis command deletes the file.

COMMAND SYNTAXMMEMory:DELete <parameter><parameter>:=”The path of the file”.

QUERY SYNTAXRESPONSE FORMAT
EXAMPLE

Delete a file whose path is “Local/1000pts.bin”:
MMEMory:DELete “Local/1000pts.bin”

3.46.2

MMEMory:RDIRectory

DESCRIPTIONThis command deletes the directory.

COMMAND SYNTAXMMEMory:RDIRectory <parameter><parameter>:=”The path of the directory”.

QUERY SYNTAXEXAMPLE

Delete a directory whose path is “Local/test”:
MMEMory:RDIRectory “Local/test”

3.46.3

MMEMory:MDIRectory

DESCRIPTIONThis command creates a new directory.

COMMAND SYNTAXMMEMory:MDIRectory <parameter><parameter>:=”The path of the directory”.

QUERY SYNTAX

Int.siglent.com

141

Programming Guide

EXAMPLE

Create a directory whose path is “Local/test”:
MMEMory:MDIRectory “Local/test”

3.46.4

MMEMory:CATalog

DESCRIPTIONThis command checks the files and the directories from the path orchecks the file with specific type.

COMMAND SYNTAXMMEMory:CATalog? <parameter><parameter>:=”The path of the directory”.
MMEMory:CATalog:DATA:ARBitrary? <parameter><parameter>:=”The path of the directory”.
MMEMory:CATalog:STATe:XMLanguage? <parameter><parameter>:=”The path of the directory”.

QUERY SYNTAXRESPONSE FORMAT

remain space, used space“File Name, File Type, File size”

EXAMPLE

Check the files and directories whose path is “Local/”:
MMEMory:CATalog? “Local”
Check the files with “.arb” or “.ARB” postfix whose path is “Local/”:
MMEMory:CATalog:DATA:ARBitrary? “Local”
Check the files with “.xml” or ”.XML” postfix whose path is “Local/”:
MMEMory:CATalog:STATe:XMLanguage? “Local”

3.46.5

MMEMory:COPY

DESCRIPTIONThis command copies a file or a directory .

COMMAND SYNTAXMMEMory:COPY <parameter><parameter>:= ”The path of the source”, “The path that the file isabout to pasted to”.

142

int.siglent.com

Programming GuideQUERY SYNTAXEXAMPLE

Copy the file whose path is ”Local/test/1000pts.bin” and paste to“Local/1000pts.bin”
MMEMory:COPY “Local/test/1000pts.bin”,”Local/1000pts.bin”
Copy the directory whose path is ”Local/src” and paste to“Local/copy/”
MMEMory:COPY “Local/src”, ”Local/copy”

3.46.6

MMEMory:MOVEDESCRIPTIONThis command movesthe file or the directory to a new location.

COMMAND SYNTAXMMEMory:MOVE<parameter><parameter>:= ”The path of the source”, “The path of the sourcethat is about to move to”.

QUERY SYNTAXRESPONSE FORMAT
EXAMPLE

Move the file whose path is ”Local/test/1000pts.bin” to“Local/1000pts.bin”
MMEMory:MOVE “Local/test/1000pts.bin”,”Local/1000pts.bin”
Move the directory whose path is ”Local/src” to “Local/copy/paste”
MMEMory:MOVE “Local/src”, ”Local/copy/”

3.46.7

MMEMory:SAVE:XML

DESCRIPTIONThis command saves an xml configuration file to the default path or
specified path

COMMAND SYNTAXMMEMory:SAVE:XML<parameter><parameter>:= {save path, including file name and suffix}.

QUERY SYNTAX
Int.siglent.com

143

Programming GuideRESPONSE FORMAT
EXAMPLE

Save the test.xml file to the local
MMEMory:SAVE:XML "Local/test.xml" or
MMEMory:SAVE:XML "test.xml"
Save the test.xml file to the network storage disk
MMEMory:SAVE:XML "net_storage/test.xml"
Save the test.xml file to the USB flash drive
MMEMory:SAVE:XML "U-disk0/test.xml"

3.46.8

MMEMory:LOAD:XML

DESCRIPTION

Load an xml configuration file from the default path or the specified
path

COMMAND SYNTAXMMEMory:LOAD:XML<parameter><parameter>:= {path, including file name and suffix}.

QUERY SYNTAXRESPONSE FORMAT
EXAMPLE

Load the test.xml file locally
MMEMory:SAVE:XML "Local/test.xml" or
MMEMory:SAVE:XML "test.xml"
Load the test.xml file from the network storage disk
MMEMory:SAVE:XML "net_storage/test.xml"
Load the test.xml file from the USB flash drive
MMEMory:SAVE:XML "U-disk0/test.xml"

3.46.9

MMEMory:TRANsfer

DESCRIPTION

144

This command can send customized data to the specified bin file inthe specified path

int.siglent.com

Programming Guide

COMMAND SYNTAXMMEMory:TRANsfer < parameter >,#{data}<parameter>:= {path, including file name and suffix}.
{data}:= Length of data length+data length+binary data

QUERY SYNTAXRESPONSE FORMAT
EXAMPLE

Send the data with the length of 1 and the length of 4 to the local
wave1.bin
MMEMory:TRANsfer "Local/wave1.bin",#14ABCD
Send data with data length of 1 and data length of 4 to wave1.binunder USB flash disk
MMEMory:TRANsfer "U-disk0/wave1.bin",#14ABCD
Send data with data length of 1 and data length of 4 to wave1.binunder the network storage disk
MMEMory:TRANsfer "net_storage /wave1.bin",#14ABCD

Int.siglent.com

145

Programming Guide

Waveform format

4This chapter gives a description of the waveform file format used by the signal source. Through these
instructions, you can learn how to customize and edit the waveform file.

Note: The following table shows the waveform file formats supported in each model
Model /

SDG

SDG

SDG

SDG

SDG

SDG

SDG

SDG

Format

800

1000

2000X

5000

1000X

6000X/X-E

6000X-E

7000A

bin

y

y

y

y

y

y

y

csv

y

y

y

y

dat

y

y

y

y

mat

y

awg

y

hop

y

wav

y

arb

4.1

y

y

bin

The bin file content is binary, and the file content is the codeword value of each point (codeword range- 32768~32767). Manual editing is not supported. When the machine imports the file, it maintains thecurrent amplitude, frequency and offset information, and directly converts each codeword value into
voltage output.

Note: The following table shows the bin file length of each model
Model /

SDG

SDG

SDG

SDG

SDG

SDG

SDG

SDG

param

800

1000

2000X

5000

1000X

6000X-E

6000X

7000A

<length>

32KB

32KB

4B~16MB

4B~16MB

4B~16MB

4B~40MB

4B~512M

codeword-32768~-32768~-32768~-32768~-32768~-32768~-32768~-32768~

range

32767

32767

32767

32767

32767

32767

32767

32767

146

32KB~
1024KB

int.siglent.com

Programming Guide

4.2

csv/dat

The contents of the csv and dat files are text. The CSV file supported by SDG7000A is divided into
header information and waveform data.
1.

The content of the csv header information contains the following four items. There can be more
information items, but the following four items must be included, and more items will be ignored.
One line for each item, ending with a newline character.

2.

Header information

Describe

amp, value

Amplitude of waveform

offset, value

Offset of waveform

frequency, value

Frequency of waveform

data length, value

Length of waveform

Each group of segment data occupies one row. One of the following four strings can be used as
the starting identifier (identifier occupies one line), which is placed before the wave data.
Starting identifier
Second, Volt
Xpos, value
Time, Ampl
Second, ValueAn example of csv format data is shown below:

The header information is removed from the csv file, and only the data is retained, which is dat format.

Int.siglent.com

147

Programming Guide

An example of dat format data is shown below:

4.3

mat

The mat file is composed of a fixed 128-byte file header information (mat_head) and two data units
The file header is represented by the following structure, and only the endian_Indicator needs to beconcerned, SDG7000A only supports IM mode:

typedef struct{char descriotive[116];char data_offset[8];uint16 version;//Version of the mat filechar endian_indicator[2]; // The value is IM or MI, indicates the size end mode
}cfg_mat_header_t;

There is a data header information (data_head, 88 bytes) at the beginning of each data unit, which isused to describe the number of bytes occupied by the data unit, data type, data block name and otherinformation.
The data block header is represented by the following structure:
typedef struct{
u32 data_type;u32 array_len;
u32 array_flag_data_type;u32 array_flag_data_len;
u32 array_flag_data_1;

148// Value must be CFG_ MI_ MATRIX

int.siglent.com

Programming Guide

u32 array_flag_data_2;
u32 dimensions_array_data_type;u32 dimensions_array_data_len;
u32 dimensions_array_data_1;
u32 dimensions_array_data_2;
u32 array_name_data_type;u32 array_name_data_len;char array_name_data[32];// The oscilloscope export file is XX_Time or XX_data
u32 data_tag_data_type;// Type of waveform data
u32 data_tag_data_len;// Size of waveform data
}matlab_data_head_t;

XX_ data_ Type represents the data type, which corresponds to the following enumeration values:
typedef enum :{CFG_MI_INT8=1,//8 bit, signed
CFG_MI_UINT8,//8 bit, unsigned
CFG_MI_INT16,//16-bit, signed
CFG_MI_UINT16,//16-bit, unsigned
CFG_MI_INT32,//32-bit, signed
CFG_MI_UINT32,//32-bit, unsigned
CFG_MI_SINGLE,//IEEE 754 single format
CFG_MI_RESERVED1,
CFG_MI_DOUBLE,//=9, IEEE 754 double format
CFG_MI_RESERVED2,
CFG_MI_RESERVED3,
CFG_MI_INT64,//=12, 64-bit, signed
CFG_MI_UINT64,//64-bit, unsigned
CFG_MI_MATRIX,//MATLAB array
CFG_MI_COMPRESSED, //Compressed Data
CFG_MI_UTF8,//Unicode UTF-8 Encoded Character Data
CFG_MI_UTF16,//Unicode UTF-16 Encoded Character Data
CFG_MI_UTF32,//Unicode UTF-32 Encoded Character Data
}cfg_mat_data_type_t;

Mat files exported by matlab are in compressed format by default, and need to be saved in noncompressed format as follows. And only two data segment files are supported. Time data needs
double, and waveform data needs single

Int.siglent.com

149

Programming Guide

4.4

awg

The content of the awg file is text. The awg file is divided into the following two parts:
1.

Sequence setting information. The following fields can be included (not required) to describe thesequence setting. The following fields are not required. Missing some fields will not affect the filerecall. The missing parameter will remain the current parameter. There may also be redundant
fields, which will be ignored.

FieldsDescribe

amplitude_scale, value

Amplitude of sequence. Value={Number between 0-1, data
type is float}

run_mode, mode

Run mode. mode ={ countinuous ,tcontinuous ,burst ,step ,advance }burst_count, value

The number of burst count at a single trigger. Value=integer.

timer_interval, value

The timing time when the timer is triggered. Value=float.

trigger_mode, mode
burst_hold_type, type
trigger_edge, edge

150

Trigger mode.
mode={ button ,timer ,external }Type of hold value in burst of run mode.
type ={ Zero ,Start Value ,End Value }Trigger edge polarity in case of external trigger.
Edge={ raise ,fall }int.siglent.com

Programming Guide

interp_mode, modeincreasing_strategy,
value

2.

Interpolation algorithm type.
Mode = { zero_hold ,linear ,sinc ,sinc_27 ,sinc_13 }Interpolation strategy.
value={ interpolation ,return_zer ,hold_last ,multiplication }decreasing_strategy,
value

Decreasing_strategy .value={ decimation ,cut_tail ,cut_head }mark_skew, value

Value of maker_skew.Value=float

file_type, SDS

The siglent oscilloscope exports the awg file flag. (Only the
awg file exported by the oscilloscope has this field). If there is
this field, the waveform file described by the segment
information should be in the same directory as the awg file.

start_play_segment,value

Output start segment. value=integer. Without this field, thesequence will output from the first segment

Segment information. Each segment information occupies one line. The parameters are
separated by commas. The information of each segment is divided into segments_ N starts.
Where N is the segment number, starting from 0 and adding 1 successively.

There are two formats for segment information, depending on whether the field file is included
file_name.

Format 1: Include file_name, Store the name and value of each parameter in a certain order. The
format is as follows:
segment_0,file_name,2_stairup_ram.bin,offset,0,amplitude,4,cfg_len,32768,repetition,1,goto,0,
goto_mode,next,marker_switch,1,marker_pos,0,segment_numb,0,segment_store_addr,0,wait_
event, none.
Value of goto_mode can be one of them: next, item.
Value of wait_event can be one of them:none, button, timer, external.

Format 2: No file_name Store the value of each parameter in a certain order. (no parametername). The format is as follows:
segment_0,C1_seg00001.csv,-0.047059,4.141177,50000,1,-1,next,0,0.
Int.siglent.com

151

Programming Guide

Definition of parameters: Segment number (segment_0), ile name (C1_seg00001.csv), offset (0.047059), amplitude (4.141177), wave points (50000), Repetitions (1), Go to segment number(-1, Because the next parameter jump mode is next), jump (next), marker_switch (0), marker_pos
(0).

4.5

hop

The hop file is used to store the frequency hopping sequence. The file is divided into three data blocks
to store three tables: frequency list, order list, and frequency avoid list. The file content is text, which
can be edited manually
The Hop file has three data blocks, which are stored in different lines. Each line stores one parameteror data.
The first line is file version number: Ver:1.0
The second line is frequency list version number: FreqListVer:1.0
The third line is the data starting mark of the frequency list: freq_list_ start
The following is the frequency list data
The last line of frequency list ends with an end tag: freq_list_end
Next is the order list and frequency avoid list. The structure is the same as the frequency list, but the
keywords are different, as follows:
OrderListVer:1.0 -- Version number of order list
order_list_start -- Start tag of order list data
order_list_end -- End tag of order list data
AvoidListVer:1.0 -- Version number of frequency avoid list
avoid_list_start -- Start tag of frequency avoid list data
avoid_list_end -- End tag of frequency avoid list data
Two data in each row of the data block are separated by commas.
Example:152

int.siglent.com

Programming Guide

4.6

wav/arb

The wav/arb file is an IQ waveform file. The wav/arb file consists of two parts: header and data. The
header is text data. Waveform data is binary data.
The header must end with "IQData,". From the beginning of the file to "IQData," is the file informationin text format. "IQData," is followed by binary waveform data.
When loading the wav/arb file, the following keywords (key_str) will be read from the header forparsing. If some of the following keywords do not exist in the header, the corresponding information
will be set to the default value or left blank. If there is extra information, it will be ignored. " key_ Str,value "form a group of description information, and each group of description information is separated
by commas. The following is a header instance of a wav/arb file and the meaning of each keyword
FileType,IQ,Version,2.0,FileName,test.ARB,DataSourceType,PN9,SymbolLength,512,SymbolRate,
1000000,ModulationType,16QAM,FilterType,RootCosine,FilterBandwidth,0,FilterAlpha,0.5,FilterLen
gth,32,OverSampling,2,ActualSampleLength,512,SampleRate,2000000.000000,RMS,0.684953707
203608,DataLength,1024,IQData.
keyword

Describe

FileType

Type of file (IQ)

VersionVersion number

DataSourceType
SymbolLengthInt.siglent.com

Symbol length
153

Programming Guide

SymbolRate

Symbol rate

ModulationType

Modulation type

FilterType

Filter type

FilterBandwidth
FilterAlpha

Filter Alpha

FilterLength

Filter length

OverSampling

Oversampling

ActualSampleLength
SampleRate

sampling rate

DataLength
RMS
IQData154

int.siglent.com

Programming Guide

Programming Examples

5This chapter gives some examples for the programmer. In these examples, you can see how to use
VISA or sockets, in combination with the commands described above to control the generator. By
following these examples, you can develop many more applications.

Examples of Using VISA

5.1
5.1.1

VC++ Example

Environment: Windows 7 32-bit, Visual Studio.
Description: Query the instrument information using "*IDN?" command over NI-VISA, with theaccess through USBTMC and TCP/IP separately.

Steps:
1. Open Visual Studio and create a new VC++ win32 console project.
2. Set the project environment to use the NI-VISA lib, there are two ways to specify NI-VISA, static
or automatic:a)Static:Find the files visa.h, visatype.h, and visa32.lib in the NI-VISA installation path, copy them tothe root path of the VC++ project, and add them to the project. In the project name.cpp file,
add the following two lines:#include "visa.h"#pragma comment(lib,"visa32.lib")b)Dynamic:
In "project---properties---c/c++---General---Additional Include Directories" set the value to
the NI-VISA installation path (e.g. C:\Program Files\IVI Foundation\VISA\WinNT\include), as
shown in the figure below:

Int.siglent.com

155

Programming Guide

In " project---properties---Linker---General---Additional Library Directories " set the value to
the NI-VISA installation path (e.g. C:\Program Files\IVI Foundation\VISA\WinNT\include), as
shown in the figure below:

In "project---properties---Linker---Command Line---Additional" set the value to visa32.lib, asshown in the figure below:

156

int.siglent.com

Programming Guide

Include visa.h file in the projectname.cpp file:#include <visa.h>

3. Coding:a)

USBTMC:
int Usbtmc_test(){/* This code demonstrates sending synchronous read & write commands *//* to an USB Test & Measurement Class (USBTMC) instrument using/* NI-VISA*/*//* The example writes the "*IDN?\n" string to all the USBTMC*//* devices connected to the system and attempts to read back*//* results using the write and read functions.

*//* The general flow of the code is */Int.siglent.com/*

Open Resource Manager*//*

Open VISA Session to an Instrument/*

Write the Identification Query Using viPrintf/*

Try to Read a Response With viScanf/*

Close the VISA Session

*/
*/
*/

*/
157

Programming Guide/***********************************************************/ViSession defaultRM;
ViSession instr;
ViUInt32 numInstrs;
ViFindList findList;
ViStatus status;
char

instrResourceString[VI_FIND_BUFLEN];

unsignedchar buffer[100];
inti;/** First we must call viOpenDefaultRM to get the manager* handle. We will store this handle in defaultRM.*/
status=viOpenDefaultRM (&defaultRM);
if (status<VI_SUCCESS){
printf ("Could not open a session to the VISA Resource Manager!\n");return status;}/* Find all the USB TMC VISA resources in our system and store the number ofresources in the system in numInstrs.
status=viFindRsrc(defaultRM,*/"USB?*INSTR",&findList,&numInstrs,

instrResourceString);
if (status<VI_SUCCESS){
printf ("An error occurred while finding resources.\nPress 'Enter' to continue.");fflush(stdin);getchar();viClose (defaultRM);
return status;}

158

int.siglent.com

Programming Guide/** Now we will open VISA sessions to all USB TMC instruments.
* We must use the handle from viOpenDefaultRM and we must
* also use a string that indicates which instrument to open. This
* is called the instrument descriptor. The format for this string* can be found in the function panel by right-clicking on the* descriptor parameter. After opening a session to the* device, we will get a handle to the instrument which we* will use in later VISA functions. The AccessMode and Timeout* parameters in this function are reserved for future* functionality. These two parameters are given the value VI_NULL.*/
for (i=0; i<int(numInstrs); i++){
if (i> 0){
viFindNext (findList, instrResourceString);}
status = viOpen (defaultRM, instrResourceString, VI_NULL, VI_NULL, &instr);
if (status<VI_SUCCESS){
printf ("Cannot open a session to the device %d.\n", i+1);
continue;}/* * At this point we now have a session open to the USB TMC instrument.
* We will now use the viPrintf function to send the device the string "*IDN?\n",* asking for the device's identification. */char * cmmand ="*IDN?\n";status = viPrintf (instr, cmmand);if (status<VI_SUCCESS){

Int.siglent.com

159

Programming Guide

printf ("Error writing to the device %d.\n", i+1);
status = viClose (instr);
continue;}/** Now we will attempt to read back a response from the device to* the identification query that was sent. We will use the viScanf* function to acquire the data.
* After the data has been read the response is displayed.*/status = viScanf(instr, "%t", buffer);
if (status<VI_SUCCESS){
printf ("Error reading a response from the device %d.\n", i+1);}
else{
printf ("\nDevice %d: %s\n", i+1 , buffer);}status = viClose (instr);}/** Now we will close the session to the instrument using* viClose. This operation frees all system resources.

*/

status = viClose (defaultRM);
printf("Press 'Enter' to exit.");fflush(stdin);getchar();return 0;}160

int.siglent.com

Programming Guide

int _tmain(int argc, _TCHAR* argv[]){
Usbtmc_test();return 0;}

Run result:b)

TCP/IP:
int TCP_IP_Test(char *pIP){
char outputBuffer[VI_FIND_BUFLEN];
ViSession defaultRM, instr;
ViStatus status;/* First we will need to open the default resource manager. */status = viOpenDefaultRM (&defaultRM);
if (status<VI_SUCCESS){
printf("Could not open a session to the VISA Resource Manager!\n");}/* Now we will open a session via TCP/IP device */char head[256] ="TCPIP0::";char tail[] ="::INSTR";

Int.siglent.com

161

Programming Guide

strcat(head,pIP);
strcat(head,tail);
status = viOpen (defaultRM, head, VI_LOAD_CONFIG, VI_NULL, &instr);
if (status<VI_SUCCESS){
printf ("An error occurred opening the session\n");viClose(defaultRM);}
status = viPrintf(instr, "*idn?\n");status = viScanf(instr, "%t", outputBuffer);
if (status<VI_SUCCESS){
printf ("viRead failed with error code: %x \n",status);
viClose(defaultRM);}
else{
printf ("\nMesseage read from device: %*s\n", 0,outputBuffer);}status = viClose (instr);
status = viClose (defaultRM);
printf("Press 'Enter' to exit.");fflush(stdin);getchar();return 0;}

int _tmain(int argc, _TCHAR* argv[]){

162

int.siglent.com

Programming Guide

printf("Please input IP address:");char ip[256];
fflush(stdin);gets(ip);
TCP_IP_Test(ip);return 0;}

Run result:

VB ExampleEnvironment: Windows 7 32-bit, Microsoft Visual Basic 6.0

Description: Query the instrument information using the “*IDN?" command over NI-VISA, via
USBTMC and TCP/IP separately.

Steps:
1.

Open Visual Basic, and build a standard application program project.

2.

Set the project environment to use the NI-VISA lib: Click the Existing tab of Project>>Add Existing
Item, search the visa32.bas file in the “include” folder under the NI-VISA installation path and add
the file, as shown in the figure below:

Int.siglent.com

163

Programming Guide

3.

Coding:a)

USBTMC:Private Function Usbtmc_test() As Long
‘ This code demonstrates sending synchronous read & write commands‘ to an USB Test & Measurement Class (USBTMC) instrument using‘ NI-VISA‘ The example writes the “*IDN?\n” string to all the USBTMC‘ devices connected to the system and attempts to read back‘ results using the write and read functions.
‘ The general flow of the code is‘Open Resource Manager‘

Open VISA Session to an Instrument‘

Write the Identification Query Using viWrite‘

Try to Read a Response With viRead‘

Close the VISA Session

Const MAX_CNT = 200

Dim defaultRM As Long
Dim instrsesn As Long
Dim numlnstrs As Long164

int.siglent.com

Programming Guide

Dim findList As Long
Dim retCount As Long
Dim status As Long
Dim instrResourceString As String * VI_FIND_BUFLEN
Dim Buffer As String * MAX_CNT
Dim I As Integer‘' First we must call viOpenDefaultRM to get the manager‘' handle. We will store this handle in defaultRM.
status = viOpenDefaultRM(defaultRM)
If (status < VI_SUCCESS) Then
resultTxt.Text =“"Could not open a session to the VISA Resource Manager”"
Usbtmc_test = status
Exit Function
End If‘' Find all the USB TMC VISA resources in our system and store the‘' number of resources in the system in numInstrs.
status = viFindRsrc(defaultRM,“"USB?*INST”", findList, numlnstrs, instrResourceString)If (status < VI_SUCCESS) Then
resultTxt.Text =“"An error occurred while finding resources”"
viClose(defaultRM)
Usbtmc_test = status
Exit Function
End If‘' Now we will open VISA sessions to all USB TMC instruments.
‘' We must use the handle from viOpenDefaultRM and we must‘' also use a string that indicates which instrument to open. This

Int.siglent.com

165

Programming Guide‘' is called the instrument descriptor. The format for this string‘' can be found in the function panel by right-clicking on the‘' descriptor parameter. After opening a session to the‘' device, we will get a handle to the instrument which we‘' will use in later VISA functions. The AccessMode and Timeout‘' parameters in this function are reserved for future‘' functionality. These two parameters are given the value VI_NULL.
For i = 0 To numInstrs
If (i > 0) Thenstatus = viFindNext(findList, instrResourceString)
End Ifstatus = viOpen(defaultRM, instrResourceString, VI_NULL, VI_NULL, instrsesn)
If (status < VI_SUCCESS) Then
resultTxt.Text =“"Cannot open a session to the device“" + CStr(i + 1)
GoTo NextFind
End If‘' At this point we now have a session open to the USB TMC instrument.
‘' We will now use the viWrite function to send the device the string“"*IDN”",‘' asking for the devic’'s identification.
status = viWrite(instrsesn,“"*IDN”", 5, retCount)
If (status < VI_SUCCESS) Then
resultTxt.Text =“"Error writing to the device”"
status = viClose(instrsesn)
GoTo NextFind
End If‘' Now we will attempt to read back a response from the device to‘' the identification query that was sent. We will use the viRead‘' function to acquire the data.

166

int.siglent.com

Programming Guide‘' After the data has been read the response is displayed.
status = viRead(instrsesn, Buffer, MAX_CNT, retCount)
If (status < VI_SUCCESS) Then
resultTxt.Text =“"Error reading a response from the device”" + CStr(i + 1)
ElseresultTxt.Text =“"Read from device:“" + CStr(i + 1) +“"“" + Buffer
End Ifstatus = viClose(instrsesn)
Next i‘' Now we will close the session to the instrument using‘' viClose. This operation frees all system resources.
status = viClose(defaultRM)
Usbtmc_test = 0
End Functionb)

TCP/IP:
Private Function TCP_IP_Test(ByVal ip As String) As Long
Dim outputBuffer As String * VI_FIND_BUFLEN
Dim defaultRM As Long
Dim instrsesn As Long
Dim status As Long
Dim count As Long‘' First we will need to open the default resource manager.
status = viOpenDefaultRM(defaultRM)
If (status < VI_SUCCESS) Then
resultTxt.Text =“"Could not open a session to the VISA Resource Manager”"

Int.siglent.com

167

Programming Guide

TCP_IP_Test = status
Exit Function
End If‘' Now we will open a session via TCP/IP device
status = viOpen(defaultRM,“"TCPIP0:”" + ip +“"::INST”", VI_LOAD_CONFIG, VI_NULL,
instrsesn)
If (status < VI_SUCCESS) Then
resultTxt.Text =“"An error occurred opening the sessio”"
viClose(defaultRM)
TCP_IP_Test = status
Exit Function
End Ifstatus = viWrite(instrsesn,“"*IDN”", 5, count)
If (status < VI_SUCCESS) Then
resultTxt.Text =“"Error writing to the device”"
End Ifstatus = viRead(instrsesn, outputBuffer, VI_FIND_BUFLEN, count)
If (status < VI_SUCCESS) Then
resultTxt.Text =“"Error reading a response from the device”" + CStr(i + 1)
ElseresultTxt.Text =“"read from device”" + outputBuffer
End Ifstatus = viClose(instrsesn)
status = viClose(defaultRM)
TCP_IP_Test = 0
End Function168

int.siglent.com

Programming Guidec)

Button control code:
Private Sub exitBtn_Click()End
End Sub
Private Sub tcpipBtn_Click()Dim stat As Long
stat = TCP_IP_Test(ipTxt.Text)
If (stat < VI_SUCCESS) Then
resultTxt.Text = Hex(stat)
End IfEnd Sub
Private Sub usbBtn_Click()Dim stat As Long
stat = Usbtmc_test
If (stat < VI_SUCCESS) Then
resultTxt.Text = Hex(stat)
End IfEnd Sub

Run result:Int.siglent.com

169

Programming Guide

MATLAB ExampleEnvironment: Windows 7 32-bit, MATLAB R2013a

Description: Query the instrument information using the "*IDN?" command over NI-VISA, with theaccess through USBTMC and TCP/IP separately.

Steps:
1.

Open MATLAB, and modify the current directory. In this demo, the current directory is modified
to "D:\USBTMC_TCPIP_Demo".

2.

Click File>>New>>Script in the Matlab interface to create an empty M file.

3.

Coding:a)

USBTMC:
function USBTMC_test()% This code demonstrates sending synchronous read & write commands% to an USB Test & Measurement Class (USBTMC) instrument using% NI-VISA%Create a VISA-USB object connected to a USB instrument
vu = visa('ni','USB0::0xF4ED::0xEE3A::sdg2000x::INSTR');%Open the VISA object createdfopen(vu);%Send the string "*IDN?",asking for the device's identification.
fprintf(vu,'*IDN?');%Request the data
outputbuffer = fscanf(vu);disp(outputbuffer);

170

int.siglent.com

Programming Guide%Close the VISA object
fclose(vu);delete(vu);clear vu;end

Run result:b)

TCP/IP:
Write a function TCP_IP_Test:

function TCP_IP_test()% This code demonstrates sending synchronous read & write commands% to a TCP/IP instrument using NI-VISA%Create a VISA-TCPIP object connected to an instrument%configured with IP address.
vt = visa('ni',['TCPIP0::','10.11.13.32','::INSTR']);%Open the VISA object createdfopen(vt);%Send the string "*IDN?",asking for the device's identification.
fprintf(vt,'*IDN?');%Request the data
Int.siglent.com

171

Programming Guide

outputbuffer = fscanf(vt);disp(outputbuffer);%Close the VISA object
fclose(vt);delete(vt);clear vt;

end

Run result:

5.1.2

LabVIEW Example

Environment: Windows 7 32-bit, LabVIEW 2011
Description: Query the instrument information using the “*IDN?" command over NI-VISA, with theaccess through USBTMC and TCP/IP separately.

Steps:
1. Open LabVIEW, and create a VI file.
2. Add controls. Right-click in the Front Panel interface, select and add VISA resource name,error in, error out and some indicators from the Controls column.
3. Open the Block Diagram interface. Right-click on the VISA resource name, select and add thefollowing functions from VISA Palette from the pop-up menu: VISA Write, VISA Read, VISA
Open, and VISA Close.
4. The connection is as shown in the figure below:

172

int.siglent.com

Programming Guide

5. Select the device resource from the VISA Resource Name list box and run the program.

In this example, the VI opens a VISA session to a USBTMC device, writes a "*IDN?" commandto the device, and reads back the response. After all communication is complete, the VI closes
the VISA session.

6. Communicating with the device via TCP/IP is similar to USBTMC. But you need to change VISA
Write and VISA Read Function to Synchronous I/O. The LabVIEW default is asynchronous I/O.
Right-click the node and select Synchronous I/O Mod>>Synchronous from the shortcut menu towrite or read data synchronously.

Int.siglent.com

173

Programming Guide

7. The connection is as shown in the figure below:

8. Input the IP address and run the program.

5.1.3

Python2 Example

Environment: Python2.7, PyVISA 1.4(Please install PyVISA after installing Python2.7. Please refer tohttps://pyvisa.readthedocs.io/en/stable/getting.html for the PyVISA installation guide.

Description: Use Python script to build an 8-point 16-bit arbitrary waveform (0x1000, 0x2000, 0x3000,
0x4000, 0x5000, 0x6000, 0x7000, 0x7fff) and save the waveform data in "wave1.bin", then download
it to the instrument, finally read it back from the instrument and save it as "wave2.bin".
174

int.siglent.com

Programming Guide

Below is the code of the script:#!/usr/bin/env python2.7# -*- coding: utf-8 -*-import visa
import time
import binascii#USB resource of Device
device_resource = "USB0::0xF4EC::0x1101::#15::INSTR"#Little endian, 16-bit 2's complement
wave_points = [0x0010, 0x0020, 0x0030, 0x0040, 0x0050, 0x0060, 0x0070, 0xff7f]

def create_wave_file():"""create a file"""f = open("wave1.bin", "wb")for a in wave_points:
b = hex(a)b = b[2:]len_b = len(b)if (0 == len_b):b = '0000'
elif (1 == len_b):b = '000' + b
elif (2 == len_b):b = '00' + b
elif (3 == len_b):Int.siglent.com

175

Programming Guideb = '0' + b
c = binascii.a2b_hex(b)#Hexadecimal integer to ASCii encoded string

f.write(c)f.close()def send_wawe_data(dev):"""send wave1.bin to the device"""f = open("wave1.bin", "rb")#wave1.bin is the waveform to be sent

data = f.read()print 'write bytes:',len(data)
dev.write("C1:WVDTWVNM,wave1,FREQ,2000.0,AMPL,4.0,OFST,0.0,PHASE,0.0,WAVEDATA,%s" % (data))#"X" series (SDG1000X/SDG2000X/SDG6000X/X-E)
dev.write("C1:ARWV NAME,wave1")
f.close()def get_wave_data(dev):"""get wave from the devide"""f = open("wave2.bin", "wb")#save the waveform as wave2.bin

dev.write("WVDT? user,wave1")#"X" series (SDG1000X/SDG2000X/SDG6000X/X-E)

time.sleep(1)data = dev.read()
data_pos = data.find("WAVEDATA,") + len("WAVEDATA,")
print data[0:data_pos]
wave_data = data[data_pos:]print 'read bytes:',len(wave_data)
f.write(wave_data)
f.close()176

int.siglent.com

Programming Guide

if __name__ == '__main__':""""""
device = visa.instrument(device_resource, timeout=5000, chunk_size = 40*1024)
create_wave_file()
send_wawe_data(device)get_wave_data(device)

Output waveform:

5.1.4

Python3 Example

Environment: Python3.6.5，PyVISA 1.9
Same example, but for Python 3.6.5#!/usr/bin/env python3.6.5# -*- coding: utf-8 -*-import visa
import time
import binascii#USB resource of Device
Int.siglent.com

177

Programming Guide

device_resource = 'USB0::0xF4EC::0x1102::SDG7ABAQ5R0010::INSTR'#Little endian, 16-bit2's complement
wave_points = [0x0080, 0x0070, 0x0060, 0x0040, 0x0050, 0x0060, 0x0070, 0xff7f,0x0050]

def create_wave_file():"""create a file"""f = open("wave1.bin", "wb")for a in wave_points:
b = hex(a)b = b[2:]len_b = len(b)if (0 == len_b):b = '0000'
elif (1 == len_b):b = '000' + b
elif (2 == len_b):b = '00' + b
elif (3 == len_b):b = '0' + b
c = binascii.a2b_hex(b)#Hexadecimal integer to ASCii encoded string

f.write(c)f.close()def send_wawe_data(dev):"""send wave1.bin to the device"""f = open("wave1.bin", "rb")#wave1.bin is the waveform to be sent

data = f.read()print ('write bytes:%s'%len(data))

178

int.siglent.com

Programming Guide

dev.write("C1:WVDTWVNM,wave1,FREQ,2000.0,AMPL,4.0,OFST,0.0,PHASE,0.0,WAVEDATA,%s"%(data))#"X" series (SDG1000X/SDG2000X/SDG6000X/X-E)
dev.write("C1:ARWV NAME,wave1")
f.close()def get_wave_data(dev):"""get wave from the devide"""f = open("wave2.bin", "wb")#save the waveform as wave2.bin

dev.write("WVDT? user,wave1")#"X" series (SDG1000X/SDG2000X/SDG6000X/X-E)

time.sleep(1)data = dev.read()
data_pos = data.find("WAVEDATA,") + len("WAVEDATA,")
print (data[0:data_pos])
wave_data = data[data_pos:]print ('read bytes:%s'%len(wave_data))
f.write(wave_data)
f.close()if __name__ == '__main__':""""""
rm=visa.ResourceManager()device=rm.open_resource(device_resource,

timeout=50000,

chunk_size=

24*1024*1024)
create_wave_file()
send_wawe_data(device)#get_wave_data(device)

Int.siglent.com

179

Programming Guide

5.1.5

Python3 Example(Digital)

Environment: Python3.6.5，PyVISA 1.9
Same example, but for the digital output channels.
#!/usr/bin/env python3# -*- coding: utf-8 -*import pyvisa as visa
import time
import binascii# resource of Device
device_resource = 'USB0::0xF4EC::0x1102::SDG7ACBC5M0005::INSTR'
d7 = '000011110000' # Data stream of ch7 in digitald6 = '101010101010' # Data stream of ch6 in digitald5 = '010101010101' # Data stream of ch5 in digitald4 = '110011001100' # Data stream of ch4 in digitald3 = '000000111111' # Data stream of ch3 in digitald2 = '111000111000' # Data stream of ch2 in digital
d1 = '001100110011' # Data stream of ch1 in digitald0 = '110011001100' # Data stream of ch0 in digitalother = '00000000' # The last 8ch data is 0
wave_points = []for i7, i6, i5, i4, i3, i2, i1, i0 in zip(d7, d6, d5, d4, d3, d2, d1, d0):a = i7 + i6 + i5 + i4 + i3 + i2 + i1 + i0 + otherwave_points.append(int(a, 2))
def create_wave_file():"""create a file"""f = open("wave1.bin", "wb")for a in wave_points:
b = hex(a)b = b[2:]len_b = len(b)if (0 == len_b):b = '0000'
elif (1 == len_b):b = '000' + b
elif (2 == len_b):b = '00' + b
elif (3 == len_b):
180

int.siglent.com

Programming Guideb = '0' + b
c = binascii.unhexlify(b) # Hexadecimal integer to ASCii encoded string
f.write(c)f.close()def send_wave_data(dev):"""send wave1.bin to the device"""f = open("wave1.bin", "rb") # wave1.bin is the waveform to be sent
data = f.read().decode("latin1")
print('write class:', type(data))
print('write bytes:', len(data))
dev.write_termination = ''dev.write("DIG:WVDT WVNM,digital, WAVEDATA,%s" % (data), encoding='latin1')
f.close()return data
if __name__ == '__main__':""""""
rm = visa.ResourceManager()device = rm.open_resource(device_resource, timeout=50000, chunk_size=24 * 1024 *1024)
create_wave_file()
send = send_wave_data(device)print('Done')Int.siglent.com

181

Programming Guide

Examples of Using Sockets

5.2
5.2.1

Python Example

Python has a low-level networking module that provides access to the socket interface. Python scripts
can be written for sockets to do a variety of tests and measurement tasks.

Environment: Windows 7 32-bit, Python v2.7.5
Description: Open a socket, send a query, and repeat this loop 10 times, finally close the socket.
Note that SCPI command strings must be terminated with a “\n” (new line) character in programming.

Below is the code of the script:#!/usr/bin/env python#-*- coding:utf-8 –*#----------------------------------------------------------------------------# The short script is an example that opens a socket, sends a query,# print the return message and closes the socket.
#-----------------------------------------------------------------------------

import socket# for sockets

import sys # for exit
import time # for sleep#-----------------------------------------------------------------------------

remote_ip = "10.11.13.40" # should match the instrument’s IP address
port = 5025 # the port number of the instrument service
count = 0182

int.siglent.com

Programming Guide

def SocketConnect():try:#create an AF_INET, STREAM socket (TCP)s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error:
print ('Failed to create socket.')sys.exit();try:#Connect to remote servers.connect((remote_ip , port))
except socket.error:
print ('failed to connect to ip ' + remote_ip)
return s

def SocketQuery(Sock, cmd):
try :#Send cmd string
Sock.sendall(cmd)time.sleep(1)except socket.error:#Send failed
print ('Send failed')
sys.exit()
reply = Sock.recv(4096)
return reply

def SocketClose(Sock):#close the socket
Sock.close()

Int.siglent.com

183

Programming Guide

time.sleep(.300)

def main():global remote_ip
global port
global count# Body: send the SCPI commands “*IDN?” 10 times and print the return message
s = SocketConnect()for i in range(10):qStr = SocketQuery(s, b'*IDN?\n')print (str(count) + ":: " + str(qStr))count = count + 1
SocketClose(s)input('Press "Enter" to exit')

if __name__ == '__main__':proc = main()

Run result:184

int.siglent.com

Programming Guide

6

Index

*IDN
*OPC
*RST

A
ARWV

ArbWaVeB
BSWV

BaSic_WaVe

BTWV

BursTWaVe

BUZZ

BUZZerC
CASCADE
CHDR

Comm_HeaDeR

COUP

COUPling

CMBN

CoMBiNeF
FCNTFreqCouNTer

H
HARM

HARMonicI
IQ:CENT

IQ:CENTerfreq

IQ:SAMPIQ:SAMPlerate

Int.siglent.com

185

Programming Guide

IQ:SYMB

IQ:SYMBolrate

IQ:AMPL

IQ:AMPLitude

IQ:IQAD:GAIN

IQ:IQADjustment:GAIN

IQ:IQAD:IOFFset

IQ:IQADjustment:IOFFset

IQ:IQAD:QOFFset

IQ:IQADjustment:QOFFset

IQ:IQAD:QSKIQ:IQADjustment:QSKew

IQ:TRIG:SOUR

IQ:TRIGger:SOURce

IQ:WAVE:BUIL

IQ:WAVEload:BUILtin

IQ:WAVE:USER

IQ:WAVEload:USERstored

IQ:FrequencySampling IQ:FrequencySampling
IVNT

INVERTL
LAGG

LAnGuaGe

M
MDWV

MoDulateWaVe

MODE

MODE

N
NBFM

NumBer_ForMat

O
OUTP

OUTPutP
PACPParaCoPy

R

186

int.siglent.com

Programming Guide

ROSC

ROSCillator

S
SCFG

Sys_CFGSCSV

SCreen_SaVe

SWWV

SweepWaVe

SYNC

SYNC

STL

StoreList

SYST:COMM:LAN:IPAD

SYSTem:COMMunicate:LAN:IPADdress

SYST:COMM:LAN:SMAS

SYSTem:COMMunicate:LAN:SMASk

SYST:COMM :LAN:GAT

SYSTem:COMMunicate:LAN:GATeway

SRATE

SampleRATE

W
WVDT

WVDT

V
VOLTPRT
VKEY

VOLTPRT

VirtualKEY

Int.siglent.com

187

About SIGLENTSIGLENT is an international high-tech company, concentrating on R&D, sales,
production and services of electronic test & measurement instruments.
SIGLENT first began developing digital oscilloscopes independently in 2002.
After more than a decade of continuous development, SIGLENT has extended
its product line to include digital oscilloscopes, isolated handheld
oscilloscopes,

function/arbitrary

waveform

generators,

RF/MWsignalgenerators, spectrum analyzers, vector network analyzers, digital multimeters,
DC power supplies, electronic loads and other general purpose test
instrumentation. Since its first oscilloscope was launched in 2005, SIGLENT
has become the fastest growing manufacturer of digital oscilloscopes. We
firmly believe that today SIGLENT is the best value in electronic test &measurement.

Headquarters:
SIGLENT Technologies Co., Ltd
Add: Bldg No.4 & No.5, Antongda Industrial

Zone, 3rd Liuxian Road, Bao'an District,
Shenzhen, 518101, China
Tel: + 86 755 3688 7876
Fax: + 86 755 3359 1582
Email: sales@siglent.com
Website: int.siglent.com

North America:
SIGLENT Technologies America, Inc
6557 Cochran Rd Solon, Ohio 44139
Tel: 440-398-5800
Toll Free: 877-515-5551
Fax: 440-399-1211

Email: info@siglentna.com
Website: www.siglentna.com
Follow us on
Facebook: SiglentTech

Europe:SIGLENT Technologies Germany GmbH
Add: Staetzlinger Str. 70
86165 Augsburg, Germany
Tel: +49(0)-821-666 0 111 0
Fax: +49(0)-821-666 0 111 22
Email: info-eu@siglent.com
Website: www.siglenteu.com