Tektronix AFG31252, AFG31021, AFG31022, AFG31051, AFG31052 Programmer Manual

...
x

AFG31000 Series Arbitrary Function Generator Programmer's Manual

ZZZ
*P077148803*
077-148-803
AFG31000 Series Arbitrary Function Generator
Programmer's Manual
tek.com
*P077148803*
077148803
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 international treaty provisions.
Tektronix products are covered by U.S. and foreign patents, issued and pending. Information in this publication supersedes that in all previously published material. Specifications and price change privileges reserved.
TEKTRONIX and TEK are registered trademarks of Tektronix, Inc.
Contacting Tektronix, Inc.
Tektronix, Inc. 14150 SW Karl Braun Drive P.O. Box 500 Beaverton, OR 97077 USA
For product information, sales, service, and technical support:
- In North America, call 1-800-833-9200.
- Worldwide, visit tek.com to find contacts in your area.
Warranty
Tektronix warrants that the product will be free from defects in materials and workmanship for a period of three (3) years from the date of original purchase from an authorized Tektronix distributor. If the product proves defective during this warranty period, Tektronix, at its option, either will repair the defective product without charge for parts and labor, or will provide a replacement in exchange for the defective product. Batteries are excluded from this warranty. Parts, modules and replacement products used by Tektronix for warranty work may be new or reconditioned to like new performance. All replaced parts, modules and products become the property of Tektronix.
In order to obtain service under this warranty, Customer must notify Tektronix of the defect before the expiration of the warranty period and make suitable arrangements for the performance of service. Customer shall be responsible for packaging and shipping the defective product to the service center designated by Tektronix, shipping charges prepaid, and with a copy of customer proof of purchase. Tektronix shall pay for the return of the product to Customer if the shipment is to a location within the country in which the Tektronix service center is located. Customer shall be responsible for paying all shipping charges, duties, taxes, and any other charges for products returned to any other locations.
This warranty shall not apply to any defect, failure or damage caused by improper use or improper or inadequate maintenance and care. Tektronix shall not be obligated to furnish service under this warranty a) to repair damage resulting from attempts by personnel other than Tektronix representatives to install, repair or service the product; b) to repair damage resulting from improper use or connection to incompatible equipment; c) to repair any damage or malfunction caused by the use of non-Tektronix supplies; or d) to service a product that has been modified or integrated with other products when the effect of such modification or integration increases the time or difficulty of servicing the product.
THIS WARRANTY IS GIVEN BY TEKTRONIX WITH RESPECT TO THE PRODUCT IN LIEU OF ANY OTHER WARRANTIES, EXPRESS OR IMPLIED. TEKTRONIX AND ITS VENDORS DISCLAIM ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
TEKTRONIX' RESPONSIBILITY TO REPAIR OR REPLACE DEFECTIVE PRODUCTS IS THE SOLE AND EXCLUSIVE REMEDY PROVIDED TO THE CUSTOMER FOR BREACH OF THIS WARRANTY. TEKTRONIX AND ITS VENDORS WILL NOT BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES IRRESPECTIVE OF WHETHER TEKTRONIX OR THE VENDOR HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.
[W16 – 15AUG04]
AFG31000 Series Arbitrary Function Generator Programmer's Manual v
Important safety information .................................................................................................. xi

Table of Contents

Important safety information ................................................................................................................ xi
General safety summary ...................................................................................................................... xi
To avoid fire or personal injury ................................................................................................................... xi
Terms in this manual .......................................................................................................................... xiii
Service safety summary ..................................................................................................................... xiii
Symbols and terms on the product .................................................................................................... xiv
Introduction ............................................................................................................................... 1
Getting started ....................................................................................................................................... 1
Extended warranty ................................................................................................................................ 1
General model information .................................................................................................................... 1
Manual overview ................................................................................................................................... 2
Contact information ............................................................................................................................... 2
Using the GPIB port .............................................................................................................................. 2
GPIB requirements ...................................................................................................................................... 3
Setting the GPIB address...................................................................................................................... 4
Using Virtual Instrument Software Architecture .................................................................................... 4
Installation ................................................................................................................................................... 5
Syntax and commands ............................................................................................................. 7
Syntax and commands.......................................................................................................................... 7
Command syntax .................................................................................................................................. 7
Backus-Naur form definition ........................................................................................................................ 7
Command and query structure .................................................................................................................... 8
Command message elements ..................................................................................................................... 9
SCPI commands and queries.................................................................................................................... 10
IEEE 488.2 common commands ............................................................................................................... 15
Command groups ................................................................................................................................ 16
Calibration and diagnostic commands ...................................................................................................... 16
Display commands .................................................................................................................................... 16
Mass memory commands ......................................................................................................................... 17
Memory commands ................................................................................................................................... 18
Output commands ..................................................................................................................................... 18
Source commands .................................................................................................................................... 19
Status commands ..................................................................................................................................... 21
System commands .................................................................................................................................... 22
Synchronization commands ...................................................................................................................... 22
Trace commands ...................................................................................................................................... 22
Trigger commands .................................................................................................................................... 23
Table of Contents
vi AFG31000 Series Arbitrary Function Generator Programmer's Manual
AFG control command .............................................................................................................................. 23
Screen copy command ............................................................................................................................. 23
License commands ................................................................................................................................... 24
Sequence commands ............................................................................................................................... 25
Waveform list commands .......................................................................................................................... 25
Sequence control group commands .......................................................................................................... 26
InstaView commands ................................................................................................................................ 26
Command descriptions .......................................................................................................... 27
Command descriptions ....................................................................................................................... 27
Manual conventions .................................................................................................................................. 27
ABORt (no query form) ............................................................................................................................. 27
AFGControl:CSCopy (no query form) ....................................................................................................... 28
*CAL? (query only) .................................................................................................................................... 29
CALibration[:ALL] ................................................................................................................................ ...... 30
*CLS (no query form) ................................................................................................................................ 31
DIAGnostic[:ALL] ....................................................................................................................................... 31
DISPlay:BRIGhtness ................................................................................................................................. 32
DISPlay:SAVer:IMMediate (no query form) ............................................................................................... 32
DISPlay:SAVer[:STATe] ............................................................................................................................ 33
DISPlay[:WINDow]:TEXT[:DATA] ............................................................................................................. 33
DISPlay[:WINDow]:TEXT:CLEar (no query form) ..................................................................................... 34
*ESE ......................................................................................................................................................... 35
*ESR? (query only) ................................................................................................................................... 36
HCOPy:SDUMp[:IMMediate] (no query form) ........................................................................................... 36
*IDN? (query only) ..................................................................................................................................... 37
INSTaview[1|2]:MEASUrement:DELay ..................................................................................................... 37
INSTaview[1|2]:MEASUrement:MAXimum (query only) ................................ ................................ ............ 38
INSTaview[1|2]:MEASUrement:MINimum (query only) ............................................................................. 38
INSTaview[1|2]:STATe ................................ ................................ .............................................................. 39
LICense:HID? (query only) ........................................................................................................................ 39
LICense: INSTall (no query form) .............................................................................................................. 40
LICense: UNINstall? .................................................................................................................................. 40
LICense:LIST? (query only) ...................................................................................................................... 41
LICense:ERRor? (query only) ................................................................................................................... 41
LICense: GMT? (query only) ..................................................................................................................... 42
LICense: IDN? (query only) ....................................................................................................................... 42
LICense: COUNT? (query only) ................................................................................................................ 43
LICense: ITEM? (query only) .................................................................................................................... 44
LICense: VALidate? (query only) .............................................................................................................. 45
MEMory:STATe:DELete (no query form) .................................................................................................. 45
MEMory:STATe:LOCK .............................................................................................................................. 46
MEMory:STATe:RECall:AUTo .................................................................................................................. 47
MEMory:STATe:VALid? (query only) ........................................................................................................ 48
MMEMory:CATalog? (query only) ............................................................................................................. 49
MMEMory:CDIRectory .............................................................................................................................. 50
MMEMory:DELete (no query form) ........................................................................................................... 50
MMEMory:LOAD:STATe (no query form) ................................................................................................. 51
MMEMory:LOAD:TRACe (no query form) ................................................................................................. 52
MMEMory:LOCK[:STATe] ......................................................................................................................... 53
MMEMory:MDIRectory (no query form) .................................................................................................... 53
MMEMory:STORe:STATe (no query form) ............................................................................................... 54
MMEMory:STORe:TRACe (no query form) ............................................................................................... 55
MMEMory:OPEN:SEQuence (no query form) ........................................................................................... 56
MMEMory:SAVE:SEQuence (no query form)............................................................................................ 57
*OPC ......................................................................................................................................................... 58
*OPT? (query only) ................................................................................................................................... 58
OUTPut[1|2]:IMPedance ........................................................................................................................... 59
OUTPut[1|2]:POLarity ............................................................................................................................... 60
OUTPut[1|2][:STATe] ................................................................................................................................ 61
Table of Contents
AFG31000 Series Arbitrary Function Generator Programmer's Manual vii
OUTPut:TRIGger:MODE ........................................................................................................................... 62
*PSC ......................................................................................................................................................... 63
*RCL (no query form) ................................................................................................................................ 64
RECALL:SETUp (no query form) .............................................................................................................. 64
*RST (no query form) ................................................................................................................................ 65
*SAV (no query form) ................................................................................................................................ 65
SAVe:SETUp (no query form) ................................................................................................................... 66
SEQControl:RMODe ................................................................................................................................. 67
SEQControl:RUN[:IMMediate] (no query form) ......................................................................................... 68
SEQControl:STOP[:IMMediate] (no query form) ....................................................................................... 68
SEQControl:RESET[:IMMediate] (no query form) ..................................................................................... 69
SEQControl:STATe ................................................................................................................................... 69
SEQControl:RSTATe? (query only) .......................................................................................................... 70
SEQControl:SRATe .................................................................................................................................. 70
SEQControl:DELay ................................................................................................................................... 71
SEQControl:SOURce[n]:SCALe ................................................................................................................ 72
SEQControl:SOURce[n]:OFFSet .............................................................................................................. 73
SEQControl:TIMer ..................................................................................................................................... 74
SEQuence:ELEM[n]:GOTO:INDex ............................................................................................................ 75
SEQuence:ELEM[n]:GOTO:STATe .......................................................................................................... 76
SEQuence:ELEM[n]:MARKer:STATe ....................................................................................................... 77
SEQuence:ELEM[n]:JTARget:INDex ........................................................................................................ 78
SEQuence:ELEM[n]:JTARget:TYPE ......................................................................................................... 79
SEQuence:ELEM[n]:JUMP:EVENt ............................................................................................................ 80
SEQuence:ELEM[n]:JUMP:SLOPe ........................................................................................................... 81
SEQuence:ELEM[n]:LOOP:COUNt ........................................................................................................... 82
SEQuence:ELEM[n]:LOOP:INFinite .......................................................................................................... 83
SEQuence:ELEM[n]:TWAit[:STATe] ......................................................................................................... 84
SEQuence:ELEM[n]:TWAit:EVENt ............................................................................................................ 85
SEQuence:ELEM[n]:TWAit:SLOPe ........................................................................................................... 86
SEQuence:ELEM[n]:WAVeform[m] ........................................................................................................... 87
SEQuence:LENGth ................................................................................................................................... 88
SEQuence:NEW (No Query Form) ........................................................................................................... 88
[SOURce[1|2]]:AM[:DEPTh] ...................................................................................................................... 89
[SOURce[1|2]]:AM:INTernal:FREQuency.................................................................................................. 90
[SOURce[1|2]]:AM:INTernal:FUNCtion ..................................................................................................... 91
[SOURce[1|2]]:AM:INTernal:FUNCtion:EFILe ........................................................................................... 92
[SOURce[1|2]]:AM:SOURce ...................................................................................................................... 93
[SOURce[1|2]]:AM:STATe ......................................................................................................................... 94
[SOURce[1|2]:]BURSt:INFInite:REARm (no query form) .......................................................................... 94
[SOURce[1|2]:]BURSt:IDLE ...................................................................................................................... 95
[SOURce[1|2]]:BURSt:MODE ................................................................................................................... 96
[SOURce[1|2]]:BURSt:NCYCles ............................................................................................................... 97
[SOURce[1|2]]:BURSt[:STATe] ................................................................................................................. 98
[SOURce[1|2]]:BURSt:TDELay ................................................................................................................. 99
[SOURce[1|2]]:COMBine:FEED .............................................................................................................. 100
[SOURce[1|2]]:FM[:DEViation] ................................................................................................................ 101
[SOURce[1|2]]:FM:INTernal:FREQuency ................................................................................................ 102
[SOURce[1|2]]:FM:INTernal:FUNCtion .................................................................................................... 103
[SOURce[1|2]]:FM:INTernal:FUNCtion:EFILe ......................................................................................... 104
[SOURce[1|2]]:FM:SOURce .................................................................................................................... 104
[SOURce[1|2]]:FM:STATe ....................................................................................................................... 105
[SOURce[1|2]]:FREQuency:CENTer ....................................................................................................... 106
[SOURce[1|2]]:FREQuency:CONCurrent[:STATe] .................................................................................. 107
[SOURce[1|2]]:FREQuency[:CW|:FIXed] ................................................................................................ 108
[SOURce[1|2]]:FREQuency:MODE ......................................................................................................... 109
[SOURce[1|2]]:FREQuency:SPAN .......................................................................................................... 110
[SOURce[1|2]]:FREQuency:STARt ......................................................................................................... 111
[SOURce[1|2]]:FREQuency:STOP .......................................................................................................... 112
[SOURce[1|2]]:FSKey[:FREQuency] ....................................................................................................... 113
[SOURce[1|2]]:FSKey:INTernal:RATE .................................................................................................... 114
[SOURce[1|2]]:FSKey:SOURce .............................................................................................................. 115
Table of Contents
viii AFG31000 Series Arbitrary Function Generator Programmer's Manual
[SOURce[1|2]]:FSKey:STATe ................................................................................................................. 116
[SOURce[1|2]]:FUNCtion:EFILe .............................................................................................................. 117
[SOURce[1|2]]:FUNCtion:RAMP:SYMMetry ........................................................................................... 118
[SOURce[1|2]]:FUNCtion[:SHAPe] .......................................................................................................... 119
[SOURce[1|2]]:PHASe[:ADJust] .............................................................................................................. 120
[SOURce[1|2]]: PHASe:CONCurrent[:STATe] ........................................................................................ 121
[SOURce[1|2]]:PHASe:INITiate (no query form) ..................................................................................... 121
[SOURce[1|2]]:PM[:DEViation] ................................................................................................................ 122
[SOURce[1|2]]:PM:INTernal:FREQuency................................................................................................ 123
[SOURce[1|2]]:PM:INTernal:FUNCtion ................................................................................................... 124
[SOURce[1|2]]:PM:INTernal:FUNCtion:EFILe ......................................................................................... 125
[SOURce[1|2]]:PM:SOURce .................................................................................................................... 125
[SOURce[1|2]]:PM:STATe ....................................................................................................................... 126
[SOURce[1|2]]:PULSe:DCYCle ............................................................................................................... 127
[SOURce[1|2]]:PULSe:DELay ................................................................ ................................................. 128
[SOURce[1|2]]:PULSe:HOLD .................................................................................................................. 129
[SOURce[1|2]]:PULSe:PERiod ................................................................................................................ 130
[SOURce[1|2]]:PULSe:TRANsition[:LEADing] ......................................................................................... 131
[SOURce[1|2]]:PULSe:TRANsition:TRAiling ........................................................................................... 132
[SOURce[1|2]]:PULSe:WIDTh ................................................................................................................. 133
[SOURce[1|2]]:PWM:INTernal:FREQuency ............................................................................................ 134
[SOURce[1|2]]:PWM:INTernal:FUNCtion ................................................................................................ 135
[SOURce[1|2]]:PWM:INTernal:FUNCtion:EFILe ..................................................................................... 136
[SOURce[1|2]]:PWM:SOURce ................................................................................................................ 136
[SOURce[1|2]]:PWM:STATe ................................................................................................................... 137
[SOURce[1|2]]:RMODe? ......................................................................................................................... 137
[SOURce[1|2]]:PWM[:DEViation]:DCYCle ............................................................................................... 138
[SOURce]:ROSCillator:SOURce ............................................................................................................. 139
[SOURce[1|2]]:SWEep:HTIMe ................................................................................................................ 140
[SOURce[1|2]]:SWEep:MODE ................................................................................................................ 141
[SOURce[1|2]]:SWEep:RTIMe ................................................................................................................ 142
[SOURce[1|2]]:SWEep:SPACing ............................................................................................................ 143
[SOURce[1|2]]:SWEep:TIME .................................................................................................................. 144
[SOURce[1|2]]:VOLTage:CONCurrent[:STATe] ...................................................................................... 145
[SOURce[1|2]]:VOLTage[:LEVel][:IMMediate]:HIGH ............................................................................... 146
[SOURce[1|2]]:VOLTage[:LEVel][:IMMediate]:LOW ............................................................................... 147
[SOURce[1|2]]:VOLTage[:LEVel][:IMMediate]:OFFSet ........................................................................... 148
[SOURce[1|2]]:VOLTage[:LEVel][:IMMediate][:AMPLitude] .................................................................... 149
[SOURce[1|2]]:VOLTage:LIMit:HIGH ...................................................................................................... 150
[SOURce[1|2]]:VOLTage:LIMit:LOW ....................................................................................................... 151
[SOURce[1|2]]:VOLTage:UNIT ............................................................................................................... 152
SOURce<3|4>:POWer[:LEVel][:IMMediate][:AMPLitude]........................................................................ 153
*SRE ....................................................................................................................................................... 154
STATus:OPERation:CONDition? (query only) ........................................................................................ 155
STATus:OPERation:ENABle ................................................................................................................... 155
STATus:OPERation[:EVENt]? (query only) ............................................................................................. 156
STATus:PRESet (no query form) ............................................................................................................ 156
STATus:QUEStionable:CONDition? (query only) .................................................................................... 157
STATus:QUEStionable:ENABle .............................................................................................................. 157
STATus:QUEStionable[:EVENt]? (query only) ........................................................................................ 158
*STB? (query only) .................................................................................................................................. 158
SYSTem:BEEPer:STATe ........................................................................................................................ 159
SYSTem:ERRor[:NEXT]? (query only) .................................................................................................... 159
SYSTem:BEEPer[:IMMediate] (no query form) ....................................................................................... 160
SYSTem:KCLick[:STATe] ....................................................................................................................... 160
SYSTem:KLOCk[:STATe] ....................................................................................................................... 161
SYSTem:MACADDress?......................................................................................................................... 162
SYSTem:PASSword:CDISable (no query form) ...................................................................................... 163
SYSTem:PASSword[:CENable] (no query form) ..................................................................................... 164
SYSTem:PASSword[:CENable]:STATe? (query only) ............................................................................ 165
SYSTem:PASSword:NEW (no query form) ............................................................................................. 166
SYSTem:RESTart ................................ ................................ ................................................................ ... 166
Table of Contents
AFG31000 Series Arbitrary Function Generator Programmer's Manual ix
SYSTem:SECurity:IMMediate (no query form)........................................................................................ 167
SYSTem:ULANguage ............................................................................................................................. 167
SYSTem:VERSion? (query only) ............................................................................................................ 168
TRACe|DATA[:DATA] ............................................................................................................................. 168
*TRG (no query form) .............................................................................................................................. 169
TRIGger[:SEQuence]:SLOPe.................................................................................................................. 169
TRIGger[:SEQuence]:SOURce ............................................................................................................... 170
TRIGger[:SEQuence]:TIMer ................................................................ .................................................... 170
TRIGger[:SEQuence][:IMMediate] (no query form) ................................................................................. 171
*TST? (query only) .................................................................................................................................. 171
*WAI (no query form) .............................................................................................................................. 172
WLISt:NAME? (query only) ..................................................................................................................... 172
WLISt:SIZE? (query only)........................................................................................................................ 173
WLISt:WAVeform:DELete (no query form) .............................................................................................. 174
WLISt:WAVeform:IMPort (no query form) ............................................................................................... 175
WLISt:WAVeform:LENGth? (query only) ................................................................................................ 176
Status and events ................................................................................................................. 177
Status and events ............................................................................................................................. 177
Status reporting structure ........................................................................................................................ 177
Registers ................................................................................................................................................. 178
Queues ................................................................................................................................................... 184
Messages and codes .............................................................................................................................. 185
Programming examples ....................................................................................................... 193
Programming examples .................................................................................................................... 193
Example 1 ......................................................................................................................................... 194
Example 2 ......................................................................................................................................... 195
Default settings ..................................................................................................................... 196
AFG31000 Series Arbitrary Function Generator Programmer's Manual xi
Important safety information
This manual contains information and warnings that must be followed by the user for safe operation and to keep the product in a safe condition.
To safely perform service on this product, additional information is provided at the end of this section. See Service safety summary (on page xiii).

