SSG3000X Series Signal Generator

Programming Guide
PG0803X-E01B

SIGLENT
Contents

1.

Programming Overview ...................................................... 5

1.1

Build Communication ..................................................................... 5

1.1.1

Build Communication Using VISA ............................................................. 5

1.1.2

Build Communication Using Sockets ........................................................ 8

1.1.3

Connecting the signal generator via the USB Host port............................. 8

1.2

Remote Control Capabilities ........................................................... 9

1.2.1

User-defined Programming ..................................................................... 9

1.2.2

Send SCPI Commands via NI-MAX ............................................................ 92.

SCPI Overview................................................................... 13

2.1

Command Format ........................................................................ 13

2.2

Symbol Instruction ....................................................................... 13

2.3

Parameter Type............................................................................ 14

2.4

Command Abbreviation ............................................................... 153.

System Commands ........................................................... 16

3.1IEEE Common Commands ............................................................. 16

3.1.1

Identification Query (*IDN) ..................................................................... 16

3.1.2

Reset (*RST) ........................................................................................... 16

3.1.3

Clear Status (*CLS) ................................................................................. 17

3.1.4

Standard Event Status Enable (*ESE) ...................................................... 17

3.1.5Standard Event Status Register Query (*ESR) .......................................... 17

3.1.6

Operation Complete Query (*OPC) ......................................................... 18

3.1.7

Service Request Enable (*SRE) ............................................................... 18

3.1.8

Status Byte Query (*STB) ........................................................................ 18

3.1.9

Wait-to-Continue (*WAI) ........................................................................ 19

3.1.10Self Test Query (*TST) ............................................................................. 19

3.2

System Subsystem ....................................................................... 19

3.2.1

System Time (:SYSTem:TIME) ................................................................. 19

3.2.2

System Date (:SYSTem:DATE)................................................................. 20

3.2.3

IP Address (:SYSTem:COMMunicate:LAN:IPADdress) .............................. 20

3.2.4

Gateway (:SYSTem:COMMunicate:LAN:GATeway) .................................. 21

2 SSG3000X Programming GuideSIGLENT
3.2.5

Subnet Mask (:SYSTem:COMMunicate:LAN:SMASk) ................................ 21

3.2.6

IP Config (:SYSTem:COMMunicate:LAN:TYPE) ......................................... 22

3.2.7

Power On Type (:SYSTem:PON:TYPE) ..................................................... 22

3.2.8

10M Adjustment State (:SYSTem:REF:DAC:STAT) .................................... 22

3.2.9

Ref Osc Code (:SYSTem:REF:DAC) .......................................................... 23

3.2.10

Ref Osc Code Store (:SYSTem:REF:DAC:SAVE) ........................................ 23

3.2.11

Ref Osc Code Load (:SYSTem:REF:DAC:LOAD) ........................................ 24

3.2.12

Reset Ref Osc Code to Default (:SYSTem:REF:DAC:DEFault) .................... 24

3.3

Preset Subsystem ......................................................................... 25

3.3.1

Preset (:SOURce:PRESet) ........................................................................ 25

3.3.1

System Preset (:SYSTem:PRESet)............................................................ 25

3.3.2

Preset Save (:SYSTem:PRESet:SAVE) ...................................................... 25

3.3.3

Preset Path (:SYSTem:PRESet:PATH) ...................................................... 26

3.3.4

Preset Type (:SYSTem:PRESet:TYPE) ....................................................... 26

3.3.5

Factory Reset (:SYSTem:FDEFault).......................................................... 26

3.4

Output Subsystem ........................................................................ 27

3.4.1

3.5

RF Output (:OUTPut[:STATe]) .................................................................. 27

Source Subsystem ........................................................................ 27

3.5.1[:SOURce]:FREQuency Subsystem .......................................................... 27

3.5.2[:SOURce]:POWer Subsystem ................................................................. 30

3.5.3[:SOURce]:SWEep Subsystem ................................................................. 39

3.5.4[:SOURce]:MODulation Subsystem ......................................................... 50

3.5.5[:SOURce]:AM Subsystem ....................................................................... 51

3.5.6[:SOURce]:FM Subsystem ....................................................................... 53

3.5.7[:SOURce]:PM Subsystem ....................................................................... 56

3.5.8[:SOURce]:PULM Subsystem ................................................................... 59

3.5.9[:SOURce]:LFOutput Subsystem.............................................................. 68

3.5.10[:SOURce]:LFOutput:SWEep Subsystem .................................................. 71

3.6

Sense Subsystem ......................................................................... 75

3.6.1

Sensor Info (:SENSe[:POWer]:TYPE) ........................................................ 75

3.6.2

Sensor State (:SENSe[:POWer]:STATus) .................................................. 76

3.6.3

Measurement (:SENSe[:POWer]:VALue) .................................................. 76

3.6.4

Statistics State (:SENSe[:POWer]:STATIStics:STATe) ................................ 76

3.6.5

Statistics Value (:READ[:POWer]) ............................................................ 77

3.6.6

Statistics Max Value (:SENSe[:POWer]:STATIStics:MAX?) ......................... 77
SSG3000X Programming Guide 3

SIGLENT
3.6.7

Statistics Min Value (:SENSe[:POWer]:STATIStics:MIN?) ........................... 78

3.6.8

Statistics Mean Value (:SENSe[:POWer]:STATIStics:AVG?) ........................ 78

3.6.9

Statistics Count (:SENSe[:POWer]:STATIStics:COUNt?) ............................. 79

3.6.10Statistics Clear (:SENSe[:POWer]:STATIStics:CLEAr?) ............................... 79

3.6.11

Auto Zero (:CALibration:ZERO:TYPE) ...................................................... 79

3.6.12

Zeroing (:SENSe[:POWer]:ZERO) ............................................................ 80

3.6.13Frequency Type (:SENSe[:POWer]:SOURce) ............................................ 80

3.6.14Frequency (:SENSe[:POWer]:FREQuency) ............................................... 81

3.6.15

Level Offset State (:SENSe[:POWer]:OFFSet:STATe) ................................. 81

3.6.16

Level Offset (:SENSe[:POWer]:OFFSet) .................................................... 81

3.6.17

Average Type (:SENSe[:POWer]:FILTer:TYPE) .......................................... 82

3.6.18Average Times (:SENSe[:POWer]:FILTer:LENGth) .................................... 82

3.6.19Internal Noise (:SENSe[:POWer]:FILTer:NSRatio)..................................... 83

3.6.20

Logging (:SENSe[:POWer]:LOGGing:STATe) ............................................ 83

4.

Programming Examples ................................................... 84

4.1

Examples of Using VISA ................................................................ 84

4.1.1

Example of VC++ .................................................................................... 84

4.1.2

Example of VB ....................................................................................... 90

4.1.3

Example of MATLAB ............................................................................... 94

4.1.4

Example of LabVIEW .............................................................................. 96

4.2

Examples of Using Socket ............................................................. 98

4.2.1

Example of Python ................................................................................ 98

4.2.2

Example of Telnet ................................................................................ 100

4 SSG3000X Programming GuideSIGLENT

1. Programming Overview
SSG3000X support both USB and LAN interfaces. By using these interfaces, in
combination with NI-VISA and programming languages, users can remotely control
the signal generator. Through LAN interface, VXI-11, Sockets and Telnet protocols canbe used to communicate with the signal generator. This chapter introduces how tobuild communication between the signal generator and the PC. It also introduces the
remote control capabilities.

1.1 Build Communication
1.1.1 Build Communication Using VISA
1、 Install NI-VISA
Before programming, you need to install NI-VISA, which you can download from the
NI-VISA web site. About NI-VISA, there are full version and Run-Time Engine version.
The full version includes the NI device driver and a tool named NI MAX that is a userinterface to control thedevice. The Run-Time Engine version which is much smaller

than the full version only include NI device driver.
For

example,

you

can

get

NI-VISA

5.4

fullversionfrom:

http://www.ni.com/download/ni-visa-5.4/4230/en/.
You can also download NI-VISA Run-Time Engine 5.4 to your PC and install it as
default selection. Its installation process is similar with the full version.
After you downloaded the file you can follow the steps below to install it:a.Double click the visa540_full.exe, dialog shown as below:

SSG3000X Programming Guide 5

SIGLENT
b. Click Unzip, the installation process will automatically launch after unzipping files.
If your computer needs to install .NET Framework 4, its setup process will auto start.

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

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

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

6 SSG3000X Programming GuideSIGLENT

e. Click Next to run installation.

Now the installation is complete, reboot your PC.

2、 Connect the Instrument
Depending on your specific model your signal generator may be able to communicate
with a PC through the USB or LAN interface. This manual takes the USB as an example.
(For instructions to communicate with a PC through the LAN interface see the User
Manual.)a.Connect the USB Device interface at the rear panel of the signal generator and the
USB Host interface of the PC using a USB cable. Assuming your PC is already turned on,turn on your signal generator and your PC will display the “Device Setup” screen as
it automatically installs the device driver as shown below.

SSG3000X Programming Guide 7

SIGLENT

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

1.1.2 Build Communication Using Sockets
Sockets LAN is a method used to communicate with the signal generator over the LANinterface using the Transmission Control Protocol/Internet Protocol (TCP/IP). A socket
is a fundamental technology used for computer networking and allows applications tocommunicate using standard mechanisms built into network hardware and operating
systems. The method accesses a port on the signal generator from which bidirectional
communication with a network computer can be established.
Before you can use sockets LAN, you must select the signal generator’s sockets port
number to use:Standard mode. Available on port 5025. Use this port for simple programming.

Telnet mode. The telnet SCPI service is available on port 5024.

1.1.3 Connecting the signal generator via the USB
Host port
Refer to the following steps to finish the connection via USB:
1. Install NI-VISA on your PC for GPIB driver.
2. Connect the signal generator USB Host port to a PC’s GPIB card port, with
SIGLENT USB-GPIB adaptor.

8 SSG3000X Programming GuideSIGLENT

3. Switch on the signal generator
4. Press button on the front panel System→Interface→GPIB to enter the GPIB
number.
The signal generator will be detected automatically as a new GPIB point.

1.2 Remote Control Capabilities
1.2.1 User-defined Programming
Users can use SCPI commands to program and control the signal generator. For
details, refer to the introductions in “Programming Examples”.

1.2.2 Send SCPI Commands via NI-MAX
Users can control the signal generator remotely by sending SCPI commands via NIMAX software.

1.2.2.1 Using USB
Run NI MAX software.
1, Click “Device and interface” at the upper left corner of the software;
2, Find the “USBTMC” device symbol;

SSG3000X Programming Guide 9

SIGLENT
3, Click “Open VISA Test Panel” option button, then the following interface willappear;4, Click the “Input/Output” option button and click the “Query” option button inorder to view the operation information.

NOTE: The *IDN? command (known as the Identification Query) returns the
instrument manufacturer, instrument model, serial number, and other identification
information.

1.2.2.2 Using LAN
Add Network Device, and select VISA TCP/IP Resource as shown:.
Run NI MAX software.
1, Click “Device and interface” at the upper left corner of the software;
2, Find the “Network Devices” symbol, click “Add Network Devices”;

3. Select Manual Entry of LAN instrument, select Next, and enter the IP address as
10 SSG3000X Programming GuideSIGLENT
shown. Click Finish to establish the connection:

NOTE: Leave the LAN Device Name BLANK or the connection will fail.

4. After a brief scan, the connection should be shown under Network Devices:

SSG3000X Programming Guide 11

SIGLENT

5. Right-click on the product and select Open NI-VISA Test Panel:

6. Click “Input/Output” option button and click “Query” option button. If
everything is OK, you will see the Read operation information returned as shown
below.

12 SSG3000X Programming GuideSIGLENT

2.SCPI Overview
2.1 Command Format
SCPI commands present a hierarchical tree structure containing multiple subsystems,
each of the subsystems is made up of a root keyword and several sub keywords. The
command string usually starts with “:”, the keywords are separated by “:” and thefollowed parameter settings are separated by space. Query commands add “?” atthe end of the string.
For example::SOURce:FREQuency <freq>:SOURce:FREQuency?
SOURce is the root key of the command, FREQuency is second. The command begins
with “:”, and separates the keywords at the same time, <freq> separated by spaceand represents the parameter available for setting; “?” represents a query.

2.2 Symbol Instruction
The following four symbols are not the content of SCPI commands and can not be sentwith the commands, but are usually used in the commands.

1, Triangle Brackets < >The parameter in the triangle brackets must be replaced by an effective value. For
example:Send the “CALibration:SPC:TARGet <power>” command in “CALibration:SPC:TARGet
0”.

2, Square Brackets [ ]The content in the square brackets can be ignored. When the parameter is ignored, theinstrument will set the parameter to its default. For example,
In the “[:SOURce]:POWer?” command, sending any of the four commands below cangenerate the same effect::SOURce:POWer?

SSG3000X Programming Guide 13

SIGLENT:POWer?

3, Vertical Bar |The vertical bar is used to separate multiple parameters and when sending thecommand, you can choose one of the parameters. For example,
In the “[:SOURce]:AM:STATe OFF|ON|0|1” command, the parameters available are“OFF”, “ON”, “0” or “1”.

