Tektronix RSA3303A, RSA3308A Programmer Manual

Programmer Manual
RSA3303A & RSA3308A 3 GHz & 8 GHz Real-Time Spectrum Analyzers
071-1411-06
This document applies to firmware version 3.30 and above.
www.tektronix.com
Copyright © Tektronix. All rights reserved. Licensed software products are owned by Tektronix or its subsidiaries or suppliers, and are protected by national copyright laws and internati onal treaty provisions.
Tektronix products are covered by U.S. and foreign patents, issued and pending. Information in this publication supercedes that in all previously published material. Specifications and price change privileges reserved.
TEKTRONIX and TEK are registered trademarks of Tektronix, Inc.
Contacting Tektronix
Tektronix, Inc. 14200 SW Karl Braun Drive P.O. Box 500 Beaverton, OR 97077 USA
For product information, sales, service, and technical support:
H In North America, call 1-800-833-9200. H Worldwide, visit www.tektronix.com to find contacts in your area.

Table of Contents

Getting Started
Syntax and Commands
Preface ix...................................................
Related Manual ix..................................................
Difference between RSA3303A and RSA3308A ix........................
Notice for Trigger Function x........................................
Overview of the Manual 1--2...........................................
Connecting the Interface 1--4..........................................
Using the GPIB Port 1--5..............................................
Setting the GPIB Parameters from the Front Panel 1--6......................
Using TekVISA 1--8..................................................
Command Syntax 2--1.........................................
Backus-Naur Form Definition 2--1......................................
SCPI Commands and Queries 2--2......................................
IEEE 488.2 Common Commands 2--10...................................
Constructed Mnemonics 2--10...........................................
Command Groups 2--11.........................................
Functional Groups 2--12...............................................
IEEE Common Commands 2--13........................................
:ABORt Commands 2--13..............................................
:CALCulate Commands 2--14...........................................
:CALibration Commands 2--15..........................................
:CONFigure Commands 2--15...........................................
:DISPlay Commands 2--16.............................................
:FETCh Commands 2--23..............................................
:FORMat Commands 2--24.............................................
:HCOPy Commands 2--25..............................................
:INITiate Commands 2--25.............................................
:INPut Commands 2--25...............................................
:INSTrument Commands 2--26..........................................
:MMEMory Commands 2--26...........................................
:PROGram Commands 2--27............................................
:READ Commands 2--27...............................................
:SENSe Commands 2--28..............................................
:STATus Commands 2--35..............................................
:SYSTem Commands 2-- 35.............................................
:TRACe Commands 2--36..............................................
:TRIGger Commands 2--36.............................................
:UNIT Commands 2--37...............................................
RSA3303A & RSA3308A Programmer Manual
i
Table of Contents
IEEE Common Commands 2--39.................................
:ABORt Commands 2--49........................................
:CALCulate Commands 2--51....................................
:CALibration Commands 2--67...................................
:CONFigure Commands 2--75....................................
:DISPlay Commands 2--89.......................................
:FETCh Commands 2--245.......................................
:FORMat Commands 2--295......................................
:HCOPy Commands 2--297.......................................
:INITiate Commands 2--301.......................................
:INPut Commands 2--305.........................................
:INSTrument Commands 2--311...................................
:MMEMory Commands 2--315....................................
:PROGram Commands 2--325.....................................
:READ Commands 2--331........................................
:SENSe Commands 2--371........................................
:STATus Commands 2--529.......................................
:SYSTem Commands 2--537.......................................
:TRACe Commands 2--545.......................................
:TRIGger Commands 2--551......................................
:UNIT Commands 2--567.........................................
Retrieving Response Message 2--569................................
Status and Events
ii
Status and Event Reporting System 3--1..................................
Registers 3--5.......................................................
Status Registers 3--5..................................................
Enable Registers 3--9.................................................
Transition Registers 3--11..............................................
Queues 3--12........................................................
Status and Event Processing Sequence 3--13...............................
Synchronizing Execution 3--14..........................................
Error Messages and Codes 3--17..................................
Command Errors 3--18.................................................
Execution Errors 3--20.................................................
Device Specific Errors 3--22............................................
Query Errors 3--22....................................................
RSA3303A & RSA3308A Programmer Manual
Programming Examples
Appendices
Glossary and Index
Table of Contents
General Programming Procedure 4-- 2....................................
Application Program Sample 4--3.......................................
Macro Program Execution Sample 4--15..................................
Appendix A: Character Charts A--1..............................
Appendix B: GPIB Interface Specification B--1.....................
Interface Functions B--1...............................................
Interface Messages B--3...............................................
Appendix C: Factory Initialization S ettings C--1....................
Appendix D: Setting Range D--1.................................
Display Format and Scale D--1..........................................
RBW D--4..........................................................
Appendix E: SCPI Conformance Information E--1..................
RSA3303A & RSA3308A Programmer Manual
iii
Table of Contents
List of Figures
Figure 1-- 1: Command parts 1 --2.................................
Figure 1--2: Functional groupings and an alphabetical list of
commands 1--2............................................
Figure 1--3: Event-driven program 1--3...........................
Figure 1--4: Sample program (Visual C++ source code) 1--3..........
Figure 1--5: GPIB connector (rear panel) 1--4......................
Figure 1--6: GPIB connection 1--5................................
Figure 1--7: Typical GPIB network configurations 1--5..............
Figure 1--8: Remote Setup menu 1--6.............................
Figure 1--9: Setting the GPIB parameters 1--7......................
Figure 2--1: Example of SCPI subsystem hierarchy tree 2--2..........
Figure 2--2: Example of abbreviating a command 2--6...............
Figure 2--3: Example of chaining commands and queries 2--7.........
Figure 2--4: Example of omitting root and lower-level nodes in a
chained message 2--7.......................................
Figure 2--5: View number assignments 2--51........................
Figure 2--6: Horizontal scale setting requirements 2--90...............
Figure 2--7: Horizontal scale setting requirements for spectrum
view 2--91..................................................
Figure 2--8: :DISPlay:CCDF command setting 2--92..................
Figure 2--9: :DISPlay:DDEMod command setting 2--100...............
Figure 2--10: :DISPlay:OVIew command setting 2--128................
Figure 2--11: :DISPlay:PULSe:SPECtrum command setting 2--150......
Figure 2--12: :DISPlay:SPECtrum command setting 2--186.............
Figure 2--13: :DISPlay:TFRequency command setting 2--229...........
Figure 2--14: View display formats 2--239............................
Figure 2--15: :DISPlay:WAVeform command setting 2--240.............
Figure 2-- 16: Setting up the ACPR measurement 2--374................
Figure 2--17: Defining the analysis range 2--377......................
Figure 2-- 18: Setting up the channel power measurement 2--393.........
Figure 2--19: Setting up the C/N measurement 2--396..................
Figure 2--20: Defining the analysis range 2--406......................
Figure 2--21: Setting up the EBW measurement 2--425................
Figure 2-- 22: Setting frequency and span 2--427......................
Figure 2--23: Setting up the OBW measurement 2--437................
iv
RSA3303A & RSA3308A Programmer Manual
Table of Contents
Figure 2--24: Setting up the spurious signal measurement 2--496........
Figure 2--25: Defining the analysis range 2--524......................
Figure 2--26: Trigger mask setting example 2--555....................
Figure 2--27: Retrieving response message 2--569.....................
Figure 3--1: Status/Event reporting mechanism 3--2.................
Figure 3--2: The Status Byte Register (SBR) 3--6....................
Figure 3--3: The Standard Event Status Register (SESR) 3--7.........
Figure 3--4: The Operation Condition Register (OCR) 3--8...........
Figure 3--5: The Event Status Enable Register (ESER) 3-- 9...........
Figure 3--6: The Service Request Enable Register (SRER) 3--10........
Figure 3--7: Operation Enable Register (OENR) 3--10................
Figure 3--8: Operation Transition Register (OTR) 3--11...............
Figure 3-- 9: Status and event processing sequence 3--13...............
Figure 4--1: Saving the macro programs 4--15.......................
RSA3303A & RSA3308A Programmer Manual
v
Table of Contents
List of Tables
Table 2--1: BNF symbols and meanings 2--1.......................
Table 2--2: Query response examples 2-- 3.........................
Table 2--3: Parameter types used in syntax descriptions 2-- 4.........
Table 2--4: Available units 2--8..................................
Table 2--5: Available SI prefixes 2--8.............................
Table 2--6: Constructed mnemonics 2--10..........................
Table 2-- 7: Measurement mode 2-- 11..............................
Table 2--8: List of command groups 2--12..........................
Table 2--9: IEEE common commands 2--13.........................
Table 2--10: :ABORt commands 2--13.............................
Table 2--11: :CALCulate commands 2--14..........................
Table 2--12: :CALibration commands 2--15........................
Table 2--13: :CONFigure commands 2--15..........................
Table 2--14: :DISPlay commands 2--16............................
Table 2--15: :FETCh commands 2--23.............................
Table 2--16: :FORMat commands 2--24............................
Table 2--17: :HCOPy commands 2--25.............................
Table 2--18: :INITiate commands 2--25............................
Table 2-- 19: :INPut commands 2--25..............................
Table 2-- 20: :INSTrument commands 2--26.........................
Table 2--21: :MMEMory commands 2--26..........................
Table 2--22: :PROGram commands 2--27..........................
Table 2--23: :READ commands 2--27..............................
Table 2--24: :SENSe commands 2--28..............................
Table 2--25: :STATus commands 2--35.............................
Table 2--26: :SYSTem commands 2--35............................
Table 2--27: :TRACe commands 2--36.............................
Table 2--28: :TRIGger commands 2--36............................
Table 2--29: :UNIT commands 2--37...............................
Table 2-- 30: :DISPlay command subgroups 2--89....................
Table 2--31: Main view display formats 2-- 103.......................
Table 2--32: Subview display formats 2--117.........................
Table 2--33: Subview display format 2--146..........................
Table 2--34: Subview display formats 2--170.........................
Table 2--35: Subview display formats in the signal source analysis 2--206.
vi
RSA3303A & RSA3308A Programmer Manual
Table of Contents
Table 2--36: Queried information on the digital modulation analysis
results 2--254................................................
Table 2--37: Queried information 2--261............................
Table 2--38: RFID measurement selections 2--268.....................
Table 2--39: Symbol valu e definition 2--272..........................
Table 2--40: Signal source analysis 2--283...........................
Table 2-- 41: Input attenuation settings 2--306........................
Table 2--42: Mixer level settings 2--309.............................
Table 2--43: Refer e nce level range 2--310............................
Table 2-- 44: Measurement mode 2--312.............................
Table 2--45: Queried information on the digital modulation analysis
results 2--340................................................
Table 2--46: Signal source analysis 2--364...........................
Table 2-- 47: :SENSe command subgroups 2--371.....................
Table 2--48: Measurement item selections 2--382.....................
Table 2--49: Block size setting range 2--387..........................
Table 2--50: Modulation selections 2--413...........................
Table 2--51: Communication standard selections 2--422...............
Table 2-- 52: Measurement frequency bands 2--428....................
Table 2-- 53: Span setting 2--434...................................
Table 2--54: RFID measurement items 2--457........................
Table 2--55: Decoding format 2--463................................
Table 2--56: Modulation format 2--464..............................
Table 2--57: RFID demodulation standard 2--468.....................
Table 2--58: FFT windows 2--489..................................
Table 2--59: S/A mode measurement items 2--491.....................
Table 2--60: Analysis length setting range 2--511.....................
Table 2--61: SSOurce measurement items 2--512.....................
Table 2-- 62: Bin number setting range 2--554........................
Table 3--1: SBR bit functions 3--6................................
Table 3--2: SESR bit functions 3--7...............................
Table 3--3: OCR bit functions 3 --8...............................
Table 3--4: Command errors 3--18................................
Table 3--5: Execution errors 3--20.................................
Table 3--6: Device specific errors 3--22.............................
Table 3--7: Query errors 3--22....................................
Table A--1: ASCII & GPIB code chart A--2.........................
RSA3303A & RSA3308A Programmer Manual
vii
Table of Contents
Table B--1: GPIB interface function implementation B--1............
Table B--2: Standard interface messages B --3......................
Table C--1: Factory initialization settings — IEEE common
commands C--1............................................
Table C--2: Factory initialization settings — :CALibration
commands C--1............................................
Table C--3: Factory initialization settings — :DISPlay commands C--1.
Table C--4: Factory initialization settings — :FORMat commands C--3
Table C--5: Factory initialization settings — :INITiate commands C--4.
Table C--6: Factory initialization settings — :INPut commands C--4...
Table C--7: Factory initialization settings — :SENSe commands C--4..
Table C--8: Factory initialization settings — :STA Tus commands C--10.
Table C--9: Factory initialization settings — :TRACe commands C--10..
Table C--10: Factory initialization settings — :TRIGger commands C--10
Table C--11: Factory initialization settings — :UNIT commands C--11..
Table D--1: Display format and scale D--1.........................
Table D--2: Display format and scale: RFID Measurements
(Option 21) D--2...........................................
Table D--3: Display format and scale: Signal source analysis
(Option 21) D--3...........................................
Table D --4: RBW setting range D--4..............................
Table E--1: SCPI 1999.0-defined commands E--1...................
viii
RSA3303A & RSA3308A Programmer Manual

