RIGOL  Chapter 1 Programming Overview 
1-4  DG800 Programming Guide 
Remote Control Method 
 
1.  User-defined programming 
You can use the SCPI (Standard Commands for Programmable Instruments) commands listed in 
Chapter 2 "Command System" of this manual to program and control the instrument in various 
development environments (e.g. Visual C++, Visual Basic, and LabVIEW). For details, refer to 
descriptions in Chapter 4 "Programming Examples". 
 
2.  Send SCPI commands via the PC software 
You can use the PC software to send commands to control the signal generator remotely. RIGOL Ultra 
Sigma is recommended. You can download the software from RIGOL official website 
(www.rigol.com). 
 
 
SCPI Command Overview 
 
SCPI (Standard Commands for Programmable Instruments) is a standardized instrument programming 
language that is built upon the existing standard IEEE 488.1 and IEEE 488.2 and conforms to various 
standards, such as the floating point operation rule in IEEE 754 standard, ISO 646 7-bit coded character set 
for information interchange (equivalent to ASCII programming). This chapter introduces the syntax, 
symbols, parameters, and abbreviation rules of the SCPI commands. 
 
 
Syntax 
 
The SCPI commands provide a hierarchical tree structure, and consist of multiple subsystems. Each 
command subsystem consists of one root keyword and one or more sub-keywords. The command line 
usually starts with a colon; the keywords are separated by colons, and following the keywords are the 
parameter settings available. The command ending with a question mark indicates querying a certain 
function. The keywords of the command and the first parameter is separated by a space. 
For example, 
:SYSTem:COMMunicate:LAN:IPADdress <ip_address> 
:SYSTem:COMMunicate:LAN:IPADdress? 
 
SYSTem is the root keyword of the command. COMMunicate, LAN, and IPADdress are the second-level, 
third-level, and forth-level keywords respectively. The command string starts with ":" which is also used to 
separate the multiple-level keywords. <ip_address> represents the parameters available for setting. "?" 
represents query; the instrument returns the corresponding information (the input value or internal setting 
value of the instrument) when receiving the query command. The 
command :SYSTem:COMMunicate:LAN:IPADdress and the parameter <ip_address> are separated by a 
space. 
 
In some commands with parameters, "," is often used to separate multiple parameters. For example, 
:DISPlay:TEXT[:SET] <string>[,x[,y]]