4, Braces { }The parameters in the braces are optional which can be ignored or set for one or moretimes.

2.3 Parameter TypeThe parameters in the commands introduced in this manual include 6 types: boolean,
enumeration, integer, float and string.

1, Boolean
The parameters in the commands could be “OFF”, “ON”, “0” or “1”. For
example:[:SOURce]:FM:STATe OFF|ON|0|1

2, Enumeration
The parameter could be any of the values listed. For example:[:SOURce]:SWEep:STATe OFF|FREQuency|LEVel|LEV_FREQ
The parameter is “OFF”, “FREQuency”, “LEVel” or LEV_FREQ.

3, Integer
Except other notes, the parameter can be any integer within the effective value range.
For example:[:SOURce]:SWEep:STEP:POINts <value>
The parameter <value> can be set to any integer between 2 and 65535.

4, Float
The parameter could be any value within the effective value range according to theaccuracy requirement (the default accuracy contains up to 9 digits after the decimal
14 SSG3000X Programming GuideSIGLENT
points). For example:[:SOURce]:POWer:OFFSet <value>
The parameter <value> can be set to any real number between -100 and 100.

5, String
The parameter should be the combinations of ASCII characters. For example::SYSTem:COMMunicate:LAN:IPADdress <“xxx.xxx.xxx.xxx”>
The parameter can be set as “192.168.1.12” string.

2.4 Command Abbreviation
All of the commands are not case sensitive, so you can use any of them. But if
abbreviation is used, all the capital letters in the command must be written completely.
For example::CORRection:FLATness:COUNt?
Can be abbreviated to::CORR:FLAT:COUN?

SSG3000X Programming Guide 15

SIGLENT

3.System Commands
This chapter introduces the Siglent Technologies SSG3000X SCPI commands, include:
IEEE Common Commands

3.1

System Subsystem

3.2

Preset Subsystem

3.3

Output Subsystem

3.4

Source Subsystem

3.5

Sense Subsystem

3.6

3.1 IEEE Common Commands
3.1.1 Identification Query (*IDN)CommandFormat*IDN?

Instruction Returns an instrument identification information string. The string willcontain the manufacturer, model number, serial number, software
number, FPGA number and CPLD number.
Menu

None

Example*IDN?
Return: Siglent Technologies,SSG3032X,1234567890, 03.01.16r2

3.1.2 Reset (*RST)CommandFormat*RST

Instruction This command presets the instrument to a factory defined condition that is
appropriate for remote programming operation. *RST is equivalent toperforming the two commands :SOURce:PRESet and *CLS. This command
always performs a factory preset.
Menu

None

16 SSG3000X Programming GuideSIGLENT
Example*RST

3.1.3 Clear Status (*CLS)CommandFormat*CLS

Instruction Clears the status byte register. It does this by emptying the error queue andclearing all bits in all of the event registers. The status byte registersummarizes the states of the other registers. It is also responsible forgenerating service requests.
Menu

None

Example*CLS

3.1.4 Standard Event Status Enable (*ESE)Command *ESE <number>
Format*ESE?

Instruction Set the bits in the standard event status enable register. This registermonitors I/O errors and synchronization conditions such as operation
complete, request control, query error, device dependent error, execution
error, command error and power on. A summary bit is generated on
execution of the command.
The query returns the state of the standard event status enable register.
Menu

None

Example*ESE 16

3.1.5 Standard Event Status Register Query (*ESR)
CommandFormat*ESR?

Instruction Queries and clears the standard event status event register. (This is a
destructive read.) The value returned reflects the current state (0/1) of all
the bits in the register.
Menu

None

Example*ESR?

SSG3000X Programming Guide 17

SIGLENT

3.1.6 Operation Complete Query (*OPC)
Command *OPCFormat*OPC?

Instruction Set bit 0 in the standard event status register to “1” when all pending
operations have finished.
The query stops any new commands from being processed until the current
processing is complete. Then it returns a “1”, and the program continues.
This query can be used to synchronize events of other instruments on theexternal bus.
Returns a “1” if the last processing is complete. Use this query when
there’s a need to monitor the command execution status, such as a sweep
execution.
Menu

None

Example*OPC?

3.1.7 Service Request Enable (*SRE)
Command *SRE <integer>
Format*SRE?

Instruction This command enables the desired bits of the service request enableregister.
The query returns the value of the register, indicating which bits are
currently enabled.
Menu

None

Example*SRE 13.1.8 Status Byte Query (*STB)CommandFormat*STB

Instruction This query is used by some instruments for a self test.
Menu

None

Example*STB

18 SSG3000X Programming GuideSIGLENT

3.1.9 Wait-to-Continue (*WAI)
CommandFormat*WAI

Instruction This command causes the instrument to wait until all pending commands
are completed before executing any additional commands.
There is no query form to the command.
Menu

None

Example*WAI

3.1.10 Self Test Query (*TST)CommandFormat*TST?

Instruction This query is used by some instruments for a self test.
Menu

None

Example*TST?

3.2 System Subsystem
3.2.1 System Time (:SYSTem:TIME)
Command :SYSTem:TIME <hhmmss>
Format:SYSTem:TIME?

Instruction Set System time.
Get System time.
Parameter StringType
Parameter
Rangehour(0 ~ 23), minute(0 ~ 59), second(0 ~ 59)

ReturnStringDefault

None

Menu

Utility > Setting > Time Setting

ExampleSet System time::SYSTem:TIME 182559

SSG3000X Programming Guide 19

SIGLENT
Get System time::SYSTem:TIME?

3.2.2 System Date (:SYSTem:DATE)
Command :SYSTem:DATE <yyyymmdd>
Format:SYSTem:DATE?

Instruction Set system date.
Get system date.
Parameter StringType
Parameter
Range

year(four digits), month(1 ~ 12), date(1 ~ 31)

ReturnStringDefault

None

Menu

Utility > Setting > Time Setting

ExampleSet System date::SYSTem:DATE 20050101
Get System date::SYSTem:DATE?

3.2.3 IP Address(:SYSTem:COMMunicate:LAN:IPADdress)
Command :SYSTem:COMMunicate:LAN:IPADdress <“xxx.xxx.xxx.xxx”>
Format:SYSTem:COMMunicate:LAN:IPADdress?

Instruction Set a host name for the signal generator in network.
Get IP address.
Parameter StringType
Parameter
Range

Conform to the IP Sets standard(0-255:0-255:0-255:0-255)

ReturnIP address string

Default

None

Menu

Utility > Interface > LAN Setting > IP Address

Example:SYSTem:COMMunicate:LAN:IPADdress “192.168.1.12”

20 SSG3000X Programming GuideSIGLENT:SYSTem:COMMunicate:LAN:IPADdress?

3.2.4 Gateway (:SYSTem:COMMunicate:LAN:GATeway)
Command :SYSTem:COMMunicate:LAN:GATeway <“xxx.xxx.xxx.xxx”>
Format:SYSTem:COMMunicate:LAN:GATeway?

Instruction Set the gateway for the signal generator in the network. The
gateway will be fetched automatically if the IP assignment is set to
DHCP.
Get gateway.
Parameter StringType
Parameter
Range

Conform to the IP standard (0~255.0~255.0~255.0~255)

ReturnGateway string.

Default

None

Menu

Utility > Interface > LAN Setting > Gateway

Example:SYSTem:COMMunicate:LAN:GATeway “192.168.1.1”:SYSTem:COMMunicate:LAN:GATeway?

3.2.5 Subnet Mask(:SYSTem:COMMunicate:LAN:SMASk)
Command :SYSTem:COMMunicate:LAN:SMASk <“xxx.xxx.xxx.xxx”>
Format:SYSTem:COMMunicate:LAN:SMASk?

Instruction Set the subnet mask according to the PC network Settings. The subnet mask
will be set automatically if the IP assignment is set to DHCP.
Parameter StringType
Parameter
Range

Conform to the IP standard (0-255:0-255:0-255:0-255)

ReturnSubnet mask string

Default

None

Menu

Utility > Interface > LAN Setting > Subnet Mask

Example:SYSTem:COMMunicate:LAN:SMASk?

SSG3000X Programming Guide 21

SIGLENT

3.2.6 IP Config (:SYSTem:COMMunicate:LAN:TYPE)
Command :SYSTem:COMMunicate:LAN:TYPE STATIC|DHCP
Format:SYSTem:COMMunicate:LAN:TYPE?

Instruction Toggles the IP assignment Setting between static (manual) and DHCP
(dynamic assignment) mode.
Get IP config.
Parameter Enumeration
Type
Parameter
Range

STATIC|DHCP

ReturnEnumeration

Default

None

Menu

Utility > Interface > LAN Setting > DHCP State

Example:SYSTem:COMMunicate:LAN:TYPE DHCP
:SYSTem:COMMunicate:LAN:TYPE?

3.2.7 Power On Type (:SYSTem:PON:TYPE)
Command :SYSTem:PON:TYPE DFT|LAST
Format:SYSTem:PON:TYPE?

Instruction Uses command to set signal generator to power on in default, last.
Get power on type.
Parameter Enumeration
Type
Parameter DFT|LAST
Range

DFT: Default
LAST: Last

ReturnEnumeration

Default

DFT

Menu

Utility > Setting > Power On

ExampleSYSTem:PON:TYPE DFT

3.2.8 10M Adjustment State (:SYSTem:REF:DAC:STAT)
Command :SYSTem:REF:DAC:STAT ON|OFF|1|0
Format:SYSTem:REF:DAC:STAT?

22 SSG3000X Programming GuideSIGLENT
Instruction Set 10M Adjustment State.
Get 10M Adjustment State.
Parameter
Type
Parameter
Range

Boolean
ON|OFF|1|0

ReturnBooleanDefault

0

Menu

Utility > Setting > 10M Adjustment

Example:SYSTem:REF:DAC:STAT ON

3.2.9 Ref Osc Code (:SYSTem:REF:DAC)
Command :SYSTem:REF:DAC <value>
Format:SYSTem:REF:DAC?

Instruction Set ref osc code.
Get ref osc code.
Parameter
Type
Parameter
Range

Int
0 ~ 65535

ReturnInt

Default

42885

Menu

Utility > Setting > 10M Adjustment

Example:SYSTem:REF:DAC 43000:SYSTem:REF:DAC?

3.2.10 Ref Osc Code Store (:SYSTem:REF:DAC:SAVE)
CommandFormat:SYSTem:REF:DAC:SAVE <file_name>Instruction Save the ref osc code in file.
Parameter
Type
Parameter
Range

String
None

SSG3000X Programming Guide 23

SIGLENT
ReturnNone

Default

None

Menu

Utility > Setting > 10M Adjustment

Example:SYSTem:REF:DAC:SAVE test.dac

3.2.11 Ref Osc Code Load (:SYSTem:REF:DAC:LOAD)
CommandFormat:SYSTem:REF:DAC:LOAD <file_name>Instruction Load existing ref osc code files.
Parameter
Type
Parameter
Range

StringNone

ReturnNone

Default

None

Menu

Utility > Setting > 10M Adjustment > Recall Ref Osc Setting

Example:SYSTem:REF:DAC:LOAD test.dac

3.2.12 Reset Ref Osc Code to Default(:SYSTem:REF:DAC:DEFault)
CommandFormat:SYSTem:REF:DAC:DEFault

Instruction Reset ref osc code to default value.
Parameter
Type
Parameter
Range

None
None

ReturnNone

Default

None

Menu

Utility > Setting > 10M Adjustment > Reset to Default

Example:SYSTem:REF:DAC:DEFault

24 SSG3000X Programming GuideSIGLENT

3.3 Preset Subsystem
3.3.1 Preset (:SOURce:PRESet)CommandFormat:SOURce:PRESet

Instruction Presets all parameters which are related to the selected signal path.
Parameter NoneType
ReturnNone

Default

None

Menu

None

ExampleSOUR:PRES

3.3.1 System Preset (:SYSTem:PRESet)CommandFormat:SYSTem:PRESet

Instruction Presets all parameters.
Parameter NoneType
ReturnNone

Default

None

Menu

Utility > Preset

ExampleSYSTem:PRES

3.3.2 Preset Save (:SYSTem:PRESet:SAVE)
CommandFormat:SYSTem:PRESet:SAVE

Instruction Save status for preset when preset type is user.
Parameter NoneType
ReturnNone

Default

None

SSG3000X Programming Guide 25

SIGLENT
Menu

Utility > Preset

Example:SYSTem:PRESet:SAVE

3.3.3 Preset Path (:SYSTem:PRESet:PATH)
CommandFormat:SYSTem:PRESet:PATH <path>

Instruction Set preset file when preset type is user.
Parameter String
Type
ReturnNone

Default

None

Menu

Utility > Preset

Example:SYSTem:PRESet:PATH test.xml

3.3.4 Preset Type (:SYSTem:PRESet:TYPE)
Command :SYSTem:PRESet:TYPE DFT|USERFormat:SYSTem:PRESet:TYPE?

Instruction Uses this command to preset the signal generator to default, user.
Get preset type.
Parameter Enumeration
Type
Parameter DFT: Default
Range

USER: Custom Configuration

ReturnEnumeration