Preface

This programmer manual is for the RSA3303A and RSA3308A Real-Time Spectrum Analyzers. It provides information on operating your analyzer using the General Purpose Interface Bus (GPIB).
This manual is composed of the following sections:
H Getting Started outlines how to use the GPIB interface.
H Syntax and Commands defines the syntax used in command descriptions,
presents a list of all command subsystems, and presents detailed descriptions of all programming commands.
H Status and Events describes how the status and Events Reporting system
operates and presents a list of all system errors.
H Programming Examples describes some example analyzer programs.
H Appendices provides additional information including character charts, GPIB
interface specification, and factory initialization settings.

Related Manual

RSA3303A and RSA3308A User Manual
(Standard accessory; Tektronix part number 071-1409-XX) Describes how to install the analyzer and how to work with the menus and details the functions.

Difference between RSA3303A and RSA3308A

RSA3303A and RSA3308A have the same functions except for their measure­ment frequency ranges:
RSA3303A DC to 3 GHz........
RSA3308A DC to 8 GHz........
Unless otherwise noted, descriptions in this manual apply to both.
RSA3303A & RSA3308A Programmer Manual
ix
Preface

Notice for Trigger Function

The trigger functions vary according to the product serial numbers due to the different hardware as follows (the serial number is labeled on the bottom-right corner of the rear panel):
H S/N B020000 and above
H S/N below B020000 and J300100 and above
In this manual, descriptions of the trigger commands are marked with the appropriate serial number if necessary.
x
RSA3303A & RSA3308A Programmer Manual
Getting Started