General safety summary

Use the product only as specified. Review the following safety precautions to avoid injury and prevent damage to this product or any products connected to it. Carefully read all instructions. Retain these instructions for future reference.
Comply with local and national safety codes. For correct and safe operation of the product, it is essential that you follow generally accepted safety
procedures in addition to the safety precautions specified in this manual. The product is designed to be used by trained personnel only.
Only qualified personnel who are aware of the hazards involved should remove the cover for repair, maintenance, or adjustment.
Before use, always check the product with a known source to be sure it is operating correctly. This product is not intended for detection of hazardous voltages.
Use personal protective equipment to prevent shock and arc blast injury where hazardous live conductors are exposed.
While using this product, you may need to access other parts of a larger system. Read the safety sections of the other component manuals for warnings and cautions related to operating the system.
When incorporating this equipment into a system, the safety of that system is the responsibility of the assembler of the system.

To avoid fire or personal injury

Use proper power cord. Use only the power cord specified for this product and certified for the
country of use. Do not use the provided power cord for other products. Use proper voltage setting. Before applying power, make sure that the line selector is in the proper
position for the source being used or make sure the line voltage is corrected based on the published specifications.
Ground the product. This product is grounded through the grounding conductor of the power cord. To avoid electric shock, the grounding conductor must be connected to earth ground. Before making connections to the input or output terminals of the product, make sure that the product is properly grounded.

Important safety information

Important safety information
xii AFG31000 Series Arbitrary Function Generator Programmer's Manual
Do not disable the power cord grounding connection. Power disconnect. The power cord disconnects the product from the power source. See instructions
for the location. Do not position the equipment so that it is difficult to operate the power cord; it must remain accessible to the user at all times to allow for quick disconnection if needed.
Connect and disconnect properly. Do not connect or disconnect instruments while they are connected to a voltage source.
Use only connectors and adapters supplied with the product, or indicated by Tektronix to be suitable for the product.
Observe all terminal ratings. To avoid fire or shock hazard, observe all ratings and markings on the product. Consult the product manual for further ratings information before making connections to the product. Do not exceed the Measurement Category (CAT) rating and voltage or current rating of the lowest rated individual component.
Do not apply a potential to any terminal, including the common terminal, that exceeds the maximum rating of that terminal.
Do not float the common terminal above the rated voltage for that terminal. Do not operate without covers. Do not operate this product with covers or panels removed, or with
the case open. Hazardous voltage exposure is possible. Avoid exposed circuitry. Do not touch exposed connections and components when power is
present. Do not operate with suspected failures. If you suspect that there is damage to this product, have it
inspected by qualified service personnel. Disable the product if it is damaged. Do not use the product if it is damaged or operates incorrectly. If in
doubt about safety of the product, turn it off and disconnect the power cord. Clearly mark the product to prevent its further operation.
Examine the exterior of the product before you use it. Look for cracks or missing pieces. Use only specified replacement parts.
Wear eye protection. Wear eye protection if exposure to high-intensity rays or laser radiation exists. Do not operate in wet/damp conditions. Be aware that condensation may occur if a unit is moved
from a cold to a warm environment.
Do not operate in an explosive atmosphere. Provide proper ventilation. Refer to the installation instructions in the manual for details on installing
the product so it has proper ventilation. Slots and openings are provided for ventilation and should never be covered or otherwise obstructed.
Do not push objects into any of the openings. Provide a safe working environment. Always place the product in a location convenient for viewing
the display and indicators.
Important safety information
AFG31000 Series Arbitrary Function Generator Programmer's Manual xiii
Avoid improper or prolonged use of keyboards, pointers, and button pads. Improper or prolonged keyboard or pointer use may result in serious injury.
Be sure your work area meets applicable ergonomic standards. Consult with an ergonomics professional to avoid stress injuries.
Use care when lifting and carrying the product. This product is provided with handles for lifting and carrying.
Use only the Tektronix rack-mount hardware specified for this product. Keep product surfaces clean and dry. Remove the input signals before you clean the product.
Inspect the instrument as often as operating conditions require. To clean the exterior surface, perform the following steps:
1. Remove loose dust on the outside of the instrument with a lint-free cloth. Use care to avoid scratching the clear glass display filter.
2. Use a soft cloth dampened with water to clean the instrument. Use an aqueous solution of 75% isopropyl alcohol for more efficient cleaning.
CAUTION. Avoid getting moisture inside the unit during external cleaning. Use only enough cleaning solution to dampen the cloth or swab. To avoid damage to the instrument, do not expose it to sprays, liquids, or solvents, and do not use any abrasive or chemical cleaning agents.

Terms in this manual

These terms may appear in this manual:
WARNING. Warning statements identify conditions or practices that could result in injury or loss of life.
CAUTION. Caution statements identify conditions or practices that could result in damage to this product or
other property.

Service safety summary

This section contains additional information required to safely perform service on the product. Only qualified personnel should perform service procedures. Read this Service safety summary and the General safety summary before performing any service procedures.
To avoid electric shock. Do not touch exposed connections. Do not service alone. Do not perform internal service or adjustments of this product unless another
person capable of rendering first aid and resuscitation is present.
Important safety information
xiv AFG31000 Series Arbitrary Function Generator Programmer's Manual
Disconnect power. To avoid electric shock, switch off the product power and disconnect the power cord from the mains power before removing any covers or panels, or opening the case for servicing.
Use care when servicing with power on. Dangerous voltages or currents may exist in this product. Disconnect power, remove battery (if applicable), and disconnect test leads before removing protective panels, soldering, or replacing components.
Verify safety after repair. Always recheck ground continuity and mains dielectric strength after performing a repair.

Symbols and terms on the product

These terms may appear on the product:
DANGER indicates an injury hazard immediately accessible as you read the marking. WARNING indicates an injury hazard not immediately accessible as you read the marking. CAUTION indicates a hazard to property including the product.
When this symbol is marked on the product, be sure to consult the manual to
find out the nature of the potential hazards and any actions which have to be taken to avoid them. (This symbol may also be used to refer the user to ratings in the manual.)
The following symbol(s) may appear on the product:
AFG31000 Series Arbitrary Function Generator Programmer's Manual 1

Getting started

Thank you for choosing a Tektronix product. The AFG31000 Series Arbitrary Function Generator (AFG) instruments are high-performance instruments with built-in waveform generation applications, real-time waveform monitoring called InstaViewTM, and an improved user interface for higher test efficiency.

Extended warranty

Additional years of warranty coverage are available on many products. These valuable contracts protect you from unbudgeted service expenses and provide additional years of protection at a fraction of the price of a repair. Extended warranties are available on new and existing products. Contact your local Tektronix office, sales partner, or distributor for details (refer to Contact information (on page 2) for details).

General model information

This manual provides operation information for the following products. Unless otherwise noted, "AFG31000 Series" refers to the models in the following table.
Table 1: AFG31000 models
Model
Bandwidth
Sample rate
Channel
Waveform memory size
Optional
AFG31021
25 MHz
250 MS/s
1
16 MS/CH
128 MS/CH
AFG31022
25 MHz
250 MS/s
2
16 MS/CH
128 MS/CH
AFG31051
50 MHz
1 GS/s
1
16 MS/CH
128 MS/CH
AFG31052
50 MHz
1 GS/s
2
16 MS/CH
128 MS/CH
AFG31101
100 MHz
1 GS/s
1
16 MS/CH
128 MS/CH
AFG31102
100 MHz
1 GS/s
2
16 MS/CH
128 MS/CH
AFG31151
150 MHz
2 GS/s
1
16 MS/CH
128 MS/CH
AFG31152
150 MHz
2 GS/s
2
16 MS/CH
128 MS/CH
AFG31251
250 MHz
2 GS/s
1
16 MS/CH
128 MS/CH
AFG31252
250 MHz
2 GS/s
2
16 MS/CH
128 MS/CH
Each AFG31000 Series provides a:
25 MHz to 250 MHz function signal generator 20 MHz to 160 MHz pulse generator
The AFG31000 Series also provides 14-bit vertical resolution.

Introduction

Introduction 2 AFG31000 Series Arbitrary Function Generator Programmer's Manual

Manual overview

This manual consists of the following sections:
Syntax and Commands: defines the command syntax and processing conventions, and
describes command notation.
Status and Events: explains the status information and event messages reported by the
instrument.
Programming examples: contains remote interface application programs to help you develop
programs for your application.
Supported SCPI commands: contains a list of commands and SCPI information.

Contact information

If you have any questions after you review the information in this documentation, please contact your local Tektronix office, sales partner, or distributor. You can also call the corporate headquarters of Tektronix in North America at 1-800-833-9200. Visit tek.com to find contacts in your area.

Using the GPIB port

The arbitrary function generator has Talk and Listen functions through which it can communicate with other devices, as well as the external controller, using a GPIB cable.
Figure 1: AFG31000 GPIB connection
Introduction AFG31000 Series Arbitrary Function Generator Programmer's Manual 3