Default

DFT

Menu

Utility > Setting > Preset Type

Example:SYSTem:PRESet:TYPE DFT

3.3.5 Factory Reset (:SYSTem:FDEFault)
CommandFormat:SYSTem:FDEFault

Instruction Set both the measure and setting parameters to factory preset parameters.
Parameter NoneType

26 SSG3000X Programming GuideSIGLENT
Parameter
Range

None

ReturnNone

Default

None

Menu

None

Example:SYSTem:FDEFault

3.4 Output Subsystem
3.4.1 RF Output (:OUTPut[:STATe])
Command :OUTPut[:STATe] ON|OFF|1|0
Format:OUTPut[:STATe]?

Instruction Activate/Deactivate the RF output.
Get the RF state.
Parameter Boolean
Type
Parameter
Range

ON|OFF|1|0

ReturnBooleanDefault

0

Menu

RF

Example:OUTPut ON

3.5 Source Subsystem
3.5.1 [:SOURce]:FREQuency Subsystem
3.5.1.1 Frequency Display ([:SOURce]:FREQuency:DISPlay)
Command [:SOURce]:FREQuency:DISPlay <freq>
Format[:SOURce]:FREQuency:DISPlay?

Instruction Set the frequency display on parameter bar.

SSG3000X Programming Guide 27

SIGLENT
Get the frequency display on parameter bar.
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type
Parameter
Range

Frequency offset + Full frequency range

ReturnFloat, unit: Hz

Default

Maximum frequency

Menu

Freq

ExampleFREQuency:DISPlay 2 MHz

3.5.1.2 Frequency ([:SOURce]:FREQuency[:FIX])
Command [:SOURce]:FREQuency[:FIX] <freq>
Format[:SOURce]:FREQuency[:FIX]?

Instruction Set the frequency of the RF output signal.
Get the frequency of the RF output signal.
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type
Parameter
Range

Full frequency range

ReturnFloat, unit: Hz

Default

Maximum frequency

Menu

FREQ > Frequency

ExampleFREQuency 2 MHz

3.5.1.3 Frequency Offset ([:SOURce]:FREQuency:OFFSet)Command [:SOURce]:FREQuency:OFFSet <freq>
Format[:SOURce]:FREQuency:OFFSet?

Instruction Set the frequency offset of a downstream instrument.
Get the frequency offset of a downstream instrument.
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type
Parameter
Range
Return-200 GHz ~ 200 GHz
Float, unit: Hz

28 SSG3000X Programming GuideSIGLENT
Default

0 Hz

Menu

FREQ > Freq Offset

ExampleFREQuency:OFFSet 2 MHz

3.5.1.4 Phase Offset ([:SOURce]:PHASe)
Command [:SOURce]:PHASe <phase>
Format[:SOURce]:PHASe?

Instruction Set the phase of the RF output signal.
Get the phase of the RF output signal.
Parameter Float, unit: deg
TypeParameter
Range-360 deg ~ 360 deg

ReturnFloat, unit: deg

Default

0 deg

Menu

FREQ > Phase Offset

ExamplePHASe 20

3.5.1.5 Phase Reset ([:SOURce]:PHASe:RESet[:SOURce]:PHASe:REF)
Command [:SOURce]:PHASe:RESet
Format[:SOURce]:PHASe:REF

Instruction Set the current phase to relatively zero.
Parameter NoneType
Parameter
Range

None

ReturnNone

Default

None

Menu

FREQ > Reset phase delta display

Example:PHASe:RESet

SSG3000X Programming Guide 29

SIGLENT

3.5.2 [:SOURce]:POWer Subsystem
3.5.2.1 Level Display ([:SOURce]:POWer:POWer)
Command [:SOURce]:POWer:POWer <power>
Format[:SOURce]:POWer:POWer?

Instruction Set the RF level display on parameter bar.
Get the RF level display on parameter bar.
Parameter Float, unit: dBm, dBmV, dBuV, V, W, Default: dBm
TypeParameter
Range

Level Offset + Full power range

ReturnFloat, unit: dBm

Default-110 dBm

Menu

Level

ExamplePOWer:POWer 2

3.5.2.2 Level ([:SOURce]:POWer)
Command [:SOURce]:POWer <power>
Format[:SOURce]:POWer?

Instruction Set the RF output level.
Get the RF output level.
Parameter Float, unit: dBm, dBmV, dBuV, V, W
Type
Parameter When IQ switched on: -100 dBm ~ 10 dBm
Range

Frequency between 9 kHz ~ 100 kHz: -110 dBm ~ 9 dBm
Frequency between 100 kHz ~ 1 MHz: -110 dBm ~ 15 dBm
Frequency above 1 MHz: -110 dBm ~ 20 dBm

ReturnFloat, unit: dBm

Default-110 dBm

Menu

LEVEL > Level

ExamplePOWer 230 SSG3000X Programming GuideSIGLENT

3.5.2.3 Level Offset ([:SOURce]:POWer:OFFSet)Command [:SOURce]:POWer:OFFSet <power>
Format[:SOURce]:POWer:OFFSet?

Instruction Set the RF offset level of the RF output connector.
Get the RF offset level of the RF output connector.
Parameter Float
Type
Parameter
Range-100 dB ~ 100 dB

ReturnFloat, unit: dB

Default

0 dB

Menu

LEVEL > Level Offset

ExamplePOWer:OFFSet 2

3.5.2.4 ALC State ([:SOURce]:POWer:ALC)
Command [:SOURce]:POWer:ALC ON|OFF|AUTO
Format[:SOURce]:POWer:ALC?

Instruction Activate/deactivate automatic level control.
Query ALC state.
Parameter Enumeration
Type
Parameter ON|OFF|AUTO
Range

ON
Internal level control is permanently activated.
OFFInternal level control is deactivated; Sample & Hold mode is activated.
AUTO
Internal level control is activated/deactivated automatically depending on
the operating state.

ReturnEnumeration

Default

AUTO

Menu

LEVEL > ALC State

ExamplePOWer:ALC ON

SSG3000X Programming Guide 31

SIGLENT

3.5.2.5 Flatness List State ([:SOURce]:CORRection[:FLATness])
Command [:SOURce]:CORRection[:FLATness] ON|OFF|1|0
Format[:SOURce]:CORRection[:FLATness]?

Instruction Activate/deactivate flatness.
Parameter Boolean
Type
Parameter
Range

ON|OFF|1|0

ReturnBooleanDefault

0

Menu

LEVEL > Flatness

ExampleCORRection:FLATness ON

3.5.2.6 Flatness List Add Row([:SOURce]:CORRection:FLATness:PAIR)
CommandFormat[:SOURce]:CORRection:FLATness:PAIR <freq>,<power>

Instruction Insert a new row.
Parameter Float, Float
Type
Parameter Freq: Full freq range
Range

Power: Full power range

ReturnNone

Default

None

Menu

LEVEL > Flatness > [+]ExampleCORRection:FLATness:PAIR 1 MHz,1

3.5.2.7 Flatness List Delete Row([:SOURce]:CORRection:FLATness:DELete)
CommandFormat[:SOURce]:CORRection:FLATness:DELete <row>

Instruction Delete the selected row.

32 SSG3000X Programming GuideSIGLENT
Parameter Integer
Type
Parameter
Range

Less than the total count of the flatness.

ReturnNone

Default

None

Menu

LEVEL > Flatness > [-]ExampleCORRection:FLATness:DELete 0

3.5.2.8 Flatness List Count([:SOURce]:CORRection:FLATness:COUNt?)
CommandFormat[:SOURce]:CORRection:FLATness:COUNt?

Instruction Indicates the total count of the flatness.
Parameter NoneType
Parameter
Range

None

ReturnInteger

Default

0

Menu

LEVEL > Flatness

ExampleCORRection:FLATness:COUNt?

3.5.2.9 Flatness List Store ([:SOURce]:CORRection:STORe)
CommandFormat[:SOURce]:CORRection:STORe <file_name>Instruction Save the correction data in the list.
Parameter StringType
Parameter
Range

None

ReturnNone

Default

None

SSG3000X Programming Guide 33

SIGLENT
Menu

LEVEL > Flatness > Store

Example:CORRection:STORe test.uflt

3.5.2.10 Flatness List Load ([:SOURce]:CORRection:LOAD)
CommandFormat[:SOURce]:CORRection:LOAD <file_name>Instruction Load existing flatness correction files.
Parameter StringType
Parameter
Range

None

ReturnNone

Default

None

Menu

LEVEL > Flatness > Load

Example:CORRection:LOAD test.uflt

3.5.2.11 Flatness List Clear([:SOURce]:CORRection:FLATness:PRESet)CommandFormat[:SOURce]:CORRection:FLATness:PRESet

Instruction Clear flatness correction list.
Parameter NoneType
Parameter
Range

None

Default

None

Menu

LEVEL > Flatness > Clear

Example:CORRection:FLATness:PRESet

3.5.2.12 Flatness List Fill Type([:SOURce]:CORRection:FLATness:FILL:TYPE)
Command [:SOURce]:CORRection:FLATness:FILL:TYPE FLATness|MANUal|SWEEPlist

34 SSG3000X Programming GuideSIGLENT
Format[:SOURce]:CORRection:FLATness:FILL:TYPE?

Instruction Set the Fill Type to generate flatness list.
Get the Fill Type to generate flatness list.
Parameter
Type
Parameter
Range

Enumeration
FLATness|MANUal|SWEEPlist

ReturnEnumeration

Default

FLATness

Menu

LEVEL > Flatness > Set > Fill Type

Example:CORRection:FLATness:FILL:TYPE FLATness

3.5.2.13 Flatness List Start Freq([:SOURce]:CORRection:FLATness:STARtfreq)
Command [:SOURce]:CORRection:FLATness:STARtfreq <freq>
Format[:SOURce]:CORRection:FLATness:STARtfreq?

Instruction Set the start frequency when you want to fill the flatness list with the sensor
and filling type is “Manual Step”.
Get the start frequency when you want to fill the flatness list with the sensor
and filling type is “Manual Step”.
Parameter
Type
Parameter
Range

Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Full frequency range

ReturnFloat, unit: Hz

Default

Maximum frequency

Menu

LEVEL > Flatness > Set > Fill Type > Manual Step

Example:CORRection:FLATness:STARtfreq 200 MHz

3.5.2.14 Flatness List Stop Freq([:SOURce]:CORRection:FLATness:STOPfreq)
Command [:SOURce]:CORRection:FLATness:STOPfreq <freq>
Format[:SOURce]:CORRection:FLATness:STOPfreq?

SSG3000X Programming Guide 35

SIGLENT
Instruction Set the stop frequency when you want to fill the flatness list with the sensor
and filling type is “Manual Step”.
Get the stop frequency when you want to fill the flatness list with the sensor
and filling type is “Manual Step”.
Parameter
Type
Parameter
Range

Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Full frequency range

ReturnFloat, unit: Hz

Default

Maximum frequency

Menu

LEVEL > Flatness > Set > Fill Type > Manual Step

Example:CORRection:FLATness:STOPfreq 500 MHz

3.5.2.15 Flatness List Fill Space([:SOURce]:CORRection:FLATness:LINStep)
Command [:SOURce]:CORRection:FLATness:SPACe LINear|LOGarithmic
Format[:SOURce]:CORRection:FLATness:SPACe?

Instruction Set the fill space in Manual Step Fill Type.
Get the fill space in Manual Step Fill Type.
Parameter
Type
Parameter
Range

Enumeration
LINear|LOGarithmic

ReturnEnumeration

Default

LINearMenu

LEVEL > Flatness > Set > Fill Type > Manual Step

Example:CORRection:FLATness:SPACe LINear

3.5.2.16 Flatness List Linear Step([:SOURce]:CORRection:FLATness:LINStep)
Command [:SOURce]:CORRection:FLATness:LINStep <freq>
Format[:SOURce]:CORRection:FLATness:LINStep?

Instruction Set the linear frequency step in Manual Step Fill Type.

36 SSG3000X Programming GuideSIGLENT
Get the linear frequency step in Manual Step Fill Type.
Parameter
Type
Parameter
Range

Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
None

ReturnFloat, unit: Hz

Default

None

Menu

LEVEL > Flatness > Set > Fill Type > Manual Step

Example:CORRection:FLATness:LINStep 200 MHz

3.5.2.17 Flatness List Log Step([:SOURce]:CORRection:FLATness:LOGStep)
Command [:SOURce]:CORRection:FLATness:LOGStep <value>
Format[:SOURce]:CORRection:FLATness:LOGStep?

Instruction Set the log frequency step in Manual Step Fill Type.
Get the log frequency step in Manual Step Fill Type.
Parameter
Type
Parameter
Range

Float, unit: %None

ReturnFloat, unit: %Default

None

Menu

LEVEL > Flatness > Set > Fill Type > Manual Step

Example:CORRection:FLATness:LOGStep 20

3.5.2.18 Flatness List Points([:SOURce]:CORRection:FLATness:POINt)
Command [:SOURce]:CORRection:FLATness:POINt <points>
Format[:SOURce]:CORRection:FLATness:POINt?

Instruction Set the points of flatness list in Manual Step Fill Type.
Get the points of flatness list in Manual Step Fill Type.
Parameter
Type