Getting Started

You can write computer programs that remotely set the analyzer front panel controls or that take measurements and read those measurements for further analysis or storage.
To help you get started with programming the analyzer, this section includes the following sections:
H Overview of the Manual
Summarizes the t ype of programming information contained in each major section of this manual.
H Connecting the Interface
Describes how to physically connect the analyzer to a controller.
H Using GPIB Ports
Describes how to use the GPIB port.
H Setting the GPIB Parameters from the Front Panel
Describes how to set the GPIB parameters from the front panel.
H Using TekVISA
Describes how to use the TekVISA communication protocol.
RSA3303A & RSA3308A Programmer Manual
1- 1
Getting Started

Overview of the Manual

The information contained in each major section of this manual is described below.
Syntax and Commands
:CALCulate Commands
:TRIGger
:ABORt Commands
IEEE Common Commands
*CAL? *CLS *ESE *ESR *IDN? *OPC
Section 2, Syntax and Commands, describes the structure and content of the messages your program sends to the analyzer. Figure 1--1 shows command parts as described in the Command Syntax subsection.
Command parts
Header
Comma
:MMEMory:COPY FILE1,FILE2
Mnemonics
Figure 1- 1: Command parts
Section 2 also describes the effect of each command and provides examples of how you might use it. The Command Groups section provides lists by functional areas. The IEEE Common Commands and the subsequent sections arrange commands alphabetically (Figure 1--2).
ArgumentsSpace
:CALCulate:MARKer:X
:CALCulate:MARKer:AOFF
S
A
E
:CALCulate:DLINe
S
A
Syntax:...
Arguments:
E
Examples:...
Commands grouped in functional areas Commands listed alphabetically
Figure 1- 2: Functional groupings and an alphabetical list of commands
1- 2
RSA3303A & RSA3308A Programmer Manual
Getting Started
Status and Events
The program may request information from the analyzer. The analyzer provides information in the form of status and error messages. Figure 1--3 illustrates the basic operation of this system.
Section 3, Status and Events, describes how to get status or event information from the program and details the event and error messages.
Your program requests
status and event reports.
Controller
The analyzer sends status and event reports.
RSA3303A/RSA3308A
GPIB cable
Figure 1- 3: Event-driven program
Programming Examples
Section 4, Programming Examples, includes Visual C++ source code as well as sample programs for running macro programs.
GpibWrite("INSTrument 'SANORMAL'"); GpibWrite("*RST"); GpibTimeOut(NORMAL_TIME); GpibWrite("CONFigure:SPECtrum:CHPower"); GpibWrite("FREQuency:BAND RF1B"); GpibWrite("FREQuency:CENTer 1GHz"); GpibWrite("FREQuency:SPAN 1MHz"); GpibWrite("*CAL?"); GpibRead(readBuf, MAX_BUF); printf("*CAL? result = %s\n", readBuf); GpibWrite("CHPower:BANDwidth:INTegration 300kHz"); GpibWrite("SPECtrum:AVERage ON");
Figure 1- 4: Sample program (Visual C++ source code)
RSA3303A & RSA3308A Programmer Manual
1- 3
Getting Started