GPIB requirements

Observe the following rules when you use your arbitrary function generator with a GPIB cable:
Assign a unique device address to each device that uses the GPIB cable (this is also known as
the bus). No two devices can share the same device address.
Do not connect more than 15 devices to any one bus. Connect one device for every 2 meters (6 feet) of cable used. Do not use more than 20 meters (65 feet) of cable to connect devices to a bus. Turn on at least two-thirds, or 67%, of the devices on the network while using the network. Connect the devices on the network in a star or linear configuration, as shown in the next figure.
Do not use parallel or loop configurations.
Figure 2: Typical GPIB network configuration
Introduction 4 AFG31000 Series Arbitrary Function Generator Programmer's Manual

Setting the GPIB address

When you use the GPIB port to communicate with an external controller, follow these steps to set the address of the arbitrary function generator.
To set the GPIB address:
1. Select Utility.
2. Select I/O Interface.
3. Select the GPIB Address text box.
4. Input the correct address and select Enter on the touchscreen keyboard.
NOTE. The GPIB address cannot be initialized by an *RST command.
Figure 3: Set the GPIB address

Using Virtual Instrument Software Architecture

TekVISA is Tektronix implementation of VISA (virtual instrument software architecture), an industry-standard communication protocol. VISA provides a common standard for software developers so that software from multiple vendors, such as instrument drivers, can run on the same platform. TekVISA is industry-compliant software, available with selected Tektronix instruments. You can use this software to write (or draw) interoperable instrument drivers in a variety of application development environments (ADEs). It implements a subset of Version 2.2 of the VISA specification for controlling GPIB and serial (RS-232) instrument interfaces locally or remotely via an Ethernet LAN connection.
Introduction AFG31000 Series Arbitrary Function Generator Programmer's Manual 5

Installation

Use an internet browser to access the Tektronix Web site (www.tektronix.com/downloads) and download the current TekVISA to your PC. Unzip the downloaded file in a temporary directory of your choice and run Setup.exe.
NOTE. The details about TekVISA concepts and operations are explained in the TekVISA Programmer Manual that can also be found on the Tektronix website. This manual describes TekVISA, the Tektronix
implementation of the VISA Application Programming Interface (API). TekVISA provides the interface-independent functionality needed to control and access the embedded software of Tektronix test and measurement equipment in following ways: Using virtual GPIB software running locally on Windows-based instruments using physical GPIB controller hardware using asynchronous serial controller hardware.
AFG31000 Series Arbitrary Function Generator Programmer's Manual 7
Syntax and commands
This section provides the following information:
Command Syntax (on page 7) defines the command syntax and processing conventions. Command Groups (on page 16) describes command groups which lists the commands by
function.
Command Descriptions (on page 27) describes the notation of each of the commands in
alphabetical order.

Command syntax

You can control the operations and functions of the AFG through the GPIB interface using commands and queries. The related topics listed below describe the syntax of these commands and queries. The topics also describe the conventions that the instrument uses to process them. See Command groups (on page 16) for a list of the commands by command group.

Backus-Naur form definition

This manual may describe commands and queries using the Backus-Naur Form (BNF) notation. The next table defines the standard BNF symbols.
Table 2: Table: BNF symbols and meanings
Symbol
Meaning
< >
Defined element
:=
Is defined as
l
Exclusive OR
{ }
Group; one element is required
[ ]
Optional; can be omitted
. . .
Previous elements may be repeated
( )
Comment

Syntax and commands

Syntax and commands 8 AFG31000 Series Arbitrary Function Generator Programmer's Manual

Command and query structure

Commands consist of set commands and query commands. Commands change instrument settings or perform a specific action. Queries cause the instrument to return data and information about its status.
Most commands have both a set form and a query form. If the set form parameter has a minimum and maximum, it will also support a query.
The query form of the command is the same as the set form except that it ends with a question mark. For example, the set command DISPlay:BRIGhtness has a query form DISPlay:BRIGhtness?. Not all commands have both a set and a query form; some commands are set only and some are query only.
A few commands do both a set and query action. For example, the *CAL? command runs a self-calibration program on the instrument, then returns the result of the calibration. A command message is a command or query name, followed by any information the instrument needs to execute the command or query. Command messages consist of five element types.
A command message is a command or query name, followed by any information the instrument needs to execute the command or query. Command messages consist of five element types.
Table 3: Commands, queries, and query response definitions
Commands:
Commands cause the instrument to perform a specific function or change one of its settings. Commands have the following structure:
[:]<Header>[<Space><Argument>[<Comma><Argument>]...]
Queries:
Queries cause the AFG to return information about its status or settings. Queries have the following structure:
[:]<Header>?
[:]<Header>?[<Space><Argument>[<Comma><Argument>]...]
You can specify a query command at any level within the command tree unless otherwise noted. These branch queries return information about all the mnemonics below the specified branch or level.
Query Responses:
When a query is sent to the AFG, only the values are returned. When the returned value is a mnemonic, it is noted in abbreviated format.
Syntax and commands AFG31000 Series Arbitrary Function Generator Programmer's Manual 9

Command message elements

Symbol
Meaning
<Header>
The basic command name. If the header ends with a question mark, the command is a query. The header may begin with a colon (:); if the command is concatenated with other commands the beginning colon is required. The beginning colon can never be used with command headers beginning with a star (*).
<Mnemonic>
A header subfunction. Some command headers have only one mnemonic. If a command header has multiple mnemonics, they are always separated from each other by a colon (:).
<Argument>
A quantity, quality, restriction, or limit associated with the header. Not all commands have an argument, while other commands have multiple arguments. Arguments are separated from the header by a <Comma>.
<Comma>
A single comma between arguments of multiple-argument commands. It may optionally have white space characters before and after the comma.
<Space>
A white space character between command header and argument. It may optionally consist of multiple white space characters.
The following figure shows the five command message elements.
Figure 4: Command message elements
Command entry
Follow these general rules when entering commands:
Enter commands in upper or lower case. You can precede any command with white space characters. White space characters include
any combination of the ASCII control characters 00 through 09 and 0B through 20 hexadecimal (0 through 9 and 11 through 32 decimal).
The instrument ignores commands that consists of just a combination of white space
characters and line feeds.
Syntax and commands 10 AFG31000 Series Arbitrary Function Generator Programmer's Manual

SCPI commands and queries