Integer

SSG3000X Programming Guide 37

SIGLENT
ParameterRange

2 ~ 500

ReturnInteger

Default

11

Menu

LEVEL > Flatness > Set > Fill Type > Manual Step

Example:CORRection:FLATness:POINt 5

3.5.2.19 Level Control ([:SOURce]:POWer:SPC:STATe)Command [:SOURce]:POWer:SPC:STATe ON|OFF|1|0
Format[:SOURce]:POWer:SPC:STATe?

Instruction Activate/Deactivate power control using the sensor.
Get level control state.
Parameter Boolean
Type
Parameter
Range

ON|OFF|1|0

ReturnBooleanDefault

0

Menu

SENSOR > Level Control

ExamplePOWer:SPC:STATe ON

3.5.2.20 Target Level ([:SOURce]:POWer:SPC:TARGet)
Command [:SOURce]:POWer:SPC:TARGet <power>
Format[:SOURce]:POWer:SPC:TARGet?

Instruction Set the nominal level expected at the input of the sensor.
Get the nominal level expected at the input of the sensor.
Parameter Float, unit: dBm, dBmV, dBuV, V, W, Default: dBm
TypeParameter
Range-120 dBm ~ 20 dBm

ReturnFloat, unit: dBm

Default

0 dBm

Menu

SENSOR > Level Control > Target Level

ExamplePOWer:SPC:TARGet 0

38 SSG3000X Programming GuideSIGLENT

3.5.2.21 Level Limit ([:SOURce]:POWer:LIMit)
Command [:SOURce]:POWer:LIMit <power>
Format[:SOURce]:POWer:LIMit?

Instruction Set an upper limit for the RF output power.
Get an upper limit for the RF output power.
Parameter Float, unit: dBm, dBmV, dBuV, V, W, Default: dBm
TypeParameter
Range-110 dBm ~ 20 dBm

ReturnFloat, unit: dBm

Default

0 dBm

Menu

SENSOR > Level Control > Level Limit

ExamplePOWer:LIMit 1

3.5.2.22 Catch Range ([:SOURce]:POWer:SPC:CRANge)
Command [SOURce]:POWer:SPC:CRANge <power>
Format[SOURce]:POWer:SPC:CRANge?

Instruction Set the capture range of the control system.
Get the capture range of the control system.
Parameter Float
Type
Parameter
Range

0 dB ~ 50 dB

ReturnFloat, unit: dB

Default

0 dB

Menu

SENSOR > Level Control > Catch Range

Example:POWer:SPC:CRANge 5

3.5.3 [:SOURce]:SWEep Subsystem
3.5.3.1 Sweep State ([:SOURce]:SWEep:STATe)Command [:SOURce]:SWEep:STATe OFF|FREQuency|LEVel|LEV_FREQ

SSG3000X Programming Guide 39

SIGLENT
Format[:SOURce]:SWEep:STATe?

Instruction Activate frequency or/and level sweep.
Parameter Enumeration
Type
Parameter
Range

OFF|FREQuency|LEVel|LEV_FREQ

ReturnEnumeration

DefaultOFF

Menu

SWEEP > Sweep State

Example:SWEep:STATe OFF

3.5.3.2 Sweep Type ([:SOURce]:SWEep:TYPE)
Command [:SOURce]:SWEep:TYPE LIST|STEP
Format[:SOURce]:SWEep:TYPE?

Instruction Set sweep type.
Get sweep type.
Parameter Enumeration
Type
Parameter
Range

LIST|STEP

ReturnEnumeration

Default

STEP

Menu

SWEEP > Step Sweep / List Sweep

Example:SWEep:TYPE STEP

3.5.3.3 Start Frequency([:SOURce]:SWEep:STEP:STARt:FREQuency)
Command [:SOURce]:SWEep:STEP:STARt:FREQuency <freq>
Format[:SOURce]:SWEep:STEP:STARt:FREQuency?

Instruction Set the start frequency for the sweep mode.
Get the start frequency for the sweep mode.
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type

40 SSG3000X Programming GuideSIGLENT
Parameter
Range

Full frequency range.

ReturnFloat, unit: Hz

Default

Maximum frequency

Menu

SWEEP > Step Sweep > Start Freq

Example:SWEep:STEP:STARt:FREQuency 1 GHz

3.5.3.4 Stop Frequency ([:SOURce]:SWEep:STEP:STOP:FREQuency)
Command [:SOURce]:SWEep:STEP:STOP:FREQuency <freq>
Format[:SOURce]:SWEep:STEP:STOP:FREQuency?

Instruction Set the stop frequency for the sweep mode.
Get the stop frequency for the sweep mode.
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type
Parameter
Range

Full frequency range.

ReturnFloat, unit: Hz

Default

Maximum frequency

Menu

SWEEP > Step Sweep > Stop Freq

Example:SWEep:STEP:STOP:FREQuency 1 GHz

3.5.3.5 Start Level ([:SOURce]:SWEep:STEP:STARt:LEVel)
Command [:SOURce]:SWEep:STEP:STARt:LEVel <level>
Format[:SOURce]:SWEep:STEP:STARt:LEVel?

Instruction Set the start level for the sweep mode.
Get the start level for the sweep mode.
Parameter Float, unit: dBm, dBmV, dBuV, V, W, Default: dBm
TypeParameter
Range

Full level range.

ReturnFloat, unit: dBm

Default-110 dBm

Menu

SWEEP > Step Sweep > Start Level

Example:SWEep:STEP:STARt:LEVel 0 dBm
SSG3000X Programming Guide 41

SIGLENT

3.5.3.6 Stop Level ([:SOURce]:SWEep:STEP:STOP:LEVel)
Command [:SOURce]:SWEep:STEP:STOP:LEVel <level>
Format[:SOURce]:SWEep:STEP:STOP:LEVel?

Instruction Set the stop level for the sweep mode.
Get the stop level for the sweep mode.
Parameter Float, unit: dBm, dBmV, dBuV, V, W, Default dBm
TypeParameter
Range

Full level range.

ReturnFloat, unit: dBm

Default-110 dBm

Menu

SWEEP > Step Sweep > Stop Level

Example:SWEep:STEP:STOP:LEVel 0 dBm

3.5.3.7 Dwell Time ([:SOURce]:SWEep:STEP:DWELl)
Command [:SOURce]:SWEep:STEP:DWELl <time>
Format[:SOURce]:SWEep:STEP:DWELl?

Instruction Set the duration of the individual sweep steps.
Get the duration of the individual sweep steps.
Parameter Float, unit: ns, us, ms, s
TypeParameterRange

10 ms ~ 100 s

ReturnFloat, unit: sDefault

30 ms

Menu

SWEEP > Step Sweep > Dwell Time

Example:SWEep:STEP:DWELl 20 ms

3.5.3.8 Sweep Points ([:SOURce]:SWEep:STEP:POINts)
Command [:SOURce]:SWEep:STEP:POINts <points>
Format[:SOURce]:SWEep:STEP:POINts?

Instruction Set the number of steps in an RF sweep.
Get the number of steps in an RF sweep.
42 SSG3000X Programming GuideSIGLENT
Parameter Integer
Type
ParameterRange

2 ~ 65535

ReturnInteger

Default

11

Menu

SWEEP > Step Sweep > Sweep Points

Example:SWEep:STEP:POINts 2

3.5.3.9 Sweep Shape ([:SOURce]:SWEep:STEP:SHAPe)
Command [:SOURce]:SWEep:STEP:SHAPe TRIangle|SAWtooth
Format[:SOURce]:SWEep:STEP:SHAPe?

Instruction Select the waveform shape of the sweep signal.
Get the waveform shape of the sweep signal.
Parameter Enumeration
Type
Parameter
Range

TRIangle|SAWtooth

ReturnEnumeration

Default

SAWTooth

Menu

SWEEP > Step Sweep > Sweep Shape

Example:SWEep:STEP:SHAPe TRIangle

3.5.3.10 Sweep Space ([:SOURce]:SWEep:STEP:SPACe)
Command [:SOURce]:SWEep:STEP:SPACe LINear|LOGarithmic
Format[:SOURce]:SWEep:STEP:SPACe?

Instruction Select the sweep spacing.
Get the sweep spacing.
Parameter Enumeration
Type
Parameter
Range

LINear|LOGarithmic

ReturnEnumeration

Default

LINear
SSG3000X Programming Guide 43

SIGLENT
Menu

SWEEP > Step Sweep > Sweep Space

Example:SWEep:STEP:SPACe LOGarithmic

3.5.3.11 Sweep Step in Linear Sweep Space([:SOURce]:SWEep[:FREQuency]:STEP[:LINear])
Command [:SOURce]:SWEep[:FREQuency]:STEP[:LINear] <freq>
Format[:SOURce]:SWEep[:FREQuency]:STEP[:LINear]?

Instruction Set the sweep step in linear sweep space.
Get the sweep step in linear sweep space.
Parameter
Type
Parameter
Range

Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
None

ReturnFloat, unit: Hz

Default

0

Menu

SWEEP > Step Sweep > Freq Step Linear

Example:SWEep:STEP 200 MHz

3.5.3.12 Sweep Step in Log Sweep Space([:SOURce]:SWEep[:FREQuency]:STEP:LOGarithmic)
Command [:SOURce]:SWEep[:FREQuency]:STEP:LOGarithmic <value>
Format[:SOURce]:SWEep[:FREQuency]:STEP:LOGarithmic?

Instruction Set the sweep step in logarithmic sweep space.
Get the sweep step in logarithmic sweep space.
Parameter
Type
Parameter
Range

Float, unit: %None

ReturnFloat, unit: %Default

0

Menu

SWEEP > Step Sweep > Freq Step Log

Example:SWEep:STEP:LOGarithmic 20

44 SSG3000X Programming GuideSIGLENT

3.5.3.13 Sweep List Add Row ([:SOURce]:SWEep:LIST:ADDList)
CommandFormat[:SOURce]:SWEep:LIST:ADDList <freq>,<level>,<time>

Instruction Insert a new row.
Parameter Freq: Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type

Level: Float, unit: dBm
Time: Float, unit: ns, us, ms, sParameter
Range

Full frequency range, full frequency range, 10.0 ms ~ 100.0 s

ReturnNone

Default

None

Menu

SWEEP > List Sweep > [+]Example:SWEep:LIST:ADDList 1 GHz,0 dBm,1 s

3.5.3.14 Sweep List Delete Row ([:SOURce]:SWEep:LIST:DELete)
CommandFormat[:SOURce]:SWEep:LIST:DELete <row>

Instruction Delete the sweep list pair.
Parameter Integer
Type
ParameterRange

1 to count of sweep list.

ReturnNone

Default

None

Menu

SWEEP > List Sweep > [-]Example:SWEep:LIST:DELete 1

3.5.3.15 Sweep List Edit ([:SOURce]:SWEep:LIST:CHANGe)
CommandFormat[:SOURce]:SWEep:LIST:CHANGe <row>,<freq>,<power>,<time>

Instruction Edit sweep list pair value.
Parameter Integer, Float, unit: Hz, kHz, MHz, GHz, Float, unit: dBm, dBmV, dBuV, V, W,
Type

Default: dBm, Float, unit: ns, us, ms, s
SSG3000X Programming Guide 45

SIGLENT
Parameter Raw: 1 ~ count of pair.
Range

Freq: Full frequency range.
Power: Full level range.
time: 10 ms ~ 100 s.

ReturnNone

Default

None

Menu

SWEEP > List Sweep

Example:SWEep:LIST:CHANGe 1,1 GHz,1 dBm, 1 s

3.5.3.16 Sweep List Row Count ([:SOURce]:SWEep:LIST:CPOint?)
CommandFormat[:SOURce]:SWEep:LIST:CPOint?

Instruction Get how many rows in sweep list.
Parameter NoneType
Parameter
Range

None

ReturnFloat

Default

1

Menu

SWEEP > List Sweep

Example:SWEep:LIST:CPOint?

3.5.3.17 Show Sweep List ([:SOURce]:SWEep:LIST:LIST?)
CommandFormat[:SOURce]:SWEep:LIST:LIST? <begin_ row>,<end_row>

Instruction View starting row to end row data.
Parameter Integer, Integer
Type
ParameterRange

1 to count of sweep list.

ReturnStringDefault

None

Menu

SWEEP > List Sweep

Example:SWEep:LIST:LIST? 1,3

46 SSG3000X Programming GuideSIGLENT

3.5.3.18 Sweep List Clear([:SOURce]:SWEep:LIST:INITialize:PRESet)CommandFormat[:SOURce]:SWEep:LIST:INITialize:PRESet

Instruction Restore the scan list of the factory default settings.
Parameter NoneType
Parameter
Range

None

ReturnNone

Default

None

Menu

SWEEP > List Sweep > Clear

ExampleSWEep:LIST:INITialize:PRESet

3.5.3.19 Sweep List Initialize From Step([:SOURce]:SWEep:LIST:INITialize:FSTep)
CommandFormat[:SOURce]:SWEep:LIST:INITialize:FSTepInstruction Regenerate the sweep list based on the data points of the current step
sweep settings.
Parameter NoneType
Parameter
Range