Connecting the Interface

The analyzer has a 24-pin GPIB connector on its rear panel, as shown in Figure 1--5. This connector has a D-type shell and conforms to IEEE Std
488.1--1987.
Attach an IEEE Std 488.1-1987 GPIB cable (Tektronix part number 012-0991-00) to this connector.
GPIB connector
1- 4
Figure 1- 5: GPIB connector (rear panel)
Appendix B: GPIB Interface Specifications gives more information on the GPIB configuration of the analyzer.
For the other interfaces, refer to the RSA3303A and RSA3308A User Manual.
RSA3303A & RSA3308A Programmer Manual

Using the GPIB Port

Getting Started
The analyzer has Talker/Listener functions through which it can communicate with other devices, as well as the external controller, located on the bus.
GPIB
Controller Using the analyzer as a talker or listener
Figure 1- 6: GPIB connection
GPIB Requirements
Observe these rules when you use your analyzer with a GPIB network:
H Assign a unique device address to each device on the bus. No two devices
can share the same device address.
H Do not connect more than 15 devices to any one bus.
H Connect one device for every 2 meters (6 feet) of cable used.
H Do not use m ore than 20 meters (65 feet) of cable to connect devices to a
bus.
H Turn on at least two-thirds of the devices on the network while using the
network.
H Connect the devices on the network in a star or linear configuration as shown
in Figure 1--7. Do not use loop or parallel configurations.
GPIB Device
GPIB Device
GPIB Device
GPIB Device
GPIB Device
GPIB Device
Figure 1- 7: Typical GPIB network configurations
RSA3303A & RSA3308A Programmer Manual
GPIB Device
1- 5
Getting Started

