SSG5080A Series Programming Guide Contents Programming Overview ..................1 Build communication via VISA ..................1 1.1.1 Install NI-VISA ......................1 1.1.2 Connect the instrument to computer ............... 4 Remote Control ......................6 1.2.1 User-defined Programming ..................6 1.2.2 Send SCPI via NI-MAX ................... 6 1.2.3 Send SCPI over Telnet ...................
SSG5080A Series Programming Guide Programming Overview The SSG5080A Series Signal Generator supports USB, LAN and USB-GPIB interfaces. Through these interfaces, combined with NI-VISA and corresponding programming language, users can use the command set based on SCPI (Standard Commands for Programmable Instruments) to remotely program and control the instrument, and interact with other programmable instruments that support the SCPI command set.
Page 6
SSG5080A Series Programming Guide Click Unzip. Then the installation process will launch automatically after unzipping files. If your computer needs to install the .NET Framework 4, it shall auto-start. The NI-VISA install dialog is shown above. Click Next to start the installation process.
Page 7
SSG5080A Series Programming Guide Click Next twice. In the License Agreement dialog, select “I accept the above 2 License Agreement(s).” and click Next. The dialog box will appear as shown below: Click Next to begin installation. int.siglent.com...
SSG5080A Series Programming Guide Now the installation is complete. Reboot your computer. Connect the instrument to computer 1.1.2 The signal generator may be able to communicate with the computer through the USB, LAN or USB- GPIB interface. Connect using USB interface 1.1.2.1...
Page 9
SSG5080A Series Programming Guide parameters (IP address, subnet mask, gateway) to the signal generator. Static: You can manually set the IP address, subnet mask, and gateway. The signal generator will be automatically or manually detected as a new LAN device.
SSG5080A Series Programming Guide Remote Control User-defined Programming 1.2.1 Users can send SCPI commands through the computer to program and control the signal generator. For details, please refer to the introduction in the “Programming Examples” chapter. Send SCPI via NI-MAX 1.2.2...
Page 11
SSG5080A Series Programming Guide Using LAN 1.2.2.2 Run NI-MAX. Click “Devices and Interfaces” > “Network Devices” in the upper left corner of the software. Click “Add Network Device” > “VISA TCP/IP Resource…”. In the pop-up “Create New...” window, select "Manual Entry of LAN Instrument" and then click Next.
Page 12
SSG5080A Series Programming Guide Enter the IP address of the signal generator in "Hostname or IP address". You can click "Validate" to verify whether the device can be connected via the entered IP. Click "Finish" to establish the connection. After a short scan, the resource name of the signal generator should be displayed under "Network Devices".
Page 13
SSG5080A Series Programming Guide Select the signal generator device and click the “Open VISA Test Panel” button. Select the “Input/Output” page in the VISA test panel. At this time, you can enter SCPI in the input field to write or query. Click the “Query” button as shown below to query the device’s IDN: Using USB-GPIB 1.2.2.3...
Page 14
SSG5080A Series Programming Guide Select the “Configuration” > “I/O Settings” in the VISA test panel. Check the Enable Termination Character option, and click Apply Changes button. Select the “Input/Output” page in the VISA test panel. At this time, you can enter SCPI in the input field to write or query.
SSG5080A Series Programming Guide Send SCPI over Telnet 1.2.3 Telnet provides a way to communicate with the signal generator through the LAN interface. The Telnet protocol supports sending SCPI commands from the computer to the signal generator in a manner similar to communicating with the signal generator via USB.
SSG5080A Series Programming Guide Press Ctrl+] keys simultaneously to exit the SCPI session with the instrument. To re-enter the SCPI session with the instrument, you can enter open <IP Address> 5024 and press Enter. To close the Telnet window, type Quit and press Enter.
SSG5080A Series Programming Guide Introduction to the SCPI Language Command Format SCPI commands are tree-like hierarchical structures, including multiple subsystems. Each subsystem consists of a root keyword and one or several hierarchical keywords. The command line usually starts with a colon “:” and keywords are separated by a colon “:”. The keyword is followed by optional parameter settings.
SSG5080A Series Programming Guide In the [:SOURce]:AM:STATe OFF|ON|0|1 command, the optional command parameters are "OFF", "ON", "0" or "1". Braces { } Parameters in braces are optional and may not be set, or may be set once or multiple times. For example: In the :CALCulate:LLINe[1]|2:DATA <x-axis>,<ampl>{,<x-axis>,<ampl>} command,...
SSG5080A Series Programming Guide String The parameter should be the combination of ASCII characters. For example: In :SYSTem:COMMunicate:LAN:IPADdress <“xxx.xxx.xxx.xxx”> command, the IP address can be set as the string “192.168.1.12”. Discrete The parameter could only be one of the specified values and these values are discontinuous.
SSG5080A Series Programming Guide Commands IEEE 488.2 Common Commands The IEEE standards defined the common commands used for querying the basic information of the instrument and performing basic operations. These commands usually start with "*" and the length of the command keyword is usually 3 characters.
SSG5080A Series Programming Guide This command sets/gets the value of the Standard Event Status DESCRIPTION Enable Register. Integer DATA TYPE 0 to 255 RANGE None EQUIVALENT MENU *ESE 16 EXAMPLE *ESE? Return: 16\n Standard Event Status Register Query (*ESR?) 3.1.5...
SSG5080A Series Programming Guide 0 to 255 RANGE None EQUIVALENT MENU *SRE 24 EXAMPLE *SRE? Return: 24\n Status Byte Query (*STB?) 3.1.8 *STB? SYNTAX This command reads the value of Status Byte Register. DESCRIPTION None EQUIVALENT MENU *STB? EXAMPLE Return:...
SSG5080A Series Programming Guide SYSTem Commands System Configuration 3.2.1 System Time (:SYSTem:TIME) 3.2.1.1 :SYSTem:TIME <hhmmss> SYNTAX :SYSTem:TIME? This command sets/gets the system time. DESCRIPTION String DATA TYPE Hours (0 ~ 23), minutes (0 ~ 59), seconds (0 ~ 59) RANGE...
Page 24
SSG5080A Series Programming Guide UTILITY > Interface > LAN Setting > IP Address EQUIVALENT MENU :SYSTem:COMMunicate:LAN:IPADdress “192.168.1.12” EXAMPLE :SYSTem:COMMunicate:LAN:IPADdress? Return: “192.168.1.12”\n Gateway (:SYSTem:COMMunicate:LAN:GATeway) 3.2.1.4 :SYSTem:COMMunicate:LAN:GATeway <“xxx.xxx.xxx.xxx”> SYNTAX :SYSTem:COMMunicate:LAN:GATeway? This command sets/gets the gateway of the device when the IP DESCRIPTION assignment is set to Static.
Page 25
SSG5080A Series Programming Guide Enumeration DATA TYPE STATIC|DHCP RANGE Enumeration RETURN UTILITY > Interface > LAN Setting > DHCP State EQUIVALENT MENU :SYSTem:COMMunicate:LAN:TYPE STATIC EXAMPLE :SYSTem:COMMunicate:LAN:TYPE? Return: STATIC\n Language (SYSTem:LANGuage) 3.2.1.7 :SYSTem:LANGuage CHINese|ENGLish SYNTAX :SYSTem:LANGuage? This command sets/gets the system language.
Page 26
SSG5080A Series Programming Guide Beeper (SYSTem:ALARm) 3.2.1.9 :SYSTem:ALARm ON|OFF|1|0 SYNTAX :SYSTem:ALARm? This command sets/gets the state of system beeper. DESCRIPTION Boolean DATA TYPE ON|OFF|1|0 RANGE RETURN DEFAULT VALUE UTILITY > Setting > Beeper EQUIVALENT MENU :SYSTem:ALARm ON EXAMPLE :SYSTem:ALARm? Return: Setup Type (:SYSTem:PON:TYPE) 3.2.1.10...
Page 27
SSG5080A Series Programming Guide UTILITY > Setting > Power On Line EQUIVALENT MENU :SYSTem:POWeron:TYPE ON EXAMPLE :SYSTem:POWeron:TYPE? Return: 10M Adjustment State (:SYSTem:REF:DAC:STAT) 3.2.1.12 :SYSTem:REF:DAC:STAT ON|OFF|1|0 SYNTAX :SYSTem:REF:DAC:STAT? This command sets/gets the state of system 10M adjustment. DESCRIPTION Boolean DATA TYPE...
Page 28
SSG5080A Series Programming Guide String DATA TYPE None RANGE UTILITY > Setting > 10M Adjustment > Save Ref Osc Setting EQUIVALENT MENU :SYSTem:REF:DAC:SAVE “U-disk3/test.dac” EXAMPLE Ref Osc Code Load (:SYSTem:REF:DAC:LOAD) 3.2.1.15 :SYSTem:REF:DAC:LOAD <”file_name”> SYNTAX This command loads the reference oscillator code from a DAC file.
SSG5080A Series Programming Guide Quit Remote Control State (SYSTem:REMote 0) 3.2.1.18 :SYSTem:REMote 0 SYNTAX Send this command to exit the remote mode of the system. DESCRIPTION EQUIVALENT MENU :SYSTem:REMote 0 EXAMPLE Query Clock Reference Source (:SYStem:CLOCk?) 3.2.1.19 :SYStem:CLOCk? SYNTAX Query whether the clock reference source used by the instrument is DESCRIPTION internal or external.
Page 30
SSG5080A Series Programming Guide Preset Save (:SYSTem:PRESet:SAVE) 3.2.2.2 :SYSTem:PRESet:SAVE SYNTAX This command saves the current system configuration. DESCRIPTION None EQUIVALENT MENU Reset the instrument to its current configuration: EXAMPLE :SYSTem:PRESet:TYPE USER :SYSTem:PRESet:SAVE :SYSTem:PRESet Preset Path (:SYSTem:PRESet:PATH) 3.2.2.3 :SYSTem:PRESet:PATH <”file_name”> SYNTAX This command saves the current system configuration into an XML file.
Page 31
SSG5080A Series Programming Guide UTILITY > Setting > Factory Reset EQUIVALENT MENU :SYSTem:FDEFault EXAMPLE Reset & Clear (SYSTem:RESet:CLEar) 3.2.2.6 :SYSTem:RESet:CLEar SYNTAX Restore the instrument status to factory settings and clear the user DESCRIPTION files in the Local folder. UTILITY > Setting > Reset & Clear...
SSG5080A Series Programming Guide OUTPut Commands RF Output (:OUTPut[:STATe]) 3.3.1 :OUTPut[:STATe] ON|OFF|1|0 SYNTAX :OUTPut[:STATe]? This command sets/gets the output status of the RF port. DESCRIPTION Boolean DATA TYPE ON|OFF|1|0 RANGE RETURN DEFAULT VALUE [:SOURce]:OUTPut ON|OFF|1|0 EQUIVALENT SCPI RF ON/OFF or FREQ > RF State...
SSG5080A Series Programming Guide SOURce Commands RF Output ([:SOURce]:OUTPut) 3.4.1 [:SOURce]:OUTPut ON|OFF|1|0 SYNTAX This command sets the output status of the RF port. DESCRIPTION Boolean DATA TYPE ON|OFF|1|0 RANGE :OUTPut[:STATe] ON|OFF|1|0 EQUIVALENT SCPI RF ON/OFF or FREQ > RF State...
Page 34
SSG5080A Series Programming Guide Frequency ([:SOURce]:FREQuency) 3.4.3.2 [:SOURce]:FREQuency <freq> SYNTAX [:SOURce]:FREQuency? This command sets/gets the frequency of the RF output signal. DESCRIPTION Float, unit: Hz, kHz, MHz or GHz, default is Hz DATA TYPE Full frequency range RANGE Float, unit: Hz...
SSG5080A Series Programming Guide FREQ > Phase Offset EQUIVALENT MENU PHASe 20 EXAMPLE PHASe? Return: 20\n Phase Reset ([:SOURce]:PHASe:RESet) 3.4.3.5 [:SOURce]:PHASe:RESet SYNTAX This command resets the phase offset display value of the RF signal DESCRIPTION to 0. [:SOURce]:PHASe:REF EQUIVALENT SCPI FREQ >...
Page 36
SSG5080A Series Programming Guide Return: -2\n Level ([:SOURce]:POWer) 3.4.4.2 [:SOURce]:POWer <power> SYNTAX [:SOURce]:POWer? This command sets/gets the level of the RF output signal. DESCRIPTION Float, unit: dBm, dBuV, uV, mV, V, nW, uW, mW or W, default is dBm DATA TYPE...
Page 37
SSG5080A Series Programming Guide -100 dB to 100 dB RANGE Float, unit: dB RETURN DEFAULT VALUE LEVEL > Level Offset EQUIVALENT MENU :POWer:OFFSet 2 EXAMPLE :POWer:OFFSet? Return: ALC State ([:SOURce]:POWer:ALC) 3.4.4.5 [:SOURce]:POWer:ALC ON|OFF|AUTO SYNTAX [:SOURce]:POWer:ALC? This command sets/gets the ALC state.
Page 38
SSG5080A Series Programming Guide Flatness List Add Row ([:SOURce]:CORRection:FLATness:PAIR) 3.4.4.7 [:SOURce]:CORRection:FLATness:PAIR <freq>,<power> SYNTAX This command adds a line to the flatness list. DESCRIPTION Freq: float, unit: Hz, kHz, MHz or GHz, default is Hz, DATA TYPE Power: float, unit: dB...
Page 39
SSG5080A Series Programming Guide LEVEL > Flatness > Save EQUIVALENT MENU :CORRection:STORe “U-disk3/test.uflt” EXAMPLE Flatness List Load ([:SOURce]:CORRection:LOAD) 3.4.4.11 [:SOURce]:CORRection:LOAD <”file_name”> SYNTAX This command loads the flatness list from a UFLT file. DESCRIPTION String DATA TYPE None RANGE LEVEL > Flatness > Open EQUIVALENT MENU :CORRection:LOAD “U-disk3/test.uflt”...
Page 40
SSG5080A Series Programming Guide When the flatness list needs to be filled with a power sensor and the DESCRIPTION filling type is “Manual Step”, this command sets/queries the starting frequency of manual step filling. Float, unit: Hz, kHz, MHz or GHz, default is Hz...
Page 41
SSG5080A Series Programming Guide LINear DEFAULT VALUE LEVEL > Flatness > Setting > Fill Type (Manual Step) > Fill Space EQUIVALENT MENU :CORRection:FLATness:SPACe LINear EXAMPLE :CORRection:FLATness:SPACe? Return: LINear\n Flatness List Linear Step ([:SOURce]:CORRection:FLATness:LINStep) 3.4.4.17 [:SOURce]:CORRection:FLATness:LINStep <freq> SYNTAX [:SOURce]:CORRection:FLATness:LINStep? This command sets/queries the linear frequency step of manual step DESCRIPTION filling.
SSG5080A Series Programming Guide This command sets/queries the sweep points of manual step filling. DESCRIPTION Integer DATA TYPE 2 to 500 RANGE Integer RETURN DEFAULT VALUE LEVEL > Flatness > Setting > Fill Type (Manual Step) > Points EQUIVALENT MENU...
Page 43
SSG5080A Series Programming Guide Sweep Type ([:SOURce]:SWEep:TYPE) 3.4.5.2 [:SOURce]:SWEep:TYPE LIST|STEP SYNTAX [:SOURce]:SWEep:TYPE? This command sets the sweep type to step sweep or list sweep. DESCRIPTION This command queries whether the sweep type is step sweep or list sweep. Enumeration DATA TYPE...
Page 44
SSG5080A Series Programming Guide SWEEP > Step Sweep > Stop Freq EQUIVALENT MENU :SWEep:STEP:STOP:FREQuency 1 GHz EXAMPLE :SWEep:STEP:STOP:FREQuency? Return: 1000000000\n Start Level ([:SOURce]:SWEep:STEP:STARt:LEVel) 3.4.5.5 [:SOURce]:SWEep:STEP:STARt:LEVel <level> SYNTAX [:SOURce]:SWEep:STEP:STARt:LEVel? This command sets/queries the starting level of step sweep. DESCRIPTION Float, unit: dBm, dBuV, uV, mV, V, nW, uW, mW or W, default is dBm...
Page 45
SSG5080A Series Programming Guide Float, unit: ns, us, ms or s, default is s DATA TYPE 10 ms ~ 100 s RANGE Float, unit: s RETURN 30 ms DEFAULT VALUE SWEEP > Step Sweep > Dwell Time EQUIVALENT MENU :SWEep:STEP:DWELl 20 ms...
Page 46
SSG5080A Series Programming Guide Sweep Space ([:SOURce]:SWEep:STEP:SPACe) 3.4.5.10 [:SOURce]:SWEep:STEP:SPACe LINear|LOGarithmic SYNTAX [:SOURce]:SWEep:STEP:SPACe? This command sets/queries the frequency sweep space of step DESCRIPTION sweep. Enumeration DATA TYPE LINear|LOGarithmic RANGE Enumeration RETURN LINear DEFAULT VALUE SWEEP > Step Sweep > Sweep Space...
Page 47
SSG5080A Series Programming Guide DEFAULT VALUE SWEEP > Step Sweep > Freq Step Log EQUIVALENT MENU :SWEep:STEP:LOGarithmic 20 EXAMPLE :SWEep:STEP:LOGarithmic? Return: 20\n Sweep List Add Row ([:SOURce]:SWEep:LIST:ADDList) 3.4.5.13 [:SOURce]:SWEep:LIST:ADDList <freq>,<level>,<time> SYNTAX This command adds a line to the sweep list.
Page 48
SSG5080A Series Programming Guide Level: Full level range, Time: 10.0 ms ~ 100.0 s SWEEP > List Sweep EQUIVALENT MENU :SWEep:LIST:CHANGe 1,1 GHz,1 dBm, 1 s EXAMPLE Sweep List Count ([:SOURce]:SWEep:LIST:CPOint?) 3.4.5.16 [:SOURce]:SWEep:LIST:CPOint? SYNTAX This command queries the total number of rows of the sweep list.
Page 49
SSG5080A Series Programming Guide Sweep List Initialize From Step Sweep ([:SOURce]:SWEep:LIST:INITialize:FSTep) 3.4.5.19 [:SOURce]:SWEep:LIST:INITialize:FSTep SYNTAX This command imports the sweep list from step sweep. DESCRIPTION SWEEP > List Sweep > Import EQUIVALENT MENU :SWEep:LIST:INITialize:FSTep EXAMPLE Sweep List Load ([:SOURce]:SWEep:LOAD) 3.4.5.20 [:SOURce]:SWEep:LOAD <”file_name”>...
Page 50
SSG5080A Series Programming Guide :SWEep:DIRect? Return: REV\n Sweep Mode ([:SOURce]:SWEep:MODE) 3.4.5.23 [:SOURce]:SWEep:MODE CONTinue|SINGle SYNTAX [:SOURce]:SWEep:MODE? This command sets the sweep mode to continuous or single. DESCRIPTION This command queries whether the sweep mode is continuous or single. Enumeration DATA TYPE...
Page 51
SSG5080A Series Programming Guide :SWEep:SWEep:TRIGger:TYPE KEY EXAMPLE :SWEep:SWEep:TRIGger:TYPE? Return: KEY\n Point Trigger ([:SOURce]:SWEep:POINt:TRIGger:TYPE) 3.4.5.26 [:SOURce]:SWEep:POINt:TRIGger:TYPE AUTO|KEY|BUS|EXT SYNTAX [:SOURce]:SWEep:POINt:TRIGger:TYPE? This command sets/queries the point sweep trigger mode. DESCRIPTION Enumeration DATA TYPE AUTO|KEY|BUS|EXT RANGE Enumeration RETURN AUTO DEFAULT VALUE SWEEP > Point Trigger...
SSG5080A Series Programming Guide String RETURN The string format: index,{freq,level,time} Index: interger, Freq: float, unit: Hz, Level: float, unit: dBm, Time: float, unit: s. None DEFAULT VALUE Display frequency and display level at the top of the screen EQUIVALENT MENU...
Page 53
SSG5080A Series Programming Guide This command sets/queries the level control state of the power sensor. DESCRIPTION Boolean DATA TYPE ON|OFF|1|0 RANGE RETURN DEFAULT VALUE :SENSe[:POWer]:LEV:CTL:STATe ON|OFF|1|0 EQUIVALENT SCPI :SENSe[:POWer]:LEV:CTL:STATe? HOME > POWER SENSOR > Level Control EQUIVALENT MENU :POWer:SPC:STATe ON...
SSG5080A Series Programming Guide Float, unit: dBm RETURN DEFAULT VALUE :SENSe[:POWer]:LIMit <power> EQUIVALENT SCPI :SENSe[:POWer]:LIMit? HOME > POWER SENSOR > Level Control > Limit Level EQUIVALENT MENU POWer:LIMit 1 EXAMPLE POWer:LIMit? Return: Catch Range ([:SOURce]:POWer:SPC:CRANge) 3.4.6.4 [SOURce]:POWer:SPC:CRANge <power> SYNTAX [SOURce]:POWer:SPC:CRANge?
Page 55
SSG5080A Series Programming Guide :OUTPut:MODulation[:STATe] ON|OFF|1|0 EQUIVALENT SCPI :OUTPut:MODulation[:STATe]? ANALOG MOD > On EQUIVALENT MENU :MODulation ON EXAMPLE :MODulation? Return: 3.4.7.2 AM State ([:SOURce]:AM:STATe) 3.4.7.2.1 [:SOURce]:AM:STATe ON|OFF|1|0 SYNTAX [:SOURce]:AM:STATe? This command sets/gets the switch status of amplitude modulation. DESCRIPTION Boolean...
Page 56
SSG5080A Series Programming Guide AM Source ([:SOURce]:AM:SOURce) 3.4.7.2.3 [:SOURce]:AM:SOURce INTernal|EXTernal|INT,EXT SYNTAX [:SOURce]:AM:SOURce? This command sets/queries the modulation source of AM. DESCRIPTION Enumeration DATA TYPE INTernal|EXTernal|INT,EXT RANGE Enumeration RETURN INTernal DEFAULT VALUE MOD > AM > AM Source EQUIVALENT MENU :AM:SOURce EXTernal...
Page 57
SSG5080A Series Programming Guide 1 kHz DEFAULT VALUE MOD > AM > AM Rate EQUIVALENT MENU :AM:FREQuency 10 kHz EXAMPLE :AM:FREQuency? Return: 10000\n AM Sensitivity ([:SOURce]:AM:SENSitivity?) 3.4.7.2.6 [:SOURce]:AM:SENSitivity? SYNTAX This command queries the sensitivity of AM external modulation. DESCRIPTION Float, unit: /V RETURN 0.125/V...
Page 58
SSG5080A Series Programming Guide Enumeration DATA TYPE INT1|INT2|INT1,INT2|EXTernal|INT1,EXT|DUAL RANGE Enumeration RETURN INT1 DEFAULT VALUE MOD > FM > FM Source EQUIVALENT MENU :FM:SOURce EXTernal EXAMPLE :FM:SOURce? Return: EXTernal\n FM Shape1 ([:SOURce]:FM1:WAVEform) 3.4.7.3.3 [:SOURce]:FM1:WAVEform SINE|SQUAre|SAWTooth|TRIangle SYNTAX [:SOURce]:FM1:WAVEform? This command sets/queries the frequency modulation waveform of DESCRIPTION INT1 modulation source.
Page 59
SSG5080A Series Programming Guide Return: 200000\n FM Rate1 ([:SOURce]:FM1:FREQuency) 3.4.7.3.5 [:SOURce]:FM1:FREQuency <value> SYNTAX [:SOURce]:FM1:FREQuency? This command sets/queries the FM rate of the INT1 modulation DESCRIPTION source. Float, unit: Hz, kHz, MHz or GHz, default is Hz DATA TYPE Modulation wave is Sine: 0.01 Hz ~ 100 kHz, RANGE Modulation wave is Square/Sawtooth/Triangle: 0.01 Hz ~ 20 kHz.
Page 60
SSG5080A Series Programming Guide This command sets/queries the frequency modulation waveform of DESCRIPTION INT2 modulation source. Enumeration DATA TYPE SINE|SQUAre|SAWTooth|TRIangle RANGE Enumeration RETURN SINE DEFAULT VALUE MOD > FM > FM Shape2 EQUIVALENT MENU :FM2:WAVEform TRIangle EXAMPLE :FM2:WAVEform? Return: TRIangle\n FM Deviation2 ([:SOURce]:FM2:DEViation) 3.4.7.3.8...
Page 61
SSG5080A Series Programming Guide MOD > FM > FM Rate2 EQUIVALENT MENU :FM2:FREQuency 40 kHz EXAMPLE :FM2:FREQuency? Return: 40000\n 3.4.7.3.10 FM Phase2 ([:SOURce]:FM2:PHASe) [:SOURce]:FM2:PHASe <value> SYNTAX [:SOURce]:FM2:PHASe? When the frequency modulation source is internal source 1 + internal DESCRIPTION source 2 (Int1 + Int2) or Dual waveform, this command sets/queries the initial phase of internal source 2.
Page 62
SSG5080A Series Programming Guide 3.4.7.3.12 FM Sensitivity1 ([:SOURce]:FM1:SENSitivity?) [:SOURce]:FM1:SENSitivity? SYNTAX When the frequency modulation source includes an external source, DESCRIPTION this command queries the sensitivity of the external source input. Float, unit: Hz/V RETURN None DEFAULT VALUE MOD > FM > FM Sensitivity1...
Page 63
SSG5080A Series Programming Guide Return: SQUAre\n PM Source ([:SOURce]:PM:SOURce) 3.4.7.4.3 [:SOURce]:PM:SOURce INTernal|EXTernal|INT,EXT SYNTAX [:SOURce]:PM:SOURce? This command sets/queries the modulation source of PM. DESCRIPTION Enumeration DATA TYPE INTernal|EXTernal|INT,EXT RANGE Enumeration RETURN INTernal DEFAULT VALUE MOD > PM > PM Source EQUIVALENT MENU...
SSG5080A Series Programming Guide Modulation wave is Sine: 0.01 Hz ~ 100 kHz, RANGE Modulation wave is Square: 0.01 Hz ~ 20 kHz. Float, unit: Hz RETURN 10 kHz DEFAULT VALUE MOD > PM > PM Rate EQUIVALENT MENU :PM:FREQuency 1 kHz...
Page 65
SSG5080A Series Programming Guide Pulse Source ([:SOURce]:PULM:SOURce) 3.4.8.2 [:SOURce]:PULM:SOURce INTernal|EXTernal SYNTAX [:SOURce]:PULM:SOURce? This command sets/queries the modulation source of pulse DESCRIPTION modulation. Enumeration DATA TYPE INTernal|EXTernal RANGE Enumeration RETURN INTernal DEFAULT VALUE [:SOURce]:PULM:SOURce:INT INTernal|EXTernal EQUIVALENT SCPI [:SOURce]:PULM:SOURce:INT? MOD > PULSE > Pulse Source...
Page 66
SSG5080A Series Programming Guide Boolean DATA TYPE ON|OFF|1|0 RANGE RETURN DEFAULT VALUE MOD > PULSE > Pulse Out EQUIVALENT MENU :PULM:OUT:STATe ON EXAMPLE :PULM:OUT:STATe? Return: Pulse Out Polarity ([:SOURce]:PULM:POLarity) 3.4.8.5 [:SOURce]:PULM:POLarity NORMal|INVerted SYNTAX [:SOURce]:PULM:POLarity? This command sets/queries the pulse output polarity.
Page 67
SSG5080A Series Programming Guide Return: DOUBle\n Pulse Period ([:SOURce]:PULM:PERiod) 3.4.8.7 [:SOURce]:PULM:PERiod <value> SYNTAX [:SOURce]:PULM:PERiod? When the pulse mode is Single or Double, this command DESCRIPTION sets/queries the pulse period. Float, unit: ns, us, ms or s, default is s DATA TYPE...
Page 68
SSG5080A Series Programming Guide Pulse Width ([:SOURce]:PULM:WIDTh) 3.4.8.9 [:SOURce]:PULM:WIDTh <value> SYNTAX [:SOURce]:PULM:WIDTh? When the pulse mode is Single, this command sets/queries the pulse DESCRIPTION width; when the pulse mode is Double, this command sets/queries the pulse width of the first pulse.
Page 69
SSG5080A Series Programming Guide When the pulse mode is Double, this command sets/queries the DESCRIPTION double pulse delay. Float, unit: ns, us, ms or s, default is s DATA TYPE 20 ns ~ 300 s RANGE Float, unit: s RETURN...
Page 70
SSG5080A Series Programming Guide Pulse Train Delete Row ([:SOURce]:PULM:TRAin:DELete) 3.4.8.14 [:SOURce]:PULM:TRAin:DELete <row> SYNTAX This command removes a specified row from the pulse train. DESCRIPTION Integer DATA TYPE 1 ~ total number of rows in the pulse train RANGE MOD > PULSE > Pulse Train > Delete...
Page 71
SSG5080A Series Programming Guide Row: 1 ~ total number of rows in the pulse train, RANGE Count: 1 ~ 65535 MOD > PULSE > Pulse Train EQUIVALENT MENU :PULM:TRAin:DATA:COUNt 1,3 EXAMPLE Pulse Train Edit ([:SOURce]:PULM:TRAin:CHANGe) 3.4.8.18 [:SOURce]:PULM:TRAin:CHANGe SYNTAX <row>,<on_time>,<off_time>,<count> This command edits the specified row of the pulse train.
Page 72
SSG5080A Series Programming Guide None DEFAULT VALUE MOD > PULSE > Pulse Train EQUIVALENT MENU :PULM:TRAin:COUNt? EXAMPLE Return: Pulse Train Clear ([:SOURce]:PULM:TRAin:CLEAr) 3.4.8.21 [:SOURce]:PULM:TRAin:CLEAr SYNTAX This command clears the pulse train and restores its default value. DESCRIPTION MOD > PULSE > Pulse Train > Clear...
Page 73
SSG5080A Series Programming Guide ON|OFF|1|0 RANGE RETURN DEFAULT VALUE MOD > PULSE > Trigger Out EQUIVALENT MENU :PULM:TRIGger:STATe OFF EXAMPLE :PULM:TRIGger:STATe? Return: Pulse Trigger ([:SOURce]:PULM:TRIGger:MODE) 3.4.8.25 [:SOURce]:PULM:TRIGger:MODE AUTO|KEY|EXTernal|EGATe SYNTAX [:SOURce]:PULM:TRIGger:MODE? This command sets/queries the pulse trigger mode. DESCRIPTION Enumeration DATA TYPE...
SSG5080A Series Programming Guide Trigger Slope ([:SOURce]:PULM:TRIGger:EXTernal:SLOPe) 3.4.8.27 [:SOURce]:PULM:TRIGger:EXTernal:SLOPe NEGative|POSitive SYNTAX [:SOURce]:PULM:TRIGger:EXTernal:SLOPe? When the pulse trigger mode is EXTernal, this command sets/queries DESCRIPTION the trigger edge of the external trigger signal. Enumeration DATA TYPE NEGative|POSitive RANGE Enumeration RETURN POSitive DEFAULT VALUE MOD >...
Page 75
SSG5080A Series Programming Guide ON|OFF|1|0 RANGE RETURN DEFAULT VALUE LF > LF Source > LF State EQUIVALENT MENU LFOutput ON EXAMPLE LFOutput? Return: LF Level ([:SOURce]:LFOutput:VOLTage) 3.4.9.2 [:SOURce]:LFOutput:VOLTage <voltage> SYNTAX [:SOURce]:LFOutput:VOLTage? This command sets/queries the level of the LF output signal.
Page 76
SSG5080A Series Programming Guide LF Frequency ([:SOURce]:LFOutput:FREQuency) 3.4.9.4 [:SOURce]:LFOutput:FREQuency <freq> SYNTAX [:SOURce]:LFOutput:FREQuency? This command sets/queries the frequency of the LF output signal. DESCRIPTION Float, unit: Hz, kHz, MHz or GHz, default is Hz DATA TYPE LF wave is Sine: 0.01 Hz ~ 1 MHz, RANGE LF wave is Square\Triangle\Sawtooth: 0.01 Hz ~ 20 kHz.
SSG5080A Series Programming Guide LF > LF Source > LF Phase EQUIVALENT MENU LFOutput:PHASe 20 EXAMPLE LFOutput:PHASe? Return: 20\n LF Sweep 3.4.10 Sweep State ([:SOURce]:LFOutput:SWEep) 3.4.10.1 [:SOURce]:LFOutput:SWEep ON|OFF|1|0 SYNTAX [:SOURce]:LFOutput:SWEep? This command sets/queries the sweep status of LF signal. DESCRIPTION...
Page 78
SSG5080A Series Programming Guide Start Freq ([:SOURce]:LFOutput:SWEep:STARt:FREQuency) 3.4.10.3 [:SOURce]:LFOutput:SWEep:STARt:FREQuency <freq> SYNTAX [:SOURce]:LFOutput:SWEep:STARt:FREQuency? This command sets/queries the starting frequency of LF sweep. DESCRIPTION Float, unit: Hz, kHz, MHz or GHz, default is Hz DATA TYPE LF wave is Sine: 0.01 Hz ~ 1 MHz, RANGE LF wave is Square/Triangle/Sawtooth: 0.01 Hz ~ 20 kHz.
Page 79
SSG5080A Series Programming Guide 1 kHz DEFAULT VALUE LF > LF Sweep > Center Freq EQUIVALENT MENU :LFOutput:SWEep:CENTer:FREQuency 550 EXAMPLE :LFOutput:SWEep:CENTer:FREQuency? Return: 550\n Freq Span ([:SOURce]:LFOutput:SWEep:SPAN:FREQuency) 3.4.10.6 [:SOURce]:LFOutput:SWEep:SPAN:FREQuency <freq> SYNTAX [:SOURce]:LFOutput:SWEep:SPAN:FREQuency? This command sets/queries the frequency san of LF sweep.
Page 80
SSG5080A Series Programming Guide Trigger Mode ([:SOURce]:LFOutput:SWEep:TRIGger:TYPE) 3.4.10.8 [:SOURce]:LFOutput:SWEep:TRIGger:TYPE AUTO|KEY|BUS|EXT SYNTAX [:SOURce]:LFOutput:SWEep:TRIGger:TYPE? This command sets/queries the sweep trigger mode of LF sweep. DESCRIPTION Enumeration DATA TYPE AUTO|KEY|BUS|EXT RANGE Enumeration RETURN AUTO DEFAULT VALUE LF > LF Sweep > Trigger Mode...
SSG5080A Series Programming Guide :LFOutput:SWEep:SHAPe TRIangle EXAMPLE :LFOutput:SWEep:SHAPe? Return: TRIangle\n 3.4.10.11 Sweep Space ([:SOURce]:LFOutput:SWEep:SPACing) [:SOURce]:LFOutput:SWEep:SPACing LINear|LOGarithmic SYNTAX [:SOURce]:LFOutput:SWEep:SPACing? This command sets/queries the frequency sweep space of LF sweep. DESCRIPTION Enumeration DATA TYPE LINear|LOGarithmic RANGE Enumeration RETURN LINear DEFAULT VALUE LF > LF Sweep > Sweep Space...
Page 82
SSG5080A Series Programming Guide HOME > POWER SENSOR > Sensor Info EQUIVALENT MENU SENSe:TYPE? EXAMPLE Return: NRP6A\n Sensor State (:SENSe[:POWer]:STATus) 3.5.1.2 :SENSe[:POWer]:STATus OFF|ON|0|1 SYNTAX :SENSe[:POWer]:STATus? This command sets/queries the measurement status of the power DESCRIPTION sensor. Boolean DATA TYPE ON|OFF|1|0...
Page 83
SSG5080A Series Programming Guide RETURN DEFAULT VALUE HOME > POWER SENSOR > Statistics EQUIVALENT MENU SENSe:STATIStics:STATe ON EXAMPLE SENSe:STATIStics:STATe? Return: Statistics Value (:READ[:POWer]?) 3.5.1.5 :READ[:POWer]? SYNTAX This command queries the average and maximum values of the DESCRIPTION power sensor measurement statistics.
Page 84
SSG5080A Series Programming Guide None DEFAULT VALUE HOME > POWER SENSOR > Statistics > min EQUIVALENT MENU SENSe:STATIStics:MIN? EXAMPLE Return: -0.06101395\n Statistics Mean Value (:SENSe[:POWer]:STATIStics:AVG?) 3.5.1.8 :SENSe[:POWer]:STATIStics:AVG? SYNTAX This command queries the average value of the power sensor DESCRIPTION measurement statistics.
Page 85
SSG5080A Series Programming Guide Level Control (:SENSe[:POWer]:LEV:CTL:STATe) 3.5.1.11 :SENSe[:POWer]:LEV:CTL:STATe ON|OFF|1|0 SYNTAX :SENSe[:POWer]:LEV:CTL:STATe? This command sets/queries the level control state of the power DESCRIPTION sensor. Boolean DATA TYPE ON|OFF|1|0 RANGE RETURN DEFAULT VALUE [:SOURce]:POWer:SPC:STATe ON|OFF|1|0 EQUIVALENT SCPI [:SOURce]:POWer:SPC:STATe? HOME > POWER SENSOR > Level Control...
Page 86
SSG5080A Series Programming Guide Float, unit: dBm, dBuV, uV, mV, V, nW, uW, mW or W, default is dBm DATA TYPE -120 dBm ~ 20 dBm RANGE Float, unit: dBm RETURN DEFAULT VALUE [:SOURce]:POWer:LIMit <power> EQUIVALENT SCPI [:SOURce]:POWer:LIMit? HOME > POWER SENSOR > Level Control > Limit Level...
Page 87
SSG5080A Series Programming Guide HOME > POWER SENSOR > Auto Zero EQUIVALENT MENU :CALibration:ZERO:TYPE EXTernal EXAMPLE :CALibration:ZERO:TYPE? Return: EXTernal\n Zeroing (:SENSe[:POWer]:ZERO) 3.5.1.16 :SENSe[:POWer]:ZERO SYNTAX This command performs a zeroing operation on the power sensor. DESCRIPTION HOME > POWER SENSOR > Click to perform zeroing...
Page 88
SSG5080A Series Programming Guide SENSe:FREQuency 1 MHz EXAMPLE SENSe:FREQuency? Return: 1000000\n Level Offset State (:SENSe[:POWer]:OFFSet:STATe) 3.5.1.19 :SENSe[:POWer]:OFFSet:STATe ON|OFF|1|0 SYNTAX :SENSe[:POWer]:OFFSet:STATe? This command sets/queries the level offset state of the power sensor. DESCRIPTION Boolean DATA TYPE ON|OFF|1|0 RANGE RETURN DEFAULT VALUE HOME >...
Page 89
SSG5080A Series Programming Guide Enumeration DATA TYPE AUTO|USER|NSRatio RANGE Enumeration RETURN AUTO DEFAULT VALUE HOME > POWER SENSOR > Averaging EQUIVALENT MENU SENSe:FILTer:TYPE USER EXAMPLE SENSe:FILTer:TYPE? Return: USER\n Average Times (:SENSe[:POWer]:FILTer:LENGth) 3.5.1.22 :SENSe[:POWer]:FILTer:LENGth <length> SYNTAX :SENSe[:POWer]:FILTer:LENGth? This command sets/queries the average number of measurements of DESCRIPTION the power sensor.
Page 90
SSG5080A Series Programming Guide Return: Logging (:SENSe[:POWer]:LOGGing:STATe) 3.5.1.24 :SENSe[:POWer]:LOGGing:STATe ON|OFF|1|0 SYNTAX :SENSe[:POWer]:LOGGing:STATe? This command sets/queries the logging status of the power sensor. DESCRIPTION Boolean DATA TYPE ON|OFF|1|0 RANGE RETURN DEFAULT VALUE HOME > POWER SENSOR > Logging EQUIVALENT MENU SENSe:LOGGing:STATe ON...
SSG5080A Series Programming Guide Programming Examples This chapter provides some examples for programmers. In these examples you can see how to use VISA or Sockets and the above SCPI commands to control a signal generator. By following these examples, you can develop more applications.
Page 92
SSG5080A Series Programming Guide Set the include directory of library files. The default installation path of NI-VISA library files is “C:\Program Files\IVI Foundation\VISA\Win64\Lib_x64\msc”. Fill in the library file installation path in Project --- Properties --- Linker --- General --- Additional library directory, as shown below: Set up library files.
Page 93
SSG5080A Series Programming Guide Finally, reference the header file in the project .cpp file: #include <visa.h> Add code (1) USBTMC access code Write a function Usbtmc_test: Usbtmc_test() /* This code demonstrates sending synchronous read & write commands */ /* to an USB Test & Measurement Class (USBTMC) instrument using */ /* NI-VISA /* The example writes the "*IDN?\n"...
Page 94
SSG5080A Series Programming Guide unsigned char buffer[100]; /** First we must call viOpenDefaultRM to get the manager * handle. We will store this handle in defaultRM.*/ status = viOpenDefaultRM (&defaultRM); (status<VI_SUCCESS) printf ("Could not open a session to the VISA Resource Manager!\n");...
Page 95
SSG5080A Series Programming Guide * asking for the device's identification. */ char * cmmand ="*IDN?\n"; status = viPrintf (instr, cmmand); (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.
Page 96
SSG5080A Series Programming Guide (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); (status<VI_SUCCESS) printf("Could not open a session to the VISA Resource Manager!\n");...
Page 97
SSG5080A Series Programming Guide 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 int _tmain(int argc, _TCHAR* argv[]) printf("Please input IP address:"); char ip[256]; fflush(stdin); gets(ip);...
SSG5080A Series Programming Guide VB Example 4.1.2 System environment: Windows 7 Programming software: Microsoft Visual Basic 6.0 Example content: Use NI-VISA to access and control the device through USBTMC or TCP/IP and perform read and write operations. Please follow below steps to complete the example: Open Visual Basic and build a standard application program project (standard EXE).
Page 99
SSG5080A Series Programming Guide Const MAX_CNT = 200 defaultRM As Long instrsesn As Long numlnstrs As Long findList As Long retCount As Long status As Long instrResourceString As String * VI_FIND_BUFLEN Buffer As String * MAX_CNT As Integer ' First we must call viOpenDefaultRM to get the manager ' handle.
Page 100
SSG5080A Series Programming Guide status = viOpen(defaultRM, instrResourceString, VI_NULL, VI_NULL, instrsesn) (status < VI_SUCCESS) Then resultTxt.Text = "Cannot open a session to the device " + CStr(i + 1) GoTo NextFind End If ' At this point we now have a session open to the USB TMC instrument.
Page 101
SSG5080A Series Programming Guide status As Long count As Long ' First we will need to open the default resource manager. status = viOpenDefaultRM(defaultRM) (status < VI_SUCCESS) Then resultTxt.Text = "Could not open a session to the VISA Resource Manager!"...
Page 102
SSG5080A Series Programming Guide End If End Sub Private Sub usbBtn_Click() stat As Long stat = Usbtmc_test (stat < VI_SUCCESS) Then resultTxt.Text = Hex(stat) End If End Sub The running result: int.siglent.com...
SSG5080A Series Programming Guide MATLAB Example 4.1.3 System environment: Windows 7 Programming software: MATLAB R2013a Example content: Use NI-VISA to access and control the device through USBTMC or TCP/IP and perform read and write operations. Please follow below steps to complete the example: Open MATLAB and modify the current directory.
Page 104
SSG5080A Series Programming Guide (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.
SSG5080A Series Programming Guide LabVIEW Example 4.1.4 System environment: Windows 7 Programming software: LabVIEW 2011 Example content: Use NI-VISA to access and control the device through USBTMC or TCP/IP and perform read and write operations. Please follow below steps to complete the example: Open LabVIEW and create a VI file.
Page 106
SSG5080A Series Programming Guide In this example, the VI opens a VISA session to the USBTMC device, writes a command to the device, and then reads back the response. In this example, the specific command sent is a device ID query. Please check the device command set with your device manufacturer. After all communication is complete, the VI closes the VISA session.
SSG5080A Series Programming Guide Socket Examples The Windows operating system itself supports Sockets communication, and this communication method is also relatively simple. It should be noted that "\n" (newline character) needs to be added to the end of the SCPI command string.
Page 108
SSG5080A Series Programming Guide except socket.error: input('Failed to connect to ip %s!\nPress "Enter" to exit: ' % remote_ip) s.close() sys.exit() return s def SocketQuery(Sock, cmd): try : #Send cmd string Sock.sendall(cmd) time.sleep(1) except socket.error: #Send failed input('Send failed!\nPress "Enter" to exit: ') SocketClose(Sock) sys.exit()
Page 109
SSG5080A Series Programming Guide The running result: int.siglent.com...
Page 110
SSG5080A Series Programming Guide About SIGLENT SIGLENT is an international high-tech company, concentrating on R&D, sales, production and services of electronic test & measurement instruments. SIGLENT first began developing digital oscilloscopes independently in 2002. After more than a decade of continuous development, SIGLENT has extended...
Need help?
Do you have a question about the SSG5080A Series and is the answer not in the manual?
Questions and answers