None

ReturnNone

Default

None

Menu

SWEEP > List Sweep

ExampleSWEep:LIST:INITialize:FSTep

3.5.3.20 Sweep List Load ([:SOURce]:SWEep:LOAD)
CommandFormat[:SOURce]:CORRection:LOAD <file_name>

SSG3000X Programming Guide 47

SIGLENT
Instruction Load existing sweep list file.
Parameter StringType
Parameter
Range

None

ReturnNone

Default

None

Menu

SWEEP > List Sweep > Load

Example:SWEep:LOAD test.lsw

3.5.3.21 Sweep List Store ([:SOURce]:SWEep:STORe)
CommandFormat[:SOURce]:CORRection:STORe <file_name>Instruction Save the sweep data in the list.
Parameter StringType
Parameter
Range

None

ReturnNone

Default

None

Menu

SWEEP > List Sweep > Store

Example:SWEep:STORe test.lsw

3.5.3.22 Sweep Direction ([:SOURce]:SWEep:DIRect)
Command [:SOURce]:SWEep:DIRect FWD|REV
Format[:SOURce]:SWEep:DIRect?

Instruction Select the direction for sweep.
Parameter Enumeration
Type
Parameter
Range

FWD|REV

ReturnEnumeration

Default

FWD

Menu

SWEEP > Direction

48 SSG3000X Programming GuideSIGLENT
Example:SWEep:DIRect REV

3.5.3.23 Sweep Mode ([:SOURce]:SWEep:MODE)
Command [:SOURce]:SWEep:MODE CONTinue|SINGle
Format[:SOURce]:SWEep:MODE?

Instruction Set the cycle mode of the sweep.
Get the cycle mode of the sweep.
Parameter Enumeration
Type
Parameter
Range

CONTinue|SINGle

ReturnEnumeration

Default

CONTinue

Menu

SWEEP > Sweep Mode

Example:SWEep:MODE SINGle

3.5.3.24 Trigger Mode ([:SOURce]:SWEep:SWEep:TRIGger:TYPE)
Command [:SOURce]:SWEep:SWEep:TRIGger:TYPE AUTO|KEY|BUS|EXT
Format[:SOURce]:SWEep:SWEep:TRIGger:TYPE?

Instruction Select the trigger mode.
Get the trigger mode.
Parameter Enumeration
Type
Parameter
Range

AUTO|KEY|BUS|EXT

ReturnEnumeration

Default

AUTO

Menu

SWEEP > Trigger Mode

Example:SWEep:SWEep:TRIGger:TYPE KEY

3.5.3.25 Point Trigger ([:SOURce]:SWEep:POINt:TRIGger:TYPE)
Command [:SOURce]:SWEep:POINt:TRIGger:TYPE AUTO|KEY|BUS|EXT
Format[:SOURce]:SWEep:POINt:TRIGger:TYPE?

SSG3000X Programming Guide 49

SIGLENT
Instruction Select the point trigger.
Get the point trigger.
Parameter Enumeration
Type
Parameter
Range

AUTO|KEY|BUS|EXT

ReturnEnumeration

Default

AUTO

Menu

SWEEP > Point Trigger

Example:SWEep:POINt:TRIGger:TYPE KEY

3.5.3.26 Trigger Slope ([:SOURce]:INPut:TRIGger:SLOPe)
Command [:SOURce]:INPut:TRIGger:SLOPe POSitive|NEGative
Format[:SOURce]:INPut:TRIGger:SLOPe?

Instruction Select the trigger slope.
Get the trigger slope.
Parameter Enumeration
Type
Parameter
Range

POSitive|NEGative

ReturnEnumeration

Default

POSitive

Menu

SWEEP > Trigger Slope

Example:INPut:TRIGger:SLOPe NEGative

3.5.4 [:SOURce]:MODulation Subsystem
3.5.4.1 Modulation State ([:SOURce]:MODulation)
Command [:SOURce]:MODulation ON|OFF|1|0
Format[:SOURce]:MODulation?

Instruction Switch the modulations on and off.
Get the modulations state.
Parameter Boolean

50 SSG3000X Programming GuideSIGLENTType
Parameter
Range

ON|OFF|1|0

ReturnBooleanDefault

0

Menu

MOD

ExampleMODulation ON

3.5.5 [:SOURce]:AM Subsystem
3.5.5.1 AM State ([:SOURce]:AM:STATe)Command [:SOURce]:AM:STATe ON|OFF|1|0
Format[:SOURce]:AM:STATe?

Instruction Activate/Deactivate amplitude modulation.
Get the AM state.
Parameter Boolean
Type
Parameter
Range

ON|OFF|1|0

ReturnBooleanDefault

0

Menu

AM > AM State

Example:AM:STATe ON

3.5.5.2 AM Shape ([:SOURce]:AM:WAVEform)
Command [:SOURce]:AM:WAVEform SINE|SQUAreFormat[:SOURce]:AM:WAVEform?

Instruction Set the AM modulation waveform.
Get the AM modulation waveform.
Parameter Enumeration
Type
Parameter
Range

SINE|SQUAreSSG3000X Programming Guide 51

SIGLENT
ReturnEnumeration

Default

SINE

Menu

AM > AM Shape

Example:AM:WAVEform SINE

3.5.5.3 AM Source ([:SOURce]:AM:SOURce)
Command [:SOURce]:AM:SOURce INTernal|EXTernal|INT+EXT
Format[:SOURce]:AM:SOURce?

Instruction Select the modulation signal source for amplitude modulation.
Get the AM source.
Parameter Enumeration
Type
Parameter
Range

INTernal|EXTernal|INT+EXT

ReturnEnumeration

Default

INTernal

Menu

AM > AM Source

Example:AM:SOURce EXTernal

3.5.5.4 AM Depth ([:SOURce]:AM:DEPTh)
Command [:SOURce]:AM:DEPTh <value>
Format[:SOURce]:AM:DEPTh?

Instruction Set the overall modulation depth of the amplitude modulation in percent.
Get the AM depth.
Parameter Float
Type
Parameter
Range

0.1 % ~ 100 %ReturnFloat

Default

50 %

Menu

AM > AM Depth

Example:AM:DEPTh 0.2

52 SSG3000X Programming GuideSIGLENT

3.5.5.5 AM Rate ([:SOURce]:AM:FREQuency)
Command [:SOURce]:AM:FREQuency <value>
Format[:SOURce]:AM:FREQuency?

Instruction Set the AM modulation frequency.
Get the AM modulation frequency.
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type
Parameter Sine: 0.01 Hz ~ 100 kHz
Range

Square: 0.01 Hz ~ 20 kHz

ReturnFloat, unit: Hz

Default

1 kHz

Menu

AM > AM Rate

Example:AM:FREQuency 10 kHz

3.5.5.6 AM Sensitivity ([:SOURce]:AM:SENSitivity)
CommandFormat[:SOURce]:AM:SENSitivity?

Instruction Query the input sensitivity of the external modulation input in %/V.
Parameter NoneType
Parameter
Range

None

ReturnFloat, unit: %/V

Default

0 %/V

Menu

AM > AM Sensitivity

ExampleAM:SENSitivity?

3.5.6 [:SOURce]:FM Subsystem
3.5.6.1 FM State ([:SOURce]:FM:STATe)Command [:SOURce]:FM:STATe ON|OFF|1|0
Format[:SOURce]:FM:STATe?

SSG3000X Programming Guide 53

SIGLENT
Instruction Activate/Deactivate FM.
Get the FM state.
Parameter Boolean
Type
Parameter
Range

ON|OFF|1|0

ReturnBooleanDefault

0

Menu

FM > FM State

Example:FM:STATe ON

3.5.6.2 FM Shape ([:SOURce]:FM:WAVEform)
Command [:SOURce]:FM:WAVEform SINE|SQUAreFormat[:SOURce]:FM:WAVEform?

Instruction Selects the shape of FM.
Get the shape of FM.
Parameter Enumeration
Type
Parameter
Range

SINE|SQUAre

ReturnEnumeration

Default

SINE

Menu

FM > FM Shape

Example:FM:WAVEform SQUAre

3.5.6.3 FM Source ([:SOURce]:FM:SOURce)
Command [:SOURce]:FM:SOURce INTernal|EXTernal|INT+EXT
Format[:SOURce]:FM:SOURce?

Instruction Select the modulation signal source for frequency modulation.
Get the FM Source.
Parameter Enumeration
Type
Parameter
Range

INTernal|EXTernal|INT+EXT

54 SSG3000X Programming GuideSIGLENT
ReturnEnumeration

Default

INTernal

Menu

FM > FM Source

Example:FM:SOURce EXTernal

3.5.6.4 FM Deviation ([:SOURce]:FM:DEViation)
Command [:SOURce]:FM:DEViation <value>
Format[:SOURce]:FM:DEViation?

Instruction Set deviation value
Get deviation value
Parameter Float, unit: Hz, kHz, MHz, GHz
Type
Parameter
Range

0.01 Hz ~ 1 MHz

ReturnFloat, unit: Hz

Default

100 kHzMenu

FM > FM Deviation

Example:FM:DEViation 500 kHz

3.5.6.5 FM Rate ([:SOURce]:FM:FREQuency)
Command [:SOURce]:FM:FREQuency <value>
Format[:SOURce]:FM:FREQuency?

Instruction Set the FM modulation frequency.
Get the FM modulation frequency.
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type
Parameter INTernal: SQUAre: 0.01 Hz ~ 20 kHz SINE: 0.01 Hz ~ 100 kHz
Range

INT+EXT: SQUAre: 0.01 Hz ~ 20 kHz SINE: 0.01 Hz ~ 100 kHz

ReturnFloat, unit: Hz

Default

10 kHzMenu

FM > FM Rate

Example:FM:FREQuency 40 kHz

SSG3000X Programming Guide 55

SIGLENT

3.5.6.6 FM Sensitivity ([:SOURce]:FM:SENSitivity)
CommandFormat[:SOURce]:FM:SENSitivity?

Instruction Displays the input sensitivity of the FM EXT input in Hz/V.
Parameter NoneType
Parameter
Range

None

ReturnFloat unit: Hz/V

Default

0 Hz/VMenu

FM > FM Sensitivity

ExampleFM:SENSitivity?

3.5.7 [:SOURce]:PM Subsystem
3.5.7.1 PM State ([:SOURce]:PM:STATe)Command [:SOURce]:PM:STATe ON|OFF|1|0
Format[:SOURce]:PM:STATe?

Instruction Activate/Deactivate phase modulation.
Get the PM state.
Parameter Boolean
Type
Parameter
Range

ON|OFF|1|0

ReturnBooleanDefault

0

Menu

PM > PM State

Example:PM:STATe ON

3.5.7.2 PM Shape ([:SOURce]:PM:WAVEform)
Command [:SOURce]:PM:WAVEform SINE|SQUAreFormat[:SOURce]:PM:WAVEform?

56 SSG3000X Programming GuideSIGLENT
Instruction Selects the shape of PM.
Get the shape of PM.
Parameter Enumeration
Type
Parameter
Range

SINE|SQUAre

ReturnEnumeration

Default

SINE

Menu

PM > PM Shape

Example:PM:WAVEform SINE

3.5.7.3 PM Source ([:SOURce]:PM:SOURce)
Command [:SOURce]:PM:SOURce INTernal|EXTernal|INT+EXT
Format[:SOURce]:PM:SOURce?

Instruction Select the modulation signal source for phase modulation.
Get the PM source.
Parameter Enumeration
Type
Parameter
Range

INTernal|EXTernal|INT+EXT

ReturnEnumeration

Default

INTernal

Menu

PM > PM Source

Example:PM:SOURce EXTernal

3.5.7.4 PM Deviation ([:SOURce]:PM:DEViation)
Command [:SOURce]:PM:DEViation <value>
Format[:SOURce]:PM:DEViation?

Instruction Set the modulation deviation of the phase modulation.
Get the modulation deviation of the phase modulation.
Parameter Float, unit: radType
Parameter
Range

0.00001 rad ~ 5 rad

SSG3000X Programming Guide 57

SIGLENT
ReturnFloat, unit: rad

Default

1 rad

Menu

PM > PM Deviation

Example:PM:DEViation 2

3.5.7.5 PM Rate ([:SOURce]:PM:FREQuency)
Command [:SOURce]:PM:FREQuency <value>
Format[:SOURce]:PM:FREQuency?

Instruction Set the PM modulation frequency.
Get the PM modulation frequency.
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type
Parameter INTernal: SQUAre:0.01 Hz ~ 20 kHz SINE: 0.01 Hz ~ 100 kHz
Range

INT+EXT: SQUAre:0.01 Hz ~ 20 kHz 0.01 Hz ~ 100 kHz

ReturnFloat, unit: Hz

Default

10 kHzMenu

PM > PM Rate

Example:PM:FREQuency 10 kHz

3.5.7.6 PM Sensitivity ([:SOURce]:PM:SENSitivity)
CommandFormat[:SOURce]:PM:SENSitivity?

Instruction Query the input sensitivity of the EXT MOD input in rad/v.
Parameter NoneType
Parameter
Range

None

ReturnFloat, unit: rad/V

Default