Setting the GPIB Parameters from the Front Panel

Use the SYSTEM Remote Setup menu to set the GPIB parameters as required for the bus configuration. Once you have set the parameters, you can control the analyzer through the GPIB interface.
Display Brightness Reset All to Factory Defaults Remote Setup... Version and Installed Options... Instrument Setup...
Remote Interface GPIB Setup... Ethernet Setup...
Off/On
GPIB Address Connection Mode...
GPIB Port Tek VISA
Figure 1- 8: Remote Setup menu
Remote Setup Menu
The Remote Setup menu contains the following controls:
Remote Interface. Turns on or off the connection between the analyzer and the interface bus.
GPIB Setup... Sets the GPIB address and connection mode.
GPIB Address. Sets the GPIB address of the analyzer when GPIB Port is selected as the Connection Mode. Range: 0 to 30 (default: 1)
Connection Mode. Selects the physical GPIB port or the virtual (TekVISA) connection method.
H GPIB Port. Default. Uses the IEEE488.2 connector on the rear panel of the
analyzer to communicate with an external controller. Refer to the next section Setting up the GPIB port for the procedure.
H TekV I SA. Uses TekVISA to communicate with test instrumentation through
Ethernet (LAN connector on the side panel of the analyzer), and also to run a control program locally on the analyzer. Refer to Using TekVISA on page 1--8 for more information.
1- 6
RSA3303A & RSA3308A Programmer Manual
Getting Started
Ethernet Setup... Not available currently. Use the Windows XP Control Panel to set up networking parameters.
Setting Up the GPIB Port
When you use the GPIB port, follow these steps to set the parameters:
1. Press the SYSTEM key in the UTILITY block on the front panel.
2. Press the side key Remote Setup...GPIB Setup...
Remote Setup menu
Remote Interface
Selects whether the connection between the analyzer and GPIB is turned on or off.
GPIB Setup...
Sets the GPIB parameters (GPIB address and connection mode).
Figure 1- 9: Setting the GPIB parameters
3. Press the Connection Mode... side key and select GPIB Port.
4. Press the GPIB Address side key and set the address using either the
general purpose knob or the numeric keypad.
NOTE. The GPIB address cannot be initialized with *RST command.
5. Press the Cancel--Back (top) side key and then the Remote Interface side key to select On.
To disconnect the analyzer from the bus:
H Press the Remote Interface side key to select Off.
When the analyzer is disconnected from the bus, all the communication processes with the controller are interrupted.
RSA3303A & RSA3308A Programmer Manual
1- 7
Getting Started