The AFG uses a command language based on the SCPI standard. The SCPI (Standard Commands for Programmable Instruments) standard was created by a consortium to provide guidelines for remote programming of instruments. These guidelines provide a consistent programming environment for instrument control and data transfer. This environment uses defined programming messages, instrument responses and data formats that operate across all SCPI instruments, regardless of manufacturer.
The SCPI language is based on a hierarchical or tree structure as shown in the next figure that represents a subsystem. The top level of the tree is the root node; it is followed by one or more lower-level nodes.
Example of SCPI subsystem hierarchy tree
Figure 5: SCPI command structure
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.
Creating commands
SCPI commands are created by stringing together the nodes of a subsystem hierarchy and separating each node by a colon.
In the previous figure, TRIGger is the root node and EVENt, GATed, INPut, 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, list the valid values for all parameters.
For example, TRIGger:EVENt:SOURce EXTernal is a valid SCPI command created from the hierarchy tree (see previous figure).
Creating queries
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:EVENt:SOURce? is an example of a valid SCPI query using the hierarchy tree in the next figure.
Syntax and commands AFG31000 Series Arbitrary Function Generator Programmer's Manual 11
Query responses
The query causes the AFG to return information about its status or settings. When a query is sent to the AFG, only the values are returned. When the returned value is a mnemonic, it is noted in abbreviated format, as shown in the next table.
Table 4: Query response examples
Symbol
Meaning
SOURce:PULSe:DCYcle?
50.0
OUTPut:POLarity?
NORM
Parameter types
Every parameter in the command and query descriptions is of a specified type. Parameters are indicated by angle brackets, such as <file_name>. There are several different types of parameters. The parameter type is listed after the parameter and is enclosed in parentheses, for example, (boolean). Some parameter types are defined specifically for the arbitrary or function generator command set and some are defined by SCPI.
Parameter types used in syntax descriptions
Parameter type
Description
Example
arbitrary block*
A specified length of arbitrary data
#512234xxxxx . . . where 5 indicates that the following 5 digits (12234) specify the length of the data in bytes; xxxxx ... indicates the data or #0xxxxx...<LF><&EOI>
boolean
Boolean numbers or values
ON or ≠ 0 OFF or 0
discrete
a LIST OF SPECIFIC VALUES
min, max
binary
Binary numbers
#B0110
octal
Octal numbers
#Q57, #Q3
hexadecimal**
Hexadecimal numbers (0-9, A, B, C, D, E, F)
#HAA, #H1 NR1** numeric
Integers
0, 1, 15, -1
NR2***, numeric
Decimal numbers
1.2, 3.141516, -6.5
NR3** numeric
Floating point numbers
3.1415E-9, -16.1E5
NRf** numeric
Flexible decimal number that may be type NR1, NR2 or NR3
See NR1, NR2, and NR3 examples
string****
Alphanumeric characters (must be within quotation marks)
"Testing 1, 2, 3"
*
Defined in ANSI/IEEE 488.2 as "Definite Length Arbitrary Block Response Data."
**
An ANSI/IEEE 488.2-1992-defined parameter type.
***
Some commands and queries will accept an octal or hexadecimal value even though the parameter type is
defined as NR1.
****
Defined in ANSI/IEEE 488.2 as "String Response Data."
Special characters
The Line Feed (LF) character (ASCII 10), and all characters in the range of ASCII 127-255 are defined as special characters. These characters are used in arbitrary block arguments only; using these characters in other parts of any command yields unpredictable results.
Syntax and commands 12 AFG31000 Series Arbitrary Function Generator Programmer's Manual
Abbreviating commands, queries, and parameters
You can abbreviate most SCPI commands, queries, and parameters to an accepted short form. This manual shows these short forms as a combination of upper and lower case letters. The upper case letters indicate the accepted short form of a command. As shown in the next figure, you can create a short form by using only the upper case letters. The accepted short form and the long form are equivalent and request the same action of the instrument.
Figure 6: Example of abbreviating a command
NOTE. The numeric suffix of a command or query may be included in either the long form or short form; the AFG will default to "1" if no suffix is used.
Chaining commands and queries
You can chain several commands or queries together into a single message. To create a chained message, first create a command or query, add a semicolon (;), and then add more commands or queries and semicolons until the message is complete. If the command following a semicolon is a root node, precede it with a colon (:). The next figure illustrates a chained message consisting of several commands and queries. The single chained message should end in a command or query, not a semicolon. Responses to any queries in your message are separated by semicolons.
Figure 7: Chaining commands and queries
Syntax and commands AFG31000 Series Arbitrary Function Generator Programmer's Manual 13
If a command or query has the same root and lower-level nodes as the previous command or query, you can omit these nodes. In the next figure, the second command has the same root node (TRIGger:SEQuence) as the first command, so these nodes can be omitted.
Figure 8: Example of omitting root and lower-level nodes in a chained message
Syntax and commands 14 AFG31000 Series Arbitrary Function Generator Programmer's Manual
Unit and SI prefix
If the decimal numeric argument refers to amplitude, frequency, or time, you can express it using the International System of Units (SI) instead of using the scaled explicit point input value format <NR3> (SI units are units that conform to the Systeme International d'Unites standard). For example, you can use the input format 200 mV or 1.0 MHz instead of 200.0E-3 or 1.0E+6, respectively, to specify voltage or frequency.
Table 5: Available units
Symbol
Meaning
dB
decibel (relative amplitude)
dBm
decibel (absolute amplitude)
DEG
degree (phase)
Hz
hertz (frequency)
PCT
percent (%)
s
second (time)
V
volt
Table 6: Available SI prefixes
SI prefix
Corresponding power
Z
10
-21
A
10
-18
F
10
-15
P
10
-12
N
10-9 U 10-6
M
10-3 K 10+3
MA1
10+6 G 10+9
T
10
+12
PE
10
+15
EX
10
+18
When the unit is "Hz", "M" may be used instead of "MA" so that the frequency can be represented by "MHz".
You can omit a unit in a command, but you must include the unit when using the SI prefix. For example, frequency of 15 MHz can be described as follows:
15.0E6, 1.5E7 Hz, 15000000, 15000000 Hz, 15MHz, etc. ("15 M" is not allowed.)
You can use either lower or upper case units and prefixes. The next examples have the same result, respectively.
170 mHz, 170 mHz, 170 MHz, etc. 250 mv, 250 mV, 250 MV, etc.
Syntax and commands AFG31000 Series Arbitrary Function Generator Programmer's Manual 15
General rules for using SCPI commands
Here are three general rules for using SCPI commands, queries, and parameters: You can use single (‘ ’) or double (“ ”) quotation marks for quoted strings, but you cannot use both types
of quotation marks for the same string.
correct - "This string uses quotation marks correctly." correct - ‘This string also uses quotation marks correctly.' incorrect - "This string does not use quotation marks correctly.'
You can use upper case, lower case, or a mixture of both cases for all commands, queries, and parameters.
:SOURCE:FREQUENCY 10MHZ
is the same as
:source:frequency 100mhz
and
SOURCE:frequency 10MHZ
NOTE. Literal strings (quoted) are case sensitive, for example, file names.
No embedded spaces are allowed between or within nodes.
correct :OUTPUT:FILTER:LPASS:FREQUENCY 200MHZ incorrect :OUTPUT: FILTER: LPASS:FREQUENCY 200MHZ

IEEE 488.2 common commands

ANSI/IEEE Standard 488.2 defines the codes, formats, protocols, and usage of common commands and queries used on the interface between the controller and the instruments. The AFG complies with this standard.
Command and query structure
The syntax for IEEE 488.2 common commands (on page 15) is an asterisk (*) followed by a command and, optionally, a space and parameter value. The syntax for an IEEE 488.2 common query is an asterisk (*) followed by a query and a question mark. All of the common commands and queries are listed in the Command groups (on page 16) and Command descriptions (on page 27). The following are examples of common commands:
*ESE 16 *CLS
The following are examples of common queries:
*ESR? *IDN?
Syntax and commands 16 AFG31000 Series Arbitrary Function Generator Programmer's Manual

Command groups

Header
Description
*CAL? (on page 29)
Perform self-calibration and return result status
CALibration[:ALL] (on page 30)
Perform self-calibration
DIAGnostic[:ALL] (on page 31)
Perform self-test
*TST? (on page 171)
Perform self-test and return result status
Header
Description
Display:BRIGhtness (on page 32)
Set or query the LCD display brightness
DISPlay:SAVer:IMMediate (on page 32)
Set screen saver
DISPlay:SAVer[:STATe] (on page 33)
Set or query the screen saver settings
Set or query the text message display
DISPlay[:WINDow]:TEXT:CLEar (on page 34)
Delete text message
This section lists the commands organized by functional group. The Command Descriptions section lists all commands alphabetically.

Calibration and diagnostic commands

Calibration and Diagnostic commands let you initiate the instrument self-calibration routines and examine the results of diagnostic tests. The following table describes the calibration and diagnostic commands.

Display commands

Display commands let you change the graticule style, displayed brightness, and other display attributes. The next table lists and describes Display commands.
DISPlay[:WINDow]:TEXT[:DATA(on page 33)
Syntax and commands AFG31000 Series Arbitrary Function Generator Programmer's Manual 17

Mass memory commands

Mass memory commands let you change mass memory attributes. The following table lists and describes Mass Memory commands.
The instrument stores waveforms and setups to the USB drive or internal flash memory. That means the commands must identify the full path including the drive letter and the folder path; a virtual disk is used.
Virtual Disk:
U: USB mass memory M: Internal flash mass memory P: Internal flash mass memory where predefined waveforms are stores, This is read-only
storage.
For example, MMEMORY:DELETE “U:/TEK001.TFWX, deletes TEK001.TFWX in the USB memory root folder.
And relative folder is supported, for example:
MMEMory:CDIRectory “U:/” MMEMORY:DELETE “TEK001.TFWX”
The above two commands produce the same results as
MMEMORY:DELETE “U:/TEK001.TFWX.”
Header
Description
MMEMory:CATalog? (on page 49)
Query the status of mass memory
MMEMory:CDIRectory (on page 50)
Set/query current directory
MMEMory:DELete (on page 50)
Delete file or directory in mass memory
MMEMory:LOAD:STATe (on page 52)
Copy instrument setting in mass memory to setup memory
MMEMory:LOAD:TRACe (on page 52)
Copy waveform data file in mass memory to edit memory
MMEMory:LOCK[:STATe] (on page 53)
Set/query the lock of mass memory overwrite and deletion
MMEMory:MDIRectory (on page 53)
Create directory in mass memory
MMEMory:STORe:STATe (on page 54)
Save the setup memory status to mass memory
MMEMory:STORe:TRACe (on page 55)
Save waveform data file in edit memory to mass memory
MMEMory:OPEN:SEQuence (on page 56)
Loads a single desired sequence from a file
MMEMory:SAVE:SEQuence (on page 57)
Exports a sequence given a unique name to an eligible storage location as a .SEQ file type.
RECALL:SETUp (on page 64)
Load a settings file in mass memory
SAVe:SETUp (on page 66)
Save a settings file to msss memory
Syntax and commands 18 AFG31000 Series Arbitrary Function Generator Programmer's Manual

Memory commands

Memory commands let you change setup memory attributes. The next table lists and describes Memory commands.
Header
Description
MEMory:STATe:DELete (on page 45)
Delete the setup memory
MEMory:STATe:LOCK (on page 46)
Set or query the lock of setup memory overwrite and deletion
MEMory:STATe:RECall:AUTo (on page 47)
Set or query the recall of last set memory
MEMory:STATe:VALid? (on page 48)
Query the availability of setup memory
*RCL (on page 64)
Recall instrument setting from setup memory
*SAV (on page 65)
Save instrument setting to setup memory

Output commands

Output commands let you set output attributes. The next table lists and describes Output commands.
Header
Description
OUTPut[1|2]:IMPedance (on page 59)
Set or query impedance
OUTPut[1|2]:POLarity (on page 60)
Set or query polarity
OUTPut[1|2][:STATe] (on page 61)
Set or query output on or off
OUTPut:TRIGger:MODE (on page 62)
Set or query the mode of Trigger Output
Syntax and commands AFG31000 Series Arbitrary Function Generator Programmer's Manual 19

Source commands

Source commands let you set waveform output parameters. The next table lists and describes Source commands.
Header
Description
[SOURce]:ROSCillator:SOURce (on page 139)
Set or query clock reference input
[SOURce[1|2]]:AM[:DEPTh] (on page 89)
Set or query amplitude modulation depth
[SOURce[1|2]]:AM:INTernal:FREQuency (on
page 90)
Set or query internal modulation frequency
[SOURce[1|2]]:AM:INTernal:FUNCtion (on page
91)
Set or query modulation waveform setting
[SOURce[1|2]]:AM:INTernal:FUNCtion: EFILe
(on page 92)
Set or query EFILe setting
[SOURce[1|2]]:AM:SOURce (on page 93)
Set or query amplitude modulation source
[SOURce[1|2]]:AM:STATe (on page 94)
Set or query amplitude modulation status
[SOURce[1|2]]:BURSt:MODE (on page 96)
Set or query burst mode
[SOURce[1|2]]:BURSt:NCYCles (on page 97)
Set or query burst mode waveform output cycle
[SOURce[1|2]]:BURSt[:STATe] (on page 98)
Set or query burst mode status
[SOURce[1|2]]:BURSt:TDELay (on page 99)
Set or query burst mode trigger delay time
[SOURce[1|2]:]BURSt:INFInite:REARm (on page
94)
Set burst infinite to rearm
[SOURce[1|2]:]BURSt:IDLE (on page 95)
Set burst idle state
[SOURce[1|2]]:COMBine:FEED (on page 100)
Set or query internal noise or external signal
[SOURce[1|2]]:FM[:DEViation] (on page 101)
Set or query frequency deviation
[SOURce[1|2]]:FM:INTernal:FREQuency (on
page 102)
Set or query internal modulation frequency
[SOURce[1|2]]:FM:INTernal:FUNCtion (on page
103)
Set or query internal modulation waveform
[SOURce[1|2]]:FM:INTernal:FUNCtion:EFILe
(on page 104)
Set or query EFILe setting
[SOURce[1|2]]:FM:SOURce (on page 104)
Set or query frequency modulation source
[SOURce[1|2]]:FM:STATe (on page 105)
Set or query frequency modulation status
[SOURce[1|2]]:FREQuency:CENTer (on page 106)
Set or query center frequency
[SOURce[1|2]]:FREQuency:CONCurrent[:STATe]
(on page 107)
Set or query concurrent change of frequency
[SOURce[1|2]]:FREQuency[:CW|:FIXed] (on
page 108)
Set or query output waveform frequency
[SOURce[1|2]]:FREQuency:MODE (on page 109)
Set or query sweep status
[SOURce[1|2]]:FREQuency:SPAN (on page 110)
Set or query sweep frequency span
[SOURce[1|2]]:FREQuency:STARt (on page 111)
Set or query sweep start frequency
[SOURce[1|2]]:FREQuency:STOP (on page 112)
Set or query sweep stop frequency
[SOURce[1|2]]:FSKey[:FREQuency] (on page
113)
Set or query FSK hop frequency
[SOURce[1|2]]:FSKey:INTernal:RATE (on page
114)
Set or query FSK internal modulation rate
[SOURce[1|2]]:FSKey:SOURce (on page 115)
Set or query FSK source
[SOURce[1|2]]:FSKey:STATe (on page 116)
Set or query FSK status
[SOURce[1|2]]:FUNCtion:EFILe (on page 117)
Set or query EFILe name
Syntax and commands 20 AFG31000 Series Arbitrary Function Generator Programmer's Manual
Header
Description
[SOURce[1|2]]:FUNCtion:RAMP:SYMMetry (on
page 118)
Set or query ramp waveform symmetry
[SOURce[1|2]]:FUNCtion[:SHAPe] (on page 119)
Set or query output waveform
[SOURce[1|2]]:PHASe[:ADJust] (on page 120)
Set or query output waveform phase
[SOURce[1|2]:PHASe:CONCurrent[:STATe] (on
page 121)
Set or query instrument values
[SOURce[1|2]]:PHASe:INITiate (on page 121)
Initiate output waveform phase synchronization
[SOURce[1|2]]:PM[:DEViation] (on page 122)
Set or query phase modulation deviation
[SOURce[1|2]]:PM:INTernal:FREQuency (on
page 123)
Set or query internal modulation frequency
(SOURce[1|2]]:PM:INTernal:FUNCtion (on page
124)
Set or query internal modulation waveform
[SOURce[1|2]]:PM:INTernal:FUNCtion:EFILe
(on page 125)
Set or query EFILe name
[SOURce[1|2]]:PM:SOURce (on page 125)
Set or query phase modulation source
[SOURce[1|2]]:PM:STATe (on page 126)
Set or query phase modulation status
[SOURce[1|2]]:PULSe:DCYCle (on page 127)
Set or query pulse waveform duty cycle
[SOURce[1|2]]:PULSe:DELay (on page 128)
Set or query pulse waveform lead delay
[SOURce[1|2]]:PULSe:HOLD (on page 129)
Set or query pulse waveform parameter
[SOURce[1|2]]:PULSe:PERiod (on page 130)
Set or query pulse waveform period
[SOURce[1|2]]:PULSe:TRANsition[:LEADing]
(on page 131)
Set or query pulse waveform leading edge time
[SOURce[1|2]]:PULSe:TRANsition:TRAiling (on
page 132)
Set or query pulse waveform trailing edge time
[SOURce[1|2]]:PULSe:WIDTh (on page 133)
Set or query pulse waveform width
[SOURce[1|2]]:PWM:INTernal:FREQuency (on
page 134)
Set or query pulse width modulation frequency
[SOURce[1|2]]:PWM:INTernal:FUNCtion (on
page 135)
Set or query pulse width modulation waveform
[SOURce[1|2]]:PWM:INTernal:FUNCtion:EFILe
(on page 136)
Set or query EFILe name
[SOURce[1|2]]:PWM:SOURce (on page 136)
Set or query pulse width modulation source
[SOURce[1|2]]:PWM:STATe (on page 137)
Set or query pulse width modulation status
[SOURce[1|2]]:PWM[:DEViation]:DCYCle (on
page 138)
Set or query pulse width modulation deviation
[SOURce[1|2]]:RMODe? (on page 137)
Queries the run mode
[SOURce]:ROSCillator:SOURce (on page 139)
Sets the reference clock to either internal or external
[SOURce[1|2]]:SWEep:HTIMe (on page 140)
Set or query sweep hold time
[SOURce[1|2]]:SWEep:MODE (on page 141)
Set or query sweep mode
[SOURce[1|2]]:SWEep:RTIMe (on page 142)
Set or query sweep return time
[SOURce[1|2]]:SWEep:SPACing (on page 143)
Set or query sweep spacing
[SOURce[1|2]]:SWEep:TIME (on page 144)
Set or query sweep time
[SOURce[1|2]]:VOLTage:CONCurrent[:STATe]
(on page 145)
Set or query concurrent change of amplitude level
[SOURce[1|2]]:VOLTage[:LEVel][:IMMediate]:
HIGH (on page 146)
Set or query output amplitude high level
[SOURce[1|2]]:VOLTage[:LEVel][:IMMediate]:
LOW (on page 147)
Set or query output amplitude low level
Syntax and commands AFG31000 Series Arbitrary Function Generator Programmer's Manual 21
Header
Description
[SOURce[1|2]]:VOLTage[:LEVel][:IMMediate]:
OFFSet (on page 148)
Set or query output offset voltage
[SOURce[1|2]]:VOLTage[:LEVel][:IMMediate][
:AMPLitude] (on page 149)
Set or query output amplitude
[SOURce[1|2]]:VOLTage:LIMit:HIGH (on page
150)
Set or query output amplitude upper limit
[SOURce[1|2]]:VOLTage:LIMit:LOW (on page
151)
Set or query output amplitude lower limit
[SOURce[1|2]]:VOLTage:UNIT (on page 152)
Set or query output amplitude units
SOURce<3|4>:POWer[:LEVel][:IMMediate][:AMP
Litude] (on page 153)
Set or query internal noise level

Status commands

Status commands give you the ability to determine the status of the instrument. The next table lists and describes Status commands.
Header
Description
*CLS (on page 31)
Clear all event registers and queues
*ESE (on page 35)
Set or query standard event status enable register
*ESR? (query only) (on page 36)
Return standard event status register
*PSC (on page 63)
Set or query power-on status clear
*SRE (on page 154)
Set or query service request enable register
*STB? (on page 158)
Read status byte
STATus:OPERation:CONDition? (on page
155)
Return operation condition register
STATus:OPERation:ENABle (on page 155)
Set or query operation enable register
STATus:OPERation[:EVENt]? (on page 156)
Return operation event register
STATus:PRESet (on page 156)
Preset SCPI enable register
STATus:QUEStionable:CONDition? (on page
157)
Return questionable condition register
STATus:QUEStionable:ENABle (on page 157)
Set or query questionable enable register
STATus:QUEStionable[:EVENt]? (on page
158)
Return questionable event register
Syntax and commands 22 AFG31000 Series Arbitrary Function Generator Programmer's Manual

System commands

System commands let you control miscellaneous instrument functions. The next table lists and describes System commands.
Header
Description
*IDN? (on page 37)
Return identification information
*OPT? (on page 58)
Return option information
*RST (on page 65)
Reset
SYSTem:BEEPer[:IMMediate] (on page 160)
Generate an audible tone
SYSTem:BEEPer:STATe (on page 159)
Set or query beeper state
SYSTem:ERRor[:NEXT]? (on page 159)
Return error event queue
SYSTem:KCLick[:STATe] (on page 160)
Set or query click sound
SYSTem:KLOCk[:STATe] (on page 161)
Set or query front panel lock/unlock
SYSTem:MACADDress? (on page 161)
Return the MAC address of an AFG 31000
SYSTem:PASSword:CDISable (no query form)
(on page 162)
Disable protected commands
SYSTem:PASSword[:CENable] (on page 164)
Enable protected commands to function
SYSTem:PASSword[:CENable]:STATe? (on
page 165)
Return security protection state
SYSTem:PASSword:NEW (on page 166)
Change current password
SYSTem:RESTart (on page 166)
Restart the unit
SYSTem:SECurity:IMMediate (on page 167)
Reset to factory default
SYSTem:ULANguage (on page 167)
Set or query language for display screen
SYSTem:VERSion? (on page 168)
Return version information

Synchronization commands

Synchronization commands let you synchronize the operation of the instrument. The next table lists and describes Synchronization commands.
Header
Description
*OPC (on page 58)
Set or query operation complete
*WAI (on page 172)
Wait to continue

Trace commands

Trace commands let you set the edit memory and user waveform memory. The next table lists and describes Trace commands
Header
Description
TRACe|DATA[:DATA] (on page 168)
Set or query waveform data to edit memory
Syntax and commands AFG31000 Series Arbitrary Function Generator Programmer's Manual 23

Trigger commands

Trigger commands let you control all aspects of AFG triggering. The next table lists and describes Trigger commands.
Header
Description
ABORt (on page 27)
Initialize trigger system
*TRG (on page 169)
Force trigger event
TRIGger[:SEQuence][:IMMediate] (on page
171)
Generate a trigger event
TRIGger[:SEQuence]:SLOPe (on page 169)
Set/query the slope of trigger signal
TRIGger[:SEQuence]:SOURce (on page 170)
Set/query the source of trigger signal
TRIGger[:SEQuence]:TIMer (on page 170)
Set/query the period of internal clock

AFG control command

AFG Control command copies setups between two channels. The next table lists and describes the AFG control command.
Header
Description
AFGControl:CSCopy (on page 28)
Copy CH1 (or CH2) setup parameters to CH2 (or CH1)

Screen copy command

Screen copy command copies the screen image. The next table lists and describes the Screen copy command.
Header
Description
HCOPy:SDUMp[:IMMediate] (on page 36)
Copy screen image and save the file to USB memory.
Syntax and commands 24 AFG31000 Series Arbitrary Function Generator Programmer's Manual

License commands

License commands let you install optional features. The next table lists and describes License commands.
Header
Description
LICense:HID? (on page 39)
Returns the instrument HostID unique identifier.
LICense:INSTall (on page 40)
Accepts a <block data> license and installs it on the instrument.
LICense:LIST? (on page 41)
Returns the active license nomenclatures as a comma-separated list of strings.
LICense:ERRor? (on page 41)
This query-only command prompts the instrument to return all events and their messages (delimited by commas) relative to license.
LICense:GMT? (on page 42)
This query-only command returns the local system date and time.
LICense:COUNt? (on page 43)
This query-only command returns the number of active licenses.
LICense:ITEM? (on page 44)
This query-only command is used to query license details about an item in the strongbox.
LICense:VALidate? (on page 45)
This query-only command is used to validate whether the instrument is capable of realizing the features of the license nomenclature and that the feature is active.
LICense:INSTall (on page 40)
Used to install an instrument license.
LICense:UNINstall? (on page 40)
Used to uninstall an instrument license.
LICense:IDN? (on page 42)
Used to identify the active host.
Syntax and commands
AFG31000 Series Arbitrary Function Generator Programmer's Manual 25

Sequence commands

Header
Description
SEQuence:ELEM[n]:GOTO:INDex (on page 75)
Sets or retrieves the target index for the GOTO command of the sequencer
SEQuence:ELEM[n]:GOTO:STATe (on page 76)
Sets or retrieves the GOTO state of the sequencer
SEQuence:ELEM[n]:MARKer:STATe (on page 77)
Sets or retrieves the MARKer state of the sequencer
SEQuence:ELEM[n]:JTARget:INDex (on page 78)
Sets or retrieves the target index for the sequencer’s event jump operation
SEQuence:ELEM[n]:JTARget:TYPE (on page 79)
Sets or queries the target type for the jump
SEQuence:ELEM[n]:JUMP:EVENt (on page 80)
Set or returns the JUMP trigger event type
SEQuence:ELEM[n]:JUMP:SLOpe (on page 81)
Sets or returns the slope of external trigger for jump
SEQuence:ELEM[n]:LOOP:COUNt (on page 82)
Sets or queries the loop count
SEQuence:ELEM[n]:LOOP:INFinite (on page 83)
Sets or returns the infinite looping state for a sequence element
SEQuence:ELEM[n]:TWAit:EVENt (on page 85)
Set or returns the wait trigger event type
SEQuence:ELEM[n]:TWAit:SLOpe (on page 86)
Sets or returns the slope of external trigger for wait
SEQuence:ELEM[n]:WAVeform[m] (on page 87)
Sets or returns the waveform for a sequence element
SEQuence:LENGth (on page 88)
Sets or returns the sequence length
SEQuence:NEW (on page 88)
Creates a new sequence.
Header
Description
WLISt:NAME? (on page 172)
Returns the waveform name of an element in the waveform list.
WLISt:SIZE? (on page 173)
Returns the size of the waveform list.
WLISt:WAVeform:DELete (on page 174)
Deletes the waveform from the currently loaded setup.
WLISt:WAVeform:IMPort (on page 175)
Imports the waveform to the currently loaded setup.
WLISt:WAVeform:LENGth? (on page 176)
Returns the size of the waveform.
Sequence commands let you to define and edit a waveform sequence.

Waveform list commands

Waveform List commands let you to add or remove waveform from waveform list in advance mode.
Syntax and commands 26 AFG31000 Series Arbitrary Function Generator Programmer's Manual

Sequence control group commands

Sequence control commands let you run a sequence according to the mode you want.
Header
Description
SEQControl:RUN[:IMMediate] (on page 68)
Initiates the output of a waveform or sequence.
SEQControl:STOP[:IMMediate] (on page 68)
Stops the output of a waveform or sequence.
SEQControl:RESET (on page 69)
Resets the sequence to its default state.
SEQControl:RMODe (on page 67)
Sets or returns the run mode of the AWG.
SEQControl:STATe (on page 69)
Sets or returns the sequence mode ON/OFF
SEQControl:RSTATe (on page 70)
Returns the sequence run state ON/OFF
SEQControl:SRATe (on page 70)
Sets or returns the sampling rate
SEQControl:DELay (on page 71)
Sets or returns the skew time
SEQControl:TIMer (on page 74)
Sets or returns the jump/wait timer
SEQControl:SOURce[n]:SCALe (on page 72)
Sets or returns the sequence output scale
SEQControl:SOURce[n]:OFFSet (on page 73)
Sets or returns the sequence output offset

InstaView commands

InstaView commands let you to get the actual waveform into the DUT.
Header
Description
INSTaview[1|2]:STATe (on page 39)
Sets or returns the InstaView state
INSTaview[1|2]:MEASUrement:DELay (on page
37)
Sets or returns the signal transmission delay in cable
INSTaview[1|2]:MEASUrement:MINimum (on
page 38)
Returns the minimum level
INSTaview[1|2]:MEASUrement:MAXimum (on
page 38)
Returns the maximum level
AFG31000 Series Arbitrary Function Generator Programmer's Manual 27

Command descriptions

Command descriptions

Commands either set or query instrument values. Some commands both set and query, some only set, and some only query.

Manual conventions

This manual uses the following conventions:
No query form indicates set-only commands. A question mark (?) appended to the commands and query indicates query-only commands. Fully spelled out headers, mnemonics, and arguments are provided with the minimal spelling
shown in upper case. For example, to use the abbreviated form of the DISPlay:BRIGhtness command, just type DISP:BRIG
Syntax of some commands varies, depending on the model of AFG you are using; differences
are noted.

ABORt (no query form)

Disconnect this PI Interface This command:
Group
AFG Control
Syntax
ABORt
Examples
ABORt
Command descriptions 28 AFG31000 Series Arbitrary Function Generator Programmer's Manual

AFGControl:CSCopy (no query form)

This command copies setup parameters for one channel to another channel. If your AFG is a single-channel model, this command is not supported.
This command:
Group
AFG Control
Syntax
AFGControl:CSCopy {CH1|CH2},{CH1|CH2}
Arguments
CH1|CH2
Examples
AFGControl:CSCopy CH1,CH2
Copies the CH1 setup parameters into CH2
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 29

*CAL? (query only)

This command performs an internal calibration and returns 0 (pass) or a calibration error code. This command:
NOTE. The self-calibration can take several minutes to complete. Please unplug all connected cables. During this time, the AFG does not execute any commands. Do not power off the instrument during the self-calibration.
Group
Calibration and Diagnostic
Syntax
*CAL?
Arguments
None
Returns
<NR1> Where: <NR1>=0 indicates that the internal calibration completed without errors. <NR1>≠0 indicates that the AFG detected an error.
Examples
*CAL? Performs an internal calibration and returns results; for example, it might return 0, which indicates that
the calibration completed without any errors.
Related Commands
CALibration[:ALL] (on page 30)
Command descriptions 30 AFG31000 Series Arbitrary Function Generator Programmer's Manual

CALibration[:ALL]

The CALibration[:ALL] command performs an internal calibration. The CALibration[:ALL]? command performs an internal calibration and returns 0 (Pass) or a calibration error
code.
NOTE. The self-calibration can take several minutes to complete. Please unplug all connected cables. During this time, the AFG does not execute any commands. Do not power off the instrument during the self-calibration.
This command:
Group
Calibration and Diagnostic
Syntax
CALibration[:ALL] CALibration[:ALL]?
Returns
<NR1>
Where: <NR1>=0 indicates that the internal calibration completed without errors.
<NR1>≠0 indicates that the AFG detected an error.
Examples
CALibration
Performs an internal calibration.
CALibration?
Performs an internal calibration and returns results; for example, it might return 0, which indicates that the calibration completed without any errors.
Related Commands
*CAL? (on page 29)
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 31

*CLS (no query form)

This command clears all the event registers and queues used in the AFG status and event reporting system. This command:
Group
Status
Syntax
*CLS
Examples
*CLS
Clears all of the event registers and queues.

DIAGnostic[:ALL]

The DIAGnostic[:ALL] command performs a self-test. The DIAGnostic[:ALL]? command returns the results after executing the test.
NOTE. The self-test can take several minutes to complete. During this time, the AFG does not execute any commands. Do not power off the instrument during the self-test.
This command:
Group
Calibration and Diagnostic
Syntax
DIAGnostic[:ALL] DIAGnostic[:ALL]?
Returns
<NR1>
Where: <NR1>=0 indicates that the self-test completed without errors. <NR1>≠0 indicates that the AFG detected an error.
Examples
DIAGnostic
Performs a self-test.
DIAGnostic?
Performs a self-test and returns a number indicating the outcome of the self-test.
Related Commands
*TST? (on page 171)
Command descriptions 32 AFG31000 Series Arbitrary Function Generator Programmer's Manual

DISPlay:BRIGhtness

This command sets or queries the brightness of the LCD display. This command:
Group
Display
Syntax
DISPlay:BRIGhtness {<brightness>|MINimum|MAXimum} DISPlay:BRIGhtness? [MINimum|MAXimum]
Arguments
<brightness>::=<NR2>
Where: <NR2> is a range of display brightness from 0.00 through 1.00 (resolution: 3 digits); the larger the
value, the greater the screen brightness. MINimum sets the display to the lowest brightness level (0.00). MAXimum sets the display to the highest brightness level (1.00).
Returns
<NR2>
Examples
DISPlay:BRIGhtness MAX
Sets the display brightness to the highest brightness level.

DISPlay:SAVer:IMMediate (no query form)

This command sets the screen saver state to ON, regardless of the DISPlay:SAVer[:STATe]? command setting. The screen saver is enabled immediately (without waiting five minutes).
This command:
Group
Display
Syntax
DISPlay:SAVer:IMMediate
Examples
DISPlay:SAVer:IMMediate
Related Commands
DISPlay:SAVer[:STATe] (on page 33)
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 33

DISPlay:SAVer[:STATe]

This command sets or queries the screen saver setting of the LCD display. When enabled, the screen saver starts automatically if no operations are applied to the instrument front panel for five minutes.
This command:
Group
Display
Syntax
DISPlay:SAVer[:STATe] {ON|OFF|<NR1>} DISPlay:SAVer[:STATe]?
Arguments
ON or <NR1>≠0, enables the screen saver function.
OFF or <NR1>=0, disables the screen saver function.
Returns
<NR1>
Examples
DISPlay:SAVer:STATe OFF
Disables the screen saver function.

DISPlay[:WINDow]:TEXT[:DATA]

The DISPlay[:WINDow]:TEXT[:DATA] command displays a text message on the instrument screen. The DISPlay[:WINDow]:TEXT[:DATA]? query returns the text string currently displayed on the instrument
screen. The displayable characters are ASCII codes 32 through 126, and the instrument can display approximately 64
characters. This command:
Group
Display
Syntax
DISPlay[:WINDow]:TEXT[:DATA] <string> DISPlay[:WINDow]:TEXT[:DATA]?
Arguments
<string>
Returns
<string>
Examples
DISPlay:TEXT?
Returns the currently displayed text message.
Command descriptions 34 AFG31000 Series Arbitrary Function Generator Programmer's Manual

DISPlay[:WINDow]:TEXT:CLEar (no query form)

This command clears the text message from the display screen. This command:
Group
Display
Syntax
DISPlay[:WINDow]:TEXT:CLEar
Examples
DISPlay:TEXT:CLEar
Clears the text message from the screen.
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 35

*ESE

This command sets or queries the bits in the Event Status Enable Register (ESER) used in the status and events reporting system of the arbitrary/function generator.
The query command returns the contents of the ESER. This command:
Group
Status
Syntax
*ESE <bit_value> *ESE?
Arguments
<bit_value>::=<NR1> Where: <NR1> is a value in the range of 0 through 255; the binary bits of the ESER are set according to this
value.
Returns
<bit_value>
Examples
*ESE 177
Sets the ESER to 177 (binary 10110001), which sets the PON, CME, EXE, and OPC bits.
*ESE?
Might return 186, indicating that the ESER contains the binary value 10111010
Related Commands
*CLS (on page 31) *ESR? (on page 36) *PSC (on page 63) *SRE (on page 154) *STB? (on page 158)
Command descriptions 36 AFG31000 Series Arbitrary Function Generator Programmer's Manual

*ESR? (query only)

This query-only command returns the contents of the Standard Event Status Register (SESR) used in the status events reporting system in the AFG. *ESR also clears the SESR (since reading the SESR clears the register).
This command:
Group
Status
Syntax
*ESR?
Returns
<NR1>
Indicates the contents of the SESR as a decimal integer.
Examples
*ESR?
Might return 181, which indicates that the SESR contains the binary number 10110101.
Related Commands
*CLS (on page 31) *ESE (on page 35) *SRE (on page 154) *STB? (on page 158)

HCOPy:SDUMp[:IMMediate] (no query form)

This command copies a screen image and saves the image file to the USB flash drive. The image files are saved in a folder named TEK on the USB flash drive. The image file will have a name, for example, something similar to AFG31K_2018-06-21_10-10-41.png.
This command:
Group
Screen copy
Syntax
HCOPy:SDUMp[:IMMediate]
Examples
HCOPy:SDUMp:IMMediate
Copies the screen image and creates a graphic file on the USB memory.
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 37

*IDN? (query only)

This query-only command returns identification information on the AFG. This command:
Group
System
Syntax
*IDN?
Returns
<Manufacturer>,<Model>,<Serial Number>,<Firmware Level> Where:
<Manufacturer>::=TEKTRONIX <Model>::= {AFG31021 | AFG31022 | AFG31051 | AFG31052 | AFG31101 | AFG31102 | AFG31151
| AFG31152 | AFG31251 | AFG31252}
<Serial Number> <Firmware Level> ::=SCPI:99.0 FV:2.0
Examples
*IDN?
Might return the following response: TEKTRONIX,AFG31021,C100101,SCPI:99.0 FV:1.0

INSTaview[1|2]:MEASUrement:DELay

This command sets or returns the signal transmission delay in cable This command:
Group
InstaView
Syntax
INSTaview[1|2]:MEASUrement:DELay {<delay>} INSTaview[1|2]:MEASUrement:DELay?
Arguments
<delay>::=<NRf>[<units>]
Where:
<units>::=[s | ms | μs | ns]
Returns
Delay
Examples
INSTaview1:MEASUrement:DELay 2e-9
Sets the CH1 cable delay time to 2 ns.
Command descriptions 38 AFG31000 Series Arbitrary Function Generator Programmer's Manual

INSTaview[1|2]:MEASUrement:MAXimum (query only)

This query-only command returns the maximum level of output signal in DUT. This command:
Group
InstaView
Syntax
INSTaview[1|2]:MEASUrement:MAXimum?
Returns
<level>
Examples
INSTaview1:MEASUrement:MAXimum?
Get the Ch1 InstaView waveform max level.

INSTaview[1|2]:MEASUrement:MINimum (query only)

This query-only command returns the minimum level of output signal in DUT. This command:
Group
InstaView
Syntax
INSTaview[1|2]:MEASUrement:MINimum?
Returns
<level>
Examples
INSTaview1:MEASUrement:MINimum?
Get the CH1 InstaView waveform min level.
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 39

INSTaview[1|2]:STATe

This command sets or returns the InstaView state. This command:
Group
InstaView
Syntax
INSTaview[1|2]:STATe {ON|OFF|<NR1>} INSTaview[1|2]:STATe?
Arguments
ON or <NR1>≠0
Enable InstaView function.
OFF or <NR1>=0
Disable InstaView function.
Returns
<NR1>
Examples
INSTaview:STATe ON
Enable CH1 InstaView function.

LICense:HID? (query only)

This command returns the instrument HostID unique identifier. This command:
Group
License
Syntax
LICense:HID?
Returns
<string>
The instrument HostID unique identifier.
Examples
LICense:HID?
Might return AFG-9CS4US5SGJN6X
Command descriptions 40 AFG31000 Series Arbitrary Function Generator Programmer's Manual

LICense: INSTall (no query form)

This command accepts a <block_data> license and installs it on the instrument. Restarting the instrument may be necessary to activate the capabilities of a licensed instrument.
This command:
Group
License
Syntax
LICense:INSTall <block_data>
Arguments
<arbitrary block>
<block_data> is the license in block data format.
Examples
LICense:INSTall <block_data>
Install license file to unit.

LICense: UNINstall?

This command is used to return or uninstall a specified license. The exit keyfile generated by the uninstall is returned as block data.
This command attempts to first match the specified parameter to a transaction ID and then to nomenclature. If duplicate active nomenclatures exist, the active license with the earliest expiration is removed. If a transaction ID is specified for a previously-uninstalled license, the same exit keyfile is returned as when the license was first uninstalled. A transaction ID is required to return a previously-uninstalled license.
If a command is called with nomenclature and there are no active matching licenses, an error is generated.
Group
License
Syntax
LICense:UNINst? <transaction ID or nomenclature>
Returns
<block_data>
The exit keyfile.
Examples
LICense:UNINstall?
Returns <block data>.
Related Commands
LiCense:ERRor? (on page 41), *ESR?
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 41

LICense:LIST? (query only)

This query-only command returns the active license feature names as a comma-separated list of strings. This command:
Group
License
Syntax
LICense:LIST?
Returns
<string>
.
Examples
LICense:LIST?
Might return AFG3MEM, AFG3SEQ, to indicate that it supports the large memory and sequence feature.

LICense:ERRor? (query only)

This query-only command prompts the instrument to return all events and their messages (delimited by commas). Also see License command errors.
This command:
Group
License
Syntax
LICense:ERRor?
Returns
<string>
All events and their messages (delimited by commas).
Examples
LICense:ERRor?
-3000, license error, 125, signature verification failed.
Command descriptions 42 AFG31000 Series Arbitrary Function Generator Programmer's Manual

LICense: GMT? (query only)

This query-only command prompts the instrument to return the local system date and time as known by the licensing system on the instrument.
This command:
Group
License
Syntax
LICense:GMT?
Returns
<string>
ISO 8601-compliant format, including time zone offset, in the format YYYY-MM-DDTHH24:MM:SS+HH:MM.
ISO 8601 uses negative offsets for items west of Greenwich.
Examples
LICense:GMT?
Might return 2016-05-23T18:46:34-08:00.

LICense: IDN? (query only)

This query-only command returns the manufacturer, model, serial number, and firmware revision of the active host. This command:
Group
License
Syntax
LICense:IDN?
Returns
<string>
Returns the manufacturer, model, serial number, and firmware revision in a comma-separated list.
Examples
LICense:IDN?
Might return TEKTRONIX, ABC1234, B010100, FV:1.2.3
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 43

LICense: COUNT? (query only)

This query-only command returns the count of active AFG31000 Series licenses. This command:
Group
License
Syntax
LICense:COUNT?
Returns
<string>
Indicates the number of active instrument licenses.
Examples
LICense:COUNT?
Might return 5.
Command descriptions 44 AFG31000 Series Arbitrary Function Generator Programmer's Manual

LICense: ITEM? (query only)

This query-only command prompts the instrument to return license details about a specific item in the strongbox of the instrument.
This command:
Group
License
Syntax
LICense:ITEM? <item number>
Arguments
<item number>
Specifies the order number of the item in the strongbox. The order is not constant due to changes in the strongbox such as the installation, uninstallation, or expiration of licenses.
Returns
<nomenclature>, <type>, <expiration date>, <transaction ID>, <APPID>, <description>
Where:
<nomenclature> is the license nomenclature. <type> is the license type. Types include Trial, Fixed, Floating, MFGTEST, SVCTEST, and
ENGINEERING. <expiration date> is the date on which the license validity ends, given in ISO 8601-compliant
format, in the format YYYY-MM-DDTHH24:MM:SS+HH:MM. <transaction ID> is the transaction identifier for the item. <APPID> is a comma-separated list of installed application identifiers. <description> contains detailed license information.
Examples
LICense:ITEM? 3
Might return: LICENSENOMENCLATURE, Fixed, 2016-05-23T18:46:34-08:00, ABCD9876, "EFG, XYZ", "Full instrument description"
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 45

LICense: VALidate? (query only)

This query-only command is used to validate whether the instrument state is capable of realizing features of the license nomenclature and that the feature is active.
Validation requests that return False can be queried with the LICense:ERRor? (on page 41) command. This command:
Group
License
Syntax
LICense:VALidate ?
Returns
<string>
The validity response, either True or False. A False response can be due to missing software, dependent licenses, or hardware problems.
Examples
LICense:VALidate?
Might return True.

MEMory:STATe:DELete (no query form)

This command deletes the contents of specified setup memory. If a specified setup memory is not allowed to be overwritten or deleted, this command returns an error.
This command:
Group
Memory
Syntax
MEMory:STATe:DELete {0|1|2|3|4}
Arguments
0, 1, 2, 3, or 4
Specifies the location of setup memory.
Examples
MEMory:STATe:DELete 1
Deletes the contents of specified setup 1 memory.
Command descriptions 46 AFG31000 Series Arbitrary Function Generator Programmer's Manual

MEMory:STATe:LOCK

This command sets or queries whether to lock the specified setup memory. If you lock a setup memory, you cannot overwrite or delete the setup file.
You cannot execute this command for the setup memory of location number 0 (last setup memory). This command:
Group
Memory
Syntax
MEMory:STATe:LOCK {1|2|3|4},{ON|OFF|<NR1>} MEMory:STATe:LOCK? {1|2|3|4}
Arguments
0, 1, 2, 3, or 4 specifies the setup memory to lock or query.
ON or <NR1>≠0
Locks the specified location of setup memory.
OFF or <NR1>=0
Allows you to overwrite or delete the specified location of setup memory.
Returns
<NR1>
Examples
MEMory:STATe:LOCK 1,ON
Locks the setup memory of location number 1
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 47

MEMory:STATe:RECall:AUTo

This command sets or queries whether to enable the automatic recall of last setup memory when powered-on. The next time you apply the power, the AFG will automatically recall the settings you used when you powered off the instrument.
If you select OFF, the default setups are recalled when you power on the instrument. This command:
Group
Memory
Syntax
MEMory:STATe:RECall:AUTo {ON|OFF|<NR1>} MEMory:STATe:RECall:AUTo?
Arguments
OFF or <NR1>=0
Disables the last setup recall function.
ON or <NR1>≠0
Enables the recall of the setup memory last used before the instrument was powered off.
Returns
<NR1>
Examples
MEMory:STATe:RECall:AUTo ON
Sets the instrument to recall the last setup memory when powered-on.
Command descriptions 48 AFG31000 Series Arbitrary Function Generator Programmer's Manual

MEMory:STATe:VALid? (query only)

This query-only command returns the availability of a setup memory. This command:
Group
Memory
Syntax
MEMory:STATe:VALid? {0|1|2|3|4}
Arguments
0, 1, 2, 3, or 4
Specifies the location of setup memory.
Returns
<NR1>
1 means that the specified setup memory has been saved. 0 means that the specified setup memory has been deleted.
Examples
MEMory:STATe:VALid? 0
Might return 1 if the specified setup memory has been saved.
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 49

MMEMory:CATalog? (query only)

This query-only command returns the current state of the mass storage system (USB memory). This command:
Group
Mass Memory
Syntax
MMEMory:CATalog?
Returns
<NR1>,<NR1> [,<file_name>,<file_type>,<file_size>]
Where: The first <NR1> indicates that the total amount of storage currently used, in bytes. The second <NR1> indicates that the free space of mass storage, in bytes.
<file_name> is the exact name of a file. <file_type> is DIR for directory, otherwise it is blank. <file_size> is the size of the file, in bytes.
Examples
MMEMory:CATalog?
Might return the following response:
32751616,27970560,”SAMPLE1.TFS,,5412”
Command descriptions 50 AFG31000 Series Arbitrary Function Generator Programmer's Manual

MMEMory:CDIRectory

This command changes the current working directory in the mass storage system. This command:
Group
Mass Memory
Syntax
MMEMory:CDIRectory [<directory_name>] MMEMory:CDIRectory?
Arguments
<directory_name>::=<string>
Indicates the current working directory for the mass storage system. If you do not specify a parameter, the directory is not changed.
Returns
<directory_name>::=<string>
Examples
MMEMory:CDIRectory "U:/AFG/WORK0"
Changes the current directory to <USB memory>/AFG/WORK0.

MMEMory:DELete (no query form)

This command deletes a file or directory from the mass storage system. If a specified file in the mass storage is not allowed to be overwritten or deleted, this command causes an error. You can delete a directory if it is empty.
This command:
Group
Mass Memory
Syntax
MMEMory:DELete <file_name>
Arguments
<file_name>::=<string>
Specifies a file to be deleted.
Examples
MMEMory:DELete "M:/TEK001.tfwx"
Deletes the specified file from the internal mass storage.
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 51

MMEMory:LOAD:STATe (no query form)

This command copies a setup file in the mass storage system to an internal setup memory. If a specified internal setup memory is locked, this command causes an error. When you power off the instrument, the setups are automatically overwritten in the setup memory 0 (last setup memory).
This command:
Group
Mass Memory
Syntax
MMEMory:LOAD:STATe {0|1|2|3|4},<file_name>
Arguments
0, 1, 2, 3, or 4
Specifies the location of setup memory.
<file_name>::=<string>
Specifies a setup file to be copied.
Examples
MMEMory:LOAD:STATe 1,"U:/SETUP1.tfs"
Copies a file named SETUP1.TFS in the USB mass storage into the internal memory location 1.
Related Commands
MEMory:STATe:LOCK (on page 46) MEMory:STATe:RECall:AUTo (on page 47) MMEMory:STORe:STATe (on page 54)
Command descriptions 52 AFG31000 Series Arbitrary Function Generator Programmer's Manual

MMEMory:LOAD:TRACe (no query form)

This command copies a waveform data file in the mass storage system to Edit Memory. If the file format is different, this command causes an error.
This command:
Group
Mass Memory
Syntax
MMEMory:LOAD:TRACe EMEMory[1]|EMEMory2,<file_name>
Arguments
EMEMory[1]|EMEMory2
Refers to the Commands Arguments column in the table in Appendix B.
<file_name>::=<string>
Specifies a waveform data file to be copied.
Examples
MMEMory:LOAD:TRACe EMEMory1,"U:/TEK001.tfwx"
Copies a file named TEK001.tfwx in the USB mass storage into Edit Memory 1.
Related Commands
MMEMory:STORe:TRACe (on page 55)
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 53

MMEMory:LOCK[:STATe]

This command sets or queries whether to lock a file or directory in the mass storage system. If you lock a file or directory, you cannot overwrite or delete it.
This command:
Group
Mass Memory
Syntax
MMEMory:LOCK[:STATe] <file_name>,{ON|OFF|<NR1>} MMEMory:LOCK[:STATe]? <file_name>
Arguments
ON or <NR1>≠0
Locks a file or directory in the mass storage system.
OFF or <NR1>=0
Allows you to overwrite or delete a file or directory in the mass storage system.
Returns
<NR1>
Examples
MMEMory:LOCK:STATe "M:/setup1.tfs", ON
Locks the file "setup1.tfs"

MMEMory:MDIRectory (no query form)

This command creates a directory in the mass storage system. If the specified directory is locked in the mass storage system, this command causes an error.
This command:
Group
Mass Memory
Syntax
MMEMory:MDIRectory <directory_name>
Arguments
<directory_name>::=<string>
Specifies a directory name to be created.
Examples
MMEMory:MDIRectory "M:/sample"
Creates a directory named “SAMPLE1” in the mass storage system.
Command descriptions 54 AFG31000 Series Arbitrary Function Generator Programmer's Manual

MMEMory:STORe:STATe (no query form)

This command copies a setup file in the setup memory to a specified file in the mass storage system. If the specified file in the mass storage system is locked, this command causes an error. You cannot create a new file if the directory is locked. If the setup memory is deleted, this command causes an error. The <file_name> argument is a quoted string that defines the file name and path.
This command:
Group
Mass Memory
Syntax
MMEMory:STORe:STATe {0|1|2|3|4},<file_name>
Arguments
0, 1, 2, 3, or 4
Specifies the location of setup memory.
<file_name>::=<string>
Specifies a file name in the mass storage system; the <file_name> includes path; path separators are forward slashes (/).
Examples
MMEMory:STORe:STATe 1,"M:/test1.tfs"
Copies the setup file in the setup memory location 1 to a file named “test1.tfs” in the internal mass
storage system.
Related Commands
MMEMory:LOAD:STATe (on page 52) MMEMory:LOCK[:STATe] (on page 53)
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 55

MMEMory:STORe:TRACe (no query form)

This command copies a waveform data file in the Edit Memory to a file in the mass storage system. If the file in the mass storage is locked, this command causes an error. You cannot create a new file if the directory is locked.
This command:
Group
Mass Memory
Syntax
MMEMory:STORe:TRACe EMEMory[1]|EMEMory2,<file_name>
Arguments
<file_name>::=<string>
Specifies a file name in the mass storage system; the <file_name> includes path; path separators are forward slashes (/).
Examples
MMEMory:STORe:TRACe EMEMory1,"M:/sample1.tfwx"
Copies the content of EMEMory1 to a file named "sample1.tfwx" in the internal mass storage system.
Related Commands
MMEMory:LOCK[:STATe] (on page 53) MMEMory:LOAD:TRACe (on page 52)
Command descriptions 56 AFG31000 Series Arbitrary Function Generator Programmer's Manual

MMEMory:OPEN:SEQuence (no query form)

This command loads a single sequence if <desired_sequence>is designated. File formats supported: .seq – AFG30K Series sequence.
NOTE. If the sequence, or any associated waveform name already exists, it will be overwritten without warning.
This command:
Group
Mass Memory
Syntax
MMEMory:OPEN:SEQuence <file_name>
Arguments
< file_path >::=<string>
Indicates the relative path to the driver.
Examples
MMEMory:OPEN:SEQuence "U:/AFGseq.seq"
Opens the AFGseq.seq file and loads the waveforms,sequences, and parameters from this file.
Related Commands
MMEMory:SAVE:SEQuence (on page 57)
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 57

MMEMory:SAVE:SEQuence (no query form)

This command exports a sequence given a unique name to an eligible storage location as the .seq file type.his command loads a single sequence if <desired_sequence>is designated.
File formats supported: .seq – AFG30K Series sequence.
NOTE. If a file already exists in the selected file path, it is overwritten without warning. If the save fails, the file is deleted.
This command:
Group
Mass Memory
Syntax
MMEMory:SAVE:SEQuence <file_name>
Arguments
< file_path >::=<string>
Indicates the relative path to the driver.
Examples
MMEMory:SAVE:SEQuence "U:/mySequence.seq"
Saves the sequence to the USB memory mySequence.seq.
Related Commands
MMEMory:OPEN:SEQuence (on page 56)
Command descriptions 58 AFG31000 Series Arbitrary Function Generator Programmer's Manual

*OPC

This command generates the operation complete message by setting bit 0 in the Standard Event Status Register (SESR) when all pending commands that generate an OPC message are complete. The query command places the ASCII character 1 into the output queue when all such OPC commands are complete.
This command:
Group
Synchronization
Syntax
*OPC *OPC?
Arguments
None
Returns
<execution complete>::=1
Where 1 indicates that all pending operations are complete.
Examples
*OPC?
Return 1 to indicate that all pending OPC operations are finished.

*OPT? (query only)

This query-only command returns a list of the options installed in your AFG. This command:
Group
System
Syntax
*OPT?
Arguments
None
Returns
<OPT>[, <OPT>[, <OPT>[, <OPT>]]]
Examples
*OPT?
Might return empty string, which indicates no option is installed in the instrument.
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 59

OUTPut[1|2]:IMPedance

The OUTPut:IMPedance command sets the output load impedance for the specified channel. The specified value
is used for amplitude, offset, and high/low level settings. You can set the impedance to any value from 1 Ω to 10 kΩ
with a resolution of 1 Ω or 3 digits. The default value is 50 Ω. The OUTPut:IMPedance? command returns the
current load impedance setting in ohms. If the load impedance is set to INFinity, the query command returns
9.9E+37. This command:
Group
Output
Syntax
OUTPut[1|2]:IMPedance {<ohms>|INFinity|MINimum|MAXimum} OUTPut[1|2]:IMPedance?
Arguments
<ohms>::=<NR3>[<units>]
where: <units>::=OHM INFinity sets the load impedance to >10 kΩ. MINimum sets the load impedance to 1 Ω. MAXimum sets the load impedance to 10 kΩ.
Returns
<ohms>::=<NR3>
Examples
OUTPut1:IMPedance MAXimum
Sets the CH 1 load impedance to 10 kΩ.
Command descriptions 60 AFG31000 Series Arbitrary Function Generator Programmer's Manual

OUTPut[1|2]:POLarity

This command inverts a specified output waveform relative to the offset level. The query command returns the polarity for the specified channel.
This command:
Group
Output
Syntax
OUTPut[1|2]:POLarity {NORMal|INVerted} OUTPut[1|2]:POLarity?
Arguments
NORMal
Sets the specified output waveform polarity to Normal.
INVerted
Sets the specified output waveform polarity to Inverted.
Returns
NORM|INV
Examples
OUTPut1:POLarity NORMal
Sets the CH 1 waveform polarity to Normal.
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 61

OUTPut[1|2][:STATe]

This command sets or queries whether to enable the AFG output for the specified channel. This command:
Group
Output
Syntax
OUTPut[1|2][:STATe]{ON|OFF|<NR1>} OUTPut[1|2][:STATe]?
Arguments
ON or <NR1>≠0
Enables the AFG output.
OFF or <NR1>=0
Disables the AFG output.
Returns
<NR1>
Examples
OUTPut1:STATe ON
Sets the AFG CH 1 output to ON.
Command descriptions 62 AFG31000 Series Arbitrary Function Generator Programmer's Manual

OUTPut:TRIGger:MODE

This command sets or queries the mode (trigger or sync) for Trigger Output signal. When the burst count is set to Inf-Cycles in burst mode, TRIGger indicates that the infinite number of cycles of waveform will be output from the Trigger Output connector. When the burst count is set to Inf-Cycles in burst mode, SYNC indicates that one pulse waveform is output from the Trigger Output connector when the Inf-Cycles starts. When Run Mode is specified other than Burst Inf-Cycles, TRIGger, and SYNC have the same effect.
This command:
Group
Output
Syntax
OUTPut:TRIGger:MODE {TRIGger|SYNC} OUTPut:TRIGger:MODE?
Arguments
TRIGger
Means TRIGger is selected for Trigger Out.
SYNC
Means SYNC is selected for Trigger Out.
Returns
TRIG|SYNC
Examples
OUTPut:TRIGger:MODE SYNC
Outputs one cycle waveform from the Trigger Output connector when Inf-Cycles starts.
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 63

*PSC

This command sets and queries the power-on status flag that controls the automatic power-on execution of SRER and ESER. When *PSC is true, SRER and ESER are set to 0 at power-on. When *PSC is false, the current values in the SRER and ESER are preserved in nonvolatile memory when power is shut off and are restored at power-on.
This command:
Group
Status
Syntax
*PSC <NR1> *PSC?
Arguments
<NR1>=0
Sets the power-on status clear flag to false, disables the power-on clear, and allows the instrument to possibly assert SRQ after power-on.
<NR1>≠0
Sets the power-on status clear flag true; sending *PSC 1 therefore enables the power-on status clear and prevents any SRQ assertion after power-on.
Returns
<NR1>
Examples
*PSC 0
Sets the power-on status clear flag to false.
Command descriptions 64 AFG31000 Series Arbitrary Function Generator Programmer's Manual

*RCL (no query form)

This command restores the state of the instrument from a copy of the settings stored in the setup memory. The settings are stored using the *SAV command. If the specified setup memory is deleted, this command causes an error.
This command:
Group
Memory
Syntax
*RCL {0|1|2|3|4}
Arguments
0, 1, 2, 3, or 4
Specifies the location of setup memory.
Examples
*RCL 3
Restores the instrument from a copy of the settings stored in memory location 3.
Related Commands
*SAV (on page 65)

RECALL:SETUp (no query form)

This command restores the state of the instrument from a copy of the settings stored in the mess memory. The settings are stored using the *SAV command. If the specified file is deleted, this command causes an error.
This command:
Group
Mass Memory
Syntax
RECALL:SETUp <file_name>
Arguments
<file_name>
Specifies the file name.
Examples
RECALL:SETUp "U:/file1.tfs"
Restores the instrument from the file named file1.tfs that is stored in mass memory.
Related Commands
SAVe:SETUp (on page 66)
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 65

*RST (no query form)

This command resets the instrument to the factory default settings. This command is equivalent to pushing the Default button on the front panel. The default values are listed in Default Settings.
This command:
Group
System
Syntax
*RST
Arguments
None
Examples
*RST
Resets the AFG settings to the factory defaults.

*SAV (no query form)

This command stores the current settings of the AFG to a specified setup memory location. A setup memory location numbered 0 ( last setup memory) is automatically overwritten by the setups when you power off the instrument.
NOTE: If a specified numbered setup memory is locked, this command causes an error.
This command:
Group
Memory
Syntax
*SAV {0|1|2|3|4}
Arguments
0, 1, 2, 3, or 4
Examples
*SAV 2
Saves the current instrument state in the memory location 2.
Related Commands
*RCL (on page 64)
Command descriptions 66 AFG31000 Series Arbitrary Function Generator Programmer's Manual

SAVe:SETUp (no query form)

This command stores the current settings of the arbitrary function generator to a specified file in mass memory. This command:
Group
Mass Memory
Syntax
SAVe:SETUp <file_name>
Arguments
<file_name>
Examples
SAVe:SETUp "U:/file1.tfs"
Saves the present instrument state to the file1.tfs in the USB memory.
Related Commands
RECALL:SETUp (on page 64)
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 67

SEQControl:RMODe

This command and query sets or returns the run mode of the advanced mode. This command:
Group
Control
Syntax
SEQControl:RMODe{CONTinuous|TRIGgered|GATed|SEQuence} SEQControl:RMODe?
Arguments
CONTinuous
Sets Run Mode to Continuous.
TRIGgered
Sets Run Mode to Triggered.
GATed
Sets Run Mode to Gated.
SEQuence
Sets Run Mode to Sequence.
Returns
CONT|TRIG|GAT|SEQ
Examples
SEQControl:RMODe TRIGgered
Sets the instrument Run mode to Triggered.
SEQControl:RMODe?
Returns CONT if the instrument is in continuous mode.
Related Commands
SEQControl:RUN[:IMMediate] (on page 68) SEQControl:STOP[:IMMediate] (on page 68)
Command descriptions 68 AFG31000 Series Arbitrary Function Generator Programmer's Manual

SEQControl:RUN[:IMMediate] (no query form)

This command initiates the output of a waveform or sequence. This is equivalent to pushing the run button on the front-panel. The validation of the sequence will be done first. If there is an error, such as different length waveforms on CH1&CH2 one element, an error will be returned and the run will fail.
This command:
Group
Control
Syntax
SEQControl:RUN[:IMMediate]
Examples
SEQControl:RUN:IMMediate
Put the AFG sequence in the run state if valid.
Related Commands
SEQControl:STOP[:IMMediate] (on page 68)

SEQControl:STOP[:IMMediate] (no query form)

This command stops the output of a sequence. This command:
Group
Control
Syntax
SEQControl:STOP[:IMMediate]
Examples
SEQControl:STOP:IMMediate
Stop the output of a sequence.
Related Commands
SEQControl:RUN[:IMMediate] (on page 68)
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 69

SEQControl:RESET[:IMMediate] (no query form)

This command resets sequence to its default state. The waveform list and the sequence table will be cleared. Parameters such as sampling rate, skew time will be set to its default value.
This command:
Group
Control
Syntax
SEQControl:RESET
Examples
SEQControl:RESET
Put the AFG sequence in the run state if valid.
Related Commands
SEQControl:RUN[:IMMediate] (on page 68) SEQControl:STOP[:IMMediate] (on page 68)

SEQControl:STATe

This command takes the instrument to Sequence mode or returns it to AFG mode. This command:
Group
Control
Syntax
SEQControl:STATe {ON|OFF|<NR1>} SEQControl:STATe?
Arguments
ON or <NR1>≠ 0
Sequence mode on
OFF or <NR1> = 0
Sequence mode off
Returns
<NR1>
0 indicates that the instrument is in AFG mode. 1 indicates that the instrument is in Sequence mode.
Examples
SEQControl:STATe ON
Enters sequence mode
SEQControl:STATe?
Returns 0 if the instrument sequence is stopped.
Command descriptions 70 AFG31000 Series Arbitrary Function Generator Programmer's Manual

SEQControl:RSTATe? (query only)

This query returns the run state of the sequence. This command:
Group
Control
Syntax
SEQControl:RSTATe?
Returns
<NR1>
0 indicates that the instrument has stopped. 1 indicates that the instrument is running.
Examples
SEQControl:RSTATe?
Return 0 if the instrument sequence is stopped.
Related Commands
SEQControl:RUN[:IMMediate] (on page 68) SEQControl:STOP[:IMMediate] (on page 68)

SEQControl:SRATe

This command sets and query the sampling rate of the instrument. This command:
Group
Control
Syntax
SEQControl:SRATe <NR2> SEQControl:SRATe?
Arguments
<NR2>
Returns
<NR2>
Examples
SEQControl:SRATe 1.5E9
Sets sampling rate to 1.5 GHz.
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 71

SEQControl:DELay

This command set or returns the time of trigger delay in sequence. This command is only valid in two-channel model instrument.
This command:
Group
Control
Syntax
SEQControl:DELay {<skew_time>|MINimum|MAXimum} SEQControl:DELay?
Arguments
<skew_time>::=<NR3>
Ranges from -320ns to 320ns At *RST,this returns 0.
Returns
<NR3>
Examples
SEQControl:DELay 100NS
Sets the channel two skew timer to 100ns.
Related Commands
[SOURce[1|2]:]PHASe:INITiate (on page 121)
Command descriptions 72 AFG31000 Series Arbitrary Function Generator Programmer's Manual

SEQControl:SOURce[n]:SCALe

This command sets or returns scale of sequence output. This command:
Group
Control
Syntax
SEQControl:SOURce[1|2]:SCALe <scale_value> SEQControl:SOURce[1|2]:SCALe?
Arguments
<scale_value>::=<NR3>
Ranges from 0.0 to 1000. At *RST,this returns 100.
Returns
<NR3>
Examples
SEQControl:SOURce1:SCALe 50
Sets the channel one output scale to 50%.
Related Commands
SEQControl:SOURce[1|2]:OFFSet (on page 73)
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 73

SEQControl:SOURce[n]:OFFSet

This command sets or returns offset of sequence output. This command:
Group
Control
Syntax
SEQControl:SOURce[1|2]:OFFSet {<offset_value>|MINimum|MAXimum} SEQControl:SOURce[1|2]:OFFSet?
Arguments
<offset_value>::=<NR3>
Ranges from -1e6 to 1e6. At *RST,this returns 0.
Returns
<NR3>
Examples
SEQControl:SOURce1:OFFSet 0.1
Sets the channel one output offset to 100 mV.
Related Commands
SEQControl:SOURce[1|2]:SCALe (on page 73)
Command descriptions 74 AFG31000 Series Arbitrary Function Generator Programmer's Manual

SEQControl:TIMer

This command sets or returns the time of wait and jump trigger event. When the event is TIMER and not in off state, it takes effect.
This command:
Group
Control
Syntax
SEQControl:TIMer {<timer_value>|MINimum|MAXimum} SEQControl:TIMer?
Arguments
< timer_value >::=<NR2>
Ranges from 2 us to 3600s.
Returns
<NR2>
Examples
SEQControl:TIMer 0.5
Sets the trigger timer to 0.5s.
Related Commands
SEQuence:ELEM[n]:JUMP:EVENt (on page 80)
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 75

SEQuence:ELEM[n]:GOTO:INDex

This command and query sets or returns the target index for the GOTO command of the sequencer. After generating the waveform specified in a sequence element, the sequencer jumps to the element specified as GOTO target. This is an unconditional jump. If GOTO target is not specified, the sequencer simply moves on to the next element. If the Loop Count is Infinite, the GOTO target which is specified in the element is not used. For this command to work, the SEQuence:ELEM[n]:GOTO:STATe must be ON and the sequence element must exist.
NOTE: The first element of a sequence is taken to be 1 not 0.
This command:
Group
Sequence
Syntax
SEQuence:ELEM[n]:GOTO:INDex {<target>|MINimum|MAXimum} SEQuence:ELEM[n]:GOTO:INDex?
Arguments
<target>::=<NR1>
Ranges from 1 to 256, it is related to the current sequence length and run mode. It should be no bigger than current sequence table size. The value of <n> is an index number of sequence, ranging from 1 to
256.
Returns
<target>
Examples
SEQuence:ELEM1:GOTO:INDEX 6
Causes the sequencer to jump to sixth element after executing the first element.
SEQuence:ELEM1:GOTO:INDEX?
Might return 6.
Related Commands
SEQuence:ELEM[n]:GOTO:STATe (on page 76) SEQuence:LENGth (on page 88)
Command descriptions 76 AFG31000 Series Arbitrary Function Generator Programmer's Manual

SEQuence:ELEM[n]:GOTO:STATe

This command and query sets or returns the GOTO state of the sequencer. For the SEQuence:ELEM[n]:GOTO:INDex command to take effect, the GOTO state must be set to ON.
This command:
Group
Sequence
Syntax
SEQuence:ELEM[n]:GOTO:STATe <goto_state> SEQuence:ELEM[n]:GOTO:STATe?
Arguments
<goto_state>::=<Boolean>
0 indicates OFF. 1 indicates ON.
At *RST, this returns 0. The value of <n> is an index number of sequence, ranging from 1 to 256.
Returns
<NR1>
Examples
SEQuence:ELEM1:GOTO:STATe 1
Sets the GOTO state to ON.
Related Commands
SEQuence:ELEM[n]:GOTO:INDex (on page 75) SEQuence:LENGth (on page 88)
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 77

SEQuence:ELEM[n]:MARKer:STATe

This command:
Group
Sequence
Syntax
SEQuence:ELEM[n]:MARKer:STATe <marker_state> SEQuence:ELEM[n]:MARKer:STATe?
Arguments
<marker_state>::=<Boolean>
0 indicates OFF. 1 indicates ON.
At *RST, this returns 0. The value of <n> is an index number of sequence, ranging from 1 to 256.
Returns
<NR1>
Examples
SEQuence:ELEM1:MARKer:STATE 1
Sets the marker state to ON.
Related Commands
SEQuence:LENGth (on page 88)
Command descriptions 78 AFG31000 Series Arbitrary Function Generator Programmer's Manual

SEQuence:ELEM[n]:JTARget:INDex

This command and query sets or returns the target index for the sequencer’s event jump operation. Note that this
will take effect only when SEQuence:ELEM[n]:JTARget:TYPE is set to INDex. This command:
Group
Sequence
Syntax
SEQuence:ELEM[n]:JTARget:INDex <target> SEQuence:ELEM[n]:JTARget:INDex?
Arguments
<target>::=<NR1>
Ranges from 1 to 256. It is related to the current sequence length and run mode. It should be no bigger than current sequence table size.
The value of <n> is an index number of sequence, ranging from 1 to 256.
Returns
<NR1>
Examples
SEQuence:ELEM1:JTARGET:INDEX 10
Sets the jump target index to 10th element.
Related Commands
SEQuence:LENGth (on page 88) SEQuence:ELEM (on page 75) SEQuence:ELEM[n]:JTARget:TYPE
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 79

SEQuence:ELEM[n]:JTARget:TYPE

This command and query sets or returns the event jump target type for the jump. This command:
Group
Sequence
Syntax
SEQuence:ELEM[n]:JTARget:TYPE {INDex|NEXT|OFF} SEQuence:ELEM[n]:JTARget:TYPE?
Arguments
INDex
Enables the sequencer to jump to an index set using SEQuence:ELEM1:JTARget:INDex command.
NEXT
Enables the sequencer to jump to the next sequence element.
SEQuence:ELEM1:JTARget:INDex
Setting is ignored.
OFF
Enables the sequencer to turn off the event jump state. In this state, even if the event occurs, the sequencer ignores it.
The value of <n> is an index number of sequence, ranging from 1 to 256.
Returns
{IND|NEXT|OFF}
Examples
SEQuence:ELEM1:JTARget:TYPE INDex
Sets the jump target type to INDex.
Related Commands
SEQuence:LENGth (on page 88) SEQuence:ELEM[n]:JTARget:INDex (on page 78)
Command descriptions 80 AFG31000 Series Arbitrary Function Generator Programmer's Manual

SEQuence:ELEM[n]:JUMP:EVENt

This command and query Set or returns the jump trigger event type. If SEQuence:ELEM[n]:JTARget:TYPE is in the OFF state, the sequencer ignores trigger signals.
This command:
Group
Sequence
Syntax
SEQuence:ELEM[n]:JUMP:EVENt {EXT|BUS|MANual|TIMer} SEQuence:ELEM[n]:JUMP:EVENt?
Arguments
EXTernal
Indicates trigger signal is external trigger.
BUS
Indicates trigger signal generated by *TRG command.
MANual
Indicates trigger signal generated by manual press button.
TIMer
Indicates trigger signal generated by internal timer. At *RST, this returns EXT. The value of <n> is an index number of sequence, ranging from 1 to 256.
Returns
{EXT|BUS|MAN|TIM}
Examples
SEQUENCE:ELEM1:JUMP:EVENt EXT
Set the jump trigger event to EXT.
Related Commands
SEQuence:LENGth (on page 88) SEQuence:ELEM[n]:JUMP:SLOpe (on page 81)
Command descriptions
AFG31000 Series Arbitrary Function Generator Programmer's Manual 81

SEQuence:ELEM[n]:JUMP:SLOPe

This command sets or returns the slope of external trigger for jump trigger event. If SEQuence:ELEM[n]: JTARget:TYPE is in the OFF state, the sequencer ignores trigger signals.
If SEQUENCE:ELEM[n]:JUMP:EVENt is not the Ext, this command doesn't take effect. This command:
Group
Sequence
Syntax
SEQuence:ELEM[n]:JUMP:SLOPe {POSitive|NEGative} SEQuence:ELEM[n]:JUMP:SLOPe?
Arguments
POSitive
Indicates that the event occurs on the rising edge of the external trigger signal.
NEGative
Indicates that the event occurs on the falling edge of the external trigger signal. At *RST, this returns POSitive. The value of <n> is an index number of sequence, ranging from 1 to 256.
Returns
{POS|NEG}
Examples
SEQuence:ELEM1:JUMP:SLOPe POSitive
Sets the trigger slope to positive, which triggers on the rising edge of the signal.
Related Commands
SEQuence:LENGth (on page 88) SEQuence:ELEM[n]:JUMP:EVENt (on page 80)
Command descriptions 82 AFG31000 Series Arbitrary Function Generator Programmer's Manual

SEQuence:ELEM[n]:LOOP:COUNt

This command and query sets or returns the loop count. Loop count setting for an element is ignored if SEQuence:ELEM[n]:LOOP:INFinite is set to ON.
This command:
Group
Sequence
Syntax
SEQuence:ELEM[n]:LOOP:COUNt {<NR1>|MINimum|MAXimum} SEQuence:ELEM[n]:LOOP:COUNt?
Arguments
<NR1> The value ranges between 1 and 1E6. At *RST, this returns 1. The value of <n> is an index number of sequence, ranging from 1 to 256.
Returns
<NR1>
Examples
SEQuence:ELEM1:LOOP:COUNt 100
Sets the element loop count to 100.
Related Commands
SEQuence:LENGth (on page 88) SEQuence:ELEM[n]:LOOP:INFinite (on page 83)
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 83

SEQuence:ELEM[n]:LOOP:INFinite

This command and query sets or returns the infinite looping state for a sequence element. When an infinite loop is set on an element, the sequencer continuously executes that element. To break the infinite loop, either issue the
SEQControl:STOP[:IMMediate] command or change the run mode to Continuous by using SEQControl:RMODe command.
This command:
Group
Sequence
Syntax
SEQuence:ELEM[n]:LOOP:INFinite <loop_state> SEQuence:ELEM[n]:LOOP:INFinite?
Arguments
<loop_state>::=<Boolean>
0 indicates OFF 1 indicates ON At *RST, this returns 0.The value of <n> is an index number of sequence, ranging from 1 to 256.
Returns
<NR1>
Examples
SEQuence:ELEM1:LOOP:INFinite 1
Sets the infinite flag to ON.
Related Commands
SEQuence:LENGth (on page 88) SEQuence:ELEM[n]:LOOP:COUNt (on page 82)
Command descriptions 84 AFG31000 Series Arbitrary Function Generator Programmer's Manual

SEQuence:ELEM[n]:TWAit[:STATe]

This command and query sets or returns the wait trigger state for an element. Send a trigger signal, using an internal timer, in one of the following ways:
By using an external trigger signal.By pressing the “Force Trigger” button on the front panel.By sending the *TRG remote command.
This command:
Group
Sequence
Syntax
SEQuence:ELEM[n]:TWAit[:STATe] <wait_trigger_state> SEQuence:ELEM[n]:TWAit[:STATe]?
Arguments
<wait_trigger_state>::=<Boolean>
0 indicates OFF 1 indicates ON At *RST, this returns 0.The value of <n> is an index number of sequence, ranging from 1 to 256.
Returns
<NR1>
Examples
SEQuence:ELEM1:TWAit 1
Sets the wait trigger state to ON.
Related Commands
SEQuence:LENGth (on page 88) SEQuence:ELEM[n]:TWAit:EVENt (on page 85) SEQuence:ELEM[n]:TWAit:SLOpe (on page 86)
Command descriptions
AFG31000 Series Arbitrary Function Generator Programmer's Manual 85

SEQuence:ELEM[n]:TWAit:EVENt

This command and query Set or returns the wait trigger event type. If SEQuence:ELEM[n]:TWAit is in the OFF state, the sequencer ignores trigger signals.
This command:
Group
Sequence
Syntax
SEQuence:ELEM[n]:TWAit:EVENt {EXT|BUS|MANual|TIMer} SEQuence:ELEM[n]:TWAit:EVENt?
Arguments
EXT
Indicates trigger signal is external trigger.
BUS
Indicates trigger signal generated by *TRG command.
MANual
Indicates trigger signal generated by manual press button.
TIMer
Indicates trigger signal generated by internal timer. At *RST, this returns EXT. The value of <n> is an index number of sequence, ranging from 1 to 256.
Returns
{EXT|BUS|MAN|TIM}
Examples
SEQuence:ELEM1:TWAit:EVENt EXT
Set the wait trigger event of element 1 to EXT.
Related Commands
SEQuence:LENGth (on page 88) SEQuence:ELEM[n]:TWAit:SLOpe (on page 86)
Command descriptions 86 AFG31000 Series Arbitrary Function Generator Programmer's Manual

SEQuence:ELEM[n]:TWAit:SLOPe

This command sets or returns the slope of external trigger for wait trigger event. If SEQuence:ELEM[n]:TWAit is in the OFF state, the sequencer ignores trigger signals.
If SEQuence:ELEM[n]:TWAit:EVENt is not the Ext, this command don’t take effect. This command:
Group
Sequence
Syntax
SEQuence:ELEM[n]:TWAit:SLOPe {POSitive|NEGative} SEQuence:ELEM[n]:TWAit:SLOPe?
Arguments
POSitive
Indicates that the event occurs on the rising edge of the external trigger signal.
NEGative
Indicates that the event occurs on the falling edge of the external trigger signal. At *RST, this returns POS. The value of <n> is an index number of sequence, ranging from 1 to 256.
Returns
{POS|NEG}
Examples
SEQuence:ELEM1:TWAit:SLOPe POSitive
Sets the trigger slope of element 1 to positive, which triggers on the rising edge of the signal.
Related Commands
SEQuence:LENGth (on page 88) SEQuence:ELEM[n]:TWAit:EVENt (on page 85)
Command descriptions AFG31000 Series Arbitrary Function Generator Programmer's Manual 87

SEQuence:ELEM[n]:WAVeform[m]

This command and query sets or returns the waveform for a sequence element.
NOTE. The value of n indicates index number of sequence.The value of m = 1|2 is based on the model. If the suffix is omitted, 1 is assumed.The value of m indicates the channel that will output the waveform when the sequence is run.The length of all the waveforms specified for a sequence element must be equal.
This command:
Group
Sequence
Syntax
SEQuence:ELEM[n]:WAVeform[1|2] <wfm_name> SEQuence:ELEM[n]:WAVeform[1|2]?
Arguments
<wfm_name>::=<string>
Indicates that the waveform path and name. M:/ indicates the internal memory. U:/ indicates the external USB memory. P:/ indicates the internal predefine waveforms. The value of <n> is an index number of sequence, ranging from 1 to 256.
Returns
<string>
Examples
SEQuence:ELEM1:WAVeform1 "P:/Pulse1000.tfwx"
Sets the Pulse1000.tfwx waveform from internal driver into the first element of the sequence.
Related Commands
SEQuence:LENGth (on page 88)
Command descriptions 88 AFG31000 Series Arbitrary Function Generator Programmer's Manual

SEQuence:LENGth

This command and query sets or returns the sequence length. You can use the command to clear all sequence elements in a single action by passing 0 as the parameter. However, this action cannot be undone so exercise necessary caution. Also note that passing a value less than the sequence’s current length will cause some sequence elements to be deleted at the end of the sequence. For example if SEQuence:LENGth? returns 200 and you subsequently send SEQuence:LENGth 21, all sequence elements except the first 20 will be deleted.
This command:
Group
Sequence
Syntax
SEQuence:LENGth <NR1> SEQuence:LENGth?
Arguments
<NR1>
Ranges from 0 to 256. At *RST, this returns 0.
Returns
<NR1>
Examples
SEQuence:LENGth 10
Creates a sequence of 10 elements initializing all sequence parameters to default values.
SEQuence:LENGth?
Now returns 10.

SEQuence:NEW (No Query Form)

This command creates a new sequence with no name, empty steps,and no tracks. This command clears the waveform list and sets the instrument settings to default. Its function is the same as SEQC:RESET.
This command:
Group
Sequence
Syntax
SEQuence:NEW
Examples
SEQuence:NEW
Creates a new sequence.
Loading...