0 rad/V

Menu

PM > PM Sensitivity

ExamplePM:SENSitivity?

58 SSG3000X Programming GuideSIGLENT

3.5.8 [:SOURce]:PULM Subsystem
3.5.8.1 Pulse State ([:SOURce]:PULM:STATe)Command [:SOURce]:PULM:STATe ON|OFF|1|0
Format[:SOURce]:PULM:STATe?

Instruction Activate/Deactivate the pulse modulation.
Get the state of pulse modulation.
Parameter Boolean
Type
Parameter
Range

ON|OFF|1|0

ReturnBooleanDefault

0

Menu

PULSE > Pulse State

Example

PULM:STAT ON

3.5.8.2 Pulse Out ([:SOURce]:PULM:OUT:STATe)Command [:SOURce]:PULM:OUT:STATe ON|OFF|1|0
Format[:SOURce]:PULM:OUT:STATe?

Instruction Configures the signal at the PULSE OUT connector.
Get the Output status.
Parameter Boolean
Type
Parameter
Range

ON|OFF|1|0

ReturnBooleanDefault

0

Menu

PULSE > Pulse Out

Example

PULM:OUT ON

3.5.8.3 Pulse Source ([:SOURce]:PULM:SOURce)
Command [:SOURce]:PULM:SOURce INTernal|EXTernal

SSG3000X Programming Guide 59

SIGLENT
Format[:SOURce]:PULM:SOURce?

Instruction Select the source for the pulse modulation signal.
Get the source for the pulse modulation signal.
Parameter Enumeration
Type
Parameter
Range

INTernal|EXTernal

ReturnEnumeration

Default

INTernal

Menu

PULSE > Pulse Source

Example

PULM:SOUR INTernal

3.5.8.4 Pulse Polarity ([:SOURce]:PULM:POLarity)
Command [:SOURce]:PULM:POLarity NORMal|INVerted
Format[:SOURce]:PULM:POLarity?

Instruction Set the period of the generated pulse. The period determines the repetition
frequency of the internal signal.
Get the period of the generated pulse.
Parameter Enumeration
Type
Parameter
Range

NORMal|INVerted

ReturnEnumeration

Default

NORMalMenu

PULSE > Pulse Polarity

Example

PULM:POL INV

3.5.8.5 Pulse Mode ([:SOURce]:PULM:MODE)
Command [:SOURce]:PULM:MODE SINGle|DOUBle|PTRain
Format[:SOURce]:PULM:MODE?

Instruction Set the mode of the pulse generator.
Get the mode of the pulse generator.
Parameter Enumeration
Type

60 SSG3000X Programming GuideSIGLENT
Parameter SINGle|DOUBle|PTRain
Range

SINGleEnables single pulse generation.
DOUBleEnables double pulse generation. The two pulses are generated in one
pulse period.
PTRainA user-defined pulse train is generated The pulse train is defined by value
pairs of on and off times that can be entered in a pulse train list.

ReturnEnumeration

Default

SINGleMenu

PULSE > Pulse Mode

Example

PULM:MODE DOUB

3.5.8.6 Pulse Period ([:SOURce]:PULM:PERiod)
Command [:SOURce]:PULM:PERiod <value>
Format[:SOURce]:PULM:PERiod?

Instruction Set the period of the generated pulse. The period determines the repetition
frequency of the internal signal.
Get the period of the generated pulse.
Parameter Float, unit: ns, us, ms, s
TypeParameterRange

40 ns ~ 300 s

ReturnFloat, unit: sDefault

10 ms

Menu

PULSE > Pulse Period

Example

PULM:PER 220 us

3.5.8.7 Pulse Width ([:SOURce]:PULM:WIDTh)
Command [:SOURce]:PULM:WIDTh <value>
Format[:SOURce]:PULM:WIDTh?

Instruction Set the width of the generated pulse.
Get the width of the generated pulse.

SSG3000X Programming Guide 61

SIGLENT
Parameter Float, unit: ns, us, ms, s
TypeParameterRange

20 ns ~ 300 s

ReturnFloat, unit: sDefault

2 ms

Menu

PULSE > Pulse Width

Example

PULM:WIDT 33 us

3.5.8.8 Double Pulse Delay ([:SOURce]:PULM:DOUBle:DELay)
Command [:SOURce]:PULM:DOUBle:DELay <value>
Format[:SOURce]:PULM:DOUBle:DELay?

Instruction Set the delay from the start of the first pulse to the start of the second
pulse.
Get the delay from the start of the first pulse to the start of the second
pulse.
Parameter Float, unit: ns, us, ms, s
TypeParameterRange

20 ns ~ 300 s

ReturnFloat, unit: sDefault

4 ms

Menu

PULSE > Double Pulse Delay

Example:PULM:DOUBle:DELay 2 ms

3.5.8.9 #2 Width ([:SOURce]:PULM:DOUBle:WIDTh)
Command [:SOURce]:PULM:DOUBle:WIDTh <time>
Format[:SOURce]:PULM:DOUBle:WIDTh?

Instruction Set the width of the second pulse in case of double pulse generation.
Get the width of the second pulse in case of double pulse generation.
Parameter Float, unit: ns, us, ms, s
TypeParameterRange

20 ns ~ 300 s

62 SSG3000X Programming GuideSIGLENT
ReturnFloat, unit: sDefault

2 ms

Menu

PULSE > #2 Width

Example

PULM:DOUBle:WIDTh 2 s

3.5.8.10 Pulse Train Add Row ([:SOURce]:PULM:TRAin:PAIR)
CommandFormat[:SOURce]:PULM:TRAin:PAIR

Instruction Add default train pair value.
Parameter NoneType
Parameter
Range

None

ReturnNone

Default

None

Menu

PULSE > Pulse Train > [+]Example

PULM:TRAin:PAIR

3.5.8.11 Pulse Train Delete ([:SOURce]:PULM:TRAin:DELete)
CommandFormat[:SOURce]:PULM:TRAin:DELete <row>

Instruction Delete the train pair.
Parameter Integer
Type
ParameterRange

1 ~ 2047

ReturnNone

Default

None

Menu

PULSE > Pulse Train > [-]Example

PULM:TRAin:DELete 5

3.5.8.12 Pulse Train Edit ([:SOURce]:PULM:TRAin:CHANGe)
Command [:SOURce]:PULM:TRAin:CHANGe <raw>,<on_time>,<off_time>,<count>

SSG3000X Programming Guide 63

SIGLENT
FormatInstruction Edit train pair value.
Parameter Integer, Float, unit: ns, us, ms, s, Float, unit: ns, us, ms, s, Integer
Type
Parameter Raw: 1 ~ count of pair.
Range

On time: 10 ns ~ 300 s.
Off time: 10 ns ~ 300 s.
Count: 1 ~ 65535

ReturnNone

Default

None

Menu

PULSE > Pulse Train

Example:PULM:TRAin:CHANGe 1,10 ms,20 ms,33.5.8.13 List Pulse Train ([:SOURce]:PULM:TRAin:LIST?)
CommandFormat[:SOURce]:PULM:TRAin:LIST? <begin_row>,<end_row>

Instruction View starting row to end row data.
Parameter Integer, Integer
Type
Parameter Begin_row: 1 ~ the count of pulse list.
Range

End_row: Begin_row ~ the count of pulse list.

ReturnStringDefault

None

Menu

PULSE > Pulse Train

Example:PULM:TRAin:LIST? 1,3

3.5.8.14 Pulse Train Count ([:SOURce]:PULM:TRAin:COUNt?)
CommandFormat[:SOURce]:PULM:TRAin:COUNt?

Instruction Get count of train list.
Parameter NoneType
Parameter
Range

None

64 SSG3000X Programming GuideSIGLENT
ReturnInteger

Default

1

Menu

PULSE > Pulse Train

Example:PULM:TRAin:COUNt?

3.5.8.15 Pulse Train Clear ([:SOURce]:PULM:TRAin:CLEAr)
CommandFormat[:SOURce]:PULM:TRAin:CLEAr

Instruction Clear train pair list.
Parameter NoneType
Parameter
Range

None

ReturnNone

Default

None

Menu

PULSE > Pulse Train > Store

Example

PULM:TRAin:CLEAr

3.5.8.16 Pulse Train Load ([:SOURce]:PULM:TRAin:LOAD)
CommandFormat[:SOURce]:PULM:TRAin:LOAD <file>

Instruction Load train pair list.
Parameter StringType
Parameter
Range

None

ReturnNone

Default

None

Menu

PULSE > Pulse Train > Load

Example

PULM:TRAin:LOAD test.pulstrn

3.5.8.17 Pulse Train Store ([:SOURce]:PULM:TRAin:STORE)
Command [:SOURce]:PULM:TRAin:STORE <file>

SSG3000X Programming Guide 65

SIGLENT
FormatInstruction Store train pair list.
Parameter StringType
Parameter
Range

None

ReturnNone

Default

None

Menu

PULSE > Pulse Train

Example

PULM:TRAin:STORE test.pulstrn

3.5.8.18 Trigger Out ([:SOURce]:PULM:TRIGger:STATe)Command [:SOURce]:PULM:TRIGger:STATe ON|OFF|1|0
Format[:SOURce]:PULM:TRIGger:STATe?

Instruction Set the trigger output status.
Get the trigger output status.
Parameter Boolean
Type
Parameter
Range

ON|OFF|1|0

ReturnBooleanDefault

1

Menu

PULSE > Trigger Out

Example

PULM:TRIGger:STATe ON

3.5.8.19 Pulse Trigger ([:SOURce]:PULM:TRIGger:MODE)
Command [:SOURce]:PULM:TRIGger:MODE AUTO|KEY|EXTernal|EGATe
Format[:SOURce]:PULM:TRIGger:MODE?

Instruction Select the trigger mode for pulse modulation.
Get the trigger mode for pulse modulation.
Parameter Enumeration
Type
Parameter
Range

AUTO| KEY|EXTernal|EGATe

66 SSG3000X Programming GuideSIGLENT
ReturnEnumeration

Default

AUTO

Menu

PULSE > Pulse Trigger

Example

PULM:TRIG:MODE EXTernal

3.5.8.20 Trig Polarity([:SOURce]:PULM:TRIGger:EXTernal:GATE:POLarity)
Command [:SOURce]:PULM:TRIGger:EXTernal:GATE:POLarity NORMal|INVerted
Format[:SOURce]:PULM:TRIGger:EXTernal:GATE:POLarity?

Instruction Select the polarity of the gate signal.
Get the polarity of the gate signal.
Parameter Enumeration
Type
Parameter
Range

NORMal|INVerted

ReturnEnumeration

Default

NORMalMenu

PULSE > Pulse Polarity

Example

PULM:TRIG:EXT:GATE:POL NORMal

3.5.8.21 Trig Delay ([:SOURce]:PULM:DELay)
Command [:SOURce]:PULM:DELay <value>
Format[:SOURce]:PULM:DELay?

Instruction Set the pulse delay.
Get the pulse delay.
Parameter Float, unit: ns, us, ms, s
TypeParameter
Range

140 ns ~ 300 s

ReturnFloat, unit: sDefault

140 nsMenu

PULSE > Trig Delay

Example

PULM:DEL 30 ms

SSG3000X Programming Guide 67

SIGLENT

3.5.8.22 Trig Slope ([:SOURce]:PULM:TRIGger:EXTernal:SLOPe)
Command [:SOURce]:PULM:TRIGger:EXTernal:SLOPe NEGative|POSitive
Format[:SOURce]:PULM:TRIGger:EXTernal:SLOPe?

Instructio Set the polarity of the active slope of an applied trigger at the PULSE EXTnconnector.
Get the polarity of the active slope of an applied trigger at the PULSE EXT
connector.

Parameter Enumeration
Type
Parameter
Range

NEGative|POSitive

ReturnEnumeration

Default

POSitive

Menu

PULSE > Trig Slope

Example

PULM:TRIG:EXT:SLOP NEG

3.5.9 [:SOURce]:LFOutput Subsystem
3.5.9.1 LF State ([:SOURce]:LFOutput[:STATe])
Command [:SOURce]:LFOutput ON|OFF|1|0
Format[:SOURce]:LFOutput?

Instruction Activate/deactivate the LF output.
Get the LF output state.
Parameter Boolean
Type
Parameter
Range

ON|OFF|1|0

ReturnBooleanDefault0

Menu

LF > LF State

ExampleLFOutput ON

68 SSG3000X Programming GuideSIGLENT

3.5.9.2 LF Level ([:SOURce]:LFOutput:VOLTage)
Command [:SOURce]:LFOutput:VOLTage <volt>
Format[:SOURce]:LFOutput:VOLTage?

Instruction Set the voltage of the LF output signal.
Get the voltage of the LF output signal.
Parameter Float, unit: dBm, dBmV, dBuV, V, W, Default: V (Here V is the peak-peak
TypeParameter
Range

value)
1 mVpp ~ 3 Vpp

ReturnFloat, unit: Vpp

Default

0.5 Vpp

Menu

LF > LF Voltage

ExampleLFOutput:VOLTage 2 V