Using TekVISA

TekVISA is Tektronix implementation of VISA (Virtual Instrument Software Architecture), an industry-standard communication protocol. It allows you to write programs using the RSA3300A Series SCPI command set to control the instrument through interfaces besides the built-in IEEE 488.2 port. Programs are written to execute on the local or remote controller. The RSA3300A Series implementation of TekVISA includes a subset of the TekVISA functionality offered on Tektronix oscilloscopes. The Virtual GPIB (GPIB8), GPIB, and LAN (VXI-11 protocol) interfaces are supported, but not the ASRL interface.
NOTE. The details on TekVISA concepts and operations are explained in the
TekVISA Programmer Manual. Refer to Installing TekVISA described below for accessing the files.
Be aware of the following points:
H If TekVISA is not installed or has not been activated, and you select
TekVISA as the connection mode, the instrument still attempts to connect to TekVISA. This does not hang up the instrument, but the GPIB port i s taken off-line until you select GPIB Port as the connection mode again.
Installing TekVISA
H Applications which are designed to execute locally on the instrument need to
share the Windows processor with the measurement calculation s oftware of the analyzer. If the controller application is very compute-intensive, it will slow down the analyzer application significantly.
The TekVISA tools are not installed when you receive the instrument. Use the following procedure to install the tools.
To use TekVISA, these conditions must be satisfied:
H Windows XP is used as the instrument’s operating system.
Instruments using Windows 98SE must be upgraded to Windows XP for TekVISA to operate properly.
H A TekVISA-compatible version of the analyzer application is installed and
running on the instrument. Version must be greater than 3.00.000.
H TekVISA is installed on the instrument. Version 2.03 is recommended.
1- 8
RSA3303A & RSA3308A Programmer Manual
Getting Started
The TekVISA-related files are on the internal hard disk of the analyzer in these directories:
H C:\Tektronix\T ekVISA\installer contains the TekVISA installer.
H C:\Tektronix\TekVISA\manual contains the TekVISA Programmer Manual.
Use the following steps to install the TekVISA tools on your analyzer:
NOTE. For details on accessing Window s XP on the analyzer, refer to the
RSA3303A and RSA3308A User Manual.
1. Connect a USB mouse and keyboard to the USB ports on the side panel of the analyzer.
2. Display the Windows XP desktop on the screen.
3. Find the setup.exe file in the C:\T ektronix\TekVISA\installer directory
using Windows Explorer or other file access methods.
4. Run setup.exe and follow the instructions.
The TekVISA Programmer Manual is found in the C:\Tektronix\TekVISA\manual directory.
RSA3303A & RSA3308A Programmer Manual
1- 9
Getting Started
1- 10
RSA3303A & RSA3308A Programmer Manual
Syntax and Commands

Command Syntax

This section contains information on the S t andard Commands for Programmable Instruments (SCPI) and IEEE 488.2 Common Commands you can use to program your RSA3303A/RSA3308A analyzer. The information is organized in the following subsections:
H Backus-Naur Form Definition
H SCPI C ommands and Queries
H IEEE 488.2 Common Commands
H Constructed Mnemonics

Backus-Naur Form Definition

This manual may describe commands and queries using the Backus-Naur Form (BNF) notation. Table 2--1 defines the standard BNF symbols:
Table 2- 1: BNF symbols and meanings
Symbol Meaning
<> Defined element
::= Is defined as
| Exclusive OR
{} Group; one element is required
[] Optional; can be omitted
... Previous element(s) may be repeated
() Comment
RSA3303A & RSA3308A Programmer Manual
2- 1
Command Syntax

