This chapter explains how to set up the equipment for remote programming of the signal
generator, the GPIB and RS-232 capabilities of the signal generator, and provides a
program for an operational check of remote programming functionality. Instruction is also
provided for programming the signal generator using GPIB command statements and the
SCPI language.
Programming Guide1-1
Preparing for UseESG Family Signal Generators
Setting up the Equipment for Remote Operation
Setting up the Equipment for Remote Operation
The signal generator can be remotely controlled using either the general purpose interface
bus (GPIB) or a serial connection to the rear-panel RS-232 auxiliary interface connector.
GPIB Overview
GPIB is a high-performance bus that allows individual instruments and computers to be
combined into integrated test systems. The bus and its associated interface operations are
defined by the IEEE 488.1 standard. The IEEE 488.2 standard defines the interface
capabilities of instruments and controllers in a measurement system, including some
frequently used commands.
NOTEThe functionality provided by GPIB is also available using the rear-panel
RS-232 AUXILIARY INTERFACE. For more information on using this type of
system configuration, see “Serial Interface (RS–232) Overview” on page 1-7.
Commands are sent over the GPIB via a controller’s language system. HP BASIC is the
language used in the programming examples in this book. HP BASIC was selected because
the majority of GPIB computers have BASIC language capability. However, other
languages can also be used. The use of HP BASIC is explained later in this chapter
starting with “Programming the Signal Generator” on page 1-9.
Additional Required Equipment
The following tables list the additional required equipment to implement an GPIB system
interface between a computer or workstation and the signal generator.
Table 1-1 GPIB Required Equipment for PC-Based Systems
Interface
Card
HP 82341CWindows
HP 82340BWindows
HP 82335BMS-DOS,
Operating
System
3.1/95/NT
3.1/95/NT
Windows 3.1
I/O
Library
SICL/VISAC/C++, Visual
SICL/VISAC/C++, Visual
Command
Library/SI
CL
LanguagesBackplaneMax I/O
Basic, HP
VEE
Basic, HP
VEE
C/C++,
PASCAL,
BASIC for PC
(including
Visual Basic),
HP VEE
ISA/EISA,
16 bit
ISA/EISA,
16 bit
ISA/EISA,
8bit
Buffering
(kB/sec)
750Built-in
520None
355None
1-2Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Setting up the Equipment for Remote Operation
Table 1-2 Required Equipment for HP Series 700 Workstations Running HP-UX
Interface
Card
HP E2071CHP-UXSICL/VISAANSI C,
HP E2070CHP-UXSICL/VISAANSI C,
Operating
System
I/O LibraryLanguagesBackplaneMax I/O
(kB/sec)
EISA750Built-in
HP VEE,
HP BASIC
EISA230None
HP VEE,
HP BASIC
Buffering
Table 1-3 GPIB Ca bles
ModelHP 10833AHP 10833BHP 10833CHP 10833D
Length1 meter2 meters4 meters5 meters
I/O Libraries for GPIB
SCPI (standard commands for programmable instruments) is a popular language used to
communicate with the signal generator. Do not confuse SCPI with SICL and VISA, which
are I/O libraries of functions used by programs that communicate through GPIB. SCPI is
the actual language used to communicate with the signal generator itself.
Agilent Technologies Standard Instrument Control Library (SICL) and Virtual Instrument
Software Architecture (VISA) are I/O libraries used to develop I/O applications for the
GPIB interface. These functions are used in C or BASIC programs to simplify
communication with the signal generator.
SICL is a modular instrument communications library that works with a variety of
computer architectures, I/O interfaces, and operating systems. Applications written in
C/C++ or Visual BASIC using this library can be ported at the source code level from one
system to another without, or with very few, changes.
VISA is an I/O library that can be used to develop I/O applications and instrument drivers
that comply with the VXI “plug & play” standards. Applications and instruments drivers
developed with VISA can execute on VXI “plug & play” system frameworks that have the
VISA I/O layer.
One or both of these libraries are included with the GPIB interface card. SICL/VISA for
Hewlett-Packard Series 700 Controllers (model E2091D) and SICL/VISA for personal
computers (model E2094E) may also be purchased. For additional information on SICL
and VISA, see the user’s guides included with the SICL/VISA software package.
Programming Guide1-3
Preparing for UseESG Family Signal Generators
Setting up the Equipment for Remote Operation
GPIB Interconnecting Cables
The GPIB connector enables you to connect the signal generator to any other instrument
or device on the interface bus. A GPIB connector and cable are shown in Figure 1-1. The
codes next to the connector describe the GPIB electrical capabilities of the signal
generator, using IEEE Std. 488-1978 mnemonics (GPIB, IEEE-488, and IEC-625 are
electrically equivalent, although IEC-625 uses a unique connector).
Figure 1-1 GPIB Connector and Cable
Briefly, the mnemonics translate as follows:
MnemonicSignal DescriptionCapabilities
SH1Source HandshakeComplete
AH1Acceptor HandshakeComplete
T5TalkerCapable of basic talker, serial poll, and unaddressed if
MLA.
TE0Talker, Extended AddressNone
L3ListenerCapable of basic listener, and unaddressed if MTA
LE0Listener, Extended AddressNone
SR1Service RequestComplete
RL1Remote LocalComplete
PP0Parallel PollNone
DC1Device ClearComplete
DT1Device TriggerComplete
C0ControllerNone
E2Identifies electrical tristate drivers
1-4Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Setting up the Equipment for Remote Operation
You can connect as many as 14 instruments to the signal generator via GPIB (15 total
instruments in the system). The cables can be interconnected in a star pattern (one central
instrument, with the GPIB cables emanating from that instrument like spokes on a
wheel), or in a linear pattern (like boxcars on a train), or any combination pattern. The
following restrictions apply:
• Each instrument must have a unique GPIB address ranging from 0 through 30
(decimal).
• In a two-instrument system that uses just one GPIB cable, the cable length must not
exceed 4 meters (9.13 ft.) between the two instruments.
• When more than two instruments are connected on the bus, the cable length between
each instrument must not exceed 2 meters (6.5 ft.) per unit.
• The total cable length between all instruments must not exceed 20 meters (65 ft.).
Setting Up the Interface for GPIB Operation
1. Connect a computer and any other peripherals to the signal generator with GPIB
cables.
2. Reset all instruments connected to the bus. If you are not sure how to reset a device,
switch off the line power to the device and then switch the power back on.
3. Check the signal generator’s GPIB address.
Press
If the address is not 19, press
Utility > GPIB/RS-232 > GPIB Address.
1 > 9 > Enter.
NOTEProgramming examples in this book assume that the signal generator’s GPIB
address is 19. Modify the examples, if necessary, to correspond to your signal
generator’s address.
4. Check the signal generator’s remote language.
Press
If SCPI is not highlighted, press
Utility > GPIB/RS-232 > Remote Language. The default remote language is SCPI.
SCPI.
NOTEAlthough there are a number of remote languages compatible with other
signal sources, SCPI is the only remote language that can implement all of
the signal generator’s features. Unless you have reason to use one of the other
remote languages (for example, programs previously written for another
signal source that has been replaced by the ESG family signal generator),
choose SCPI to maximize your control of the signal generator’s functionality.
All programming commands in this documentation set are written in SCPI.
Programming Guide1-5
Preparing for UseESG Family Signal Generators
Setting up the Equipment for Remote Operation
Verifying GPIB Programming Functionality
This program verifies that the GPIB connections and interface are functional. With the
equipment set up as described in the previous section, clear and reset the controller. Type
in the following program:
10 Sig_gen=7 19
20 ABORT 7
30 LOCAL Sig _gen
40 CLEAR Sig _gen
50 OUTPUT Si g_gen;"*R ST"
60 REMOTE Si g_gen
70 CLEAR SCR EEN
80 PRINT "Th e source should n ow be in REMOT E."
90 PRINT "Ve rify that the ‘R’ annun ciator i s displa yed"
100 END
Run the program and verify that the R (remote) annunciator is activated on the signal
generator’s display. If it is not, verify that the signal generator address is set to 19 (see
“Setting Up the Interface for GPIB Operation” on page 1-5) and that the interface cable is
properly connected.
If the controller display indicates an error message, it is possible that the program was
entered in incorrectly. If the controller accepts the remote statement but the signal
generator’s remote annunciator does not appear on the signal generator’s display, refer to
the service guide for troubleshooting information.
Program Comments
10:Sets up a variable to contain the GPIB address of the signal generator.
20:Aborts any bus activity and return the GPIB interfaces to their reset states.
30:Places the signal generator into LOCAL mode to cancel any local lockouts that may
have been set up.
40 to 50:Resets the signal generator’s parser and clears any pending output from the signal
generator. Prepares the signal generator to receive new commands.
60:Places the signal generator into remote mode.
70:Clears the controller’s display.
80 to 90:Prints a message to the controller’s display.
100:Ends the program.
1-6Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Setting up the Equipment for Remote Operation
Serial Interface (RS–232) Overview
You can also control the signal generator using the rear-panel serial RS-232 serial port
(labeled AUXILIARY INTERFACE). All of the functionality provided by GPIB is available
using the rear-panel serial interface, except for indefinite blocks, serial polling, GET,
non-SCPI remote languages, and remote mode.
Commands are sent over the serial interface via a controller’s language system. HP BASIC
is the language used in the programming examples in this book. BASIC was selected
because the majority of GPIB computers have BASIC language capability, but other
languages can also be used. For more detail on using HP Basic, see “Programming the
Signal Generator” on page 1-9. For information regarding RS-232 operating parameters
such as handshake, baud rate, character format, and parity, see “Overview of Serial
Interface (RS-232) Programming” on page 1-10.
RS-232 Serial Interconnecting Cables
The signal generator’s serial connector enables you to connect the signal generator to a
serial port on a personal computer. The connector’s pin configuration shown in Table 1-4.
Only one instrument per RS-232 port on the computer may be connected at any given time.
The additional items required when using a serial interface are listed in Table 1-5.
Table 1-4. The RS-232 Connector
Pin NumberSignal DescriptionSignal Name
1No Connection
2Receive DataRECV
3Transmit DataXMIT
4+5V
5Ground, 0V
6No Connection
7Request to SendRTS
8Clear to SendCTS
9No Connection
Table 1-5. Additional Equipment Required for Serial Interface
QuantityDescriptionAgilent Part Number
1Serial RS-232 cable
9-pin (male) to 9-pin (female)
8120-6188
1
1Serial RS-232 adapter (female-female)1252-7825
RS-232 null modem (male-male)
1
5158-6639
1.Ensure proper pin connections between computer and signal generator.
Programming Guide1-7
Preparing for UseESG Family Signal Generators
Setting up the Equipment for Remote Operation
Connecting the Interface
1. Attach the male end of the RS-232 cable to the signal generator’s rear-panel
AUXILIARY INTERFACE connector.
2. Attach the female end of the RS-232 cable to the null modem.
3. Using a 5-mm nut driver, remove both standoffs from the female-to-female adapter.
4. Connect one end of the modified adapter to the null modem and the other end to the
selected port on the computer.
• For personal computers, make the connection to the COM2 RS-232 port. COM1 is
acceptable if available.
• For UNIX workstations, connect to the /dev/tty00 port. Alternatively, /dev/tty01 may
be used if it is available.
Configuring the Interface
1. Set the signal generator’s baud rate.
Press
Utility > GPIB/RS-232 > RS-232 Baud Rate. The default RS-232 baud rate is 19200.
Use baud rates 19200 or lower only. Press the appropriate softkey to adjust the signal
generator’s baud rate to the baud rate of your personal computer or UNIX workstation.
2. Set the signal generator’s handshake.
Press Utility > GPIB/RS-232 > RS-232 Pace. To determine the hardware operating
parameters, you need to know whether DSR (data set ready) and CTS (clear to send) are
active during communication with the controller, and the baud rate expected by the
controller. Set the signal generator’s handshake accordingly.
3. Set the signal generator’s RS-232 echo.
Press
Utility > GPIB/RS-232 > RS-232 Echo Off On to the desired operating state for your
configuration.
4. Set the signal generator’s remote language.
Press
Utility > GPIB/RS-232 > Remote Language. The only remote language supported by
RS-232 is SCPI (standard commands for programmable instruments).
If SCPI is not highlighted, press SCPI to select it.
Verifying the RS-232 System Interface
The following command verifies that the serial interface functions. With the equipment set
up as described in the previous sections, clear and reset the controller. Execute the
following command: OUTPUT "*IDN?"
The signal generator should return a string similar to the following, depending on model:
<instrument model name and number>, US37040098 B.03.00
If not, verify that the RS-232 parameters are set correctly (see “Setting Up the Interface
for GPIB Operation” on page 1-5) and that the interface cable is properly connected.
1-8Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Signal Generator
Programming the Signal Generator
The signal generator can be controlled entirely by a computer (although the line power
switch must be operated manually). Several functions are possible only by remote control.
Computer programming procedures for the signal generator involve selecting a GPIB
command statement and then adding the specific programming codes (SCPI or
8656/67-compatible) to that statement to achieve the desired operating conditions. The
programming codes can be categorized into two groups: those that mimic front panel
keystrokes, and those that are unique and have no front panel equivalent.
In the programming explanations that follow, specific examples are included that are
written in a generic dialect of the HP BASIC language. HP BASIC was selected because
the majority of GPIB computers have HP BASIC language capability. However, other
languages can be used as well.
Data Transfers Between Computer and Peripheral
Five statements are used to transfer information between a desktop computer and the
interface card:
• The OUTPUT statement sends data to the interface which, in turn, sends the
information to the peripheral device.
• The ENTER statement inputs data from the interface card after the interface has
received it from the peripheral device.
• The STATUS statement is used to monitor the interface and obtain information about
interface operation such as buffer status, detected errors, and interrupt enable status.
• The CONTROL statement is used to control interface operation and defines such
parameters as baud rate, character format, or parity.
• The TRANSFER statement is used to input or output data from/to the interface and, in
turn, from/to the peripheral device.
Since the interface has no on-board processor, ENTER and OUTPUT statements cause the
computer to wait until the ENTER or OUTPUT operation is complete before continuing to
the next line. For OUTPUT statements, this means that the computer waits until the last
bit of the last character has been sent over the serial line before continuing with the next
program statement.
Programming Guide1-9
Preparing for UseESG Family Signal Generators
Overview of Serial Interface (RS-232) Programming
Overview of Serial Interface (RS-232) Programming
Serial interface programming techniques are similar to most general I/O applications. The
interface card is initialized by use of CONTROL statements; STATUS statements evaluate
its readiness for use. Data is transferred between the desktop computer and a peripheral
device by OUTPUT and ENTER statements.
Due to the asynchronous nature of serial I/O operations, special care must be exercised to
ensure that data is not lost by sending to another device before the device is ready to
receive. Modem line handshaking can be used to help solve this problem. These and other
topics are discussed in greater detail elsewhere in this chapter.
Determining Operating Parameters
Before you can successfully transfer information to a device, you must match the operating
characteristics of the interface to the corresponding characteristics of the peripheral
device. This includes matching signal lines and their functions as well as matching the
character format for both devices.
Handshake and Baud Rate
To determine hardware operating parameters, you need to know the answer for each of the
following questions about the peripheral device:
• Which of the following signal and control lines are actively used during communication
with the peripheral?
— Data Set Ready (DSR)
— Clear to Send (CTS)
• What baud rate (line speed) is expected by the peripheral?
Character Format Parameters
To define the character format, you must know the requirements of the peripheral device
for the following parameters:
• Character Length: Eight data bits are used for each character, excluding start, stop, and
parity bits.
• Parity Enable: Parity is disabled (absent) for each character.
• Stop Bits: One stop bit is included with each character.
1-10Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Overview of Serial Interface (RS-232) Programming
Serial Configuration for BASIC/UX
There is no capability in BASIC/UX for reading the hardware bit settings on either the
HP 98626 or HP 98644 Serial Interface cards. Therefore, BASIC/UX provides two methods
for configuring modem control options:
•The stty command from the HP-UX environment.
• The keyword CONTROL and registers directly related to the modem control options.
Of the two methods mentioned above, the best one to use while in the HP-UX environment
is the stty command. The reason for this is any modem control options set by using the
keyword CONTROL are lost when you leave BASIC/UX. However, if you prefer to change
these options while in the BASIC/UX environment, then read the subsequent section
“Using Program Control to Override Defaults” on page 1-12.
This section deals with the first method mentioned above which is the use of the stty
command from the HP-UX environment.
Defaults for the Serial Interface
When HP-UX is being booted up, the defaults for all serial interfaces are:
Baud Rate300
Bits per character8
Par ity Off
Stop bits1
The above values are used by BASIC/UX as defaults, unless configured as explained in the
next section.
Some common serial interface configuration settings are:
Baud Rate to9600
Bits per character to8
Par ity to Odd and disabled
Stop bits to1
Programming Guide1-11
Preparing for UseESG Family Signal Generators
Overview of Serial Interface (RS-232) Programming
Configuring a Serial Interface for BASIC/UX
To configure your serial interface with the values mentioned in the previous section, you
can execute the following HP-UX command before entering BASIC/UX:
/bin/stty 9600 cs8 -cstopb < /dev/rmb/serialnn
where:
9600 is the baud rate. The following are baud rates you can use with the stty command:
300120024004800960019 200
cs8 is the number of bits per character. For this signal generator, the number of bits per
character is 8.
-cstopb causes one stop bit per character to be used.
< /dev/rmb/serialnn assigns the stty options to the serial interface located at select code
number nn.
For more information on stty options, see the HP-UX Language Reference.
Using Program Control to Override Defaults
You can override some of the interface default configuration options by use of CONTROL
statements. This not only enables you to guarantee certain parameters, but also provides a
means for changing selected parameters in the course of a running program.
Interface Reset
Whenever an interface is connected to a modem that may still be connected to a
telecommunications link from a previous session, it is good programming practice to reset
the interface to force the modem to disconnect, unless the status of the link and remote
connection are known. When the interface is connected to a line printer or similar
peripheral, resetting the interface is usually unnecessary unless an error condition
requires it.
100 CONTROL Sc,0;1! Resets Interface.
When the interface is reset by use of a CONTROL statement to CONTROL Register 0 with
a non-zero value, the interface is restored to the BASIC/UX power-up condition whether or
not it is the same as the current default switch configuration. If you are not sure of the
present settings, or if your application requires changing the configuration during program
operation, you can use CONTROL statements to configure the interface. An example of
where this may be necessary is when several peripherals share a single interface through a
manually operated RS-232 switch such as those used to connect multiple terminals to a
single computer port, or a single terminal to multiple computers.
1-12Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Overview of Serial Interface (RS-232) Programming
Selecting the Baud Rate
In order to successfully transfer information between the interface card and a peripheral,
the interface and peripheral must be set to the same baud rate. A CONTROL statement to
register 3 (or 13 with 98644 interfaces) can be used to set the interface baud rate to any
one of the following values:
300120024004800960019 200
For example, to select a baud rate of 9600, the following program statement is used:
1190 CONTROL Sc,3;9600
Use of values other than those shown may result in incorrect operation.
To verify the current baud rate setting, use a STATUS statement addressed to register 3.
All rates are in baud (bits/second).
Setting Character Format and Parity
CONTROL Register 4 overrides the Line Control switches that control parity and
character format. All bits in this table correspond to equivalent switch settings on the
HP 98626 and HP 98644 serial interface cards. A 1 is the same as set. To determine the
value sent to the register, add the appropriate values selected from the following table.
Table 1-6 Character Format and Parity Settings Handshake
Handshake
(Bits 7 & 6)
01 Xon/Xoff
Bidirectional 11
Handshake Disabled
Parity Enable
(Bit 3)
0 Disabled0 One stop bit11 Eight bits/char
Stop Bits
(Bit 2)
Character Length
(Bits 1 & 0)
For example, to configure a character format of 8 bits per character, one stop bit, and
disabled parity, with XON/XOFF; use the following CONTROL statement:
1200 CONTROL Sc,4;IVAL(“10011”,2)
-or-
1200 CONTROL Sc,4;19
Programming Guide1-13
Preparing for UseESG Family Signal Generators
Transferring Data
Transferring Data
The serial interface card is designed for relatively simple serial I/O operations. It is not
intended for sophisticated applications that use ON INTR statements to service the
interface.
Entering and Outputting Data
When the interface is properly configured, either by use of default switches or CONTROL
statements, you are ready to begin data transfers. OUTPUT statements are used to send
information to the peripheral; ENTER statements to input information from the external
device.
• OUTPUT 20;”String data”,Numeric_var,Etc
• ENTER 20;String_var$,Numeric_var,Etc
Any valid OUTPUT or ENTER statement and variables list may be used, but you must be
sure that the data format is compatible with the peripheral device. For example,
non-ASCII data sent to an ASCII line printer may result in unexpected behavior.
Various other I/O statements can be used in addition to OUTPUT and ENTER, depending
on the situation. For example, the LIST statement can be used to list programs to an
RS-232 line printer -- provided the interface is properly configured before the operation
begins.
Outputting Data
To send data to a peripheral, use OUTPUT, OUTPUT USING, or any other similar or
equivalent construct. Suppression of end-of-line delimiters and other formatting
capabilities are identical to normal operation in general I/O applications. The OUTPUT
statement hangs the computer until the last bit of the last character in the statement
variable list is transmitted by the interface. When the output operation is complete, the
computer then continues to the next line in the program.
Entering Data
To input data from a peripheral, use ENTER, ENTER USING, or an equivalent statement.
Inclusion or elimination of end-of-line delimiters and other information is determined by
the formatting specified in the ENTER statement. The ENTER statement hangs the
computer until the input variables list is satisfied. To minimize the risk of waiting for
another variable that isn’t coming, you may prefer to specify only one variable for each
ENTER statement, and analyze the result before starting the next input operation.
Be sure that the peripheral is not transmitting data to the interface while no ENTER is in
progress. Otherwise, data may be lost because the card provides buffering for only one
character. Also, interrupts from other I/O devices, or operator inputs to the computer
keyboard can cause delay in computer service to the interface that result in buffer overrun
at higher baud rates.
1-14Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Transferring Data
Modem Line Handshaking
Modem line handshaking, when used, is performed automatically by the computer as part
of the OUTPUT or ENTER operation. If the modem line states have not been latched in a
fixed state by Control Register, the following sequence of events is executed automatically
during each OUTPUT or ENTER operation:
For OUTPUT operations:
1. Set Data Terminal Ready and Request-to-Send modem lines to active state.
2. Check Data Set Ready and Clear-to-Send modem lines to be sure they are active.
3. Send information to the interface and then to the peripheral.
4. After data transfer is complete, clear Data Terminal Ready and Request-to-Send
signals.
For ENTER operations:
1. Set Data Terminal Ready line to active state. Leave Request-to-Send inactive.
2. Check Data Set Ready and Data Carrier Detect modem lines to be sure they are active.
3. Input information from the interface as it is received from the peripheral.
4. After the input operation is complete, clear the Data Terminal Ready signal.
After a given OUTPUT or ENTER operation is completed, the program continues
execution on the next line.
Control Register 5 can be used to force selected modem control lines to their active states.
The Data Rate Select line is set or cleared by bit 2. Request-to-send and Data Terminal
Ready are held in their active states when bits 1 and 0 are true, respectively. If bits 1 or 0
are false, the corresponding modem line is toggled during OUTPUT or ENTER as
explained previously.
Programming Guide1-15
Preparing for UseESG Family Signal Generators
Transferring Data
Incoming Data Error Detection and Handling (BASIC/WS only)
The serial interface card can generate several errors that are caused when certain
conditions are encountered while receiving data from the peripheral device. The UART
detects a given error condition. The card then generates a pending error to BASIC. Errors
can be generated by any of the following conditions:
• Parity error. The parity bit on an incoming character does not match the parity expected
by the receiver. This condition is most commonly caused by line noise.
• Framing error. Start and stop bits do not match the timing expectations of the receiver.
This can occur when line noise causes the receiver to miss the start bit or obscures the
stop bits.
• Overrun error. Incoming data buffer overrun caused a loss of one or more data
characters. This is usually caused when data is received by the interface, but no
ENTER statement has been activated to input the information.
• Break received. A BREAK was sent to the interface by the peripheral device. The
desktop computer program must be able to properly interpret the meaning of a break
and take appropriate action.
All UART status errors are generated by incoming data, never by outbound data. When a
UART error occurs, the corresponding bit of Status Register 10 is set, and a pending error
(ERROR 167: Interface status error) is sent to BASIC. BASIC processes the error according
to the following rules:
• If an ENTER is in progress, the error is handled immediately as part of the ENTER
process. An active ON ERROR causes the error trap to be executed. If no ON ERROR is
active, the error is fatal and causes the program to terminate.
• If an OUTPUT is in progress, or if there is no current activity between the computer
and interface, the error is flagged, but nothing is done by BASIC until an ENTER
statement is encountered. When the computer begins execution of the ENTER
statement, if an ON ERROR is active, the error trap is executed. If there is no active ON
ERROR for that select code, the fatal ERROR 167 causes the BASIC program to
terminate.
• If a STATUS statement is executed to Status Register 10 before an ENTER statement
is encountered for that select code, the pending BASIC error is cleared, and the program
continues as if no error had been generated.
Note that the above UART status errors cannot be detected using BASIC/UX.
1-16Programming Guide
ESG Family Signal GeneratorsPreparing for Use
GPIB Instrument Nomenclature
GPIB Instrument Nomenclature
An instrument that is part of an GPIB network is categorized as a listener, talker, or
controller, depending on its current function in the network.
Listener A listener is a device capable of receiving data or commands from other
instruments. Any number of instruments in the GPIB network can be
listeners simultaneously.
Talker A talker is a device capable of transmitting data or commands to other
instruments. To avoid confusion, an GPIB system allows only one device at
a time to be an active talker.
Controller A controller is an instrument, typically a computer, capable of managing
the various GPIB activities. Only one device at a time can be an active
controller.
Programming Guide1-17
Preparing for UseESG Family Signal Generators
GPIB Command Statements
GPIB Command Statements
Command statements form the nucleus of GPIB programming; they are understood by all
instruments in the network. When combined with the programming language codes, they
provide all management and data communication instructions for the system.
An explanation of the fundamental command statements follows. Some computers may use
a slightly different terminology, or support an extended or enhanced version of these
commands. Use the following explanations as a starting point and refer to the HP BASIC
language reference manual, the I/O programming guide, and the GPIB manual for the
computer you are using.
Syntax drawings accompany each statement. All items enclosed by a circle or oval are
computer-specific terms that must be entered exactly as described; items enclosed in a
rectangular box are names of parameters used in the statement; and the arrows indicate a
path that generates a valid combination of statement elements.
The seven fundamental command statements are as follows:
Abort
ABORT abruptly terminates all listener/talker activity on the interface bus, and prepares
all instruments to receive a new command from the controller. Typically, this is an
initialization command used to place the bus in a known starting condition. The syntax is:
Figure 1-2. Abort Command Syntax
where the interface select code is the computer’s GPIB I/O port, which is typically port 7.
A BASIC Example
10 ABORT 7
100 IF V>20 THEN ABORT 7
Related Statements Used by Some Computers
• ABORTIO (used by HP-80 series computers)
•HALT
• RESET
1-18Programming Guide
ESG Family Signal GeneratorsPreparing for Use
GPIB Command Statements
Remote
REMOTE causes an instrument to change from local control to remote control. In remote
control, the front panel keys are disabled except for the
switch. The syntax is:
Figure 1-3. Remote Command Syntax
where the device selector is the address of the instrument appended to the GPIB port
number. Typically, the GPIB port number is 7 and the default address for the signal
generator is 19, so the device selector is 719.
Some BASIC Examples
Local key and the line power
10 REMOTE 7
which prepares all GPIB instruments for remote operation (although nothing appears to
happen to the instruments until they are addressed to talk), or
10 REMOTE 719
which affects the GPIB instrument located at address 19, or
10 REMOTE 719, 721, 726, 715
which affects four instruments that have addresses 19, 21, 26, and 15.
Related Statements Used by Some Computers
• RESUME
Programming Guide1-19
Preparing for UseESG Family Signal Generators
GPIB Command Statements
Local Lockout
LOCAL LOCKOUT can be used with REMOTE to disable the front panel Local key. With
Local key disabled, only the controller (or a hard reset by the line power switch) can
the
restore local control. The syntax is:
Figure 1-4. Local Lockout Command Syntax
A BASIC Example
10 REMOTE 719
20 LOCAL LOCKOUT 7
Local
LOCAL is the complement to REMOTE, causing an instrument to return to local control
with a fully enabled front panel. The syntax is:
Figure 1-5. Local Command Syntax
Some BASIC Examples
10 LOCAL 7
which affects all instruments in the network, or
10 LOCAL 719
for an addressed instrument (address 19).
Related Statements Used by Some Computers
• RESUME
1-20Programming Guide
ESG Family Signal GeneratorsPreparing for Use
GPIB Command Statements
Clear
CLEAR causes all GPIB instruments, or addressed instruments, to assume a cleared
condition. The definition of clear is unique for each instrument. For the signal generator:
1. All pending output-parameter operations are halted.
2. The parser (the software that interprets the programming codes) is reset and now
expects to receive the first character of a programming code.
3. Any sweep in progress is aborted and continuous sweep is turned off.
4. Any I/Q calibration in progress will be aborted.
The syntax is:
Figure 1-6. Clear Command Syntax
Some BASIC Examples
10 CLEAR 7
to clear all GPIB instruments, or
10 CLEAR 719
to clear an addressed instrument (address 19)
Related Statements Used by Some Computers
• RESET
• CONTROL
•SEND
The preceding statements are primarily management commands that do not incorporate
programming codes. The following two statements do incorporate programming codes and
are used for data communication.
Programming Guide1-21
Preparing for UseESG Family Signal Generators
GPIB Command Statements
Output
OUTPUT is used to send function commands and data commands from the controller to
the addressed instrument. The syntax is:
Figure 1-7. Output Command Syntax
where USING is a secondary command that formats the output in a particular way, such
as a binary or ASCII representation of numbers. The USING command is followed by
image items that precisely define the format of the output; these image items can be a
string of code characters or a reference to a statement line in the program. Image items are
explained in the programming codes where they are needed. Notice that this syntax is
virtually identical to the syntax for the ENTER statement that follows.
A BASIC Example
100 OUTPUT 719; "programming codes"
Related Statements Used by Some Computers
• CONTROL
• CONVERT
•IMAGE
• IOBUFFER
• TRANSFER
1-22Programming Guide
ESG Family Signal GeneratorsPreparing for Use
GPIB Command Statements
Enter
ENTER is the complement of OUTPUT and is used to transfer data from the addressed
instrument to the controller. The syntax is:
Figure 1-8. Enter Command Syntax
ENTER is nearly always used in conjunction with OUTPUT.
Some BASIC Examples
100 OUTPUT 719, "...programming codes..."
110 ENTER 719; "...response data..."
ENTER statements are commonly formatted, requiring the secondary command USING
and the appropriate image items. The most-used image items involve end-of-line (EOI)
suppression, binary inputs, and literal inputs. For example:
100 ENTER 719 USING "#, B"; A, B, C
suppresses the EOI sequence (#), and indicates that variables A, B, and C are to be filled
with binary (B) data. In another example:
100 ENTER 719 USING "#, 123A"; A$
suppresses EOI and indicates that string variable A$ is to be filled with 123 bytes of literal
data (123A).
NOTEBe careful when using byte-counting image specifiers. If the requested
number of bytes does not match the actual number available, data might be
lost or the program might enter an endless wait state.
Programming Guide1-23
Preparing for UseESG Family Signal Generators
GPIB Command Statements
The suppression of the EOI sequence is frequently necessary to prevent a premature
termination of the data input. When not specified, the typical EOI termination occurs
when an ASCII LF (line feed) is received. However the LF bit pattern could coincidentally
occur randomly in a long string of binary data, where it might cause a false termination.
Also the bit patterns for the ASCII CR (carriage return), comma, or semicolon might cause
a false termination. Suppression of the EOI causes the computer to accept all bit patterns
as data, not commands, and relies on the GPIB EOI (end or identify) line for correct
end-of-data termination.
Related Statements Used by Some Computers
• CONVERT
•IMAGE
• IOBUFFER
•ON TIMEOUT
•SET TIMEOUT
• TRANSFER
1-24Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Getting Started with SCPI
Getting Started with SCPI
This section describes the use of the Standard Commands for Programmable Instruments
language (SCPI). This section explains how to use SCPI commands in general. For a list of
the specific SCPI commands available in the signal generator, refer to Chapter 2 and
Chapter 3.
Understanding Common Terms
The following terms are used throughout the remainder of this chapter.
Controller A controller is any computer used to communicate with a SCPI
instrument. A controller can be a personal computer, a minicomputer, or a
plug-in card in a card cage. Some intelligent instruments can also function
as controllers.
Instrument An instrument is any device that implements SCPI. Most instruments are
electronic measurement or stimulus devices, but this is not a requirement.
Similarly, most instruments use an GPIB or RS-232 interface for
communication. The same concepts apply regardless of the instrument
function or the type of interface used.
Program
Message A program message is a combination of one or more properly formatted
SCPI commands. Program messages always go from a controller to an
instrument. Program messages tell the instrument how to make
measurements and output signals.
Response
Message A response message is a collection of data in specific SCPI formats.
Response messages always go from an instrument to a controller or
listening instrument. Response messages tell the controller about the
internal state of the instrument and about measured values.
Command A command is an instruction in SCPI. You combine commands to form
messages that control instruments. In general, a command consists of
mnemonics (keywords), parameters, and punctuation.
Query A query is a special type of command. Queries instruct the instrument to
make response data available to the controller. Query mnemonics always
end with a question mark.
Programming Guide1-25
Preparing for UseESG Family Signal Generators
Getting Started with SCPI
Standard Notation
This section uses several forms of notation that have specific meaning:
Command
Mnemonics Many commands have both a long and a short form and you must use
either one or the other (SCPI does not accept a combination of the two).
Consider the FREQuency command, for example. The short form is FREQ
and the long form is FREQUENCY. This notation type is a shorthand to
document both the long and short form of commands. SCPI is not case
sensitive, so fREquEnCy is just as valid as FREQUENCY, but FREQ and
FREQUENCY are the only valid forms of the FREQuency command.
Angle
Brackets Angle brackets indicate that the word or words enclosed represent
something other than themselves. For example, <new line> represents
the ASCII character with the decimal value 10. Similarly, <END> means
that EOI is asserted on the GPIB interface. Words in angle brackets have
much more rigidly defined meaning than words shown in ordinary text.
For example, this section uses the word “message” to talk about messages
generally. But the bracketed words <program message> indicate a
precisely defined element of SCPI. If you need them, you can find the exact
definitions of words such as <program message> in a syntax diagram.
How to Use Examples
Programming with SCPI requires knowledge of two languages. You must know the
programming language of your controller (BASIC, C, Pascal) as well as the language of
your instrument (SCPI). The semantic requirements of your controller’s language
determine how the SCPI commands and responses are handled in your application.
Command Examples
Command examples look like this:
:FREQuency:CW?
This example tells you to put the string :FREQuency:CW? in the output statement
appropriate to your application programming language. If you encounter problems, study
the details of how the output statement handles message terminators such as <new line>.
If you are using simple OUTPUT statements in HP BASIC, this is taken care of for you. In
HP BASIC, you type:
OUTPUT 719":FREQuency:CW?"
Command examples do not show message terminators because they are used at the end of
every program message. See “Details of Commands and Responses” on page 1-35 for more
information about message terminators.
1-26Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Getting Started with SCPI
Response Examples
Response examples look like this:
3.000000000000E+009
These are the characters you would read from an instrument after sending a query
command. To actually pull them from the instrument into the controller, use the input
statement appropriate to your application programming language. If you have problems,
study the details of how the input statement operates. In particular, investigate how the
input statement handles punctuation characters such as the comma and the semicolon and
how it handles <new line> and EOI. To enter the previous response in HP BASIC you
type:
ENTER 719;CW_frequency
Response examples do not show response message terminators because they are always
<new line><END>. These terminators are typically automatically handled by the input
statement. See “Details of Commands and Responses” on page 1-35 for more information
about terminators.
Program and Response Messages
To understand how your instrument and controller communicate using SCPI, you must
understand the concepts of program and response messages. Program messages are the
formatted data sent from the controller to the instrument. Conversely, response messages
are the formatted data sent from the instrument to the controller. Program messages
contain one or more commands, and response messages contain one or more responses.
The controller may send commands at any time, but the instrument sends responses only
when specifically instructed to do so. The special type of command used to instruct the
instrument to send a response message is the query. All query mnemonics end with a
question mark. Queries return either measured values or internal instrument settings.
Any internal setting that can be programmed with SCPI can also be queried.
Forgiving Listening and Precise Talking
SCPI uses the concept of forgiving listening and precise talking outlined in IEEE 488.2.
Forgiving listening means that instruments are very flexible in accepting various
command and parameter formats. For example, the signal generator accepts either
:POWer:ALC[:STATe] ON or :POWer:ALC[:STATe] 1 to turn on the source’s RF output.
Precise talking means that the response format for a particular query is always the same.
For example, if you query the power state when it is on (using :POWer:ALC[:STATe]?), the
response is always 1, regardless of whether you previously sent :POWer:ALC[:STATe] 1 or
:POWer:ALC[:STATe] ON.
Programming Guide1-27
Preparing for UseESG Family Signal Generators
Getting Started with SCPI
Types of Commands
Commands can be separated into two groups, common commands and subsystem
commands.
Common commands are generally not measurement related. They are used to manage
macros, status registers, synchronization, and data storage. Common commands are easy
to recognize because they all begin with an asterisk, such as *IDN?, *OPC, and *RST.
Common commands are defined by IEEE 488.2.
Subsystem commands include all measurement functions and some general purpose
functions. Subsystem commands are distinguished by the colon used between keywords, as
in :FREQuency:CW?. Each command subsystem is a set of commands that roughly
corresponds to a functional block inside the instrument. For example, the :POWer
subsystem contains commands for power generation, while the :STATus subsystem
contains commands for accessing status registers.
Figure 1-9. SCPI Command Types
The remaining paragraphs in this subsection discuss subsystem commands in more detail.
Remember, some commands are implemented in one instrument and not in another,
depending on its measurement function.
1-28Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Getting Started with SCPI
Subsystem Command Trees
Command Tree Structure
Most programming tasks involve subsystem commands. SCPI uses a hierarchical
structure for subsystem commands similar to the file systems on most computers. In SCPI,
this command structure is called a command tree.
Figure 1-10. A Simplified Command Tree
In the command tree shown above, the command closest to the top is the root command, or
simply “the root.” Notice that you must follow a particular path to reach lower level
subcommands. For example, if you wish to access the GG command, you must follow the
path AA to BB to GG.
Paths Through the Command Tree
To access commands in different paths in the command tree, you must understand how an
instrument interprets commands. The parser, a part of the instrument firmware, decodes
each message sent to the instrument. The parser breaks up the message into component
commands using a set of rules to determine the command tree path used. The parser keeps
track of the current path: the level in the command tree where it expects to find the next
command you send. This is important because the same keyword may appear in different
paths. The particular path you use determines how the keyword is interpreted. The
following rules are used by the parser:
Power On and
Reset After power is cycled or after *RST, the current path is set to the root.
Message
Terminators A message terminator, such as a <new line> character, sets the current
path to the root. Many programming languages have output statements
that send message terminators automatically. See “Details of Commands
and Responses” on page 1-35 for more information about message
terminators.
Programming Guide1-29
Preparing for UseESG Family Signal Generators
Getting Started with SCPI
Colon When a colon is placed between two command mnemonics, it moves the
current path down one level in the command tree. For example, the colon
in MEAS:VOLT specifies that VOLT is one level below MEAS. When the colon is
the first character of a command, it specifies that the next command
mnemonic is a root level command. For example, the colon in :INIT
specifies that INIT is a root level command.
Semicolon A semicolon separates two commands in the same message without
changing the current path.
White Space White space characters, such as <tab> and <space>, are generally ignored.
There are two important exceptions. White space inside a keyword, such
as:
:FREQ uency
is not allowed. You must use white space to separate parameters from
commands. For example, the <space> between LEVel and 6.2 in the
command :POWer:LEVel 6.2 is mandatory. White space does not affect
the current path.
Commas If a command requires more than one parameter, you must separate
adjacent parameters using a comma. Commas do not affect the current
path.
Common
Commands Common commands, such as *RST, are not part of any subsystem. An
instrument interprets them in the same way, regardless of the current
path setting.
1-30Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Getting Started with SCPI
Figure 1-11. Proper Use of the Colon and Semicolon
Examples of how to use the colon and semicolon to navigate efficiently through the
command tree are shown in Figure 1-11. Notice how proper use of the semicolon can
reduce the amount of information that must be sent over the interface.
Sending this message:
:AA:BB:EE; FF; GG
is the same as sending these three messages:
:AA:BB:EE
:AA:BB:FF
:AA:BB:GG
Programming Guide1-31
Preparing for UseESG Family Signal Generators
Getting Started with SCPI
More About Commands
Query and Event Commands
You can query any value that you can set. For example, the presence of the signal
generator FREQuency:OFFSet command implies that a FREQuency:OFFSet? also exists. If
you see a command ending with a question mark, it is a query-only command. Some
commands are events and cannot be queried. An event has no corresponding setting if it
causes something to happen inside the instrument at a particular instant.
Implied Commands
Implied commands appear in square brackets. If you send a subcommand immediately
preceding an implied command, but do not send the implied command, the instrument
assumes you intend to use the implied command and behaves just as if you had sent it.
Notice that this means that the instrument expects you to include any parameters
required by the implied command. The following example illustrates equivalent ways to
program the signal generator using explicit and implied commands.
Example signal generator commands with and without an implied command:
FREQuency[:CW] 500 MHzusing explicit commands
FREQuency 500 MHzusing implied commands
Optional Parameters
Optional parameter names are enclosed in square brackets. If you do not send a value for
an optional parameter, the instrument chooses a default value. The instrument’s command
dictionary documents the values used for optional parameters.
1-32Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Getting Started with SCPI
Program Message Examples
The following parts of the signal generator SCPI command set will be used to demonstrate
how to create complete SCPI program messages:
:FREQuency
:POWER
Example 1
“FREQuency:STARt 500 MHz; STOP 1000 MHz”
The command is correct and will not cause errors. It is equivalent to sending the following:
“POWer 10 DBM; :OFFSet 5 DB”
This command results in a command error. The command makes use of the default
POWer[:LEVel][:IMMediate] node. When using a default node, there is no change to the
current path position. Since there is no command “OFFSet” at the root, an error results. A
correct way to send this is:
“POWer 10 DBM; :POWer:OFFSet 5 DB”
Example 3
“POWer:OFFSet 5 DB; POWer 10 DBM”
This command results in a command error. The POWer 10 DBM portion of the command is
missing a leading colon. The path level is dropped at each colon until it is in the
POWer:OFFSet subsystem.
When the POWer 10 DBM command is sent, it then causes confusion because no such node
occurs in the POWer:OFFSet subsystem. By adding a leading colon, the current path is
reset to the root. The correct command is:
“POWer:OFFSet 5 DB; :POWer 10 DBM”
Example 4
“FREQ 500 MHZ; POWER 4 DBM”
In this example the keyword short form is used. The command is correct. It utilizes the
default nodes of [:CW] and [:LEVEL]. Since default nodes do not affect the current path, it
is not necessary to use a leading colon before POWER.
Programming Guide1-33
Preparing for UseESG Family Signal Generators
Getting Started with SCPI
Reading Instrument Errors
When debugging a program, you may want to know if an instrument error has occurred.
The signal generator can display error messages on their front panel displays. If your
system includes an instrument that does not have this capability, you can put the following
code segment in your program to read error messages and print them on the controller’s
display.
10 !
20 ! The rest of your
30 ! variable d eclaratio ns
40 Assign @box to 719
50 DIM Err_msg$ [75]
60 INTEGER Err_ num
70 !
80 ! Part of yo ur progra m
90 ! that gener ates erro rs
100 !
110 !
200 REPEAT
210 OUTPUT @Box;":SYS T:ERR?"
220 ! Query instrument err or
230 ENTER @Box;Err_nu m,Err_msg$
240 ! Read erro r #, mess age
250 PRINT Err_num,Err _msg$
260 ! Print error message
270 UNTIL Err_num = 0
280 ! Repeat un til no er rors
290 !
300 ! The rest of your program
310 !
1-34Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Getting Started with SCPI
Details of Commands and Responses
This section describes the syntax of SCPI commands and responses. It provides many
examples of the data types used for command parameters and response data.
Program Message Syntax
These program messages contain commands combined with appropriate punctuation and
program message terminators.
Figure 1-12. Simplified Program Message Syntax
You can send common commands and subsystem commands in the same message as shown
in Figure 1-12. If you send more than one command in the same message, you must
separate them with a semicolon. You must always end a program message with one of the
three program message terminators shown in Figure 1-12. Use <new line>, <END>, or
<new line><END> as the program message terminator. The word <END> means that EOI
is asserted on the GPIB interface at the same time the preceding data byte is sent. Most
programming languages send these terminators automatically. For example, if you use the
HP BASIC OUTPUT statement, <new line> is automatically sent after your last data byte.
If you are using a PC, you can usually configure the system to send whatever terminator
you specify.
There must be a <space> between the last command mnemonic and the first parameter in
a subsystem command as shown in Figure 1-13. This is one of the few places in SCPI
where <space> is required. Note that if you send more than one parameter with a single
command, you must separate adjacent parameters with a comma. Parameter types are
explained later in this subsection.
Common Command Syntax
Figure 1-14. Simplified Common Command Syntax
As with subsystem commands, use a <space> to separate a command mnemonic from
subsequent parameters. Separate adjacent parameters with a comma. Parameter types
are explained later in this section.
1-36Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Getting Started with SCPI
Response Message Syntax
Figure 1-15. Simplified Response Message Syntax
Response messages can contain both commas and semicolons as separators. When a single
query command returns multiple values, a comma separates each data item. When
multiple queries are sent in the same message, the groups of data items corresponding to
each query are separated by a semicolon. For example, the fictitious query
:QUERY1?:QUERY2? might return a response message of:
,;,
Response data types are explained later in this subsection. Note that <new line><END> is
always sent as a response message terminator.
SCPI Data Types
SCPI defines different data formats for use in program messages and response messages.
It does this to accommodate the principle of forgiving listening and precise talking.
Forgiving listening means that instruments are flexible, accepting commands and
parameters in various formats. Precise talking means an instrument always responds to a
particular query in a predefined, rigid format. Parameter data types are designed to be
flexible in the spirit of forgiving listening. Conversely, response data types are defined to
meet the requirements of precise talking.
Parameter TypesResponse Data Types
Numeric
Extended Numeric
DiscreteDiscrete
BooleanNumeric Boolean
StringString
BlockDefinite Length Block (all interfaces)
Real or Integer
Integer
Indefinite Length Block
(not supported with RS-232)
Non-decimal NumericHexadecimal
Octal
Binary
Programming Guide1-37
Preparing for UseESG Family Signal Generators
Getting Started with SCPI
Each parameter type has one or more corresponding response data types. For example, a
setting that you program using a numeric parameter returns either real or integer
response data when queried. Whether real or integer response data is returned depends on
the instrument used. However, precise talking requires that the response data type be
clearly defined for a particular instrument and query. Chapter 2 contains information
about data types for individual commands.
Par ameter Types
Numeric Parameters Numeric parameters are used in both subsystem commands and
common commands. Numeric parameters accept all commonly used decimal
representations of numbers including optional signs, decimal points, and scientific
notation.
If an instrument setting programmed with a numeric parameter can only assume a finite
number of values, the instrument automatically rounds the parameter. For example, if an
instrument has a programmable output impedance of 50 or 75 ohms, and you specified
76.1 for output impedance, the value is rounded to 75. If the instrument setting can only
assume integer values, it automatically rounds the value to an integer. For example
sending *ESE 10.123 is the same as sending *ESE 10.
Examples of numeric parameters:
100no decimal point required
100.fractional digits optional
−1.23leading signs allowed
4.56e<space>3space allowed after e in exponential
−7.89E−01use either E or e in exponential
+256leading + allowed
.5digits left of decimal point optional
Extended Numeric Parameters Most subsystems use extended numeric parameters to
specify physical quantities. Extended numeric parameters accept all numeric parameter
values and other special values as well. All extended numeric parameters accept MAXimum
and MINimum as values. Other special values, such as UP and DOWN may be available as
documented in Chapter 2. Notice that MINimum and MAXimum can be used to set or query
values. The query forms are useful for determining the range of values allowed for a given
parameter.
In some instruments, extended numeric parameters accept engineering unit suffixes as
part of the parameter value.
Notice that extended numeric parameters are not used for common commands or STATus
subsystem commands.
1-38Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Getting Started with SCPI
Examples of extended numeric parameters:
100.any simple numeric values
−1.23
4.56e<space>3
−7.89E−01
+256
.5
MAXlargest valid setting
MINvalid setting nearest negative infinity
−100 mVnegative 100 millivolts
Discrete Parameters Use discrete parameters to program settings that have a finite
number of values. Discrete parameters use mnemonics to represent each valid setting.
They have a long and a short form, just like command mnemonics. You can use mixed
upper and lower case letters for discrete parameters.
Examples of discrete parameters used with the TRIG:SOURce subsystem:
BUSGPIB triggering
IMMediateimmediate trigger
EXTernalexternal triggering
Although discrete parameter values look like command keywords, do not confuse the two.
In particular, be sure to use colons and spaces properly. Use a colon to separate command
mnemonics from each other. Use a space to separate parameters from command
mnemonics.
Examples of discrete parameters in commands:
100 OUTPUT @Source;"T RIGger:SOUR ce BUS"
100 OUTPUT @Source;"T RIGger:SOUR ce IMMediate"
100 OUTPUT @Source;"T RIGger:SOUR ce EXTernal"
Programming Guide1-39
Preparing for UseESG Family Signal Generators
Getting Started with SCPI
Boolean Parameters Boolean parameters represent a single binary condition that is
either true or false. There are only four possible representations for a Boolean parameter:
ONBoolean true, upper/lower case allowed
OFFBoolean false, upper/lower case allowed
1Boolean true
0Boolean false
Block Parameters A data block contains the data of primary interest. It may contain
dimensioned data such as DATA(CURVe), or specific sets of data (WAVEform, etc.). At
least one data block is required and multiple data blocks are allowed. The following table
details the data block for a List Pattern data block, used to write pattern lists directly to
the instrument’s baseband generator board:
Bit 0 (1) data value: 0 or 1 as required for a data bit.
Bit 1 (2) Always 0
Bit 2 (4) Burst control: 0 for burst off, 1 for burst on. All data values that require
power out must have this bit on.
Bit 3 (8) Always 0
Bit 4 (16) Always 16
Bit 5 (32) Always 0
Bit 6 (64)Event 1 control: 0 or 1, as desired on the EVENT1 output.
Bit 7 (128)Pattern reset: Reset the pattern to start after this entry is processed.
Response Data Types
Real Response Data A large portion of all measurement data are formatted as real
response data. Real response data are decimal numbers in either fixed decimal notation or
scientific notation. Most high-level programming languages that support instrument I/O
handle either decimal or scientific notation transparently.
Examples of real response data:
1.23E+0
−1.0E+2
+1.0E+2
0.5E+0
1.23
−100.0
+100.0
0.5
1-40Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Getting Started with SCPI
Integer Response Data Integer response data are decimal representations of integer
values including optional signs. Most status register related queries return integer
response data.
Examples of integer response data:
0signs are optional
+100leading + sign allowed
−100leading sign allowed
256never any decimal point
Discrete Response Data Discrete response data are similar to discrete parameters. The
main difference is that discrete response data return only the short form of a particular
mnemonic, in all upper case letters.
Examples of discrete response data:
IMMImmediate
EXTExternal
String Response Data String response data are similar to string parameters. The main
difference is that string response data use only double quotes as delimiters, rather than
single quotes. Embedded double quotes may be present in string response data. Embedded
quotes appear as two adjacent double quotes with no characters between them.
Examples of string response data:
“This IS valid”
“SO IS THIS”” “
“I said, ““Hello!”””
Programming Guide1-41
Preparing for UseESG Family Signal Generators
Programming the Status Register System
Programming the Status Register System
The signal generator’s instrument status system provides complete IEEE 488.2 Device
Standard data structures for reporting instrument status using the register model.
The IEEE 488.2 register model of the status system is comprised of multiple registers
which are arranged in a hierarchical order. The lower-priority status registers propagate
their data to the higher-priority registers in the data structures by means of summary bits.
The Status Byte Register is at the top of the hierarchy and contains the general status
information for the instrument’s events and conditions. All other individual registers are
used to determine the specific events or conditions.
You can determine the state of certain instrument hardware and firmware events and
conditions by programming the status register system.
1-42Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
Figure 1-16. The Overall Status Byte Register System
Programming Guide1-43
Preparing for UseESG Family Signal Generators
Programming the Status Register System
Status Byte Group
Figure 1-17. The Status Byte Group
1-44Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
The Status Byte Group consists of the Status Byte Register and the Service Request
Enable Register. The Status Byte Register contains the following bits:
Figure 1-18.
BitDescription
0, 1These bits are always set to 0.
2A 1 in this bit position indicates that the SCPI error queue is not empty. The SCPI error
queue contains at least one error message.
3A 1 in this bit position indicates that the Data Questionable summary bit has been set.
The Data Questionable Event Register can then be read to determine the specific
condition that caused this bit to be set.
4A 1 in this bit position indicates that the signal generator has data ready in the output
queue. There are no lower status groups that provide input to this bit.
5A 1 in this bit position indicates that the Standard Event summary bit has been set. The
Standard Event Status Register can then be read to determine the specific event that
caused this bit to be set.
6A 1 in this bit position indicates that the instrument has at least one reason to require
service. This bit is also called the Master Summary Status bit (MSS). The individual bits
in the Status Byte are individually ANDed with their corresponding service request
enable register, then each individual bit value is ORed and input to this bit.
7A 1 in this bit position indicates that the Standard Operation summary bit has been set.
The Standard Operation Event Register can then be read to determine the specific
condition that caused this bit to be set.
Programming Guide1-45
Preparing for UseESG Family Signal Generators
Programming the Status Register System
To query the Status Byte Register, send the command *STB? The response will be the
decimal sum of the bits which are set to 1. For example, if bit number 7 and bit number 3
are set to 1, the decimal sum of the 2 bits is 128 plus 8. So the decimal value 136 is
returned.
In addition to the Status Byte Register, the Status Byte Group also contains a Service
Request Enable Register. This register lets you choose which bits in the Status Byte
Register will trigger a service request. Send the *SRE <num> command where <num> is the
sum of the decimal values of the bits you want to enable plus the decimal value of bit 6. For
example, to enable bit 7 so that whenever the Standard Operation Status Register
summary bit is set to 1 it will trigger a service request, send the command *SRE 192 (128
+ 64). You must always enable bit 6 when you enable any other bits for a service request.
The command *SRE? returns the decimal value of the sum of the bits previously enabled
with the *SRE <num> command.
Figure 1-19.
Status Groups
The Standard Operation Status Group and the Data Questionable Status Group each
consist of the following registers; the Standard Event Status Group is similar but does not
have negative or positive transition filters.
Condition
Register A condition register continuously monitors the hardware and firmware
status of the signal generator. There is no latching or buffering for a
condition register; it is updated in real time.
Negative
Transition
Filter A negative transition filter specifies the bits in the condition register that
will set corresponding bits in the event register when the condition bit
changes from 1 to 0.
1-46Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
Positive
Transition
Filter A positive transition filter specifies the bits in the condition register that
will set corresponding bits in the event register when the condition bit
changes from 0 to 1.
Event
Register An event register latches transition events from the condition register as
specified by the positive and negative transition filters. Bits in the event
register are latched, and once set, they remain set until cleared by either
querying the register contents or sending the *CLS command.
Event
Enable
Register An enable register specifies the bits in the event register that can generate
a summary bit. The signal generator logically ANDs corresponding bits in
the event and enable registers and ORs all the resulting bits to produce a
summary bit. Summary bits are, in turn, used by the Status Byte Register.
In general, a status group is a set of related registers whose contents are programmed in
order to produce status summary bits. In each status group, corresponding bits in the
condition register are filtered by the negative and positive transition filters and stored in
the event register. The contents of the event register are logically ANDed with the contents
of the enable register and the result is logically ORed to produce a status summary bit in
the Status Byte Register.
Programming Guide1-47
Preparing for UseESG Family Signal Generators
Programming the Status Register System
Standard Event Status Group
Figure 1-20. The Standard Event Status Group
1-48Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
The Standard Event Status Group is used to determine the specific event that set bit 5 in
the Status Byte Register. The Standard Event Status Group consists of the Standard
Event Status Register (an event register) and the Standard Event Status Enable Register.
The Standard Event Status Register contains the following bits:
Figure 1-21.
BitDescription
0A 1 in this bit position indicates that all pending signal generator operations were
completed following execution of the *OPC command.
1This bit is always set to 0. (The signal generator does not request control.)
2A 1 in this bit position indicates that a query error has occurred. Query errors have SCPI
error numbers from
3A 1 in this bit position indicates that a device dependent error has occurred. Device
dependent errors have SCPI error numbers from
4A 1 in this bit position indicates that an execution error has occurred. Execution errors
have SCPI error numbers from
5A 1 in this bit position indicates that a command error has occurred. Command errors
have SCPI error numbers from
6A 1 in this bit position indicates that the
the signal generator is in local lockout mode.
7A 1 in this bit position indicates that the signal generator has been turned off and then
on.
−499 to −400.
−399 to −300 and 1 to 32767.
−299 to −200.
−199 to −100.
Local key has been pressed. This is true even if
Programming Guide1-49
Preparing for UseESG Family Signal Generators
Programming the Status Register System
To query the Standard Event Status Register, send the command *ESR?. The response will
be the decimal sum of the bits which are set to 1. For example, if bit number 7 and bit
number 3 are set to 1, the decimal sum of the 2 bits is 128 plus 8. So the decimal value 136
is returned.
Figure 1-22.
In addition to the Standard Event Status Register, the Standard Event Status Group also
contains a Standard Event Status Enable Register. This register lets you choose which bits
in the Standard Event Status Register will set the summary bit (bit 5 of the Status Byte
Register) to 1. Send the *ESE <num> command where <num> is the sum of the decimal
values of the bits you want to enable. For example, to enable bit 7 and bit 6 so that
whenever either of those bits is set to 1, the Standard Event Status summary bit of the
Status Byte Register will be set to 1, send the command *ESE 192 (128 + 64). The
command *ESE? returns the decimal value of the sum of the bits previously enabled with
the *ESE <num> command.
1-50Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
Standard Operation Status Group
Figure 1-23. The Standard Operation Status Group
The Standard Operation Status Group is used to determine the specific event that set bit 7
in the Status Byte Register. The Standard Operation Status Group consists of the
Standard Operation Condition Register, the Standard Operation Negative Transition
Filter, the Standard Operation Positive Transition Filter, the Standard Operation Event
Register, and the Standard Operation Event Enable Register. The Standard Operation
Condition Register contains the following bits:
Programming Guide1-51
Preparing for UseESG Family Signal Generators
Programming the Status Register System
Figure 1-24.
BitDescription
0A 1 in this bit position indicates that an I/Q calibration is being performed.
1, 2Unused. These bits are always set to 0.
3A 1 in this bit position indicates that a sweep is in progress.
4A 1 in this bit position indicates that a bit error rate test is in progress
(Options UN7 and 300 only).
5A 1 in this bit position indicates that the source is in a “wait for trigger” state of the
trigger model.
6, 7, 8Unused. These bits are always set to 0.
9A 1 in this bit position indicates that the signal generator is currently performing a
DCFM/DC
10A 1 in this bit position indicates that the signal generator is currently busy
processing ARB commands.
11A 1 in this bit position indicates that the signal generator is currently doing the
necessary pre-sweep calculations.
12A 1 in this bit position indicates that the signal generator is currently
synchronizing to BCH. TCH, and PRBS.
13, 14Unused. These bits are always set to zero.
ΦM zero calibration.
15Always Zero (0).
1-52Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
The Standard Operation Condition Register continuously monitors the hardware and
firmware status of the instrument. Condition registers are read-only. To query the
condition register, send the command STATus:OPERation:CONDition? The response will
be the decimal sum of the bits which are set to 1. For example, if bit number 9 and bit
number 3 are set to 1, the decimal sum of the 2 bits is 512 plus 8. So the decimal value 520
is returned.
The transition filter specifies which types of bit state changes in the condition register will
set corresponding bits in the event register. The changes may be positive (from 0 to 1) or
negative (from 1 to 0). Send the command STATus:OPERation:NTRansition <num>
(negative) or STATus:OPERation:PTRansition <num> (positive) where <num> is the sum of
the decimal values of the bits you want to enable.
The Standard Operation Event Register latches transition events from the condition
register as specified by the transition filters. Event registers are destructive read-only.
Reading data from an event register will clear the content of that register. To query the
event register, send the command STATus:OPERation[:EVENt]?
Figure 1-25.
The Standard Operation Status Group also contains a Standard Operation Event Enable
Register. This register lets you choose which bits in the Standard Operation Event
Register will set the summary bit (bit 7 of the Status Byte Register) to 1. Send the
STATus:OPERation:ENABle <num> command where <num> is the sum of the decimal
values of the bits you want to enable. For example, to enable bit 9 and bit 3 so that
whenever either of those bits is set to 1, the Standard Operation Status summary bit of the
Status Byte Register will be set to 1, send the command STAT:OPER:ENAB 520 (512 + 8).
The command STATus:OPERation:ENABle? returns the decimal value of the sum of the
bits previously enabled with the STATus:OPERation:ENABle <num> command.
Programming Guide1-53
Preparing for UseESG Family Signal Generators
Programming the Status Register System
Data Questionable Status Group
Figure 1-26. The Data Questionable Status Group
1-54Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
The Data Questionable Status Group is used to determine the specific event that set bit 3
in the Status Byte Register. The Data Questionable Status Group consists of the Data
Questionable Condition Register, the Data Questionable Negative Transition Filter, the
Data Questionable Positive Transition Filter, the Data Questionable Event Register, and
the Data Questionable Event Enable Register. The Data Questionable Condition Register
contains the following bits:
Figure 1-27.
BitDescription
0, 1, 2Unused. These bits are always set to 0.
3This is a summary bit taken from the QUEStionable:POWer register. A 1 in this bit
position indicates that one of the following may have happened: The ALC (Automatic
Leveling Control) is unable to maintain a leveled RF output power (i.e., ALC is
UNLEVELED), or the reverse power protection circuit has been tripped.
4A 1 in this bit position indicates that the internal reference oscillator (reference oven)
is cold.
5This is a summary bit taken from the QUEStionable:FREQuency register. A 1 in this
bit position indicates that one of the following may have happened: synthesizer PPL
unlocked, 10 MHz reference VCO PPL unlocked, heterodyned VCO PPL unlocked, or
baseband PPL unlocked. See the Data Questionable Frequency Status Group for more
information.
6Unused. This bit is always set to 0.
7This is a summary bit taken from the QUEStionable:MODulation register. A 1 in this
bit position indicates that one of the following may have happened: modulation source
1 underrange, modulation source 1 overrange, modulation source 2 underrange, or
modulation source 2 overrange. See the Data Questionable Modulation Status Group
for more information.
Programming Guide1-55
Preparing for UseESG Family Signal Generators
Programming the Status Register System
BitDescription
8This is a summary bit taken from the QUEStionable:CALibration register. A 1 in this
bit position indicates that one of the following may have happened: an error has
occurred in the DCFM/DC
calibration. See the Data Questionable Calibration Status Group for more
information.
9A 1 in this bit position indicates that a self-test has failed during power-up. This bit
can only be cleared by cycling the instrument’s line power. *CLS will not clear this bit.
10, 11Unused. These bits are always set to 0.
12This is a summary bit taken from the QUEStionable:BERT register. A 1 in this bit
position indicates that one of the following may have happened: no clock, no data
change, or sync loss state for a bit error rate test (Option UN7 only). See the Data
Questionable Calibration Status Group for more information.
13, 14Unused. These bits are always set to 0.
15Always Zero (0).
ΦM zero calibration or an error has occurred in the I/Q
The Data Questionable Condition Register continuously monitors the hardware and
firmware status of the instrument. Condition registers are read-only. To query the
condition register, send the command STATus:QUEStionable:CONDition? The response
will be the decimal sum of the bits which are set to 1. For example, if bit number 9 and bit
number 3 are set to 1, the decimal sum of the 2 bits is 512 plus 8. So the decimal value 520
is returned.
The transition filter specifies which types of bit state changes in the condition register will
set corresponding bits in the event register. The changes may be positive (from 0 to 1) or
negative (from 1 to 0). Send the command STATus:QUEStionable:NTRansition <num>
(negative) or STATus:QUEStionable:PTRansition <num> (positive) where <num> is the
sum of the decimal values of the bits you want to enable.
The Data Questionable Event Register latches transition events from the condition
register as specified by the transition filters. Event registers are destructive read-only.
Reading data from an event register will clear the content of that register. To query the
event register, send the command STATus:QUEStionable[:EVENt]?
1-56Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
Figure 1-28.
The Data Questionable Status Group also contains a Data Questionable Event Enable
Register. This register lets you choose which bits in the Data Questionable Event Register
will set the summary bit (bit 3 of the Status Byte Register) to 1. Send the
STATus:QUEStionable:ENABle <num> command where <num> is the sum of the decimal
values of the bits you want to enable. For example, to enable bit 9 and bit 3 so that
whenever either of those bits is set to 1, the Data Questionable Status summary bit of the
Status Byte Register will be set to 1, send the command STAT:QUES:ENAB 520 (512 + 8).
The command STATus:QUEStionable:ENABle? returns the decimal value of the sum of
the bits previously enabled with the STATus:QUEStionable:ENABle <num> command.
Programming Guide1-57
Preparing for UseESG Family Signal Generators
Programming the Status Register System
Data Questionable Power Status Group
Figure 1-29. The Data Questionable Power Status Group
The Data Questionable Power Status Group is used to determine the specific event that set
bit 3 in the Data Questionable Condition Register. The Data Questionable Power Status
Group consists of the Data Questionable Power Condition Register, the Data Questionable
Power Negative Transition Filter, the Data Questionable Power Positive Transition Filter,
the Data Questionable Power Event Register, and the Data Questionable Power Event
Enable Register. The Data Questionable Power Condition Register contains the following
bits:
1-58Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
Figure 1-30.
BitDescription
0A 1 in this bit indicates that the reverse power protection circuit has been tripped.
There is no output in this state. Any conditions that may have caused reverse power
should be corrected. After correcting the problem, the RPP circuit can be reset by
sending the remote SCPI command statement :O UTput:PR OTecti on:CLEar or by
pressing the
resets the reverse power protection circuit.
1A 1 in this bit indicates that the output leveling loop is unable to set the output power.
2
−14Unused. These bits are always set to 0.
15Always Zero (0).
Reset RPP softkey on the front panel. In 8648 mode, any SCPI command
The Data Questionable Power Condition Register continuously monitors output power
status of the instrument. Condition registers are read-only. To query the condition register,
send the command STATus:QUEStionable:POWer:CONDition? The response will be the
decimal sum of the bits which are set to 1.
The transition filter specifies which types of bit state changes in the condition register will
set corresponding bits in the event register. The changes may be positive (from 0 to 1) or
negative (from 1 to 0). Send the command STATus:QUEStionable:POWer:NTRansition
<num> (negative) or STATus:QUEStionable:POWer:PTRansition <num> (positive) where
<num> is the sum of the decimal values of the bits you want to enable.
Programming Guide1-59
Preparing for UseESG Family Signal Generators
Programming the Status Register System
The Data Questionable Power Event Register latches transition events from the condition
register as specified by the transition filters. Event registers are destructive read-only.
Reading data from an event register will clear the content of that register. To query the
event register, send the command STATus:QUEStionable:POWer[:EVENt]?
Figure 1-31.
The Data Questionable Power Status Group also contains a Data Questionable Power
Event Enable Register. This register lets you choose which bits in the Data Questionable
Power Event Register will set the summary bit (bit 3 of the Data Questionable Condition
Register) to 1. Send the STATus:QUEStionable:POWer:ENABle <num> command where
<num> is the sum of the decimal values of the bits you want to enable. For example, to
enable bit 9 and bit 3 so that whenever either of those bits is set to 1, the Data
Questionable Power summary bit of the Data Questionable Condition Register will be set
to 1, send the command STAT:QUES:POW:ENAB 520 (512 + 8). The command
STATus:QUEStionable:POWer:ENABle? returns the decimal value of the sum of the bits
previously enabled with the STATus:QUEStionable:POWer:ENABle <num> command.
1-60Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
Data Questionable Frequency Status Group
Figure 1-32. Data Questionable Frequency Status Group
The Data Questionable Frequency Status Group is used to determine the specific event
that set bit 5 in the Data Questionable Condition Register. The Data Questionable
Frequency Status Group consists of the Data Questionable Frequency Condition Register,
the Data Questionable Frequency Negative Transition Filter, the Data Questionable
Frequency Positive Transition Filter, the Data Questionable Frequency Event Register,
and the Data Questionable Frequency Event Enable Register. The Data Questionable
Frequency Condition Register contains the following bits:
Programming Guide1-61
Preparing for UseESG Family Signal Generators
Programming the Status Register System
Figure 1-33.
BitDescription
0A 1 in this bit indicates that the synthesizer is unlocked.
1A 1 in this bit indicates that the 10 MHz reference signal is unlocked.
2A 1 in this bit indicates that the 1 GHz reference signal is unlocked.
3A 1 in this bit indicates that the baseband data clock synthesizer is unlocked.
4A 1 in this bit indicates that the ARB is unlocked.
5A 1 in this bit indicates that the sampler loop is unlocked.
6A 1 in this bit indicates that the YO loop is unlocked.
7
−14Unused. These bits are always set to 0.
15Always Zero (0).
The Data Questionable Frequency Condition Register continuously monitors output
frequency status of the instrument. Condition registers are read-only. To query the
condition register, send the command STATus:QUEStionable:FREQuency:CONDition?
The response will be the decimal sum of the bits which are set to 1.
The transition filter specifies which types of bit state changes in the condition register will
set corresponding bits in the event register. The changes may be positive (from 0 to 1) or
negative (from 1 to 0). Send the command
STATus:QUEStionable:FREQuency:NTRansition <num> (negative) or
STATus:QUEStionable:FREQuency:PTRansition <num> (positive) where <num> is the
sum of the decimal values of the bits you want to enable.
1-62Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
The Data Questionable Frequency Event Register latches transition events from the
condition register as specified by the transition filters. Event registers are destructive
read-only. Reading data from an event register will clear the content of that register. To
query the event register, send the command STATus:QUEStionable:FREQuency[:EVENt]?
Figure 1-34.
The Data Questionable Frequency Status Group also contains a Data Questionable
Frequency Event Enable Register. This register lets you choose which bits in the Data
Questionable Frequency Event Register will set the summary bit (bit 5 of the Data
Questionable Condition Register) to 1. Send the
STATus:QUEStionable:FREQuency:ENABle <num> command where <num> is the sum of
the decimal values of the bits you want to enable. For example, to enable bit 9 and bit 3 so
that whenever either of those bits is set to 1, the Data Questionable Frequency summary
bit of the Data Questionable Condition Register will be set to 1, send the command
STAT:QUES:FREQ:ENAB 520 (512 + 8). The command
STATus:QUEStionable:FREQ:ENABle? returns the decimal value of the sum of the bits previously enabled with the STATus:QUEStionable:FREQuency:ENABle <num> command.
Programming Guide1-63
Preparing for UseESG Family Signal Generators
Programming the Status Register System
Data Questionable Modulation Status Group
Figure 1-35. Data Questionable Modulation Status Group
1-64Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
The Data Questionable Modulation Status Group is used to determine the specific event
that set bit 7 in the Data Questionable Condition Register. The Data Questionable
Modulation Status Group consists of the Data Questionable Modulation Condition
Register, the Data Questionable Modulation Negative Transition Filter, the Data
Questionable Modulation Positive Transition Filter, the Data Questionable Modulation
Event Register, and the Data Questionable Modulation Event Enable Register. The Data
Questionable Modulation Condition Register contains the following bits:
Figure 1-36.
BitDescription
0A 1 in this bit indicates that the External 1 input, AC coupling on, is less than
0.97 volts.
1A 1 in this bit indicates that the External 1 input, AC coupling on, is more than
1.03 volts.
2A 1 in this bit indicates that the External 2 input, AC coupling on, is less than
0.97 volts.
3A 1 in this bit indicates that the External 2 input, AC coupling on, is more than
1.03 volts.
4A 1 in this bit indicates that the modulated signal is not calibrated.
5
−14Unused. These bits are always set to 0.
15Always Zero (0).
The Data Questionable Modulation Condition Register continuously monitors the
modulation status of the instrument. Condition registers are read-only. To query the
condition register, send the command STATus:QUEStionable:MODulation:CONDition?
The response will be the decimal sum of the bits which are set to 1.
Programming Guide1-65
Preparing for UseESG Family Signal Generators
Programming the Status Register System
The transition filter specifies which types of bit state changes in the condition register will
set corresponding bits in the event register. The changes may be positive (from 0 to 1) or
negative (from 1 to 0). Send the command
STATus:QUEStionable:MODulation:NTRansition <num> (negative) or
STATus:QUEStionable:MODulation:PTRansition <num> (positive) where <num> is the
sum of the decimal values of the bits you want to enable.
The Data Questionable Modulation Event Register latches transition events from the
condition register as specified by the transition filters. Event registers are destructive
read-only. Reading data from an event register will clear the content of that register. To
query the event register, send the command
STATus:QUEStionable:MODulation[:EVENt]?
Figure 1-37.
The Data Questionable Modulation Status Group also contains a Data Questionable
Modulation Event Enable Register. This register lets you choose which bits in the Data
Questionable Modulation Event Register will set the summary bit (bit 7 of the Data
Questionable Condition Register) to 1. Send the
STATus:QUEStionable:MODulation:ENABle <num> command where <num> is the sum of
the decimal values of the bits you want to enable. For example, to enable bit 9 and bit 3 so
that whenever either of those bits is set to 1, the Data Questionable Modulation summary
bit of the Data Questionable Condition Register will be set to 1, send the command
STAT:QUES:MOD:ENAB 520 (512 + 8). The command
STATus:QUEStionable:MODulation:ENABle? returns the decimal value of the sum of the
bits previously enabled with the STATus:QUEStionable:MODulation:ENABle <num>
command.
1-66Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
Data Questionable Calibration Status Group
Figure 1-38. Data Questionable Calibration Status Group
Programming Guide1-67
Preparing for UseESG Family Signal Generators
Programming the Status Register System
The Data Questionable Calibration Status Group is used to determine the specific event
that set bit 8 in the Data Questionable Condition Register. The Data Questionable
Calibration Status Group consists of the Data Questionable Calibration Condition
Register, the Data Questionable Calibration Negative Transition Filter, the Data
Questionable Calibration Positive Transition Filter, the Data Questionable Calibration
Event Register, and the Data Questionable Calibration Event Enable Register. The Data
Questionable Calibration Condition Register contains the following bits:
Figure 1-39.
BitDescription
0A 1 in this bit indicates that the DCFM/DC
is a critical error. The output of the source has no validity until the condition of this bit
is 0.
1A 1 in this bit indicates that the I/Q calibration routine has failed. An I/Q calibration
failure does not affect the validity of the source output.
−14Unused. These bits are always set to 0.
2
15Always Zero (0).
ΦM zero calibration routine has failed. This
The Data Questionable Calibration Condition Register continuously monitors the
calibration status of the instrument. Condition registers are read-only. To query the
condition register, send the command STATus:QUEStionable:CALibration:CONDition?
The response will be the decimal sum of the bits which are set to 1.
The transition filter specifies which types of bit state changes in the condition register will
set corresponding bits in the event register. The changes may be positive (from 0 to 1) or
negative (from 1 to 0). Send the command
STATus:QUEStionable:CALibration:NTRansition <num> (negative) or
STATus:QUEStionable:CALibration:PTRansition <num> (positive) where <num> is the
sum of the decimal values of the bits you want to enable.
1-68Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
The Data Questionable Calibration Event Register latches transition events from the
condition register as specified by the transition filters. Event registers are destructive
read-only. Reading data from an event register will clear the content of that register.
To query the event register, send the command
STATus:QUEStionable:CALibration[:EVENt]?
Figure 1-40.
The Data Questionable Calibration Status Group also contains a Data Questionable
Calibration Event Enable Register. This register lets you choose which bits in the Data
Questionable Calibration Event Register will set the summary bit (bit 8 of the Data
Questionable Condition register) to 1. Send the
STATus:QUEStionable:CALibration:ENABle <num> command where <num> is the sum of
the decimal values of the bits you want to enable. For example, to enable bit 9 and bit 3 so
that whenever either of those bits is set to 1, the Data Questionable Calibration summary
bit of the Data Questionable Condition Register will be set to 1, send the command
STAT:QUES:CAL:ENAB 520 (512 + 8). The command
STATus:QUEStionable:CALIbration:ENABle? returns the decimal value of the sum of
the bits previously enabled with the STATus:QUEStionable:CALibration:ENABle <num>
command.
Programming Guide1-69
Preparing for UseESG Family Signal Generators
Programming the Status Register System
Data Questionable BERT Status Group
Figure 1-41. Data Questionable BERT Status Group
The Data Questionable BERT Status Group is used for Options UN7 and 300 only. If your
signal generator is not equipped with Options UN7 or 300, all of the bits in this group are
set to 0.
1-70Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Programming the Status Register System
The Data Questionable BERT Status Group is used to determine the specific event that set
bit 12 in the Data Questionable Condition Register. The Data Questionable BERT Status
Group consists of the Data Questionable BERT Condition Register, the Data Questionable
BERT Negative Transition Filter, the Data Questionable BERT Positive Transition Filter,
the Data Questionable BERT Event Register, and the Data Questionable BERT Event
Enable Register. The Data Questionable BERT Condition Register contains the following
bits:
Figure 1-42.
BitDescription
0A 1 in this bit indicates that a no clock signal has been input to the BER CLK IN
connector for more than three seconds during a bit error rate test.
1A 1 in this bit indicates that data signals input to the BER DATA IN connector have
not changed for a period of more than 200 clock signals during a bit error rate test.
2A 1 in this bit indicates that the synchronization of the incoming data to the BER
DATA IN connector for the bit error rate test has been lost.
3
−10Unused. These bits are always set to 0.
11A 1 in this bit indicates that either the downconvertor or demodulator is out of lock.
12A 1 in this bit indicates that the demodulator DSP amplitude is out of range.
13A 1 in this bit indicates that BCH or TCH synchronization is not established.
14A 1 in this bit indicates that a TCH midamble is not being received.
15Always Zero (0).
Programming Guide1-71
Preparing for UseESG Family Signal Generators
Programming the Status Register System
The Data Questionable BERT Condition Register continuously monitors the bit error rate
tests (BERT) status of the instrument with Options UN7 or 300. Condition registers are
read-only. To query the condition register, send the command
STATus:QUEStionable:BERT:CONDition? The response will be the decimal sum of the
bits which are set to 1.
The transition filter specifies which types of bit state changes in the condition register will
set corresponding bits in the event register. The changes may be positive (from 0 to 1) or
negative (from 1 to 0). Send the command STATus:QUEStionable:BERT:NTRansition
<num> (negative) or STATus:QUEStionable:BERT:PTRansition <num> (positive) where
<num> is the sum of the decimal values of the bits you want to enable.
The Data Questionable BERT Event Register latches transition events from the condition
register as specified by the transition filters. Event registers are destructive read-only.
Reading data from an event register will clear the content of that register. To query the
event register, send the command STATus:QUEStionable:BERT[:EVENt]?
Figure 1-43.
The Data Questionable BERT Status Group also contains a Data Questionable BERT
Event Enable Register. This register lets you choose which bits in the Data Questionable
BERT Event Register will set the summary bit (bit 8 of the Data Questionable Condition
register) to 1. Send the STATus:QUEStionable:BERT:ENABle <num> command where
<num> is the sum of the decimal values of the bits you want to enable. For example, to
enable bit 9 and bit 3 so whenever either of those bits is set to 1, the Data Questionable
BERT summary bit of the Data Questionable Condition Register will be set to 1, send the
command STAT:QUES:CAL:ENAB 520 (512 + 8). The command
STATus:QUEStionable:BERT:ENABle? returns the decimal value of the sum of the bits
previously enabled with the STATus:QUEStionable:BERT:ENABle <num> command.
1-72Programming Guide
ESG Family Signal GeneratorsPreparing for Use
Advanced Programming Information
Advanced Programming Information
This section provides advanced programming information for applications requiring
special techniques.
Sending BREAK Messages
A BREAK is a special character transmission that usually indicates a change in operating
conditions. Interpretation of break messages varies with the application. To send a break
message, send a non-zero value to Control Register 1 as follows (Sc is the interface select
code):
CONTROL Sc,1;1! Send a Break to peripheral.
Using the Modem Control Register
Control Register 5 controls various functions related to modem operation. Bits 0 through 3
control modem lines, and bit 4 enables a self-test loopback configuration.
Modem Handshake Lines (RTS and DTR)
The Request To Send and the Data Terminal Ready lines are set or cleared at the
beginning and end of each OUTPUT or ENTER operation. In some cases, it may be
advantageous or necessary to maintain either or both in an active state. This is done by
setting bit 1 or 0 respectively in Control Register 5 as follows:
CONTROL Sc,5;2! Set RTS line only and hold active.
CONTROL Sc,5;1! Set DTR line only and hold active.
CONTROL Sc,5;3! Set DTR line only and hold active.
CONTROL Sc,5;0! Set both RTS and DTR lines active.
When RTS or DTR are set by Control Register 5, they are not toggled during OUTPUT or
ENTER operations, but remain constantly in an active state until the CONTROL register
is cleared by:
• writing a different value to CONTROL register 5.
• an interface reset to CONTROL register 0.
• an interface reset (Reset) from the keyboard (Shift Break on an ITF keyboard, or SHIFT
PAUSE on a 98203 keyboard).
Programming Guide1-73
Preparing for UseESG Family Signal Generators
Advanced Programming Information
Programming the DRS Modem Line
Bit 2 of Control Register 5 controls the present state of the Data Rate Select (DRS). When
bit 2 is set, the modem line is activated. When bit 2 is cleared, the modem line is cleared.
To set the DRS line, the following statement or its equivalent can be used:
CONTROL Sc,5;4! Sets the DRS line.
This line is also cleared by a CONTROL statement to Control Register 5 with bit 2 cleared,
or by an interface reset.
1-74Programming Guide
ESG Family Signal Generators
2Programming Commands and
Examples
This chapter describes each of the SCPI commands alphabetically, by subsystem. The
descriptions include syntax requirements, ranges, restrictions, and status at *RST.
Several example programs are also provided to help you understand how the general SCPI
concepts presented in Chapter 1 apply to programming real measurements. Also included
is information on the creation, transfer, and application of user files.
Programming Guide2-1
Programming Commands and ExamplesESG Family Signal Generators
Command Syntax
Command Syntax
Following the heading for each programming command entry is a syntax statement
showing the proper syntax for the command. An example syntax statement is shown here:
POWer[:LEVel] MAXimum|MIN
Syntax statements read from left to right. In this example, the :LEVel portion of the
statement immediately follows the POWer portion of the statement with no separating
space. A separating space is legal only between the command and its argument. In this
example, the portion following the [:LEVel] portion of the statement is the argument.
Additional conventions used in the syntax statements are defined as follows:
• Italics are used to symbolize a program code parameter or query response.
• := means “is defined as.”
• | (vertical bar) indicates a choice of one element from a list. For example, <A>|<B>
indicates <A> or <B> but not both.
• [] (square brackets) indicate that the enclosed items are optional.
• Upper-case lettering indicates that the upper-case portion of the command is the
minimum required for the command. For example, in the command FREQuency, FREQ
is the minimum requirement.
• Lower-case lettering indicates that the lower-case portion of the command is optional; it
can either be included with the upper-case portion of the command or omitted. For
example, in the command FREQuency, either FREQ, or FREQUENCY is correct.
• ? after a subsystem command indicates that the command is a query.
2-2Programming Guide
ESG Family Signal GeneratorsProgramming Commands and Examples
IEEE 488.2 Common Commands
IEEE 488.2 Common Commands
Common commands are generally not measurement related, but are used to manage
macros, status registers, synchronization, and data storage. All common commands begin
with an asterisk. The common commands are defined by IEEE 488.2.
*CLS (Clear Status)
*CLS
This command clears the status byte, the data questionable event register, the standard
event status register, the standard operation status register and any other registers that
are summarized in the status byte.
*ESE (Standard Event Status Enable)
*ESE
This command sets the standard event status enable register.
*ESE?
This queries the status of the standard event status enable register.
*ESR? (Standard Event Status Register)
*ESR?
This queries the value of the standard event status register. This is a destructive read.
*IDN? (Identification)
*IDN?
This query outputs an identifying string to the GPIB. The response for the signal
generator will be a storing that shows the actual model number, serial number and
firmware revision will be substituted.
*OPC (Operation Complete)
*OPC
This command sets bit 0 in the standard event status register when all pending operations
have finished.
Programming Guide2-3
Programming Commands and ExamplesESG Family Signal Generators
IEEE 488.2 Common Commands
*OPC? (Operation Complete)
*OPC?
This queries bit 0 in the standard event status register. The signal generator will return an
ASCII ‘1’ when all pending operations have finished.
*RCL (Recall)
*RCL <reg>,<seq>
The *RCL <reg>, <seq> command recalls the instrument state from the specified memory
register <reg> of the specified sequence <seq>. The range of registers <reg> is 0 through 99
and the range of sequences <seq> is 0 through 9.
*RST (Reset)
*RST
This command resets the instrument to a factory pre-defined condition.
*SAV (Save)
*SAV <reg>,<seq>
The *SAV <reg>, <seq> command saves the instrument state to the specified memory
register <reg> of the specified sequence <seq>. The range of registers <reg> is 0 through 99
and the range of sequences <seq> is 0 through 9.
*SRE (Service Request Enable)
*SRE
This command sets the value of the service request enable register.
*SRE? (Service Request Enable Query)
*SRE?
This queries the value of the service request enable register.
*STB? (Read Status Byte)
*STB?
This queries the status byte. This is a non-destructive read.
2-4Programming Guide
ESG Family Signal GeneratorsProgramming Commands and Examples
IEEE 488.2 Common Commands
*TRG (Trigger)
*TRG
This command triggers the device if, and only if, Bus Triggering is the type of trigger event
selected. Otherwise, *TRG is ignored.
*TST? (Self-Test)
*TST?
This query returns the result of the power-up selftest:
• 0 - Passed (no tests failed and at least one test passed)
• 1 - Failed (one or more tests failed)
*WAI (Wait-to-continue)
*WAI
This command causes the instrument to wait until all pending commands are completed,
before executing any other commands.
Programming Guide2-5
Programming Commands and ExamplesESG Family Signal Generators
Subsystem Commands
Subsystem Commands
Subsystem commands include all measurement functions and some general purpose
functions. Subsystem commands are distinguished by the colon used between keywords, as
in AM:SOURce. Each subsystem is a set of commands that roughly corresponds to a
functional block of the instrument.
2-6Programming Guide
ESG Family Signal GeneratorsProgramming Commands and Examples
:AM Subsystem
:AM Subsystem
The amplitude modulation subsystem is used to set the modulation controls and the
parameters associated with amplitude modulated signals.
Amplitude Modulation Source
:AM[1]|2:SOURce INT[1]|EXT1|EXT2
:AM[1]|2:SOURce?
This command sets the source that will generate the amplitude modulation. The choices
are Internal Source 1, External Source 1, or External Source 2. You can choose
internally-generated amplitude modulation or select an externally-applied signal from
either the EXT 1 INPUT or EXT 2 INPUT connectors. The internal modulation is always
AC-coupled. For the externally-applied signals, you can choose between AC- and
DC-coupled modulation. A 1.0 V
EXT 1 LO/HI and EXT 2 LO/HI display annunciators will turn on if the peak input voltage
differs from 1.0 Vpk by more than 3%. (The LO/HI annunciators only function for
AC-coupled external inputs.)
input is required for calibrated AM depth settings. The
pk
The internal and external 1 and 2 sources have multiple uses. You can use them for
amplitude, frequency, and phase modulation. For burst modulation, you can only use the
external 1 source and you must use the external 2 source for pulse modulation. However,
any given source can only be routed to one enabled modulation at a time. If, for example,
you were using the external 1 source in a frequency modulation configuration for
FM Path 1, and then you configured AM Path 2 to also use the external 1 source, the signal
generator would turn off
FM Path 1 and assign the external 1 source to your AM Path 2
configuration. Notice that for these purposes the external 1 AC-coupled source is the same
as the external 1 DC-coupled source and the external 2 AC-coupled source is the same as
the external 2 DC-coupled source.
*RST Value: Internal
Amplitude Modulation State
:AM[1]|2:STATe ON|OFF|1|0
:AM[1]|2:STATe?
This command toggles the amplitude modulation on or off for whichever AM path
configuration (
Notice, however that although you can turn on amplitude modulation with this command,
the RF carrier is modulated by the enabled modulation only when you have also set
Mod On/Off to On. Whenever amplitude modulation is enabled, the AM annunciator is
turned on in the display.
AM Path 1 or AM Path 2) you have selected. The choices are On (1) or Off (0).
There are two paths for AM modulation which can be simultaneously enabled as long as
they use different sources (Int, Ext1, or Ext2).
1MHz.
AM Path 2 must be set to a deviation less than or equal to AM Path 1. The
AM Path 2 is limited to a maximum rate of
modulation signals from both paths are summed internally for composite modulation.
Programming Guide2-7
Programming Commands and ExamplesESG Family Signal Generators
:AM Subsystem
*RST Value: Off
Amplitude Modulation Depth
:AM[1]|2[:DEPTh] <val><unit>
:AM[1]|2[:DEPTh]?
This command sets the depth of amplitude modulation.
This command is used to set the amplitude modulation depth, in percent, for the
AM Path 2 configurations. The choices for the variables <val> and <unit> may range
and
AM P ath 1
from 0.1 PCT to 100 PCT. After executing the command, the current value for AM depth is
displayed in the active entry area. The minimum increment allowed is 0.1%. Notice that
the new value of AM depth applies only to whichever AM path configuration (
amplitude modulation depth values on both path 1 and path 2 to track each other. If the
AM depth coupling function is activated, changing the AM depth on path 1 will cause an
equal change in AM depth on path 2, and visa versa. The choices are On (1) or Off (0).
This command sets the external coupling for the amplitude modulation source, if External
was selected as the AM[1]|2:SOURCe. The choices are AC or DC coupling. This command
does not change the currently active source, nor does it switch the current modulation on
or off. The modulating signal may be the sum of several signals, either internal or external
sources. If the coupling is set to DC, then both the AC and DC signal components pass.
AC coupling passes only AC signal components.
The command :AM[1]|2:EXTernal[1]|2:COUPling AC lets you input an external,
AC-coupled, amplitude modulation signal to the EXT 1 INPUT connector. The modulation
signal is tested for voltage and a display annunciator will report a high or low condition if
the voltage is >
±3% of 1 Vpk.
The command :AM[1]|2:EXTernal[1]|2:COUPling DC lets you input an external,
DC-coupled, amplitude modulation signal to the EXT 1 INPUT connector.
The external 1 source has multiple uses but can be used for only one modulation at a time.
If, for example, you were using the external 1 source in a frequency modulation
configuration for
2-8Programming Guide
FM Path 1, and then you configured AM Path 2 to also use the external 1
ESG Family Signal GeneratorsProgramming Commands and Examples
:AM Subsystem
source, the signal generator would turn off FM Path 1 and assign the external 1 source to
This command sets the frequency for the alternate signal. The alternate frequency is the
second frequency of a dual-sine or the stop frequency of a swept-sine. The choices for the
variables <val> and <unit> range from 0.1 kHz (minimum) to 50.0 kHz (maximum).
*RST Value: 400.00 Hz
Internal Amplitude Modulation Alternate Frequency Amplitude
This command sets the amplitude of the alternate frequency as a percentage of the total
amplitude. Therefore, if the alternate frequency makes up 30% of the total amplitude, then
the primary frequency is 70% of the total amplitude (for dual-sine only). The choices for the
variables <val> and <unit> range from 0.1% (minimum) to 99.9% (maximum).
This command sets the rate of the internally-generated modulation source. The choices for
the variables <val> and <unit> range from 0.1 Hz (minimum) to 50 kHz (maximum) if the
internal waveform is Sine wave. For all other waveforms, the maximum internal amplitude
modulation rate is 10 kHz.
Use this command to change the internal modulation frequency for the
AM Path 2 configurations. The minimum increment allowed is 0.1 Hz. Notice that the new
value of AM rate applies only to whichever AM configuration (
have currently selected.
This command allows you to assign an AM waveform to your
AM Path 1 and AM Path 2
configurations. Select from sine, triangle, square, ramp, noise, dual sine, and swept sine
waveforms. Notice that your waveform selection applies only to whichever AM path
configuration you have currently selected.
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe SINE lets you specify sine as
the amplitude modulation waveform for the
AM Path 1 and AM Path 2 configurations. Notice
that the selected waveform applies only to whichever AM path configuration you have
currently selected.
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe TRIangle lets you specify
triangle as the amplitude modulation waveform for the
AM Path 1 and AM Path 2
configurations. Notice that the selected waveform applies only to whichever AM path
configuration you have currently selected.
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe SQUARe lets you specify
square as the amplitude modulation waveform for the
AM Path 1 and AM Path 2
configurations. Notice that the selected waveform applies only to whichever AM path
configuration you have currently selected.
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe RAMP lets you specify ramp
as the amplitude modulation waveform for the
AM Path 1 and AM Path 2 configurations.
Notice that the selected waveform applies only to whichever AM path configuration you
have currently selected.
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe NOISe lets you specify noise
as the amplitude modulation waveform for the
AM Path 1 and AM Path 2 configurations.
Notice that the selected waveform applies only to whichever AM path configuration you
have currently selected.
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe DUALsine allows you to set
the dual sine as the amplitude modulation waveform for the
AM Path 1 and AM Path 2
configurations. In this mode you can set the AM rates for two separate tones. In addition,
you can set a percentage of the tone 2 AM depth to the total AM depth.
2-10Programming Guide
ESG Family Signal GeneratorsProgramming Commands and Examples
:AM Subsystem
Using the command :AM[1]|2:INTernal[1]:FUNCtion:SHAPe SWEPtsine allows you to set
the swept-sine amplitude modulation waveform for the
AM Path 1 and AM Path 2
configurations. In this mode you can set the start and stop AM rate and the sweep time.
You can set the signal generator to a single, externally-triggered sweep on either a
negative or positive TTL level or you can choose continuous sweep, triggered immediately.
In this menu you can also select either a positive or negative polarity for the
TRIGGER OUT signal.
*RST Value: Sine
Wideband Amplitude Modulation State
:AM:WIDeband:STATe ON|OFF|1|0
:AM:WIDeband:STATe?
This command sets the operating state of the wideband amplitude modulation source. The
choices are On (1) or Off (0). AM wideband (ESG-D and ESG-DP Series) provides
bandwidth beyond the standard AM with fixed depth (100%). The modulation source is the
I input.
AM Path 1 and AM P ath 2 are summed internally for composite modulation. Either path can
be switched to any one of the modulation sources: Int, Ext1, or Ext2. All modulation types
can be simultaneously enabled, except FM with
wideband AM with I/Q. AM, FM, and
ΦM can sum simultaneous inputs from any two
sources (Int, Ext1, and Ext2). Any given source (Int, Ext1, or Ext2) can only be routed to
one activated modulation type.
ΦM, AM with burst envelope, and
The wideband AM selection (
AM Path WB) eliminates the bandwidth limitations of the ALC
loop thereby increasing the bandwidth beyond that of the standard amplitude modulation.
Typical rates for wideband AM are listed in the technical specifications document. When
you select
input. The sensitivity is 0.5 V = 100% AM depth. With
AM Path WB in the AM menu, you must apply your modulating signal to the I
AM Path WB selected, the modulated
RF signal will be available at the RF OUTPUT connector when you turn on both
Mod On/Off and RF On/Off.
*RST Value: Off
Programming Guide2-11
Programming Commands and ExamplesESG Family Signal Generators
:CALibration Subsystem
:CALibration Subsystem
The calibration subsystem is used to set the controls and the parameters associated with
instrument calibration.
DCFM/DCΦM Calibration
:CALibration:DCFM
There is no query for this command.
This command initiates a DCFM or DC
modulation is currently active) and stores the results in the instrument’s firmware. This
calibration eliminates the offset in phase (or frequency, as appropriate) modulation so that
the carrier phase (or frequency) remains the same with no modulation applied. An external
DC-coupled phase (or frequency) modulation must be active when the calibration is
performed. After calibration, the DC signal produces no modulation.
There are no initial values associated with this command.
ΦM calibration (depending on which kind of
Default I/Q Calibration
:CALibration:IQ:DEFault
The is no query for this command.
This command will restore the original factory calibration data for the internal I/Q
modulator. The latest calibration data from the user calibration is discarded. Although the
factory calibration data may not be optimized for the signal generator’s present status, the
data can be used as a starting point if the current data is lost (if the I/Q calibration is
unable to execute).
There are no initial values associated with this command.
Full I/Q Calibration
:CALibration:IQ:FULL
There is no query for this command.
This command sets and performs a full-frequency range (regardless of the start and stop
frequency settings) I/Q calibration and stores the results in the instrument’s firmware.
There are no initial values associated with this command.
2-12Programming Guide
ESG Family Signal GeneratorsProgramming Commands and Examples
:CALibration Subsystem
I/Q Calibration
:CALibration:IQ
There is no query for this command.
This command sets and performs an I/Q calibration and stores the results in the
instrument’s firmware.
There are no initial values associated with this command.
This command sets the start frequency for an I/Q calibration. The choices for the variables
<val> and <units> range between 250 kHz and the highest specified operating frequency
of your source.
I/Q Calibration Start Frequency is a persistent state; it is not affected by an instrument
preset or a power cycle. The ESG is initially shipped from the factory with this parameter
set to 100 kHz.
This command sets the stop frequency used for an I/Q calibration. The choices for the
variables <val> and <units> range between 250 kHz and the highest specified operating
frequency of your source.
I/Q Calibration Stop Frequency is a persistent state; it is not affected by an instrument
preset or a power cycle. The ESG is initially shipped from the factory with this parameter
set to the maximum specified frequency.
Programming Guide2-13
Programming Commands and ExamplesESG Family Signal Generators
:COMMunicate Subsystem
:COMMunicate Subsystem
The communicate subsystem is used to set the controls and the parameters associated
with serial system communication.
This command sets the baud rate for the rear panel RS-232 interface (labeled AUXILIARY
INTERFACE). The baud rate must be set to 19200 if an optional remote interface box is
connected. The choices for the variable are 300, 1200, 2400, 4800, 9600, 19200, 38400.
This is a persistent state set to 19200 at the factory.
RS-232 Reset
:SYSTem:COMMunicate:SERial:RESet
There is no query for this command.
This command resets the RS-232 buffer. This will discard any unprocessed SCPI input
received via the RS-232 port.
There are no initial values associated with this command.
This command controls the state of the RS-232 RTS line. The choices are ON, OFF, RFR,
and IBFull.
Use ON for connecting the optional remote interface box. The instrument ignores the state
of the CTS line.
Use OFF for a three-wire remote connection. With this setting, the instrument ignores the
state of the CTS line. This setting is not compatible with the optional remote interface box.
Use IBFull or its alias RFR to turn on handshaking. Do not use these settings without a
properly configured remote connection that uses hardwire handshaking.
2-14Programming Guide
ESG Family Signal GeneratorsProgramming Commands and Examples
:COMMunicate Subsystem
• With IBFull or RFR, when the receive buffer of the instrument is near overflow, the
RTS line is turned off.
• With RFR or IBFull, the instrument monitors the state of the CTS line, and if it goes
false discontinues transmitting over RS-232. This setting is not compatible with the
optional remote interface box.
This is a persistent state set to ON at the factory.
This command sets the value for the RS-232 serial port timeout. If further input is not
received within the assigned timeout period while a SCPI command is being processed,
then the command is aborted and the input buffer is cleared.
This is a persistent state set to 60 seconds at the factory.
Use this command to select either an internally-generated or an externally-supplied burst
source. For an externally-supplied burst source, apply the in-phase and quadrature-phase
signals to the I INPUT and Q INPUT connectors. The signal level is = 0.5 V
22
I+Q
rms
.
*RST Value: External
Digital Modulation Source
:DM:SOURce EXTernal|INTernal[1]
:DM:SOURce?
Use this command to change the I/Q source to externally supplied I and Q signals. Apply
the in-phase and quadrature-phase signals to the I INPUT and Q INPUT connectors. The
signal level is = 0.5 V
22
I+Q
. If you do not have Option UN8, this is the only I/Q source
rms
and it cannot be changed. If you have Option UN8, the I/Q source can also be set to an
internal I/Q source.
*RST Value: External
Digital Modulation Mode State
:DM:STATe ON|OFF|1|0
:DM:STATe?
This command enables/disables the I/Q modulation. The choices are On (1) or Off (0).
Notice, however, that although you can enable I/Q modulation with this command, the RF
carrier is modulated only when you have the modulation activated. Whenever I/Q
modulation is enabled, the I/Q annunciator is turned on in the display.
*RST Value: Off
Programming Guide2-19
Programming Commands and ExamplesESG Family Signal Generators
:DM and :BURSt Subsystems (ESG-D and ESG-DP Series)
This command is used to toggle between ALC normal and narrow bandwidth modes. The
choices are Normal or Narrow. You can choose to set the signal generator to narrow
bandwidth mode if you have switched on I/Q modulation, are using an external I/Q source,
and the ALC circuit is set to on. Setting the external ALC bandwidth to narrow limits the
bandwidth to 100 Hz, which can improve EVM. Narrow bandwidth mode may, however,
also slow the settling time for frequency changes as much as 40 ms. Defaults are Normal if
IQ modulation is off, Narrow if EXT IQ or HIGH BW AM is on.
This command is used to change operating conditions to accommodate IQ inputs with high
crest factor. Maximum output level is reduced and power level accuracy is degraded. IQ
drive levels should be reduced, dB per dB, for crest factors greater than 4 dB.
This command is used to set the I channel offset, in percent of full scale. 100% offset is
equivalent to 500 mV at the input connector. Choices for the variables <val> and <unit>
range from
When using this command to minimize the LO feedthough signal, optimum performance is
achieved when the command is sent after all other I/Q path commands are executed, such
as those that change the internal phase polarity or adjust the modulator attenuator. If
other adjustments are made after minimizing is performed, the LO feedthrough signal
may increase.
This command sets the polarity of the I/Q modulation signal. The choices are Normal or
Inverted. In the inverted mode the input applied to the I INPUT connector is physically
routed to the Q input port of the internal I/Q modulator. In addition, the input applied to
the Q INPUT connector is physically routed to the I input port of the internal I/Q
modulator. This inverts the direction of phase rotation of the I/Q modulation. If you have
enabled a digital modulation mode (Option UN8 only), I/Q phase polarity will be
automatically set to normal. You can override this setting with this command.
This command is used to set the Q channel offset, in percent of full scale. 100% offset is
equivalent to 500 mV at the input connector. Choices for the variables <val> and <unit>
range from
This command is used to adjust the phase angle between the I and Q vectors. When the
quadrature skew is zero, the phase angle is 90 degrees. Positive skew increases the angle
from 90 degrees while negative skew decreases the angle from 90 degrees. The range of
values allowed is 10 degrees with a minimum increment of 0.1 degrees. However, if you’re
operating the signal generator in the 3.3 to 4 GHz frequency range, quadrature skew
settings greater than ±5 degrees will not be within specifications.
*RST Value: 0.0 degrees
Programming Guide2-21
Programming Commands and ExamplesESG Family Signal Generators
:FM Subsystem
:FM Subsystem
The frequency modulation subsystem is used to set the modulation controls and the
parameters associated with frequency modulated signals.
This command sets the external coupling for the frequency modulation source. The choices
are AC or DC coupling. This command does not change the currently active source, nor
does it switch the current modulation on or off. The modulating signal may be the sum of
several signals, either internal or external sources. If the coupling is set to DC, then both
the AC and DC signal components pass. AC coupling passes only AC signal components.
The external 1 source has multiple uses but can be used for only one modulation at a time.
If, for example, you were using the external 1 source in an amplitude modulation
configuration for
source, the signal generator would turn off
FM Path 2 configuration. Notice that for these purposes, the external 1 AC-coupled
your
source is the same as the external 1 DC-coupled source.
AM Path 1, and then you configured FM Path 2 to also use the external 1
Use this command to set the frequency modulation deviation for the
FM Path 2 configurations. The current value for FM deviation is displayed in the active
entry area. The range of values allowed depends on the carrier frequency. For the ESG-A
and ESG-D Series, the maximum peak deviation for a frequency is calculated by
multiplying N by 10 MHz. For the ESG-AP and ESG-DP Series, N is multiplied by 1 MHz.
(The following table lists the values for N and the resulting maximum peak deviations.)
Maximum Peak
Carrier FrequencyN
250 kHz to
> 249.999 MHz to
> 500 MHz to ≤ 1 GHz110 MHz1 MHz
> 1 GHz to
≤ 249.999 MHz110 MHz1 MHz
≤ 500 MHz0.55 MHz0.5 MHz
≤ 2 GHz220 MHz2 MHz
Deviation
(ESG-A & ESG-D)
FM Path 1 and
Maximum Peak
Deviation
(ESG-AP & ESG-DP)
> 2 GHz to 4 GHz440 MHz4 MHz
2-22Programming Guide
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.