3.5.9.3 LF Offset ([:SOURce]:LFOutput:OFFSEt)
Command [:SOURce]:LFOutput:OFFSEt <volt>
Format[:SOURce]:LFOutput:OFFSEt?

Instruction Set the voltage offset of the LF output signal.
Get the voltage offset of the LF output signal.
Parameter Float, unit: dBm, dBmV, dBuV, V, W, Default: V
TypeParameter
Range

1
LFoffset  max(2.5V  LEVEL, 2V )2ReturnFloat, unit: V

Default

0V

Menu

LF > LF Offset

ExampleLFOutput:OFFSEt 1 V

3.5.9.4 LF Frequency ([:SOURce]:LFOutput:FREQuency)
Command [:SOURce]:LFOutput:FREQuency <freq>
Format[:SOURce]:LFOutput:FREQuency?

Instruction Set LF out put frequency.
Get LF out put frequency.
SSG3000X Programming Guide 69

SIGLENT
If signal source "Internal" is set, the instrument performs the analog
modulations(AM/FM /PM) with this frequency.
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type
Parameter
Range

0.01 Hz ~ 1 MHz

ReturnFloat, unit: Hz

Default

1 kHz

Menu

LF > LF Frequency

ExampleLFOutput:FREQuency 10 kHz

3.5.9.5 LF Shape ([:SOURce]:LFOutput:SHAPe)
Command [:SOURce]:LFOutput:SHAPe SINE|SQUare|TRIangle|SAWTooth|DC
Format[:SOURce]:LFOutput:SHAPe?

Instruction Select the shape of the LF signal.
Get the shape of the LF signal.
Parameter Enumeration
Type
Parameter
Range

SINE|SQUare|TRIangle|SAWTooth|DC

ReturnEnumeration

Default

SINE

Menu

LF > LF Shape

ExampleLFOutput:SHAPe TRIangle

3.5.9.6 LF Phase ([:SOURce]:LFOutput:PHASe)
Command [:SOURce]:LFOutput:PHASe <deg>Format[:SOURce]:LFOutput:PHASe?

Instruction Set the phase of the LF output signal.
Get the phase of the LF output signal.
Parameter Float, unit: deg
TypeParameter -360 deg ~ 360 deg

70 SSG3000X Programming GuideSIGLENT
Range
ReturnFloat, unit: deg

Default

0 deg

Menu

LF > LF Phase

ExampleLFOutput:PHASe 20

3.5.10 [:SOURce]:LFOutput:SWEep Subsystem
3.5.10.1 Sweep State ([:SOURce]:LFOutput:SWEep)
Command [:SOURce]:LFOutput:SWEep ON|OFF|0|1
Format[:SOURce]:LFOutput:SWEep?

Instruction Activate/Deactivate the LF frequency sweep signal generation.
Get the state of LF frequency sweep.
Parameter Boolean
Type
Parameter
Range

ON|OFF|0|1

ReturnBooleanDefault0

Menu

LF Sweep > LF State

Example:LFOutput:SWEep 1

3.5.10.2 Sweep Direction ([:SOURce]:LFOutput:SWEep:DIRect)
Command [:SOURce]:LFOutput:SWEep:DIRect UP|DOWN
Format[:SOURce]:LFOutput:SWEep:DIRect?

Instruction Set the sweep direction.
Get the sweep direction.
Parameter Enumeration
Type
Parameter
Range

UP|DOWN

ReturnEnumeration

Default

UP

SSG3000X Programming Guide 71

SIGLENTMenu

LF Sweep > Sweep Direction

Example:LFOutput:SWEep:DIRect DOWN

3.5.10.3 Start Freq ([:SOURce]:LFOutput:SWEep:STARt:FREQuency)
Command [:SOURce]:LFOutput:SWEep:STARt:FREQuency <freq>
Format[:SOURce]:LFOutput:SWEep:STARt:FREQuency?

Instruction Set the start frequency of sweep mode.
Get the start frequency of sweep mode.
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type
Parameter
Range

0.01 Hz ~ Stop frequency

ReturnFloat, unit: Hz

Default

500 HzMenu

LF Sweep > Start Freq

Example:LFOutput:SWEep:STARt:FREQuency 100

3.5.10.4 Stop Freq ([:SOURce]:LFOutput:SWEep:STOP:FREQuency)
Command [:SOURce]:LFOutput:SWEep:STOP:FREQuency <freq>
Format[:SOURce]:LFOutput:SWEep:STOP:FREQuency?

Instruction Set the stop frequency of sweep mode.
Get the stop frequency of sweep mode.
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type
Parameter
Range

Start frequency ~ Maximum frequency of LF

ReturnFloat, unit: Hz

Default

1.5 kHzMenu

LF Sweep > Stop Freq

Example:LFOutput:SWEep:STOP:FREQuency 1000

72 SSG3000X Programming GuideSIGLENT

3.5.10.5 Center Freq([:SOURce]:LFOutput:SWEep:CENTer:FREQuency)
Command [:SOURce]:LFOutput:SWEep:CENTer:FREQuency <freq>
Format[:SOURce]:LFOutput:SWEep:CENTer:FREQuency?

Instruction Set the center frequency of sweep mode.
Get the center frequency of sweep mode.
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type
Parameter
Range

0.01 Hz ~ Maximum frequency of LF

ReturnFloat, unit: Hz

Default

1 kHz

Menu

LF Sweep > Center Freq

Example:LFOutput:SWEep:CENTer:FREQuency 550

3.5.10.6 Freq Span([:SOURce]:LFOutput:SWEep:SPAN:FREQuency)
Command [:SOURce]:LFOutput:SWEep:SPAN:FREQuency <freq>
Format[:SOURce]:LFOutput:SWEep:SPAN:FREQuency?

Instruction Set the center frequency of sweep mode.
Get the center frequency of sweep mode.
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type
Parameter
Range

0 Hz ~ Maximum frequency of LF – 0.01 Hz

ReturnFloat, unit: Hz

Default

1 kHz

Menu

LF Sweep > Freq Span

Example:LFOutput:SWEep:SPAN:FREQuency 550

3.5.10.7 Sweep Time ([:SOURce]:LFOutput:SWEep:DWELl)
Command [:SOURce]:LFOutput:SWEep:DWELl <time>

SSG3000X Programming Guide 73

SIGLENT
Format[:SOURce]:LFOutput:SWEep:DWELl?

Instruction Set the sweep time of sweep mode.
Get the sweep time of sweep mode.
Parameter Float, unit: ns, us, ms, s
TypeParameterRange

1 ms ~ 500 s

ReturnFloat, unit: sDefault

1s

Menu

LF Sweep > Sweep Time

Example:LFOutput:SWEep:DWELl 2 s

3.5.10.8 Trigger Mode ([:SOURce]:LFOutput:SWEep:TRIGger:TYPE)
Command [:SOURce]:LFOutput:SWEep:TRIGger:TYPE AUTO|KEY|BUS|EXT
Format[:SOURce]:LFOutput:SWEep:TRIGger:TYPE?

Instruction Select the LF frequency sweep trigger mode.
Get the LF frequency sweep trigger mode.
Parameter Enumeration
Type
Parameter
Range

AUTO|KEY|BUS|EXT

ReturnEnumeration

Default

AUTO

Menu

LF Sweep > Trigger Mode

Example:LFOutput:SWEep:TRIGger:TYPE KEY

3.5.10.9 Sweep Shape ([:SOURce]:LFOutput:SWEep:SHAPe)
Command [:SOURce]:LFOutput:SWEep:SHAPe TRIangle|SAWTooth
Format[:SOURce]:LFOutput:SWEep:SHAPe?

Instruction Select the waveform shape of the sweep signal.
Get the waveform shape of the sweep signal.
Parameter Enumeration
Type
Parameter TRIangle|SAWTooth
74 SSG3000X Programming GuideSIGLENT
Range
ReturnEnumeration

Default

SAWToothMenu

LF Sweep > Sweep Shape

Example:LFOutput:SWEep:SHAPe TRIangle

3.5.10.10 Sweep Space ([:SOURce]:LFOutput:SWEep:SPACing)
Command [:SOURce]:LFOutput:SWEep:SPACing LINear|LOGarithmic
Format[:SOURce]:LFOutput:SWEep:SPACing?

Instruction Select the mode for the calculation of the frequency sweep intervals.
Get the mode for the calculation of the frequency sweep intervals.
Parameter Enumeration
Type
Parameter
Range

LINear|LOGarithmic

ReturnEnumeration

Default

LINearMenu

LF Sweep > Sweep Space

Example:LFOutput:SWEep:SPACing LOGarithmic

3.6 Sense Subsystem
3.6.1 Sensor Info (:SENSe[:POWer]:TYPE)
CommandFormat:SENSe[:POWer]:TYPE?

Instruction Query the type of sensor connected to the POWER SENSOR connector.
Parameter NoneType
Parameter
Range

None

ReturnStringDefault

None

Menu

SENSOR > Sensor Info
SSG3000X Programming Guide 75

SIGLENT
ExampleSENSe:TYPE?

3.6.2 Sensor State (:SENSe[:POWer]:STATus)
Command :SENSe[:POWer]:STATus OFF|ON|0|1
Format:SENSe[:POWer]:STATus?

Instruction Set the sensor state.
Get the sensor state.
Parameter Boolean
Type
Parameter
Range

OFF|ON|0|1

ReturnBooleanDefault

0

Menu

SENSOR > Sensor State

ExampleSENSe:STATus ON

3.6.3 Measurement (:SENSe[:POWer]:VALue)
CommandFormat:SENSe[:POWer]:VALue?

Instruction Indicate the current reading of the sensor.
Parameter NoneType
Parameter
Range

None

ReturnFloat, unit: dBm

Default

None

Menu

SENSOR > Measurement

ExampleSENSe:VALue?

3.6.4 Statistics State(:SENSe[:POWer]:STATIStics:STATe)Command :SENSe[:POWer]:STATIStics:STATe ON|OFF|1|0
Format:SENSe[:POWer]:STATIStics:STATe?

76 SSG3000X Programming GuideSIGLENT
Instruction Set statistics state.
Get statistics state.
Parameter Boolean
Type
Parameter
Range

ON|OFF|1|0

ReturnBooleanDefault

0

Menu

SENSOR > Statistics

ExampleSENSe:STATIStics:STATe ON

3.6.5 Statistics Value (:READ[:POWer])
CommandFormat:READ[:POWer]?

Instruction Indicate the measured mean value and maximum value.
Parameter NoneType
Parameter
Range

None

ReturnStringDefault

None

Menu

SENSOR > Statistics

ExampleREAD?

3.6.6 Statistics Max Value(:SENSe[:POWer]:STATIStics:MAX?)
CommandFormat:SENSe[:POWer]:STATIStics:MAX?

Instruction Indicate the measured maximum value.
Parameter NoneType
Parameter
Range
ReturnNone
Float, unit: dBm

SSG3000X Programming Guide 77

SIGLENT
Default

None

Menu

SENSOR > Statistics

ExampleSENSe:STATIStics:MAX?

3.6.7 Statistics Min Value(:SENSe[:POWer]:STATIStics:MIN?)
CommandFormat:SENSe[:POWer]:STATIStics:MIN?

Instruction Indicate the measured minimum value.
Parameter NoneType
Parameter
Range

None

ReturnFloat, unit: dBm

Default

None

Menu

SENSOR > Statistics

ExampleSENSe:STATIStics:MIN?

3.6.8 Statistics Mean Value(:SENSe[:POWer]:STATIStics:AVG?)
CommandFormat:SENSe[:POWer]:STATIStics:AVG?

Instruction Indicate the measured mean value.
Parameter NoneType
Parameter
Range

None

ReturnFloat, unit: dBm

Default

None

Menu

SENSOR > Statistics

ExampleSENSe:STATIStics:AVG?

78 SSG3000X Programming GuideSIGLENT

3.6.9 Statistics Count(:SENSe[:POWer]:STATIStics:COUNt?)
CommandFormat:SENSe[:POWer]:STATIStics:COUNt?

Instruction Indicate the measured times.
Parameter NoneType
Parameter
Range

None

ReturnInteger

Default

None

Menu

SENSOR > Statistics

ExampleSENSe:STATIStics:COUNt?

3.6.10 Statistics Clear(:SENSe[:POWer]:STATIStics:CLEAr?)
CommandFormat:SENSe[:POWer]:STATIStics:CLEAr?

Instruction Clear statistics.
Parameter NoneType
Parameter
Range

None

ReturnNone

Default

None

Menu

SENSOR > Statistics

ExampleSENSe:STATIStics:CLEAr?

3.6.11 Auto Zero (:CALibration:ZERO:TYPE)
Command :CALibration:ZERO:TYPE INTernal|EXTernal
Format:CALibration:ZERO:TYPE?

Instruction Select zero type.
Get zero type.
SSG3000X Programming Guide 79

SIGLENT
Parameter Enumeration
Type
Parameter
Range

INTernal|EXTernal

ReturnEnumeration

Default

INTernal

Menu

SENSOR > Auto Zero

ExampleCALibration:ZERO:TYPE EXTernal

3.6.12 Zeroing (:SENSe[:POWer]:ZERO)
CommandFormat:SENSe[:POWer]:ZERO