SCPI Commands and Queries

SCPI is a standard created by a consortium that provides guidelines for remote programming of instruments. These guidelines provide a consistent program­ming environment for instrument control and data transfer. This environment uses defined programming messages, instrument responses, and data format across all SCPI instruments, regardless of manufacturer. The analyzer uses a command language based on the SCPI standard.
The SCPI language is based on a hierarchical or tree structure (see Figure 2--1) that represents a subsystem. The top level of the tree is the root node; it is followed by one or more lower-level nodes.
TRIGger
SEQuence
POLarity
SOURceLEVel
Root node
Lower-level nodes
Figure 2- 1: Example of SCPI subsystem hierarchy tree
You can create commands and queries from these subsystem hierarchy trees. Commands specify actions for the instrument to perform. Queries return measurement data and information about parameter settings.
2- 2
RSA3303A & RSA3308A Programmer Manual
Command Syntax
Creating Commands
Creating Queries
Query Responses
SCPI commands are created by stringing together the nodes of a subsystem hierarchy and separating each node by a colon.
In Figure 2--1, TRIGger is the root node and SEQuence, LEVel, POLarity, and SOURce are lower-level nodes. To create a SCPI command, start with the root node TRIGger and move down the tree structure adding nodes until you reach the end of a branch. Most commands and some queries have parameters; you must include a value for these parameters. If you specify a parameter value that is out of range, the parameter will be set to a default value. The command descriptions, which start on page 2--39, list the valid values for all parameters.
For example, TRIGger:SEQuence:SOURce EXT is a valid SCPI command created from the hierarchy tree in Figure 2--1.
To create a query, start at the root node of a tree structure, move down to the end of a branch, and add a question mark. TRIGger:SEQuence:SOURce? is an example of a valid SCPI query using the hierarchy tree in Figure 2 -- 1.
The query causes the analyzer to return information about its status or settings. When a query is sent to the analyzer, only the values are returned. When the returned value is a mnemonic, it is noted in abbreviated format, as shown in Table 2--2.
Table 2- 2: Query response examples
Query Response
:DISPlay:OVIew:SGRam:X:SPAN? 10.0E+6
:SENSe:AVERage:TYPE? RMS
A few queries also initiate an operation action before returning information. For example, the *CAL? query runs a calibration.
RSA3303A & RSA3308A Programmer Manual
2- 3
Command Syntax
Parameter Types
Every parameter in the command and query descriptions is of a specified type. The parameters are enclosed in brackets, such as <value>. The parameter type is listed after the parameter and is enclosed in parentheses, for example, (discrete). Some parameter types are defined specifically for the RSA3300 S eries command set and some are defined by ANSI/IEEE 488.2-1987 (refer to Table 2--3).
Table 2- 3: Parameter types used in syntax descr iptions
Parameter type Description Example
arbitrary block
boolean Boolean numbers or values ON or 1; OFF or 0
discrete A list of specific values MIN, MAX, UP, DOWN
binary Binary numbers #B0110
octal Octal numbers #Q57, #Q3
hexadecimal
2,3
NR1
1
A specified length of arbitrary data #512234xxxxx . . .
where 5 indicates that the follow­ing 5 digits (12234) specify the length of the data in bytes; xxxxx ... indicates the data
2
Hexadecimal numbers
#HAA, #H1
(0--9, A, B, C, D, E, F)
numeric Integers 0, 1, 15, --1
NR22numeric Decimal numbers 1.2, 3.141516, --6.5
NR32numeric Floating point numbers 3.1415E--9, --16.1E5
NRf2numeric Flexible decimal number that may
be type NR1, NR2 or NR3
4
string
Alphanumeric characters
See NR1, NR2, and NR3 exam­ples
“Testing 1, 2, 3”
(must be within quotation marks)
1
Defined in ANSI/IEEE 488.2 as “Definite Length Arbitrary Block Response Data.”
2
An ANSI/IEEE 488.2- 1992-defined parameter type.
3
Some commands and queries will accept an octal or hexadecimal value even though the parameter type is defined as NR1.
4
Defined in ANSI/IEEE 488.2 as “String Response Data.”
2- 4
RSA3303A & RSA3308A Programmer Manual
+ 646 hidden pages