Instruction Perform zeroing of the sensor.
Parameter NoneType
Parameter
Range

None

ReturnNone

Default

None

Menu

SENSOR > Click to perform zeroing

Example:SENSe:ZERO

3.6.13 Frequency Type (:SENSe[:POWer]:SOURce)
Command :SENSe[:POWer]:SOURce RF|USERFormat:SENSe[:POWer]:SOURce?

Instruction Select the signal source for the measurement.
Get the signal source for the measurement.
Parameter Enumeration
Type
Parameter
Range

RF|USER

ReturnEnumeration

Default

RF

Menu

SENSOR > Frequency

80 SSG3000X Programming GuideSIGLENT
ExampleSENSe:SOURce RF

3.6.14 Frequency (:SENSe[:POWer]:FREQuency)
Command :SENSe[:POWer]:FREQuency <type>
Format:SENSe[:POWer]:FREQuency?

Instruction Set the frequency for frequency type " USER".
Get the frequency for frequency type " USER".
Parameter Float, unit: Hz, kHz, MHz, GHz, Default “Hz”
Type
Parameter
Range

9 kHz ~ 3.2 GHz

ReturnFloat, unit: Hz

Default

None

Menu

SENSOR > Frequency

ExampleSENSe:FREQuency 1 MHz

3.6.15 Level Offset State(:SENSe[:POWer]:OFFSet:STATe)Command :SENSe[:POWer]:OFFSet:STATe ON|OFF|0|1
Format:SENSe[:POWer]:OFFSet:STATe?

Instruction Switch the power offset switch status.
Get the power offset switch status.
Parameter Boolean
Type
Parameter
Range

ON|OFF|0|1

ReturnBooleanDefault

0

Menu

SENSOR > Level Offset

ExampleSENSe:OFFSet:STATe ON

3.6.16 Level Offset (:SENSe[:POWer]:OFFSet)Command :SENSe[:POWer]:OFFSet <power>

SSG3000X Programming Guide 81

SIGLENT
Format:SENSe[:POWer]:OFFSet?

Instruction The command enters a level offset which is added to the measured levelvalue.
Get the level offset which is added to the measured level value.
Parameter Float
Type
Parameter
Range

Limit by power sensor.

ReturnFloat, unit: dB

Default

0 dB

Menu

SENSOR > Level Offset

ExampleSENSe:OFFSet 10

3.6.17 Average Type (:SENSe[:POWer]:FILTer:TYPE)
Command :SENSe[:POWer]:FILTer:TYPE AUTO|USER|NSRatio
Format:SENSe[:POWer]:FILTer:TYPE?

Instruction Select the averaging mode.
Get the averaging mode.
Parameter Enumeration
Type
Parameter
Range

AUTO|USER|NSRatio

ReturnEnumeration

Default

None

Menu

SENSOR > Averaging

ExampleSENSe:FILTer:TYPE AUTO

3.6.18 Average Times (:SENSe[:POWer]:FILTer:LENGth)Command :SENSe[:POWer]:FILTer:LENGth <length>
Format:SENSe[:POWer]:FILTer:LENGth?

Instruction Set the average number times.
Parameter Integer
Type
Parameter Limit by power sensor

82 SSG3000X Programming GuideSIGLENT
Range
ReturnFloat

Default

None

Menu

SENSOR > Averaging

ExampleSENSe:FILTer:LENGth 10

3.6.19 Internal Noise (:SENSe[:POWer]:FILTer:NSRatio)
Command :SENSe[:POWer]:FILTer:NSRatio <noise>
Format:SENSe[:POWer]:FILTer:NSRatio?

Instruction The power sensor will control the internal noise that does not exceed theset value of the fixed noise parameter.
Parameter Float, unit: dB
TypeParameter
Range

Limit by power sensor.

ReturnFloat, unit: dB

Default

None

Menu

SENSOR > Averaging

ExampleSENSe:FILTer:NSRatio 1

3.6.20 Logging (:SENSe[:POWer]:LOGGing:STATe)Command :SENSe[:POWer]:LOGGing:STATe <state>
Format:SENSe[:POWer]:LOGGing:STATe?

Instruction Set logging state.
Get logging state.
Parameter Boolean
Type
Parameter
Range

ON|OFF|1|0

ReturnBooleanDefault

0

Menu

SENSOR > Logging

ExampleSENSe:LOGGing:STATe ON

SSG3000X Programming Guide 83

SIGLENT

4.Programming Examples
This chapter gives some examples for the programmer. In these examples you can see
how to use the VISA or sockets, in combination with the commands have been
described above to control the signal generator. By following these examples, you candevelop many more applications.

4.1 Examples of Using VISA
4.1.1 Example of VC++
Environment: Win7 32bit system, Visual Studio
The functions of this example: use the NI-VISA, to control the device with USBTMC or
TCP/IP access to do a write and read.
Follow the steps to finish the example:
1、 Open Visual Studio, create a new VC++ win32 console project.
2、 Set the project environment to use the NI-VISA lib, there are two ways to use NIVISA, static or automatic:(1) Static: find files: visa.h, visatype.h, visa32.lib in NI-VISA install path. Copy them toyour project, and add them into project. In the projectname.cpp file, add the follow
two lines:#include "visa.h"#pragma comment(lib,"visa32.lib")(2) Automatic:
Set the .h file include directory, the NI-VISA install path, in our computer we set thepath is: C:\Program Files\IVI Foundation \VISA\WinNT\include. Set this path toproject---properties---c/c++---General---Additional Include Directories: See thepicture.

84 SSG3000X Programming GuideSIGLENT

Set lib path set lib file:
Set lib path: the NI-VISA install path, in our computer we set the path is: C:\Program
Files\IVI Foundation\VISA\WinNT\lib\msc. Set this path to project---properties--Linker---General---Additional Library Directories: as seen in the pictures below.

Set lib file: project---properties---Linker---Command Line---Additional Options:visa32.lib

Include visa.h file: In the projectname.cpp file:#include <visa.h>3、Add codes:(1) USBTMC access code.
Write a function Usbtmc_test:
int Usbtmc_test(){/* This code demonstrates sending synchronous read & write commands *//* to an USB Test & Measurement Class (USBTMC) instrument using *//* NI-VISA*/
SSG3000X Programming Guide 85

SIGLENT/* 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 viPrintf *//* Try to Read a Response With viScanf *//* Close the VISA Session *//***********************************************************/ViSession defaultRM;
ViSession instr;
ViUInt32 numInstrs;
ViFindList findList;
ViStatus status;char instrResourceString[VI_FIND_BUFLEN];
unsigned char buffer[100];
int i;/** 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 of resources 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;}/** 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

86 SSG3000X Programming GuideSIGLENT* 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){
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

SSG3000X Programming Guide 87

SIGLENT* viClose. This operation frees all system resources.

*/

status = viClose (defaultRM);
printf("Press 'Enter' to exit.");fflush(stdin);getchar();return 0;}
int _tmain(int argc, _TCHAR* argv[]){
Usbtmc_test();return 0;}

Run result.

(2) TCP/IP access code.
Write a function TCP_IP_Test:
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";
strcat(head,pIP);
strcat(head,tail);
status = viOpen (defaultRM, head, VI_LOAD_CONFIG, VI_NULL, &instr);
if (status<VI_SUCCESS){

88 SSG3000X Programming GuideSIGLENT
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[]){
printf("Please input IP address:");char ip[256];
fflush(stdin);gets(ip);
TCP_IP_Test(ip);return 0;}

Run result.

SSG3000X Programming Guide 89

SIGLENT

4.1.2 Example of VB
Environment: Win7 32bit system, Microsoft Visual Basic 6.0
The function of this example: Use the NI-VISA, to control the device with USBTMC and
TCP/IP access to do a write and read.
Follow the steps to complete the example:
1、 Open Visual Basic, build a standard application program project (Standard EXE)
2、 Set the project environment to use the NI-VISA lib, Click the Existing tab of
Project>>Add Existing Item. Search for the visa32.bas file in the include folder under
the NI-VISA installation path and add the file.

This allows the VISA functions and VISA data types to be used in a program.
3、 Add codes:(1) USBTMC access code.
Write a function Usbtmc_test:
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
90 SSG3000X Programming GuideSIGLENT
Dim numlnstrs As Long
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?*INSTR", 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
' 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

SSG3000X Programming Guide 91

SIGLENT
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 device'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.
' 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 Function(2) TCP/IP access code.
Write a function TCP_IP_Test:
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

92 SSG3000X Programming GuideSIGLENT' 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!"
TCP_IP_Test = status
Exit Function
End If' Now we will open a session via TCP/IP device
status = viOpen(defaultRM, "TCPIP0::" + ip + "::INSTR", VI_LOAD_CONFIG, VI_NULL, instrsesn)
If (status < VI_SUCCESS) Then
resultTxt.Text = "An error occurred opening the session"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 Function(3) 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

SSG3000X Programming Guide 93

SIGLENT
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:4.1.3 Example of MATLAB
Environment: Win7 32bit system, MATLAB R2013a
The function of this example: Use the NI-VISA, to control the device with USBTMC or
TCP/IP access to do a write and read.
Follow the steps to complete the example:
1、 Open MATLAB, 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、 Add codes:(1)USBTMC access code
Write a function Usbtmc_test.
function USBTMC_test()% This code demonstrates sending synchronous read & write commands% to an USB Test & Measurement Class (USBTMC) instrument using% NI-VISA

94 SSG3000X Programming GuideSIGLENT%Create a VISA-USB object connected to a USB instrument
vu = visa('ni','USB0::0xF4EC::0x1501::0123456789::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);%Close the VISA object
fclose(vu);delete(vu);clear vu;end

Run result:(2)TCP/IP access code.
Write a function TCP_IP_Test:
function TCP_IP_test()% This code demonstrates sending synchronous read & write commands% to an 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.11.215','::INSTR']);%Open the VISA object createdfopen(vt);%Send the string "*IDN?",asking for the device's identification.
fprintf(vt,'*IDN?');

SSG3000X Programming Guide 95

SIGLENT%Request the data
outputbuffer = fscanf(vt);disp(outputbuffer);%Close the VISA object
fclose(vt);delete(vt);clear vt;
end

Run result:4.1.4 Example of LabVIEW
Environment: Win7 32bit system, LabVIEW 2011
The functions of this example: use the NI-VISA, to control the device with USBTMC and
TCP/IP access to do a write and read.
Follow the steps to complete the example:
1、 Open LabVIEW, 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 and you
can select and add the following functions from VISA Palette from the pop-up menu:
VISA Write, VISA Read, VISA Open and VISA Close.
4、 Connect them as shown in the figure below

96 SSG3000X Programming GuideSIGLENT
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 command to
the device, and reads back the response. In this example, the specific command being
sent is the device ID query. Check with your device manufacturer for the device
command set. 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 tochange VISA Write and VISA Read Function to Synchronous I/O. The LabVIEW default isasynchronous

I/O.

Right-click

the

node

and

selectSynchronous

I/O

Mod>>Synchronous from the shortcut menu to write or read data synchronously.
7、 Connect them as shown in the figure below

8、 Input the IP address and run the program.

SSG3000X Programming Guide 97

SIGLENT

4.2 Examples of Using Socket
4.2.1 Example of Python
Python is an interpreted programming language that lets you work quickly and is very
portable.Python has a low-level networking module that provides access to the socketinterface.Python scripts can be written for sockets to do a variety of test andmeasurements tasks.
Environment: Win7 32bit system, Python v2.7.5
The functions of this example: Open a socket, sends a query, and closes the socket. It
does this loop 10 times.
Below is the code of the script:#!/usr/bin/env python#-*- coding:utf-8 –*#----------------------------------------------------------------------------# The short script is a example that open a socket, sends a query,# print the return message and closes the socket.

98 SSG3000X Programming GuideSIGLENT#----------------------------------------------------------------------------import socket # for sockets
import sys # for exit
import time # for sleep#----------------------------------------------------------------------------remote_ip = "10.11.13.32" # should match the instrument’s IP address
port = 5024 # the port number of the instrument service
count = 0
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))
info = s.recv(4096)
print (info)
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()time.sleep(.300)
def main():

SSG3000X Programming Guide 99

SIGLENT
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?')
print (str(count) + ":: " + str(qStr))count = count + 1
SocketClose(s)input('Press "Enter" to exit')
if __name__ == '__main__':proc = main()

Run result:4.2.2 Example of Telnet
Telnet SCPI: Provides the ability to send single SCPI commands from a remote PC to thesignal generator using LAN port number 5024.
How to send single SCPI commands using Telnet:
1.

On the remote PC, click Start, then Run

100 SSG3000X Programming GuideSIGLENT
2.

Type: telnet <ip address> 5024

3.

A Telnet window with a >> prompt should appear on the remote PC screen.

4.

From the SCPI prompt:Type single SCPI commands. Press Enter to send the command.



To exit the telnet window click X in the upper-right corner.



To get a normal telnet prompt, press Ctrl + ] (closing bracket).

To get SCPI prompt again, type open <ip Address> 5024.

SSG3000X Programming Guide 101

SIGLENT

Press Enter:To close the normal telnet window, type Quit and press Enter.

102 SSG3000X Programming Guide