100% found this document useful (1 vote)
502 views1,820 pages

Infiniium Programming Guide

Description of SCPI commands for Infiniium oscilloscopes.

Uploaded by

Jan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
502 views1,820 pages

Infiniium Programming Guide

Description of SCPI commands for Infiniium oscilloscopes.

Uploaded by

Jan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1820

Keysight Infiniium Oscilloscopes

Programmer's
Guide
Notices
© Keysight Technologies, Inc. 2007-2019 U.S. Government Rights Safety Notices
No part of this manual may be reproduced in The Software is "commercial computer
any form or by any means (including software," as defined by Federal Acquisition
electronic storage and retrieval or
CAUTION
Regulation ("FAR") 2.101. Pursuant to FAR
translation into a foreign language) without 12.212 and 27.405-3 and Department of A CAUTION notice denotes a hazard.
prior agreement and written consent from Defense FAR Supplement ("DFARS")
Keysight Technologies, Inc. as governed by It calls attention to an operating
227.7202, the U.S. government acquires
United States and international copyright commercial computer software under the
procedure, practice, or the like that,
laws. same terms by which the software is if not correctly performed or
customarily provided to the public. adhered to, could result in damage
Revision Accordingly, Keysight provides the Software to the product or loss of important
to U.S. government customers under its data. Do not proceed beyond a
Version 06.30.01007 standard commercial license, which is
CAUTION notice until the indicated
embodied in its End User License Agreement
Edition (EULA), a copy of which can be found at conditions are fully understood and
www.keysight.com/find/sweula. The met.
January 2019
license set forth in the EULA represents the
Available in electronic format only exclusive authority by which the U.S.
government may use, modify, distribute, or
Published by: disclose the Software. The EULA and the
WARNING
Keysight Technologies, Inc. license set forth therein, does not require or
1900 Garden of the Gods Road A WARNING notice denotes a
permit, among other things, that Keysight:
Colorado Springs, CO 80907 USA (1) Furnish technical information related to hazard. It calls attention to an
commercial computer software or operating procedure, practice, or
Warranty commercial computer software the like that, if not correctly
The material contained in this document is
documentation that is not customarily performed or adhered to, could
provided to the public; or (2) Relinquish to, result in personal injury or death.
provided "as is," and is subject to being
or otherwise provide, the government rights
changed, without notice, in future editions.
in excess of these rights customarily
Do not proceed beyond a WARNING
Further, to the maximum extent permitted
provided to the public to use, modify, notice until the indicated
by applicable law, Keysight disclaims all conditions are fully understood and
reproduce, release, perform, display, or
warranties, either express or implied, with
regard to this manual and any information
disclose commercial computer software or met.
commercial computer software
contained herein, including but not limited
documentation. No additional government
to the implied warranties of
requirements beyond those set forth in the
merchantability and fitness for a particular
EULA shall apply, except to the extent that
purpose. Keysight shall not be liable for
those terms, rights, or licenses are explicitly
errors or for incidental or consequential
required from all providers of commercial
damages in connection with the furnishing,
computer software pursuant to the FAR and
use, or performance of this document or of
the DFARS and are set forth specifically in
any information contained herein. Should
writing elsewhere in the EULA. Keysight
Keysight and the user have a separate
shall be under no obligation to update,
written agreement with warranty terms
revise or otherwise modify the Software.
covering the material in this document that
With respect to any technical data as
conflict with these terms, the warranty
defined by FAR 2.101, pursuant to FAR
terms in the separate agreement shall
12.211 and 27.404.2 and DFARS 227.7102,
control.
the U.S. government acquires no greater
than Limited Rights as defined in FAR 27.401
Technology License or DFAR 227.7103-5 (c), as applicable in any
technical data.
The hardware and/or software described in
this document are furnished under a license
and may be used or copied only in
accordance with the terms of such license.

2 Keysight Infiniium Oscilloscopes Programmer's Guide


In This Book
This book is your guide to programming Infiniium oscilloscopes that have the 5.00
or greater, next-generation user interface software. Supported models include:
• 9000 Series and 9000H Series oscilloscopes.
• S-Series oscilloscopes.
• 90000A Series oscilloscopes.
• 90000 X-Series oscilloscopes.
• V-Series oscilloscopes.
• 90000 Q-Series oscilloscopes.
• Z-Series oscilloscopes.
• Infiniium Offline oscilloscope analysis software.
In this book, Chapter 1, “What's New,” starting on page 43, describes
programming command changes in the latest version of oscilloscope software.
Chapter 2, “Setting Up,” starting on page 95, describes the steps you must take
before you can control the oscilloscope with remote programs.
The next several chapters give you an introduction to programming the
oscilloscopes, along with necessary conceptual information. These chapters
describe basic program communications, interface, syntax, data types, and status
reporting:
• Chapter 3, “Introduction to Programming,” starting on page 103
• Chapter 4, “Sequential (Blocking) vs. Overlapped Commands,” starting on page
139
• Chapter 5, “LAN, USB, and GPIB Interfaces,” starting on page 141
• Chapter 6, “Message Communication and System Functions,” starting on page
153
• Chapter 7, “Status Reporting,” starting on page 157
• Chapter 8, “Remote Acquisition Synchronization,” starting on page 187
• Chapter 9, “Programming Conventions,” starting on page 205
The next chapters describe the commands used to program the oscilloscopes.
Each chapter describes the set of commands that belong to an individual
subsystem, and explains the function of each command.
• Chapter 10, “Acquire Commands,” starting on page 213
• Chapter 11, “Analyze Commands,” starting on page 247
• Chapter 12, “Bus Commands,” starting on page 289
• Chapter 13, “Calibration Commands,” starting on page 301
• Chapter 14, “Channel Commands,” starting on page 313
• Chapter 15, “Common Commands,” starting on page 415
• Chapter 16, “Digital Commands,” starting on page 443

Keysight Infiniium Oscilloscopes Programmer's Guide 3


• Chapter 17, “Disk Commands,” starting on page 449
• Chapter 18, “Display Commands,” starting on page 469
• Chapter 19, “Function Commands,” starting on page 513
• Chapter 20, “Hardcopy Commands,” starting on page 575
• Chapter 21, “Histogram Commands,” starting on page 581
• Chapter 22, “Hosted Commands,” starting on page 597
• Chapter 23, “InfiniiScan (ISCan) Commands,” starting on page 623
• Chapter 24, “Limit Test Commands,” starting on page 645
• Chapter 25, “Lister Commands,” starting on page 655
• Chapter 26, “Marker Commands,” starting on page 659
• Chapter 27, “Mask Test Commands,” starting on page 689
• Chapter 28, “Measure Commands,” starting on page 755
• Chapter 29, “Pod Commands,” starting on page 1047
• Chapter 30, “Root Level Commands,” starting on page 1053
• Chapter 31, “Serial Bus Commands,” starting on page 1091
• Chapter 32, “Self-Test Commands,” starting on page 1169
• Chapter 33, “Serial Data Equalization Commands,” starting on page 1173
• Chapter 34, “System Commands,” starting on page 1219
• Chapter 35, “Time Base Commands,” starting on page 1239
• Chapter 36, “Trigger Commands,” starting on page 1253
• Chapter 37, “Waveform Commands,” starting on page 1453
• Chapter 38, “Waveform Memory Commands,” starting on page 1517
• Chapter 39, “Xtalk (Crosstalk Analysis) Commands,” starting on page 1531
Chapter 40, “Obsolete and Discontinued Commands,” starting on page 1569,
describes obsolete (deprecated) commands that still work but have been replaced
by newer commands, and lists discontinued commands that are no longer
supported.
Chapter 41, “Error Messages,” starting on page 1615, describes error messages.
Chapter 42, “Sample Programs,” starting on page 1627, shows example programs
in various languages using the VISA COM, VISA, and SICL libraries.
Finally, Chapter 43, “Reference,” starting on page 1763, contains file format
descriptions.
See Also • For more information on using the SICL, VISA, and VISA COM libraries in
general, see the documentation that comes with the Keysight IO Libraries
Suite.
• For information on controller PC interface configuration, see the
documentation for the interface card used (for example, the Keysight 82350A
GPIB interface).

4 Keysight Infiniium Oscilloscopes Programmer's Guide


• For information on oscilloscope front-panel operation, see the User's Guide.
• For detailed connectivity information, refer to the Keysight Technologies
USB/LAN/GPIB Connectivity Guide. For a printable electronic copy of the
Connectivity Guide, direct your Web browser to www.keysight.com and search
for "Connectivity Guide".
• For the latest versions of this and other manuals, see:
http://www.keysight.com/find/Infiniium-manuals

Keysight Infiniium Oscilloscopes Programmer's Guide 5


6 Keysight Infiniium Oscilloscopes Programmer's Guide
Contents
In This Book / 3

1 What's New
What's New in Version 6.30 / 44
What's New in Version 6.20 / 48
What's New in Version 6.10 / 51
What's New in Version 6.00 / 53
What's New in Version 5.75 / 57
What's New in Version 5.70 / 58
What's New in Version 5.60 / 61
What's New in Version 5.52 / 64
What's New in Version 5.51 / 65
What's New in Version 5.50 / 66
What's New in Version 5.30 / 72
What's New in Version 5.20 / 74
What's New in Version 5.10 / 76
What's New in Version 5.00 / 77
What's New in Version 4.60 / 81
What's New in Version 4.50 / 82
What's New in Version 4.30 / 83
What's New in Version 4.20 / 84
What's New in Version 4.10 / 85
What's New in Version 4.00 / 86
What's New in Version 3.50 / 87
What's New in Version 3.20 / 89
What's New in Version 3.11 / 90
What's New in Version 3.10 / 91

Keysight Infiniium Oscilloscopes Programmer's Guide 7


2 Setting Up
Step 1. Install Keysight IO Libraries Suite software / 96
Step 2. Connect and set up the oscilloscope / 97
Using the USB (Device) Interface / 97
Using the LAN Interface / 97
Step 3. Verify the oscilloscope connection / 98

3 Introduction to Programming
Communicating with the Oscilloscope / 105
Instructions / 106
Instruction Header / 107
White Space (Separator) / 108
Braces / 109
Ellipsis / 110
Square Brackets / 111
Command and Query Sources / 112
Program Data / 113
Header Types / 114
Simple Command Header / 114
Compound Command Header / 114
Combining Commands in the Same Subsystem / 115
Common Command Header / 115
Duplicate Mnemonics / 115
Query Headers / 116
Program Header Options / 117
Character Program Data / 118
Numeric Program Data / 119
Embedded Strings / 120
Program Message Terminator / 121
Common Commands within a Subsystem / 122
Selecting Multiple Subsystems / 123
Programming Getting Started / 124
Referencing the IO Library / 125

8 Keysight Infiniium Oscilloscopes Programmer's Guide


Opening the Oscilloscope Connection via the IO Library / 126
Initializing the Interface and the Oscilloscope / 127
Autoscale / 127
Setting Up the Oscilloscope / 128
Example Program / 129
Using the DIGitize Command / 130
Receiving Information from the Oscilloscope / 132
String Variable Example / 133
Numeric Variable Example / 134
Definite-Length Block Response Data / 135
Multiple Queries / 136
Oscilloscope Status / 137

4 Sequential (Blocking) vs. Overlapped Commands

5 LAN, USB, and GPIB Interfaces


LAN Interface Connector / 142
GPIB Interface Connector / 143
Default Startup Conditions / 144
Interface Capabilities / 145
GPIB Command and Data Concepts / 146
Communicating Over the GPIB Interface / 147
Interface Select Code / 147
Oscilloscope Address / 147
Communicating Over the LAN Interface / 148
Communicating via Telnet and Sockets / 149
Telnet / 149
Sockets / 149
Bus Commands / 151
Device Clear / 151
Group Execute Trigger / 151
Interface Clear / 151

Keysight Infiniium Oscilloscopes Programmer's Guide 9


6 Message Communication and System Functions
Protocols / 154
Functional Elements / 154
Protocol Overview / 154
Protocol Operation / 155
Protocol Exceptions / 155
Suffix Multiplier / 155
Suffix Unit / 156

7 Status Reporting
Status Reporting Data Structures / 160
Status Byte Register / 162
Service Request Enable Register / 164
Message Event Register / 165
Trigger Event Register / 166
Standard Event Status Register / 167
Standard Event Status Enable Register / 168
Operation Status Register / 169
Operation Status Enable Register / 170
Mask Test Event Register / 171
Mask Test Event Enable Register / 172
Acquisition Done Event Register / 173
Process Done Event Register / 174
Trigger Armed Event Register / 175
Auto Trigger Event Register / 176
Error Queue / 177
Output Queue / 178
Message Queue / 179
Clearing Registers and Queues / 180
Example: Checking for Armed Status / 182

8 Remote Acquisition Synchronization


Programming Flow / 188
Setting Up the Oscilloscope / 189

10 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquiring a Waveform / 190
Retrieving Results / 191
Acquisition Synchronization / 192
Blocking Synchronization / 192
Polling Synchronization With Timeout / 192
Example: Blocking and Polling Synchronization / 193
Single Shot Device Under Test (DUT) / 202
Averaging Acquisition Synchronization / 203

9 Programming Conventions
Truncation Rule / 206
The Command Tree / 207
Command Types / 207
Tree Traversal Rules / 207
Tree Traversal Examples / 208
Infinity Representation / 210
Response Generation / 211
EOI / 212

10 Acquire Commands
:ACQuire:AVERage / 215
:ACQuire[:AVERage]:COUNt / 216
:ACQuire:BANDwidth / 217
:ACQuire:BANDwidth:FRAMe? / 219
:ACQuire:BANDwidth:TESTLIMITS? / 220
:ACQuire:COMPlete / 221
:ACQuire:COMPlete:STATe / 223
:ACQuire:HRESolution / 224
:ACQuire:INTerpolate / 226
:ACQuire:MODE / 227
:ACQuire:POINts[:ANALog] — Memory depth / 229
:ACQuire:POINts:AUTO / 231
:ACQuire:POINts:DIGital? / 232
:ACQuire:POINts:TESTLIMITS? / 233
:ACQuire:REDGe — RealEdge Channel Inputs (90000 Q-Series, Z-Series) / 234
:ACQuire:RESPonse (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series,
Z-Series) / 235
:ACQuire:SEGMented:AUToplay / 236
:ACQuire:SEGMented:COUNt / 237

Keysight Infiniium Oscilloscopes Programmer's Guide 11


:ACQuire:SEGMented:INDex / 238
:ACQuire:SEGMented:PLAY / 239
:ACQuire:SEGMented:PRATe / 240
:ACQuire:SEGMented:TTAGs / 241
:ACQuire:SRATe[:ANALog] — Analog Sample Rate / 242
:ACQuire:SRATe[:ANALog]:AUTO / 243
:ACQuire:SRATe:DIGital — Digital Channels Sample Rate / 244
:ACQuire:SRATe:DIGital:AUTO / 245
:ACQuire:SRATe:TESTLIMITS? / 246

11 Analyze Commands
:ANALyze:AEDGes / 249
:ANALyze:CLOCk / 250
:ANALyze:CLOCk:METHod / 251
:ANALyze:CLOCk:METHod:ALIGn / 254
:ANALyze:CLOCk:METHod:DEEMphasis / 255
:ANALyze:CLOCk:METHod:EDGE / 256
:ANALyze:CLOCk:METHod:IDLe / 258
:ANALyze:CLOCk:METHod:JTF / 259
:ANALyze:CLOCk:METHod:OJTF / 261
:ANALyze:CLOCk:METHod:PLLTrack / 264
:ANALyze:CLOCk:METHod:SKEW / 265
:ANALyze:CLOCk:METHod:SKEW:AUTomatic / 266
:ANALyze:CLOCk:METHod:SOURce / 267
:ANALyze:CLOCk:VERTical / 268
:ANALyze:CLOCk:VERTical:OFFSet / 269
:ANALyze:CLOCk:VERTical:RANGe / 270
:ANALyze:SIGNal:DATarate / 271
:ANALyze:SIGNal:SYMBolrate / 273
:ANALyze:SIGNal:MIXer:CABLeloss / 275
:ANALyze:SIGNal:MMWave:CALibrate / 276
:ANALyze:SIGNal:MMWave:CFRequency / 277
:ANALyze:SIGNal:MMWave:CONNect / 278
:ANALyze:SIGNal:MMWave:LOADdress / 279
:ANALyze:SIGNal:MMWave:MBANdwidth / 280
:ANALyze:SIGNal:PATTern:CLEar / 281
:ANALyze:SIGNal:PATTern:LOAD / 282
:ANALyze:SIGNal:PATTern:PLENgth / 283
:ANALyze:SIGNal:PATTern:SMAP / 284
:ANALyze:SIGNal:TYPE / 285
:ANALyze:VIEW / 288

12 Keysight Infiniium Oscilloscopes Programmer's Guide


12 Bus Commands
:BUS:B<N>:TYPE / 290
:BUS<B>:BIT<M> / 292
:BUS<B>:BITS / 293
:BUS<B>:CLEar / 294
:BUS<B>:CLOCk / 295
:BUS<B>:CLOCk:SLOPe / 296
:BUS<B>:DISPlay / 297
:BUS<B>:LABel / 298
:BUS<B>:READout / 299

13 Calibration Commands
:CALibrate:DATE? / 303
:CALibrate:OUTPut / 304
:CALibrate:OUTPut:AUX / 306
:CALibrate:OUTPut:AUX:RTIMe / 307
:CALibrate:OUTPut:CAL / 308
:CALibrate:SKEW / 309
:CALibrate:STATus? / 310
:CALibrate:TEMP? / 311

14 Channel Commands
:CHANnel<N>:BWLimit (9000 Series, 9000H Series, S-Series) / 316
:CHANnel<N>:COMMonmode / 317
:CHANnel<N>:DIFFerential / 318
:CHANnel<N>:DIFFerential:SKEW / 319
:CHANnel<N>:DISPlay / 320
:CHANnel<N>:DISPlay:AUTO / 321
:CHANnel<N>:DISPlay:OFFSet / 323
:CHANnel<N>:DISPlay:RANGe / 325
:CHANnel<N>:DISPlay:SCALe / 327
:CHANnel<N>:INPut / 329
:CHANnel<N>:INVert / 330
:CHANnel<N>:ISIM:APPLy / 331
:CHANnel<N>:ISIM:BANDwidth / 332
:CHANnel<N>:ISIM:BWLimit / 334
:CHANnel<N>:ISIM:BWLimit:TYPE / 336
:CHANnel<N>:ISIM:CONVolve / 337
:CHANnel<N>:ISIM:CORRection / 338
:CHANnel<N>:ISIM:DEConvolve / 340
:CHANnel<N>:ISIM:DELay / 341

Keysight Infiniium Oscilloscopes Programmer's Guide 13


:CHANnel<N>:ISIM:NORMalize / 342
:CHANnel<N>:ISIM:PEXTraction / 343
:CHANnel<N>:ISIM:SPAN / 345
:CHANnel<N>:ISIM:STATe / 346
:CHANnel<N>:LABel / 347
:CHANnel<N>:OFFSet / 348
:CHANnel<N>:PROBe / 349
:CHANnel<N>:PROBe:ACCAL / 350
:CHANnel<N>:PROBe:ATTenuation / 351
:CHANnel<N>:PROBe:AUTozero / 352
:CHANnel<N>:PROBe:COUPling / 353
:CHANnel<N>:PROBe:EADapter / 354
:CHANnel<N>:PROBe:ECOupling / 357
:CHANnel<N>:PROBe:EXTernal / 358
:CHANnel<N>:PROBe:EXTernal:GAIN / 359
:CHANnel<N>:PROBe:EXTernal:OFFSet / 360
:CHANnel<N>:PROBe:EXTernal:UNITs / 361
:CHANnel<N>:PROBe:GAIN / 362
:CHANnel<N>:PROBe:HEAD:ADD / 363
:CHANnel<N>:PROBe:HEAD:DELete ALL / 364
:CHANnel<N>:PROBe:HEAD:SELect / 365
:CHANnel<N>:PROBe:HEAD:VTERm / 366
:CHANnel<N>:PROBe:ID? / 367
:CHANnel<N>:PROBe:INFO? / 368
:CHANnel<N>:PROBe:MODE / 369
:CHANnel<N>:PROBe:PRECprobe:BANDwidth / 370
:CHANnel<N>:PROBe:PRECprobe:CALibration / 371
:CHANnel<N>:PROBe:PRECprobe:DELay / 372
:CHANnel<N>:PROBe:PRECprobe:MODE / 373
:CHANnel<N>:PROBe:PRECprobe:ZSRC / 374
:CHANnel<N>:PROBe:PRIMary (9000 Series, 9000H Series, S-Series) / 376
:CHANnel<N>:PROBe:SKEW / 377
:CHANnel<N>:PROBe:STYPe / 378
:CHANnel<N>:RANGe / 379
:CHANnel<N>:SCALe / 380
:CHANnel<N>:SIMulation:AMPLitude / 381
:CHANnel<N>:SIMulation:DATA:LENGth / 382
:CHANnel<N>:SIMulation:DATA:ODD / 383
:CHANnel<N>:SIMulation:DATA:PAM / 384
:CHANnel<N>:SIMulation:DATA:RESeed / 385
:CHANnel<N>:SIMulation:DATA:SELection / 386
:CHANnel<N>:SIMulation:DRATe / 387

14 Keysight Infiniium Oscilloscopes Programmer's Guide


:CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess / 388
:CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction / 389
:CHANnel<N>:SIMulation:FILTer:SELection / 390
:CHANnel<N>:SIMulation:FLOad:ADDRess / 391
:CHANnel<N>:SIMulation:FLOad:LOOP / 392
:CHANnel<N>:SIMulation:FREQuency / 393
:CHANnel<N>:SIMulation:FUNCtion:SELection / 394
:CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle / 395
:CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe / 396
:CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe / 397
:CHANnel<N>:SIMulation:JITTer / 398
:CHANnel<N>:SIMulation:JITTer:ABUJ / 399
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle / 400
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency / 401
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude / 402
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe / 403
:CHANnel<N>:SIMulation:JITTer:RANDom / 404
:CHANnel<N>:SIMulation:NOISe / 405
:CHANnel<N>:SIMulation:NOISe:BWLimit / 406
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle / 407
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency / 408
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude / 409
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe / 410
:CHANnel<N>:SIMulation:NOISe:RANDom / 411
:CHANnel<N>:SIMulation:OFFSet / 412
:CHANnel<N>:SIMulation:WAVeform / 413
:CHANnel<N>:UNITs / 414

15 Common Commands
*CLS — Clear Status / 417
*ESE — Event Status Enable / 418
*ESR? — Event Status Register / 420
*IDN? — Identification Number / 421
*LRN? — Learn / 422
*OPC — Operation Complete / 424
*OPT? — Option / 425
*PSC — Power-on Status Clear / 432
*RCL — Recall / 433
*RST — Reset / 434
*SAV — Save / 435
*SRE — Service Request Enable / 436

Keysight Infiniium Oscilloscopes Programmer's Guide 15


*STB? — Status Byte / 438
*TRG — Trigger / 440
*TST? — Test / 441
*WAI — Wait / 442

16 Digital Commands
:DIGital<N>:DISPlay / 444
:DIGital<N>:LABel / 445
:DIGital<N>:SIZE / 446
:DIGital<N>:THReshold / 447

17 Disk Commands
:DISK:CDIRectory / 450
:DISK:COPY / 451
:DISK:DELete / 452
:DISK:DIRectory? / 453
:DISK:LOAD / 454
:DISK:MDIRectory / 456
:DISK:PWD? / 457
:DISK:SAVE:COMPosite / 458
:DISK:SAVE:IMAGe / 459
:DISK:SAVE:JITTer / 460
:DISK:SAVE:LISTing / 461
:DISK:SAVE:MEASurements / 462
:DISK:SAVE:PRECprobe / 463
:DISK:SAVE:SETup / 464
:DISK:SAVE:WAVeform / 465
:DISK:SEGMented / 467

18 Display Commands
:DISPlay:BOOKmark<N>:DELete / 471
:DISPlay:BOOKmark<N>:SET / 472
:DISPlay:BOOKmark<N>:VERTical? / 474
:DISPlay:BOOKmark<N>:XPOSition / 475
:DISPlay:BOOKmark<N>:YPOSition / 476
:DISPlay:CGRade / 477
:DISPlay:CGRade:LEVels? / 479
:DISPlay:CGRade:SCHeme / 481
:DISPlay:CONNect / 483
:DISPlay:DATA? / 484
:DISPlay:GRATicule / 485

16 Keysight Infiniium Oscilloscopes Programmer's Guide


:DISPlay:GRATicule:AREA<N>:STATe / 486
:DISPlay:GRATicule:INTensity / 487
:DISPlay:GRATicule:NUMBer / 488
:DISPlay:GRATicule:SETGrat / 489
:DISPlay:ISIM:GCOunt / 490
:DISPlay:ISIM:SELectgraph / 491
:DISPlay:ISIM:SOURce / 492
:DISPlay:JITTer:GCOunt / 493
:DISPlay:JITTer:SELectgraph / 494
:DISPlay:JITTer:THReshold / 496
:DISPlay:LABel / 497
:DISPlay:LAYout / 498
:DISPlay:MAIN / 499
:DISPlay:NOISe:LEVel / 500
:DISPlay:PERSistence / 501
:DISPlay:PROPortion / 503
:DISPlay:PROPortion:RESults / 504
:DISPlay:PRECprobe:GCOunt / 505
:DISPlay:PRECprobe:SELectgraph / 506
:DISPlay:PRECprobe:SOURce / 507
:DISPlay:SCOLor / 508
:DISPlay:STATus:COLumn / 510
:DISPlay:STATus:ROW / 511
:DISPlay:WINDow:MAXimize / 512

19 Function Commands
:FUNCtion<F>? / 516
:FUNCtion<F>:ABSolute / 517
:FUNCtion<F>:ADD / 518
:FUNCtion<F>:ADEMod / 519
:FUNCtion<F>:AVERage / 520
:FUNCtion<F>:COMMonmode / 521
:FUNCtion<F>:DELay — Delay / 522
:FUNCtion<F>:DIFF — Differentiate / 523
:FUNCtion<F>:DISPlay / 524
:FUNCtion<F>:DIVide / 525
:FUNCtion<F>:FFT:DETector:POINts / 526
:FUNCtion<F>:FFT:DETector:TYPE / 527
:FUNCtion<F>:FFT:FREQuency / 528
:FUNCtion<F>:FFT:HSCale / 529
:FUNCtion<F>:FFT:REFerence / 530

Keysight Infiniium Oscilloscopes Programmer's Guide 17


:FUNCtion<F>:FFT:RESolution / 531
:FUNCtion<F>:FFT:SPAN / 533
:FUNCtion<F>:FFT:STOP / 534
:FUNCtion<F>:FFT:TDELay / 535
:FUNCtion<F>:FFT:VUNits / 536
:FUNCtion<F>:FFT:WINDow / 537
:FUNCtion<F>:FFTMagnitude / 539
:FUNCtion<F>:FFTPhase / 540
:FUNCtion<F>:GATing — Gating / 541
:FUNCtion<F>:GATing:STARt — Gating window start time / 542
:FUNCtion<F>:GATing:STOP — Gating window stop time / 543
:FUNCtion<F>:HIGHpass / 544
:FUNCtion<F>:HORizontal / 545
:FUNCtion<F>:HORizontal:POSition / 546
:FUNCtion<F>:HORizontal:RANGe / 548
:FUNCtion<F>:INTegrate / 550
:FUNCtion<F>:INVert / 551
:FUNCtion<F>:LOWPass / 552
:FUNCtion<F>:MAGNify / 553
:FUNCtion<F>:MATLab / 554
:FUNCtion<F>:MATLab:CONTrol<N> / 555
:FUNCtion<F>:MATLab:OPERator / 556
:FUNCtion<F>:MAXimum / 557
:FUNCtion<F>:MHIStogram / 558
:FUNCtion<F>:MINimum / 560
:FUNCtion<F>:MLOG / 561
:FUNCtion<F>:MTRend / 562
:FUNCtion<F>:MULTiply / 563
:FUNCtion<F>:OFFSet / 564
:FUNCtion<F>:PAVerage / 565
:FUNCtion<F>:RANGe / 566
:FUNCtion<F>:SMOoth / 567
:FUNCtion<F>:SQRT / 568
:FUNCtion<F>:SQUare / 569
:FUNCtion<F>:SUBTract / 570
:FUNCtion<F>:VERSus / 571
:FUNCtion<F>:VERTical / 572
:FUNCtion<F>:VERTical:OFFSet / 573
:FUNCtion<F>:VERTical:RANGe / 574

18 Keysight Infiniium Oscilloscopes Programmer's Guide


20 Hardcopy Commands
:HARDcopy:AREA / 576
:HARDcopy:DPRinter / 577
:HARDcopy:FACTors / 578
:HARDcopy:IMAGe / 579
:HARDcopy:PRINters? / 580

21 Histogram Commands
:HISTogram:AXIS / 583
:HISTogram:HORizontal:BINS / 584
:HISTogram:MEASurement:BINS / 585
:HISTogram:MEASurement:MAX / 586
:HISTogram:MEASurement:MIN / 587
:HISTogram:MODE / 588
:HISTogram:SCALe:SIZE / 589
:HISTogram:VERTical:BINS / 590
:HISTogram:WINDow:DEFault / 591
:HISTogram:WINDow:SOURce / 592
:HISTogram:WINDow:LLIMit / 593
:HISTogram:WINDow:RLIMit / 594
:HISTogram:WINDow:BLIMit / 595
:HISTogram:WINDow:TLIMit / 596

22 Hosted Commands
:HOSTed:CALibrate:CALibrate / 599
:HOSTed:CALibrate:CHANnel / 600
:HOSTed:CALibrate:DESKew:CHANnels / 601
:HOSTed:CALibrate:DESKew:FRAMes / 602
:HOSTed:CALibrate:DESKew:SIGNals / 603
:HOSTed:CALibrate:DESKew:ZERO / 604
:HOSTed:CALibrate:LEVel / 605
:HOSTed:CALibrate:PROMpt / 607
:HOSTed:CALibrate:STATus:CHANnels? / 608
:HOSTed:CALibrate:STATus:FRAMes? / 609
:HOSTed:CALibrate:STATus:LEVel? / 610
:HOSTed:CALibrate:STATus:SIGNals? / 611
:HOSTed:CALibrate:TREF:DETect / 612
:HOSTed:FOLLower<N>:ACHannels? / 613
:HOSTed:FOLLower<N>:CONFigure / 614
:HOSTed:FOLLower<N>:CONNect / 615
:HOSTed:FOLLower<N>:DISConnect / 616

Keysight Infiniium Oscilloscopes Programmer's Guide 19


:HOSTed:LEADer:ACHannels? / 617
:HOSTed:LEADer:CONFigure / 618
:HOSTed:LEADer:CONNect / 619
:HOSTed:LEADer:DISConnect / 620
:HOSTed:NCONnected? / 621
:HOSTed:PERiodic / 622

23 InfiniiScan (ISCan) Commands


:ISCan:DELay / 624
:ISCan:MEASurement:FAIL / 625
:ISCan:MEASurement:LLIMit / 626
:ISCan:MEASurement / 627
:ISCan:MEASurement:ULIMit / 628
:ISCan:MODE / 629
:ISCan:NONMonotonic:EDGE / 630
:ISCan:NONMonotonic:HYSTeresis / 631
:ISCan:NONMonotonic:SOURce / 632
:ISCan:RUNT:HYSTeresis / 633
:ISCan:RUNT:LLEVel / 634
:ISCan:RUNT:SOURce / 635
:ISCan:RUNT:ULEVel / 636
:ISCan:SERial:PATTern / 637
:ISCan:SERial:SOURce / 638
:ISCan:ZONE:HIDE / 639
:ISCan:ZONE:SOURce / 640
:ISCan:ZONE<Z>:MODE / 641
:ISCan:ZONE<Z>:PLACement / 642
:ISCan:ZONE<Z>:SOURce / 643
:ISCan:ZONE<Z>:STATe / 644

24 Limit Test Commands


:LTESt:ADDStats / 646
:LTESt:FAIL / 647
:LTESt:LLIMit — Lower Limit / 649
:LTESt:MEASurement / 650
:LTESt:RESults? / 651
:LTESt:RUMode:SOFailure / 652
:LTESt:TEST / 653
:LTESt:ULIMit — Upper Limit / 654

20 Keysight Infiniium Oscilloscopes Programmer's Guide


25 Lister Commands
:LISTer:DATA? / 656
:LISTer:DISPlay / 657

26 Marker Commands
:MARKer:CURSor? / 661
:MARKer:DELTa / 662
:MARKer:MEASurement:MEASurement / 663
:MARKer:MODE / 664
:MARKer:TSTArt / 665
:MARKer:TSTOp / 666
:MARKer:VSTArt / 667
:MARKer:VSTOp / 668
:MARKer:X1Position / 669
:MARKer:X2Position / 670
:MARKer:X1Y1source / 671
:MARKer:X2Y2source / 673
:MARKer:XDELta? / 675
:MARKer:Y1Position / 676
:MARKer:Y2Position / 677
:MARKer:YDELta? / 678
:MARKer<K>:DELTa / 679
:MARKer<K>:ENABle / 680
:MARKer<K>:NAME / 681
:MARKer<K>:SOURce / 682
:MARKer<K>:TYPE / 684
:MARKer<K>:X:POSition / 686
:MARKer<K>:Y:POSition / 687

27 Mask Test Commands


:MTESt:ALIGn / 691
:MTESt:AMASk:CREate / 692
:MTESt:AMASk:SOURce / 693
:MTESt:AMASk:SAVE / 695
:MTESt:AMASk:UNITs / 696
:MTESt:AMASk:XDELta / 697
:MTESt:AMASk:YDELta / 698
:MTESt:AUTO / 699
:MTESt:AVERage / 700
:MTESt:AVERage:COUNt / 701
:MTESt:COUNt:FAILures? / 702

Keysight Infiniium Oscilloscopes Programmer's Guide 21


:MTESt:COUNt:FUI? / 703
:MTESt:COUNt:FWAVeforms? / 704
:MTESt:COUNt:MARGin:FAILures? / 705
:MTESt:COUNt:SUI? / 706
:MTESt:COUNt:UI? / 707
:MTESt:COUNt:WAVeforms? / 708
:MTESt:DELete / 709
:MTESt:ENABle / 710
:MTESt:FOLDing (Clock Recovery software only) / 711
:MTESt:FOLDing:BITS / 713
:MTESt:FOLDing:COUNt:UI? / 715
:MTESt:FOLDing:COUNt:WAVeforms? / 717
:MTESt:FOLDing:FAST / 719
:MTESt:FOLDing:POSition / 721
:MTESt:FOLDing:SCALe / 723
:MTESt:FOLDing:TPOSition / 725
:MTESt:FOLDing:TSCale / 727
:MTESt:HAMPlitude / 729
:MTESt:IMPedance / 730
:MTESt:INVert / 731
:MTESt:LAMPlitude / 732
:MTESt:LOAD / 733
:MTESt:MARGin:AUTO:HITS / 734
:MTESt:MARGin:AUTO:HRATio / 735
:MTESt:MARGin:AUTO:METHod / 736
:MTESt:MARGin:METHod / 737
:MTESt:MARGin:PERCent / 738
:MTESt:MARGin:STATe / 739
:MTESt:NREGions? / 740
:MTESt:PROBe:IMPedance? / 741
:MTESt:RUMode / 742
:MTESt:RUMode:SOFailure / 743
:MTESt:SCALe:BIND / 744
:MTESt:SCALe:X1 / 745
:MTESt:SCALe:XDELta / 746
:MTESt:SCALe:Y1 / 747
:MTESt:SCALe:Y2 / 748
:MTESt:SOURce / 749
:MTESt:STARt / 750
:MTESt:STOP / 751
:MTESt:STIMe / 752
:MTESt:TITLe? / 753

22 Keysight Infiniium Oscilloscopes Programmer's Guide


:MTESt:TRIGger:SOURce / 754

28 Measure Commands
:MEASure:AREA / 765
:MEASure:BER / 767
:MEASure:BERPeracq / 768
:MEASure:BINTerval / 769
:MEASure:BPERiod / 770
:MEASure:BWIDth / 771
:MEASure:CDRRate / 772
:MEASure:CGRade:CROSsing / 773
:MEASure:CGRade:DCDistortion / 774
:MEASure:CGRade:EHEight / 775
:MEASure:CGRade:ELOCation / 777
:MEASure:CGRade:EWIDth / 778
:MEASure:CGRade:EWINdow / 780
:MEASure:CGRade:JITTer / 782
:MEASure:CGRade:OLEVel / 783
:MEASure:CGRade:QFACtor / 784
:MEASure:CGRade:ZLEVel / 785
:MEASure:CHARge (9000 Series, 9000H Series, S-Series) / 786
:MEASure:CLEar / 787
:MEASure:CROSsing / 788
:MEASure:CTCDutycycle / 789
:MEASure:CTCJitter / 791
:MEASure:CTCNwidth / 793
:MEASure:CTCPwidth / 795
:MEASure:DATarate / 797
:MEASure:DEEMphasis / 799
:MEASure:DELTatime / 801
:MEASure:DELTatime:DEFine / 803
:MEASure:DUTYcycle / 805
:MEASure:EDGE / 806
:MEASure:ERATio / 807
:MEASure:ETOedge / 808
:MEASure:FALLtime / 810
:MEASure:FFT:CPOWer / 812
:MEASure:FFT:DFRequency / 813
:MEASure:FFT:DMAGnitude / 815
:MEASure:FFT:FREQuency / 817
:MEASure:FFT:MAGNitude / 819

Keysight Infiniium Oscilloscopes Programmer's Guide 23


:MEASure:FFT:OBW / 821
:MEASure:FFT:PSD / 822
:MEASure:FREQuency / 823
:MEASure:HISTogram:FWHM / 825
:MEASure:HISTogram:HITS / 826
:MEASure:HISTogram:M1S / 827
:MEASure:HISTogram:M2S / 828
:MEASure:HISTogram:M3S / 829
:MEASure:HISTogram:MAX / 830
:MEASure:HISTogram:MEAN / 831
:MEASure:HISTogram:MEDian / 832
:MEASure:HISTogram:MIN / 833
:MEASure:HISTogram:MODE / 834
:MEASure:HISTogram:PEAK / 835
:MEASure:HISTogram:PP / 836
:MEASure:HISTogram:RESolution / 837
:MEASure:HISTogram:STDDev / 838
:MEASure:HOLDtime / 839
:MEASure:JITTer:HISTogram / 841
:MEASure:JITTer:MEASurement / 842
:MEASure:JITTer:SPECtrum / 843
:MEASure:JITTer:SPECtrum:HORizontal / 844
:MEASure:JITTer:SPECtrum:HORizontal:POSition / 845
:MEASure:JITTer:SPECtrum:HORizontal:RANGe / 846
:MEASure:JITTer:SPECtrum:RESolution / 847
:MEASure:JITTer:SPECtrum:VERTical / 848
:MEASure:JITTer:SPECtrum:VERTical:OFFSet / 849
:MEASure:JITTer:SPECtrum:VERTical:RANGe / 850
:MEASure:JITTer:SPECtrum:VERTical:TYPE / 851
:MEASure:JITTer:SPECtrum:WINDow / 852
:MEASure:JITTer:TRENd / 853
:MEASure:JITTer:TRENd:SMOoth / 854
:MEASure:JITTer:TRENd:SMOoth:POINts / 855
:MEASure:JITTer:TRENd:VERTical / 856
:MEASure:JITTer:TRENd:VERTical:OFFSet / 857
:MEASure:JITTer:TRENd:VERTical:RANGe / 858
:MEASure:MARK / 859
:MEASure:NAME / 860
:MEASure:NCJitter / 861
:MEASure:NOISe / 863
:MEASure:NOISe:ALL? / 865
:MEASure:NOISe:BANDwidth / 867

24 Keysight Infiniium Oscilloscopes Programmer's Guide


:MEASure:NOISe:LOCation / 868
:MEASure:NOISe:METHod / 869
:MEASure:NOISe:REPort / 870
:MEASure:NOISe:RN / 871
:MEASure:NOISe:SCOPe:RN / 872
:MEASure:NOISe:STATe / 873
:MEASure:NOISe:UNITs / 874
:MEASure:NPERiod / 875
:MEASure:NPULses / 876
:MEASure:NUI / 877
:MEASure:NWIDth / 878
:MEASure:OMAMplitude / 879
:MEASure:OPOWer / 880
:MEASure:OVERshoot / 881
:MEASure:PAM:ELEVel / 883
:MEASure:PAM:EOJ / 885
:MEASure:PAM:ESKew / 886
:MEASure:PAM:EYE:ELMethod / 888
:MEASure:PAM:EYE:ESTiming / 889
:MEASure:PAM:EYE:PPERcent / 890
:MEASure:PAM:EYE:PROBability / 891
:MEASure:PAM:EYE:TIME:LTDefinition / 892
:MEASure:PAM:J4U / 893
:MEASure:PAM:JRMS / 894
:MEASure:PAM:LEVel / 895
:MEASure:PAM:LRMS / 897
:MEASure:PAM:LTHickness / 899
:MEASure:PAMPlitude / 901
:MEASure:PBASe / 902
:MEASure:PERiod / 903
:MEASure:PHASe / 905
:MEASure:PJITter / 907
:MEASure:PLENgth / 908
:MEASure:PN:CORRelations / 909
:MEASure:PN:EDGE / 910
:MEASure:PN:HORizontal:STARt / 911
:MEASure:PN:HORizontal:STOP / 912
:MEASure:PN:RSSC / 913
:MEASure:PN:SOURce / 914
:MEASure:PN:SPURs / 915
:MEASure:PN:SSENsitivity / 916
:MEASure:PN:STATe / 917

Keysight Infiniium Oscilloscopes Programmer's Guide 25


:MEASure:PN:VERTical:REFerence / 918
:MEASure:PN:VERTical:SCALe / 919
:MEASure:PN:WINDow / 920
:MEASure:PPContrast / 921
:MEASure:PPULses / 922
:MEASure:PREShoot / 923
:MEASure:PTOP / 925
:MEASure:PWIDth / 926
:MEASure:QUALifier<M>:CONDition / 927
:MEASure:QUALifier<M>:SOURce / 928
:MEASure:QUALifier<M>:STATe / 929
:MEASure:RESults? / 930
:MEASure:RISetime / 933
:MEASure:RJDJ:ALL? / 935
:MEASure:RJDJ:APLength? / 937
:MEASure:RJDJ:BANDwidth / 938
:MEASure:RJDJ:BER / 939
:MEASure:RJDJ:CLOCk / 941
:MEASure:RJDJ:CREFerence / 942
:MEASure:RJDJ:EDGE / 943
:MEASure:RJDJ:INTerpolate / 944
:MEASure:RJDJ:METHod / 945
:MEASure:RJDJ:MODe / 946
:MEASure:RJDJ:PAMThreshold / 947
:MEASure:RJDJ:PLENgth / 948
:MEASure:RJDJ:REPort / 949
:MEASure:RJDJ:RJ / 950
:MEASure:RJDJ:SCOPe:RJ / 951
:MEASure:RJDJ:SOURce / 952
:MEASure:RJDJ:STATe / 953
:MEASure:RJDJ:TJRJDJ? / 954
:MEASure:RJDJ:UNITs / 956
:MEASure:SCRatch / 957
:MEASure:SENDvalid / 958
:MEASure:SER / 959
:MEASure:SERPeracq / 960
:MEASure:SETuptime / 961
:MEASure:SLEWrate / 963
:MEASure:SOURce / 965
:MEASure:STATistics / 966
:MEASure:TEDGe / 967
:MEASure:THResholds:ABSolute / 968

26 Keysight Infiniium Oscilloscopes Programmer's Guide


:MEASure:THResholds:DISPlay / 969
:MEASure:THResholds:GENauto / 970
:MEASure:THResholds:GENeral:ABSolute / 971
:MEASure:THResholds:GENeral:HYSTeresis / 973
:MEASure:THResholds:GENeral:METHod / 975
:MEASure:THResholds:GENeral:PAMCustom / 977
:MEASure:THResholds:GENeral:PAMAutomatic / 979
:MEASure:THResholds:GENeral:PERCent / 981
:MEASure:THResholds:GENeral:TOPBase:ABSolute / 983
:MEASure:THResholds:GENeral:TOPBase:METHod / 985
:MEASure:THResholds:HYSTeresis / 986
:MEASure:THResholds:METHod / 988
:MEASure:THResholds:PERCent / 989
:MEASure:THResholds:RFALl:ABSolute / 990
:MEASure:THResholds:RFALl:METHod / 992
:MEASure:THResholds:RFALl:PAMAutomatic / 994
:MEASure:THResholds:RFALl:PERCent / 996
:MEASure:THResholds:RFALl:TOPBase:ABSolute / 998
:MEASure:THResholds:RFALl:TOPBase:METHod / 1000
:MEASure:THResholds:SERial:ABSolute / 1001
:MEASure:THResholds:SERial:HYSTeresis / 1003
:MEASure:THResholds:SERial:METHod / 1005
:MEASure:THResholds:SERial:PERCent / 1006
:MEASure:THResholds:SERial:TOPBase:ABSolute / 1008
:MEASure:THResholds:SERial:TOPBase:METHod / 1010
:MEASure:THResholds:TOPBase:ABSolute / 1011
:MEASure:THResholds:TOPBase:METHod / 1012
:MEASure:TIEClock2 / 1013
:MEASure:TIEData2 / 1015
:MEASure:TIEFilter:SHAPe / 1016
:MEASure:TIEFilter:STARt / 1017
:MEASure:TIEFilter:STATe / 1018
:MEASure:TIEFilter:STOP / 1019
:MEASure:TIEFilter:TYPE / 1020
:MEASure:TMAX / 1021
:MEASure:TMIN / 1022
:MEASure:TVOLt / 1023
:MEASure:UITouijitter / 1025
:MEASure:UNITinterval / 1026
:MEASure:VAMPlitude / 1028
:MEASure:VAVerage / 1029
:MEASure:VBASe / 1030

Keysight Infiniium Oscilloscopes Programmer's Guide 27


:MEASure:VLOWer / 1031
:MEASure:VMAX / 1032
:MEASure:VMIDdle / 1033
:MEASure:VMIN / 1034
:MEASure:VOVershoot / 1035
:MEASure:VPP / 1036
:MEASure:VPReshoot / 1037
:MEASure:VRMS / 1038
:MEASure:VTIMe / 1040
:MEASure:VTOP / 1041
:MEASure:VUPPer / 1042
:MEASure:WINDow / 1043
:MEASure:XCORtie / 1044
:MEASurement<N>:NAME / 1045
:MEASurement<N>:SOURce / 1046

29 Pod Commands
:POD<N>:DISPlay / 1048
:POD<N>:PSKew / 1049
:POD<N>:THReshold / 1050

30 Root Level Commands


:ADER? — Acquisition Done Event Register / 1055
:AER? — Arm Event Register / 1056
:ASTate? / 1057
:ATER? — Auto Trigger Event Register / 1058
:AUToscale / 1059
:AUToscale:CHANnels / 1060
:AUToscale:PLACement / 1061
:AUToscale:VERTical / 1062
:BEEP / 1063
:BLANk / 1064
:CDISplay / 1065
:DIGitize / 1066
:DISable DIGital / 1068
:ENABle DIGital / 1069
:MODel? / 1070
:MTEEnable — Mask Test Enable Register / 1071
:MTERegister? — Mask Test Event Register / 1072
:OPEEnable — Operation Status Enable / 1073
:OPERegister? — Operation Status Register / 1074

28 Keysight Infiniium Oscilloscopes Programmer's Guide


:OVLRegister? / 1075
:PDER? — Processing Done Event Register / 1076
:PRINt / 1077
:RECall:SETup / 1078
:RSTate? / 1079
:RUN / 1080
:SERial — Serial Number / 1081
:SINGle / 1082
:STATus? / 1083
:STOP / 1085
:STORe:JITTer / 1086
:STORe:SETup / 1087
:STORe:WAVeform / 1088
:TERegister? — Trigger Event Register / 1089
:VIEW / 1090

31 Serial Bus Commands


General :SBUS<N> Commands / 1092
:SBUS<N>[:DISPlay] / 1093
:SBUS<N>:MODE / 1094
:SBUS<N>:CAN Commands / 1095
:SBUS<N>:CAN:FDSPoint / 1096
:SBUS<N>:CAN:SAMPlepoint / 1097
:SBUS<N>:CAN:SIGNal:BAUDrate / 1098
:SBUS<N>:CAN:SIGNal:DEFinition / 1099
:SBUS<N>:CAN:SIGNal:FDBaudrate / 1100
:SBUS<N>:CAN:SOURce / 1101
:SBUS<N>:CAN:TRIGger (9000 Series, 9000H Series, S-Series) / 1102
:SBUS<N>:CAN:TRIGger:PATTern:DATA (9000 Series, 9000H Series, S-Series) / 1105
:SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth (9000 Series, 9000H Series,
S-Series) / 1106
:SBUS<N>:CAN:TRIGger:PATTern:ID (9000 Series, 9000H Series, S-Series) / 1108
:SBUS<N>:CAN:TRIGger:PATTern:ID:MODE (9000 Series, 9000H Series,
S-Series) / 1109
:SBUS<N>:CAN:TYPE / 1110
:SBUS<N>:FLEXray Commands / 1111
:SBUS<N>:FLEXray:BAUDrate / 1112
:SBUS<N>:FLEXray:CHANnel / 1113
:SBUS<N>:FLEXray:SOURce / 1114
:SBUS<N>:FLEXray:TRIGger / 1115
:SBUS<N>:FLEXray:TRIGger:ERRor:TYPE / 1116

Keysight Infiniium Oscilloscopes Programmer's Guide 29


:SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase / 1117
:SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition / 1118
:SBUS<N>:FLEXray:TRIGger:FRAMe:ID / 1119
:SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE / 1120
:SBUS<N>:GENRaw Commands / 1121
:SBUS<N>:GENRaw:SOURce / 1122
:SBUS<N>:GENRaw:WSIZe / 1123
:SBUS<N>:HS Commands / 1124
:SBUS<N>:HS:DESCramble / 1125
:SBUS<N>:HS:FORMat / 1126
:SBUS<N>:HS:IDLE / 1127
:SBUS<N>:HS:SOURce<S> / 1128
:SBUS<N>:IIC Commands / 1129
:SBUS<N>:IIC:ASIZe / 1130
:SBUS<N>:IIC:SOURce:CLOCk / 1131
:SBUS<N>:IIC:SOURce:DATA / 1132
:SBUS<N>:IIC:TRIGger:PATTern:ADDRess (9000 Series, 9000H Series, S-Series) / 1133
:SBUS<N>:IIC:TRIGger:PATTern:DATA (9000 Series, 9000H Series, S-Series) / 1135
:SBUS<N>:IIC:TRIGger:TYPE (9000 Series, 9000H Series, S-Series) / 1136
:SBUS<N>:LIN Commands / 1138
:SBUS<N>:LIN:SAMPlepoint / 1139
:SBUS<N>:LIN:SIGNal:BAUDrate / 1140
:SBUS<N>:LIN:SOURce / 1141
:SBUS<N>:LIN:STANdard / 1142
:SBUS<N>:LIN:TRIGger / 1143
:SBUS<N>:LIN:TRIGger:ID / 1144
:SBUS<N>:LIN:TRIGger:PATTern:DATA / 1145
:SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth / 1146
:SBUS<N>:SPI Commands / 1147
:SBUS<N>:SPI:BITorder / 1148
:SBUS<N>:SPI:CLOCk:SLOPe / 1149
:SBUS<N>:SPI:CLOCk:TIMeout / 1150
:SBUS<N>:SPI:FRAMe:STATe / 1151
:SBUS<N>:SPI:SOURce:CLOCk / 1152
:SBUS<N>:SPI:SOURce:DATA / 1154
:SBUS<N>:SPI:SOURce:FRAMe / 1156
:SBUS<N>:SPI:SOURce:MISO / 1157
:SBUS<N>:SPI:SOURce:MOSI / 1158
:SBUS<N>:SPI:TRIGger:PATTern:DATA (9000 Series, 9000H Series, S-Series) / 1160
:SBUS<N>:SPI:TRIGger:PATTern:WIDTh (9000 Series, 9000H Series, S-Series) / 1162

30 Keysight Infiniium Oscilloscopes Programmer's Guide


:SBUS<N>:SPI:TRIGger:TYPE (9000 Series, 9000H Series, S-Series) / 1164
:SBUS<N>:SPI:TYPE / 1166
:SBUS<N>:SPI:WIDTh / 1167

32 Self-Test Commands
:SELFtest:CANCel / 1170
:SELFtest:SCOPETEST / 1171

33 Serial Data Equalization Commands


:SPRocessing:CTLequalizer:ACGain / 1175
:SPRocessing:CTLequalizer:DCGain / 1176
:SPRocessing:CTLequalizer:DISPlay / 1177
:SPRocessing:CTLequalizer:NUMPoles / 1178
:SPRocessing:CTLequalizer:P1 / 1179
:SPRocessing:CTLequalizer:P2 / 1180
:SPRocessing:CTLequalizer:P3 / 1181
:SPRocessing:CTLequalizer:RATe / 1182
:SPRocessing:CTLequalizer:SOURce / 1183
:SPRocessing:CTLequalizer:VERTical / 1184
:SPRocessing:CTLequalizer:VERTical:OFFSet / 1185
:SPRocessing:CTLequalizer:VERTical:RANGe / 1186
:SPRocessing:CTLequalizer:Z1 / 1187
:SPRocessing:CTLequalizer:Z2 / 1188
:SPRocessing:DFEQualizer:NTAPs / 1189
:SPRocessing:DFEQualizer:SOURce / 1190
:SPRocessing:DFEQualizer:STATe / 1191
:SPRocessing:DFEQualizer:TAP / 1192
:SPRocessing:DFEQualizer:TAP:AUTomatic / 1193
:SPRocessing:DFEQualizer:TAP:DELay / 1194
:SPRocessing:DFEQualizer:TAP:DELay:AUTomatic / 1195
:SPRocessing:DFEQualizer:TAP:GAIN / 1196
:SPRocessing:DFEQualizer:TAP:LTARget / 1197
:SPRocessing:DFEQualizer:TAP:MAX / 1198
:SPRocessing:DFEQualizer:TAP:MIN / 1199
:SPRocessing:DFEQualizer:TAP:NORMalize / 1200
:SPRocessing:DFEQualizer:TAP:UTARget / 1201
:SPRocessing:DFEQualizer:TAP:WIDTh / 1202
:SPRocessing:FFEQualizer:BANDwidth / 1203
:SPRocessing:FFEQualizer:BWMode / 1204
:SPRocessing:FFEQualizer:DISPlay / 1205
:SPRocessing:FFEQualizer:NPRecursor / 1206

Keysight Infiniium Oscilloscopes Programmer's Guide 31


:SPRocessing:FFEQualizer:NTAPs / 1207
:SPRocessing:FFEQualizer:RATe / 1208
:SPRocessing:FFEQualizer:SOURce / 1209
:SPRocessing:FFEQualizer:TAP / 1210
:SPRocessing:FFEQualizer:TAP:AUTomatic / 1211
:SPRocessing:FFEQualizer:TAP:DELay / 1212
:SPRocessing:FFEQualizer:TAP:WIDTh / 1213
:SPRocessing:FFEQualizer:TDELay / 1214
:SPRocessing:FFEQualizer:TDMode / 1215
:SPRocessing:FFEQualizer:VERTical / 1216
:SPRocessing:FFEQualizer:VERTical:OFFSet / 1217
:SPRocessing:FFEQualizer:VERTical:RANGe / 1218

34 System Commands
:SYSTem:DATE / 1220
:SYSTem:DEBug / 1221
:SYSTem:DONTtabmeas / 1223
:SYSTem:DSP / 1224
:SYSTem:ERRor? / 1225
:SYSTem:GUI / 1226
:SYSTem:HEADer / 1227
:SYSTem:HLED (90000 Q-Series, S-Series, V-Series, Z-Series) / 1228
:SYSTem:LOCK / 1229
:SYSTem:LONGform / 1230
:SYSTem:MENU? / 1231
:SYSTem:PERSona / 1232
:SYSTem:PRESet / 1233
:SYSTem:SETup / 1235
:SYSTem:TIME / 1237

35 Time Base Commands


:TIMebase:POSition / 1240
:TIMebase:RANGe / 1241
:TIMebase:REFClock / 1242
:TIMebase:REFerence / 1243
:TIMebase:REFerence:PERCent / 1244
:TIMebase:ROLL:ENABLE / 1245
:TIMebase:SCALe / 1246
:TIMebase:VIEW / 1247
:TIMebase:WINDow:DELay / 1248
:TIMebase:WINDow:POSition / 1249

32 Keysight Infiniium Oscilloscopes Programmer's Guide


:TIMebase:WINDow:RANGe / 1250
:TIMebase:WINDow:SCALe / 1251

36 Trigger Commands
General Trigger Commands / 1255
:TRIGger:AND:ENABle / 1256
:TRIGger:AND:SOURce / 1257
:TRIGger:FORCe / 1258
:TRIGger:HOLDoff / 1259
:TRIGger:HOLDoff:MAX / 1260
:TRIGger:HOLDoff:MIN / 1261
:TRIGger:HOLDoff:MODE / 1262
:TRIGger:HTHReshold / 1263
:TRIGger:HYSTeresis / 1264
:TRIGger:LEVel / 1265
:TRIGger:LEVel:FIFTy / 1266
:TRIGger:LTHReshold / 1267
:TRIGger:MODE / 1268
:TRIGger:SWEep / 1270
Comm Trigger Commands / 1271
:TRIGger:COMM:BWIDth / 1272
:TRIGger:COMM:ENCode / 1273
:TRIGger:COMM:PATTern / 1274
:TRIGger:COMM:POLarity / 1275
:TRIGger:COMM:SOURce / 1276
Delay Trigger Commands / 1277
:TRIGger:DELay:ARM:SOURce / 1278
:TRIGger:DELay:ARM:SLOPe / 1279
:TRIGger:DELay:EDELay:COUNt / 1280
:TRIGger:DELay:EDELay:SOURce / 1281
:TRIGger:DELay:EDELay:SLOPe / 1282
:TRIGger:DELay:MODE / 1283
:TRIGger:DELay:TDELay:TIME / 1284
:TRIGger:DELay:TRIGger:SOURce / 1285
:TRIGger:DELay:TRIGger:SLOPe / 1286
Edge Trigger Commands / 1287
:TRIGger:EDGE:COUPling (9000 Series, 9000H Series, S-Series) / 1288
:TRIGger:EDGE:SLOPe / 1289
:TRIGger:EDGE:SOURce / 1290
GBSerial Trigger Commands / 1291

Keysight Infiniium Oscilloscopes Programmer's Guide 33


:TRIGger:GBSerial:CLOCk (V-Series with HWST Option) / 1292
:TRIGger:GBSerial:CLOCk:FREQuency (V-Series with HWST Option) / 1293
:TRIGger:GBSerial:DRATe (V-Series with HWST Option) / 1295
:TRIGger:GBSerial:MODE (V-Series with HWST Option) / 1297
:TRIGger:GBSerial:PATTern (V-Series with HWST Option) / 1298
:TRIGger:GBSerial:POLarity (V-Series with HWST Option) / 1299
:TRIGger:GBSerial:PRBS (V-Series with HWST Option) / 1300
:TRIGger:GBSerial:SOURce (V-Series with HWST Option) / 1301
Glitch Trigger Commands / 1302
:TRIGger:GLITch:POLarity / 1303
:TRIGger:GLITch:SOURce / 1304
:TRIGger:GLITch:WIDTh / 1305
Pattern Trigger Commands / 1306
:TRIGger:PATTern:CONDition / 1307
:TRIGger:PATTern:LOGic / 1308
Pulse Width Trigger Commands / 1309
:TRIGger:PWIDth:DIRection / 1310
:TRIGger:PWIDth:POLarity / 1311
:TRIGger:PWIDth:SOURce / 1312
:TRIGger:PWIDth:TPOint / 1313
:TRIGger:PWIDth:WIDTh / 1314
Runt Trigger Commands / 1315
:TRIGger:RUNT:POLarity / 1316
:TRIGger:RUNT:QUALified / 1317
:TRIGger:RUNT:SOURce / 1318
:TRIGger:RUNT:TIME / 1319
Sequence Trigger Commands / 1320
:TRIGger:SEQuence:TERM1 (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series,
Z-Series) / 1321
:TRIGger:SEQuence:TERM2 (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series,
Z-Series) / 1322
:TRIGger:SEQuence:RESet:ENABle (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series) / 1323
:TRIGger:SEQuence:RESet:TYPE (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series) / 1324
:TRIGger:SEQuence:RESet:EVENt (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series) / 1325
:TRIGger:SEQuence:RESet:TIME (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series) / 1326

34 Keysight Infiniium Oscilloscopes Programmer's Guide


:TRIGger:SEQuence:WAIT:ENABle (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series) / 1327
:TRIGger:SEQuence:WAIT:TIME (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series) / 1328
Setup and Hold Trigger Commands / 1329
:TRIGger:SHOLd:CSOurce / 1330
:TRIGger:SHOLd:CSOurce:EDGE / 1331
:TRIGger:SHOLd:DSOurce / 1332
:TRIGger:SHOLd:HoldTIMe (HTIMe) / 1333
:TRIGger:SHOLd:MODE / 1334
:TRIGger:SHOLd:SetupTIMe / 1335
State Trigger Commands / 1336
:TRIGger:STATe:CLOCk / 1337
:TRIGger:STATe:LOGic / 1338
:TRIGger:STATe:LTYPe / 1339
:TRIGger:STATe:SLOPe / 1340
Timeout Trigger Commands / 1341
:TRIGger:TIMeout:CONDition / 1342
:TRIGger:TIMeout:SOURce / 1343
:TRIGger:TIMeout:TIME / 1344
Transition Trigger Commands / 1345
:TRIGger:TRANsition:DIRection / 1346
:TRIGger:TRANsition:SOURce / 1347
:TRIGger:TRANsition:TIME / 1348
:TRIGger:TRANsition:TYPE / 1349
TV Trigger Commands / 1350
:TRIGger:TV:LINE / 1351
:TRIGger:TV:MODE / 1352
:TRIGger:TV:POLarity / 1353
:TRIGger:TV:SOURce / 1354
:TRIGger:TV:STANdard / 1355
:TRIGger:TV:UDTV:ENUMber / 1356
:TRIGger:TV:UDTV:HSYNc / 1357
:TRIGger:TV:UDTV:HTIMe / 1358
:TRIGger:TV:UDTV:PGTHan / 1359
:TRIGger:TV:UDTV:POLarity / 1360
Window Trigger Commands / 1361
:TRIGger:WINDow:CONDition / 1362
:TRIGger:WINDow:SOURce / 1363

Keysight Infiniium Oscilloscopes Programmer's Guide 35


:TRIGger:WINDow:TIME / 1364
:TRIGger:WINDow:TPOint / 1365
Advanced Comm Trigger Commands / 1366
:TRIGger:ADVanced:COMM:BWIDth / 1367
:TRIGger:ADVanced:COMM:ENCode / 1368
:TRIGger:ADVanced:COMM:LEVel / 1369
:TRIGger:ADVanced:COMM:PATTern / 1370
:TRIGger:ADVanced:COMM:POLarity / 1371
:TRIGger:ADVanced:COMM:SOURce / 1372
Advanced Pattern Trigger Commands / 1373
:TRIGger:ADVanced:PATTern:CONDition / 1375
:TRIGger:ADVanced:PATTern:LOGic / 1376
:TRIGger:ADVanced:PATTern:THReshold:LEVel / 1377
Advanced State Trigger Commands / 1378
:TRIGger:ADVanced:STATe:CLOCk / 1379
:TRIGger:ADVanced:STATe:LOGic / 1380
:TRIGger:ADVanced:STATe:LTYPe / 1381
:TRIGger:ADVanced:STATe:SLOPe / 1382
:TRIGger:ADVanced:STATe:THReshold:LEVel / 1383
Advanced Delay By Event Trigger Commands / 1384
:TRIGger:ADVanced:DELay:EDLY:ARM:SOURce / 1386
:TRIGger:ADVanced:DELay:EDLY:ARM:SLOPe / 1387
:TRIGger:ADVanced:DELay:EDLY:EVENt:DELay / 1388
:TRIGger:ADVanced:DELay:EDLY:EVENt:SOURce / 1389
:TRIGger:ADVanced:DELay:EDLY:EVENt:SLOPe / 1390
:TRIGger:ADVanced:DELay:EDLY:TRIGger:SOURce / 1391
:TRIGger:ADVanced:DELay:EDLY:TRIGger:SLOPe / 1392
Advanced Delay By Time Trigger Commands / 1393
:TRIGger:ADVanced:DELay:TDLY:ARM:SOURce / 1395
:TRIGger:ADVanced:DELay:TDLY:ARM:SLOPe / 1396
:TRIGger:ADVanced:DELay:TDLY:DELay / 1397
:TRIGger:ADVanced:DELay:TDLY:TRIGger:SOURce / 1398
:TRIGger:ADVanced:DELay:TDLY:TRIGger:SLOPe / 1399
Advanced Standard TV Trigger Commands / 1400
:TRIGger:ADVanced:TV:STV:FIELd / 1402
:TRIGger:ADVanced:TV:STV:LINE / 1403
:TRIGger:ADVanced:TV:STV:SOURce / 1404
:TRIGger:ADVanced:TV:STV:SPOLarity / 1405
Advanced User Defined TV Mode and Commands / 1406

36 Keysight Infiniium Oscilloscopes Programmer's Guide


:TRIGger:ADVanced:TV:UDTV:ENUMber / 1408
:TRIGger:ADVanced:TV:UDTV:PGTHan / 1409
:TRIGger:ADVanced:TV:UDTV:POLarity / 1410
:TRIGger:ADVanced:TV:UDTV:SOURce / 1411
Advanced Violation Trigger Modes / 1412
:TRIGger:ADVanced:VIOLation:MODE / 1413
Advanced Pulse Width Violation Trigger Commands / 1414
:TRIGger:ADVanced:VIOLation:PWIDth:DIRection / 1416
:TRIGger:ADVanced:VIOLation:PWIDth:POLarity / 1417
:TRIGger:ADVanced:VIOLation:PWIDth:SOURce / 1418
:TRIGger:ADVanced:VIOLation:PWIDth:WIDTh / 1419
Advanced Setup Violation Trigger Commands / 1420
:TRIGger:ADVanced:VIOLation:SETup:MODE / 1423
:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce / 1424
:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel / 1425
:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:EDGE / 1426
:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce / 1427
:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:HTHReshold / 1428
:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:LTHReshold / 1429
:TRIGger:ADVanced:VIOLation:SETup:SETup:TIME / 1430
:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce / 1431
:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:LEVel / 1432
:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:EDGE / 1433
:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce / 1434
:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:HTHReshold / 1435
:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:LTHReshold / 1436
:TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME / 1437
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce / 1438
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel / 1439
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:EDGE / 1440
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce / 1441
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:HTHReshold / 1442
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:LTHReshold / 1443
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe (STIMe) / 1444
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:HoldTIMe (HTIMe) / 1445
Advanced Transition Violation Trigger Commands / 1446
:TRIGger:ADVanced:VIOLation:TRANsition / 1447
:TRIGger:ADVanced:VIOLation:TRANsition:SOURce / 1448
:TRIGger:ADVanced:VIOLation:TRANsition:SOURce:HTHReshold / 1449
:TRIGger:ADVanced:VIOLation:TRANsition:SOURce:LTHReshold / 1450

Keysight Infiniium Oscilloscopes Programmer's Guide 37


:TRIGger:ADVanced:VIOLation:TRANsition:TYPE / 1451

37 Waveform Commands
:WAVeform:BANDpass? / 1456
:WAVeform:BYTeorder / 1457
:WAVeform:CGRade:HEIGht? / 1458
:WAVeform:CGRade:WIDTh? / 1459
:WAVeform:COMPlete? / 1460
:WAVeform:COUNt? / 1461
:WAVeform:COUPling? / 1462
:WAVeform:DATA? / 1463
:WAVeform:FORMat / 1485
:WAVeform:POINts? / 1488
:WAVeform:PREamble? / 1489
:WAVeform:SEGMented:ALL / 1493
:WAVeform:SEGMented:COUNt? / 1494
:WAVeform:SEGMented:TTAG? / 1495
:WAVeform:SEGMented:XLISt? / 1496
:WAVeform:SOURce / 1497
:WAVeform:STReaming / 1499
:WAVeform:TYPE? / 1500
:WAVeform:VIEW / 1501
:WAVeform:XDISplay? / 1504
:WAVeform:XINCrement? / 1505
:WAVeform:XORigin? / 1506
:WAVeform:XRANge? / 1507
:WAVeform:XREFerence? / 1508
:WAVeform:XUNits? / 1509
:WAVeform:YDISplay? / 1510
:WAVeform:YINCrement? / 1511
:WAVeform:YORigin? / 1512
:WAVeform:YRANge? / 1513
:WAVeform:YREFerence? / 1514
:WAVeform:YUNits? / 1515

38 Waveform Memory Commands


:WMEMory:TIETimebase / 1518
:WMEMory<R>:CLEar / 1519
:WMEMory<R>:DISPlay / 1520
:WMEMory<R>:FFT:HSCale / 1521
:WMEMory<R>:LOAD / 1522

38 Keysight Infiniium Oscilloscopes Programmer's Guide


:WMEMory<R>:SAVE / 1523
:WMEMory<R>:SEGMented:COUNt? / 1524
:WMEMory<R>:SEGMented:INDex / 1525
:WMEMory<R>:SEGMented:PLAY / 1526
:WMEMory<R>:XOFFset / 1527
:WMEMory<R>:XRANge / 1528
:WMEMory<R>:YOFFset / 1529
:WMEMory<R>:YRANge / 1530

39 Xtalk (Crosstalk Analysis) Commands


:XTALk:ENABle / 1533
:XTALk:PAADeskew / 1535
:XTALk:PAIFilter / 1536
:XTALk:PAISi / 1537
:XTALk:PASLimit / 1538
:XTALk:PAXFilter / 1539
:XTALk:PAXSi / 1540
:XTALk:PJADeskew / 1541
:XTALk:PJIFilter / 1542
:XTALk:PJISi / 1543
:XTALk:PJSLimit / 1544
:XTALk:PJXFilter / 1545
:XTALk:PJXSi / 1546
:XTALk:RESults? / 1547
:XTALk:SAADeskew / 1549
:XTALk:SAIFilter / 1550
:XTALk:SAISi / 1551
:XTALk:SASLimit / 1552
:XTALk:SAXFilter / 1553
:XTALk:SAXSi / 1554
:XTALk<X>:AENable<X> / 1555
:XTALk<X>:ENABle / 1556
:XTALk<X>:IAGGressor / 1557
:XTALk<X>:IVICtim / 1558
:XTALk<X>:PAUTo / 1559
:XTALk<X>:PLENgth / 1560
:XTALk<X>:PTYPe / 1561
:XTALk<X>:RIDeal / 1562
:XTALk<X>:RISI / 1563
:XTALk<X>:ROTHer / 1564
:XTALk<X>:SOURce / 1565

Keysight Infiniium Oscilloscopes Programmer's Guide 39


:XTALk<X>:STYPe / 1566

40 Obsolete and Discontinued Commands


:ANALyze:CLOCk:METHod:PAM:B03 / 1573
:ANALyze:CLOCk:METHod:PAM:B12 / 1575
:ANALyze:CLOCk:METHod:PAM:NONSymmetric / 1577
:DISPlay:COLumn / 1579
:DISPlay:LINE / 1580
:DISPlay:ROW / 1581
:DISPlay:STRing / 1582
:DISPlay:TAB / 1583
:DISPlay:TEXT / 1584
:HOSTed:CALibrate:ALIGn (MultiScope) / 1585
:MEASure:CLOCk / 1586
:MEASure:CLOCk:METHod / 1587
:MEASure:CLOCk:METHod (deprecated) / 1589
:MEASure:CLOCk:METHod:ALIGn / 1591
:MEASure:CLOCk:METHod:DEEMphasis / 1592
:MEASure:CLOCk:METHod:EDGE / 1593
:MEASure:CLOCk:METHod:JTF / 1595
:MEASure:CLOCk:METHod:OJTF / 1597
:MEASure:CLOCk:METHod:PLLTrack / 1599
:MEASure:CLOCk:METHod:SOURce / 1600
:MEASure:CLOCk:VERTical / 1601
:MEASure:CLOCk:VERTical:OFFSet / 1602
:MEASure:CLOCk:VERTical:RANGe / 1603
:MEASure:DDPWS — Data Dependent Pulse Width Shrinkage / 1604
:MEASure:FFT:PEAK1 / 1606
:MEASure:FFT:PEAK2 / 1607
:MEASure:FFT:THReshold / 1608
:MEASure:JITTer:STATistics / 1609
:MEASure:TIEData / 1610
:MTESt:FOLDing:COUNt? / 1612
:SPRocessing:CTLequalizer:ZERo / 1614

41 Error Messages
Error Queue / 1616
Error Numbers / 1617
Command Error / 1618
Execution Error / 1619

40 Keysight Infiniium Oscilloscopes Programmer's Guide


Device- or Oscilloscope-Specific Error / 1620
Query Error / 1621
List of Error Messages / 1622

42 Sample Programs
VISA COM Examples / 1628
VISA COM Example in Visual Basic / 1628
VISA COM Example in C# / 1639
VISA COM Example in Visual Basic .NET / 1649
VISA COM Example in Python / 1658
VISA Examples / 1666
VISA Example in C / 1666
VISA Example in Visual Basic / 1675
VISA Example in C# / 1685
VISA Example in Visual Basic .NET / 1697
VISA Example in Python (PyVISA 1.5 and older) / 1709
VISA Example in Python (PyVISA 1.6 and newer) / 1715
SICL Examples / 1723
SICL Example in C / 1723
SICL Example in Visual Basic / 1732
SCPI.NET Examples / 1742
SCPI.NET Example in C# / 1742
SCPI.NET Example in Visual Basic .NET / 1749
SCPI.NET Example in IronPython / 1756

43 Reference
HDF5 Example / 1764
CSV and TSV Header Format / 1765
BIN Header Format / 1767
File Header / 1767
Waveform Header / 1767
Waveform Data Header / 1769
Example Program for Reading Binary Data / 1769

Index

Keysight Infiniium Oscilloscopes Programmer's Guide 41


42 Keysight Infiniium Oscilloscopes Programmer's Guide
Keysight Infiniium Oscilloscopes
Programmer's Guide

1 What's New
What's New in Version 6.30 / 44
What's New in Version 6.20 / 48
What's New in Version 6.10 / 51
What's New in Version 6.00 / 53
What's New in Version 5.75 / 57
What's New in Version 5.70 / 58
What's New in Version 5.60 / 61
What's New in Version 5.52 / 64
What's New in Version 5.51 / 65
What's New in Version 5.50 / 66
What's New in Version 5.30 / 72
What's New in Version 5.20 / 74
What's New in Version 5.10 / 76
What's New in Version 5.00 / 77
What's New in Version 4.60 / 81
What's New in Version 4.50 / 82
What's New in Version 4.30 / 83
What's New in Version 4.20 / 84
What's New in Version 4.10 / 85
What's New in Version 4.00 / 86
What's New in Version 3.50 / 87
What's New in Version 3.20 / 89
What's New in Version 3.11 / 90
What's New in Version 3.10 / 91

43
1 What's New

What's New in Version 6.30


New command descriptions for Version 6.30 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ANALyze:CLOCk:METHod:SKE When clock recovery is being performed on a PAM-4 signal type,
W:AUTomatic (see page 266) this command automatically shifts clocks relative to the data to
center the eye opening at the clock locations.
:FUNCtion<F>:FFT:HSCale (see For a FFT math function waveform, this command specifies
page 529) whether the horizontal scale is linear or logarithmic.
:HISTogram:MEASurement:MA Specifies the histogram's measurement maximum.
X (see page 586)
:HISTogram:MEASurement:MIN Specifies the histogram's measurement minimum.
(see page 587)
:MARKer<K>:DELTa (see This command sets a particular marker's "delta to" relationship
page 679) with another marker of the same type. The query returns a
particular marker's "delta to" state and delta values if the state is
1 (ON).
:MARKer<K>:ENABle (see Turns a particular marker on or off.
page 680)
:MARKer<K>:NAME (see Gives the marker a name.
page 681)
:MARKer<K>:SOURce (see Specifies the waveform source of a particular marker.
page 682)
:MARKer<K>:TYPE (see Specifies a particular marker's type (manual X only, manual Y only,
page 684) track waveforms, or track RF).
:MARKer<K>:X:POSition (see Specifies the horizontal position of a particular marker.
page 686)
:MARKer<K>:Y:POSition (see Specifies the vertical position of a particular marker.
page 687)
:MEASure:CGRade:ELOCation Specifies the eye height measurement location.
(see page 777)
:MEASure:MARK (see This command turns on or off "track measurement" markers for a
page 859) specified measurement. The query returns the "track
measurement" marker results.
:MEASure:PAM:EYE:PROBabilit When making PAM eye height or eye width measurements, the
y (see page 891) :MEASure:PAM:EYE:PROBability command specifies whether eye
boundaries (from the center of each eye) are based on zero hits or
at an eye opening BER (Bit Error Ratio) probability.

44 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

Command Description
:MEASure:PJITter (see Measures Phase Jitter on the phase noise single-sideband (SSB)
page 907) frequency offset FFT plot.
:MEASure:PLENgth (see The command installs a Pattern Length measurement into the
page 908) user interface's measurement Results pane. The query returns the
measured pattern length.
:MEASure:PN:CORRelations When two clock sources permit the two-channel
(see page 909) cross-correlation technique to be used, this command specifies
the number of correlations that will be accumulated between
phase noise analysis plot averages.
:MEASure:PN:EDGE (see Specifies the clock edge direction to measure.
page 910)
:MEASure:PN:HORizontal:STAR For the phase noise analysis single-sideband (SSB) frequency
t (see page 911) offset plot, this command specifies the left side of the horizontal
log frequency scale.
:MEASure:PN:HORizontal:STOP For the phase noise analysis single-sideband (SSB) frequency
(see page 912) offset plot, this command specifies the right side of the horizontal
log frequency scale.
:MEASure:PN:RSSC (see If your clock source uses spread-spectrum clocking (SSC) and the
page 913) FLATtop FFT windowing function is selected, you can use this
command to enable or disable the removal of the SSC effects
from the phase noise analysis results.
:MEASure:PN:SOURce (see Specifies the clock source(s) on which the phase noise analysis is
page 914) performed.
:MEASure:PN:SPURs (see Specifies how to display spurs in the phase noise analysis
page 915) single-sideband (SSB) frequency offset plot.
:MEASure:PN:SSENsitivity (see When omitting spurs from the phase noise analysis
page 916) single-sideband (SSB) frequency offset plot, or when displaying
them in power (dBc) instead of the default normalized (dBc/Hz)
scale, this command specifies the sensitivity used in identifying
spurs.
:MEASure:PN:STATe (see Turns the phase noise analysis feature on or off.
page 917)
:MEASure:PN:VERTical:REFere Specifies the dBc/Hz value at the top of the phase noise analysis
nce (see page 918) single-sideband (SSB) frequency offset plot.
:MEASure:PN:VERTical:SCALe Specifies the height in dBc/Hz of each vertical division in the
(see page 919) phase noise analysis single-sideband (SSB) frequency offset plot.
:MEASure:PN:WINDow (see Specifies the FFT windowing function used in the phase noise
page 920) analysis.
:MEASure:RJDJ:CREFerence Specifies the number of UI away from the data edge at which to
(see page 942) measure jitter.

Keysight Infiniium Oscilloscopes Programmer's Guide 45


1 What's New

Command Description
:MEASure:XCORtie (see Measures cross-correlated TIE using the same two-channel
page 1044) cross-correlation technique that is used when measuring phase
noise.
:SPRocessing:DFEQualizer:TAP: Computes a DFE delay value to center a DFE eye on the screen
DELay:AUTomatic (see horizontally.
page 1195)
:TRIGger:FORCe (see Causes an acquisition to be captured even though the trigger
page 1258) condition has not been met.
:WMEMory<R>:FFT:HSCale For a FFT waveform memory, this command specifies whether the
(see page 1521) horizontal scale is linear or logarithmic.

Changed
Commands Command Description
:ANALyze:CLOCk:METHod (see Added the BMC (USB PD bi-phase mark coding) and LFPS (USB 3
page 251) low frequency periodic signaling) methods.
:ANALyze:SIGNal:TYPE (see PAM3 has been added as a signal type.
page 285)
:BUS:B<N>:TYPE (see Added support for new QSPI (Quad SPI) and USB32 (USB 3.2)
page 290) protocols.
:CHANnel<N>:ISIM:BWLimit:TY The BANDpass option has been added to support the Phase Noise
PE (see page 336) analysis application.
:DISPlay:LAYout (see The obsolete CUSTom option has been replaced with the new TAB
page 498) option.
:FUNCtion<F>:MHIStogram Added <min> and <max> parameters for specifying the
(see page 558) histogram's measurement minimum and measurement maximum.
:MEASure:STATistics (see The COUNt option has been added to allow the
page 966) :MEASure:RESults? query to return the measurement count value.
:MEASure:THResholds:GENeral Modified to work with the PAM-3 signal type.
:PAMCustom (see page 977)
:MEASurement<N>:NAME (see Now supports up to 20 measurements.
page 1045)
:SPRocessing:CTLequalizer:NU The new option names P2Z1 and P2ACG replace the old option
MPoles (see page 1178) names POLE2 and USB31, respectively (but operations are the
same).

Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences

46 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

Discontinued
Commands Discontinued Command Current Command Equivalent Comments
:MTESt:AlignFIT None This command is no longer
supported.
:TRIGger:ADVanced:PATTern:T :DIGital<N>:THReshold (see
HReshold:POD<N> page 447)

Keysight Infiniium Oscilloscopes Programmer's Guide 47


1 What's New

What's New in Version 6.20


New command descriptions for Version 6.20 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ANALyze:CLOCk:METHod:IDLE This command lets you specify the number of additional clocks
(see page 258) output by the clock recovery PLL for situations where valid data
can occur during electrical idles.
:ANALyze:SIGNal:PATTern:CLEa Clears a loaded pattern file.
r (see page 281)
:ANALyze:SIGNal:PATTern:LOA Loads a pattern file from which pattern lengths and patterns are
D (see page 282) determined.
:ANALyze:SIGNal:PATTern:PLE Specifies a pattern length or that the oscilloscope determine the
Ngth (see page 283) pattern length automatically.
:ANALyze:SIGNal:PATTern:SMA For PAM-4 signal types, specifies whether the symbol map is
P (see page 284) gray-coded or uncoded.
:MEASure:JITTer:SPECtrum:RE This query returns the resolution bandwidth of the measurement
Solution? (see page 847) analysis spectrum FFT.
:MEASure:PAM:EOJ (see When the signal type is PAM-4, this command installs a
page 885) PRBS13Q even-odd jitter (EOJ) measurement into the user
interface's measurement Results pane. The query returns the
measured PRBS13Q even-odd jitter (EOJ) value.
:MEASure:PAM:J4U (see When the signal type is PAM-4, this command installs a
page 893) PRBS13Q J4u measurement into the user interface's
measurement Results pane. The query returns the measured
PRBS13Q J4u value.
:MEASure:PAM:JRMS (see When the signal type is PAM-4, this command installs a
page 894) PRBS13Q Jrms measurement into the user interface's
measurement Results pane. The query returns the measured
PRBS13Q Jrms value.
:SBUS<N>:GENRaw:SOURce Sets the source for the Generic Raw signal.
(see page 1122)
:SBUS<N>:GENRaw:WSIZe Sets the Generic Raw protocol decode word size.
(see page 1123)
:SPRocessing:DFEQualizer:TAP: Specifies whether the Normalize DC Gain setting is ON or OFF.
NORMalize (see page 1200)

48 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

Changed
Commands Command Description
:ACQuire:HRESolution (see On S-Series oscilloscopes only, the BITF11, BITF12, BITF13,
page 224) BITF14, BITF15, and BITF16 options have been added to force the
specified number of bits of vertical resolution.
:ANALyze:SIGNal:TYPE (see NRZ has been added as a signal type. With this selection, you are
page 285) able to specify pattern lengths and patterns so that you can make
BER measurements on NRZ signals (:MEASure:BER and
:MEASure:BERPeracq).
:BUS:B<N>:TYPE (see Added support for new PCI4 (PCI Express Gen4) and SENT (Single
page 290) Edge Nibble Transmission) protocols.
:DISK:LOAD (see page 454) The <interp> option has been added.
:MARKer:MODE (see Now returns ICON when Track RF markers are used.
page 664)
:MEASure:BER (see page 767) Now works with the NRZ signal type (as well as the PAM signal
type). Pattern length parameters have been removed from this
command because pattern lengths and patterns are now specified
using the :ANALyze:SIGNal:PATTern:* commands.
:MEASure:BERPeracq (see Now works with the NRZ signal type (as well as the PAM signal
page 768) type). Pattern length parameters have been removed from this
command because pattern lengths and patterns are now specified
using the :ANALyze:SIGNal:PATTern:* commands.
:MEASure:FFT:DFRequency The command and query now include peak number and level
(see page 813) parameters.
:MEASure:FFT:DMAGnitude The command and query now include peak number and level
(see page 815) parameters.
:MEASure:FFT:FREQuency (see The command and query now include peak number and level
page 817) parameters.
:MEASure:FFT:MAGNitude (see The command and query now include peak number and level
page 819) parameters.
:MEASure:RESults? (see There is now an AORDered option for returning the results
page 930) according to the order in which measurements were added
(ignoring any front panel graphical user interface (GUI) reordering)
or a GORDered option for returning the results according to the
order they appear on the display (even after front panel GUI
reordering). Not specifying any option is the same as using the
AORDered option.
:MEASure:SER (see page 959) Pattern length parameters have been removed from this
command because pattern lengths and patterns are now specified
using the :ANALyze:SIGNal:PATTern:* commands.
:MEASure:SERPeracq (see Pattern length parameters have been removed from this
page 960) command because pattern lengths and patterns are now specified
using the :ANALyze:SIGNal:PATTern:* commands.

Keysight Infiniium Oscilloscopes Programmer's Guide 49


1 What's New

Command Description
:SBUS<N>:MODE (see Added the GENRaw mode option.
page 1094)
:SYSTem:GUI (see page 1226) The LOCK parameter has been added and the query return value is
now a string (ON, OFF, or LOCK) instead of the previous 1 or 0
return values.
:TRIGger:ADVanced:PATTern:C The OR parameter has been added.
ONDition (see page 1375)
:TRIGger:PATTern:CONDition The OR parameter has been added.
(see page 1307)
:WAVeform:SEGMented:COUNt The signal that is queried for the count is the signal set by the
? (see page 1494) :WAVeform:SOURce command. If you query the COUNt while the
segmented acquisition is occurring, it will return the number of
segments acquired so far.
:WAVeform:SEGMented:TTAG? The signal that is queried for the time tag is the signal set by the
(see page 1494) :WAVeform:SOURce command.

Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:MEASure:FFT:PEAK1 (see :MEASure:FFT:DFRequency Peak numbers and threshold
page 1606) (see page 813) levels are now specified in the
:MEASure:FFT:DMAGnitude :MEASure:FFT:DFRequency and
:MEASure:FFT:PEAK2 (see
(see page 815) :MEASure:FFT:DMAGnitude
page 1607)
command/query parameters.
:MEASure:FFT:THReshold (see
page 1608)

Discontinued
Commands Discontinued Command Current Command Equivalent Comments
:SPRocessing:FFEQualizer:TAP: :ANALyze:SIGNal:PATTern:* Pattern lengths and patterns
PLENgth are now specified using the
:ANALyze:SIGNal:PATTern:*
commands.

50 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

What's New in Version 6.10


New command descriptions for Version 6.10 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ANALyze:CLOCk:METHod:SKE When clock recovery is being performed on a PAM-4 signal type,
W (see page 265) this command can be used to to center the eye opening at the
clock locations by shifting the clocks relative to the data.
:DISPlay:JITTer:THReshold (see When the ":MEASure:RJDJ:PAMThreshold ALL" command
page 496) specifies that all PAM-4 thresholds are measured, this command
specifies whether a certain threshold level or ALL threshold levels
should be displayed in the jitter graphs.
:DISPlay:NOISe:LEVel (see Specifies which of the noise graphs to display.
page 500)
:FUNCtion<F>:PAVerage (see Sets up the Pattern Average math function.
page 565)
:HOSTed:NCONnected? (see Returns a number that indicates whether in hosted mode, and if in
page 621) hosted mode, the number of hosted oscilloscope frames
connected.
:MARKer:DELTa (see Turns on or off the check box to display deltas on the screen (as
page 662) opposed to the deltas in the results area and remote queries).
:MEASure:PAM:EYE:ELMethod Selects the basis for determining the location of an eye's center
(see page 888) on the waveform.
:MEASure:PAM:EYE:ESTiming Configures the timing for sampling the data.
(see page 889)
:MEASure:PAM:EYE:PPERcent Defines the timespan over which an eye's amplitude level is
(see page 890) measured.
:MEASure:PAM:EYE:TIME:LTDefi Specifies the method used to locate the time at which to measure
nition (see page 892) an eye's level.
:MEASure:HISTogram:FWHM The command installs a Full-Width at Half Max histogram
(see page 825) measurement into the user interface's measurement Results
pane. The query returns the measured histogram Full-Width at
Half Max value.
:MEASure:RJDJ:PAMThreshold Specifies which PAM thresholds to measure for PAM-4 signals.
(see page 947)
:MEASure:THResholds:DISPlay When the source is a PAM-4 signal type, this command turns on
(see page 969) or off the display of the PAM-4 measurement thresholds.

Keysight Infiniium Oscilloscopes Programmer's Guide 51


1 What's New

Changed
Commands Command Description
:ANALyze:SIGNal:TYPE (see CPHY has been added as a signal type.
page 285)
:BUS:B<N>:TYPE (see Added support for new CPHY (MIPI C-PHY), BRR (BroadR-Reach),
page 290) SPW (SpaceWire), and MAN (Manchester) protocols.
:CALibrate:OUTPut (see Added the PRBS7, PRBS15, and PRBS31 options for the Infiniium
page 304) 90000 X-Series, V-Series, 90000 Q-Series, and Z-Series
oscilloscopes.
:CHANnel<N>:PROBe:EADapter Added the CUR0002VA and CUR002VA options for use with the
(see page 354) E2697A or N5449A high impedance adapters.
:DISK:SAVE:WAVeform (see Added the MATlab format for saving waveforms to MATLAB (.mat)
page 465) data format files.
:MEASure:RJDJ:ALL? (see Jitter analysis is supported on PAM-4 signals. When the
page 935) ":MEASure:RJDJ:PAMThreshold ALL" command setting has been
made, the query results include values for multiple threshold
levels; otherwise, the query results are for the specific threshold
level specified in the :MEASure:RJDJ:PAMThreshold command.
:MEASure:RJDJ:TJRJDJ? (see Jitter analysis is supported on PAM-4 signals. When the
page 954) ":MEASure:RJDJ:PAMThreshold ALL" command setting has been
made, the query results include values for multiple threshold
levels; otherwise, the query results are for the specific threshold
level specified in the :MEASure:RJDJ:PAMThreshold command.
:MEASure:THResholds:GENeral Added an optional <hysteresis> value at the end of the command
:PAMCustom (see page 977) parameters.

Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:ANALyze:CLOCk:METHod:PAM: None The command works and as
B03 (see page 1573) before, but changing its default
(ON) is not necessary.
:ANALyze:CLOCk:METHod:PAM: None The command works and as
B12 (see page 1575) before, but changing its default
(ON) is not necessary.
:ANALyze:CLOCk:METHod:PAM: None The command works and as
NONSymmetric (see before, but changing its default
page 1577) (OFF) is not necessary.

52 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

What's New in Version 6.00


New command descriptions for Version 6.00 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ACQuire:SEGMented:AUToplay Specifies whether segments are automatically played after a
(see page 236) segmented memory acquisition.
:CALibrate:OUTPut:AUX (see Enables or disables signal output on the oscilloscope's Aux Out
page 306) connector.
:CALibrate:OUTPut:AUX:RTIMe Specifies the speed of the Aux Out signal's rise time.
(see page 307)
:CALibrate:OUTPut:CAL (see Enables or disables signal output on the oscilloscope's Cal Out
page 308) connector.
:CHANnel<N>:SIMulation:AMP Specifies the amplitude of the simulated waveform.
Litude (see page 381)
:CHANnel<N>:SIMulation:DATA Specifies the length exponent of the simulated waveform's PRBS
:LENGth (see page 382) sequence (for the DATA simulated waveform type).
:CHANnel<N>:SIMulation:DATA Sets the PRBS "odd" control (for the DATA simulated waveform
:ODD (see page 383) type).
:CHANnel<N>:SIMulation:DATA Specifies the number of symbols (or levels) in the PAM signal
:PAM (see page 384) (when the DATA simulated waveform type is selected and the PAM
signal type is selected).
:CHANnel<N>:SIMulation:DATA Specifies whether to reseed the PRBS generator(s) (for the DATA
:RESeed (see page 385) simulated waveform type).
:CHANnel<N>:SIMulation:DATA Specifies whether the simulated PRBS waveform is a Non Return
:SELection (see page 386) to Zero (NRZ) signal or a Pulse Amplitude Modulation (PAM)
signal (for the DATA simulated waveform type).
:CHANnel<N>:SIMulation:DRAT Specifies the data rate of the simulated waveform (for the DATA
e (see page 387) simulated waveform type).
:CHANnel<N>:SIMulation:FILTe Specifies the path of an InfiniiSim transfer function file (when an
r:ISIM:ADDRess (see InfiniiiSim filter is selected).
page 388)
:CHANnel<N>:SIMulation:FILTe Specifies the port extraction method for a 4-port InfiniiSim
r:ISIM:PEXTraction (see transfer function file.
page 389)
:CHANnel<N>:SIMulation:FILTe Sets the filter type.
r:SELection (see page 390)
:CHANnel<N>:SIMulation:FLOa Specifies the full path string of a .wfm file to use as the simulated
d:ADDRess (see page 391) waveform (for the FILE simulated waveform type).

Keysight Infiniium Oscilloscopes Programmer's Guide 53


1 What's New

Command Description
:CHANnel<N>:SIMulation:FLOa Specifies whether the simulated waveform should repeat from the
d:LOOP (see page 392) beginning of the file when reaching the end of the file (for the FILE
simulated waveform type).
:CHANnel<N>:SIMulation:FREQ Specifies the frequency of the simulated waveform (for the CLOCk
uency (see page 393) or FUNCtion simulated waveform types).
:CHANnel<N>:SIMulation:FUN Specifies the simulated waveform function type (for the FUNCtion
Ction:SELection (see simulated waveform type).
page 394)
:CHANnel<N>:SIMulation:FUN Specifies the square wave's duty cycle high time percent value
Ction:SQUare:DCYCle (see (when the FUNCtion simulated waveform type is selected and the
page 395) SQUare function is selected).
:CHANnel<N>:SIMulation:FUN Specifies the square wave's high-to-low transition time (when the
Ction:SQUare:FTIMe (see FUNCtion simulated waveform type is selected and the SQUare
page 396) function is selected).
:CHANnel<N>:SIMulation:FUN Specifies the square wave's low-to-high transition time (when the
Ction:SQUare:RTIMe (see FUNCtion simulated waveform type is selected and the SQUare
page 397) function is selected).
:CHANnel<N>:SIMulation:JITTe Turns all simulated waveform jitter off or on while saving the
r (see page 398) values.
:CHANnel<N>:SIMulation:JITTe Specifies the amount of Aperiodic Bounded Uniform Jitter (ABUJ)
r:ABUJ (see page 399) to apply to the simulated waveform.
:CHANnel<N>:SIMulation:JITTe Turns the periodic jitter for the simulated waveform on or off.
r:PERiodic<M>:ENABle (see
page 400)
:CHANnel<N>:SIMulation:JITTe Specifies the frequency of the periodic jitter applied to the
r:PERiodic<M>:FREQuency simulated waveform.
(see page 401)
:CHANnel<N>:SIMulation:JITTe Specifies the magnitude of the periodic jitter applied to the
r:PERiodic<M>:MAGNitude simulated waveform.
(see page 402)
:CHANnel<N>:SIMulation:JITTe Specifies the shape of the periodic jitter applied to the simulated
r:PERiodic<M>:SHAPe (see waveform.
page 403)
:CHANnel<N>:SIMulation:JITTe Specifies the standard deviation of random jitter to apply.
r:RANDom (see page 404)
:CHANnel<N>:SIMulation:NOIS Turns all simulated waveform noise off or on while saving the
e (see page 405) values.
:CHANnel<N>:SIMulation:NOIS Turns the noise filter on or off.
e:BWLimit (see page 406)

54 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

Command Description
:CHANnel<N>:SIMulation:NOIS Turns the periodic noise for the simulated waveform on or off.
e:PERiodic<M>:ENABle (see
page 407)
:CHANnel<N>:SIMulation:NOIS Specifies the frequency of the periodic noise applied to the
e:PERiodic<M>:FREQuency simulated waveform.
(see page 408)
:CHANnel<N>:SIMulation:NOIS Specifies the magnitude of the periodic noise applied to the
e:PERiodic<M>:MAGNitude simulated waveform.
(see page 409)
:CHANnel<N>:SIMulation:NOIS Specifies the shape of the periodic noise applied to the simulated
e:PERiodic<M>:SHAPe (see waveform.
page 410)
:CHANnel<N>:SIMulation:NOIS Specifies the standard deviation of random noise to apply.
e:RANDom (see page 411)
:CHANnel<N>:SIMulation:OFFS Specifies the offset of the simulated waveform.
et (see page 412)
:CHANnel<N>:SIMulation:WAV Sets the simulated waveform type.
eform (see page 413)
:FUNCtion<F>:MLOG (see Adds a function waveform that is a scrolling record of
page 561) measurement values over time.
:MEASure:THResholds:GENaut Automatically sets the general "Custom: thresholds +/-
o (see page 970) hysteresis" when thresholds apply to individual waveforms.
:MTESt:COUNt:SUI? (see Returns the total number of samples that have been mask tested
page 706) in the UI bit time.
:SYSTem:HLED (see On Infiniium 90000 Q-Series, S-Series, V-Series, and Z-Series
page 1228) oscilloscopes, this command turns the Turn off Front Panel LEDs
user preference on or off.
:WAVeform:CGRade:HEIGht? Returns the color grade (pixel) database data height (when the
(see page 1458) CGRade waveform view is selected).
:WAVeform:CGRade:WIDTh? Returns the color grade (pixel) database data width (when the
(see page 1459) CGRade waveform view is selected).
:WMEMory<R>:SEGMented:CO When segmented memory acquisitions are saved to waveform
UNt? (see page 1524) memory, this query returns the number of segments in the
waveform memory.
:WMEMory<R>:SEGMented:IN When segmented memory acquisitions are saved to waveform
Dex (see page 1525) memory, this command command sets the index number for the
segment that you want to display on screen.
:WMEMory<R>:SEGMented:PL When segmented memory acquisitions are saved to waveform
AY (see page 1526) memory, this command command plays (or stops) the segments.

Keysight Infiniium Oscilloscopes Programmer's Guide 55


1 What's New

Changed
Commands Command Description
:ANALyze:CLOCk:METHod:JTF There are now Third Order PLL options.
(see page 259)
:ANALyze:CLOCk:METHod:OJTF There are now Third Order PLL options.
(see page 261)
:BUS:B<N>:TYPE (see Added support for new SPMI and GENRaw protocols.
page 290)
:FUNCtion<F>:FFT:DETector:TY The RMS detector type has been added.
PE (see page 527)
:FUNCtion<F>:HORizontal:POSi For functions where the horizontal position cannot be adjusted,
tion (see page 546) this command now gives a -221,"Settings conflict" instead of
being accepted without effect.
:FUNCtion<F>:HORizontal:RAN For functions where the horizontal position cannot be adjusted,
Ge (see page 548) this command now gives a -221,"Settings conflict" instead of
being accepted without effect.
:HOSTed:FOLLower<N>:CONFi Added the ability to configure a "Simulated Instrument" to set up
gure (see page 614) simulated waveforms.
:MTESt:SOURce (see Waveform memories can now be used as a source for mask
page 749) testing.
:WAVeform:FORMat (see There is now a FLOat option for getting color grade (pixel)
page 1485) database data in single-precision floating-point format (when the
CGRade waveform view is selected).
:WAVeform:VIEW (see There is now a CGRade option for getting color grade (pixel)
page 1501) database data.

Discontinued
Commands Discontinued Command Current Command Equivalent Comments
:MEASure:THResholds:RFALl:H None Rise/fall thresholds are no
YSTeresis longer set using hysteresis and
level values.

56 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

What's New in Version 5.75


New command descriptions for Version 5.75 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:SPRocessing:CTLequalizer:Z1 Specifies the first zero for 3-pole CTLE.
(see page 1187)
:SPRocessing:CTLequalizer:Z2 Specifies the second zero for 3-pole CTLE.
(see page 1188)

Changed
Commands Command Description
:SPRocessing:CTLequalizer:NU Now that you can specify up to two zeros for a 3-pole CTLE, the
MPoles (see page 1178) previous POLE3 option has been replaced by P3Z1 and P3Z2.
:MEASure:RJDJ:BER (see You can now set J4 and J5 jitter BER levels.
page 939)

Keysight Infiniium Oscilloscopes Programmer's Guide 57


1 What's New

What's New in Version 5.70


New command descriptions for Version 5.70 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ACQuire:SEGMented:PRATe Specifies the segmented memory navigation play rate.
(see page 240)
:CHANnel<N>:INVert (see Enables or disables the invert setting for a channel.
page 330)
:CHANnel<N>:ISIM:BWLimit:TY Specifies a channel's bandwidth limit filter response.
PE (see page 336)
:CHANnel<N>:PROBe:INFO? Returns a comma-separated list of probe information.
(see page 368)
:DISPlay:PROPortion:RESults Specifies the size of the Results pane in the oscilloscope display.
(see page 504)
:FUNCtion<F>:FFT:DETector:PO When a detector is used for the FFT magnitude function, this
INts (see page 526) command specifies the maximum number of points (buckets) that
detectors should decimate to.
:FUNCtion<F>:FFT:DETector:TY Specifies whether a detector is used for the FFT magnitude
PE (see page 527) function.
:FUNCtion<F>:FFT:SPAN (see Sets the frequency span for the FFT function.
page 533)
:FUNCtion<F>:FFT:STOP (see Sets the stop frequency for the FFT function.
page 534)
:FUNCtion<F>:FFT:VUNits (see Specifies the vertical units for the FFT magnitude function.
page 536)
:HOSTed:PERiodic (see Turns periodic drift correction on or off.
page 622)
:LTESt:ADDStats (see Enables or disables the limit test "statistics on passing
page 646) measurements only" option.
:LTESt:RUMode:SOFailure (see Enables or disables the limit test "stop on failure" option.
page 652)
:MEASure:CGRade:OLEVel (see The command installs an Eye One Level measurement into the
page 783) user interface's measurement Results pane. The query returns the
measured Eye One Level.
:MEASure:CGRade:ZLEVel (see The command installs an Eye Zero Level measurement into the
page 785) user interface's measurement Results pane. The query returns the
measured Eye Zero Level.

58 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

Command Description
:MEASure:ERATio (see The command installs an Extinction Ratio measurement into the
page 807) user interface's measurement Results pane. The query returns the
measured Extinction Ratio.
:MEASure:FFT:CPOWer (see The command installs a channel power measurement into the
page 812) user interface's measurement Results pane. The query returns the
measured channel power.
:MEASure:FFT:OBW (see The command installs an occupied bandwidth measurement into
page 821) the user interface's measurement Results pane. The query returns
the measured occupied bandwidth.
:MEASure:FFT:PSD (see The command installs a power spectral density measurement into
page 822) the user interface's measurement Results pane. The query returns
the measured power spectral density.
:MEASure:OMAMplitude (see The command installs an Optical Modulation Amplitude (OMA)
page 879) measurement into the user interface's measurement Results
pane. The query returns the measured Optical Modulation
Amplitude (OMA).
:MEASure:OPOWer (see The command installs an Optical Average Power measurement
page 880) into the user interface's measurement Results pane. The query
returns the measured Optical Average Power.
:MTESt:COUNt:MARGin:FAILure Returns the margin failure count for a specified region.
s? (see page 705)
:MTESt:MARGin:AUTO:HITS When the automatic margin method is selected, and the hit ratio
(see page 734) method is selected, this command specifies the hit count.
:MTESt:MARGin:AUTO:HRATio When the automatic margin method is selected, and the hit ratio
(see page 735) method is selected, this command specifies the hit ratio.
:MTESt:MARGin:AUTO:METHod When the automatic margin method is selected, this command
(see page 736) selects between the hit count and hit ratio and automatic margin
methods.
:MTESt:MARGin:METHod (see Selects between the manual and automatic margin types.
page 737)
:MTESt:MARGin:PERCent (see When the manual margin method is selected, this command
page 738) specifies the margin percent.
:MTESt:MARGin:STATe (see Enables or disables mask margin testing.
page 739)
:XTALk Commands (see The commands in the XTALk subsystem are used to control the
page 1531) Crosstalk Analysis application.

Keysight Infiniium Oscilloscopes Programmer's Guide 59


1 What's New

Changed
Commands Command Description
:BUS:B<N>:TYPE (see Added support for new A429, M1553, and I3C protocols.
page 290)
:DISPlay:SCOLor (see Added the ability to set colors for MMPolygons.
page 508)
:FUNCtion<F>:FFT:RESolution The command form now lets you set the FFT resolution.
(see page 531)
:MARKer:MODE (see Added XONLy and YONLy options for for the "Manual (X only)" and
page 664) "Manual (Y only)" marker modes.
:MEASure:AREA (see Added a RISing or FALLing edge parameter when "Measure All
page 765) Edges" is set and measuring a single cycle of the waveform.

60 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

What's New in Version 5.60


New command descriptions for Version 5.60 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ACQuire:BANDwidth:TESTLIMI Returns the oscilloscope's acquisition bandwidth maximum and
TS? (see page 220) minimum limits.
:ACQuire:POINts:TESTLIMITS? Returns the oscilloscope's acquisition points maximum and
(see page 233) minimum limits.
:ACQuire:SEGMented:PLAY (see Plays (or stops) acquired segments.
page 239)
:ACQuire:SRATe:TESTLIMITS? Returns the oscilloscope's acquisition sampling rate maximum
(see page 246) and minimum limits.
:ANALyze:SIGNal:MIXer:CABLel Sets the loss of the cable connecting the mixer to the
oss (see page 275) oscilloscope.
:ANALyze:SIGNal:MMWave:CAL Initiates a mixer/LO (local oscillator) power calibration. The LO is
ibrate (see page 276) identified by the :ANALyze:SIGNal:MMWave:LOADdress
command.
:ANALyze:SIGNal:MMWave:CFR Sets the center frequency for the oscilloscope's FFT math
equency (see page 277) function.
:ANALyze:SIGNal:MMWave:CO Sets the connection status for the mixer and LO (local oscillator)
NNect (see page 278) assigned to the specified channel.
:ANALyze:SIGNal:MMWave:LOA Sets the LO's (local oscillator's) VISA address.
Ddress (see page 279)
:ANALyze:SIGNal:MMWave:MB Sets the measurement bandwidth. This becomes the center
ANdwidth (see page 280) frequency for the oscilloscope's FFT math function.
:CHANnel<N>:PROBe:PRIMary For the N2820A/N2821A high-sensitivity current probes only, this
(see page 376) command configures the input channel as a zoomed-in (amplified)
or zoomed-out channel.
:MEASure:BER (see page 767) When the signal type is PAM, this command installs a cumulative
BER (bit error rate) measurement of the specified PAM signal into
the user interface's measurement Results pane. The query returns
the measured cumulative BER value.
:MEASure:BERPeracq (see When the signal type is PAM, this command installs a BER (bit
page 768) error rate) per acquisition measurement of the specified PAM
signal into the user interface's measurement Results pane. The
query returns the measured BER per acquisition value.
:MEASure:PPContrast (see Measures the peak-to-peak contrast (also known as Michelson
page 921) contrast or modulation).

Keysight Infiniium Oscilloscopes Programmer's Guide 61


1 What's New

Command Description
:MEASure:SER (see page 959) When the signal type is PAM, this command installs a cumulative
SER (symbol error rate) measurement of the specified PAM signal
into the user interface's measurement Results pane. The query
returns the measured cumulative SER value.
:MEASure:SERPeracq (see When the signal type is PAM, this command installs a SER
page 960) (symbol error rate) per acquisition measurement of the specified
PAM signal into the user interface's measurement Results pane.
The query returns the measured SER per acquisition value.
:SBUS<N>:CAN:TYPE (see Selects between standard CAN or Flexible Data Rate CAN
page 1110) (CAN FD) decode types.
:SBUS<N>:CAN:FDSPoint (see Sets the point during the bit time where the bit level is sampled to
page 1096) determine whether the bit is dominant or recessive.
:SBUS<N>:CAN:SIGNal:FDBau Sets the CAN FD baud rate in the range from 1 Mb/s to 10 Mb/s.
drate (see page 1100)
:SYSTem:DONTtabmeas (see Turns the Never tab Measurement Results user preference on or
page 1223) off.

Changed
Commands Command Description
:ANALyze:CLOCk:METHod (see They CPHY and PWM methods have been added.
page 251)
:ANALyze:SIGNal:TYPE (see MMWave has been added as a signal type.
page 285)
:DISPlay:SCOLor (see Removed the ability to set colors for MEASurements, STEXt,
page 508) TSCale, and WBACkgrnd.
:FUNCtion<F>:MATLab:CONTro Up to 6 user-defined controls supported.
l<N> (see page 555)
:SBUS<N>:CAN:TRIGger (see Additional trigger condition options for CAN FD have been added.
page 1102)
:SBUS<N>:CAN:TRIGger:PATTe Length can be from 1 to 15 bytes for CAN FD.
rn:DATA:LENGth (see
page 1106)

62 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:DISPlay:TAB (see page 1583) None This command is not supported
in version 5.00 or higher. The
query now returns only NONE.
:HOSTed:CALibrate:ALIGn (see None Acquired data is now always
page 1585) aligned, and this command has
no effect.

Keysight Infiniium Oscilloscopes Programmer's Guide 63


1 What's New

What's New in Version 5.52


New command descriptions for Version 5.52 of the Infiniium oscilloscope software
appear below.
Changed
Commands Command Description
:MTESt:FOLDing:COUNt:UI? The <source> parameter is now optional.
(see page 715)
:MTESt:FOLDing:COUNt:WAVef The <source> parameter is now optional.
orms? (see page 715)

64 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

What's New in Version 5.51


New command descriptions for Version 5.51 of the Infiniium oscilloscope software
appear below.
Changed
Commands Command Description
:BUS:B<N>:TYPE (see Added support for new ESPI, USB31, and USBPD protocols.
page 290)

Keysight Infiniium Oscilloscopes Programmer's Guide 65


1 What's New

What's New in Version 5.50


New command descriptions for Version 5.50 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ANALyze:CLOCk:METHod:PAM: When the signal type is PAM-4, this command specifies whether
B03 (see page 1573) edges from the 0 level to the 3 level and from the 3 level to the 0
level are are included in the clock recovery.
:ANALyze:CLOCk:METHod:PAM: When the signal type is PAM-4, this command specifies whether
B12 (see page 1575) edges from the 1 level to the 2 level and from the 2 level to the 1
level are are included in the clock recovery.
:ANALyze:CLOCk:METHod:PAM: When the signal type is PAM-4, this command specifies whether
NONSymmetric (see edges that are non-symmetric about the middle threshold are
page 1577) included in the clock recovery.
:ANALyze:SIGNal:DATarate (see When the signal type is PAM-4, this command specifies the data
page 271) rate of the signal.
:ANALyze:SIGNal:SYMBolrate When the signal type is PAM-4, this command specifies the edge
(see page 273) rate of the signal.
:ANALyze:SIGNal:TYPE (see Lets you specify whether a channel, function, or waveform
page 285) memory is a special type of signal, like a PAM-4 signal for
example.
:DISPlay:ISIM:GCOunt (see Sets or returns the number of visible graphs in the InfiniiSim plots
page 490) window area.
:DISPlay:ISIM:SELectgraph Inserts the specified graph at the first display graph position.
(see page 491)
:DISPlay:ISIM:SOURce (see Sets the source for the InfiniiSim plots graph(s).
page 492)
:DISPlay:JITTer:GCOunt (see Sets or returns the number of visible graphs in the Jitter/Noise
page 493) graphs window area.
:DISPlay:JITTer:SELectgraph Inserts the specified graph at the first display graph position.
(see page 494)
:DISPlay:PRECprobe:GCOunt Sets or returns the number of visible graphs in the PrecisionProbe
(see page 505) correction and analysis charts window area.
:DISPlay:PRECprobe:SELectgra Inserts the specified graph at the first display graph position.
ph (see page 506)
:DISPlay:PRECprobe:SOURce Sets the source for the PrecisionProbe correction and analysis
(see page 507) chart(s).
:DISPlay:WINDow:MAXimize Will maximize the size of the specified window.
(see page 512)

66 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

Command Description
:HOSTed:CALibrate:ALIGn (see Lets you align acquired data in the MultiScope system.
page 1585)
:HOSTed:CALibrate:CALibrate Performs the MultiScope system time-correlation calibration at
(see page 599) the level selected by :HOSTed:CALibrate:LEVel.
:HOSTed:CALibrate:CHANnel Selects the calibration channel or synchronization input where the
(see page 600) MultiScope system time-correlation procedures expect to find the
calibration signal.
:HOSTed:CALibrate:DESKew:FR Deskews frames in the MultiScope system by measuring only one
AMes (see page 602) input channel from each oscilloscope frame.
:HOSTed:CALibrate:DESKew:C Deskews all channels in the MultiScope system.
HANnels (see page 601)
:HOSTed:CALibrate:DESKew:SI Aligns the horizontal positions of the closest rising edges of all
GNals (see page 603) input signals in the MultiScope system.
:HOSTed:CALibrate:DESKew:ZE Resets MultiScope system signal skew values to zero.
RO (see page 604)
:HOSTed:CALibrate:LEVel (see Selects the MultiScope system calibration level.
page 605)
:HOSTed:CALibrate:PROMpt Specifies whether the user interface software prompts you to
(see page 607) make the proper connections while the MultiScope system
calibration runs.
:HOSTed:CALibrate:STATus:CH Returns the MultiScope system calibration status of "Deskew
ANnels? (see page 608) Channels".
:HOSTed:CALibrate:STATus:FRA Returns the MultiScope system calibration status of "Deskew
Mes? (see page 609) Frames".
:HOSTed:CALibrate:STATus:LEV Returns the MultiScope system calibration status of the currently
el? (see page 610) selected calibration level.
:HOSTed:CALibrate:STATus:SIG Returns the MultiScope system calibration status of "Deskew
Nals? (see page 611) Signals".
:HOSTed:CALibrate:TREF:DETe Automatically detects the reference clock connection between
ct (see page 612) oscilloscopes in a MultiScope system.
:HOSTed:FOLLower<N>:ACHan Returns the channel numbers assigned to a Follower oscilloscope
nels? (see page 613) in a MultiScope system.
:HOSTed:FOLLower<N>:CONFi Identifies the Follower oscilloscope in a MultiScope system by its
gure (see page 614) VISA address.
:HOSTed:FOLLower<N>:CONNe Opens the connection to a Follower oscilloscope in a MultiScope
ct (see page 615) system.
:HOSTed:FOLLower<N>:DISCo Closes the connection to a Follower oscilloscope in a MultiScope
nnect (see page 616) system.

Keysight Infiniium Oscilloscopes Programmer's Guide 67


1 What's New

Command Description
:HOSTed:LEADer:ACHannels? Returns the channel numbers assigned to the Leader oscilloscope
(see page 617) in a MultiScope system.
:HOSTed:LEADer:CONFigure Identifies the Leader oscilloscope in a MultiScope system by its
(see page 618) VISA address.
:HOSTed:LEADer:CONNect (see Opens the connection to the Leader oscilloscope in a MultiScope
page 619) system.
:HOSTed:LEADer:DISConnect Closes the connection to the Leader oscilloscope in a MultiScope
(see page 620) system.
:MEASure:PAM:ELEVel (see When the signal type is PAM-4, this command installs a vertical
page 883) center measurement of the specified PAM-4 eye into the user
interface's measurement Results pane. The query returns the
measured vertical center value.
:MEASure:PAM:ESKew (see When the signal type is PAM-4, this command installs a horizontal
page 886) center skew measurement of the specified PAM-4 eye into the
user interface's measurement Results pane. The query returns the
measured horizontal center skew value.
:MEASure:PAM:LEVel (see When the signal type is PAM-4, this command installs a mean
page 895) voltage measurement of the specified PAM-4 level into the user
interface's measurement Results pane. The query returns the
measured mean voltage value.
:MEASure:PAM:LRMS (see When the signal type is PAM-4, this command installs a RMS
page 897) voltage measurement of the specified PAM-4 level into the user
interface's measurement Results pane. The query returns the
measured RMS voltage value.
:MEASure:PAM:LTHickness (see When the signal type is PAM-4, this command installs an eye
page 899) diagram level thickness measurement of the specified PAM-4
level into the user interface's measurement Results pane. The
query returns the measured thickness value.
:MEASure:THResholds:GENeral When the signal type is PAM-4 and
:PAMCustom (see page 977) :MEASure:THResholds:GENeral:METHod is set to PAMCustom,
this command sets the PAM threshold levels for general
measurements to the values you specify.
:MEASure:THResholds:GENeral When the signal type is PAM-4 and
:PAMAutomatic (see :MEASure:THResholds:GENeral:METHod is set to PAMAutomatic,
page 979) this command specifies whether the PAM threshold levels for
general measurements are determined automatically or using the
PAM-4 levels you specify.
:MEASure:THResholds:RFALl:P When the signal type is PAM-4, this command specifies whether
AMAutomatic (see page 994) the PAM threshold levels for rise/fall measurements are
determined automatically or using the PAM-4 levels you specify.
:MEASure:TIEData2 (see Measures data time interval error.
page 1015)

68 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

Command Description
:MTESt:FOLDing:COUNt:UI? Returns the number of unit intervals in the real time eye.
(see page 715)
:MTESt:FOLDing:COUNt:WAVef Returns the number of waveforms in the real time eye.
orms? (see page 715)
:SYSTem:GUI (see page 1226) Disables or enables the front panel user interface. When disabled,
the Remote Operations In Progress dialog box appears on the
oscilloscope's screen.
NOTE: The :SYSTem:GUI OFF command lets Infiniium
oscilloscopes behave like other Keysight instruments by locking
out the GUI (graphical user interface) and the front panel while
remote scripts are running. On Infiniium oscilloscopes, the GUI
and front panel do not lock automatically during remote operation
(as most other instruments do) to preserve the integrity and
timing of legacy customer scripts. The recommendation is,
however, that all scripts begin with :SYSTem:GUI OFF when
convenient and possible to run more like other Keysight
instruments and likely improve performance.
:SYSTem:MENU? (see Returns front panel graphical user interface menu strings.
page 1231)
:TRIGger:GBSerial:CLOCk (see Specifies whether an INTernal or EXTernal reference clock (and
page 1292) internal multipliers) are used to support the selected data rate.
External reference clock signals are supplied to a BNC connector
on the oscilloscope's hardware serial trigger I/O panel.
:TRIGger:GBSerial:CLOCk:FREQ When an external reference clock is used, this command specifies
uency (see page 1293) its frequency.
:TRIGger:GBSerial:DRATe (see Specifies the data rate of the serial signal. Common data rates are
page 1295) supported.
:TRIGger:GBSerial:MODE (see Selects the hardware serial trigger mode ("generic" sequences,
page 1297) 8b/10b sequences, or PRBS errors).
:TRIGger:GBSerial:PATTern (see When triggering on "generic" sequences or 8b/10b sequences,
page 1298) this command specifies the bit pattern to trigger on.
:TRIGger:GBSerial:POLarity When triggering on PRBS errors, this command specifies the
(see page 1299) polarity of the selected PRBS pattern.
:TRIGger:GBSerial:PRBS (see When triggering on PRBS errors, this command specifies the
page 1300) pattern to check when looking for errors. You can select PRBS 7,
15, 23, or 31 patterns.
:TRIGger:GBSerial:SOURce Specifies the oscilloscope input channel on which the hardware
(see page 1301) serial trigger operates. This is always CHANnel1.

Keysight Infiniium Oscilloscopes Programmer's Guide 69


1 What's New

Changed
Commands Command Description
:ANALyze:CLOCk:METHod (see When the signal type is PAM-4, a symbol rate (baud) is specified
page 251) instead of a data rate (b/s).
:ANALyze:CLOCk:METHod:JTF When the signal type is PAM-4, a symbol rate (baud) is specified
(see page 259) instead of a data rate (b/s).
:ANALyze:CLOCk:METHod:OJTF When the signal type is PAM-4, a symbol rate (baud) is specified
(see page 261) instead of a data rate (b/s).
:CHANnel<N>:PROBe:HEAD:VT Supports the N7010A active termination adapter (regardless of
ERm (see page 366) the attachment/head) as well as the N5444A probe head.
:DISPlay:CGRade (see When the <source> parameter is not provided, enabling color
page 477) grade will turn off the main waveform view, and disabling color
grade will turn on the main waveform view.
:DISK:SAVE:MEASurements Added the <legacy_save_mode> option to save measurement
(see page 462) results in the format used prior to Infiniium version 5.00.
:MEASure:CGRade:EHEight When the signal type is PAM-4, an additional <threshold>
(see page 775) parameter is used to specify which eye, and the <algorithm>
parameter is ignored.
:MEASure:CGRade:EWIDth (see When the signal type is PAM-4, an additional <threshold>
page 778) parameter is used to specify which eye, and the <algorithm>
parameter is ignored.
:MEASure:FALLtime (see With PAM signal types, additional <start_level> and <stop_level>
page 810) parameters are used to identify the edge to measure.
:MEASure:NOISe:ALL? (see The parameters TWO and THRee are available for PAM-4 signals.
page 865)
:MEASure:RISetime (see With PAM signal types, additional <start_level> and <stop_level>
page 933) parameters are used to identify the edge to measure.
:MEASure:THResholds:GENeral When the signal type is PAM-4, you can choose between
:METHod (see page 975) PAMCustom and PAMautomatic methods for setting the general
measurement thresholds.
:MEASure:THResholds:RFALl:M When the signal type is PAM-4, you can choose between T1090
ETHod (see page 992) (10% and 90% of levels) and T2080 (20% and 80% of levels) when
setting the rise/fall measurement thresholds.
:MTESt:FOLDing (see When the <source> parameter is not provided, enabling the
page 711) real-time eye will turn off the main waveform view, and disabling
the real-time eye will turn on the main waveform view.
:MTESt:FOLDing:BITS (see The <pattern> string can contain characters "2" and "3" when
page 713) specified for PAM-4 signals.
:SPRocessing:CTLequalizer:RA When the signal type is PAM-4, a symbol rate (baud) is specified
Te (see page 1182) instead of a data rate (b/s).
:SPRocessing:FFEQualizer:RAT When the signal type is PAM-4, a symbol rate (baud) is specified
e (see page 1208) instead of a data rate (b/s).

70 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:MEASure:TIEData (see :MEASure:TIEData2 (see Clock recovery options have
page 1610) page 1015) been removed (clock recovery
as specified with the
:ANALyze:CLOCk:METHod is
used).
When the signal type is PAM-4,
an additional <threshold>
parameter is used to specify
the threshold at which to make
the TIE measurements.
:MTESt:FOLDing:COUNt? (see :MTESt:FOLDing:COUNt:UI? The :MTESt:FOLDing:COUNt?
page 1612) (see page 715) query returns two values for UI
:MTESt:FOLDing:COUNt:WAVef count and waveform count.
orms? (see page 717) Now, there are separate
queries that return those
values individually.
The UI count returned by
:MTESt:FOLDing:COUNt? is
now a floating-point value
instead of an integer value.

Keysight Infiniium Oscilloscopes Programmer's Guide 71


1 What's New

What's New in Version 5.30


New command descriptions for Version 5.30 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ANALyze Commands (see The commands in the ANALyze subsystem are used to:
page 247) • Specify whether to use a single edge or all edges in the
acquisition for horizontal measurements (:ANALyze:AEDGes
command).
• Set up clock recovery (:ANALyze:CLOCk commands).
• Specify whether to use the data on screen or the entire
acquisition for measurements, functions, and analysis
(:ANALyze:VIEW command).
:FUNCtion<F>:GATing:STARt Specifies the time, in seconds, where the gating window begins
(see page 542) relative to the source waveform.
:FUNCtion<F>:GATing:STOP Specifies the time, in seconds, where the gating window ends
(see page 543) relative to the source waveform.

72 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:MEASure:CLOCk (see :ANALyze:CLOCk (see There are no differences in
page 1586) page 250) behavior. This is just a
remapping of commands into a
:MEASure:CLOCk:METHod (see :ANALyze:CLOCk:METHod (see
new subsystem.
page 1587) page 251)
:MEASure:CLOCk:METHod:ALIG :ANALyze:CLOCk:METHod:ALIG
n (see page 1591) n (see page 254)
:MEASure:CLOCk:METHod:DEE :ANALyze:CLOCk:METHod:DEE
Mphasis (see page 1592) Mphasis (see page 255)
:MEASure:CLOCk:METHod:EDG :ANALyze:CLOCk:METHod:EDG
E (see page 1593) E (see page 256)
:MEASure:CLOCk:METHod:JTF :ANALyze:CLOCk:METHod:JTF
(see page 1595) (see page 259)
:MEASure:CLOCk:METHod:OJT :ANALyze:CLOCk:METHod:OJTF
F (see page 1597) (see page 261)
:MEASure:CLOCk:METHod:PLLT :ANALyze:CLOCk:METHod:PLLT
rack (see page 1599) rack (see page 264)
:MEASure:CLOCk:METHod:SOU :ANALyze:CLOCk:METHod:SOU
Rce (see page 1600) Rce (see page 267)
:MEASure:CLOCk:VERTical (see :ANALyze:CLOCk:VERTical (see
page 1601) page 268)
:MEASure:CLOCk:VERTical:OFF :ANALyze:CLOCk:VERTical:OFF
Set (see page 1602) Set (see page 269)
:MEASure:CLOCk:VERTical:RAN :ANALyze:CLOCk:VERTical:RAN
Ge (see page 1603) Ge (see page 270)
:MEASure:JITTer:STATistics :ANALyze:AEDGes (see The :ANALyze:AEDGes
(see page 1609) page 249) command maps to the
"Measure All Edges" control in
the user interface's
Measurement Setup dialog box
only. It does not affect jitter
modes or statistics.

Keysight Infiniium Oscilloscopes Programmer's Guide 73


1 What's New

What's New in Version 5.20


New command descriptions for Version 5.20 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ACQuire:BANDwidth:FRAMe? Returns the maximum bandwidth associated with oscilloscope
(see page 219) model.
:HISTogram:HORizontal:BINS Sets the maximum number of bins used for a horizontal waveform
(see page 584) histogram.
:HISTogram:MEASurement:BIN Sets the maximum number of bins used for a measurement
S (see page 585) histogram.
:HISTogram:VERTical:BINS (see Sets the maximum number of bins used for a vertical waveform
page 590) histogram.
:MEASure:CLOCk:METHod:SOU Clock recovery methods can now be defined for each waveform
Rce (see page 1600) source (or for all waveform sources, as before). This command
selects the waveform source (or all sources) to which other clock
recovery method setup commands apply.
:SBUS<N>:FLEXray Commands These commands control the FlexRay serial decode bus viewing,
(see page 1111) mode, and other options.
:SBUS<N>:LIN Commands (see These commands control the LIN serial decode bus viewing,
page 1138) mode, and other options.
:SYSTem:PERSona (see Sets the manufacturer string and the model number string
page 1232) returned by the *IDN? query.

Changed
Commands Command Description
:CHANnel<N>:PROBe:EADapter Added the DIV1000, CUR001VA, CUR01VA, CUR1VA, CUR10VA,
(see page 354) CURN2893, CUR1147, HIVOLTN2790 options for use with the
E2697A or N5449A high impedance adapters.
:FUNCtion<F>:MHIStogram Lets you specify the maximum number of histogram bins along
(see page 558) with the measurement source.
:SBUS<N>:MODE (see Added the FLEXray and LIN mode options.
page 1094)

74 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

Command Description
:SBUS<N>:CAN:SOURce (see Added the NONE parameter to make the previously selected
page 1101) channel, waveform memory, or math function available for other
decodes (same as selecting "None" for the source in the user
:SBUS<N>:IIC:SOURce:CLOCk
interface).
(see page 1131)
:SBUS<N>:IIC:SOURce:DATA
(see page 1132)
:SBUS<N>:SPI:SOURce:CLOCk
(see page 1152)
:SBUS<N>:SPI:SOURce:DATA
(see page 1154)
:SBUS<N>:SPI:SOURce:FRAMe
(see page 1156)
:SBUS<N>:SPI:SOURce:MISO
(see page 1157)
:SBUS<N>:SPI:SOURce:MOSI
(see page 1158)

Keysight Infiniium Oscilloscopes Programmer's Guide 75


1 What's New

What's New in Version 5.10


New command descriptions for Version 5.10 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:MTESt:FOLDing:TPOSition (see Sets the real-time eye horizontal center position in time.
page 725)
:MTESt:FOLDing:TSCale (see Sets the real-time eye horizontal scale perdivision in time.
page 727)

Changed
Commands Command Description
:MEASure:CLOCk:METHod (see The PCIE clock recovery method has been removed.
page 1587)

76 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

What's New in Version 5.00


Version 5.00 of the Infiniium oscilloscope software introduces the new,
next-generation Infiniium user interface.
The next-generation Infiniium user interface software gives you much more
flexibility in how you can organize data, measurement results, and analysis views.
You can size windows however you like, choose stacked, side by side, or tabbed
window layouts, and you can even undock tabbed windows and place them
anywhere on your monitor(s).
Plus, the next-generation Infiniium user interface software gives you more features
to help you document waveforms and measurements, including visible scale
values on the waveform grids, visible markers delta values, bookmarks with
user-defined callout labels, and measurement values with callout labels. It is easy
to capture screen images with all this information. And, you can save waveform
data, measurements, analysis, settings, window layouts, and other settings, all to
a single composite file. When you open a composite file later, everything is set up
just like it was when you saved the file.
New command descriptions for Version 5.00 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:DISPlay:BOOKmark<N>:DELet Deletes a bookmark.
e (see page 471)
:DISPlay:BOOKmark<N>:SET Sets a bookmark.
(see page 472)
:DISPlay:BOOKmark<N>:VERTi Returns a waveform's vertical value at a bookmark's horizontal
cal? (see page 474) position.
:DISPlay:BOOKmark<N>:XPOSi Sets the horizontal grid position of a bookmark's callout box.
tion (see page 475)
:DISPlay:BOOKmark<N>:YPOSi Sets the vertical grid position of a bookmark's callout box.
tion (see page 476)
:DISPlay:GRATicule:AREA<N>:S Enables or disables waveform areas 2-8. Waveform area 1 is
TATe (see page 486) always on.
:DISPlay:LAYout (see Sets the window layout.
page 498)
:DISPlay:MAIN (see page 499) Turns on or off the main window view for the indicated source.
:DISPlay:PROPortion (see Specifies the size of the waveform and plot areas.
page 503)
:MTESt:FOLDing:COUNt (see Returns the number of waveforms and unit intervals in the
page 1612) real-time eye.

Keysight Infiniium Oscilloscopes Programmer's Guide 77


1 What's New

Command Description
:MTESt:FOLDing:POSition (see Sets the real-time eye horizontal center position in unit intervals.
page 721)
:MTESt:FOLDing:SCALe (see Sets the real-time eye horizontal scale, that is, the number of unit
page 723) intervals (UIs) shown on screen.
:SBUS<N>:HS:DESCramble Turns high-speed descrambling on or off if supported by the
(see page 1125) protocol type.
:SBUS<N>:HS:FORMat (see Specifies the high-speed symbol display format.
page 1126)
:SBUS<N>:HS:IDLE (see Specifies whether electrical idles are present in the signal.
page 1127)
:SBUS<N>:HS:SOURce<S> Specifies the signal that is the high-speed data source.
(see page 1128)
:TIMebase:REFerence:PERCent Sets the timebase reference (trigger) position as a percent of
(see page 1244) screen value.

Changed
Commands Command Description
:BUS:B<N>:TYPE (see Added support for new protocols.
page 290)
:DISK:SAVE:LISTing (see Added the <type> parameter for specifying which display window
page 461) to save.
:DISPlay:CGRade (see Added the optional <source> parameter for specifying the
page 477) waveform on which color grade should be turned on or off.
:DISPlay:CGRade:LEVels (see This query is unchanged but results are returned only when a
page 479) single color grade view is on.
:DISPlay:CONNect (see Added the optional <source> parameter for specifying the
page 483) waveform on which the setting should be made.
:DISPlay:GRATicule:NUMBer Number of grids can be any number between 1 and 16 (not just 1,
(see page 488) 2, 4, 8, or 16). You can also specify which waveform area the
number of grids setting is for.
:DISPlay:GRATicule:SETGrat In addition to assigning a waveform to a grid, you can now
(see page 489) optionally specify which waveform area the grid is in. Also, you
can specify whether the MAIN or CGRade (color grade) view of the
waveform will be placed.
:DISPlay:PERSistence (see Added the optional <source> parameter for specifying the
page 501) waveform on which the persistence setting should be made.
:LISTer:DATA (see page 656) Added the <type> parameter for specifying which display window
to save.

78 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

Command Description
:MEASure:CGRade:CROSsing Added the optional <source> parameter for specifying the
(see page 773) waveform on which the color grade crossing level percent is
measured.
:MEASure:CGRade:DCDistortio Added the optional <source> parameter for specifying the
n (see page 774) waveform on which the color grade duty cycle distortion is
measured.
:MEASure:CGRade:EHEight Added the optional <source> parameter for specifying the
(see page 775) waveform on which the color grade eye height is measured.
:MEASure:CGRade:EWIDth (see Added the optional <source> parameter for specifying the
page 778) waveform on which the color grade eye width is measured.
:MEASure:CGRade:EWINdow Added the optional <source> parameter for specifying the
(see page 780) waveform on which the color grade eye window is applied.
:MEASure:CGRade:JITTer (see Added the optional <source> parameter for specifying the
page 782) waveform on which the color grade jitter is measured.
:MEASure:CGRade:QFACtor Added the optional <source> parameter for specifying the
(see page 784) waveform on which the color grade Q factor is measured.
:MEASure:WINDow (see Added the CGRade (color grade) view as a measurement window
page 1043) option.
:MTESt:FOLDing (see Added the optional <source> parameter for specifying the
page 711) waveform on which to enable/disable the real-time eye.
:MTESt:FOLDing:BITS (see Added the required <source> parameter to specify the waveform
page 713) on which to set the real-time eye bit qualification.
:MTESt:FOLDing:FAST (see Added the optional <source> parameter for specifying the
page 719) waveform on which to set the fast worst-case option.
:TIMebase:REFerence (see Query can now return PERC when a reference position percent
page 1243) value is being used.

Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:DISPlay:COLumn (see :DISPlay:BOOKmark<N>:XPOSi Bookmarks are now the
page 1579) tion (see page 475) method used to place text
strings or annotations on
:DISPlay:LINE (see :DISPlay:BOOKmark<N>:SET
screen.
page 1580) (see page 472)
:DISPlay:ROW (see :DISPlay:BOOKmark<N>:YPOSi
page 1581) tion (see page 476)
:DISPlay:STRing (see :DISPlay:BOOKmark<N>:SET
page 1582) (see page 472)
:DISPlay:TEXT (see :DISPlay:BOOKmark<N>:DELet
page 1584) e (see page 471)

Keysight Infiniium Oscilloscopes Programmer's Guide 79


1 What's New

Discontinued
Commands Discontinued Command Current Command Equivalent Comments
:DISPlay:GRATicule:SIZE None Graticule sizing is different in
the next-generation Infiniium
user interface software.

80 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

What's New in Version 4.60


New command descriptions for Version 4.60 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ASTate? (see page 1057) Returns the acquisition state.
:CHANnel<N>:ISIM:NORMalize Lets you normalize the gain of an InfiniiSim transfer function.
(see page 342)
:RSTate? (see page 1079) Returns the run state.
:SBUS<N>:CAN Commands These commands control the CAN serial decode bus viewing,
(see page 1095) mode, and other options.

Changed
Commands Command Description
:SBUS<N>:MODE (see Added CAN mode option.
page 1094)

Keysight Infiniium Oscilloscopes Programmer's Guide 81


1 What's New

What's New in Version 4.50


New command descriptions for Version 4.50 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:FUNCtion<F>:ADEMod (see Sets the math function to show the amplitude envelope for an
page 519) amplitude modulated (AM) input signal.
:MEASurement<N>:NAME (see Lets you give specific names to measurements displayed on the
page 1045) oscilloscope's screen.
:MEASurement<N>:SOURce Changes the source of an existing measurement.
(see page 1046)
:MTESt:FOLDing:FAST (see Turns the "Fast, Worst Case Only" real-time eye display option ON
page 719) or OFF.

Changed
Commands Command Description
:DIGital<N>:THReshold (see There is now the DIFFerential parameter for specifying the
page 447) threshold voltage.
:DISK:SAVE:WAVeform (see There is now the H5INt format parameter which saves waveform
page 465) data as integers within the H5 file.
:POD<N>:THReshold (see There is now the DIFFerential parameter for specifying the
page 1050) threshold voltage.

82 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

What's New in Version 4.30


New command descriptions for Version 4.30 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:FUNCtion<F>:DELay (see Defines a function waveform that is the source waveform delayed
page 522) in time.
:FUNCtion<F>:GATing (see Defines a horizontal gating function of another waveform (similar
page 541) to horizontal zoom). Measurements on horizontal gating functions
are essentially gated measurements.
:MEASure:CLOCk:METHod:EDG Specifies which edge(s) of the data signal are used to recover a
E (see page 1593) clock.
:MEASure:RJDJ:CLOCk (see When ON, it forces the pattern to be a clock and sets the jitter for
page 941) edges not examined to zero (0).
:TRIGger:LEVel:FIFTy (see Sets the trigger level to 50%, like pushing the front panel trigger
page 1266) level knob

Changed
Commands Command Description
Function Commands (see You can now define up to 16 functions.
page 513)

Keysight Infiniium Oscilloscopes Programmer's Guide 83


1 What's New

What's New in Version 4.20


New command descriptions for Version 4.20 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:DISPlay:CGRade:SCHeme (see Lets you set the color grade scheme to CLASsic or TEMP.
page 481)
:FUNCtion<F>:FFT:TDELay (see Sets the time delay for the FFT phase function.
page 535)
:MEASure:CHARge (see When N2820A/N2821A high-sensitivity current probes are
page 786) connected, this command/query measures the total current
consumption over time with the results listed in ampere-hours
(Ah).
:MEASure:CLOCk:METHod:JTF Specifies the clock recovery PLL's response in terms of the Jitter
(see page 1595) Transfer Function's (JTF) 3 dB bandwidth.
:MEASure:CLOCk:METHod:OJT Specifies the clock recovery PLL's response in terms of the
F (see page 1597) Observed Jitter Transfer Function's (OJTF) 3 dB bandwidth.
:MEASure:CLOCk:METHod:PLLT Turns the Transition Density Dependent setting on or off.
rack (see page 1599)

Changed
Commands Command Description
:MEASure:CLOCk:METHod (see The command options for specifying clock recovery PLL options
page 1587) have been moved to the new commands
:MEASure:CLOCk:METHod:JTF and
:MEASure:CLOCk:METHod:OJTF.

Obsolete
Commands Obsolete Command Current Command Description
Equivalent
:MEASure:DDPWS :MEASure:RJDJ:ALL? The :MEASure:RJDJ:ALL? query returns all of the
(see page 935) RJDJ jitter measurements.

84 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

What's New in Version 4.10


New command descriptions for Version 4.10 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:MEASure:NOISe:METHod (see Lets you select the method for random noise (RN) analysis, either
page 869) the SPECtral method or BOTH the spectral and tail fit methods.
:MEASure:NOISe:REPort (see When BOTH is selected for :MEASure:NOISe:METHod, you can
page 870) select SPECtral or TAILfit to specify which method is used for the
reports.
:MEASure:RJDJ:METHod (see Lets you select the method for random jitter (RJ) analysis, either
page 945) the SPECtral method or BOTH the spectral and tail fit methods.
:MEASure:RJDJ:REPort (see When BOTH is selected for :MEASure:RJDJ:METHod, you can
page 949) select SPECtral or TAILfit to specify which method is used for the
reports.
:MEASure:TIEFilter:SHAPe (see Specifies the shape of the TIE filter edge(s).
page 1016)

Changed
Commands Command Description
:MEASure:NOISe:ALL (see New results can be returned depending on the
page 865) :MEASure:NOISe:METHod and :MEASure:NOISe:REPort settings.
:MEASure:RJDJ:ALL (see New results can be returned depending on the
page 935) :MEASure:RJDJ:METHod and :MEASure:RJDJ:REPort settings.

Keysight Infiniium Oscilloscopes Programmer's Guide 85


1 What's New

What's New in Version 4.00


New command descriptions for Version 4.00 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ACQuire:REDGe (see For 50 GHz and 63 GHz bandwidth models of the 90000 Q-Series
page 234) oscilloscopes, this command enables or disables the RealEdge
channel inputs.
:DISK:SAVE:PRECprobe (see Saves PrecisionProbe/Cable data to a file.
page 463)
:ISCan:ZONE:HIDE (see Lets you hide or show all InfiniiScan zones on the display.
page 639)

Changed
Commands Command Description
:ACQuire:BANDwidth (see There is now a MAX option for selecting the maximum bandwidth.
page 217)
:MTESt:FOLDing:BITS (see There is now a PATTern option for specifying bit pattern
page 713) qualification for the real-time eye display.

86 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

What's New in Version 3.50


New command descriptions for Version 3.50 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:CHANnel<N>:PROBe:AUTozer Initiates the N2893A probe's auto degauss/ offset cal.
o (see page 352)
:CHANnel<N>:PROBe:HEAD:VT Sets the termination voltage for the N5444A probe head.
ERm (see page 366)
:CHANnel<N>:PROBe:MODE Sets the N2750A probe's InfiniiMode configuration.
(see page 369)
:FUNCtion<F>:MTRend (see New Meas Trend math function.
page 562)
:FUNCtion<F>:MHIStogram New Meas Histogram math function.
(see page 558)
:LISTer Commands (see For displaying and retrieving data from the serial decode listings.
page 655)
:MEASure:HISTogram:RESoluti The bin width value of one bar in the histogram.
on (see page 837)
:MEASure:NOISe (see Adds a Noise measurement to the oscilloscope display (like
page 863) Measure > Data > Noise from the front panel) or gets the
measured noise value.
:MEASure:NOISe:ALL (see Returns the NOISe measurement results for the "zeros" or "ones"
page 865) level.
:MEASure:NOISe:BANDwidth Sets the type of filtering used to separate the data dependent
(see page 867) noise from the random noise and the periodic noise.
:MEASure:NOISe:LOCation (see Specifies the noise measurement location within the bit where 0%
page 868) is the beginning of the bit, 50% is the middle of the bit, and 100%
is the end of the bit.
:MEASure:NOISe:RN (see Specifies a known amount of random noise.
page 871)
:MEASure:NOISe:SCOPe:RN Specifies the removal of the oscilloscope's calibrated random
(see page 872) noise from the reported RN.
:MEASure:NOISe:STATe (see Enables or disables the NOISe measurements.
page 873)
:MEASure:NOISe:UNITs (see Sets the unit of measure for NOISe measurements to volts or unit
page 874) amplitude.
:MEASure:RJDJ:RJ (see Specifies a known amount of random jitter.
page 950)

Keysight Infiniium Oscilloscopes Programmer's Guide 87


1 What's New

Command Description
:MEASure:RJDJ:SCOPe:RJ (see Specifies the removal of the oscilloscope's calibrated random
page 951) jitter from the reported RJ.
:SBUS<N> Commands (see For setting up IIC and SPI serial decode and triggering.
page 1091)

Changed
Commands Command Description
:CHANnel<N>:PROBe:HEAD:SE Now lets you select probe heads by the labels given with the
Lect (see page 365) :CHANnel<N>:PROBe:HEAD:ADD command.
:MEASure:HISTogram:HITS Can now use this command with Meas Histogram math functions.
(see page 826)
:MEASure:HISTogram:M1S (see Can now use this command with Meas Histogram math functions.
page 827)
:MEASure:HISTogram:M2S (see Can now use this command with Meas Histogram math functions.
page 828)
:MEASure:HISTogram:M3S (see Can now use this command with Meas Histogram math functions.
page 829)
:MEASure:HISTogram:MAX (see Can now use this command with Meas Histogram math functions.
page 830)
:MEASure:HISTogram:MEAN Can now use this command with Meas Histogram math functions.
(see page 831)
:MEASure:HISTogram:MEDian Can now use this command with Meas Histogram math functions.
(see page 832)
:MEASure:HISTogram:MIN (see Can now use this command with Meas Histogram math functions.
page 833)
:MEASure:HISTogram:MODE Can now use this command with Meas Histogram math functions.
(see page 834)
:MEASure:HISTogram:PEAK Can now use this command with Meas Histogram math functions.
(see page 835)
:MEASure:HISTogram:PP (see Can now use this command with Meas Histogram math functions.
page 836)
:MEASure:HISTogram:STDDev Can now use this command with Meas Histogram math functions.
(see page 838)
:MEASure:RJDJ:ALL (see There are two possible additional measurement results, Scope
page 935) RN(rms) and DDPWS.
:TRIGger:MODE (see Added the SBUS1, SBUS2, SBUS3, and SBUS4 selections for
page 1268) triggering on serial buses.

88 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

What's New in Version 3.20


New command descriptions for Version 3.20 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:MARKer:MEASurement:MEASu Specifies which measurement markers track (when the
rement (see page 663) :MARKer:MODE is set to MEASurement).
:MEASure:CLOCk:METHod:ALIG Lets you specify clock edges either center aligned with data or
n (see page 1591) edge aligned with data when using an explicit method of clock
recovery.

Keysight Infiniium Oscilloscopes Programmer's Guide 89


1 What's New

What's New in Version 3.11


New command descriptions for Version 3.11 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:CHANnel<N>:ISIM:PEXTractio Selects a channel's InfiniiSim port extraction.
n (see page 343)
:MEASure:HISTogram:MODE Returns the measurement histogram's Mode value.
(see page 834)

Changed
Commands Command Description
:BUS:B<N>:TYPE (see The MPHY protocol type has been added for the MIPI M-PHY
page 290) serial decode selection.
:FUNCtion<F>:FFT:WINDow The HAMMing window mode is now a valid selection.
(see page 537)
:MEASure:JITTer:SPECtrum:WI The HAMMing window mode is now a valid selection.
NDow (see page 852)

90 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

What's New in Version 3.10


New command descriptions for Version 3.10 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ACQuire:BANDwidth (see Changes the bandwidth frequency control for the acquisition
page 217) system.
:CHANnel<N>:PROBe:ACCal Sets the type of AC response probe calibration to use.
(see page 350)
:CHANnel<N>:PROBe:PRECpro Specifies how the limit of PrecisionProbe or PrecisionCable
be:BANDwidth (see correction/boosting is determined..
page 370)
:CHANnel<N>:PROBe:PRECpro Specifies the name of the PrecisionProbe or PrecisionCable
be:CALibration (see page 371) calibration to use for the specified channel and probe.
:CHANnel<N>:PROBe:PRECpro Selects between PrecisionProbe or PrecisionCable AC response
be:MODE (see page 373) probe calibration.
:CHANnel<N>:PROBe:PRECpro Specifies how PrecisionProbe characterizes the time domain and
be:ZSRC (see page 374) frequency domain response.
:DISPlay:STATus:COL (see Used to position the real time eye and InfiniiScan Zone Trigger
page 510) status labels.
:DISPlay:STATus:ROW (see Used to position the real time eye and InfiniiScan Zone Trigger
page 511) status labels.
:MEASure:DDPWS (see For measuring Data Dependent Pulse Width Shrinkage.
page 1604)
:MEASure:EDGE (see For measuring the edge time relative to the reference location.
page 806)
:MEASure:JITTer:SPECtrum:VE Lets you select either a LINear or a LOGarithmic vertical scale for
RTical:TYPE (see page 851) the jitter spectrum plot.
:MEASure:RJDJ:APLength? Returns the determined RjDj pattern length.
(see page 937)
:MEASure:THResholds:GENeral Sets the upper level, middle level, and lower level voltages for
:ABSolute (see page 971) everything except rise/fall measurements and protocol decode.
:MEASure:THResholds:GENeral Sets the hysteresis range and level level voltages for everything
:HYSTeresis (see page 973) except rise/fall measurements and protocol decode.
:MEASure:THResholds:GENeral Specifies the way that the top and base of a waveform are
:METHod (see page 975) calculated for everything except rise/fall measurements and
protocol decode.

Keysight Infiniium Oscilloscopes Programmer's Guide 91


1 What's New

Command Description
:MEASure:THResholds:GENeral Sets the upper level, middle level, and lower level voltages as a
:PERCent (see page 981) percentage of the top and base voltages for everything except
rise/fall measurements and protocol decode.
:MEASure:THResholds:GENeral Sets the top level and base level voltages for everything except
:TOPBase:ABSolute (see rise/fall measurements and protocol decode.
page 983)
:MEASure:THResholds:GENeral Determines the way that the top and base of a waveform are
:TOPBase:METHod (see derived for everything except rise/fall measurements and protocol
page 983) decode.
:MEASure:THResholds:RFALl:A Sets the upper level, middle level, and lower level voltages for
BSolute (see page 990) rise/fall measurements.
:MEASure:THResholds:RFALl:H Sets the hysteresis range and level level voltages for rise/fall
YSTeresis measurements.
:MEASure:THResholds:RFALl:M Specifies the way that the top and base of a waveform are
ETHod (see page 992) calculated for rise/fall measurements.
:MEASure:THResholds:RFALl:P Sets the upper level, middle level, and lower level voltages as a
ERCent (see page 996) percentage of the top and base voltages for rise/fall
measurements.
:MEASure:THResholds:RFALl:T Sets the top level and base level voltages for rise/fall
OPBase:ABSolute (see measurements.
page 998)
:MEASure:THResholds:RFALl:T Determines the way that the top and base of a waveform are
OPBase:METHod (see derived for rise/fall measurements.
page 998)
:MEASure:THResholds:SERial:A Sets the upper level, middle level, and lower level voltages for
BSolute (see page 1001) protocol decode.
:MEASure:THResholds:SERial: Sets the hysteresis range and level level voltages for protocol
HYSTeresis (see page 1003) decode.
:MEASure:THResholds:SERial: Specifies the way that the top and base of a waveform are
METHod (see page 1005) calculated for protocol decode.
:MEASure:THResholds:SERial:P Sets the upper level, middle level, and lower level voltages as a
ERCent (see page 1006) percentage of the top and base voltages for protocol decode.
:MEASure:THResholds:SERial:T Sets the top level and base level voltages for protocol decode.
OPBase:ABSolute (see
page 1008)
:MEASure:THResholds:SERial:T Determines the way that the top and base of a waveform are
OPBase:METHod (see derived for protocol decode.
page 1008)

92 Keysight Infiniium Oscilloscopes Programmer's Guide


What's New 1

Command Description
:SPRocessing:CTLequalizer:NU Selects either a 2 Pole or 3 Pole Continuous Time Linear
MPoles (see page 1178) Equalization.
:SPRocessing:CTLequalizer:P3 Sets the Pole 3 frequency for the Continuous Time Linear
(see page 1181) Equalization.

Changed
Commands Command Description
:ACQuire:INTerpolate (see The INT1, INT2, INT4, INT8, INT16 options have been added for
page 226) specifying the 1, 2, 4, 8, or 16 point Sin(x)/x interpolation ratios.
:MEASure:RJDJ:BER (see You can now set J2 and J9 jitter BER levels.
page 939)
:MEASure:VRMS (see The VOLT and DBM parameters have been added for specifying
page 1038) the measurement units.
:MEASure:WINDow (see The short form of the command was changed from :MEAS:WIN to
page 1043) :MEAS:WIND.

Keysight Infiniium Oscilloscopes Programmer's Guide 93


1 What's New

94 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

2 Setting Up
Step 1. Install Keysight IO Libraries Suite software / 96
Step 2. Connect and set up the oscilloscope / 97
Step 3. Verify the oscilloscope connection / 98

This chapter explains how to install the Keysight IO Libraries Suite software on a
controller PC, connect the oscilloscope to the controller PC, set up the
oscilloscope, and verify the oscilloscope connection.
Note that Keysight IO Libraries Suite software comes installed on Infiniium
oscilloscopes, and it is possible to control the oscilloscope from programs running
on the instrument.

95
2 Setting Up

Step 1. Install Keysight IO Libraries Suite software


To install the Keysight IO Libraries Suite software on a controller PC:
1 Download the Keysight IO Libraries Suite software from the Keysight web site
at:
• http://www.keysight.com/find/iolib
2 Run the setup file, and follow its installation instructions.

Note that Keysight IO Libraries Suite software comes installed on Infiniium


oscilloscopes.

96 Keysight Infiniium Oscilloscopes Programmer's Guide


Setting Up 2

Step 2. Connect and set up the oscilloscope


Infiniium oscilloscopes can have these interfaces for programming the
oscilloscope:
• USB (device port, square connector).
• LAN. To configure the LAN interface, set up the Infiniium oscilloscope on the
network as you would any other computer with the Windows operating system.
• GPIB, when the instrument has a GPIB interface connector or when the N4865A
GPIB-to-LAN adapter is used.
When installed, these interfaces are always active.

Using the USB (Device) Interface


1 Connect a USB cable from the controller PC's USB port to the "USB DEVICE"
port on the back of the oscilloscope.
Some oscilloscopes have a USB 2.0 high-speed port; other more recent models
have a USB 3.0 super-speed port.

Using the LAN Interface


1 If the controller PC is not already connected to the local area network (LAN), do
that first.
2 Contact your network administrator about adding the oscilloscope to the
network.
Setting up an Infiniium oscilloscope on a network is the same as setting up any
other computer with the Windows 7 operating system.
3 Connect the oscilloscope to the local area network (LAN) by inserting LAN
cable into the "LAN" port on the oscilloscope.

Keysight Infiniium Oscilloscopes Programmer's Guide 97


2 Setting Up

Step 3. Verify the oscilloscope connection

Make sure the Keysight Infiniium software is running on the oscilloscope. It must be running
N OT E
before you can make a connection.

1 On the controller PC, click on the Keysight IO Control icon in the taskbar and
choose Connection Expert from the popup menu.

2 In the Keysight Connection Expert application, instruments connected to the


controller's USB and GPIB interfaces as well as instruments on the same LAN
subnet should automatically appear in the Instruments tab.

98 Keysight Infiniium Oscilloscopes Programmer's Guide


Setting Up 2

3 If your instrument does not appear, you can add it using the Manual
Configuration tab.

For example, to add a device:


a Select LAN instrument in the list on the left.
b Enter the oscilloscope's Hostname or IP address.
c Select the protocol.
d Select HiSLIP under Set Protocol.

HiSLIP (High-Speed LAN Instrument Protocol) is a protocol for TCP-based


instrument control that provides the instrument-like capabilities of
conventional test and measurement protocols with minimal impact to
performance.
For more information on the HiSLIP protocol, see:
• The Keysight IO Libraries Suite documentation.
• http://www.lxistandard.org/About/LXI-Device-Support-HiSLIP.aspx
• http://www.ivifoundation.org/specifications/
e Click Test This VISA Address to verify the connection.
f If the connection test is successful, click Accept to add the instrument.

Keysight Infiniium Oscilloscopes Programmer's Guide 99


2 Setting Up

If the connection test is not successful, go back and verify the LAN
connections and the oscilloscope setup.
4 Test some commands on the instrument:
a In the Details for the selected instrument, click Send Commands To This
Instrument.

b In the Keysight Interactive IO application, enter commands in the Command


field and press Send Command, Read Response, or Send & Read.

100 Keysight Infiniium Oscilloscopes Programmer's Guide


Setting Up 2

c Choose Connect > Exit from the menu to exit the Keysight Interactive IO
application.
5 In the Keysight Connection Expert application, choose File > Exit from the menu
to exit the application.

Keysight Infiniium Oscilloscopes Programmer's Guide 101


2 Setting Up

102 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

3 Introduction to Programming
Communicating with the Oscilloscope / 105
Instructions / 106
Instruction Header / 107
White Space (Separator) / 108
Braces / 109
Ellipsis / 110
Square Brackets / 111
Command and Query Sources / 112
Program Data / 113
Header Types / 114
Query Headers / 116
Program Header Options / 117
Character Program Data / 118
Numeric Program Data / 119
Embedded Strings / 120
Program Message Terminator / 121
Common Commands within a Subsystem / 122
Selecting Multiple Subsystems / 123
Programming Getting Started / 124
Referencing the IO Library / 125
Opening the Oscilloscope Connection via the IO Library / 126
Initializing the Interface and the Oscilloscope / 127
Example Program / 129
Using the DIGitize Command / 130
Receiving Information from the Oscilloscope / 132
String Variable Example / 133
Numeric Variable Example / 134
Definite-Length Block Response Data / 135
Multiple Queries / 136
Oscilloscope Status / 137

103
3 Introduction to Programming

This chapter introduces the basics for remote programming of an oscilloscope. The
programming commands in this manual conform to the IEEE 488.2 Standard
Digital Interface for Programmable Instrumentation. The programming commands
provide the means of remote control.
Basic operations that you can do with a computer and an oscilloscope include:
• Set up the oscilloscope.
• Make measurements.
• Get data (waveform, measurements, and configuration) from the oscilloscope.
• Send information, such as waveforms and configurations, to the oscilloscope.
You can accomplish other tasks by combining these functions.

N OT E Example Programs are Written in Visual Basic for Applications (VBA) and C
The programming examples for individual commands in this manual are written in Visual Basic
for Applications (VBA) and C.

104 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Communicating with the Oscilloscope


Computers communicate with the oscilloscope by sending and receiving
messages over a remote interface, such as a GPIB card (must order the N4865A
GPIB-to-LAN adapter) or a Local Area Network (LAN) card. Commands for
programming normally appear as ASCII character strings embedded inside the
output statements of a "host" language available on your computer. The input
commands of the host language are used to read responses from the oscilloscope.
For example, the VISA COM library provides the WriteString() method for sending
commands and queries. After a query is sent, the response can be read using the
ReadString() method. The ReadString() method passes the value across the bus to
the computer and places it in the designated variable.
For the GPIB interface, messages are placed on the bus using an output command
and passing the device address, program message, and a terminator. Passing the
device address ensures that the program message is sent to the correct GPIB
interface and GPIB device.
The following WriteString() method sends a command that sets the channel 1
scale value to 500 mV:
myScope.WriteString ":CHANnel1:SCALe 500E-3"

The VISA COM library setup is explained on the following pages.

N OT E Use the Suffix Multiplier Instead


Using "mV" or "V" following the numeric voltage value in some commands will cause
Error 138 - Suffix not allowed. Instead, use the convention for the suffix multiplier as
described in Chapter 6, “Message Communication and System Functions,” starting on page
153.

Keysight Infiniium Oscilloscopes Programmer's Guide 105


3 Introduction to Programming

Instructions
Instructions, both commands and queries, normally appear as strings embedded
in a statement of your host language, such as Visual Basic for Applications (VBA),
Visual Basic .NET, C#, C, etc.
The only time a parameter is not meant to be expressed as a string is when the
instruction's syntax definition specifies <block data>, such as with the
:SYSTem:SETup command. There are only a few instructions that use block data.
Instructions are composed of two main parts:
• The header, which specifies the command or query to be sent.
• The program data, which provides additional information to clarify the meaning
of the instruction.

106 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Instruction Header
The instruction header is one or more command mnemonics separated by colons
(:). They represent the operation to be performed by the oscilloscope. See
Chapter 9, “Programming Conventions,” starting on page 205 for more
information.
Queries are formed by adding a question mark (?) to the end of the header. Many
instructions can be used as either commands or queries, depending on whether or
not you include the question mark. The command and query forms of an
instruction usually have different program data. Many queries do not use any
program data.

Keysight Infiniium Oscilloscopes Programmer's Guide 107


3 Introduction to Programming

White Space (Separator)


White space is used to separate the instruction header from the program data. If
the instruction does not require any program data parameters, you do not need to
include any white space. In this manual, white space is defined as one or more
spaces. ASCII defines a space to be character 32 in decimal.

108 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Braces
When several items are enclosed by braces, { }, only one of these elements may be
selected. Vertical line ( | ) indicates "or". For example, {ON | OFF} indicates that
only ON or OFF may be selected, not both.

Keysight Infiniium Oscilloscopes Programmer's Guide 109


3 Introduction to Programming

Ellipsis
... An ellipsis (trailing dots) indicates that the preceding element may be repeated
one or more times.

110 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Square Brackets
Items enclosed in square brackets, [ ], are optional.

Keysight Infiniium Oscilloscopes Programmer's Guide 111


3 Introduction to Programming

Command and Query Sources


Many commands and queries require that a source be specified. Depending on the
command or query and the model number of Infiniium oscilloscope being used,
some of the sources are not available. The following is a list of sources:

CHANnel1 FUNCtion1 WMEMory1 COMMonmode{3|4}


CHANnel2 FUNCtion2 WMEMory2 DIFFerential{1|2}
CHANnel3 FUNCtion3 WMEMory3 EQUalized
CHANnel4 FUNCtion4 WMEMory4 DIGital0 - DIGital15
CLOCk MTRend MSPectrum HISTogram

112 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Program Data
Program data is used to clarify the meaning of the command or query. It provides
necessary information, such as whether a function should be on or off, or which
waveform is to be displayed. Each instruction's syntax definition shows the
program data and the values they accept.
When there is more than one data parameter, they are separated by commas (,).
You can add spaces around the commas to improve readability.

Keysight Infiniium Oscilloscopes Programmer's Guide 113


3 Introduction to Programming

Header Types
There are three types of headers:
• "Simple Command Header" on page 114
• "Compound Command Header" on page 114
• "Common Command Header" on page 115
See Also • "Combining Commands in the Same Subsystem" on page 115
• "Duplicate Mnemonics" on page 115

Simple Command Header


Simple command headers contain a single mnemonic. AUToscale and DIGitize are
examples of simple command headers typically used in this oscilloscope. The
syntax is:
<program mnemonic><terminator>

For example:
":AUToscale"

When program data must be included with the simple command header (for
example, :DIGitize CHANnel1), white space is added to separate the data from the
header. The syntax is:
<program mnemonic><separator><program data><terminator>

For example:
":DIGitize CHANnel1,FUNCtion2"

Compound Command Header


Compound command headers are a combination of two program mnemonics. The
first mnemonic selects the subsystem, and the second mnemonic selects the
function within that subsystem. The mnemonics within the compound message
are separated by colons. For example:
To execute a single function within a subsystem:
:<subsystem>:<function><separator><program data><terminator>

For example:
":CHANnel1:BWLimit ON"

114 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Combining Commands in the Same Subsystem


To execute more than one command within the same subsystem, use a semi-colon
(;) to separate the commands:
:<subsystem>:<command><separator><data>;<command><separator>
<data><terminator>

For example:
:CHANnel1:INPut DC;BWLimit ON

Common Command Header


Common command headers, such as clear status, control the IEEE 488.2 functions
within the oscilloscope. The syntax is:
*<command header><terminator>

No space or separator is allowed between the asterisk (*) and the command
header. *CLS is an example of a common command header.

Duplicate Mnemonics
Identical function mnemonics can be used for more than one subsystem. For
example, you can use the function mnemonic RANGE to change both the vertical
range and horizontal range:
To set the vertical range of channel 1 to 0.4 volts full scale:
:CHANnel1:RANGe .4

To set the horizontal time base to 1 second full scale:


:TIMebase:RANGe 1

In these examples, CHANnel1 and TIMebase are subsystem selectors, and


determine the range type being modified.

Keysight Infiniium Oscilloscopes Programmer's Guide 115


3 Introduction to Programming

Query Headers
A command header immediately followed by a question mark (?) is a query. After
receiving a query, the oscilloscope interrogates the requested subsystem and
places the answer in its output queue. The answer remains in the output queue
until it is read or until another command is issued. When read, the answer is
transmitted across the bus to the designated listener (typically a computer).
For example, with VISA COM library and Visual Basic for Applications (VBA)
language, the query:
myScope.WriteString ":TIMebase:RANGe?"

places the current time base setting in the output queue.


The computer input statement:
varRange = myScope.ReadNumber

passes the value across the bus to the computer and places it in the variable
varRange.
You can use queries to find out how the oscilloscope is currently configured and to
get results of measurements made by the oscilloscope. For example, the query:
:MEASure:RISetime?

tells the oscilloscope to measure the rise time of your waveform and place the
result in the output queue.
The output queue must be read before the next program message is sent. For
example, when you send the query :MEASure:RISetime?, you must follow it with an
input statement.
With the VISA COM library and Visual Basic for Applications (VBA) language, this
is usually done with a ReadString() or ReadNumber() method. These methods read
the result of the query and place the result in a specified variable.

N OT E Handle Queries Properly


If you send another command or query before reading the result of a query, the output buffer
is cleared and the current response is lost. This also generates a query-interrupted error in the
error queue. If you execute an input statement before you send a query, it will cause the
computer to wait indefinitely.

116 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Program Header Options


You can send program headers using any combination of uppercase or
lowercaseASCII characters. Oscilloscope responses, however, are always returned
in uppercase.
You may send program command and query headers in either long form (complete
spelling), short form (abbreviated spelling), or any combination of long form and
short form. For example:
":TIMebase:DELay 1E-6" is the long form.
":TIM:DEL 1E-6" is the short form.
The command descriptions in this reference show upper and lowercase characters.
For example, ":AUToscale" indicates that the entire command name is
":AUTOSCALE". The short form, ":AUT", is also accepted by the oscilloscope.

N OT E Using Long Form or Short Form


Programs written in long form are easily read and are almost self-documenting. The short
form syntax conserves the amount of computer memory needed for program storage and
reduces I/O activity.

The rules for the short form syntax are described in Chapter 9, “Programming
Conventions,” starting on page 205.

Keysight Infiniium Oscilloscopes Programmer's Guide 117


3 Introduction to Programming

Character Program Data


Character program data is used to convey parameter information as alpha or
alphanumeric strings. For example, the :TIMebase:REFerence command can be
set to left, center, or right. The character program data in this case may be LEFT,
CENTer, or RIGHt. The command :TIMebase:REFerence RIGHt sets the time base
reference to right.
The available mnemonics for character program data are always included with the
instruction's syntax definition. You may send either the long form of commands, or
the short form (if one exists). You may mix uppercase and lowercase letters freely.
When receiving responses, uppercase letters are used exclusively.

118 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Numeric Program Data


Some command headers require program data to be expressed numerically. For
example, :TIMebase:RANGE requires the desired full-scale range to be expressed
numerically.
For numeric program data, you can use exponential notation or suffix multipliers to
indicate the numeric value. The following numbers are all equal:
28 = 0.28E2 = 280E-1 = 28000m = 0.028K = 28E-3K
When a syntax definition specifies that a number is an integer, it means that the
number should be whole. Any fractional part is ignored and truncated. Numeric
data parameters that accept fractional values are called real numbers.
All numbers are expected to be strings of ASCII characters.
• When sending the number 9, you would send a byte representing the ASCII
code for the character "9" (which is 57).
• A three-digit number like 102 would take up three bytes (ASCII codes 49, 48,
and 50). The number of bytes is figured automatically when you include the
entire instruction in a string.

Keysight Infiniium Oscilloscopes Programmer's Guide 119


3 Introduction to Programming

Embedded Strings
Embedded strings contain groups of alphanumeric characters which are treated as
a unit of data by the oscilloscope. An example of this is the line of text written to
the advisory line of the oscilloscope with the :SYSTem:DSP command:
:SYSTem:DSP ""This is a message.""

You may delimit embedded strings with either single (') or double (") quotation
marks. These strings are case-sensitive, and spaces are also legal characters.

120 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Program Message Terminator


The program instructions within a data message are executed after the program
message terminator is received. The terminator may be either an NL (New Line)
character, an EOI (End-Or-Identify) asserted in the GPIB interface, or a
combination of the two. Asserting the EOI sets the EOI control line low on the last
byte of the data message. The NL character is an ASCII linefeed (decimal 10).

N OT E New Line Terminator Functions Like EOS and EOT


The NL (New Line) terminator has the same function as an EOS (End Of String) and EOT (End Of
Text) terminator.

Keysight Infiniium Oscilloscopes Programmer's Guide 121


3 Introduction to Programming

Common Commands within a Subsystem


Common commands can be received and processed by the oscilloscope whether
they are sent over the bus as separate program messages or within other program
messages. If you have selected a subsystem, and a common command is received
by the oscilloscope, the oscilloscope remains in the selected subsystem. For
example, if the program message
":ACQuire:AVERage ON;*CLS;COUNt 1024"

is received by the oscilloscope, the oscilloscope turns averaging on, then clears
the status information without leaving the selected subsystem.
If some other type of command is received within a program message, you must
re-enter the original subsystem after the command. For example, the program
message
":ACQuire:AVERage ON;:AUToscale;:ACQuire:AVERage:COUNt 1024"

turns averaging on, completes the autoscale operation, then sets the acquire
average count. Here, :ACQuire must be sent again after AUToscale to re-enter the
ACQuire subsystem and set the count.

122 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Selecting Multiple Subsystems


You can send multiple program commands and program queries for different
subsystems on the same line by separating each command with a semicolon. The
colon following the semicolon lets you enter a new subsystem. For example:
<program mnemonic><data>;:<program mnemonic><data><terminator>

:CHANnel1:RANGe 0.4;:TIMebase:RANGe 1

N OT E You can Combine Compound and Simple Commands


Multiple program commands may be any combination of compound and simple commands.

Keysight Infiniium Oscilloscopes Programmer's Guide 123


3 Introduction to Programming

Programming Getting Started


The remainder of this chapter explains how to set up the oscilloscope, how to
retrieve setup information and measurement results, how to digitize a waveform,
and how to pass data to the computer. Chapter 28, “Measure Commands,”
starting on page 755 describes getting measurement data from the oscilloscope.

124 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Referencing the IO Library


No matter which instrument programming library you use (SICL, VISA, or VISA
COM), you must reference the library from your program.
In C/C++, you must tell the compiler where to find the include and library files (see
the Keysight IO Libraries Suite documentation for more information).
To reference the Keysight VISA COM library in Visual Basic for Applications (VBA,
which comes with Microsoft Office products like Excel):
1 Choose Tools > References... from the main menu.
2 In the References dialog, check the "VISA COM 3.0 Type Library".

3 Click OK.

To reference the Keysight VISA COM library in Microsoft Visual Basic 6.0:
1 Choose Project > References... from the main menu.
2 In the References dialog, check the "VISA COM 3.0 Type Library".
3 Click OK.

Keysight Infiniium Oscilloscopes Programmer's Guide 125


3 Introduction to Programming

Opening the Oscilloscope Connection via the IO Library


PC controllers communicate with the oscilloscope by sending and receiving
messages over a remote interface. Once you have opened a connection to the
oscilloscope over the remote interface, programming instructions normally appear
as ASCII character strings embedded inside write statements of the programing
language. Read statements are used to read query responses from the
oscilloscope.
For example, when using the Keysight VISA COM library in Visual Basic (after
opening the connection to the instrument using the ResourceManager object's
Open method), the FormattedIO488 object's WriteString, WriteNumber, WriteList,
or WriteIEEEBlock methods are used for sending commands and queries. After a
query is sent, the response is read using the ReadString, ReadNumber, ReadList,
or ReadIEEEBlock methods.
The following Visual Basic statements open the connection and send a command
that turns on the oscilloscope's label display.
Dim myMgr As VisaComLib.ResourceManager
Dim myScope As VisaComLib.FormattedIO488

Set myMgr = New VisaComLib.ResourceManager


Set myScope = New VisaComLib.FormattedIO488

' Open the connection to the oscilloscope. Get the VISA Address from the
' Keysight Connection Expert (installed with Keysight IO Libraries Suite
).
Set myScope.IO = myMgr.Open("<VISA Address>")

' Send a command.


myScope.WriteString ":DISPlay:LABel ON"

The ":DISPlay:LABEL ON" in the above example is called a program message.


Program messages are explained in more detail in "Instructions" on page 106.

126 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Initializing the Interface and the Oscilloscope


To make sure the bus and all appropriate interfaces are in a known state, begin
every program with an initialization statement. When using the Keysight VISA
COM library, you can use the resource session object's Clear method to clears the
interface buffer:
Dim myMgr As VisaComLib.ResourceManager
Dim myScope As VisaComLib.FormattedIO488

Set myMgr = New VisaComLib.ResourceManager


Set myScope = New VisaComLib.FormattedIO488

' Open the connection to the oscilloscope. Get the VISA Address from the
' Keysight Connection Expert (installed with Keysight IO Libraries Suite
).
Set myScope.IO = myMgr.Open("<VISA Address>")

' Clear the interface buffer and set the interface timeout to 10 seconds
.
myScope.IO.Clear
myScope.IO.Timeout = 10000

When you are using GPIB, CLEAR also resets the oscilloscope's parser. The parser
is the program which reads in the instructions which you send it.
After clearing the interface, initialize the instrument to a preset state:
myScope.WriteString "*RST"

N OT E Information for Initializing the Instrument


The actual commands and syntax for initializing the instrument are discussed in Chapter 15,
“Common Commands,” starting on page 415.
Refer to the Keysight IO Libraries Suite documentation for information on initializing the
interface.

See Also • "Autoscale" on page 127


• "Setting Up the Oscilloscope" on page 128

Autoscale
The AUToscale feature of Keysight Technologies digitizing oscilloscopes performs
a very useful function on unknown waveforms by automatically setting up the
vertical channel, time base, and trigger level of the oscilloscope.
The syntax for the autoscale function is:
:AUToscale<terminator>

Keysight Infiniium Oscilloscopes Programmer's Guide 127


3 Introduction to Programming

Setting Up the Oscilloscope


A typical oscilloscope setup configures the vertical range and offset voltage, the
horizontal range, delay time, delay reference, trigger mode, trigger level, and
slope.
A typical example of the commands sent to the oscilloscope are:
:CHANnel1:PROBe 10; RANGe 16;OFFSet 1.00<terminator>

:SYSTem:HEADer OFF<terminator>

:TIMebase:RANGe 1E-3;DELay 100E-6<terminator>

This example sets the time base at 1 ms full-scale (100 μs/div), with delay of
100 μs. Vertical is set to 16 V full-scale (2 V/div), with center of screen at 1 V, and
probe attenuation of 10.

128 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Example Program
This program demonstrates the basic command structure used to program the
oscilloscope.
' Initialize the instrument interface to a known state.
myScope.IO.Clear
myScope.IO.Timeout = 15000 ' Set interface timeout to 15 seconds.

' Initialize the instrument to a preset state.


myScope.WriteString "*RST"

' Set the time base mode to normal with the horizontal time at
' 50 ms/div with 0 s of delay referenced at the center of the
' graticule.
myScope.WriteString ":TIMebase:RANGe 5E-4" ' Time base to 500 us/div.
myScope.WriteString ":TIMebase:DELay 0" ' Delay to zero.
myScope.WriteString ":TIMebase:REFerence CENTer" ' Display ref. at
' center.

' Set the vertical range to 1.6 volts full scale with center screen
' at -0.4 volts with 10:1 probe attenuation and DC coupling.
myScope.WriteString ":CHANnel1:PROBe 1.0" ' Probe attenuation
' to 1:1.
myScope.WriteString ":CHANnel1:RANGe 1.6" ' Vertical range
' 1.6 V full scale.
myScope.WriteString ":CHANnel1:OFFSet -0.4" ' Offset to -0.4.
myScope.WriteString ":CHANnel1:INPut DC" ' Coupling to DC.

' Configure the instrument to trigger at -0.4 volts with normal


' triggering.
myScope.WriteString ":TRIGger:SWEep NORMal" ' Normal triggering.
myScope.WriteString ":TRIGger:LEVel CHAN1,-0.4" ' Trigger level to -0.
4.
myScope.WriteString ":TRIGger:MODE EDGE" ' Edge triggering
myScope.WriteString ":TRIGger:EDGE:SLOPe POSitive" ' Trigger on pos. slo
pe.

' Configure the instrument for normal acquisition.


myScope.WriteString ":ACQuire:MODE RTIMe" ' Normal acquisition.
myScope.WriteString ":SYSTem:HEADer OFF" ' Turn system headers off.
myScope.WriteString ":DISPlay:GRATicule FRAMe" ' Grid off.

Keysight Infiniium Oscilloscopes Programmer's Guide 129


3 Introduction to Programming

Using the DIGitize Command


The DIGitize command is a macro that captures data using the acquisition
(ACQuire) subsystem. When the digitize process is complete, the acquisition is
stopped. You can measure the captured data by using the oscilloscope or by
transferring the data to a computer for further analysis. The captured data consists
of two parts: the preamble and the waveform data record.
After changing the oscilloscope configuration, the waveform buffers are cleared.
Before doing a measurement, you should send the DIGitize command to ensure
new data has been collected.
You can send the DIGitize command with no parameters for a higher throughput.
Refer to the DIGitize command in Chapter 30, “Root Level Commands,” starting on
page 1053 for details.
When the DIGitize command is sent to an oscilloscope, the specified channel's
waveform is digitized using the current ACQuire parameters. Before sending the
:WAVeform:DATA? query to download waveform data to your computer, you
should specify the WAVeform parameters.
The number of data points comprising a waveform varies according to the number
requested in the ACQuire subsystem. The ACQuire subsystem determines the
number of data points, type of acquisition, and number of averages used by the
DIGitize command. This lets you specify exactly what the digitized information
contains. The following program example shows a typical setup:
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:MODE RTIME"
myScope.WriteString ":ACQuire:COMPlete 100"
myScope.WriteString ":WAVeform:SOURce CHANnel1"
myScope.WriteString ":WAVeform:FORMat BYTE"
myScope.WriteString ":ACQuire:COUNt 8"
myScope.WriteString ":ACQuire:POINts 500"
myScope.WriteString ":DIGitize CHANnel1"
myScope.WriteString ":WAVeform:DATA?"

This setup places the oscilloscope into the real time sampling mode using eight
averages. This means that when the DIGitize command is received, the command
will execute until the waveform has been averaged at least eight times.
After receiving the :WAVeform:DATA? query, the oscilloscope will start
downloading the waveform information.
Digitized waveforms are passed from the oscilloscope to the computer by sending
a numerical representation of each digitized point. The format of the numerical
representation is controlled by using the :WAVeform:FORMat command and may
be selected as BYTE, WORD, or ASCII.

130 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

The easiest method of receiving a digitized waveform depends on data structures,


available formatting, and I/O capabilities. You must convert the data values to
determine the voltage value of each point. These data values are passed starting
with the left most point on the oscilloscope's display. For more information, refer
to the chapter, "Waveform Commands."
When using GPIB, you may abort a digitize operation by sending a Device Clear
over the bus.

Keysight Infiniium Oscilloscopes Programmer's Guide 131


3 Introduction to Programming

Receiving Information from the Oscilloscope


After receiving a query (a command header followed by a question mark), the
oscilloscope places the answer in its output queue. The answer remains in the
output queue until it is read or until another command is issued. When read, the
answer is transmitted across the interface to the computer.
The input statement for receiving a response message from an oscilloscope's
output queue typically has two parameters; the device address and a format
specification for handling the response message. For example, with the VISA COM
library, to read the result of the query command :CHANnel1:INPut? you would use
the ReadString() method:
Dim strSetting As String
myScope.WriteString ":CHANnel1:INPut?"
strSetting = myScope.ReadString

This would enter the current setting for the channel 1 coupling in the string
variable strSetting.
All results for queries sent in a program message must be read before another
program message is sent. For example, when you send the query
:MEASure:RISETIME?, you must follow that query with an input statement.

N OT E Handle Queries Properly


If you send another command or query before reading the result of a query, the output buffer
will be cleared and the current response will be lost. This will also generate a
query-interrupted error in the error queue. If you execute an input statement before you send a
query, it will cause the computer to wait indefinitely.

The format specification for handling response messages depends on both the
computer and the programming language.

132 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

String Variable Example


The output of the oscilloscope may be numeric or character data depending on
what is queried. Refer to the specific commands for the formats and types of data
returned from queries.

N OT E Express String Variables Using Exact Syntax


In Visual Basic, string variables are case sensitive and must be expressed exactly the same
each time they are used.

This example shows the data being returned to a string variable:


Dim strRang As String
myScope.WriteString ":CHANnel1:RANGe?"
strRang = myScope.ReadString
Debug.Print strRang

After running this program, the computer displays:


+8.00000E-01

Keysight Infiniium Oscilloscopes Programmer's Guide 133


3 Introduction to Programming

Numeric Variable Example


This example shows the data being returned to a numeric variable:
Dim varRang As Variant
myScope.WriteString ":CHANnel1:RANGe?"
varRang = myScope.ReadNumber
Debug.Print "Channel 1 range: " + FormatNumber(varRang, 0)

After running this program, the computer displays:


.8

134 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Definite-Length Block Response Data


Definite-length block response data allows any type of device-dependent data to
be transmitted over the system interface as a series of 8-bit binary data bytes. This
is particularly useful for sending large quantities of data or 8-bit extended ASCII
codes. The syntax is a pound sign ( # ) followed by a non-zero digit representing
the number of digits in the decimal integer. After the non-zero digit is the decimal
integer that states the number of 8-bit data bytes being sent. This is followed by
the actual data.
For example, for transmitting 4000 bytes of data, the syntax would be:
#44000 <4000 bytes of data> <terminator>

The "4" following the pound sign represents the number of digits in the number of
bytes, and "4000" represents the number of bytes to be transmitted.

Keysight Infiniium Oscilloscopes Programmer's Guide 135


3 Introduction to Programming

Multiple Queries
You can send multiple queries to the instrument within a single command string,
but you must also read them back as a single query result. This can be
accomplished by reading them back into a single string variable, multiple string
variables, or multiple numeric variables.
For example, to read the :TIMebase:RANGe?;DELay? query result into a single
string variable, you could use the commands:
myScope.WriteString ":TIMebase:RANGe?;DELay?"
Dim strQueryResult As String
strQueryResult = myScope.ReadString
MsgBox "Timebase range; delay:" + strQueryResult

When you read the result of multiple queries into a single string variable, each
response is separated by a semicolon. For example, the output of the previous
example would be:
Timebase range; delay: <range_value>;<delay_value>

To read the :TIMebase:RANGe?;DELay? query result into multiple string variables,


you could use the ReadList method to read the query results into a string array
variable using the commands:
myScope.WriteString ":TIMebase:RANGe?;DELay?"
Dim strResults() As String
strResults() = myScope.ReadList(ASCIIType_BSTR)
MsgBox "Timebase range: " + strResults(0) + ", delay: " + strResults(1)

To read the :TIMebase:RANGe?;DELay? query result into multiple numeric


variables, you could use the ReadList method to read the query results into a
variant array variable using the commands:
myScope.WriteString ":TIMebase:RANGe?;DELay?"
Dim varResults() As Variant
varResults() = myScope.ReadList
MsgBox "Timebase range: " + FormatNumber(varResults(0) * 1000, 4) + _
" ms, delay: " + FormatNumber(varResults(1) * 1000000, 4) + " us"

136 Keysight Infiniium Oscilloscopes Programmer's Guide


Introduction to Programming 3

Oscilloscope Status
Status registers track the current status of the oscilloscope. By checking the
oscilloscope status, you can find out whether an operation has completed and is
receiving triggers. Chapter 7, “Status Reporting,” starting on page 157 explains
how to check the status of the oscilloscope.

Keysight Infiniium Oscilloscopes Programmer's Guide 137


3 Introduction to Programming

138 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

4 Sequential (Blocking) vs.


Overlapped Commands

IEEE 488.2 makes the distinction between sequential and overlapped commands
(and queries):
• Sequential commands, also known as blocking commands, must finish their
task before the execution of the next command starts.
• Overlapped commands run concurrently. Commands following an overlapped
command may be started before the overlapped command is completed.
In the Infiniium oscilloscopes, for the most part, commands and queries operate
differently.
• Most commands are overlapped.
Exceptions to this are the :DIGitize command and the :DISK:SAVE commands,
which are sequential (blocking).
• Most queries are sequential (blocking).
Exceptions to this are queries, like measurement results (see Chapter 28,
“Measure Commands,” starting on page 755), that copy information from the
display without having to make acquisitions.
With sequential (blocking) commands and queries, the oscilloscope is expected to
stop processing inputs, including additional remote commands and queries as
well as front panel knobs, until completed.
Waiting for With overlapped commands, you can use the *OPC? query to prevent any more
Overlapped commands from being executed until the overlapped command is complete. This
Commands to may be necessary when a command that follows an overlapped command
Complete interferes with the overlapped command's processing or analysis. For example:

:WMEMory1:SAVE CHAN1;*OPC?;:WMEMory2:SAVE CHAN2

You can also use the *ESR? query to look at the OPC bit (bit 0) in the Standard
Event Status Register to determine when an operation is complete.

139
4 Sequential (Blocking) vs. Overlapped Commands

Using Device Clear When sequential (blocking) commands take too long or fail to complete for some
to Abort a reason, you can send a Device Clear over the bus to clear the input buffer and
Sequential output queue, reset the parser, and clear any pending commands.
(Blocking)
Command
See Also • "*OPC — Operation Complete" on page 424
• "*ESR? — Event Status Register" on page 420
• Chapter 8, “Remote Acquisition Synchronization,” starting on page 187

140 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

5 LAN, USB, and GPIB


Interfaces
LAN Interface Connector / 142
GPIB Interface Connector / 143
Default Startup Conditions / 144
Interface Capabilities / 145
GPIB Command and Data Concepts / 146
Communicating Over the GPIB Interface / 147
Communicating Over the LAN Interface / 148
Communicating via Telnet and Sockets / 149
Bus Commands / 151

There are several types of interfaces that can be used to remotely program the
Infiniium oscilloscope including Local Area Network (LAN) interface and GPIB
interface. Telnet and sockets can also be used to connect to the oscilloscope.

141
5 LAN, USB, and GPIB Interfaces

LAN Interface Connector


The oscilloscope is equipped with a LAN interface RJ-45 connector on the rear
panel. This allows direct connect to your network. However, before you can use
the LAN interface to program the oscilloscope, the network properties must be
configured. Unless you are a Network Administrator, you should contact your
Network Administrator to add the appropriate client, protocols, and configuration
information for your LAN. This information is different for every company.

142 Keysight Infiniium Oscilloscopes Programmer's Guide


LAN, USB, and GPIB Interfaces 5

GPIB Interface Connector


The oscilloscope is not equipped with a GPIB interface connector. You can,
however, order the N4865A GPIB-to-LAN adapter for the 9000A Series
oscilloscope.

Keysight Infiniium Oscilloscopes Programmer's Guide 143


5 LAN, USB, and GPIB Interfaces

Default Startup Conditions


The following default conditions are established during power-up:
• The Request Service (RQS) bit in the status byte register is set to zero.
• All of the event registers are cleared.
• The Standard Event Status Enable Register is set to 0xFF hex.
• Service Request Enable Register is set to 0x80 hex.
• The Operation Status Enable Register is set to 0xFFFF hex.
• The Overload Event Enable Register is set to 0xFF hex.
• The Mask Test Event Enable Register is set to 0xFF hex.
You can change the default conditions using the *PSC command with a parameter
of 1 (one). When set to 1, the Standard Event Status Enable Register is set 0x00
hex and the Service Request Enable Register is set to 0x00 hex. This prevents the
Power On (PON) event from setting the SRQ interrupt when the oscilloscope is
ready to receive commands.

144 Keysight Infiniium Oscilloscopes Programmer's Guide


LAN, USB, and GPIB Interfaces 5

Interface Capabilities
The interface capabilities of this oscilloscope, as defined by IEEE 488.1 and IEEE
488.2, are listed in Table 1.

Table 1 Interface Capabilities

Code Interface Function Capability


SH1 Source Handshake Full Capability
AH1 Acceptor Handshake Full Capability
T5 Talker Basic Talker/Serial Poll/Talk Only
Mode/ Unaddress if Listen Address
(MLA)
L4 Listener Basic Listener/ Unaddresses if Talk
Address (MTA)
SR1 Service Request Full Capability
RL1 Remote Local Complete Capability
PP0 Parallel Poll No Capability
DC1 Device Clear Full Capability
DT1 Device Trigger Full Capability
C0 Computer No Capability
E2 Driver Electronics Tri State (1 MB/SEC MAX)

Keysight Infiniium Oscilloscopes Programmer's Guide 145


5 LAN, USB, and GPIB Interfaces

GPIB Command and Data Concepts


The GPIB interface has two modes of operation: command mode and data mode.
The interface is in the command mode when the Attention (ATN) control line is
true. The command mode is used to send talk and listen addresses and various
interface commands such as group execute trigger (GET).
The interface is in the data mode when the ATN line is false. The data mode is used
to convey device-dependent messages across the bus. The device-dependent
messages include all of the oscilloscope-specific commands, queries, and
responses found in this manual, including oscilloscope status information.

146 Keysight Infiniium Oscilloscopes Programmer's Guide


LAN, USB, and GPIB Interfaces 5

Communicating Over the GPIB Interface


Device addresses are sent by the computer in the command mode to specify who
talks and who listens. Because GPIB can address multiple devices through the
same interface card, the device address passed with the program message must
include the correct interface select code and the correct oscilloscope address.
Device Address = (Interface Select Code * 100) + Oscilloscope Address
See Also • "Interface Select Code" on page 147
• "Oscilloscope Address" on page 147

Interface Select Code


Each interface card has a unique interface select code. This code is used by the
computer to direct commands and communications to the proper interface. The
default is typically "7" for the GPIB interface cards.

Oscilloscope Address
Each oscilloscope on the GPIB must have a unique oscilloscope address between
decimal 0 and 30. This oscilloscope address is used by the computer to direct
commands and communications to the proper oscilloscope on an interface. The
default is typically "7" for this oscilloscope. You can change the oscilloscope
address in the Utilities, Remote Interface dialog box.

N OT E Do Not Use Address 21 for an Oscilloscope Address


Address 21 is usually reserved for the Computer interface Talk/Listen address, and should not
be used as an oscilloscope address.

Keysight Infiniium Oscilloscopes Programmer's Guide 147


5 LAN, USB, and GPIB Interfaces

Communicating Over the LAN Interface


The device address used to send commands and receive data using the LAN
interface is located in the Remote Setup dialog box (Utilities > Remote Setup).
The following C example program shows how to communicate with the
oscilloscope using the LAN interface and the Keysight Standard Instrument
Control Library (SICL).
#include <sicl.h>

#define BUFFER_SIZE 1024

main()
{
INST Bus;
int reason;
unsigned long actualcnt;
char buffer[ BUFFER_SIZE ];

/* Open the LAN interface */


Bus = iopen( "lan[130.29.71.143]:hpib7,7" );
if( Bus != 0 ) {
/* Bus timeout set to 20 seconds */
itimeout( Bus, 20000 );

/* Clear the interface */


iclear( Bus );
/* Query and print the oscilloscope's Id */
iwrite( Bus, "*IDN?", 5, 1, &actualcnt );
iread( Bus, buffer, BUFFER_SIZE, &reason, &actualcnt );
buffer[ actualcnt - 1 ] = 0;

printf( "%s\\n", buffer );


iclose( Bus );
}
}

148 Keysight Infiniium Oscilloscopes Programmer's Guide


LAN, USB, and GPIB Interfaces 5

Communicating via Telnet and Sockets


• "Telnet" on page 149
• "Sockets" on page 149

Telnet
To open a connection to the oscilloscope via a telnet connection, use the following
syntax in a command prompt:
telnet Oscilloscope_IP_Address 5024

5024 is the port number and the name of the oscilloscope can be used in place of
the IP address if desired.
After typing the above command line, press enter and a SCPI command line
interface will open. You can then use this as you typically would use a command
line.

Sockets
Sockets can be used to connect to your oscilloscope on either a Windows or Unix
machine.
The sockets are located on port 5025 on your oscilloscope. Between ports 5024
and 5025, only six socket ports can be opened simultaneously. It is, therefore,
important that you use a proper close routine to close the connection to the
oscilloscope. If you forget this, the connection will remain open and you may end
up exceeding the limit of six socket ports.
Some basic commands used in communicating to your oscilloscope include:
• The receive command is: recv
• The send command is: send
Below is a programming example (for a Windows-based machine) for opening and
closing a connection to your oscilloscope via sockets.
#include <winsock2.h>

void main ()
{
WSADATA wsaData;
SOCKET mysocket = NULL;
char* ipAddress = "130.29.70.70";
const int ipPort = 5025;

//Initialize Winsock
int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if(iResult != NO_ERROR)
{
printf("Error at WSAStartup()\\n");

Keysight Infiniium Oscilloscopes Programmer's Guide 149


5 LAN, USB, and GPIB Interfaces

return NULL;
}

//Create the socket


mySocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCOP);
if(mySocket == INVALID_SOCKET)
{
printf("Error at socket(): %ld\\n", WSAGetLastError());
WSACleanup();
return NULL;
}

sockaddr_in clientService;
clientService.sin_family = AF_INET;
clientService.sin.addr.s_addr = inet_addr(ipAddress);
clientService.sin_port = htons(ipPort);

if(connect(mySocket, (SOCKADDR*) &clientService, sizeof(clientService


)))
{
printf("Failed to connect.\\n");
WSACleanup();
return NULL;
}

//Do some work here

//Close socket when finished


closesocket(mySocket);
}

150 Keysight Infiniium Oscilloscopes Programmer's Guide


LAN, USB, and GPIB Interfaces 5

Bus Commands
The following commands are IEEE 488.1 bus commands (ATN true). IEEE 488.2
defines many of the actions that are taken when these commands are received by
the oscilloscope.

Device Clear
The device clear (DCL) and selected device clear (SDC) commands clear the input
buffer and output queue, reset the parser, and clear any pending commands. If
either of these commands is sent during a digitize operation, the digitize operation
is aborted.

Group Execute Trigger


The group execute trigger (GET) command arms the trigger. This is the same
action produced by sending the RUN command.

Interface Clear
The interface clear (IFC) command halts all bus activity. This includes
unaddressing all listeners and the talker, disabling serial poll on all devices, and
returning control to the system computer.

Keysight Infiniium Oscilloscopes Programmer's Guide 151


5 LAN, USB, and GPIB Interfaces

152 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

6 Message Communication and


System Functions
Protocols / 154

This chapter describes the operation of oscilloscopes that operate in compliance


with the IEEE 488.2 (syntax) standard. It is intended to give you enough basic
information about the IEEE 488.2 standard to successfully program the
oscilloscope. You can find additional detailed information about the IEEE 488.2
standard in ANSI/IEEE Std 488.2-1987, "IEEE Standard Codes, Formats, Protocols,
and Common Commands."
This oscilloscope series is designed to be compatible with other Keysight
Technologies IEEE 488.2 compatible instruments. Oscilloscopes that are
compatible with IEEE 488.2 must also be compatible with IEEE 488.1 (GPIB bus
standard); however, IEEE 488.1 compatible oscilloscopes may or may not conform
to the IEEE 488.2 standard. The IEEE 488.2 standard defines the message
exchange protocols by which the oscilloscope and the computer will
communicate. It also defines some common capabilities that are found in all IEEE
488.2 oscilloscopes. This chapter also contains some information about the
message communication and system functions not specifically defined by
IEEE 488.2.

153
6 Message Communication and System Functions

Protocols
The message exchange protocols of IEEE 488.2 define the overall scheme used by
the computer and the oscilloscope to communicate. This includes defining when it
is appropriate for devices to talk or listen, and what happens when the protocol is
not followed.
• "Functional Elements" on page 154
• "Protocol Overview" on page 154
• "Protocol Operation" on page 155
• "Protocol Exceptions" on page 155
• "Suffix Multiplier" on page 155
• "Suffix Unit" on page 156

Functional Elements
Before proceeding with the description of the protocol, you should understand a
few system components, as described here.
Input Buffer The input buffer of the oscilloscope is the memory area where commands and
queries are stored prior to being parsed and executed. It allows a computer to
send a string of commands, which could take some time to execute, to the
oscilloscope, then proceed to talk to another oscilloscope while the first
oscilloscope is parsing and executing commands.
Output Queue The output queue of the oscilloscope is the memory area where all output data or
response messages are stored until read by the computer.
Parser The oscilloscope's parser is the component that interprets the commands sent to
the oscilloscope and decides what actions should be taken. "Parsing" refers to the
action taken by the parser to achieve this goal. Parsing and execution of
commands begins when either the oscilloscope recognizes a program message
terminator, or the input buffer becomes full. If you want to send a long sequence
of commands to be executed, then talk to another oscilloscope while they are
executing, you should send all of the commands before sending the program
message terminator.

Protocol Overview
The oscilloscope and computer communicate using program messages and
response messages. These messages serve as the containers into which sets of
program commands or oscilloscope responses are placed.
A program message is sent by the computer to the oscilloscope, and a response
message is sent from the oscilloscope to the computer in response to a query
message. A query message is defined as being a program message that contains
one or more queries. The oscilloscope will only talk when it has received a valid

154 Keysight Infiniium Oscilloscopes Programmer's Guide


Message Communication and System Functions 6

query message, and therefore has something to say. The computer should only
attempt to read a response after sending a complete query message, but before
sending another program message.

N OT E Remember this Rule of Oscilloscope Communication


The basic rule to remember is that the oscilloscope will only talk when prompted to, and it
then expects to talk before being told to do something else.

Protocol Operation
When you turn the oscilloscope on, the input buffer and output queue are cleared,
and the parser is reset to the root level of the command tree.
The oscilloscope and the computer communicate by exchanging complete
program messages and response messages. This means that the computer should
always terminate a program message before attempting to read a response. The
oscilloscope will terminate response messages except during a hard copy output.
After you send a query message, the next message should be the response
message. The computer should always read the complete response message
associated with a query message before sending another program message to the
same oscilloscope.
The oscilloscope allows the computer to send multiple queries in one query
message. This is called sending a "compound query". Multiple queries in a query
message are separated by semicolons. The responses to each of the queries in a
compound query will also be separated by semicolons.
Commands are executed in the order they are received.

Protocol Exceptions
If an error occurs during the information exchange, the exchange may not be
completed in a normal manner.

Suffix Multiplier
The suffix multipliers that the oscilloscope will accept are shown in Table 2.

Table 2 <suffix mult>

Value Mnemonic Value Mnemonic


1E18 EX 1E-3 M
1E15 PE 1E-6 U
1E12 T 1E-9 N

Keysight Infiniium Oscilloscopes Programmer's Guide 155


6 Message Communication and System Functions

Table 2 <suffix mult> (continued)

Value Mnemonic Value Mnemonic


1E9 G 1E-12 P
1E6 MA 1E-15 F
1E3 K 1E-18 A

Suffix Unit
The suffix units that the oscilloscope will accept are shown in Table 3.

Table 3 <suffix unit>

Suffix Referenced Unit


V Volt
S Second

156 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

7 Status Reporting
Status Reporting Data Structures / 160
Status Byte Register / 162
Service Request Enable Register / 164
Message Event Register / 165
Trigger Event Register / 166
Standard Event Status Register / 167
Standard Event Status Enable Register / 168
Operation Status Register / 169
Operation Status Enable Register / 170
Mask Test Event Register / 171
Mask Test Event Enable Register / 172
Acquisition Done Event Register / 173
Process Done Event Register / 174
Trigger Armed Event Register / 175
Auto Trigger Event Register / 176
Error Queue / 1616
Output Queue / 178
Message Queue / 179
Clearing Registers and Queues / 180
Example: Checking for Armed Status / 182

An overview of the oscilloscope's status reporting structure is shown in Figure 1.


The status reporting structure shows you how to monitor specific events in the
oscilloscope. Monitoring these events lets you determine the status of an
operation, the availability and reliability of the measured data, and more.
• To monitor an event, first clear the event, then enable the event. All of the
events are cleared when you initialize the oscilloscope.
• To generate a service request (SRQ) interrupt to an external computer, enable
at least one bit in the Status Byte Register.

157
7 Status Reporting

The Status Byte Register, the Standard Event Status Register group, and the
Output Queue are defined as the Standard Status Data Structure Model in IEEE
488.2-1987. IEEE 488.2 defines data structures, commands, and common bit
definitions for status reporting. There are also oscilloscope-defined structures and
bits.

Figure 1 Status Reporting Overview Block Diagram

The status reporting structure consists of the registers shown here.


Table 4 lists the bit definitions for each bit in the status reporting data structure.

Table 4 Status Reporting Bit Definition

Bit Description Definition


PON Power On Indicates power is turned on.
URQ User Request Not Used. Permanently set to zero.
CME Command Error Indicates if the parser detected an error.
EXE Execution Error Indicates if a parameter was out of range or was
inconsistent with the current settings.
DDE Device Dependent Error Indicates if the device was unable to complete
an operation for device-dependent reasons.

158 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

Table 4 Status Reporting Bit Definition (continued)

Bit Description Definition


QYE Query Error Indicates if the protocol for queries has been
violated.
RQL Request Control Indicates if the device is requesting control.
OPC Operation Complete Indicates if the device has completed all
pending operations.
OPER Operation Status Register Indicates if any of the enabled conditions in the
Operation Status Register have occurred.
RQS Request Service Indicates that the device is requesting service.
MSS Master Summary Status Indicates if a device has a reason for requesting
service.
ESB Event Status Bit Indicates if any of the enabled conditions in the
Standard Event Status Register have occurred.
MAV Message Available Indicates if there is a response in the output
queue.
MSG Message Indicates if an advisory has been displayed.
USR User Event Register Indicates if any of the enabled conditions have
occurred in the User Event Register.
TRG Trigger Indicates if a trigger has been received.
WAIT TRIG Wait for Trigger Indicates the oscilloscope is armed and ready for
trigger.

Keysight Infiniium Oscilloscopes Programmer's Guide 159


7 Status Reporting

Status Reporting Data Structures


The different status reporting data structures, descriptions, and interactions are
shown in Figure 2. To make it possible for any of the Standard Event Status
Register bits to generate a summary bit, you must enable the corresponding bits.
These bits are enabled by using the *ESE common command to set the
corresponding bit in the Standard Event Status Enable Register.
To generate a service request (SRQ) interrupt to the computer, you must enable at
least one bit in the Status Byte Register. These bits are enabled by using the *SRE
common command to set the corresponding bit in the Service Request Enable
Register. These enabled bits can then set RQS and MSS (bit 6) in the Status Byte
Register.
For more information about common commands, see the "Common Commands"
chapter.

Figure 2 Status Reporting Data Structures

160 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

Figure 3 Status Reporting Data Structures (Continued)

Keysight Infiniium Oscilloscopes Programmer's Guide 161


7 Status Reporting

Status Byte Register


The Status Byte Register is the summary-level register in the status reporting
structure. It contains summary bits that monitor activity in the other status
registers and queues. The Status Byte Register is a live register. That is, its
summary bits are set and cleared by the presence and absence of a summary bit
from other event registers or queues.
If the Status Byte Register is to be used with the Service Request Enable Register
to set bit 6 (RQS/MSS) and to generate an SRQ, at least one of the summary bits
must be enabled, then set. Also, event bits in all other status registers must be
specifically enabled to generate the summary bit that sets the associated
summary bit in the Status Byte Register.
You can read the Status Byte Register using either the *STB? common command
query or the GPIB serial poll command. Both commands return the
decimal-weighted sum of all set bits in the register. The difference between the
two methods is that the serial poll command reads bit 6 as the Request Service
(RQS) bit and clears the bit which clears the SRQ interrupt. The *STB? query reads
bit 6 as the Master Summary Status (MSS) and does not clear the bit or have any
effect on the SRQ interrupt. The value returned is the total bit weights of all of the
bits that are set at the present time.
The use of bit 6 can be confusing. This bit was defined to cover all possible
computer interfaces, including a computer that could not do a serial poll. The
important point to remember is that if you are using an SRQ interrupt to an
external computer, the serial poll command clears bit 6. Clearing bit 6 allows the
oscilloscope to generate another SRQ interrupt when another enabled event
occurs.
The only other bit in the Status Byte Register affected by the *STB? query is the
Message Available bit (bit 4). If there are no other messages in the Output Queue,
bit 4 (MAV) can be cleared as a result of reading the response to the *STB? query.
If bit 4 (weight = 16) and bit 5 (weight = 32) are set, a program would print the sum
of the two weights. Since these bits were not enabled to generate an SRQ, bit 6
(weight = 64) is not set.
Example 1 This example uses the *STB? query to read the contents of the oscilloscope's
Status Byte Register when none of the register's summary bits are enabled to
generate an SRQ interrupt.
Dim varStbValue As Variant
myScope.WriteString ":SYSTem:HEADer OFF;*STB?" 'Turn headers off
varStbValue = myScope.ReadNumber
Debug.Print "Status Byte Register, Read: 0x" + Hex(varStbValue)

162 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

The next program prints "0x84" and clears bit 6 (RQS) of the Status Byte Register.
The difference in the decimal value between this example and the previous one is
the value of bit 6 (weight = 64). Bit 6 is set when the first enabled summary bit is
set, and is cleared when the Status Byte Register is read by the serial poll
command.
Example 2 The following example uses the resource session object's ReadSTB method to read
the contents of the oscilloscope's Status Byte Register.
varStbValue = myScope.IO.ReadSTB
Debug.Print "Status Byte Register, Serial Poll: 0x" + Hex(varStbValue)

N OT E Use Serial Polling to Read the Status Byte Register


Serial polling is the preferred method to read the contents of the Status Byte Register because
it resets bit 6 and allows the next enabled event that occurs to generate a new SRQ interrupt.

See Also • "Example: Checking for Armed Status" on page 182

Keysight Infiniium Oscilloscopes Programmer's Guide 163


7 Status Reporting

Service Request Enable Register


Setting the Service Request Enable Register bits enables corresponding bits in the
Status Byte Register. These enabled bits can then set RQS and MSS (bit 6) in the
Status Byte Register.
Bits are set in the Service Request Enable Register using the *SRE command, and
the bits that are set are read with the *SRE? query. Bit 6 always returns 0. Refer to
the Status Reporting Data Structures shown in Figure 2.
Example The following example sets bit 4 (MAV) and bit 5 (ESB) in the Service Request
Enable Register.
myScope.WriteString "*SRE " + CStr(CInt("&H30"))

This example uses the decimal parameter value of 48, the string returned by
CStr(CInt("&H30")), to enable the oscilloscope to generate an SRQ interrupt under
the following conditions:
• When one or more bytes in the Output Queue set bit 4 (MAV).
• When an enabled event in the Standard Event Status Register generates a
summary bit that sets bit 5 (ESB).

164 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

Message Event Register


This register sets the MSG bit in the status byte register when an internally
generated message is written to the advisory line on the oscilloscope. The
message is read using the :SYSTem:DSP? query. Note that messages written to
the advisory line on the oscilloscope using the :SYSTem:DSP command does not
set the MSG status bit.

Keysight Infiniium Oscilloscopes Programmer's Guide 165


7 Status Reporting

Trigger Event Register


This register sets the TRG bit in the status byte register when a trigger event
occurs.
The trigger event register stays set until it is cleared by reading the register with
the TER? query or by using the *CLS (clear status) command. If your application
needs to detect multiple triggers, the trigger event register must be cleared after
each one.
If you are using the Service Request to interrupt a computer operation when the
trigger bit is set, you must clear the event register after each time it is set.

166 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

Standard Event Status Register


The Standard Event Status Register (SESR) monitors the following oscilloscope
status events:
• PON - Power On
• CME - Command Error
• EXE - Execution Error
• DDE - Device Dependent Error
• QYE - Query Error
• RQC - Request Control
• OPC - Operation Complete
When one of these events occurs, the corresponding bit is set in the register. If the
corresponding bit is also enabled in the Standard Event Status Enable Register, a
summary bit (ESB) in the Status Byte Register is set.
You can read the contents of the Standard Event Status Register and clear the
register by sending the *ESR? query. The value returned is the total bit weights of
all bits set at the present time.
Example The following example uses the *ESR query to read the contents of the Standard
Event Status Register.
myScope.WriteString ":SYSTem:HEADer OFF" 'Turn headers off
myScope.WriteString "*ESR?"
varQueryResult = myScope.ReadNumber
Debug.print "Standard Event Status Register: 0x" + Hex(varQueryResult)

If bit 4 (weight = 16) and bit 5 (weight = 32) are set, the program prints the sum of
the two weights.

Keysight Infiniium Oscilloscopes Programmer's Guide 167


7 Status Reporting

Standard Event Status Enable Register


For any of the Standard Event Status Register bits to generate a summary bit, you
must first enable the bit. Use the *ESE (Event Status Enable) common command to
set the corresponding bit in the Standard Event Status Enable Register. Set bits
are read with the *ESE? query.
Example Suppose your application requires an interrupt whenever any type of error occurs.
The error related bits in the (Standard) Event Status Register are bits 2 through 5
(hexadecimal value 0x3C). Therefore, you can enable any of these bits to generate
the summary bit by sending:
myScope.WriteString "*ESE " + CStr(CInt("&H3C"))

Whenever an error occurs, it sets one of these bits in the (Standard) Event Status
Register. Because all the error related bits are enabled, a summary bit is generated
to set bit 5 (ESB) in the Status Byte Register.
If bit 5 (ESB) in the Status Byte Register is enabled (via the *SRE command), a
service request interrupt (SRQ) is sent to the controller PC.

N OT E Disabled Standard Event Status Register Bits Respond, but Do Not Generate a
Summary Bit
Standard Event Status Register bits that are not enabled still respond to their corresponding
conditions (that is, they are set if the corresponding event occurs). However, because they are
not enabled, they do not generate a summary bit in the Status Byte Register.

168 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

Operation Status Register


This register hosts the following bits:
• ACQ DONE bit 0
• PROC DONE bit 1
• WAIT TRIG bit 5
• MASK bit 9
• AUTO TRIG bit 11
• OVLR bit 12
The ACQ DONE done bit is set by the Acquisition Done Event Register.
The PROC DONE bit is set by the Process Done Event Register and indicates that
all functions and all math processes are done.
The WAIT TRIG bit is set by the Trigger Armed Event Register and indicates the
trigger is armed.
The MASK bit is set whenever at least one of the Mask Test Event Register bits is
enabled.
The AUTO TRIG bit is set by the Auto Trigger Event Register.
The OVLR bit is set whenever at least one of the Overload Event Register bits is
enabled.
If any of these bits are set, the OPER bit (bit 7) of the Status Byte Register is set.
The Operation Status Register is read and cleared with the OPER? query. The
register output is enabled or disabled using the mask value supplied with the
OPEE command.
See Also • "Example: Checking for Armed Status" on page 182

Keysight Infiniium Oscilloscopes Programmer's Guide 169


7 Status Reporting

Operation Status Enable Register


For any of the Operation Status Register bits to generate a summary bit, you must
first enable the bit. Use the OPEE (Operation Event Status Enable) command to set
the corresponding bit in the Operation Status Enable Register. Set bits are read
with the OPEE? query.
Example Suppose your application requires an interrupt whenever any event occurs in the
mask test register. The error status bit in the Operation Status Register is bit 9.
Therefore, you can enable this bit to generate the summary bit by sending:
myScope.WriteString ":OPEE " + CStr(CInt("&H200"))

Whenever an error occurs, the oscilloscope sets this bit in the Mask Test Event
Register. Because this bit is enabled, a summary bit is generated to set bit 9
(OPER) in the Operation Status Register.
If bit 7 (OPER) in the Status Byte Register is enabled (via the *SRE command), a
service request interrupt (SRQ) is sent to the external computer.

N OT E Disabled Operation Status Register Bits Respond, but Do Not Generate a Summary
Bit
Operation Status Register bits that are not enabled still respond to their corresponding
conditions (that is, they are set if the corresponding event occurs). However, because they are
not enabled, they do not generate a summary bit in the Status Byte Register.

170 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

Mask Test Event Register


This register hosts the following bits:
• Mask Test Complete bit (bit 0)
• Mask Test Fail bit (bit 1)
• Mask Low Amplitude bit (bit 2)
• Mask High Amplitude bit (bit 3)
• Mask Align Complete bit (bit 4)
• Mask Align Fail bit (bit 5)
The Mask Test Complete bit is set whenever the mask test is complete.
The Mask Test Fail bit is set whenever the mask test failed.
The Mask Low Amplitude bit is set whenever the signal is below the mask
amplitude.
The Mask High Amplitude bit is set whenever the signal is above the mask
amplitude.
The Mask Align Complete bit is set whenever the mask align is complete.
The Mask Align Fail bit is set whenever the mask align failed.
If any of these bits are set, the MASK bit (bit 9) of the Operation Status Register is
set. The Mask Test Event Register is read and cleared with the MTER? query. The
register output is enabled or disabled using the mask value supplied with the
MTEE command.

Keysight Infiniium Oscilloscopes Programmer's Guide 171


7 Status Reporting

Mask Test Event Enable Register


For any of the Mask Test Event Register bits to generate a summary bit, you must
first enable the bit. Use the MTEE (Mask Test Event Enable) command to set the
corresponding bit in the Mask Test Event Enable Register. Set bits are read with
the MTEE? query.
Example Suppose your application requires an interrupt whenever a Mask Test Fail occurs
in the mask test register. You can enable this bit to generate the summary bit by
sending:
myScope.WriteString ":MTEE " + CStr(CInt("&H2"))

Whenever an error occurs, the oscilloscope sets the MASK bit in the Operation
Status Register. Because the bits in the Operation Status Enable Register are all
enabled, a summary bit is generated to set bit 7 (OPER) in the Status Byte
Register.
If bit 7 (OPER) in the Status Byte Register is enabled (via the *SRE command), a
service request interrupt (SRQ) is sent to the external computer.

N OT E Disabled Mask Test Event Register Bits Respond, but Do Not Generate a Summary
Bit
Mask Test Event Register bits that are not enabled still respond to their corresponding
conditions (that is, they are set if the corresponding event occurs). However, because they are
not enabled, they do not generate a summary bit in the Operation Status Register.

172 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

Acquisition Done Event Register


The Acquisition Done Event Register (ACQ DONE) sets bit 0 (ACQ DONE bit) in the
Operation Status Register when the oscilloscope acquisition is completed.
The ACQ DONE event register stays set until it is cleared by reading the register by
a ADER? query. If your application needs to detect multiple acquisitions, the ACQ
DONE event register must be cleared after each acquisition.
See Also • "Example: Blocking and Polling Synchronization" on page 193

Keysight Infiniium Oscilloscopes Programmer's Guide 173


7 Status Reporting

Process Done Event Register


The Process Done Event Register (PDER) sets bit 1 (PROC DONE) of the Operation
Status Register when all functions and all math operations are completed. The
PDER bit stays set until cleared by a PDER? query.
See Also • "Example: Blocking and Polling Synchronization" on page 193

174 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

Trigger Armed Event Register


The Trigger Armed Event Register (TDER) sets bit 5 (WAIT TRIG) in the Operation
Status Register when the oscilloscope becomes armed.
The ARM event register stays set until it is cleared by reading the register with the
AER? query. If your application needs to detect multiple triggers, the ARM event
register must be cleared after each one.
See Also • "Example: Checking for Armed Status" on page 182

Keysight Infiniium Oscilloscopes Programmer's Guide 175


7 Status Reporting

Auto Trigger Event Register


The Auto Trigger Event Register (AUTO TRIG) sets bit 11 (AUTO TRIG) in the
Operation Status Register when an auto trigger event occurs. The AUTO TRIG
register stays set until it is cleared by reading the register with the ATER? query. If
the application needs to detect multiple auto trigger events, the AUT TRIG register
must be cleared after each one.

176 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

Error Queue
As errors are detected, they are placed in an error queue. This queue is a first-in,
first-out queue. If the error queue overflows, the last error in the queue is replaced
with error -350, "Queue overflow." Any time the queue overflows, the oldest errors
remain in the queue, and the most recent error is discarded. The length of the
oscilloscope's error queue is 30 (29 positions for the error messages, and 1
position for the "Queue overflow" message).
The error queue is read with the :SYSTem:ERRor? query. Executing this query
reads and removes the oldest error from the head of the queue, which opens a
position at the tail of the queue for a new error. When all the errors have been read
from the queue, subsequent error queries return 0, "No error."
The error queue is cleared when any of these events occur:
• When the oscilloscope is powered up.
• When the oscilloscope receives the *CLS common command.
• When the last item is read from the error queue.
For more information on reading the error queue, refer to the :SYSTem:ERRor?
query in the System Commands chapter. For a complete list of error messages,
refer to the chapter, "Error Messages."

Keysight Infiniium Oscilloscopes Programmer's Guide 177


7 Status Reporting

Output Queue
The output queue stores the oscilloscope-to-controller responses that are
generated by certain oscilloscope commands and queries. The output queue
generates the Message Available summary bit when the output queue contains
one or more bytes. This summary bit sets the MAV bit (bit 4) in the Status Byte
Register.
When using the Keysight VISA COM library, the output queue may be read with
the FormattedIO488 object's ReadString, ReadNumber, ReadList, or
ReadIEEEBlock methods.

178 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

Message Queue
The message queue contains the text of the last message written to the advisory
line on the screen of the oscilloscope. The queue is read with the :SYSTem:DSP?
query. Note that messages sent with the :SYSTem:DSP command do not set the
MSG status bit in the Status Byte Register.

Keysight Infiniium Oscilloscopes Programmer's Guide 179


7 Status Reporting

Clearing Registers and Queues


The *CLS common command clears all event registers and all queues except the
output queue. If *CLS is sent immediately following a program message
terminator, the output queue is also cleared.

180 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

cd 9dndjlVci
idYdhiVijh
gZedgi^c\4

nZh

GZhZii]Z^chigjbZciVcY
XaZVgi]ZhiVijhgZ\^hiZgh/

bnHXdeZ#Lg^iZHig^c\GHI
bnHXdeZ#Lg^iZHig^c\8AH

9dndjlVciid cdNdjgegd\gVbhXVcgZVYi]ZhiVijhgZ\^hiZgh^chiZVY#
hZcYVHZgk^XZGZfjZhi
HGF^ciZggjeiidi]Z
XdcigdaaZg4
nZh
JhZi]Z[daadl^c\idgZVYi]Z
HiVcYVgY:kZciHiVijhGZ\^hiZg/
6Xi^kViZi]Z^chigjbZci[jcXi^dc
9dndjlVciid cd i]VindjlVciidbdc^idg# bnHXdeZ#Lg^iZHig^c\:HG4
gZedgiZkZcihbdc^idgZYWn kVgG2bnHXdeZ#GZVYCjbWZg
i]ZHiVcYVgY:kZciHiVijh Bh\7dm:HG/%m =ZmkVgG
GZ\^hiZg4
nZh L]ZcVc^ciZggjeidXXjgh!^ciZggjei
]VcYaZgh]djaYhZg^VaedaaHI7l^i]/

JhZi]Z:H:XdbbdcXdbbVcY kVgG2bnHXdeZ#>D#GZVYHI7 JhZi]Z[daadl^c\idhZZ^[Vc


idZcVWaZi]ZW^ihndjlVciid deZgVi^dc^hXdbeaZiZ/
jhZid\ZcZgViZi]Z:H7hjbbVgn
W^i^ci]ZHiVijh7niZGZ\^hiZg# IdgZVYi]ZHiVijh7niZGZ\^hiZg! bnHXdeZ#Lg^iZHig^c\DE84
jhZi]Z[daadl^c\/ kVgG2bnHXdeZ#GZVYCjbWZg
Bh\7dmDE8/%m =ZmkVgG
bnHXdeZ#Lg^iZHig^c\HI74
JhZi]Z:H:XdbbdcXdbbVcY kVgG2bnHXdeZ#GZVYCjbWZg
idZcVWaZi]ZW^ihndjlVciid Bh\7dmHI7/%m =ZmkVgG
\ZcZgViZi]ZGFH$BHHW^iidhZi
W^i+^ci]ZHiVijh7niZGZ\^hiZg I]^hY^heaVnhi]Z]ZmVYZXbVakVajZ
JhZi]Z[daadl^c\idgZVYi]Z
VcYhZcYHGFidi]ZXdbejiZg# d[i]ZHiVijh7niZGZ\^hiZg#
XdciZcihd[i]ZhiVijhWniZ/
>[ZkZcihVgZbdc^idgZYWni]Z
HiVcYVgY:kZciHiVijhGZ\^hiZg! bnHXdeZ#Lg^iZHig^c\HI74
VahdZcVWaZ:H7l^i]i]ZHG: kVgG2bnHXdeZ#GZVYCjbWZg
9ZiZgb^cZl]^X]W^ih^ci]Z
XdbbVcY# Bh\7dmHI7/%m =ZmkVgG
HiVijh7niZGZ\^hiZgVgZhZi#

:C9

Figure 4 Status Reporting Decision Chart

Keysight Infiniium Oscilloscopes Programmer's Guide 181


7 Status Reporting

Example: Checking for Armed Status


# -*- coding: utf-8 -*-

# ********************************************************************
# This script using the Python language (http://www.python.org/) and
# the PyVISA package (http://pyvisa.readthedocs.org/) shows three
# methods to tell whether a Keysight Infiniium oscilloscope is armed.
# ********************************************************************

# Import modules
# --------------------------------------------------------------------
import sys
import visa
import time

# Initialization constants
# --------------------------------------------------------------------
# Get VISA address from Keysight IO Libraries Connection Expert
VISA_ADDRESS = "TCPIP0::141.121.228.133::hislip0::INSTR"
GLOBAL_TOUT = 10000 # IO timeout in milliseconds

# Connect and initialize oscilloscope


# --------------------------------------------------------------------
# Define VISA Resource Manager & Install directory
rm = visa.ResourceManager('C:\\Windows\\System32\\visa32.dll')

# Define and open the oscilloscope using the VISA address


KsInfiniiumScope = rm.open_resource(VISA_ADDRESS)

# Set the Global Timeout


KsInfiniiumScope.timeout = GLOBAL_TOUT

# Clear the instrument bus


KsInfiniiumScope.clear()

# Reset the oscilloscope.


KsInfiniiumScope.write("*RST")

# Autoscale to set up vertical scale and trigger level on channel 1.


KsInfiniiumScope.write(":AUToscale:CHANnels DISPlayed")
KsInfiniiumScope.write(":AUToscale")

# Ensure a "long" time to arm (5 seconds) and not trigger immediately.


# --------------------------------------------------------------------
# 10 second total capture, with trigger point in the middle = 5s to arm
KsInfiniiumScope.write(":TIMebase:RANGe 10")
# Prevent Auto trigger.
KsInfiniiumScope.write(":TRIGger:SWEep TRIGgered")

# ====================================================================
# Method 1: Query the Armed Event Register with :AER?
# --------------------------------------------------------------------
# This method reads the 1-bit Armed Event Register using the :AER?
# query.

182 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

#
# The Armed Event Register bit goes low (0) when it is read using
# :AER? or when a *CLS command is issued.
# ====================================================================

# Stop the oscilloscope.


KsInfiniiumScope.query(":STOP;*OPC?")

# Method 1: Initiate capture using :SINGle


# --------------------------------------------------------------------
print "Acquiring signal (Method 1, using :SINGle)...\n"
now = time.clock()

# Clear all status registers before checking for new events.


KsInfiniiumScope.write("*CLS")

# Because the :AER? query will not work with :DIGitize (which is
# blocking), use the :SINGle command to start the acquisition.
KsInfiniiumScope.write(":SINGle")

# Method 1: Determine if armed using :AER? query.


# --------------------------------------------------------------------
# Define armed criteria.
ARMED = 1

# Test for armed.


ARMED_STATUS = int(KsInfiniiumScope.query(":AER?"))

# Wait indefinitely until armed.


while ARMED_STATUS != ARMED:
# Check the status again after small delay.
time.sleep(0.1) # 100 ms delay to prevent excessive queries.
ARMED_STATUS = int(KsInfiniiumScope.query(":AER?"))

print "Oscilloscope is armed (method 1, using :AER? query)!"


print "It took " + str(time.clock() - now) +\
" seconds to arm.\n"

# ====================================================================
# Method 2: Read the Status Byte
# --------------------------------------------------------------------
# This method reads the Status Byte register's OPER bit (bit 7) using
# the "read status byte" function in VISA, which works during blocking
# commands and can therefore be used with the :DIGitize command.
#
# The Status Byte bits do NOT go low (0) when the register is read.
#
# The *CLS command will clear the Status Byte bits.
# ====================================================================

# Stop the oscilloscope.


KsInfiniiumScope.query(":STOP;*OPC?")

# Method 2: Initiate capture using :DIGitize or :SINGle


# --------------------------------------------------------------------
print "Acquiring signal (Method 2, using :DIGitize)...\n"
now = time.clock()

Keysight Infiniium Oscilloscopes Programmer's Guide 183


7 Status Reporting

# Clear all status registers before checking for new events.


KsInfiniiumScope.write("*CLS")

# Mask out all bits in the Operation Status Register except for
# the ARM bit.
KsInfiniiumScope.write(":OPEE 32") # "Unmask" only the arm bit

# Use the :DIGitize command to start the acquisition.


KsInfiniiumScope.write(":DIGitize")

# Method 2: Determine if armed by reading the Status Byte.


# --------------------------------------------------------------------
# Define register bit masks for the Status Byte Register
ARM_BIT = 7
# 1 leftshift 7 = 128 (bit 7 in the Status Byte Register)
ARM_MASK = 1 << ARM_BIT

# Define armed criteria.


ARMED = 1 << ARM_BIT # 1 leftshift 7 = 128

# Test for armed.


STATUS_BYTE = int(KsInfiniiumScope.read_stb())
ARMED_STATUS = STATUS_BYTE & ARM_MASK
# Note that you could also do:
# ARMED_STATUS = int(KsInfiniiumScope.query("*STB?))
# BUT *STB? does not work with the blocking :DIGitize.

# Wait indefinitely until armed.


while ARMED_STATUS != ARMED:
# Check the status again after small delay.
time.sleep(0.1) # 100 ms delay to prevent excessive queries.
STATUS_BYTE = int(KsInfiniiumScope.read_stb())
ARMED_STATUS = STATUS_BYTE & ARM_MASK

print "Oscilloscope is armed (method 2, using Read STB function)!"


print "It took " + str(time.clock() - now) +\
" seconds to arm.\n"

# ====================================================================
# Method 3: Query the Operation Status Register with :OPER?
# --------------------------------------------------------------------
# This method reads the Operation Status Register's Wait Trig bit
# (bit 5) using the :OPER? query.
#
# The Operation Status Register bits do NOT go low (0) when the
# register is read.
#
# Also, the Wait Trig bit does NOT go low (0) when the oscilloscope
# becomes unarmed by starting or stopping another acquisition (before
# the first one finishes) or by changing the time scale.
#
# The Wait Trig bit is cleared by a *CLS command, or by reading the
# Armed Event Register register with the :AER? query.
# ====================================================================

# Stop the oscilloscope.

184 Keysight Infiniium Oscilloscopes Programmer's Guide


Status Reporting 7

KsInfiniiumScope.query(":STOP;*OPC?")

# Method 3: Initiate capture using :SINGle


# --------------------------------------------------------------------
print "Acquiring signal (Method 3, using :SINGle)...\n"
now = time.clock()

# Clear all status registers before checking for new events.


KsInfiniiumScope.write("*CLS")

# Because the :OPER? query will not work with :DIGitize (which is
# blocking), use the :SINGle command to start the acquisition.
KsInfiniiumScope.write(":SINGle")

# Method 3: Determine if armed using :OPER? query.


# --------------------------------------------------------------------
# Define register bit masks for the Operation Status Register
ARM_BIT = 5
# 1 leftshift 5 = 32 (bit 5 in the Operation Status Register)
ARM_MASK = 1 << ARM_BIT

# Define armed criteria.


ARMED = 1 << ARM_BIT # 1 leftshift 5 = 32

# Test for armed.


STATUS_REGISTER = int(KsInfiniiumScope.query(":OPER?"))
ARMED_STATUS = STATUS_REGISTER & ARM_MASK

# Wait indefinitely until armed.


while ARMED_STATUS != ARMED:
# Check the status again after small delay.
time.sleep(0.1) # 100 ms delay to prevent excessive queries.
STATUS_REGISTER = int(KsInfiniiumScope.query(":OPER?"))
ARMED_STATUS = STATUS_REGISTER & ARM_MASK

print "Oscilloscope is armed (method 3, using :OPER? query)!"


print "It took " + str(time.clock() - now) +\
" seconds to arm.\n"

# End of Script
# --------------------------------------------------------------------
KsInfiniiumScope.clear() # Clear communications interface
KsInfiniiumScope.close() # Close communications interface
print "All done."

Keysight Infiniium Oscilloscopes Programmer's Guide 185


7 Status Reporting

186 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

8 Remote Acquisition
Synchronization
Programming Flow / 188
Setting Up the Oscilloscope / 189
Acquiring a Waveform / 190
Retrieving Results / 191
Acquisition Synchronization / 192
Single Shot Device Under Test (DUT) / 202
Averaging Acquisition Synchronization / 203

When remotely controlling an oscilloscope with SCPI commands, it is often


necessary to know when the oscilloscope has finished the previous operation and
is ready for the next SCPI command. The most common example is when an
acquisition is started using the :DIG, :RUN, or :SINGle commands. Before a
measurement result can be queried, the acquisition must complete. Too often,
fixed delays are used to accomplish this wait, but fixed delays often use excessive
time or the time may not be long enough. A better solution is to use synchronous
commands and status to know when the oscilloscope is ready for the next request.

187
8 Remote Acquisition Synchronization

Programming Flow
Most remote programming follows these three general steps:
1 Setup the oscilloscope and device under test
2 Acquire a waveform
3 Retrieve results

188 Keysight Infiniium Oscilloscopes Programmer's Guide


Remote Acquisition Synchronization 8

Setting Up the Oscilloscope


Before making changes to the oscilloscope setup, it is best to make sure it is
stopped using the :STOP command followed by the *OPC? command.

It is not necessary to use the *OPC? command, hard coded waits, or status checking when
N OT E
setting up the oscilloscope.

After the oscilloscope is configured, it is ready for an acquisition.

Keysight Infiniium Oscilloscopes Programmer's Guide 189


8 Remote Acquisition Synchronization

Acquiring a Waveform
When acquiring a waveform, there are two possible methods used to wait for the
acquisition to complete. These methods are blocking and polling. The table below
details when each method should be chosen and why.

Blocking Wait Polling Wait


Use When You know the oscilloscope will trigger You know the oscilloscope may or may
based on the oscilloscope setup and not trigger based on the oscilloscope
device under test. setup and device under test.
Advantages • No need for polling • Remote interface will not timeout
• Fast method • No need for device clear if no
trigger
Disadvantages • Remote interface may timeout • Slower method
• Device clear only way to get control • Required polling loop
of oscilloscope if there is no trigger • Required known maximum wait
time

190 Keysight Infiniium Oscilloscopes Programmer's Guide


Remote Acquisition Synchronization 8

Retrieving Results
Once the acquisition is complete, it is safe to retrieve measurements and statistics.

Keysight Infiniium Oscilloscopes Programmer's Guide 191


8 Remote Acquisition Synchronization

Acquisition Synchronization
• "Blocking Synchronization" on page 192
• "Polling Synchronization With Timeout" on page 192
• "Example: Blocking and Polling Synchronization" on page 193

Blocking Synchronization
Use the :DIGitize command to start the acquisition. This blocks subsequent
queries until the acquisition and processing is complete.
Example // Setup
:TRIGger:MODE EDGE
:TIMebase:SCALE 5e-9

//Acquire
:DIG

//Get results
:MEASure:RISetime?

Polling Synchronization With Timeout


This example requires a timeout value so the operation can abort if an acquisition
does not occur within the timeout period.
Example TIMEOUT = 1000ms
currentTime = 0ms

// Setup
:STOP; *OPC? // if not stopped
:ADER? // clear ADER event

// Acquire
:SINGle

while(currentTime <= TIMEOUT)


{
if (:ADER? == 1)
{
break;
}
else
{
// Use small wait to prevent excessive
// queries to the oscilloscope
wait (100ms)
currentTime += 100ms
}
}

//Get results

192 Keysight Infiniium Oscilloscopes Programmer's Guide


Remote Acquisition Synchronization 8

if (currentTime < TIMEOUT)


{
:MEASure:RISetime?
}

Example: Blocking and Polling Synchronization


# -*- coding: utf-8 -*-

# ********************************************************************
# This script using the Python language (http://www.python.org/) and
# the PyVISA package (http://pyvisa.readthedocs.org/) shows the two
# best synchronization methods for Infiniium real-time oscilloscopes.
# Benefits and drawbacks of each method are described. No error
# handling is provided except in the actual synchronization methods.
# ********************************************************************

# Import modules
# --------------------------------------------------------------------
import sys
import visa
import time

# Initialization constants
# --------------------------------------------------------------------
# Get VISA address from Keysight IO Libraries Connection Expert
VISA_ADDRESS = "TCPIP0::141.121.228.133::hislip0::INSTR"
GLOBAL_TOUT = 10000 # IO time out in milliseconds

TIME_TO_TRIGGER = 10 # Time in seconds


# --------------------------------------------------------------------
# This is the time until the FIRST trigger event.
#
# While the script calculates a general time out for the given setup,
# it cannot know when a trigger event will occur. Thus, you must
# still set this value.
#
# This time is in addition to the calculated minimum timeout... so, if
# an oscilloscope might take say, 1 us to arm and acquire data, the
# signal might take 100 seconds before it occurs... this accounts for
# that.
#
# The SCOPE_ACQUISITION_TIME_OUT calculation pads this by 1.1.
# --------------------------------------------------------------------

TIME_BETWEEN_TRIGGERS = 0.025 # Time in seconds - for Average,


# Segmented, and Equivalent Time modes, else set to 0
# --------------------------------------------------------------------
# In Average, Segmented, and Equivalent Time modes, the oscilloscope
# makes repeated acquisitions. This is similar to the above
# TIME_TO_TRIGGER, but it is the time BETWEEN triggers. For example,
# it might take 10 seconds for the first trigger event, and then they
# might start occurring regularly at say, 1 ms intervals. In that
# scenario, 15 seconds (a conservative number for 10s) would be good
# for TIME_TO_TRIGGER, and 2 ms (again conservative) would be good for
# TIME_BETWEEN_TRIGGERS.

Keysight Infiniium Oscilloscopes Programmer's Guide 193


8 Remote Acquisition Synchronization

#
# The default in this sample script is 0.025 seconds. This is to make
# the sample work for the LINE trigger used in this script when the
# oscilloscope is in Average, Segmented, and Equivalent Time modes to
# force a trigger off of the AC input line (:TRIGger:EDGE:SOURce LINE)
# which runs at 50 or 60 Hz in most of the world (1/50 Hz -> 20 ms, so
# use 25 ms to be conservative).
#
# The SCOPE_ACQUISITION_TIME_OUT calculation pads this by 1.1.
# --------------------------------------------------------------------

PROCESSING_TIME = 0 # Time in seconds - this is needed to account


# for additional time after an acquisition to do any processing such
# as FFTs, jitter, etc.
# --------------------------------------------------------------------
# When using repetitive modes such as average or segmented mode,
# processing happens only once, at the end, on either the final
# averaged waveform or the last segment, thus this only needs to be
# accounted for once.
#
# This time cannot be known ahead of time. One needs to measure this
# time:
#
# To measure PROCESSING_TIME, a second oscilloscope is ideal.
#
# 1. Connect the trigger output of the oscilloscope to be
# programmed to an input on a second oscilloscope. It is
# often best to use peak detect mode, maximize the signal
# display intensity, and set the trigger sweep to
# Normal/Triggered, not auto.
#
# 2. Feed the oscilloscope to be programmed a 1 MHz (or faster)
# sine or square wave or other continuous signal such that the
# trigger condition is always met and the oscilloscope will
# trigger as fast as it can.
#
# 3. Set up the oscilloscope to be programmed as it will be used,
# and put it in the RUNNING state (press the front panel Run
# key).
#
# 4. Observe and record the delta time (DT) between trigger
# output pulses. There will be some variation, use the
# largest observed delta time.
#
# 5. Turn off any processing and again record the smallest delta
# time of the trigger output pulses.
#
# 6. Calculate PROCESSING_TIME as
# DT_largest_processing_ON - DT_smallest_processing_OFF
#
# For example, with an S-Series oscilloscope, at 67 MPts and
# 20 GSa/s (~3.35 ms time capture) with sinx/x interpolation
# enabled, it takes on the order of ~10-15 ms per capture to
# capture and display one channel repetitively. Once an FFT
# is enabled, it takes about ~8.2 seconds to repetitively
# capture, calculate the FFT, and display it, repetitively.
# Thus the PROCESSING_TIME should be 8.2 s - 15 ms = ~8.2

194 Keysight Infiniium Oscilloscopes Programmer's Guide


Remote Acquisition Synchronization 8

# seconds. Here, 10 seconds should then be used. (FFTs take a


# logarithmically long time to compute.)
#
# The SCOPE_ACQUISITION_TIME_OUT calculation pads this by 1.2.
# --------------------------------------------------------------------

# ====================================================================
# Define a simple and fast function utilizing the blocking :DIGitize
# command in conjunction with *OPC?.
# --------------------------------------------------------------------
#
# Benefits of this method:
#
# - Fastest, compact, simple
# - Works for ALL modes including averaging.
# - Don't have to deal with the status registers, which can be
# confusing.
#
# Drawbacks of this method:
#
# - Requires a well-chosen, hard-set timeout that will cover the
# time to arm, trigger, finish acquisition AND any processing
# that is already enabled, for example FFTs, math functions,
# measurements, jitter separation... The script calculates this
# timeout.
#
# Please note that for segmented memory mode, any processing
# would happen only for the final segment.
#
# Please note that for average acquisition mode, any processing
# would happen only for the final averaged waveform.
#
# - Requires Exception handling and a device clear for a possible
# timeout (no trigger event)
#
# How it works:
#
# - The :DIGitize command is a blocking command, and thus, no
# other SCPI commands will *execute* until :DIGitize is completely
# done. This includes any subsequent processing that is already
# set up, such as math, jitter separation, measurements.
#
# KEY POINT: However, :DIGitize does not prevent additional
# commands from being sent to the queue or cause the remote
# program to wait. For example, if your program does something
# like:
#
# KsInfiniiumScope.write(":DIGitize")
# sys.stdout.write("Signal acquired.\n")
#
# The "Signal acquired" message will be written immediately
# after the :DIGitize is sent, not after the acquisition and
# processing is complete.
#
# To pause the program until the :DIGitize is complete, you must
# wait for a query result after the :DIGitize. For example, in

Keysight Infiniium Oscilloscopes Programmer's Guide 195


8 Remote Acquisition Synchronization

# this case:
#
# query_result = KsInfiniiumScope.query(":DIGitize;*OPC?")
# sys.stdout.write("Signal acquired.\n")
#
# The "Signal acquired" message will be written after the
# acquisition and processing is complete. The *OPC? query is
# appended to :DIGitize with a semi-colon (;), which
# essentially ties it to the same thread in the parser. It is
# immediately dealt with once :DIGitize finishes and gives a "1"
# back to the program (whether the program uses it or not),
# allowing the program to move on.
#
# Other Notes:
#
# - If you DO NOT know when a trigger will occur, you will need to
# set a very long time out (that is, TIME_TO_TRIGGER should be
# very long).
#
# - Because it is essentially impossible to know how long
# additional processing (for example FFT) will take ahead of
# time, it CAN be beneficial to turn on such things AFTER the
# signal is acquired. Further, because much of this processing
# is done in the Windows OS and memory space, there CAN be a
# large variation in the post-acquisition processing time.
# However, read the comments at PROCESSING_TIME for how to
# actually measure this, and it can be accounted for.
#
# - The timeout will need to be (should be) adjusted before and
# after the :DIGitize operation, though this is not absolutely
# required.
#
# - A :DIGitize can be aborted with a device clear:
# KsInfiniiumScope.clear()
#
# The device clear itself can timeout. Can happen if issued
# after acquisition done, but scope is still processing a long
# FFT, for example. A few (10) seconds is usually plenty.
# ====================================================================
def blocking_method():

KsInfiniiumScope.timeout = SCOPE_ACQUISITION_TIME_OUT
# Time in milliseconds (PyVisa uses ms) to wait for the
# oscilloscope to arm, trigger, finish acquisition, and finish
# any processing.
#
# Note that this is a property of the device interface,
# KsInfiniiumScope
#
# If doing repeated acquisitions, this should be done BEFORE the
# loop, and changed again after the loop if the goal is to
# achieve the best throughput.

sys.stdout.write("Acquiring signal(s)...\n")
# Set up a try/except block to catch a possible timeout and exit.
try:
KsInfiniiumScope.query(":DIGitize;*OPC?")

196 Keysight Infiniium Oscilloscopes Programmer's Guide


Remote Acquisition Synchronization 8

# Acquire the signal(s) with :DIGitize (blocking) and wait


# until *OPC? comes back with a one.
sys.stdout.write("Signal acquired.\n")
# Catch a possible timeout and exit.
except Exception:
print "The acquisition timed out, most likely due to no " \
"trigger or improper setup causing no trigger. " \
"Properly closing the oscilloscope connection and " \
"exiting script.\n"
KsInfiniiumScope.clear() # Clear communications interface;
# A device clear also aborts digitize.
KsInfiniiumScope.close() # Close communications interface
sys.exit("Exiting script.")

# Reset timeout back to what it was, GLOBAL_TOUT.


KsInfiniiumScope.timeout = GLOBAL_TOUT

# ====================================================================
# Define a function using the non-blocking :SINGle command and polling
# on the Processing Done Event Register
# --------------------------------------------------------------------
#
# Benefits of this method:
#
# - Don't have to worry about interface timeouts.
# - Easy to expand to know when the oscilloscope is armed.
#
# Drawbacks of this method:
#
# - Slow, as you don't want to poll the oscilloscope too fast.
#
# - Still need some maximum timeout (here MAX_TIME_TO_WAIT),
# ideally, or the script will sit in the while loop forever if
# there is no trigger event.
#
# If using :PDER? max time out (here MAX_TIME_TO_WAIT) must also
# account for any processing done (PROCESSING_TIME).
#
# Max time out (here MAX_TIME_TO_WAIT) must also account for time
# to arm the oscilloscope and finish the acquisition.
#
# The script calculates this MAX_TIME_TO_WAIT as
# SCOPE_ACQUISITION_TIME_OUT.
#
# - DOES NOT work for Equivalent time mode. MUST use the blocking
# method.
#
# How it works:
#
# - Basically, clear the status registers with *CLS. Initiate the
# acquisition with the non-blocking :SINGle. Poll the
# oscilloscope until the Processing Done Event Register comes
# back with a 1, meaning that both the acquisition and any
# enabled processing (FFTs, Math, jitter...) are done.
#
# Other Notes:

Keysight Infiniium Oscilloscopes Programmer's Guide 197


8 Remote Acquisition Synchronization

#
# - Instead of using the Processing Done Event Register, you could
# use the Acquisition Done Event Register (see :ADER?). The
# benefit here is that one could potentially determine WHEN a
# trigger occurred, but only within 100 ms (the poll wait time -
# also need to know how much time acquired after the trigger....)
# You could also do :ADER? and then, when that comes back with a
# 1, do :PDER? possibly enabling processing in between...
#
# Please note that for segmented memory mode, any processing would
# happen only for the final segment.
#
# Please note that for average acquisition mode, any processing
# would happen only for the final averaged waveform.
# ====================================================================
def polling_method():

MAX_TIME_TO_WAIT = SCOPE_ACQUISITION_TIME_OUT
# Time in seconds to wait for the oscilloscope to arm, trigger,
# finish acquisition, and finish any processing.
#
# Note that this is NOT a property of the device interface,
# KsInfiniiumScope, but rather some constant in the script to be
# used later with the Python module "time", and will be used with
# time.clock().
#
# If using ADER (below), set PROCESSING_TIME = 0.

# Define completion criterion:


ACQ_DONE = 1
ACQ_NOT_DONE = 0

sys.stdout.write("Acquiring signal(s)...\n")
# Clear all status registers (set them to 0). This could be
# concatenated with the :SINGle command two lines below to speed
# things up a little, like this ->
# KsInfiniiumScope.write("*CLS;:SINGle")
KsInfiniiumScope.write("*CLS")

# Define acquisition start time. This is in seconds.


StartTime = time.clock()

# Begin acquisition with non-blocking :SINGle command.


KsInfiniiumScope.write(":SINGle")
# KsInfiniiumScope.write("*CLS;:SINGle")
# Recommended to concatenate these together for repeated
# acquisition using this method as it goes slightly faster;
# consider using method 1 instead if max throughput is desired

# Immediately ask oscilloscope if it is done with the acquisition


# and processing.
Status = int(KsInfiniiumScope.query(":PDER?"))
# NOTE: :ADER? could also be used, but :ADER does not cover any
# processing. If using ADER, set PROCESSING_TIME = 0.
#
# NOTE: :PDER? not supported on older Infiniiums. Use :ADER?
# instead.

198 Keysight Infiniium Oscilloscopes Programmer's Guide


Remote Acquisition Synchronization 8

# ----------------------------------------------------------------
# For Average mode, MUST use :ADER? (and then PDER if needed) -
# see "Other Notes" at bottom of this section.
#
# This needs to be changed in two places, one above here, and one
# below....
# ----------------------------------------------------------------

# Poll the oscilloscope until Status (:PDER?) is a one. (This is


# NOT a "Serial Poll.")
while Status == ACQ_NOT_DONE and \
(time.clock() - StartTime <= MAX_TIME_TO_WAIT):
# This loop is never entered if the acquisition completes
# immediately. Exits if Status == 1 or MAX_TIME_TO_WAIT exceeded
time.sleep(0.1) # Pause 100 ms to prevent excessive queries
Status = int(KsInfiniiumScope.query(":PDER?")) # Read status
# Loop exists when Status != NOT_DONE, that is, it exits the
# loop when it is DONE

if Status == ACQ_DONE: # Acquisition fully completed


sys.stdout.write("Signal acquired.\n")
else: # Acquisition failed for some reason
print "Max wait time exceeded."
print "This can happen if there was not enough time to arm the "
\
"oscilloscope, there was no trigger event, the " \
"oscilloscope did not finish acquiring, or the " \
"processing did not finish."
print "Visually check the oscilloscope for a trigger, adjust " \
"settings accordingly.\n"
print "Properly closing the oscilloscope connection and " \
"exiting the script.\n"

# Always stop the oscilloscope when making any changes.


KsInfiniiumScope.query(":STOP;*OPC?")
KsInfiniiumScope.clear() # Clear communications interface
KsInfiniiumScope.close() # Close communications interface
sys.exit("Exiting script.")

# ====================================================================
# Do Something with data... save, export, additional analysis...
# ====================================================================
def do_something_with_data():

# For example, make a peak-peak voltage measurement on channel 1:


Vpp_Ch1 = \
str(KsInfiniiumScope.query("MEASure:VPP? CHANnel1")).strip("\n")
# The result comes back with a newline, so remove it with .strip("\n")
print "Vpp Ch1 = " + Vpp_Ch1 + " V\n"

# ====================================================================
# Main code
# ====================================================================

Keysight Infiniium Oscilloscopes Programmer's Guide 199


8 Remote Acquisition Synchronization

# Connect and initialize oscilloscope


# --------------------------------------------------------------------
# Define VISA Resource Manager & Install directory
rm = visa.ResourceManager('C:\\Windows\\System32\\visa32.dll')

# Define and open the oscilloscope using the VISA address


KsInfiniiumScope = rm.open_resource(VISA_ADDRESS)

# Set the Global Timeout


KsInfiniiumScope.timeout = GLOBAL_TOUT

# Clear the instrument bus


KsInfiniiumScope.clear()

# Clear all status registers and errors


KsInfiniiumScope.write("*CLS")

# Set up the oscilloscope


# --------------------------------------------------------------------
# Note that you would normally perform a reset (default setup) if you
# were to create the setup from scratch... But here we will use the
# oscilloscope "as is" for the most part.
# KsInfiniiumScope.query("*RST;*OPC?") # Resets the oscilloscope

# Always stop the oscilloscope when making any changes.


KsInfiniiumScope.query(":STOP;*OPC?")

# For this example, the oscilloscope will be forced to trigger on the


# (AC input power) LINE voltage so something happens.
# Always use normal trigger sweep, never auto.
KsInfiniiumScope.write(":TRIGger:SWEep TRIGgered")
# This line simply gives the oscilloscope something to trigger on.
KsInfiniiumScope.query(":TRIGger:EDGE:SOURce LINE;*OPC?")

# Clear the display (so you can see the waveform being acquired -
# otherwise, there is no need for this).
KsInfiniiumScope.write(":CDISplay")

# Calculate acquisition timeout/wait time by short, overestimate method


# --------------------------------------------------------------------

# Need to get some info


HO = float(KsInfiniiumScope.query(":TRIGger:HOLDoff?"))
SR = float(KsInfiniiumScope.query(":ACQuire:SRATe:ANALog?"))
N_SAMPLES = float(KsInfiniiumScope.query(":ACQuire:POINts:ANALog?"))
# Note that the :WAVeform:POINts? command will also return interpolated
# values, so it is not useful.
T_RANGE = N_SAMPLES / SR
# Note that using the :TIMebase:RANGe? command really only tells us
# what the oscilloscope is on screen, but Infiniium can be set up to
# capture off-screen data.
T_POSITION = float(KsInfiniiumScope.query(":TIMebase:POSition?"))

# Determine if Average mode is on


AVERAGE_MODE_STATE = \
str(KsInfiniiumScope.query(":ACQuire:AVERage?").strip("\n"))
if AVERAGE_MODE_STATE == "1":

200 Keysight Infiniium Oscilloscopes Programmer's Guide


Remote Acquisition Synchronization 8

N_AVERAGES = \
float(KsInfiniiumScope.query(":ACQuire:AVERage:COUNt?"))
else:
N_AVERAGES = 1

# Determine if Segmented Memory or Equivalent time modes are on.


ACQ_MODE = str(KsInfiniiumScope.query(":ACQuire:MODE?").strip("\n"))
ETIME_MULTIPLIER = 1 # For Equivalent Time mode.
# This is a multiplier used as Equivalent time mode builds up over
# numerous acquisitions.
if ACQ_MODE == "SEGM" or ACQ_MODE == "SEGH":
N_SEGMENTS = \
float(KsInfiniiumScope.query(":ACQuire:SEGMented:COUNt?"))
elif ACQ_MODE != "ETIM":
N_SEGMENTS = 1
elif ACQ_MODE == "ETIM":
N_SEGMENTS = 1
ETIME_MULTIPLIER = 5 # Total guess. Few use this mode.
sys.stdout.write("Timeout calculation of Equivalent time mode "
"not thoroughly tested.")

# Calculate timeout from above info.


# Recall that PyVISA timeouts are in ms, so multiply by 1000.
SCOPE_ACQUISITION_TIME_OUT = (float(TIME_TO_TRIGGER)*1.1 +
float(PROCESSING_TIME)*1.2 +
(T_RANGE*2.0 + abs(T_POSITION)*2.0 + HO*1.1 +
float(TIME_BETWEEN_TRIGGERS)*1.1)*N_SEGMENTS*N_AVERAGES*
ETIME_MULTIPLIER)*1000.0

# Ensure the timeout is no less than 10 seconds


if SCOPE_ACQUISITION_TIME_OUT < 10000.0:
SCOPE_ACQUISITION_TIME_OUT = 10000.0

# Acquire Signal
# --------------------------------------------------------------------
# Choose blocking_method or polling_method. These were defined as
# functions in case you want to use them repeatedly.
blocking_method()
do_something_with_data()

polling_method()
do_something_with_data()

# End of Script
# --------------------------------------------------------------------
KsInfiniiumScope.clear() # Clear communications interface
KsInfiniiumScope.close() # Close communications interface
print "All done."

Keysight Infiniium Oscilloscopes Programmer's Guide 201


8 Remote Acquisition Synchronization

Single Shot Device Under Test (DUT)


The examples in the previous section (Acquisition Synchronization) assumed the
DUT is continually running and, therefore, the oscilloscope will have more than
one opportunity to trigger. With a single shot DUT, there is only one opportunity
for the oscilloscope to trigger so it is necessary for the oscilloscope to be armed
and ready before the DUT is enabled.

The blocking :DIGitize command cannot be used for a single shot DUT because once the
N OT E
:DIGitize command is issued, the oscilloscope is blocked from any further commands until the
acquisition is complete.

This example is the same as the previous example with the addition of checking for
the armed event status.
Example TIMEOUT = 1000ms
currentTime = 0ms

// Setup
:STOP; *OPC? // if not stopped
:ADER? // clear ADER event

// Acquire
:SINGle

while(AER? == 0)
{
wait(100ms)
}

//oscilloscope is armed and ready, enable DUT here

while(currentTime <= TIMEOUT)


{
if (:ADER? == 1)
{
break;
}
else
{
// Use small wait to prevent excessive
// queries to the oscilloscope
wait (100ms)
currentTime += 100ms
}
}

//Get results
if (currentTime < TIMEOUT)
{
:MEASure:RISetime?
}

202 Keysight Infiniium Oscilloscopes Programmer's Guide


Remote Acquisition Synchronization 8

Averaging Acquisition Synchronization


When averaging, it is necessary to know when the average count has been
reached. Since an ADER/PDER event occurs for every acquisition in the average
count, these commands cannot be used. The :SINGle command does not average.
If it is known that a trigger will occur, a :DIG will acquire the complete number of
averages, but if the number of averages is large, it may cause a timeout on the
connection.
The example below acquires the desired number of averages and then stops
running.
Example AVERAGE_COUNT = 256

:STOP;*OPC?
:TER?
:ACQ:AVERage:COUNt AVERAGE_COUNT
:ACQ:AVERage ON
:RUN

//Assume the oscilloscope will trigger, if not put a check here

while (:WAV:COUNT? < AVERAGE_COUNT)


{
wait(100ms)
}

:STOP;*OPC?

// Get results

Keysight Infiniium Oscilloscopes Programmer's Guide 203


8 Remote Acquisition Synchronization

204 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

9 Programming Conventions
Truncation Rule / 206
The Command Tree / 207
Infinity Representation / 210
Response Generation / 211
EOI / 212

This chapter describes conventions used to program the Infiniium-Series


Oscilloscopes, and conventions used throughout this manual. A description of the
command tree and command tree traversal is also included.

205
9 Programming Conventions

Truncation Rule
The truncation rule is used to produce the short form (abbreviated spelling) for the
mnemonics used in the programming headers and parameter arguments.

N OT E Command Truncation Rule


The mnemonic is the first four characters of the keyword, unless the fourth character is a
vowel. Then the mnemonic is the first three characters of the keyword. If the length of the
keyword is four characters or less, this rule does not apply, and the short form is the same as
the long form.

This document's command descriptions shows how the truncation rule is applied
to commands.

Table 5 Mnemonic Truncation

Long Form Short Form How the Rule is Applied


RANGe RANG Short form is the first four characters of the
keyword.
PATTern PATT Short form is the first four characters of the
keyword.
DISK DISK Short form is the same as the long form.
DELay DEL Fourth character is a vowel; short form is the
first three characters.

206 Keysight Infiniium Oscilloscopes Programmer's Guide


Programming Conventions 9

The Command Tree


The command tree in this document's table of contents shows all of the
commands in the Infiniium-Series Oscilloscopes and the relationship of the
commands to each other. The IEEE 488.2 common commands are not part of the
command tree because they do not affect the position of the parser within the
tree.
When a program message terminator (<NL>, linefeed - ASCII decimal 10) or a
leading colon (:) is sent to the oscilloscope, the parser is set to the "root" of the
command tree.
• "Command Types" on page 207
• "Tree Traversal Rules" on page 207
• "Tree Traversal Examples" on page 208

Command Types
The commands in this oscilloscope can be viewed as three types: common
commands, root level commands, and subsystem commands.
• Common commands are commands defined by IEEE 488.2 and control some
functions that are common to all IEEE 488.2 instruments. These commands are
independent of the tree and do not affect the position of the parser within the
tree. *RST is an example of a common command.
• Root level commands control many of the basic functions of the oscilloscope.
These commands reside at the root of the command tree. They can always be
parsed if they occur at the beginning of a program message or are preceded by
a colon. Unlike common commands, root level commands place the parser
back at the root of the command tree. AUToscale is an example of a root level
command.
• Subsystem commands are grouped together under a common node of the
command tree, such as the TIMebase commands. You may select only one
subsystem at a given time. When you turn on the oscilloscope initially, the
command parser is set to the root of the command tree and no subsystem is
selected.

Tree Traversal Rules


Command headers are created by traversing down the command tree. A legal
command header from the command tree would be :TIMebase:RANGe. This is
referred to as a compound header. A compound header is a header made up of
two or more mnemonics separated by colons. The compound header contains no
spaces. The following rules apply to traversing the tree.

Keysight Infiniium Oscilloscopes Programmer's Guide 207


9 Programming Conventions

N OT E Tree Traversal Rules


A leading colon or a program message terminator (<NL> or EOI true on the last byte) places
the parser at the root of the command tree. A leading colon is a colon that is the first character
of a program header. Executing a subsystem command places the oscilloscope in that
subsystem until a leading colon or a program message terminator is found.

In the command tree, use the last mnemonic in the compound header as a
reference point (for example, RANGe). Then find the last colon above that
mnemonic (TIMebase:). That is the point where the parser resides. You can send
any command below this point within the current program message without
sending the mnemonics which appear above them (for example, REFerence).

Tree Traversal Examples


The WriteString() methods in the following examples are written using Visual Basic
for Application (VBA) with the VISA COM library.
Example 1 Consider the following command:
myScope.WriteString ":CHANnel1:RANGe 0.5;OFFSet 0"

The colon between CHANnel1 and RANGe is necessary because


:CHANnel1:RANGe is a compound command. The semicolon between the RANGe
command and the OFFSet command is required to separate the two commands or
operations. The OFFSet command does not need :CHANnel1 preceding it because
the :CHANnel1:RANGe command sets the parser to the CHANnel1 node in the
tree.
Example 2 Consider the following commands:
myScope.WriteString ":TIMebase:REFerence CENTer;POSition 0.00001"

or
myScope.WriteString ":TIMebase:REFerence CENTer"
myScope.WriteString ":TIMebase:POSition 0.00001"

In the first line of example 2, the "subsystem selector" is implied for the POSITION
command in the compound command.
A second way to send these commands is shown in the second part of the
example. Because the program message terminator places the parser back at the
root of the command tree, you must reselect TIMEBASE to re-enter the TIMEBASE
node before sending the POSITION command.
Example 3 Consider the following command:
myScope.WriteString ":TIMebase:REFerence CENTer;:CHANnel1:OFFSet 0"

208 Keysight Infiniium Oscilloscopes Programmer's Guide


Programming Conventions 9

In this example, the leading colon before CHANnel1 tells the parser to go back to
the root of the command tree. The parser can then recognize the
:CHANnel1:OFFSet command and enter the correct node.

Keysight Infiniium Oscilloscopes Programmer's Guide 209


9 Programming Conventions

Infinity Representation
The representation for infinity for this oscilloscope is 9.99999E+37. This is also the
value returned when a measurement cannot be made.

210 Keysight Infiniium Oscilloscopes Programmer's Guide


Programming Conventions 9

Response Generation
As defined by IEEE 488.2, query responses may be buffered for these reasons:
• When the query is parsed by the oscilloscope.
• When the computer addresses the oscilloscope to talk so that it may read the
response.
This oscilloscope buffers responses to a query when the query is parsed.

Keysight Infiniium Oscilloscopes Programmer's Guide 211


9 Programming Conventions

EOI
The EOI bus control line follows the IEEE 488.2 standard without exception.

212 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

10 Acquire Commands
:ACQuire:AVERage / 215
:ACQuire[:AVERage]:COUNt / 216
:ACQuire:BANDwidth / 217
:ACQuire:BANDwidth:FRAMe? / 219
:ACQuire:BANDwidth:TESTLIMITS? / 220
:ACQuire:COMPlete / 221
:ACQuire:COMPlete:STATe / 223
:ACQuire:HRESolution / 224
:ACQuire:INTerpolate / 226
:ACQuire:MODE / 227
:ACQuire:POINts[:ANALog] — Memory depth / 229
:ACQuire:POINts:AUTO / 231
:ACQuire:POINts:DIGital? / 232
:ACQuire:POINts:TESTLIMITS? / 233
:ACQuire:REDGe — RealEdge Channel Inputs (90000 Q-Series, Z-Series) / 234
:ACQuire:RESPonse (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series,
Z-Series) / 235
:ACQuire:SEGMented:AUToplay / 236
:ACQuire:SEGMented:COUNt / 237
:ACQuire:SEGMented:INDex / 238
:ACQuire:SEGMented:PLAY / 239
:ACQuire:SEGMented:PRATe / 240
:ACQuire:SEGMented:TTAGs / 241
:ACQuire:SRATe[:ANALog] — Analog Sample Rate / 242
:ACQuire:SRATe[:ANALog]:AUTO / 243
:ACQuire:SRATe:DIGital — Digital Channels Sample Rate / 244
:ACQuire:SRATe:DIGital:AUTO / 245
:ACQuire:SRATe:TESTLIMITS? / 246

213
10 Acquire Commands

The ACQuire subsystem commands set up conditions for executing a :DIGitize root
level command to acquire waveform data. The commands in this subsystem select
the type of data, the number of averages, and the number of data points.

214 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:AVERage
Command :ACQuire:AVERage {{ON|1} | {OFF|0}}

The :ACQuire:AVERage command enables or disables averaging. When ON, the


oscilloscope acquires multiple data values for each time bucket, and averages
them. When OFF, averaging is disabled. To set the number of averages, use the
:ACQuire:AVERage:COUNt command described next.
Averaging is not available in PDETect mode.
The :MTESt:AVERage command performs the same function as this command.
Example This example turns averaging on.
myScope.WriteString ":ACQuire:AVERage ON"

Query :ACQuire:AVERage?

The :ACQuire:AVERage? query returns the current setting for averaging.


Returned Format [:ACQuire:AVERAGE] {1|0}<NL>

Example This example places the current settings for averaging into the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":ACQuire:AVERage?"
strSetting = myScope.ReadString
Debug.Print strSetting

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 215


10 Acquire Commands

:ACQuire[:AVERage]:COUNt
Command :ACQuire[:AVERage]:COUNt <count_value>

The :ACQuire[:AVERage]:COUNt command sets the number of averages for the


waveforms. In the AVERage mode, the :ACQuire[:AVERage]:COUNt command
specifies the number of data values to be averaged for each time bucket before
the acquisition is considered complete for that time bucket.
The :MTESt:AVERage:COUNt command performs the same function as this
command.
<count_value> An integer, 2 to 65,534, specifying the number of data values to be averaged.
Example This example specifies that 16 data values must be averaged for each time bucket
to be considered complete. The number of time buckets that must be complete for
the acquisition to be considered complete is specified by the :ACQuire:COMPlete
command.
myScope.WriteString ":ACQuire:COUNt 16"

Query :ACQuire[:AVERage]:COUNt?

The :ACQuire[:AVERage]:COUNt? query returns the currently selected count value.


Returned Format [:ACQuire[:AVERage]:COUNt] <value><NL>

<value> An integer, 2 to 65,534, specifying the number of data values to be averaged.


Example This example checks the currently selected count value and places that value in
the string variable, strResult. The program then prints the contents of the variable
to the computer's screen.
Dim strResult As String
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:AVERage:COUNt?"
strResult = myScope.ReadString
Debug.Print strResult

History Legacy command (existed before version 3.10).

216 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:BANDwidth
Command :ACQuire:BANDwidth {AUTO | MAX | <bandwidth>}

The :ACQuire:BANDwidth command changes the bandwidth frequency control for


the acquisition system.
• AUTO — The bandwidth is automatically selected based on the sample rate
setting in order to make a good a trade-off between bandwidth, noise, and
aliasing.
• MAX — Sets the oscilloscope to the hardware bandwidth limit and disables the
bandwidth filter.
• <bandwidth> — a real number representing the bandwidth of the bandwidth
filter whose range of values depends on the model number of your
oscilloscope.

Model Bandwidth Filter Values


DSOX/DSAX96204Q, The maximum bandwidth down to 1 GHz in 1 GHz increments.
DSAZ/DSOZ634A
DSOX/DSAX95004Q,
DSAZ/DSOZ504A
DSOX/DSAX93304Q,
DSAZ/DSOZ334A
DSOX/DSAX92504Q,
DSAZ/DSOZ254A
DSOX/DSAX92004Q,
DSAZ/DSOZ204A
DSOX/DSAX93204A The maximum bandwidth down to 1 GHz in 1 GHz increments.
DSOX/DSAX92804A
DSOX/DSAX92504A
DSOX/DSAX92004A
DSOX/DSAX91604A
DSO/DSA91304A 13E09, 12E09, 10E09, 8E09, 6E09, 4E09, 3E09, 2.5E09, 2E09, 1E09
DSO/DSA91204A 12E09, 10E09, 8E09, 6E09, 4E09, 3E09, 2.5E09, 2E09, 1E09
DSO/DSA90804A 8E09, 6E09, 4E09, 3E09, 2.5E09, 2E09, 1E09
DSO/DSA90604A 6E09, 4E09, 3E09, 2.5E09, 2E09, 1E09
DSO/DSA90404A 4E09, 3E09, 2.5E09, 2E09, 1E09
DSO/DSA90254A 2.5E09, 2E09, 1E09

Keysight Infiniium Oscilloscopes Programmer's Guide 217


10 Acquire Commands

Model Bandwidth Filter Values


DSOS/MSOS804A The maximum bandwidth down to 500 MHz in 500 MHz increments,
250 MHz.
DSOS/MSOS604A
DSOS/MSOS404A
DSOS/MSOS254A
DSOS/MSOS204A
DSOS/MSOS104A
DSOS/MSOS054A
DSO/MSO9404A 4E09, 3.5E09, 3E09, 2.5E09, 2E09, 1.5E09, 1E09, 5E08
DSO/MSO9254A 2.5E09, 2E09, 1.5E09, 1E09, 5E08
DSO/MSO9104A 1E09, 5E08
DSO/MSO9064A The command is not valid for this model oscilloscope.

The DSO/MSO 9000 Series oscilloscopes do not have AUTO and MAX modes. Sending the
N OT E
:ACQuire:BANDwidth command with these parameters disables the global bandwidth limit.
Sending the :ACQuire:BANDwidth command with specific bandwidth values enables the
global bandwidth limit.

Query :ACQuire:BANDwidth?

The :ACQuire:BANDwidth? query returns the bandwidth setting of the bandwidth


control.
Returned Format [:ACQuire:BANDwidth] <bandwidth><NL>

History New in version 3.10.


Version 4.00: Added a MAX option for selecting the maximum bandwidth.

218 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:BANDwidth:FRAMe?
Query :ACQuire:BANDwidth:FRAMe?

The :ACQuire:BANDwidth:FRAMe? query returns the maximum bandwidth


associated with oscilloscope model.
Returned Format <bandwidth><NL>

<bandwidth> ::= max. BW of oscilloscope model

History New in version 5.20.

Keysight Infiniium Oscilloscopes Programmer's Guide 219


10 Acquire Commands

:ACQuire:BANDwidth:TESTLIMITS?
Query :ACQuire:BANDwidth:TESTLIMITS?

The :ACQuire:BANDwidth:TESTLIMITS? query returns the oscilloscope's


acquisition bandwidth maximum and minimum limits.
Returned Format <num_parms>,<<type>><min>:<max><NL>

<num_parms> Number of parameters, always 1 for this query.


<type> Type of values returned, always "<numeric>" for this query.
<min> Lower bandwidth limit value.
<max> Upper bandwidth limit value.
See Also • ":ACQuire:BANDwidth" on page 217
• ":ACQuire:BANDwidth:FRAMe?" on page 219
• ":ACQuire:POINts:TESTLIMITS?" on page 233
• ":ACQuire:SRATe:TESTLIMITS?" on page 246
History New in version 5.60.

220 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:COMPlete
Command :ACQuire:COMPlete <percent>

The :ACQuire:COMPlete command specifies how many of the data point storage
bins (time buckets) in the waveform record must contain a waveform sample
before a measurement will be made. For example, if the command
:ACQuire:COMPlete 60 has been sent, 60% of the storage bins in the waveform
record must contain a waveform data sample before a measurement is made.
• If :ACQuire:AVERage is set to OFF, the oscilloscope only needs one value per
time bucket for that time bucket to be considered full.
• If :ACQuire:AVERage is set to ON, each time bucket must have n hits for it to be
considered full, where n is the value set by :ACQuire:AVERage:COUNt.
Due to the nature of real time acquisition, 100% of the waveform record bins are
filled after each trigger event, and all of the previous data in the record is replaced
by new data when :ACQuire:AVERage is off. Hence, the complete mode really has
no effect, and the behavior of the oscilloscope is the same as when the completion
criteria is set to 100% (this is the same as in PDETect mode). When
:ACQuire:AVERage is on, all of the previous data in the record is replaced by new
data.
The range of the :ACQuire:COMPlete command is 0 to 100 and indicates the
percentage of time buckets that must be full before the acquisition is considered
complete. If the complete value is set to 100%, all time buckets must contain data
for the acquisition to be considered complete. If the complete value is set to 0,
then one acquisition cycle will take place. Completion is set by default setup or
*RST to 90%. Autoscale changes it to 100%.
<percent> An integer, 0 to 100, representing the percentage of storage bins (time buckets)
that must be full before an acquisition is considered complete.
Example This example sets the completion criteria for the next acquisition to 90%.
myScope.WriteString ":ACQuire:COMPlete 90"

Query :ACQuire:COMPlete?

The :ACQuire:COMPlete? query returns the completion criteria.


Returned Format [:ACQuire:COMPlete] <percent><NL>

<percent> An integer, 0 to 100, representing the percentage of time buckets that must be full
before an acquisition is considered complete.
Example This example reads the completion criteria and places the result in the variable,
varPercent. Then, it prints the content of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:COMPlete?"
varPercent = myScope.ReadNumber
Debug.Print FormatNumber(varPercent, 0)

Keysight Infiniium Oscilloscopes Programmer's Guide 221


10 Acquire Commands

History Legacy command (existed before version 3.10).

222 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:COMPlete:STATe
Command :ACQuire:COMPlete:STATe {{ON | 1} | {OFF | 0}}

The :ACQuire:COMPlete:STATe command specifies whether acquisition averaging


should complete before measurements are made.
This command maps to the Wait for channel average to complete for measurements
check box in the front panel user interface's Measurement Setup dialog box,
General tab.

The :ACQuire:COMPlete:STATe command is used only when the oscilloscope is running and a
N OT E
digitize operation is not being performed. The :DIGitize command temporarily overrides the
setting of this mode and forces it to ON.

ON When ON, the oscilloscope waits for an acquisition average to complete before
measurements are taken. If you have averaging enabled (using the
:ACQuire:AVERage command), setting :ACQuire:COMPlete:STATe ON forces the
measurement calculations to wait until the average is computed. This lets you
filter out noise in your waveform before measurements are made.
OFF When OFF, the oscilloscope makes measurements without waiting for an
acquisition average to complete.
Query :ACQuire:COMPlete:STATe?

The :ACQuire:COMPlete:STATe? query returns the :ACQuire:COMPlete:STATe


setting.
History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 223


10 Acquire Commands

:ACQuire:HRESolution
Command :ACQuire:HRESolution {AUTO | BITS9 | BITS10 | BITS11 | BITS12
| BITF11 | BITF12 | BITF13 | BITF14 | BITF15 | BITF16}

When :ACQuire:MODE is set to HRESolution or SEGHres, the


:ACQuire:HRESolution command sets the desired minimum bit resolution.
• AUTO — the number of bits of vertical resolution is determined by the sampling
rate, which can be controlled manually by the :ACQuire:SRATe:ANALog
command or automatically when adjusting :TIMebase:SCALe (or
:TIMebase:RANGe).
• BITS9, BITS10, BITS11, BITS12 — selects the desired minimum number of bits
of vertical resolution (which can affect the sampling rate).
• BITF11, BITF12, BITF13, BITF14, BITF15, BITF16 — on S-Series oscilloscopes
only, these options force the specified number of bits of vertical resolution.
These options also disable the manual sample rate setting (see
:ACQuire:SRATe[:ANALog]:AUTO), and they are not available in roll mode (see
:TIMebase:ROLL:ENABLE).

Some of the BITS settings may not be valid in certain 9000H Series models.
N OT E

Example This example sets the bit resolution setting to a minimum of 11 bits.
myScope.WriteString ":ACQuire:HRESolution BITS11"

Query :ACQuire:HRESolution?

The :ACQuire:HRESolution? query returns the bit resolution setting.


Returned Format [:ACQuire:HRESolution] {AUTO | BITS9 | BITS10 | BITS11 | BITS12
| BITF11 | BITF12 | BITF13 | BITF14 | BITF15 | BITF16}<NL>

Example This example places the current bit resolution setting in the string variable,
strBitRes, then prints the contents of the variable to the computer's screen.
Dim strBitRes As String ' Dimension variable.
myScope.WriteString ":ACQuire:HRESolution?"
strBitRes = myScope.ReadString
Debug.Print strBitRes

See Also • ":ACQuire:MODE" on page 227


• ":ACQuire:SRATe[:ANALog] — Analog Sample Rate" on page 242
• ":ACQuire:SRATe[:ANALog]:AUTO" on page 243
• ":TIMebase:SCALe" on page 1246
• ":TIMebase:RANGe" on page 1241
• ":TIMebase:ROLL:ENABLE" on page 1245

224 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

History Legacy command (existed before version 3.10).


Version 6.20: On S-Series oscilloscopes only, the BITF11, BITF12, BITF13, BITF14,
BITF15, and BITF16 options have been added to force the specified number of bits
of vertical resolution.

Keysight Infiniium Oscilloscopes Programmer's Guide 225


10 Acquire Commands

:ACQuire:INTerpolate
Command :ACQuire:INTerpolate {{ON | 1} | {OFF | 0} | INT1 | INT2 | INT4 | INT8
| INT16}

The :ACQuire:INTerpolate command turns the sin(x)/x interpolation filter on or off


when the oscilloscope is in one of the real time sampling modes. You can also
specify the 1, 2, 4, 8, or 16 point Sin(x)/x interpolation ratios using INT1, INT2,
INT4, INT8, or INT16. When ON, the number of interpolation points is
automatically determined.
Query :ACQuire:INTerpolate?

The :ACQuire:INTerpolate? query returns the current state of the sin(x)/x


interpolation filter control.
Returned Format [:ACQuire:INTerpolate] {1 | 0 | INT1 | INT2 | INT4 | INT8 | INT16}<NL>

History Legacy command (existed before version 3.10).


Version 3.10: Added the INT1, INT2, INT4, INT8, INT16 options for specifying the 1,
2, 4, 8, or 16 point Sin(x)/x interpolation ratios.

226 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:MODE
Command :ACQuire:MODE {ETIMe | RTIMe | PDETect | HRESolution | SEGMented
| SEGPdetect | SEGHres}

The :ACQuire:MODE command sets the sampling/acquisition mode of the


oscilloscope.

In the 9000H Series oscilloscopes, HRESolution and SEGHres are the only valid options.
N OT E

ETIMe In Equivalent Time mode, the data record is acquired over multiple trigger events.
RTIMe In Real Time Normal mode, the complete data record is acquired on a single
trigger event.
PDETect In Real Time Peak Detect mode, the oscilloscope acquires all of the waveform data
points during one trigger event. The data is acquired at the fastest sample rate of
the oscilloscope regardless of the horizontal scale setting. The sampling rate
control then shows the storage rate into the channel memory rather than the
sampling rate. The storage rate determines the number of data points per data
region. From each data region, four sample points are chosen to be displayed for
each time column. The four sample points chosen from each data region are:
• the minimum voltage value sample
• the maximum voltage value sample
• a randomly selected sample
• an equally spaced sample
The number of samples per data region is calculated using the equation:

Sampling Rate
Number of Samples = Storage Rate

The remainder of the samples are not used for display purposes.
HRESolution In Real Time High Resolution mode, the oscilloscope acquires all the waveform
data points during one trigger event and averages them thus reducing noise and
improving voltage resolution. The data is acquired at the fastest sample rate of the
oscilloscope regardless of the horizontal scale setting. The sampling rate control
then shows the storage rate into the channel memory rather than the sampling
rate. The number of samples that are averaged together per data region is
calculated using the equation

Sampling Rate
Number of Samples = Storage Rate

Keysight Infiniium Oscilloscopes Programmer's Guide 227


10 Acquire Commands

This number determines how many samples are averaged together to form the
16-bit samples that are stored into the channel memories.
To set the desired bits of vertical resolution, see ":ACQuire:HRESolution" on
page 224.
SEGMented In this sampling mode you can view waveform events that are separated by long
periods of time without capturing waveform events that are not of interest to you.
SEGPdetect Enables Peak Detect Segmented mode.
SEGHres Enables High Resolution Segmented mode.
To set the desired bits of vertical resolution, see ":ACQuire:HRESolution" on
page 224.
Example This example sets the acquisition mode to Real Time Normal.
myScope.WriteString ":ACQuire:MODE RTIMe"

Query :ACQuire:MODE?

The :ACQuire:MODE? query returns the current acquisition sampling mode.


Returned Format [:ACQuire:MODE] {ETIM | RTIM | PDET | HRES | SEGM | SEGP | SEGH}<NL>

Example This example places the current acquisition mode in the string variable, strMode,
then prints the contents of the variable to the computer's screen.
Dim strMode As String ' Dimension variable.
myScope.WriteString ":ACQuire:MODE?"
strMode = myScope.ReadString
Debug.Print strMode

History Legacy command (existed before version 3.10).

228 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:POINts[:ANALog] — Memory depth


Command :ACQuire:POINts[:ANALog] {AUTO | <points_value>}

The :ACQuire:POINts[:ANALog] command sets the requested analog memory


depth for an acquisition. Before you download data from the oscilloscope to your
computer, always query the points value with the :WAVeform:POINts? query or
:WAVeform:PREamble? query to determine the actual number of acquired points.
You can set the points value to AUTO, which allows the oscilloscope to select the
optimum memory depth and display update rate.
<points_value> An integer representing the memory depth.
The range of points available for a channel depends on the oscilloscope settings of
sampling mode, sampling rate, and trigger sweep.
Interaction If you assign a sample rate value with :ACQuire:SRATe[:ANALog] or a points value
between using :ACQuire:POINts[:ANALog] the following interactions will occur. "Manual"
:ACQuire:SRATe[:A means you are setting a non-AUTO value for SRATe or POINts.
NALog] and
:ACQuire:POINts[:A
SRATe POINts Result
NALog]
AUTO Manual POINts value takes precedence
(sample rate is limited)
Manual AUTO SRATe value takes precedence
(memory depth is limited)
Manual Manual SRATe value takes precedence
(memory depth is limited)

Example This example sets the memory depth to 500 points.


myScope.WriteString ":ACQuire:POINts:ANALog 500"

Query :ACQuire:POINts[:ANALog]?

The :ACQuire:POINts[:ANALog]? query returns the value of the analog memory


depth control.
Returned Format [:ACQuire:POINts:ANALog] <points_value><NL>

Example This example checks the current setting for memory depth and places the result in
the variable, varLength. Then the program prints the contents of the variable to
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:POINts:ANALog?"
varLength = myScope.ReadNumber
Debug.Print FormatNumber(varLength, 0)

See Also • ":WAVeform:DATA?" on page 1463

Keysight Infiniium Oscilloscopes Programmer's Guide 229


10 Acquire Commands

History Legacy command (existed before version 3.10).

230 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:POINts:AUTO
Command :ACQuire:POINts:AUTO {{ON | 1} |{OFF | 0}}

The :ACQuire:POINts:AUTO command enables (automatic) or disables (manual)


the automatic memory depth selection control. When enabled, the oscilloscope
chooses a memory depth that optimizes the amount of waveform data and the
display update rate. When disabled, you can select the amount of memory using
the :ACQuire:POINts command.
Example This example sets the automatic memory depth control to off.
myScope.WriteString ":ACQuire:POINts:AUTO OFF"

Query :ACQuire:POINts:AUTO?

The :ACQuire:POINts:AUTO? query returns the automatic memory depth control


state.
Returned Format [:ACQuire:POINts:AUTO] {1 | 0}<NL>

Example This example checks the current setting for automatic memory depth control and
places the result in the variable, varState. Then the program prints the contents of
the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:POINts:AUTO?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)

See Also :WAVeform:DATA?


History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 231


10 Acquire Commands

:ACQuire:POINts:DIGital?
Query :ACQuire:POINts:DIGital?

The :ACQuire:POINts:DIGital query returns the current memory depth for the
digital channels (MSO models only).
History Legacy command (existed before version 3.10).

232 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:POINts:TESTLIMITS?
Query :ACQuire:POINts:TESTLIMITS?

The :ACQuire:POINts:TESTLIMITS? query returns the oscilloscope's acquisition


points maximum and minimum limits.
Returned Format <num_parms>,<<type>><min>:<max><NL>

<num_parms> Number of parameters, always 1 for this query.


<type> Type of values returned, always "<numeric>" for this query.
<min> Lower points limit value.
<max> Upper points limit value.
See Also • ":ACQuire:POINts[:ANALog] — Memory depth" on page 229
• ":ACQuire:POINts:AUTO" on page 231
• ":ACQuire:BANDwidth:TESTLIMITS?" on page 220
• ":ACQuire:SRATe:TESTLIMITS?" on page 246
History New in version 5.60.

Keysight Infiniium Oscilloscopes Programmer's Guide 233


10 Acquire Commands

:ACQuire:REDGe — RealEdge Channel Inputs (90000 Q-Series, Z-Series)


Command
This command is available for the 90000 Q-Series and Z-Series models whose bandwidths
N OT E
are greater than 33 GHz.

:ACQuire:REDGe {{ON | 1} | {OFF | 0}}

The :ACQuire:REDGe command enables or disables the RealEdge channel inputs.


When RealEdge channel inputs are enabled, the :CHANnel1 and :CHANnel3
commands/queries work for the oscilloscope's 1R and 3R channel inputs, and the
:CHANnel2 and :CHANnel4 commands give "hardware missing" or "undefined
header" messages.
Also when RealEdge channel inputs are enabled:
• The sampling rate is fixed at 160 GSa/s.
• Real Time Normal is the only acquisition mode available.
Example This example enables the RealEdge channel inputs.
myScope.WriteString ":ACQuire:REDGe ON"

Query :ACQuire:REDGe?

The :ACQuire:REDGe? query returns the current setting for RealEdge channel
inputs.
Returned Format [:ACQuire:REDGe] {1 | 0}<NL>

Example This example places the current setting for RealEdge channel inputs in the string
variable, strRealEdge, then prints the contents of the variable to the computer's
screen.
Dim strRealEdge As String ' Dimension variable.
myScope.WriteString ":ACQuire:REDGe?"
strSample = myScope.ReadString
Debug.Print strRealEdge

History New in version 4.00.

234 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:RESPonse (90000A Series, 90000 X-Series, V-Series, 90000


Q-Series, Z-Series)
Command :ACQuire:RESPonse {FLATmag | GAUSsianmag}

The Flat Magnitude filter is the default one and is the filter typically used on
Infiniium oscilloscopes. The Gaussian Magnitude filter eliminates all ringing
(preshoot or overshoot) caused by the oscilloscope's response. Therefore, any
ringing you see in the displayed signal is actually in your signal and is not caused
by the oscilloscope. The main drawback to using the Gaussian Magnitude Filter is
the decrease in bandwidth. Please consult the Flat Magnitude / Magnitude
Magnitude Filters topic in the help system for specific information regarding the
decrease in bandwidth.
Example This example turns on the Gaussian Magnitude filter.
myScope.WriteString ":ACQuire:RESPonse GAUSsianmag"

Query :ACQuire:RESPonse?

The :ACQuire:RESPonse? query returns the current filter being used.


Returned Format [:ACQ:RESP] {FLAT | GAUS}<NL>

Example This example checks the current filter setting and places the result in the variable,
state. Then the program prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:RESPonse?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 235


10 Acquire Commands

:ACQuire:SEGMented:AUToplay
Command :ACQuire:SEGMented:AUToplay {{0 | OFF} | {1 | ON}}

The :ACQuire:SEGMented:AUToplay command specifies whether segments are


automatically played after a segmented memory acquisition.
Query :ACQuire:SEGMented:AUToplay?

The :ACQuire:SEGMented:AUToplay? query returns the segmented memory


autoplay setting.
Returned Format <setting><NL>

<setting> ::= {0 | 1}

See Also • ":ACQuire:MODE" on page 227


• ":ACQuire:SEGMented:PLAY" on page 239
• ":ACQuire:SEGMented:PRATe" on page 240
• ":ACQuire:SEGMented:COUNt" on page 237
• ":ACQuire:SEGMented:INDex" on page 238
• ":ACQuire:SEGMented:TTAGs" on page 241
History New in version 6.00.

236 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:SEGMented:COUNt
Command :ACQuire:SEGMented:COUNt <#segments>

The :ACQuire:SEGMented:COUNt command sets the number of segments to


acquire in the segmented memory mode.
<#segments> An integer representing the number of segments to acquire.
Example This example sets the segmented memory count control to 1000.
myScope.WriteString ":ACQuire:SEGMented:COUNt 1000"

Query :ACQuire:SEGMented:COUNt?

The :ACQuire:SEGMented:COUNT? query returns the number of segments control


value.
Returned Format [:ACQuire:SEGMented:COUNt] <#segments><NL>

Example This example checks the current setting for segmented memory count control and
places the result in the variable, varSegments. Then the program prints the
contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SEGMented:COUNt?"
varSegments = myScope.ReadNumber
Debug.Print FormatNumber(varSegments, 0)

See Also • ":ACQuire:SEGMented:INDex" on page 238


• ":ACQuire:SEGMented:PLAY" on page 239
• ":ACQuire:SEGMented:TTAGs" on page 241
History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 237


10 Acquire Commands

:ACQuire:SEGMented:INDex
Command :ACQuire:SEGMented:INDex <index#>

The :ACQuire:SEGMented:INDex command sets the index number for the segment
that you want to display on screen in the segmented memory mode. If an index
value larger than the total number of acquired segments is sent, an error occurs
indicating that the data is out of range and the segment index is set to the
maximum segment number.
<index#> An integer representing the index number of the segment that you want to display.
Example This example sets the segmented memory index number control to 1000.
myScope.WriteString ":ACQuire:SEGMented:INDex 1000"

Query :ACQuire:SEGMented:INDex?

The :ACQuire:SEGMented:INDex? query returns the segmented memory index


number control value.
Returned Format [:ACQuire:SEGMented:INDex] <index#><NL>

Example This example checks the current setting for segmented memory index number
control and places the result in the variable, varIndex. Then the program prints the
contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SEGMented:INDex?"
varIndex = myScope.ReadNumber
Debug.Print FormatNumber(varIndex, 0)

See Also • ":ACQuire:SEGMented:COUNt" on page 237


• ":ACQuire:SEGMented:PLAY" on page 239
• ":ACQuire:SEGMented:TTAGs" on page 241
History Legacy command (existed before version 3.10).

238 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:SEGMented:PLAY
Command :ACQuire:SEGMented:PLAY {{0 | OFF} | {1 | ON}}

The :ACQuire:SEGMented:PLAY command plays (or stops) acquired segments.


• ON — is the same as clicking the play button in the graphical user interface.
• OFF — is the same as clicking the stop button in the graphical user interface.
Playing acquired segments can take a while depending on the analysis taking
place. You can query to determine when playing is complete.
Query :ACQuire:SEGMented:PLAY?

The :ACQuire:SEGMented:PLAY? query returns whether segments are currently


being played (1) or are stopped (0).
Returned Format [:ACQuire:SEGMented:PLAY] <setting><NL>

<setting> ::= {0 | 1}

See Also • ":ACQuire:SEGMented:PRATe" on page 240


• ":ACQuire:SEGMented:COUNt" on page 237
• ":ACQuire:SEGMented:INDex" on page 238
• ":ACQuire:SEGMented:TTAGs" on page 241
History New in version 5.60.

Keysight Infiniium Oscilloscopes Programmer's Guide 239


10 Acquire Commands

:ACQuire:SEGMented:PRATe
Command :ACQuire:SEGMented:PRATe <time_per_seg>

<time_per_seg> ::= seconds from 0.001 to 1 in NR3 format.

The :ACQuire:SEGMented:PRATe command specifies the segmented memory


navigation play rate.
When playing segments, the current segment through the last segment are
displayed at the specified rate. Playing segments lets you collect measurement
statistics across all the played-back segments.
Query :ACQuire:SEGMented:PRATe?

The :ACQuire:SEGMented:PRATe? query returns segmented memory navigation


play rate.
Returned Format <time_per_seg><NL>

See Also • ":ACQuire:SEGMented:PLAY" on page 239


History New in version 5.70.

240 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:SEGMented:TTAGs
Command :ACQuire:SEGMented:TTAGs {{ON | 1} | {OFF | 0}}

The :ACQuire:SEGMented:TTAGs command turns the time tags feature on or off for
the segmented memory sampling mode.
Example This example turns the time tags on for segmented memory.
myScope.WriteString ":ACQuire:SEGMented:TTAGs ON"

Query :ACQuire:SEGMented:TTAGs?

The :ACQuire:SEGMented:TTAGs? query returns the segmented memory time tags


control value.
Returned Format [:ACQuire:SEGMented:TTAGs] {1 | 0}<NL>

Example This example checks the current setting for segmented memory time tags control
and places the result in the variable, varTimeTags. Then the program prints the
contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SEGMented:TTAGs?"
varTimeTags = myScope.ReadNumber
Debug.Print FormatNumber(varTimeTags, 0)

See Also • ":ACQuire:SEGMented:COUNt" on page 237


• ":ACQuire:SEGMented:INDex" on page 238
• ":ACQuire:SEGMented:PLAY" on page 239
History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 241


10 Acquire Commands

:ACQuire:SRATe[:ANALog] — Analog Sample Rate


Command :ACQuire:SRATe[:ANALog] {AUTO | MAX | <rate>}

The :ACQuire:SRATe[:ANALog] command sets the analog acquisition sampling


rate.
AUTO The AUTO rate allows the oscilloscope to select a sample rate that best
accommodates the selected memory depth and horizontal scale.
MAX The MAX rate enables the oscilloscope to select maximum available sample rate.
<rate> A real number representing the sample rate. You can send any value, but the value
is rounded to the next fastest sample rate.
Interaction If you assign a sample rate value with :ACQuire:SRATe[:ANALog] or a points value
between using :ACQuire:POINts[:ANALog] the following interactions will occur. "Manual"
:ACQuire:SRATe[:A means you are setting a non-AUTO value for SRATe or POINts.
NALog] and
:ACQuire:POINts[:A
SRATe POINts Result
NALog]
AUTO Manual POINts value takes precedence
(sample rate is limited)
Manual AUTO SRATe value takes precedence
(memory depth is limited)
Manual Manual SRATe value takes precedence
(memory depth is limited)

Example This example sets the sample rate to 250 MSa/s.


myScope.WriteString ":ACQuire:SRATe:ANALog 250E+6"

Query :ACQuire:SRATe[:ANALog]?

The :ACQuire:SRATe[:ANALog]? query returns the current analog acquisition


sample rate.
Returned Format [:ACQuire:SRATe:ANALog] {<rate>}<NL>

Example This example places the current sample rate in the string variable, strSample, then
prints the contents of the variable to the computer's screen.
Dim strSample As String ' Dimension variable.
myScope.WriteString ":ACQuire:SRATe:ANALog?"
strSample = myScope.ReadString
Debug.Print strSample

History Legacy command (existed before version 3.10).

242 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:SRATe[:ANALog]:AUTO
Command :ACQuire:SRATe[:ANALog]:AUTO {{ON | 1} | {OFF | 0}}

The :ACQuire:SRATe[:ANALog]:AUTO command enables (ON) or disables (OFF) the


automatic analog sampling rate selection control. On the oscilloscope front-panel
interface, ON is equivalent to Automatic and OFF is equivalent to Manual.
Example This example changes the sampling rate to manual.
myScope.WriteString ":ACQuire:SRATe:ANALog:AUTO OFF"

Query :ACQuire:SRATe[:ANALog]:AUTO?

The :ACQuire:SRATe[:ANALog]:AUTO? query returns the current acquisition sample


rate.
Returned Format [:ACQuire:SRATe:ANALog:AUTO] {1 | 0}<NL>

Example This example places the current analog sample rate in the variable, varSample,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SRATe:ANALog:AUTO?"
varSample = myScope.ReadNumber
Debug.Print FormatNumber(varSample, 0)

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 243


10 Acquire Commands

:ACQuire:SRATe:DIGital — Digital Channels Sample Rate


Command :ACQuire:SRATe:DIGital {AUTO | MAX | <rate>}

The :ACQuire:SRATe:DIGital command sets the digital acquisition sampling rate.


AUTO The AUTO rate allows the oscilloscope to select a sample rate that best
accommodates the selected memory depth and horizontal scale.
MAX The MAX rate enables the oscilloscope to select maximum available sample rate.
<rate> A real number representing the digital sample rate. You can send any value, but
the value is rounded to the next fastest sample rate.
Interaction If you assign a sample rate value with :ACQuire:SRATe:DIGital, the digital memory
between depth is automatically adjusted and can be seen by using the
:ACQuire:SRATe:DI :ACQuire:POINts:DIGital? query.
Gital and
:ACQuire:POINts:DI
Gital?
Query :ACQuire:SRATe:DIGital?

The :ACQuire:SRATe:DIGital? query returns the current digital acquisition sample


rate.
Returned Format [:ACQuire:SRATe:DIGital] {<rate>}<NL>

Example This example places the current digital channel sample rate in the string variable,
strSample, then prints the contents of the variable to the computer's screen.
Dim strSample As String ' Dimension variable.
myScope.WriteString ":ACQuire:SRATe:DIGital?"
strSample = myScope.ReadString
Debug.Print strSample

History Legacy command (existed before version 3.10).

244 Keysight Infiniium Oscilloscopes Programmer's Guide


Acquire Commands 10

:ACQuire:SRATe:DIGital:AUTO
Command :ACQuire:SRATe:DIGital:AUTO {{ON | 1} | {OFF | 0}}

The :ACQuire:SRATe:DIGital:AUTO command enables (ON) or disables (OFF) the


automatic digital channel sampling rate selection control.
Example This example changes the digital channel sampling rate to manual.
myScope.WriteString ":ACQuire:SRATe:DIGital:AUTO OFF"

Query :ACQuire:SRATe:DIGital:AUTO?

The :ACQuire:SRATe:DIGital:AUTO? query returns the current digital channel


acquisition sample rate.
Returned Format [:ACQuire:SRATe:DIGital:AUTO] {1 | 0}<NL>

Example This example places the current digital channel sample rate in the variable,
varSample, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SRATe:DIGital:AUTO?"
varSample = myScope.ReadNumber
Debug.Print FormatNumber(varSample, 0)

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 245


10 Acquire Commands

:ACQuire:SRATe:TESTLIMITS?
Query :ACQuire:SRATe:TESTLIMITS?

The :ACQuire:SRATe:TESTLIMITS? query returns the oscilloscope's acquisition


sampling rate maximum and minimum limits.
Returned Format <num_parms>,<<type>><min>:<max><NL>

<num_parms> Number of parameters, always 1 for this query.


<type> Type of values returned, always "<numeric>" for this query.
<min> Lower sample rate limit value.
<max> Upper sample rate limit value.
See Also • ":ACQuire:SRATe[:ANALog] — Analog Sample Rate" on page 242
• ":ACQuire:SRATe[:ANALog]:AUTO" on page 243
• ":ACQuire:BANDwidth:TESTLIMITS?" on page 220
• ":ACQuire:POINts:TESTLIMITS?" on page 233
History New in version 5.60.

246 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

11 Analyze Commands
:ANALyze:AEDGes / 249
:ANALyze:CLOCk / 250
:ANALyze:CLOCk:METHod / 251
:ANALyze:CLOCk:METHod:ALIGn / 254
:ANALyze:CLOCk:METHod:DEEMphasis / 255
:ANALyze:CLOCk:METHod:EDGE / 256
:ANALyze:CLOCk:METHod:IDLe / 258
:ANALyze:CLOCk:METHod:JTF / 259
:ANALyze:CLOCk:METHod:OJTF / 261
:ANALyze:CLOCk:METHod:PLLTrack / 264
:ANALyze:CLOCk:METHod:SKEW / 265
:ANALyze:CLOCk:METHod:SKEW:AUTomatic / 266
:ANALyze:CLOCk:METHod:SOURce / 267
:ANALyze:CLOCk:VERTical / 268
:ANALyze:CLOCk:VERTical:OFFSet / 269
:ANALyze:CLOCk:VERTical:RANGe / 270
:ANALyze:SIGNal:DATarate / 271
:ANALyze:SIGNal:SYMBolrate / 273
:ANALyze:SIGNal:MIXer:CABLeloss / 275
:ANALyze:SIGNal:MMWave:CALibrate / 276
:ANALyze:SIGNal:MMWave:CFRequency / 277
:ANALyze:SIGNal:MMWave:CONNect / 278
:ANALyze:SIGNal:MMWave:LOADdress / 279
:ANALyze:SIGNal:MMWave:MBANdwidth / 280
:ANALyze:SIGNal:PATTern:CLEar / 281
:ANALyze:SIGNal:PATTern:LOAD / 282
:ANALyze:SIGNal:PATTern:PLENgth / 283
:ANALyze:SIGNal:PATTern:SMAP / 284
:ANALyze:SIGNal:TYPE / 285
:ANALyze:VIEW / 288

247
11 Analyze Commands

The commands in the ANALyze subsystem are used to:


• Specify whether to use a single edge or all edges in the acquisition for
horizontal measurements (:ANALyze:AEDGes command).
• Set up clock recovery (:ANALyze:CLOCk commands).
• Specify a waveform source's signal type:
• The PAM4 signal type sets up a new paradigm for serial data signal analysis
with multiple data levels and edges for clock recovery (as compared to high
and low level NRZ signals).
• The MMWave signal type supports analysis of millimeter-wave signals that
have been down-converted to IF band signals by an external smart mixer
and an LO signal from a signal generator.
• Support MMWave millimeter-wave signal analysis.
• Specify whether to use the data on screen or the entire acquisition for
measurements, functions, and analysis (:ANALyze:VIEW command).
The :ANALyze:CLOCk commands are available when the High Speed Serial
Software or the Jitter Analysis Software is installed.
Sources for Some :ANALyze commands let you specify the source(s) using a <source>
Analyze parameter:
Commands
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | WMEMory<R>
| FUNCtion<F> | EQUalized}

where:

CHANnel<N> <N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope


system.
DIFF<D>, <D> is an integer, 1-2. <C> is an integer, 3-4.
COMMonmode<C> The DIFF and COMMonmode sources are just aliases that can be used in
place of the channel names to apply to differential or common mode
signals. These are just aliases - no state change occurs if you refer to a
differential channel and you are not in differential mode. DIFF1 refers to
the differential signal between channels 1 and 3 (and COMMonmode3
refers to the common mode channel between these same channels). DIFF2
refers to the differential signal between channels 2 and 4 (and
COMMonmode4 refers to the common mode channel between these same
channels).
WMEMory<R> <R> is an integer, 1-4.
FUNCtion<F> <F> is an integer, 1-16.
EQUalized The EQUalized source is available only if the oscilloscope has the High
Speed Serial option and the Serial Data Equalization option installed and
the features are enabled. This command uses the linearly equalized
(FFE/CTLE) signal as the source.

248 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:AEDGes
Command :ANALyze:AEDGes {{0 | OFF} | {1 | ON}}

The :ANALyze:AEDGes command specifies whether a single edge or all edges in


the acquisition are used for horizontal measurements.
The :ANALyze:AEDGes command maps to the Measure All Edges control in the user
interface's Measurement Setup dialog box.
When all edges in an acquisition are used for horizontal measurements, the entire
acquisition is also used for measurements, functions, and analysis (see
:ANALyze:VIEW ALL).
Some measurements require all edges: ":MEASure:NPULses" on page 876,
":MEASure:PPULses" on page 922, ":MEASure:ETOedge" on page 808,
":MEASure:HOLDtime" on page 839, ":MEASure:NPERiod" on page 875,
":MEASure:PHASe" on page 905, ":MEASure:SETuptime" on page 961, and EZJIT
clock and data measurements. When you add one of these measurements, the
:ANALyze:AEDGes option is automatically turned ON.
Also, turning on a real-time eye (:MTESt:FOLDing ON) sets :ANALyze:AEDGes to
ON, and it cannot be disabled.
Query :ANALyze:AEDGes?

The :ANALyze:AEDGes? query returns the value that is currently set.


Returned Format [:ANALyze:AEDGes] {0 | 1}<NL>

See Also • ":ANALyze:VIEW" on page 288


History New in version 5.30. This commands replaces the now deprecated command
":MEASure:JITTer:STATistics" on page 1609.

Keysight Infiniium Oscilloscopes Programmer's Guide 249


11 Analyze Commands

:ANALyze:CLOCk
Command :ANALyze:CLOCk {{{ON|1},<source>} | {OFF|0}}

The :ANALyze:CLOCk command turns the recovered clock display on or off and
sets the clock recovery channel source.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Sources for Analyze
Commands" on page 248.
Example This example turns the recovered clock display on for channel 1.
myScope.WriteString ":ANALyze:CLOCk ON,CHANnel1"

Query :ANALyze:CLOCk?

The :ANALyze :CLOCk? query returns the state of the recovered clock display.
Returned Format [:ANALyze:CLOCk] {1 | 0}<NL>

Example This example places the current setting of the recovered clock display in the
variable varSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)

History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk" on page 1586.

250 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:CLOCk:METHod
Command :ANALyze:CLOCk:METHod
{FC,{FC1063 | FC2125 | FC425}}
| {EXPlicit,<source>,{RISing | FALLing | BOTH}[,<multiplier>]}
| {FIXed,{AUTO | {SEMI[,<data_rate>]} | <data_rate>}}
| {FLEXR,<baud_rate>}
| {FLEXT,<baud_rate>}
| {PWM}
| {CPHY[,<symbol_rate>[,<setup_UI>]]}
| {BMC}
| {LFPS}

The :ANALyze:CLOCk:METHod command sets the clock recovery method to:


• FC (Fibre Channel).
• EXPlicit (Explicit Clock).
• FIXed (Constant Frequency).
• FLEXR (FlexRay Receiver).
• FLEXT (FlexRay Transmitter).
• PWM (MIPI M-PHY PWM)
• CPHY (MIPI C-PHY)
• BMC (USB PD bi-phase mark coding)
• LFPS (USB 3 low frequency periodic signaling)
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
For setting phase-locked loop (PLL) clock recovery methods in terms of the
Observed Jitter Transfer Function (OJTF), see ":ANALyze:CLOCk:METHod:OJTF"
on page 261.
For setting phase-locked loop (PLL) clock recovery methods in terms of the Jitter
Transfer Function (JTF), see ":ANALyze:CLOCk:METHod:JTF" on page 259.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R> | EQUalized}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
<data_rate> A real number for the base data rate in Hertz.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), a symbol rate (baud)
is specified instead of a data rate (b/s).
<multiplier> An integer used as the multiplication factor.
<baud_rate> A real number used for the baud rate.

Keysight Infiniium Oscilloscopes Programmer's Guide 251


11 Analyze Commands

<symbol_rate> When the signal type is CPHY (see :ANALyze:SIGNal:TYPE), CPHY is automatically
selected as the clock recovery method, but you can use the
:ANALyze:CLOCk:METHod CPHY command to specify the nominal a symbol rate in
baud.
<setup_UI> When the signal type is CPHY (see :ANALyze:SIGNal:TYPE), CPHY is automatically
selected as the clock recovery method, but you can use the
:ANALyze:CLOCk:METHod CPHY command to specify the time (in Unit Intervals)
used to cluster edges for clock recovery.
Example This example sets the explicit clock recovery method on channel 1, rising edge,
with a multiplier of 2.
myScope.WriteString ":ANALyze:CLOCk:METHod EXPlicit,CHANnel1,RISing,2"

Query :ANALyze:CLOCk:METHod?

The :ANALyze:CLOCk:METHod? query returns the state of the clock recovery


method.

You can use the :ANALyze:CLOCk:METHod? query when phase-locked loop (PLL) clock
N OT E
recovery methods are set up. The format returned will be that of the
:ANALyze:CLOCk:METHod:OJTF? query. See ":ANALyze:CLOCk:METHod:OJTF" on
page 261.

Returned Format [:ANALyze:CLOCk:METHod]


{FC,{FC1063 | FC2125 | FC425}}
| {EXPlicit,<source>,{RISing | FALLing | BOTH},<multiplier>}
| {FIXed,{AUTO | {SEMI,<data_rate>} | <data_rate>}}
| {FLEXR,<baud_rate>}
| {FLEXT,<baud_rate>}
| {PWM}
| {CPHY,<symbol_rate>,<setup_UI>}
| {BMC}
| {LFPS}

Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod?"
strSetting = myScope.ReadString
Debug.Print strSetting

See Also • ":ANALyze:CLOCk:METHod:SOURce" on page 267


• ":ANALyze:CLOCk:METHod:OJTF" on page 261
• ":ANALyze:CLOCk:METHod:JTF" on page 259
• ":ANALyze:CLOCk:METHod:DEEMphasis" on page 255
• ":ANALyze:CLOCk:METHod:ALIGn" on page 254

252 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

• ":ANALyze:CLOCk:METHod:PLLTrack" on page 264


• ":ANALyze:CLOCk:METHod:EDGE" on page 256
• ":ANALyze:SIGNal:TYPE" on page 285
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod" on page 1587.
Version 5.50: When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).
Version 5.60: Added the PWM and CPHY methods.
Version 6.30: Added the BMC (USB PD bi-phase mark coding) and LFPS (USB 3
low frequency periodic signaling) methods.

Keysight Infiniium Oscilloscopes Programmer's Guide 253


11 Analyze Commands

:ANALyze:CLOCk:METHod:ALIGn
Command :ANALyze:CLOCk:METHod:ALIGn {CENTer | EDGE}

When using an explicit method of clock recovery, the


:ANALyze:CLOCk:METHod:ALIGn command specifies how the clock is aligned with
data:
• CENTer — Clock edges are aligned with the center of data.
• EDGE — Clock edges are aligned with data edges. In this case, Time Interval
Error (TIE) is measured directly from the data edge to the clock edge.
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
Example When using an explicit method of clock recovery, this example specifies that clock
edges are aligned with the center of data.
myScope.WriteString ":ANALyze:CLOCk:METHod:ALIGn CENTer"

Query :ANALyze:CLOCK:METHod:ALIGn?

The :ANALyze:CLOCk:METHod:ALIGn? query returns the clock recovery method's


edge alignment setting.
Returned Format [:ANALyze:CLOCk:METHod:ALIGn] {CENT | EDGE}

Example This example places the current edge alignment setting of the clock recovery
method in the variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:ALIGn?"
strSetting = myScope.ReadString
Debug.Print strSetting

See Also • ":ANALyze:CLOCk:METHod:SOURce" on page 267


• ":ANALyze:CLOCk:METHod" on page 251
• ":ANALyze:CLOCk:METHod:OJTF" on page 261
• ":ANALyze:CLOCk:METHod:JTF" on page 259
• ":ANALyze:CLOCk:METHod:DEEMphasis" on page 255
• ":ANALyze:CLOCk:METHod:PLLTrack" on page 264
• ":ANALyze:CLOCk:METHod:EDGE" on page 256
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod:ALIGn" on page 1591.

254 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:CLOCk:METHod:DEEMphasis
Command :ANALyze:CLOCk:METHod:DEEMphasis {OFF | ON}

The :ANALyze:CLOCk:METHod:DEEMphasis command turns de-emphasis on or


off.
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
See the help system for more information on de-emphasis.
Example This example enables de-emphasis.
myScope.WriteString ":ANALyze:CLOCk:METHod:DEEMphasis ON"

Query :ANALyze:CLOCk:METHod:DEEMphasis?

The :ANALyze:CLOCk:METHod:DEEMphasis? query returns whether or not


de-emphasis is turned on.
Returned Format [:ANALyze:CLOCk:METHod:DEEMphasis] {OFF | ON}

Example This example places the current setting of the de-emphasis mode in the string
variable strDeemph, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:DEEMphasis?"
strDeemph = myScope.ReadString
Debug.Print strDeemph

See Also • ":ANALyze:CLOCk:METHod:SOURce" on page 267


• ":ANALyze:CLOCk:METHod" on page 251
• ":ANALyze:CLOCk:METHod:OJTF" on page 261
• ":ANALyze:CLOCk:METHod:JTF" on page 259
• ":ANALyze:CLOCk:METHod:ALIGn" on page 254
• ":ANALyze:CLOCk:METHod:PLLTrack" on page 264
• ":ANALyze:CLOCk:METHod:EDGE" on page 256
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod:DEEMphasis" on page 1592.

Keysight Infiniium Oscilloscopes Programmer's Guide 255


11 Analyze Commands

:ANALyze:CLOCk:METHod:EDGE
Command :ANALyze:CLOCk:METHod:EDGE {RISing | FALLing | BOTH}

The :ANALyze:CLOCk:METHod:EDGE command specifies which edge(s) of the


data are used to recover a clock. (In the front panel GUI, this control appears in the
Advanced Clock Recovery dialog box.) Normally, both edges are used. However, if
you are performing clock recovery on a low duty cycle clock signal, for example,
you may want to use just the rising or falling edge.
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
This command applies to the following clock recovery methods:
• FIXed (Constant Frequency).
• FOPLL (First Order PLL).
• SOPLL (Second Order PLL).
• EXPlicit (Explicit Clock).
• EXPFOPLL (Explicit First Order PLL).
• EXPSOPLL (Explicit Second Order PLL).
• EQFOPLL (Equalized First Order PLL).
• EQSOPLL (Equalized Second Order PLL).
To measure jitter on only rising (or falling) edges of a clock, you must also set
:ANALyze:RJDJ:EDGE to the same RISing or FALLing option, and you must set
:ANALyze:RJDJ:CLOCk ON to force the pattern to be a clock and set the jitter for
edges not examined to zero (0).
Example This example specifies that both rising and falling edges of the data are used to
recover a clock.
myScope.WriteString ":ANALyze:CLOCk:METHod:EDGE BOTH"

Query :ANALyze:CLOCK:METHod:EDGE?

The :ANALyze:CLOCk:METHod:EDGE? query returns the clock recovery method's


edge setting.
Returned Format [:ANALyze:CLOCk:METHod:EDGE] {RIS | FALL | BOTH}

Example This example places the current edge setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:EDGE?"
strSetting = myScope.ReadString
Debug.Print strSetting

See Also • ":ANALyze:CLOCk:METHod:SOURce" on page 267

256 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

• ":ANALyze:CLOCk:METHod" on page 251


• ":ANALyze:CLOCk:METHod:OJTF" on page 261
• ":ANALyze:CLOCk:METHod:JTF" on page 259
• ":ANALyze:CLOCk:METHod:DEEMphasis" on page 255
• ":ANALyze:CLOCk:METHod:ALIGn" on page 254
• ":ANALyze:CLOCk:METHod:PLLTrack" on page 264
• ":MEASure:RJDJ:EDGE" on page 943
• ":MEASure:RJDJ:CLOCk" on page 941
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod:EDGE" on page 1593.

Keysight Infiniium Oscilloscopes Programmer's Guide 257


11 Analyze Commands

:ANALyze:CLOCk:METHod:IDLe
Command :ANALyze:CLOCk:METHod:IDLe <#_idle_clocks>

The :ANALyze:CLOCk:METHod:IDLe command lets you specify the number of


additional clocks output by the clock recovery PLL for situations where valid data
can occur during electrical idles.
<#_idle_clocks> Number of PLL idle clocks from 6 to 1000 in NR1 format.
Query :ANALyze:CLOCk:METHod:IDLe?

The :ANALyze:CLOCk:METHod:IDLe? query returns the number of PLL idle clocks


setting.
Returned Format <#_idle_clocks><NL>

See Also • ":ANALyze:CLOCk:METHod" on page 251


• ":ANALyze:CLOCk:METHod:ALIGn" on page 254
• ":ANALyze:CLOCk:METHod:DEEMphasis" on page 255
• ":ANALyze:CLOCk:METHod:EDGE" on page 256
• ":ANALyze:CLOCk:METHod:JTF" on page 259
• ":ANALyze:CLOCk:METHod:OJTF" on page 261
• ":ANALyze:CLOCk:METHod:PLLTrack" on page 264
• ":ANALyze:CLOCk:METHod:SKEW" on page 265
• ":ANALyze:CLOCk:METHod:SOURce" on page 267
History New in version 6.20.

258 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:CLOCk:METHod:JTF
Command :ANALyze:CLOCk:METHod:JTF
{FOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<jtf_loop_bandwidth>, <peaking>}
| {EQSOPLL,<data_rate>,<jtf_loop_bandwidth>, <peaking>}
| {EXPFOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>}
| {EXPSOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>,<peaking>}

The :ANALyze:CLOCk:METHod:JTF command specifies the clock recovery PLL's


response in terms of the Jitter Transfer Function's (JTF) 3 dB bandwidth.
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
You can set these types of PLL clock recovery methods:
• FOPLL (First Order PLL).
• SOPLL (Second Order PLL).
• EQFOPLL (Equalized First Order PLL).
• EQSOPLL (Equalized Second Order PLL).
• EXPFOPLL (Explicit First Order PLL).
• EXPSOPLL (Explicit Second Order PLL).
The EQUalized clock recovery methods are only available if the oscilloscope has
the High Speed Serial option and the Serial Data Equalization option installed and
the features are enabled.
For setting phase-locked loop (PLL) clock recovery methods in terms of the
Observed Jitter Transfer Function (OJTF), see ":ANALyze:CLOCk:METHod:OJTF"
on page 261.
For setting other clock recovery methods, see ":ANALyze:CLOCk:METHod" on
page 251.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R> | EQUalized}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
<data_rate> A real number for the base data rate in bits per second.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), a symbol rate (baud)
is specified instead of a data rate (b/s).
<peaking> The peaking value in dB.

Keysight Infiniium Oscilloscopes Programmer's Guide 259


11 Analyze Commands

<jtf_loop_ A real number for the cutoff frequency for the PLL to track.
bandwidth>
<multiplier> An integer used as the multiplication factor.
<clock_freq> A real number used for the clock frequency of the PLL.
Example This example sets the clock recovery method to Second Order PLL, a nominal data
rate of 4 Gb/s, and a peaking value of 1.25 dB.
myScope.WriteString ":ANALyze:CLOCk:METHod:JTF SOPLL,4E9,3.822E6,1.25"

Query :ANALyze:CLOCk:METHod:JTF?

The :ANALyze:CLOCk:METHod:JTF? query returns the state of the clock recovery


method.
Returned Format [:ANALyze:CLOCk:METHod:JTF]
{FOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<jtf_loop_bandwidth>,<peaking>}
| {EQSOPLL,<data_rate>,<jtf_loop_bandwidth>,<peaking>}
| {EXPFOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>}
| {EXPSOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>,<peaking>}

Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:JTF?"
strSetting = myScope.ReadString
Debug.Print strSetting

See Also • ":ANALyze:CLOCk:METHod:SOURce" on page 267


• ":ANALyze:CLOCk:METHod" on page 251
• ":ANALyze:CLOCk:METHod:OJTF" on page 261
• ":ANALyze:CLOCk:METHod:DEEMphasis" on page 255
• ":ANALyze:CLOCk:METHod:ALIGn" on page 254
• ":ANALyze:CLOCk:METHod:PLLTrack" on page 264
• ":ANALyze:CLOCk:METHod:EDGE" on page 256
• ":ANALyze:SIGNal:TYPE" on page 285
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod:JTF" on page 1595.
Version 5.50: When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).

260 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:CLOCk:METHod:OJTF
Command :ANALyze:CLOCk:METHod:OJTF
{FOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<ojtf_loop_bandwidth>, <damping_factor>}
| {EQSOPLL,<data_rate>,<ojtf_loop_bandwidth>, <damping_factor>}
| {TOPLL,<data_rate>,<natural_frequency>,<pole_frequency>,
<damping_factor>[,<PLL_settling_time>]}
| {EQTOPLL,<data_rate>,<natural_frequency>,<pole_frequency>,
<damping_factor>[,<PLL_settling_time>]}
| {EXPFOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>}
| {EXPSOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>,<damping_factor>}
| {EXPTOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<natural_frequency>,<pole_frequency>,
<damping_factor>}

The :ANALyze:CLOCk:METHod:OJTF command specifies the clock recovery PLL's


response in terms of the Observed Jitter Transfer Function's (OJTF) 3 dB
bandwidth.
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
You can set these types of PLL clock recovery methods:
• FOPLL (First Order PLL).
• SOPLL (Second Order PLL).
• TOPLL (Third Order PLL).
• EQFOPLL (Equalized First Order PLL).
• EQSOPLL (Equalized Second Order PLL).
• EQTOPLL (Equalized Third Order PLL).
• EXPFOPLL (Explicit First Order PLL).
• EXPSOPLL (Explicit Second Order PLL).
• EXPSOPLL (Explicit Third Order PLL).
The EQUalized clock recovery methods are only available if the oscilloscope has
the High Speed Serial option and the Serial Data Equalization option installed and
the features are enabled.
For setting phase-locked loop (PLL) clock recovery methods in terms of the Jitter
Transfer Function (JTF), see ":ANALyze:CLOCk:METHod:JTF" on page 259.
For setting other clock recovery methods, see ":ANALyze:CLOCk:METHod" on
page 251.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R> | EQUalized}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.

Keysight Infiniium Oscilloscopes Programmer's Guide 261


11 Analyze Commands

<F> An integer, 1-16.


<R> An integer, 1-4.
<data_rate> A real number for the base data rate in bits per second.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), a symbol rate (baud)
is specified instead of a data rate (b/s).
<damping_ factor> A real number for the damping factor of the PLL.
<ojtf_loop_ A real number for the cutoff frequency for the PLL to track.
bandwidth>
<natural_frequenc A real number for the natural frequency of the PLL.
y>
<pole_frequency> A real number for the pole frequency of the PLL.
<PLL_settling_tim A real number for the PLL settling time.
e>
<multiplier> An integer used as the multiplication factor.
<clock_freq> A real number used for the clock frequency of the PLL.
Example This example sets the clock recovery method to Second Order PLL, a nominal data
rate of 4 Gb/s, and a damping factor of 1.0.
myScope.WriteString ":ANALyze:CLOCk:METHod:OJTF SOPLL,4E9,2.4E6,1.0"

Query :ANALyze:CLOCk:METHod:OJTF?

The :ANALyze:CLOCk:METHod:OJTF? query returns the state of the clock recovery


method.
Returned Format [:ANALyze:CLOCk:METHod:OJTF]
{FOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<ojtf_loop_bandwidth>,<damping_factor>}
| {EQSOPLL,<data_rate>,<ojtf_loop_bandwidth>,<damping_factor>}
| {TOPLL,<data_rate>,<natural_frequency>,<pole_frequency>,
<damping_factor>[,<PLL_settling_time>]}
| {EQTOPLL,<data_rate>,<natural_frequency>,<pole_frequency>,
<damping_factor>[,<PLL_settling_time>]}
| {EXPFOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>}
| {EXPSOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>,<damping_fact>}
| {EXPTOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<natural_frequency>,<pole_frequency>,
<damping_factor>}

Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.

262 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

myScope.WriteString ":SYSTem:HEADer OFF"


myScope.WriteString ":ANALyze:CLOCk:METHod:OJTF?"
strSetting = myScope.ReadString
Debug.Print strSetting

See Also • ":ANALyze:CLOCk:METHod:SOURce" on page 267


• ":ANALyze:CLOCk:METHod" on page 251
• ":ANALyze:CLOCk:METHod:JTF" on page 259
• ":ANALyze:CLOCk:METHod:DEEMphasis" on page 255
• ":ANALyze:CLOCk:METHod:ALIGn" on page 254
• ":ANALyze:CLOCk:METHod:PLLTrack" on page 264
• ":ANALyze:CLOCk:METHod:EDGE" on page 256
• ":ANALyze:SIGNal:TYPE" on page 285
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod:OJTF" on page 1597.
Version 5.50: When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).

Keysight Infiniium Oscilloscopes Programmer's Guide 263


11 Analyze Commands

:ANALyze:CLOCk:METHod:PLLTrack
Command :ANALyze:CLOCk:METHod:PLLTrack {OFF | ON}

The :ANALyze:CLOCk:METHod:PLLTrack command turns transition density


dependence on or off. See the help system for more information on the Transition
Density Dependent setting.
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
Example This example enables the Transition Density Dependent setting.
myScope.WriteString ":MEASure:CLOCk:METHod:PLLTrack ON"

Query :ANALyze:CLOCk:METHod:PLLTrack?

The :ANALyze:CLOCk:METHod:PLLTrack? query returns whether or not the


Transition Density Dependent setting is turned on.
Returned Format [:ANALyze:CLOCk:METHod:PLLTrack] {OFF | ON}

Example This example places the current setting of the Transition Density Dependent
setting in the string variable strTDD, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:PLLTrack?"
strTDD = myScope.ReadString
Debug.Print strTDD

See Also • ":ANALyze:CLOCk:METHod:SOURce" on page 267


• ":ANALyze:CLOCk:METHod" on page 251
• ":ANALyze:CLOCk:METHod:OJTF" on page 261
• ":ANALyze:CLOCk:METHod:JTF" on page 259
• ":ANALyze:CLOCk:METHod:DEEMphasis" on page 255
• ":ANALyze:CLOCk:METHod:ALIGn" on page 254
• ":ANALyze:CLOCk:METHod:EDGE" on page 256
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod:PLLTrack" on page 1599.

264 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:CLOCk:METHod:SKEW
Command :ANALyze:CLOCk:METHod:SKEW <time>

When clock recovery is being performed on a PAM-4 signal type (see


:ANALyze:SIGNal:TYPE), the :ANALyze:CLOCk:METHod:SKEW command can be
used to center the eye opening at the clock locations by shifting the clocks relative
to the data.
<time> Seconds in NR3 format.
Query :ANALyze:CLOCk:METHod:SKEW?

The :ANALyze:CLOCk:METHod:SKEW? query returns the skew setting.


Returned Format <time><NL>

See Also • ":ANALyze:SIGNal:TYPE" on page 285


• ":ANALyze:CLOCk:METHod:SKEW:AUTomatic" on page 266
• ":MEASure:THResholds:DISPlay" on page 969
• ":MEASure:THResholds:GENeral:METHod" on page 975
• ":MEASure:THResholds:GENeral:PAMCustom" on page 977
• ":MEASure:THResholds:GENeral:PAMAutomatic" on page 979
• ":MEASure:THResholds:RFALl:METHod" on page 992
• ":MEASure:THResholds:RFALl:PAMAutomatic" on page 994
History New in version 6.10.

Keysight Infiniium Oscilloscopes Programmer's Guide 265


11 Analyze Commands

:ANALyze:CLOCk:METHod:SKEW:AUTomatic
Command :ANALyze:CLOCk:METHod:SKEW:AUTomatic

When clock recovery is being performed on a PAM-4 signal type (see


:ANALyze:SIGNal:TYPE), the :ANALyze:CLOCk:METHod:SKEW:AUTomatic
command automatically shifts clocks relative to the data to center the eye opening
at the clock locations. The current real-time eye data is used to determine the eye
center locations.
See Also • ":ANALyze:CLOCk:METHod:SKEW" on page 265
History New in version 6.30.

266 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:CLOCk:METHod:SOURce
Command :ANALyze:CLOCk:METHod:SOURce {ALL | <source>}

<source> ::= {CHANnel<N> | FUNCtion<F> | WMEMory<R> | EQUalized}

The :ANALyze:CLOCk:METHod:SOURce command selects the waveform source (or


ALL sources) to which other clock recovery method setup commands apply.
Clock recovery methods can be set up for each waveform source (or for all
waveform sources).
Query :ANALyze:CLOCk:METHod:SOURce?

The :ANALyze:CLOCk:METHod:SOURce? query returns the waveform source to


which other clock recovery method commands currently apply.
Returned Format [:ANALyze:CLOCk:METHod:SOURce] <source><NL>

<source> ::= {ALL | CHAN<N> | FUNC<F> | WMEM<N> | EQU}

See Also • ":ANALyze:CLOCk:METHod" on page 251


• ":ANALyze:CLOCk:METHod:OJTF" on page 261
• ":ANALyze:CLOCk:METHod:JTF" on page 259
• ":ANALyze:CLOCk:METHod:DEEMphasis" on page 255
• ":ANALyze:CLOCk:METHod:ALIGn" on page 254
• ":ANALyze:CLOCk:METHod:PLLTrack" on page 264
• ":ANALyze:CLOCk:METHod:EDGE" on page 256
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod:SOURce" on page 1600.

Keysight Infiniium Oscilloscopes Programmer's Guide 267


11 Analyze Commands

:ANALyze:CLOCk:VERTical
Command :ANALyze:CLOCk:VERTical {AUTO | MANual}

The :ANALyze:CLOCk:VERTical command sets the recovered clock vertical scale


mode to automatic or manual. In automatic mode, the oscilloscope automatically
selects the vertical scaling and offset. In manual mode, you can set your own
scaling and offset values.
Example This example sets the recovered clock vertical scale mode to automatic.
myScope.WriteString ":ANALyze:CLOCk:VERTical AUTO"

Query :ANALyze:CLOCk:VERTical?

The :ANALyze:CLOCk:VERTical? query returns the current recovered clock vertical


scale mode setting.
Returned Format [:ANALyze:CLOCk:VERTical] {AUTO | MANual}

Example This example places the current setting of the recovered clock vertical scale mode
in the string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:VERTical?"
strSetting = myScope.ReadString
Debug.Print strSetting

History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:VERTical" on page 1601.

268 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:CLOCk:VERTical:OFFSet
Command :ANALyze:CLOCk:VERTical:OFFSet <offset>

The :ANALyze:CLOCk:VERTical:OFFSet command sets the recovered clock vertical


offset.
<offset> A real number for the recovered clock vertical offset.
Example This example sets the clock recovery vertical offset to 1 volt.
myScope.WriteString ":ANALyze:CLOCk:VERTical:OFFSet 1"

Query :ANALyze:CLOCk:VERTical:OFFSet?

The :ANALyze:CLOCk:VERTical:OFFSet? query returns the clock recovery vertical


offset setting.
Returned Format [:ANALyze:CLOCk:VERTical:OFFSet] <value><NL>

<value> The clock recovery vertical offset setting.


Example This example places the current value of recovered clock vertical offset in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ANALyze:CLOCk:VERTical:OFFSet?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)

History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:VERTical:OFFSet" on page 1602.

Keysight Infiniium Oscilloscopes Programmer's Guide 269


11 Analyze Commands

:ANALyze:CLOCk:VERTical:RANGe
Command :ANALyze:CLOCk:VERTical:RANGe <range>

The :ANALyze:CLOCk:VERTical:RANGe command sets the recovered clock vertical


range.
<range> A real number for the full-scale recovered clock vertical range.
Example This example sets the recovered clock vertical range to 16 volts (2 volts times 8
divisions.)
myScope.WriteString ":ANALyze:CLOCk:VERTical:RANGe 16"

Query :ANALyze:CLOCk:VERTical:RANGe?

The :ANALyze:CLOCk:VERTical:RANGe? query returns the recovered clock vertical


range setting.
Returned Format [:ANALyze:CLOCk:VERTical:RANGe] <value><NL>

<value> The recovered clock vertical range setting.


Example This example places the current value of recovered clock vertical range in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ANALyze:CLOCk:VERTical:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)

History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:VERTical:RANGe" on page 1603.

270 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:SIGNal:DATarate
Command :ANALyze:SIGNal:DATarate <source>,<data_rate>

<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>


| WMEMory<R>}

When the source signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the


:ANALyze:SIGNal:DATarate command specifies the data rate of the signal.
With PAM-4, the data rate is twice the symbol rate because each voltage level
represents two bits of data. Changing the data rate also changes the symbol rate
(see :ANALyze:SIGNal:SYMBolrate) and vice-versa.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<data_rate> Bits/second in NR3 format.
Query :ANALyze:SIGNal:DATarate? <source>

The :ANALyze:SIGNal:DATarate? query returns the data rate of the source signal.
Returned Format [:ANALyze:SIGNal:DATarate] <data_rate><NL>

<data_rate> ::= bits/second in NR3 format.

See Also • ":ANALyze:CLOCk:METHod:SKEW" on page 265


• ":ANALyze:SIGNal:SYMBolrate" on page 273
• ":ANALyze:SIGNal:TYPE" on page 285
• ":MEASure:CGRade:EWIDth" on page 778
• ":MEASure:CGRade:EHEight" on page 775
• ":MEASure:FALLtime" on page 810
• ":MEASure:PAM:ELEVel" on page 883
• ":MEASure:PAM:ESKew" on page 886
• ":MEASure:PAM:LEVel" on page 895

Keysight Infiniium Oscilloscopes Programmer's Guide 271


11 Analyze Commands

• ":MEASure:PAM:LRMS" on page 897


• ":MEASure:PAM:LTHickness" on page 899
• ":MEASure:RISetime" on page 933
• ":MEASure:THResholds:DISPlay" on page 969
• ":MEASure:THResholds:GENeral:METHod" on page 975
• ":MEASure:THResholds:GENeral:PAMCustom" on page 977
• ":MEASure:THResholds:GENeral:PAMAutomatic" on page 979
• ":MEASure:THResholds:RFALl:METHod" on page 992
• ":MEASure:THResholds:RFALl:PAMAutomatic" on page 994
• ":MEASure:TIEData2" on page 1015
History New in version 5.50.

272 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:SIGNal:SYMBolrate
Command :ANALyze:SIGNal:SYMBolrate <source>,<symbol_rate>

<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>


| WMEMory<R>}

When the source signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), this command
specifies the edge rate of the signal. The inverse of this rate is the unit interval (UI).
With PAM-4, the data rate is twice the symbol rate because each voltage level
represents two bits of data. Changing the symbol rate also changes the data rate
(see :ANALyze:SIGNal:DATarate) and vice-versa.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<symbol_rate> Baud in NR3 format.
Query :ANALyze:SIGNal:SYMBolrate? <source>

The :ANALyze:SIGNal:SYMBolrate? query returns the symbol rate for the specified
source signal.
Returned Format [:ANALyze:SIGNal:SYMBolrate] <symbol_rate><NL>

<symbol_rate> ::= baud in NR3 format.

See Also • ":ANALyze:CLOCk:METHod:SKEW" on page 265


• ":ANALyze:SIGNal:DATarate" on page 271
• ":ANALyze:SIGNal:TYPE" on page 285
• ":MEASure:CGRade:EWIDth" on page 778
• ":MEASure:CGRade:EHEight" on page 775
• ":MEASure:FALLtime" on page 810
• ":MEASure:PAM:ELEVel" on page 883
• ":MEASure:PAM:ESKew" on page 886
• ":MEASure:PAM:LEVel" on page 895

Keysight Infiniium Oscilloscopes Programmer's Guide 273


11 Analyze Commands

• ":MEASure:PAM:LRMS" on page 897


• ":MEASure:PAM:LTHickness" on page 899
• ":MEASure:RISetime" on page 933
• ":MEASure:THResholds:DISPlay" on page 969
• ":MEASure:THResholds:GENeral:METHod" on page 975
• ":MEASure:THResholds:GENeral:PAMCustom" on page 977
• ":MEASure:THResholds:GENeral:PAMAutomatic" on page 979
• ":MEASure:THResholds:RFALl:METHod" on page 992
• ":MEASure:THResholds:RFALl:PAMAutomatic" on page 994
• ":MEASure:TIEData2" on page 1015
History New in version 5.50.

274 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:SIGNal:MIXer:CABLeloss
Command :ANALyze:SIGNal:MIXer:CABLeloss <source>,<loss>

The :ANALyze:SIGNal:MIXer:CABLeloss command sets the loss of the cable


connecting the mixer to the oscilloscope.
<source> {CHANnel<N>}
<loss> The dB cable return loss in NR3 format.
Query :ANALyze:SIGNal:MIXer:CABLeloss? <source>

The :ANALyze:SIGNal:MIXer:CABLeloss? query returns the specified cable loss.


Returned Format <loss><NL>

See Also • ":ANALyze:SIGNal:MMWave:CALibrate" on page 276


• ":ANALyze:SIGNal:MMWave:CFRequency" on page 277
• ":ANALyze:SIGNal:MMWave:CONNect" on page 278
• ":ANALyze:SIGNal:MMWave:LOADdress" on page 279
• ":ANALyze:SIGNal:MMWave:MBANdwidth" on page 280
History New in version 5.60.

Keysight Infiniium Oscilloscopes Programmer's Guide 275


11 Analyze Commands

:ANALyze:SIGNal:MMWave:CALibrate
Command :ANALyze:SIGNal:MMWave:CALibrate

The :ANALyze:SIGNal:MMWave:CALibrate command initiates a mixer/LO (local


oscillator) power calibration.
The LO is identified by the :ANALyze:SIGNal:MMWave:LOADdress command.
The calibration takes about a minute.
You may send additional commands that will not be executed until this command
completes. (The command is blocking.)
You may initiate a query (*IDN?, etc.) to wait until the calibration is complete.
See Also • ":ANALyze:SIGNal:MIXer:CABLeloss" on page 275
• ":ANALyze:SIGNal:MMWave:CFRequency" on page 277
• ":ANALyze:SIGNal:MMWave:CONNect" on page 278
• ":ANALyze:SIGNal:MMWave:LOADdress" on page 279
• ":ANALyze:SIGNal:MMWave:MBANdwidth" on page 280
History New in version 5.60.

276 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:SIGNal:MMWave:CFRequency
Command :ANALyze:SIGNal:MMWave:CFRequency <center_freq>

The :ANALyze:SIGNal:MMWave:CFRequency command sets the center frequency


for the oscilloscope's FFT math function.
Because all channels using mmWave share a LO, there is only one center
frequency for the oscilloscope.
<center_freq> Center frequency in NR3 format.
Query :ANALyze:SIGNal:MMWave:CFRequency?

The :ANALyze:SIGNal:MMWave:CFRequency? query returns the specified center


frequency.
Returned Format <center_freq><NL>

See Also • ":ANALyze:SIGNal:MIXer:CABLeloss" on page 275


• ":ANALyze:SIGNal:MMWave:CALibrate" on page 276
• ":ANALyze:SIGNal:MMWave:CONNect" on page 278
• ":ANALyze:SIGNal:MMWave:LOADdress" on page 279
• ":ANALyze:SIGNal:MMWave:MBANdwidth" on page 280
History New in version 5.60.

Keysight Infiniium Oscilloscopes Programmer's Guide 277


11 Analyze Commands

:ANALyze:SIGNal:MMWave:CONNect
Command :ANALyze:SIGNal:MMWave:CONNect <source>,{{0 | OFF} | {1 | ON}}

The :ANALyze:SIGNal:MMWave:CONNect command sets the connection status for


the mixer and LO (local oscillator) assigned to the specified channel. Use OFF to
disconnect.
<source> {CHANnel<N>}
Query :ANALyze:SIGNal:MMWave:CONNect? <source>

The :ANALyze:SIGNal:MMWave:CONNect? query returns the mixer and LO


connection status.
Returned Format <status><NL>

<status> ::= {0 | 1}

See Also • ":ANALyze:SIGNal:MIXer:CABLeloss" on page 275


• ":ANALyze:SIGNal:MMWave:CALibrate" on page 276
• ":ANALyze:SIGNal:MMWave:CFRequency" on page 277
• ":ANALyze:SIGNal:MMWave:LOADdress" on page 279
• ":ANALyze:SIGNal:MMWave:MBANdwidth" on page 280
History New in version 5.60.

278 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:SIGNal:MMWave:LOADdress
Command :ANALyze:SIGNal:MMWave:LOADdress <string>

The :ANALyze:SIGNal:MMWave:LOADdress command sets the LO's (local


oscillator's) VISA address.
The VISA address of the LO can be found in the Keysight Connection Expert.
<string> Quoted VISA address of LO.
Query :ANALyze:SIGNal:MMWave:LOADdress?

The :ANALyze:SIGNal:MMWave:LOADdress? query returns the specified LO VISA


address.
Returned Format <string><NL>

See Also • ":ANALyze:SIGNal:MIXer:CABLeloss" on page 275


• ":ANALyze:SIGNal:MMWave:CALibrate" on page 276
• ":ANALyze:SIGNal:MMWave:CFRequency" on page 277
• ":ANALyze:SIGNal:MMWave:CONNect" on page 278
• ":ANALyze:SIGNal:MMWave:MBANdwidth" on page 280
History New in version 5.60.

Keysight Infiniium Oscilloscopes Programmer's Guide 279


11 Analyze Commands

:ANALyze:SIGNal:MMWave:MBANdwidth
Command :ANALyze:SIGNal:MMWave:MBANdwidth <meas_bandwidth>

The :ANALyze:SIGNal:MMWave:MBANdwidth command sets the measurement


bandwidth (in Hz).
The specified bandwidth becomes the center frequency for the oscilloscope's FFT
math function.
Because all channels using mmWave will share a LO (local oscillator), there is only
one measurement bandwidth for the oscilloscope.
<meas_bandwidth Bandwidth in NR3 format.
>
Query :ANALyze:SIGNal:MMWave:MBANdwidth?

The :ANALyze:SIGNal:MMWave:MBANdwidth? query returns the specified


measurement bandwidth.
Returned Format <meas_bandwidth><NL>

See Also • ":ANALyze:SIGNal:MIXer:CABLeloss" on page 275


• ":ANALyze:SIGNal:MMWave:CALibrate" on page 276
• ":ANALyze:SIGNal:MMWave:CFRequency" on page 277
• ":ANALyze:SIGNal:MMWave:CONNect" on page 278
• ":ANALyze:SIGNal:MMWave:LOADdress" on page 279
History New in version 5.60.

280 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:SIGNal:PATTern:CLEar
Command :ANALyze:SIGNal:PATTern:CLEar <source>

For NRZ and PAM4 signal types (see :ANALyze:SIGNal:TYPE), the


:ANALyze:SIGNal:PATTern:CLEar command clears a loaded pattern file and goes
back to an automatic or manual pattern length setting.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
For more information on <source> parameters, see "Sources for Analyze
Commands" on page 248.
See Also • ":ANALyze:SIGNal:TYPE" on page 285
• ":ANALyze:SIGNal:PATTern:LOAD" on page 282
• ":ANALyze:SIGNal:PATTern:PLENgth" on page 283
• ":ANALyze:SIGNal:PATTern:SMAP" on page 284
• ":MEASure:BER" on page 767
• ":MEASure:BERPeracq" on page 768
• ":MEASure:SER" on page 959
• ":MEASure:SERPeracq" on page 960
History New in version 6.20.

Keysight Infiniium Oscilloscopes Programmer's Guide 281


11 Analyze Commands

:ANALyze:SIGNal:PATTern:LOAD
Command :ANALyze:SIGNal:PATTern:LOAD <source>,"<pattern_file_path>"

For NRZ and PAM4 signal types (see :ANALyze:SIGNal:TYPE), the


:ANALyze:SIGNal:PATTern:LOAD command loads a pattern file from which pattern
lengths and patterns are determined.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
For more information on <source> parameters, see "Sources for Analyze
Commands" on page 248.
<pattern_file_path Quoted string that is the path of the pattern file.
>
The Infiniium oscilloscope software includes some NRZ PRBS pattern files that are
also included with BERTs.
See Also • ":ANALyze:SIGNal:TYPE" on page 285
• ":ANALyze:SIGNal:PATTern:CLEar" on page 281
• ":ANALyze:SIGNal:PATTern:PLENgth" on page 283
• ":ANALyze:SIGNal:PATTern:SMAP" on page 284
• ":MEASure:BER" on page 767
• ":MEASure:BERPeracq" on page 768
• ":MEASure:SER" on page 959
• ":MEASure:SERPeracq" on page 960
History New in version 6.20.

282 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:SIGNal:PATTern:PLENgth
Command :ANALyze:SIGNal:PATTern:PLENgth <source>,{AUTO | <pattern_length>}

For NRZ and PAM4 signal types (see :ANALyze:SIGNal:TYPE), the


:ANALyze:SIGNal:PATTern:PLENgth command specifies a pattern length or that
the oscilloscope determine the pattern length automatically.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
For more information on <source> parameters, see "Sources for Analyze
Commands" on page 248.
AUTO The oscilloscope automatically determines the pattern length and pattern by
looking for at least two error-free copies of an identical repeating bit pattern in
acquisition memory.
<pattern_length> Manually specifies the pattern length as an integer number of symbols from 2 to
2^23. In this case, to determine the pattern, the oscilloscope looks in acquisition
memory for at least two error-free copies of an identical repeating bit pattern of
the specified length.
Query :ANALyze:SIGNal:PATTern:PLENgth? <source>

The :ANALyze:SIGNal:PATTern:PLENgth? query returns the specified pattern


length setting.
Returned Format <pattern_length><NL>

<pattern_length> ::= 2 to 2^23

See Also • ":ANALyze:SIGNal:TYPE" on page 285


• ":ANALyze:SIGNal:PATTern:CLEar" on page 281
• ":ANALyze:SIGNal:PATTern:LOAD" on page 282
• ":ANALyze:SIGNal:PATTern:SMAP" on page 284
• ":MEASure:BER" on page 767
• ":MEASure:BERPeracq" on page 768
• ":MEASure:SER" on page 959
• ":MEASure:SERPeracq" on page 960
History New in version 6.20.

Keysight Infiniium Oscilloscopes Programmer's Guide 283


11 Analyze Commands

:ANALyze:SIGNal:PATTern:SMAP
Command :ANALyze:SIGNal:PATTern:SMAP <source>,{UNCoded | GRAYcoded}

For PAM4 signal types (see :ANALyze:SIGNal:TYPE), the


:ANALyze:SIGNal:PATTern:SMAP command specifies whether the symbol map is
gray-coded or uncoded.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
For more information on <source> parameters, see "Sources for Analyze
Commands" on page 248.
Query :ANALyze:SIGNal:PATTern:SMAP? <source>

The :ANALyze:SIGNal:PATTern:SMAP? query returns the symbol map setting.


Returned Format {UNC | GRAY}<NL>

See Also • ":ANALyze:SIGNal:TYPE" on page 285


• ":ANALyze:SIGNal:PATTern:CLEar" on page 281
• ":ANALyze:SIGNal:PATTern:LOAD" on page 282
• ":ANALyze:SIGNal:PATTern:PLENgth" on page 283
• ":MEASure:BER" on page 767
• ":MEASure:BERPeracq" on page 768
• ":MEASure:SER" on page 959
• ":MEASure:SERPeracq" on page 960
History New in version 6.20.

284 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

:ANALyze:SIGNal:TYPE
Command :ANALyze:SIGNal:TYPE <source>,{UNSPecified | NRZ | PAM4 | PAM3
| MMWave | CPHY, <source_B-C>, <source_C-A>}

The :ANALyze:SIGNal:TYPE command lets you specify whether a channel,


function, or waveform memory is a special type of signal, like a PAM-4 signal for
example.
• UNSPecified — When a signal type is unspecified, the oscilloscope's digital
signal analysis and measurement features assume a NRZ signal with two levels
(high and low).
• NRZ — With this selection, you are able to specify pattern lengths and patterns
so that you can make BER measurements on NRZ signals.
• PAM4 — When a signal is specified as a PAM-4 (4-level Pulse-Amplitude
Modulation) signal:
• It changes how the oscilloscope determines voltage levels. Three thresholds
are used to distinguish between the four voltage levels.
• It changes how the oscilloscope represents the data rate. Two bits of data
are represented by each voltage level.
• The term symbol rate is used to describe the clock edge rate of the signal.
The inverse of this rate is the unit interval (UI).
• There are multiple edges to consider in clock recovery.
• It changes how eye measurements, voltage level measurements, and
rise/fall time measurements are presented because of the multiple eyes,
levels, and edges.
• PAM3 — When a signal is specified as a PAM-3 (3-level Pulse-Amplitude
Modulation) signal:
• It changes how the oscilloscope determines voltage levels. Two thresholds
are used to distinguish between the three voltage levels.
• It changes how the oscilloscope represents the data rate. Two bits of data
are represented by each voltage level (00, 01, or 10).
• The term symbol rate is used to describe the clock edge rate of the signal.
The inverse of this rate is the unit interval (UI).
• There are multiple edges to consider in clock recovery.
• It changes how eye measurements, voltage level measurements, and
rise/fall time measurements are presented because of the multiple eyes,
levels, and edges.

Keysight Infiniium Oscilloscopes Programmer's Guide 285


11 Analyze Commands

• MMWave — Supports analysis of millimeter-wave signals that have been


down-converted to IF band signals by an external smart mixer and an LO signal
from a signal generator. The oscilloscope controls the signal generator and
external smart mixer and gets correction factors and detector level information
from the mixer. The resulting signals can be analyzed using the oscilloscope's
FFT spectral analysis and demodulated using the 89600 VSA vector signal
analysis software.
• CPHY — Supports decode and analysis of MIPI C-PHY signals.
When CPHY is selected, the first <source> option is the A-B source.
<source>, {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
<source_B-C>,
<source_C-A>
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Query :ANALyze:SIGNal:TYPE? <source>

The :ANALyze:SIGNal:TYPE? query returns a channel, function, or waveform


memory's signal type.
Returned Format [:ANALyze:SIGNal:TYPE] <type><NL>

<type> ::= {UNSP | NRZ | PAM4 | PAM3 | MMW | CPHY}

See Also • ":ANALyze:CLOCk:METHod:SKEW" on page 265


• ":ANALyze:SIGNal:PATTern:PLENgth" on page 283
• ":ANALyze:SIGNal:PATTern:LOAD" on page 282
• ":MEASure:BER" on page 767
• ":MEASure:BERPeracq" on page 768
• ":ANALyze:SIGNal:DATarate" on page 271
• ":ANALyze:SIGNal:SYMBolrate" on page 273
• ":MEASure:CGRade:EWIDth" on page 778

286 Keysight Infiniium Oscilloscopes Programmer's Guide


Analyze Commands 11

• ":MEASure:CGRade:EHEight" on page 775


• ":MEASure:FALLtime" on page 810
• ":MEASure:PAM:ELEVel" on page 883
• ":MEASure:PAM:ESKew" on page 886
• ":MEASure:PAM:LEVel" on page 895
• ":MEASure:PAM:LRMS" on page 897
• ":MEASure:PAM:LTHickness" on page 899
• ":MEASure:RISetime" on page 933
• ":MEASure:THResholds:DISPlay" on page 969
• ":MEASure:THResholds:GENeral:METHod" on page 975
• ":MEASure:THResholds:GENeral:PAMCustom" on page 977
• ":MEASure:THResholds:GENeral:PAMAutomatic" on page 979
• ":MEASure:THResholds:RFALl:METHod" on page 992
• ":MEASure:THResholds:RFALl:PAMAutomatic" on page 994
• ":MEASure:TIEData2" on page 1015
History New in version 5.50.
Version 5.60: Added the MMWave signal type.
Version 6.10: Added the CPHY signal type.
Version 6.30: Added the PAM3 signal type.

Keysight Infiniium Oscilloscopes Programmer's Guide 287


11 Analyze Commands

:ANALyze:VIEW
Command :ANALyze:VIEW <data>

<data> ::= {ALL | MAIN}

The :ANALyze:VIEW command specify whether to use the data on screen or the
entire acquisition for measurements, functions, and analysis.
This command maps to the "Window All Data" control in the user interface's
Measurement Setup dialog box.
When all edges in an acquisition are used for horizontal measurements (see
:ANALyze:AEDGes), this command's setting becomes "ALL" and the entire
acquisition is used for measurements, functions, and analysis.
Query :ANALyze:VIEW?

The :ANALyze:VIEW? query returns the value that is currently set.


Returned Format [:ANALyze:VIEW] <data><NL>

<data> ::= {ALL | MAIN}

See Also • ":ANALyze:AEDGes" on page 249


History New in version 5.30.

288 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

12 Bus Commands
:BUS:B<N>:TYPE / 290
:BUS<B>:BIT<M> / 292
:BUS<B>:BITS / 293
:BUS<B>:CLEar / 294
:BUS<B>:CLOCk / 295
:BUS<B>:CLOCk:SLOPe / 296
:BUS<B>:DISPlay / 297
:BUS<B>:LABel / 298
:BUS<B>:READout / 299

The :BUS:B<N>:TYPE command applies to oscilloscopes with protocol decode licenses


N OT E
installed. The other :BUS<B> commands apply to mixed-signal oscilloscopes (MSOs).

289
12 Bus Commands

:BUS:B<N>:TYPE
Command :BUS:B<N>:TYPE {<protocol> | <hs_protocol>}

This BUS command only applies to oscilloscopes with protocol decode licenses installed.
N OT E

The :BUS:B<N>:TYPE command sets the type of protocol being analyzed for a
serial bus waveform.
<protocol> {A429 | CAN | CPHY | DDR | E10BASET | E10GBASEKR | E100GBASEKRCR | EPSI |
FLEXray | GENRaw | I3C | IIC | JTAG | LIN | MAN | M1553 | MIPI | RFFE | SENT | SPI |
SPMI | SPW | SVID | UART | USB2}
<hs_protocol> {BRR | CSI3 | DIGRf | DVI | E100BASETX | FIBRechannel | {GEN8B10B | GENeric} |
INFiniband | JESD204B | LLI | PCI3 | PCI4 | PCIExpress | QSPI | SAS | SATA | SSIC |
UFS | UNIPro | USB3 | USB31 | USB32 | USBPD | XAUI}
<N> An integer, 1-4.
Example This example sets the serial bus waveform number one protocol type to FLEXray.
myScope.WriteString ":BUS:B1:TYPE FLEXray"

Query :BUS:B<N>:TYPE?

The :BUS:B<N>:TYPE? query returns the name of the protocol being used for the
serial bus.
Returned Format [:BUS:B<N>:TYPE] {<protocol> | <hs_protocol>}<NL>

<protocol> {A429 | CAN | CPHY | DDR | E10BASET | E10GBASEKR | E100GBASEKRCR | ESPI |


FLEX | GENR | I3C | IIC | JTAG | LIN | MAN | M1553 | MIPI | RFFE | SENT | SPI | SPMI
| SPW | SVID | UART | USB2}
<hs_protocol> {BRR | CSI3 | DIGR | DVI | E100BASETX | FC | {USER | USER} | INF | JESD204B | LLI
| PCI3 | PCI4 | PCIE | QSPI | SAS | SATA | SSIC | UFS | UNIP | USB3 | USB31 | USB32
| USBPD | XAUI}
See Also • ":SBUS<N>:HS Commands" on page 1124
History Legacy command (existed before version 3.10).
Version 3.11: Added the MPHY protocol type for the MIPI M-PHY serial decode
selection.
Version 5.00: Added support for new protocols.
Version 5.51: Added support for new ESPI, USB31, and USBPD protocols.
Version 5.70: Added support for new A429, M1553, and I3C protocols.
Version 6.00: Added support for new GENRaw and SPMI protocols.

290 Keysight Infiniium Oscilloscopes Programmer's Guide


Bus Commands 12

Version 6.10: Added support for new CPHY (MIPI C-PHY), BRR (BroadR-Reach),
SPW (SpaceWire), and MAN (Manchester) protocols.
Version 6.20: Added support for new PCI4 (PCI Express Gen4) and SENT (Single
Edge Nibble Transmission) protocols.
Version 6.30: Added support for new QSPI (Quad SPI) and USB32 (USB 3.2)
protocols.

Keysight Infiniium Oscilloscopes Programmer's Guide 291


12 Bus Commands

:BUS<B>:BIT<M>
Command :BUS<B>:BIT<M> {ON | OFF | 1 | 0}

The BUS commands only apply to the MSO oscilloscopes.


N OT E

The :BUS<B>:BIT<M> command includes or excludes the selected bit as part of


the definition for the selected bus. If the parameter is a 1 (ON) then the bit is
included in the definition. If the parameter is a 0 (OFF) then the bit is excluded
from the definition. The digital subsystem must be enabled for this command will
work. See ENABle command in the root subsystem.
<M> An integer, 0-15.
<N> An integer, 1-4.
Example This example includes bit 1 as part of the bus 1 definition.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1:BIT1 ON"

Query :BUS<B>:BIT<M>?

The :BUS<B>:BIT<M>? query returns the value indicating whether the specified bit
is included or excluded from the specified bus definition.
Returned Format [:BUS<B>:BIT<M>] {1 | 0}<NL>

History Legacy command (existed before version 3.10).

292 Keysight Infiniium Oscilloscopes Programmer's Guide


Bus Commands 12

:BUS<B>:BITS
Command :BUS<B>:BITS <channel_list>,{ON | OFF| 1 | 0}

The BUS commands only apply to the MSO oscilloscopes.


N OT E

The :BUS<B>:BITS command includes or excludes the selected bits in the channel
list in the definition of the selected bus. If the parameter is a 1 (ON) then the bits in
the channel list are included as part of the selected bus definition. If the parameter
is a 0 (OFF) then the bits in the channel list are excluded from the definition of the
selected bus. The digital subsystem must be enabled for this command will work.
See ENABle command in the root subsystem.
<N> An integer, 1- 4.
<channel_list> The channel range is from 0 to 15 in the following format.

(@1,5,7,9) channels 1, 5, 7, and 9 are turned on.


(@1:15) channels 1 through 15 are turned on.
(@1:5,8,14) channels 1 through 5, channel 8, and channel 14
are turned on.

The parenthesizes are part of the expression and are necessary.


N OT E

Example This example includes bits 1, 2, 4, 5, 6, 7, 8, and 9 as part of the bus 1 definition.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1:BITS (@1,2,4:9),ON"

Query :BUS<B>:BITS?

The :BUS<B>:BITS? query returns the definition for the specified bus.
Returned Format [:BUS<B>:BITS] <channel_list>,{1 | 0}<NL>

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 293


12 Bus Commands

:BUS<B>:CLEar
Command :BUS<B>:CLEar

The BUS commands only apply to the MSO oscilloscopes.


N OT E

The :BUS<B>:CLEar command excludes all of the digital channels from the
selected bus definition.
<N> An integer, 1-4.
Example This example excludes all the digital channels from the bus 1 definition.
myScope.WriteString ":BUS1:CLEar"

History Legacy command (existed before version 3.10).

294 Keysight Infiniium Oscilloscopes Programmer's Guide


Bus Commands 12

:BUS<B>:CLOCk
Command :BUS<B>:CLOCk {CHANnel<N> | DIGital<M> | NONE}

The BUS commands only apply to the MSO oscilloscopes.


N OT E

The :BUS<B>:CLOCk command sets the digital or analog channel used as the
clock for decoding the bus values.
<M> An integer, 0-15.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<O> An integer, 1-4.
Example This example sets the clock to channel 1 for bus 1.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1:CLOCk CHANnel1"

Query :BUS<B>:CLOCK?

The :BUS<B>:CLOCk query returns the channel being used for the specified bus.
Returned Format [:BUS<B>:CLOCk] {CHANnel<O> | DIGital<M> | NONE}<NL>

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 295


12 Bus Commands

:BUS<B>:CLOCk:SLOPe
Command :BUS<B>:CLOCk:SLOPe {RISing | FALLing | EITHer}

The BUS commands only apply to the MSO oscilloscopes.


N OT E

The :BUS<B>:CLOCk:SLOPe command sets the clock edge used for decoding the
bus values.
<O> An integer, 1-4.
Example This example sets the clock edge to falling for bus 1.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1:CLOCk:SLOPE FALLING"

Query :BUS<B>:CLOCK:SLOPe?

The :BUS<B>:CLOCk:SLOPe query returns the clock edge being used for the
specified bus.
Returned Format [:BUS<B>:CLOCk:SLOPe] {RISing | FALLing | EITHer}<NL>

History Legacy command (existed before version 3.10).

296 Keysight Infiniium Oscilloscopes Programmer's Guide


Bus Commands 12

:BUS<B>:DISPlay
Command :BUS<B>[:DISPlay] {ON | OFF | 1 | 0}

The BUS commands only apply to the MSO oscilloscopes.


N OT E

The :BUS<B>:DISPlay command enables or disables the view of the selected bus.
The digital subsystem must be enabled before this command will work. See the
ENABle command in the root subsystem.
<N> An integer, 1- 4.
Example This example enables the viewing of bus 1.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1 ON"

Query :BUS<B>[:DISPlay]?

The :BUS<B>[:DISPlay]? query returns the display value of the selected bus.
Returned Format [:BUS<B>] {1 | 0}<NL>

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 297


12 Bus Commands

:BUS<B>:LABel
Command :BUS<B>:LABel <quoted_string>

The BUS commands only apply to the MSO oscilloscopes.


N OT E

The :BUS<B>:LABel command sets the bus label to the quoted string. Setting a
label for a bus will also result in the name being added to the label list.

Label strings are 16 characters or less, and may contain any commonly used ASCII characters.
N OT E
Labels with more than 16 characters are truncated to 16 characters.

<N> An integer, 1- 4.
<quoted_string> A series of 6 or less characters as a quoted ASCII string.
Example This example sets the bus 1 label to Data.
myScope.WriteString ":BUS1:LABel ""Data"""

Query :BUS<B>:LABel?

The :BUS<B>:LABel? query returns the name of the specified bus.


Returned Format [:BUS<B>:LABel] <quoted_string><NL>

History Legacy command (existed before version 3.10).

298 Keysight Infiniium Oscilloscopes Programmer's Guide


Bus Commands 12

:BUS<B>:READout
Command :BUS<B>:READout {DECimal | HEX | SIGNed | SYMBol}

The BUS commands only apply to the MSO oscilloscopes.


N OT E

The :BUS<B>:READout command changes the format of the numbers displayed in


the bus waveform.
<N> An integer, 1-4.
Example This example sets the bus read out to decimal.
myScope.WriteString ":BUS1:READout DECimal"

Query :BUS<B>:READout?

The :BUS<B>:READout? query returns the format of the readout control.


Returned Format [:BUS<B>:READout] {DECimal | HEX | SIGNed | SYMBol}<NL>

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 299


12 Bus Commands

300 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

13 Calibration Commands
:CALibrate:DATE? / 303
:CALibrate:OUTPut / 304
:CALibrate:OUTPut:AUX / 306
:CALibrate:OUTPut:AUX:RTIMe / 307
:CALibrate:OUTPut:CAL / 308
:CALibrate:SKEW / 309
:CALibrate:STATus? / 310
:CALibrate:TEMP? / 311

This chapter briefly explains the calibration of the oscilloscope. It is intended to


give you and the calibration lab personnel an understanding of the calibration
procedure and how the calibration subsystem is intended to be used.
The commands in the CALibration subsystem allow you to change the output of
the front-panel Aux Out connector, adjust the skew of channels, and check the
status of calibration.
These CALibration commands and queries are implemented in the Infiniium
oscilloscopes:
This chapter briefly explains the calibration of the oscilloscope. It is intended to
give you and the calibration lab personnel an understanding of the calibration
procedure and how the calibration subsystem is intended to be used.
Oscilloscope Oscilloscope calibration establishes calibration factors for the oscilloscope. These
Calibration factors are stored on the oscilloscope's hard disk.
• Initiate the calibration from the "Utilities Calibration" menu.
You should calibrate the oscilloscope periodically (at least annually), or if the
ambient temperature since the last calibration has changed more than ±5 °C. The
temperature change since the last calibration is shown on the calibration status
screen which is found under the "Utilities Calibration" dialog. It is the line labeled
"Calibration Δ Temp: _ °C."
See also the oscilloscope's Service Guide has more details about the calibration.

301
13 Calibration Commands

Probe Calibration Probe calibration establishes the gain and offset of a probe that is connected to a
channel of the oscilloscope, and applies these factors to the calibration of that
channel.
• Initiate probe calibration from the "Setup > Channel > Probes > Calibrate Probe"
menu.
To achieve the specified accuracy (±2%) with a probe connected to a channel,
make sure the oscilloscope is calibrated.
• For probes that the oscilloscope can identify through the probe power
connector, like the 1158A, the oscilloscope automatically adjusts the
vertical scale factors for that channel even if a probe calibration is not
performed.
• For nonidentified probes, the oscilloscope adjusts the vertical scale factors
only if a probe calibration is performed.
• If you do not perform a probe calibration but want to use an unidentified probe,
enter the attenuation factor in the "Setup > Channel > Probes > Configure
Probing System > User Defined Probe" menu.
• If the probe being calibrated has an attenuation factor that allows the
oscilloscope to adjust the gain (in hardware) to produce even steps in the
vertical scale factors, the oscilloscope will do so.
• If the probe being calibrated has an unusual attenuation, like 3.75, the
oscilloscope may have to adjust the vertical scale factors to an unusual
number, like 3.75 V/div.
Typically, probes have standard attenuation factors such as divide by 10, divide
by 20, or divide by 100.

302 Keysight Infiniium Oscilloscopes Programmer's Guide


Calibration Commands 13

:CALibrate:DATE?
Query :CALibrate:DATE?

The :CALibrate:DATE? query returns two calibration dates and times:


• The date and time of the last regular user calibration.
• The date and time of the last time scale calibration.
Returned Format [:CALibrate:DATE] <user_date_time>,<ts_date_time><NL>

The string returned is formatted like "<day> <month> <year>


<hours>:<minutes>:<seconds>,<day> <month> <year>
<hours>:<minutes>:<seconds>", for example "31 MAY 2013 12:52:45,4 DEC 2012
10:59:52".
History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 303


13 Calibration Commands

:CALibrate:OUTPut
Command :CALibrate:OUTPut {AC | TRIGOUT | DC,<dc_value> | ZERO | ONE | DPULse
| SOSC | HFOSC | PRBS7 | PRBS15 | PRBS31}

The :CALibrate:OUTPut command sets the coupling frequency, trigger output


pulse, and dc level of the calibrator waveform output through the front-panel Aux
Out connector.
Options on all oscilloscopes:
• AC — sets the Aux Out to be the probe compensation square wave
(approximately 750 Hz).
• TRIGOUT — outputs a pulse when the trigger event occurs. Use this to trigger
other instruments.
• DC,<dc_value> — a DC level value in volts. The <dc_value> is a real number
from -2.4 V to +2.4 V dc.
Options on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes:
• ZERO — a -450 mV DV level.
• ONE — a -150 mV DC level.
• DPULse — A double-pulse signal.
• SOSC — The 100 MHz reference clock output.
• HFOSC — A high-frequency oscillator output.
Options on 90000 X-Series, V-Series, 90000 Q-Series, and Z-Series oscilloscopes:
• PRBS7 — Pseudo-Random Binary Sequence with maximum length 27-1 bits,
and its inverted version.
• PRBS15 — Pseudo-Random Binary Sequence with maximum length 215-1 bits,
and its inverted version.
• PRBS31 — Pseudo-Random Binary Sequence with maximum length 231-1 bits,
and its inverted version.
Example This example puts a DC voltage of 2.0 volts on the oscilloscope front-panel
Aux Out connector.
myScope.WriteString ":CALibrate:OUTPut DC,2.0"

Query :CALibrate:OUTPut?

The :CALibrate:OUTPut? query returns the current setup.


Returned Format [:CALibrate:OUTPut] {AC | TRIGOUT | DC,<dc_value> | ZERO | ONE | DPULse
| SOSC | HFOSC | PRBS7 | PRBS15 | PRBS31}

304 Keysight Infiniium Oscilloscopes Programmer's Guide


Calibration Commands 13

Example This example places the current selection for the DC calibration to be printed in
the string variable, strSelection, then prints the contents of the variable to the
computer's screen.
Dim strSelection As String 'Dimension variable
myScope.WriteString ":CALibrate:OUTPut?"
strSelection = myScope.ReadString
Debug.Print strSelection

History Legacy command (existed before version 3.10).


Version 6.10: Added the PRBS7, PRBS15, and PRBS31 options for the Infiniium
90000 X-Series, V-Series, 90000 Q-Series, and Z-Series oscilloscopes.

Keysight Infiniium Oscilloscopes Programmer's Guide 305


13 Calibration Commands

:CALibrate:OUTPut:AUX
Command :CALibrate:OUTPut:AUX {{0 | OFF} | {1 | ON}}

The :CALibrate:OUTPut:AUX command enables or disables signal output on the


oscilloscope's Aux Out connector.

On the Infiniium S-Series, 9000 Series, or 90000A Series oscilloscopes, the only valid setting
N OT E
for this command is ON or 1.

Query :CALibrate:OUTPut:AUX?

The :CALibrate:OUTPut:AUX? query returns the Aux Out enable/disable setting.


Returned Format <setting><NL>

<setting> ::= {0 | 1}

See Also • ":CALibrate:OUTPut" on page 304


• ":CALibrate:OUTPut:AUX:RTIMe" on page 307
• ":CALibrate:OUTPut:CAL" on page 308
History New in version 6.00.

306 Keysight Infiniium Oscilloscopes Programmer's Guide


Calibration Commands 13

:CALibrate:OUTPut:AUX:RTIMe
Command :CALibrate:OUTPut:AUX:RTIMe <risetime>

The :CALibrate:OUTPut:AUX:RTIMe command specifies the speed of the Aux Out


signal's rise time.
<risetime> {FAST | SLOW | RFAST}

The RFAST option is available with the 9000 Series oscilloscopes only.
N OT E

Query :CALibrate:OUTPut:AUX:RTIMe?

The :CALibrate:OUTPut:AUX:RTIMe? query returns the Aux Out rise time setting.
Returned Format <risetime><NL>

<risetime> ::= {FAST | SLOW | RFAST}

See Also • ":CALibrate:OUTPut" on page 304


• ":CALibrate:OUTPut:AUX" on page 306
• ":CALibrate:OUTPut:CAL" on page 308
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 307


13 Calibration Commands

:CALibrate:OUTPut:CAL
Command :CALibrate:OUTPut:CAL {{0 | OFF} | {1 | ON}}

The :CALibrate:OUTPut:CAL command enables or disables signal output on the


oscilloscope's Cal Out connector.

On the Infiniium S-Series, 9000 Series, or 90000A Series oscilloscopes, the only valid setting
N OT E
for this command is OFF or 0 because there is no Cal Out connector.

Query :CALibrate:OUTPut:CAL?

The :CALibrate:OUTPut:CAL? query returns the Cal Out enable/disable setting.


Returned Format <setting><NL>

<setting> ::= {0 | 1}

See Also • ":CALibrate:OUTPut" on page 304


• ":CALibrate:OUTPut:AUX" on page 306
• ":CALibrate:OUTPut:AUX:RTIMe" on page 307
History New in version 6.00.

308 Keysight Infiniium Oscilloscopes Programmer's Guide


Calibration Commands 13

:CALibrate:SKEW
Command :CALibrate:SKEW <source>,<skew_value>

<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C>}

The :CALibrate:SKEW command sets the channel-to-channel skew factor for a


channel. The numeric argument is a real number in seconds, which is added to the
current time base position to shift the position of the channel's data in time. Use
this command to compensate for differences in the electrical lengths of input
paths due to cabling and probes.
<N> An integer, 1-4.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<skew_value> A real number, in seconds.
Example This example sets the oscilloscope channel 1 skew to 1 μs.
myScope.WriteString ":CALibrate:SKEW CHANnel1,1E-6"

Query :CALibrate:SKEW? <source>

The :CALibrate:SKEW? query returns the current skew value.


Returned Format [:CALibrate:SKEW] <skew_value><NL>

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 309


13 Calibration Commands

:CALibrate:STATus?
Query :CALibrate:STATus?

The :CALibrate:STATus? query returns the calibration status of the oscilloscope.


These are ten, comma-separated integers, with 1, 0, or -1. A "1" indicates pass, a
"0" indicates fail and a "-1" indicates unused. This matches the status in the
Calibration dialog box in the Utilities menu.
Returned Format [:CALibrate:STATus] <status>

<status> <Oscilloscope Frame Status>, <Channel1 Vertical>, <Channel1 Trigger>,


<Channel2 Vertical>, <Channel2 Trigger>, <Channel3 Vertical>, <Channel3
Trigger>, <Channel4 Vertical>, <Channel4 Trigger>, <Aux Trigger>
History Legacy command (existed before version 3.10).

310 Keysight Infiniium Oscilloscopes Programmer's Guide


Calibration Commands 13

:CALibrate:TEMP?
Query :CALibrate:TEMP?

The :CALibrate:TEMP? query returns two delta temperature values in Celsius:


• Between the current temp and the temp of the last time scale calibration.
• Between the current temp and the temp of the last regular user calibration.
Returned Format [:CALibrate:TEMP] <ts_delta_temp>,<user_delta_temp><NL>

For example, the string returned could be "-1,0". A difference in the two delta
values of one degree is not uncommon.
History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 311


13 Calibration Commands

312 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

14 Channel Commands
:CHANnel<N>:BWLimit (9000 Series, 9000H Series, S-Series) / 316
:CHANnel<N>:COMMonmode / 317
:CHANnel<N>:DIFFerential / 318
:CHANnel<N>:DIFFerential:SKEW / 319
:CHANnel<N>:DISPlay / 320
:CHANnel<N>:DISPlay:AUTO / 321
:CHANnel<N>:DISPlay:OFFSet / 323
:CHANnel<N>:DISPlay:RANGe / 325
:CHANnel<N>:DISPlay:SCALe / 327
:CHANnel<N>:INPut / 329
:CHANnel<N>:INVert / 330
:CHANnel<N>:ISIM:APPLy / 331
:CHANnel<N>:ISIM:BANDwidth / 332
:CHANnel<N>:ISIM:BWLimit / 334
:CHANnel<N>:ISIM:BWLimit:TYPE / 336
:CHANnel<N>:ISIM:CONVolve / 337
:CHANnel<N>:ISIM:CORRection / 338
:CHANnel<N>:ISIM:DEConvolve / 340
:CHANnel<N>:ISIM:DELay / 341
:CHANnel<N>:ISIM:NORMalize / 342
:CHANnel<N>:ISIM:PEXTraction / 343
:CHANnel<N>:ISIM:SPAN / 345
:CHANnel<N>:ISIM:STATe / 346
:CHANnel<N>:LABel / 347
:CHANnel<N>:OFFSet / 348
:CHANnel<N>:PROBe / 349
:CHANnel<N>:PROBe:ACCAL / 350
:CHANnel<N>:PROBe:ATTenuation / 351
:CHANnel<N>:PROBe:AUTozero / 352
:CHANnel<N>:PROBe:COUPling / 353
:CHANnel<N>:PROBe:EADapter / 354
:CHANnel<N>:PROBe:ECOupling / 357

313
14 Channel Commands

:CHANnel<N>:PROBe:EXTernal / 358
:CHANnel<N>:PROBe:EXTernal:GAIN / 359
:CHANnel<N>:PROBe:EXTernal:OFFSet / 360
:CHANnel<N>:PROBe:EXTernal:UNITs / 361
:CHANnel<N>:PROBe:GAIN / 362
:CHANnel<N>:PROBe:HEAD:ADD / 363
:CHANnel<N>:PROBe:HEAD:DELete ALL / 364
:CHANnel<N>:PROBe:HEAD:SELect / 365
:CHANnel<N>:PROBe:HEAD:VTERm / 366
:CHANnel<N>:PROBe:ID? / 367
:CHANnel<N>:PROBe:INFO? / 368
:CHANnel<N>:PROBe:MODE / 369
:CHANnel<N>:PROBe:PRECprobe:BANDwidth / 370
:CHANnel<N>:PROBe:PRECprobe:CALibration / 371
:CHANnel<N>:PROBe:PRECprobe:DELay / 372
:CHANnel<N>:PROBe:PRECprobe:MODE / 373
:CHANnel<N>:PROBe:PRECprobe:ZSRC / 374
:CHANnel<N>:PROBe:PRIMary (9000 Series, 9000H Series, S-Series) / 376
:CHANnel<N>:PROBe:SKEW / 377
:CHANnel<N>:PROBe:STYPe / 378
:CHANnel<N>:RANGe / 379
:CHANnel<N>:SCALe / 380
:CHANnel<N>:SIMulation:AMPLitude / 381
:CHANnel<N>:SIMulation:DATA:LENGth / 382
:CHANnel<N>:SIMulation:DATA:ODD / 383
:CHANnel<N>:SIMulation:DATA:PAM / 384
:CHANnel<N>:SIMulation:DATA:RESeed / 385
:CHANnel<N>:SIMulation:DATA:SELection / 386
:CHANnel<N>:SIMulation:DRATe / 387
:CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess / 388
:CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction / 389
:CHANnel<N>:SIMulation:FILTer:SELection / 390
:CHANnel<N>:SIMulation:FLOad:ADDRess / 391
:CHANnel<N>:SIMulation:FLOad:LOOP / 392
:CHANnel<N>:SIMulation:FREQuency / 393
:CHANnel<N>:SIMulation:FUNCtion:SELection / 394
:CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle / 395
:CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe / 396
:CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe / 397

314 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:JITTer / 398
:CHANnel<N>:SIMulation:JITTer:ABUJ / 399
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle / 400
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency / 401
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude / 402
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe / 403
:CHANnel<N>:SIMulation:JITTer:RANDom / 404
:CHANnel<N>:SIMulation:NOISe / 405
:CHANnel<N>:SIMulation:NOISe:BWLimit / 406
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle / 407
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency / 408
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude / 409
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe / 410
:CHANnel<N>:SIMulation:NOISe:RANDom / 411
:CHANnel<N>:SIMulation:OFFSet / 412
:CHANnel<N>:SIMulation:WAVeform / 413
:CHANnel<N>:UNITs / 414

The CHANnel subsystem commands control all vertical (Y axis) functions of the
oscilloscope. You may toggle the channel displays on and off with the root level
commands :VIEW and :BLANk, or with :CHANnel:DISPlay.

In this section, you can specify differential and/or common mode channels using the following
N OT E
convention. If you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

Keysight Infiniium Oscilloscopes Programmer's Guide 315


14 Channel Commands

:CHANnel<N>:BWLimit (9000 Series, 9000H Series, S-Series)


Command :CHANnel<N>:BWLimit {{ON | 1} | {OFF | 0}} for 9000, 9000H Series

:CHANnel<N>:BWLimit {{OFF | 0} | 20e6 | 200e6} for S-Series

On Infiniium 9000 Series or S-Series oscilloscopes, the :CHANnel<N>:BWLimit


command controls the input channel's low-pass filter. When ON (or set to a value),
the bandwidth of the specified channel is limited. The bandwidth filter can be
used with either AC or DC coupling.
• On Infiniium 9000 Series oscilloscopes, 1M Ω input impedance must be
selected before you can turn on the 20 MHz low-pass filter (see
":CHANnel<N>:INPut" on page 329).
• On Infiniium S-Series oscilloscopes, 20 MHz or 200 MHz low pass filters can be
turned on (without a passive probe being connected).
You can enable custom bandwidth limits using the :CHANnel<N>:ISIM:BWLimit
command. You can specify the custom bandwidth limit value with the
:CHANnel<N>:ISIM:BANDwidth command.
<N> An integer, 1-4.
Example This example sets the internal low-pass filter to "ON" for channel 1.
myScope.WriteString ":CHANnel1:BWLimit ON"

Query :CHANnel<N>:BWLimit?

The :CHANnel<N>:BWLimit? query returns the current state of the low-pass filter
for the specified channel.
Returned Format [:CHANnel<N>:BWLimit] {1 | 0}<NL> for 9000, 9000H Series

[:CHANnel<N>:BWLimit] {0 | 20e6 | 200e6}<NL> for S-Series

Example This example places the current setting of the low-pass filter in the variable
varLimit, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:BWLimit?"
varLimit = myScope.ReadNumber
Debug.Print FormatNumber(varLimit, 0)

See Also • ":CHANnel<N>:INPut" on page 329


• ":CHANnel<N>:ISIM:BWLimit" on page 334
• ":CHANnel<N>:ISIM:BANDwidth" on page 332
• ":ACQuire:BANDwidth" on page 217
History Legacy command (existed before version 3.10).

316 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:COMMonmode
Command :CHANnel<N>:COMMonmode {{ON | 1} | {OFF | 0}}

The :CHANnel<N>:COMMonmode command turns on/off common mode for the


channel. Channels 2 and 4 may form a common mode channel and Channels 1
and 3 may form a common mode channel.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example turns channel 1 common mode channel on (channel 1 + channel 3).
myScope.WriteString ":CHANnel1:COMMonmode ON"

Query :CHANnel<N>:COMMonmode?

The :CHANnel<N>:COMMonmode? query returns whether the channel is in


commonmode or not.
Returned Format [:CHANnel<N>:COMMonmode] {1 | 0}<NL>

Example This example places the current common mode setting of the channel 1 display in
the variable varComm, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:COMMonmode?"
varComm = myScope.ReadNumber
Debug.Print FormatNumber(varComm, 0)

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 317


14 Channel Commands

:CHANnel<N>:DIFFerential
Command :CHANnel<N>:DIFFerential {{ON | 1} | {OFF | 0}}

The :CHANnel<N>:DIFFerential command turns on/off differential mode for the


channel. Channels 1 and 3 may form a differential channel and Channels 2 and 4
may form a differential channel.
When differential channel modes are turned on, you can specify the display
vertical scale, range, and offsets for the differential or common mode signals
(using the :CHANnel<N>:DISPlay:SCALe, :CHANnel<N>:DISPlay:RANGe, or
:CHANnel<N>:DISPlay:OFFSet commands), or you can set the display vertical
scale, range, and offsets to track the acquisition vertical scale and offset (using the
:CHANnel<N>:DISPlay:AUTO command).
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example turns channel 1 differential on (channel 1 - channel 3).
myScope.WriteString ":CHANnel1:DIFFerential ON"

Query :CHANnel<N>:DIFFerential?

The :CHANnel<N>:DIFFerential? query returns whether the channel is in


differential mode or not.
Returned Format [:CHANnel<N>:DIFFerential] {1 | 0}<NL>

Example This example places the current differential setting of the channel 1 display in the
variable varDiff, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DIFFerential?"
varDiff = myScope.ReadNumber
Debug.Print FormatNumber(varDiff, 0)

See Also • ":CHANnel<N>:DISPlay:AUTO" on page 321


• ":CHANnel<N>:DISPlay:OFFSet" on page 323
• ":CHANnel<N>:DISPlay:RANGe" on page 325
• ":CHANnel<N>:DISPlay:SCALe" on page 327
History Legacy command (existed before version 3.10).

318 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:DIFFerential:SKEW
Command :CHANnel<N>:DIFFerential:SKEW <skew>

The :CHANnel<N>:DIFFerential:SKEW <skew> command sets the skew that is


applied to the differential or common mode pair of channels.
<skew> A real number for the skew value
Example This example sets the skew applied to the channel 1 - channel 3 differential
channel to 10 μs.
myScope.WriteString ":CHANnel1:DIFFerential:SKEW 10E-6"

Query :CHANnel<N>:DIFFerential:SKEW?

The :CHANnel<N>:DIFFerential:SKEW? query returns the skew that is applied to


the differential or common mode pair of channels.
Returned Format [:CHANnel<N>:DIFFerential:SKEW] <skew_value><NL>

Example This example places the current skew setting of the channel 1 - channel 3
differential channel in the variable varSkew, then prints the contents of the
variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DIFFerential:SKEW?"
varSkew = myScope.ReadNumber
Debug.Print FormatNumber(varSkew, 0)

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 319


14 Channel Commands

:CHANnel<N>:DISPlay
Command :CHANnel<N>:DISPlay {{ON | 1} | {OFF | 0}}

The :CHANnel<N>:DISPlay command turns the display of the specified channel on


or off.

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.


Example This example sets channel 1 display to on.
myScope.WriteString ":CHANnel1:DISPlay ON"

Query :CHANnel<N>:DISPlay?

The :CHANnel<N>:DISPlay? query returns the current display condition for the
specified channel.
Returned Format [:CHANnel<N>:DISPlay] {1 | 0}<NL>

Example This example places the current setting of the channel 1 display in the variable
varDisplay, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay?"
varDisplay = myScope.ReadNumber
Debug.Print FormatNumber(varDisplay, 0)

History Legacy command (existed before version 3.10).

320 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:DISPlay:AUTO
Command :CHANnel<N>:DISPlay:AUTO {{ON | 1} | {OFF | 0}}

This command only works when differential channel modes are turned on (using the
N OT E
:CHANnel<N>:DIFFerential command).

When differential channel modes are turned on:


• ON — sets the differential and common mode display vertical scale and offset
to track the acquisition vertical scale and offset.
In this case, the differential and common mode display vertical scale and
offsets are set using the normal :CHANnel<N>:SCALe, :CHANnel<N>:RANGe,
or :CHANnel<N>:OFFSet commands.
• OFF — the differential and common mode display vertical scale and offset are
set using the the :CHANnel<N>:DISPlay:SCALe, :CHANnel<N>:DISPlay:RANGe,
or :CHANnel<N>:DISPlay:OFFSet commands.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

Example This example sets the channel 1 - channel 3 differential channel display scale and
offset to track the acquisition scale and offset.
myScope.WriteString ":CHANnel1:DISPlay:AUTO ON"

Query :CHANnel<N>:DISPlay:AUTO?

The :CHANnel<N>:DISPlay:AUTO? query returns whether or not the differential or


common mode display scale and offset are tracking the acquisition scale and
offset.
Returned Format [:CHANnel<N>:DISPlay:AUTO] {1 | 0}<NL>

Example This example places whether or not the channel 1 - channel 3 differential channel
display scale and offset is tracking the acquisition scale and offset in the variable
varAuto, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay:AUTO?"

Keysight Infiniium Oscilloscopes Programmer's Guide 321


14 Channel Commands

varAuto = myScope.ReadNumber
Debug.Print FormatNumber(varAuto, 0)

See Also • ":CHANnel<N>:DIFFerential" on page 318


• ":CHANnel<N>:DISPlay:OFFSet" on page 323
• ":CHANnel<N>:DISPlay:RANGe" on page 325
• ":CHANnel<N>:DISPlay:SCALe" on page 327
• ":CHANnel<N>:OFFSet" on page 348
• ":CHANnel<N>:RANGe" on page 379
• ":CHANnel<N>:SCALe" on page 380
History Legacy command (existed before version 3.10).

322 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:DISPlay:OFFSet
Command :CHANnel<N>:DISPlay:OFFSet <value>

This command only works when differential channel modes are turned on (using the
N OT E
:CHANnel<N>:DIFFerential command).

When differential channel modes are turned on, the :CHANnel<N>:DISPlay:OFFSet


command sets the display vertical offset of the selected channel.
If the differential and common mode display vertical scale and offset is set to track
the acquisition vertical scale and offset (:CHANnel<N>:DISPlay:AUTO ON), using
the :CHANnel<N>:DISPlay:OFFSet command turns OFF auto tracking, and the
:CHANnel<N>:DISPlay:SCALe, :CHANnel<N>:DISPlay:RANGe, and
:CHANnel<N>:DISPlay:OFFSet commands are used to specify the display vertical
scale, range, and offsets for the differential or common mode signals.
<value> A real number for the value variable

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

Example This example sets the displayed offset of channel 1 to


myScope.WriteString ":CHANnel1:DISPlay:RANGe 10e-6"

Query :CHANnel<N>:DISPlay:OFFSet?

The :CHANnel<N>:DISPlay:OFFSet? query returns the displayed offset for the


selected channel.
Returned Format [:CHANnel<N>:DISPlay:OFFSet] <value><NL>

Example This example places the displayed offset of channel 1 in the variable varOffset,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay:OFFSet?"
varOffset = myScope.ReadNumber
Debug.Print FormatNumber(varOffset, 0)

See Also • ":CHANnel<N>:DIFFerential" on page 318


• ":CHANnel<N>:DISPlay:AUTO" on page 321

Keysight Infiniium Oscilloscopes Programmer's Guide 323


14 Channel Commands

• ":CHANnel<N>:DISPlay:RANGe" on page 325


• ":CHANnel<N>:DISPlay:SCALe" on page 327
History Legacy command (existed before version 3.10).

324 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:DISPlay:RANGe
Command :CHANnel<N>:DISPlay:RANGe <range>

This command only works when differential channel modes are turned on (using the
N OT E
:CHANnel<N>:DIFFerential command).

When differential channel modes are turned on, the :CHANnel<N>:DISPlay:RANGe


command sets the display full scale vertical range of the selected channel.
If the differential and common mode display vertical scale and offset is set to track
the acquisition vertical scale and offset (:CHANnel<N>:DISPlay:AUTO ON), using
the :CHANnel<N>:DISPlay:RANGe command turns OFF auto tracking, and the
:CHANnel<N>:DISPlay:SCALe, :CHANnel<N>:DISPlay:RANGe, and
:CHANnel<N>:DISPlay:OFFSet commands are used to specify the display vertical
scale, range, and offsets for the differential or common mode signals.
<range> A real number for the range value

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

Example This example sets the display range of the display of channel 1 to
myScope.WriteString ":CHANnel1:DISPlay:RANGe 10e-6"

Query :CHANnel<N>:DISPlay:RANGe?

The :CHANnel<N>:DISPlay:RANGe? query returns the full scale vertical range of


the display for the selected channel.
Returned Format [:CHANnel<N>:DISPlay:RANGe] <range><NL>

Example This example places the range of channel 1 in the variable varRange, then prints
the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay:RANGe?"
varRange = myScope.ReadNumber
Debug.Print FormatNumber(varRange, 0)

See Also • ":CHANnel<N>:DIFFerential" on page 318


• ":CHANnel<N>:DISPlay:AUTO" on page 321

Keysight Infiniium Oscilloscopes Programmer's Guide 325


14 Channel Commands

• ":CHANnel<N>:DISPlay:OFFSet" on page 323


• ":CHANnel<N>:DISPlay:SCALe" on page 327
History Legacy command (existed before version 3.10).

326 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:DISPlay:SCALe
Command :CHANnel<N>:DISPlay:SCALe <scale>

This command only works when differential channel modes are turned on (using the
N OT E
:CHANnel<N>:DIFFerential command).

When differential channel modes are turned on, the :CHANnel<N>:DISPlay:SCALe


command sets the display vertical scale (units per division) of the selected
channel.
If the differential and common mode display vertical scale and offset is set to track
the acquisition vertical scale and offset (:CHANnel<N>:DISPlay:AUTO ON), using
the :CHANnel<N>:DISPlay:SCALe command turns OFF auto tracking, and the
:CHANnel<N>:DISPlay:SCALe, :CHANnel<N>:DISPlay:RANGe, and
:CHANnel<N>:DISPlay:OFFSet commands are used to specify the display vertical
scale, range, and offsets for the differential or common mode signals.
<scale> A real number for the scale value

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

Example This example sets the display scale of channel 1 per division to
myScope.WriteString ":CHANnel1:DISPlay:SCALe 10e-6"

Query :CHANnel<N>:DISPlay:SCALe?

The :CHANnel<N>:DISPlay:SCALe? query returns the displayed scale of the


selected channel per division.
Returned Format [:CHANnel<N>:DISPlay:SCALe] <scale><NL>

Example This example places the display scale of channel 1 in the variable varScale, then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay:SCALe?"
varScale = myScope.ReadNumber
Debug.Print FormatNumber(varScale, 0)

See Also • ":CHANnel<N>:DIFFerential" on page 318

Keysight Infiniium Oscilloscopes Programmer's Guide 327


14 Channel Commands

• ":CHANnel<N>:DISPlay:AUTO" on page 321


• ":CHANnel<N>:DISPlay:OFFSet" on page 323
• ":CHANnel<N>:DISPlay:RANGe" on page 325
History Legacy command (existed before version 3.10).

328 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:INPut
Command :CHANnel<N>:INPut <parameter>

The :CHANnel<N>:INPut command selects the input coupling, impedance, and


LF/HF reject for the specified channel.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<parameter> On 9000 Series, 9000H Series, and S-Series oscilloscopes:
• DC — DC coupling, 1 MΩ impedance.
• DC50 | DCFifty — DC coupling, 50Ω impedance.
• AC — AC coupling, 1 MΩ impedance.
• LFR1 | LFR2 — AC 1 MΩ input impedance.
When no probe is attached, the coupling for each channel can be AC, DC,
DC50, or DCFifty.
If you have an 1153A probe attached, the valid parameters are DC, LFR1, and
LFR2 (low-frequency reject).
On 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and Z-Series
oscilloscopes:
• DC50 | DCFifty — DC coupling, 50Ω impedance.
Example This example sets the channel 1 input to DC50.
myScope.WriteString ":CHANnel1:INPut DC50"

Query :CHANnel<N>:INPut?

The :CHANnel<N>:INPut? query returns the selected channel input parameter.


Returned Format [CHANnel<N>:INPut] <parameter><NL>

Example This example puts the current input for channel 1 in the string variable, strInput.
The program then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:INPut?"
strInput = myScope.ReadString
Debug.Print strInput

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 329


14 Channel Commands

:CHANnel<N>:INVert
Command :CHANnel<N>:INVert {{0 | OFF} | {1 | ON}}

The :CHANnel<N>:INVert command enables or disables the invert setting for a


channel.
Inverting a channel causes the waveform to be reflected about the 0 V reference
point. Inverting a channel can cause the oscilloscope to stop triggering
(depending on the trigger level setting) and it it can affect math function
waveforms that have the channel as an input source.
Query :CHANnel<N>:INVert?

The :CHANnel<N>:INVert? query returns the channel invert setting.


Returned Format <setting><NL>

<setting> ::= {0 | 1}

History New in version 5.70.

330 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:ISIM:APPLy
Command :CHANnel<N>:ISIM:APPLy "<transfer_funct_file>"

This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.

The :CHANnel<N>:ISIM:APPLy command applies a pre-computed transfer


function to the waveform. If InfiniiSim is in 2 port mode, the file must be a .tf2 file.
If in 4 port mode, the file must be a .tf4 file. Use the ISIM:STATe command to
enable InfiniiSim before issuing the APPLy command.

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.


<transfer_funct_fil The full path to the .tf2 file name (if in 2 port mode) or the .tf4 file (if in 4 port
e> mode).
Example This example applies the example.tf4 file to the waveform on channel 1.
myScope.WriteString _
":CHANnel1:ISIM:APPLy " + _
"""C:\Users\Public\Documents\Infiniium\Filters\example.tf4"""

Query :CHANnel<N>:ISIM:APPLy?

The :CHANnel<N>:ISIM:APPLy? query returns the currently selected function file


name when 2 port or 4 port mode is enabled.
Returned Format [CHANnel<N>:ISIM:APPLy] <file_name><NL>

Example This example puts the current transfer function file name in the variable strFile. The
program then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:APPLy?"
strFile = myScope.ReadString
Debug.Print strFile

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 331


14 Channel Commands

:CHANnel<N>:ISIM:BANDwidth
Command :CHANnel<N>:ISIM:BANDwidth <bw_value>

The :CHANnel<N>:ISIM:BANDwidth command lets you set the custom bandwidth


limit (cutoff frequency) value. The :CHANnel<N>:ISIM:BWLimit command lets you
enable or disable the custom bandwidth limit.

• On Infiniium 9000 Series oscilloscopes, you can use the :CHANnel<N>:BWLimit command to enable
N OT E or disable a 20 MHz low-pass filter on the input channel.
• On Infiniium S-Series oscilloscopes, you can use the :CHANnel<N>:BWLimit command to enable or
disable a 20 MHz or 200 MHz low-pass filter on the input channel.

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.


<bw_value> The maximum value is the sample rate / 2. The minimum value is 1000 Hz.
Example This example sets the channel 1 input bandwidth limit cutoff frequency to 2 GHz.
myScope.WriteString ":CHANnel1:ISIM:BANDwidth 2e9"

Query :CHANnel<N>:ISIM:BANDwidth?

The :CHANnel<N>:ISIM:BANDwidth? query returns the selected channel input's


bandwidth limit cutoff frequency.
Returned Format [CHANnel<N>:ISIM:BANDwidth] <parameter><NL>

Example This example puts the current input for channel 1 in the string variable,
varBwLimit. The program then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:BANDwidth?"
varBwLimit = myScope.ReadNumber
Debug.Print FormatNumber(varBwLimit, 0)

See Also • ":CHANnel<N>:ISIM:BWLimit" on page 334


• ":CHANnel<N>:BWLimit (9000 Series, 9000H Series, S-Series)" on page 316
• ":ACQuire:BANDwidth" on page 217

332 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 333


14 Channel Commands

:CHANnel<N>:ISIM:BWLimit
Command :CHANnel<N>:ISIM:BWLimit {{ON | 1} | {OFF | 0}}

The :CHANnel<N>:ISIM:BWLimit command lets you enable or disable the custom


bandwidth limit (cutoff frequency). The CHANnel<N>:ISIM:BANDwidth command
sets the value to be used when the custom bandwidth limit is enabled.

• On Infiniium 9000 Series oscilloscopes, you can use the :CHANnel<N>:BWLimit command to enable
N OT E or disable a 20 MHz low-pass filter on the input channel.
• On Infiniium S-Series oscilloscopes, you can use the :CHANnel<N>:BWLimit command to enable or
disable a 20 MHz or 200 MHz low-pass filter on the input channel.

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.


Example This example turns on the bandwidth limit feature for channel 1.
myScope.WriteString ":CHANnel1:ISIM:BWLimit ON"

Query :CHANnel<N>:ISIM:BWLimit?

The :CHANnel<N>:ISIM:BWLimit? query returns the current state of the


corresponding channel's bandwidth limiting feature.
Returned Format [CHANnel<N>:ISIM:BWLimit] {1 | 0}<NL>

Example This example puts the current bandwidth limit state for channel 1 in the string
variable, varLimit. The program then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:BWLimit?"
varLimit = myScope.ReadNumber
Debug.Print FormatNumber(varLimit, 0)

See Also • ":CHANnel<N>:ISIM:BWLimit:TYPE" on page 336


• ":CHANnel<N>:ISIM:BANDwidth" on page 332
• ":CHANnel<N>:BWLimit (9000 Series, 9000H Series, S-Series)" on page 316
• ":ACQuire:BANDwidth" on page 217

334 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 335


14 Channel Commands

:CHANnel<N>:ISIM:BWLimit:TYPE
Command :CHANnel<N>:ISIM:BWLimit:TYPE <filter_type>

<filter_type> ::= {WALL | BESSEL4 | BANDpass}

The :CHANnel<N>:ISIM:BWLimit:TYPE command specifies a channel's bandwidth


limit filter response:
• WALL — Specifies a Brick-Wall response for the bandwidth limit filter. This
response has a sharp roll-off.
• BESSEL4 — Specifies a 4th Order Bessel response for the bandwidth limit filter.
This response has a more gradual roll-off.

To achieve the 4th Order Bessel response, the maximum bandwidth you can specify is about
N OT E
2/3 of the maximum bandwidth you could specify with the Brick-Wall filter. Also with the 4th
Order Bessel filter, the brick-wall response takes over at what would be the brick-wall filter's
maximum bandwidth. Therefore, you can have a combination of roll-off responses with this
selection.

• BANDpass — This option is for use with the Phase Noise analysis application
(see ":MEASure:PN:STATe" on page 917) and is not intended as a
general-purpose bandpass filter.
Query :CHANnel<N>:ISIM:BWLimit:TYPE?

The :CHANnel<N>:ISIM:BWLimit:TYPE? query returns the bandwidth limit filter


response setting.
Returned Format <filter_type><NL>

<filter_type> ::= {WALL | BESSEL4 | BAND}

See Also • ":CHANnel<N>:ISIM:BWLimit" on page 334


History New in version 5.70.
Version 6.30: The BANDpass option has been added to support the Phase Noise
analysis application.

336 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:ISIM:CONVolve
Command :CHANnel<N>:ISIM:CONVolve "<s_parameter_file>", {OFF | ON}

This CHANnel command is available when you have purchased the InfiniiSim software
N OT E
application.

The :CHANnel<N>:ISIM:CONVolve command sets the InfiniiSim 2 Port state


(:CHANnel<N>:ISIM:STATe PORT2), automates the creation of a transfer function,
and applies the transfer function to the channel waveform. The transfer function is
created using the Add insertion loss of a fixture or cable application preset's simple
one-block circuit model. The S-parameter file defines the simulation circuit of the
single block and the measurement circuit is a Thru. When the generated transfer
function is applied, it performs an embed operation.
This command uses the S-parameter file's S21 insertion loss only. If a .s4p file is
specified, ports 1 and 2 are used assuming a 1-2, 3-4 port numbering for 4 port
files.
Optionally, include ON to flip the port numbering when reading the S-parameter
file.

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.


<s_parameter_ The quoted name of the S-parameter file.
file>
Example This example convolves the S-parameter file example.s2p with the waveform on
channel 1.
myScope.WriteString ":CHANnel1:ISIM:CONVolve example.s2p"

See Also • ":CHANnel<N>:ISIM:STATe" on page 346


• ":CHANnel<N>:ISIM:APPLy" on page 331
• ":CHANnel<N>:ISIM:DEConvolve" on page 340
History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 337


14 Channel Commands

:CHANnel<N>:ISIM:CORRection
Command :CHANnel<N>:ISIM:CORRection <percent>

This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.

The :CHANnel<N>:ISIM:CORRection command sets the amount of linearly scaled


correction applied to the non-DC frequency components of the measured signal.
This lets you trade off the amount of correction to apply via the transformation
function versus the increase in noise it may create at higher frequencies. In other
words, you can fine-tune the amount of high-frequency noise versus the sharpness
of the step response edge.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

<percent> If you are making averaged mode measurements or applying a transfer function
that does not magnify the noise, use the full correction by setting this field to
100%.
However, if you are working with eye diagrams or making jitter measurements and
the transfer function is magnifying the noise, you may want to limit the correction
by selecting a lower percentage.
Example This example sets the channel 1 InfiniiSim correction factor to 80%.
myScope.WriteString ":CHANnel1:ISIM:CORRection 80"

Query :CHANnel<N>:ISIM:CORRection?

The :CHANnel<N>:ISIM:CORRection? query returns the selected input channel's


percent correction factor.
Returned Format [CHANnel<N>:ISIM:CORRection] <percent><NL>

Example This example gets the current channel 1 InfiniiSim correction percentage and
places it in the numeric variable, varIsimCorrection. The program then prints the
contents of the variable to the computer's screen.

338 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

myScope.WriteString ":SYSTem:HEADer OFF"


myScope.WriteString ":CHANnel1:ISIM:CORRection?"
varIsimCorrection = myScope.ReadNumber
Debug.Print FormatNumber(varBwLimit, 0)

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 339


14 Channel Commands

:CHANnel<N>:ISIM:DEConvolve
Command :CHANnel<N>:ISIM:DEConvolve "<s_parameter_file>", {OFF | ON}

This CHANnel command is available when you have purchased the InfiniiSim software
N OT E
application.

The :CHANnel<N>:ISIM:CONVolve command sets the InfiniiSim 2 Port state


(:CHANnel<N>:ISIM:STATe PORT2), automates the creation of a transfer function,
and applies the transfer function to the channel waveform. The transfer function is
created using the Remove insertion loss of a fixture or cable application preset's simple
one-block circuit model. The S-parameter file defines the measurement circuit of
the single block and the simulation circuit is a Thru. When the generated transfer
function is applied, it performs an de-embed operation.
This command uses the S-parameter file's S21 insertion loss only. If a .s4p file is
specified, ports 1 and 2 are used assuming a 1-2, 3-4 port numbering for 4 port
files.
Optionally, include ON to flip the port numbering when reading the S-parameter
file.

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.


<s_parameter_ The quoted name of the S-parameter file.
file>
Example This example deconvolves the S-parameter file example.s2p with the waveform on
channel 1.
myScope.WriteString ":CHANnel1:ISIM:DEConvolve example.s2p"

See Also • ":CHANnel<N>:ISIM:STATe" on page 346


• ":CHANnel<N>:ISIM:APPLy" on page 331
• ":CHANnel<N>:ISIM:CONVolve" on page 337
History Legacy command (existed before version 3.10).

340 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:ISIM:DELay
Command :CHANnel<N>:ISIM:DElay {OFF | ON | TRIG}

This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.

The :CHANnel<N>:ISIM:DELay command specifies the transfer function filter delay


option:
• ON — Includes filter delay.
• OFF — Removes filter delay.
• TRIG — Includes trigger-corrected delay.
Consult the InfiniiSim User's Guide in the Manuals section of the GUI help system
for more information.

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.


Example This example applies the transfer function delay in the resultant waveform.
myScope.WriteString ":CHANnel1:ISIM:DELay ON"

Query :CHANnel<N>:ISIM:DELay?

The :CHANnel<N>:ISIM:DELay? query returns the current state of the transfer


function delay feature on the corresponding input channel.
Returned Format [CHANnel<N>:ISIM:DELay] {OFF | ON | TRIG}<NL>

Example This example puts whether or not the transfer function delay is included in the
resultant waveform for channel 1 in the string variable, strDelay. The program then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:DELay?"
strDelay = myScope.ReadString
Debug.Print strDelay

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 341


14 Channel Commands

:CHANnel<N>:ISIM:NORMalize
Command :CHANnel<N>:ISIM:NORMalize {{ON | 1} | {OFF | 0}}

This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.

The :CHANnel<N>:ISIM:NORMalize command activates or deactivates the


"Normalize Gain" option. The InfiniiSim normalize gain option removes any DC
gain of the transfer function and can be used when modeling probes.

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.


Example This example turns on the InfiniiSim normalize gain option for channel 1.
myScope.WriteString ":CHANnel1:ISIM:NORMalize ON"

Query :CHANnel<N>:ISIM:NORMalize?

The :CHANnel<N>:ISIM:NORMalize? query returns the current state of the


corresponding channel's InfiniiSim normalize gain option.
Returned Format [CHANnel<N>:ISIM:NORMalize] {1 | 0}<NL>

Example This example puts the current InfiniiSim normalize gain state for channel 1 in the
string variable, varNormalizeGain. The program then prints the contents of the
variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:NORMalize?"
varNormalizeGain = myScope.ReadNumber
Debug.Print FormatNumber(varLimit, 0)

See Also • ":CHANnel<N>:ISIM:DELay" on page 341


History New in version 4.60.

342 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:ISIM:PEXTraction
Command :CHANnel<N>:ISIM:PEXTraction {P12 | P32 | P34 | P14 | DIFFerential
| COMMonmode}

This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.

The :CHANnel<N>:ISIM:PEXTraction command selects the InfiniiSim port


extraction. The selections are:
• P12 — Use ports 1 -> 2.
• P32 — Use ports 3 -> 2.
• P34 — Use ports 3 -> 4.
• P14 — Use ports 1 -> 4.
• DIFFerential — valid for all channels.
• COMMonmode — valid for all channels.

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.


Example This example selects the channel 1 InfiniiSim differential port extraction.
myScope.WriteString ":CHANnel1:ISIM:PEXTraction DIFFerential"

Query :CHANnel<N>:ISIM:PEXTraction?

The :CHANnel<N>:ISIM:PEXTraction? query returns the current InfiniiSim port


extraction selection.
Returned Format [CHANnel<N>:ISIM:PEXTraction] {P12 | P32 | P34 | P14 | DIFF | COMM}<NL>

Example This example puts the current InfiniiSim port extraction selection for channel 1 in
the string variable, strMode. The program then prints the contents of the variable
to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:PEXTraction?"

Keysight Infiniium Oscilloscopes Programmer's Guide 343


14 Channel Commands

strMode = myScope.ReadString
Debug.Print strMode

History New in version 3.11.

344 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:ISIM:SPAN
Command :CHANnel<N>:ISIM:SPAN <max_time_span>

This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.

The :CHANnel<N>:ISIM:SPAN command sets the maximum time span control in


the InfiniiSim Setup dialog box.

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.


<max_time_span> A real number.
Example This example sets the maximum time span control to 100e-9.
myScope.WriteString ":CHANnel1:ISIM:SPAN 100e-9"

Query :CHANnel<N>:ISIM:SPAN?

The :CHANnel<N>:ISIM:SPAN? query returns the current InfiniiSim filter maximum


time span on the corresponding input channel.
Returned Format [CHANnel<N>:ISIM:SPAN] <max_time_span><NL>

Example This example puts the InfiniiSim filter's maximum time span value in the variable
varTspan. The program then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:SPAN?"
varTspan = myScope.ReadNumber
Debug.Print FormatNumber(varTspan, 0)

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 345


14 Channel Commands

:CHANnel<N>:ISIM:STATe
Command :CHANnel<N>:ISIM:STATe {OFF | PORT2 | PORT4 | PORT41}

This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.

The :CHANnel<N>:ISIM:STATe command turns InfiniiSim on or off and sets


whether 2 port, 4 port (Channels 1&3), or 4 port (Channel 1) mode is being used (if
it is turned on).

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.


Example This example turns on InfiniiSim for channel 1 and puts it in 2 port mode.
myScope.WriteString ":CHANnel1:ISIM:STATe PORT2"

Query :CHANnel<N>:ISIM:STATe?

The :CHANnel<N>:ISIM:STATe? query returns the current state of InfiniiSim on the


corresponding input channel.
Returned Format [CHANnel<N>:ISIM:STATe] {OFF | PORT2 | PORT4 | PORT41}<NL>

Example This example puts the current InfiniiSim state for channel 1 in the string variable,
strMode. The program then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:STATe?"
strMode = myScope.ReadString
Debug.Print strMode

History Legacy command (existed before version 3.10).

346 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:LABel
Command :CHANnel<N>:LABel <string>

The :CHANnel<N>:LABel command sets the channel label to the quoted strin
g.

You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel

<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.


<string> A series of 16 or less characters as a quoted ASCII string
Example This example sets the channel 1 label to Data.
myScope.WriteString ":CHANnel1:LABel ""Data"""

Query :CHANnel<N>:LABel?

The :CHANnel<N>:LABel? query returns the label of the specified channel.


Returned Format [CHANnel<N>:LABel] <string><NL>

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 347


14 Channel Commands

:CHANnel<N>:OFFSet
Command :CHANnel<N>:OFFSet <offset_value>

The :CHANnel<N>:OFFSet command sets the vertical value that is represented at


the center of the display for the selected channel. Offset parameters are probe and
vertical scale dependent.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<offset_value> A real number for the offset value at center screen. Usually expressed in volts, but
it can also be in other measurement units, such as amperes, if you have specified
other units using the :CHANnel<N>:UNITs command or the
CHANnel<N>:PROBe:EXTernal:UNITs command.
Example This example sets the offset for channel 1 to 0.125 in the current measurement
units:
myScope.WriteString ":CHANnel1:OFFSet 125E-3"

Query :CHANnel<N>:OFFSet?

The :CHANnel<N>:OFFSet? query returns the current offset value for the specified
channel.
Returned Format [CHANnel<N>:OFFSet] <offset_value><NL>

Example This example places the offset value of the specified channel in the variable,
varOffset, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:OFFSet?"
varOffset = myScope.ReadNumber
Debug.Print FormatNumber(varOffset, "Scientific")

History Legacy command (existed before version 3.10).

348 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:PROBe
Command :CHANnel<N>:PROBe <attenuation_factor>[,{RATio | DECibel}]

The :CHANnel<N>:PROBe command sets the probe attenuation factor and the
units (ratio or decibels) for the probe attenuation factor for a user-defined probe.
The DECibel and RATio parameters also set the "mode" for the probe attenuation.
These parameters, along with attenuation factor, determine the scaling of the
display and affect automatic measurements and trigger levels.
This mode also determines the units (ratio or decibels) that may be used for a
subsequent command.
<N> An integer, 1-4
<attenuation A real number from 0.0001 to 1000 for the RATio attenuation units or from -80 dB
_factor> to 60 dB for the DECibel attenuation units.
Example This example sets the probe attenuation factor for a 10:1 probe on channel 1 in
ratio units.
myScope.WriteString ":CHANnel1:PROBe 10,RAT"

Query :CHANnel<N>:PROBe?

The :CHANnel<N>:PROBe? query returns the current probe attenuation setting


and units for the selected channel.
Returned Format [:CHANnel<N>:PROBe] <attenuation>,{RATio | DECibel}<NL>

Example This example places the current attenuation setting for channel 1 in the string
variable, strAtten, then the program prints the contents.
Dim strAtten As String ' Dimension variable.
myScope.WriteString ":CHANnel1:PROBe?"
strAtten = myScope.ReadString
Debug.Print strAtten

If you use a string variable, the query returns the attenuation value and the factor
(decibel or ratio). If you use an integer variable, the query returns the attenuation
value. You must then read the attenuation units into a string variable.
History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 349


14 Channel Commands

:CHANnel<N>:PROBe:ACCAL
Command :CHANnel<N>:PROBe:ACCAL {AUTO | OFF | PRECprobe}

The :CHANnel<N>:PROBe:ACCAL command sets the type of AC response probe


calibration to use:
• OFF — no AC response probe calibration is used.
• AUTO — the AC response probe calibration is based on the type of probe being
used and its general characteristics.
• PRECprobe — PrecisionProbe or PrecisionCable probe calibration is used.

You are not able to start a PrecisionProbe or PrecisionCable calibration using remote SCPI
N OT E
commands. However, you can enter SCPI commands to use the results of calibrations
performed using the front panel wizards.

<N> An integer, 1-4.


Example This example chooses the PrecisionProbe or PrecisionCable AC response
calibration for the probe on channel 1.
myScope.WriteString ":CHANnel1:PROBe:ACCAL PRECprobe"

Query :CHANnel<N>:PROBe:ACCAL?

The :CHANnel<N>:PROBe:ACCAL? query returns the AC response probe


calibration setting for the selected channel.
Returned Format [:CHANnel<N>:PROBe:ACCAL] {AUTO | OFF | PREC}<NL>

See Also • ":CHANnel<N>:PROBe:PRECprobe:MODE" on page 373


• ":CHANnel<N>:PROBe:PRECprobe:CALibration" on page 371
• ":CHANnel<N>:PROBe:PRECprobe:ZSRC" on page 374
• ":CHANnel<N>:PROBe:PRECprobe:BANDwidth" on page 370
History New in version 3.10.

350 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:PROBe:ATTenuation
Command :CHANnel<N>:PROBe:ATTenuation {DIV1 | DIV10}

This command is only valid for the 1154A probe.


N OT E

The :CHANnel<N>:PROBe:ATTenuation command sets the 1154A probe's input


amplifier attenuation. If the 1154A probe is not connected to the channel you will
get a settings conflict error.
<N> An integer, 1-4.
Example This example sets the probe attenuation for channel 1 to divide by 10.
myScope.WriteString ":CHANnel1:PROBe:ATTenuation DIV10"

Query :CHANnel<N>:PROBe:ATTenuation?

The :CHANnel<N>:PROBe:ATTenuation? query returns the current 1154A probe


input amplifier attenuation setting for the selected channel.
Returned Format [:CHANnel<N>:PROBe:ATTenuation] {DIV1 | DIV10}<NL>

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 351


14 Channel Commands

:CHANnel<N>:PROBe:AUTozero
Command :CHANnel<N>:PROBe:AUTozero

This command is currently only valid for the N2893A probe.


N OT E

The :CHANnel<N>:PROBe:AUTozero command initiates the N2893A probe's auto


degauss/ offset cal.
If the N2893A probe is not connected to the channel you will get a settings conflict
error.
<N> An integer, 1-4.
Example This example performs an auto zero operation for the probe on channel 1.
myScope.WriteString ":CHANnel1:PROBe:AUTozero"

History New in version 3.50.

352 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:PROBe:COUPling
Command :CHANnel<N>:PROBe:COUPling {DC | AC}

The :CHANnel<N>:PROBe:COUPling command sets the probe coupling to either


AC or DC.

This command is for probes only. To set the input channel coupling, see :CHANnel<N>:INPut.
N OT E

<N> An integer, 1-4.


Example This example sets the probe coupling for channel 1 to AC.
myScope.WriteString ":CHANnel1:PROBe:COUPling AC"

Query :CHANnel<N>:PROBe:COUPling?

The :CHANnel<N>:PROBe:COUPling? query returns the current probe coupling


setting for the selected channel.
Returned Format [:CHANnel<N>:PROBe:COUPling] {DC | AC}<NL>

See Also • ":CHANnel<N>:INPut" on page 329


History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 353


14 Channel Commands

:CHANnel<N>:PROBe:EADapter
Command :CHANnel<N>:PROBe:EADapter {NONE | DIV10 | DIV20 | DIV100 | DIV1000
| CUR0002VA | CUR001VA | CUR002VA | CUR01VA | CUR1VA | CUR10VA
| CURN2893 | CUR1147 | HIVOLTN2790}

This command is valid only for the 1153A, 1154A, and 1159A probes and the E2697A and
N OT E
N5449A high impedance adapters.

The :CHANnel<N>:PROBe:EADapter command sets the probe external adapter


control. The 1153A, 1154A, and 1159A probes and the E2697A and N5449A high
impedance adapters have external adapters that you can attach to the end of your
probe. When you attach one of these adapters, you should use the EADapter
command to set the external adapter control to match the adapter connected to
your probe as follows.
If an 1153A, 1154A, or 1159A probe or E2697A or N5449A high impedance
adapter is not connected to the channel you will get a settings conflict error.
With the 1153A,
1154A, and 1159A Parameter Description
probes:
NONE Use this setting when there is no adapter connected to the end of your
probe.
DIV10 Use this setting when you have a divide by 10 adapter connected to the
end of your probe.
DIV20 Use this setting when you have a divide by 20 adapter connected to the
end of your probe. (1159A)
DIV100 Use this setting when you have a divide by 100 adapter connected to the
end of your probe. (1153A only)

With the E2697A When the :CHANnel<N>:PROBe:EADapter command is used with either the
and N5449A high E2697A or N5449A high impedance adapter, the behavior is the same as with the
impedance 115x probes; however, there are more parameters available to choose from. The
adapters: following table describes which probes are available with which adapters and what
the parameter string is:

Probe Parameter Compatability


E2697A adapter N5449A adapter
1:1 probe NONE X X
10:1 probe DIV10 X X
20:1 probe DIV20 X X
100:1 probe DIV100 X X

354 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

Probe Parameter Compatability


E2697A adapter N5449A adapter
100:1 probe DIV1000 X
0.002 V/A current probe CUR0002VA X X
0.01 V/A current probe CUR001VA X X
0.02 V/A current probe CUR002VA X X
0.1 V/A current probe CUR01VA X X
1 V/A current probe CUR1VA X X
10 V/A current probe CUR10VA X X
N2893A current probe CURN2893 X
1147A/B current probe CUR1147 X
N2790A high-voltage HIVOLTN2790 X
differential probe

Lastly, the N5449A adapter has the ability to automatically detect supported
probes. If a supported probe (most passive probes) is attached to the N5449A
adapter, the :CHANnel<N>:PROBe:EADapter command will not have any effect
until the attached probe is removed. If, on the other hand, an unsupported probe
(BNC cable, etc.) is attached to the N5449A adapter, the
:CHANnel<N>:PROBe:EADapter command will work as normal. The
:CHANnel<N>:PROBe:EADapter? query will work in either case.
<N> An integer, 1-4.
Example This example sets the external adapter for channel 1 to divide by 10:
myScope.WriteString ":CHANnel1:PROBe:EADapter DIV10"

Query :CHANnel<N>:PROBe:EADapter?

The :CHANnel<N>:PROBe:EADapter? query returns the current external adapter


value for the specified channel.
Returned Format [CHANnel<N>:PROBe:EDApter] {NONE | DIV10 | DIV20 | DIV100 | DIV1000
| CUR0002VA | CUR001VA | CUR002VA | CUR01VA | CUR1VA | CUR10VA
| CURN2893 | CUR1147 | HIVOLTN2790}<NL>

Example This example places the external adapter value of the specified channel in the
string variable, strAdapter, then prints the contents of the variable to the
computer's screen.
Dim strAdapter As String 'Dimension variable
myScope.WriteString ":CHANnel1:PROBe:EADapter?"
strAdapter = myScope.ReadString
Debug.Print strAdapter

Keysight Infiniium Oscilloscopes Programmer's Guide 355


14 Channel Commands

History Legacy command (existed before version 3.10).


Version 5.20: Added the DIV1000, CUR001VA, CUR01VA, CUR1VA, CUR10VA,
CURN2893, CUR1147, HIVOLTN2790 options for use with the E2697A or N5449A
high impedance adapters.
Version 6.10: Added the CUR0002VA and CUR002VA options for use with the
E2697A or N5449A high impedance adapters.

356 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:PROBe:ECOupling
Command :CHANnel<N>:PROBe:ECOupling {NONE | AC}

This command is valid only for the 1153A, 1154A, and 1159A probes.
N OT E

The :CHANnel<N>:PROBe:ECOupling command sets the probe external coupling


adapter control. The 1154A and 1159A probes have external coupling adapters
that you can attach to the end of your probe. When you attach one of these
adapters, you should use the ECOupling command to set the external coupling
adapter control to match the adapter connected to your probe as follows.

Parameter Description
NONE Use this setting when there is no adapter connected to the end of your
probe.
AC Use this setting when you have an ac coupling adapter connected to the
end of your probe.

If an 1153A, 1154A, or 1159A probe is not connected to the channel you will get a
settings conflict error.
<N> An integer, 1-4.
Example This example sets the external coupling adapter for channel 1 to ac:
myScope.WriteString ":CHANnel1:PROBe:ECOupling AC"

Query :CHANnel<N>:PROBe:ECOupling?

The :CHANnel<N>:PROBe:ECoupling? query returns the current external adapter


coupling value for the specified channel.
Returned Format [CHANnel<N>:PROBe:ECOupling] {NONE | AC}<NL>

Example This example places the external coupling adapter value of the specified channel
in the string variable, strAdapter, then prints the contents of the variable to the
computer's screen.
Dim strAdapter As String ' Dimension variable.
myScope.WriteString ":CHANnel1:PROBe:ECOupling?"
strAdapter = myScope.ReadString
Debug.Print strAdapter

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 357


14 Channel Commands

:CHANnel<N>:PROBe:EXTernal
Command :CHANnel<N>:PROBe:EXTernal {{ON | 1} | {OFF | 0}}

The :CHANnel<N>:PROBe:EXTernal command sets the external probe mode to on


or off.
<N> An integer, 1-4.
Example This example sets channel 1 external probe mode to on.
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"

Query :CHANnel<N>:PROBe:EXTernal?

The :CHANnel<N>:PROBe:EXTernal? query returns the current external probe


mode for the specified channel.
Returned Format [:CHANnel<N>:PROBe:EXTernal] {1 | 0}<NL>

Example This example places the current setting of the external probe mode on channel 1 in
the variable varMode, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:PROBe:EXTernal?"
varMode = myScope.ReadNumber
Debug.Print FormatNumber(varMode, 0)

History Legacy command (existed before version 3.10).

358 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:PROBe:EXTernal:GAIN
Command :CHANnel<N>:PROBe:EXTernal:GAIN <gain_factor>[,{RATio | DECibel}]

CHANnel<N>:PROBe:EXTernal command must be set to ON before issuing this command or


N OT E
query or this command will have no effect.

The :CHANnel<N>:PROBe:EXTernal:GAIN command sets the probe external


scaling gain factor and, optionally, the units for the probe gain factor. The
reference factors that are used for scaling the display are changed with this
command, and affect automatic measurements and trigger levels.
The RATio or DECibel also sets the mode for the probe attenuation and also
determines the units that may be used for a subsequent command. For example, if
you select RATio mode, then the attenuation factor must be given in ratio gain
units. In DECibel mode, you can specify the units for the argument as "dB".
<N> An integer, 1-4.
<gain_factor> A real number from 0.001 to 10000 for the RATio gain units, or from -60 dB to 80
dB for the DECibel gain units.
Example This example sets the probe external scaling gain factor for channel 1 to 10.
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:GAIN 10,RATio"

Query :CHANnel<N>:PROBe:EXTernal:GAIN?

The :CHANnel<N>:PROBe:EXTernal:GAIN? query returns the probe external gain


setting for the selected channel.
Returned Format [:CHANnel<N>:PROBe:EXTernal:GAIN] <gain_factor>,{RAT | DEC}<NL>

Example This example places the external gain value of the probe on the specified channel
in the variable, varGain, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:GAIN?"
varGain = myScope.ReadString
Debug.Print varGain

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 359


14 Channel Commands

:CHANnel<N>:PROBe:EXTernal:OFFSet
Command :CHANnel<N>:PROBe:EXTernal:OFFSet <offset_value>

CHANnel<N>:PROBe:EXTernal command must be set to ON before issuing this command or


N OT E
query or this command will have no effect.

The :CHANnel<N>:PROBe:EXTernal:OFFSet command sets the external vertical


value for the probe that is represented at the center of the display for the selected
channel. Offset parameters are probe and vertical scale dependent.
When using the 113xA series probes, the CHANnel<N>:PROBe:STYPe command
determines how the offset is applied. When CHANnel<N>:PROBe:STYPe SINGle is
selected, the :CHANnel<N>:PROBe:EXTernal:OFFset command changes the offset
value of the probe amplifier. When CHANnel<N>:PROBe:STYPe DIFFerential is
selected, the :CHANnel<N>:PROBe:EXTernal:OFFSet command changes the offset
value of the channel amplifier.
<N> An integer, 1-4.
<offset_value> A real number for the offset value at center screen. Usually expressed in volts, but
can be in other measurement units, such as amperes, if you have specified other
units using the :CHANnel<N>:PROBe:EXTernal:UNITs command.
Example This example sets the external offset for the probe on channel 1 to 0.125 in the
current measurement units:
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:OFFSet 125E-3"

Query :CHANnel<N>:EXTernal:PROBe:OFFSet?

The :CHANnel<N>:PROBe:EXTernal:OFFSet? query returns the current external


offset value for the probe on the specified channel.
Returned Format [CHANnel<N>:PROBe:EXTernal:OFFSet] <offset_value><NL>

Example This example places the external offset value of the probe on the specified channel
in the variable, Offset, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:OFFSet?"
varOffset = myScope.ReadNumber
Debug.Print FormatNumber(varOffset, 0)

History Legacy command (existed before version 3.10).

360 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:PROBe:EXTernal:UNITs
Command :CHANnel<N>:PROBe:EXTernal:UNITs {VOLT | AMPere | WATT | UNKNown}

CHANnel<N>:PROBe:EXTernal command must be set to ON before issuing this command or


N OT E
query or this command will have no effect. UNITs can also be set using the
CHANnel<N>:UNITs command.

The :CHANnel<N>:PROBe:EXTernal:UNITs command sets the probe external


vertical units on the specified channel. You can specify Y-axis units of VOLTs,
AMPs, WATTs, or UNKNown. The units are implied for other pertinent channel
probe external commands and channel commands (such as
:CHANnel<N>:PROBe:EXTernal:OFFSet and :CHANnel<N>:RANGe). See the Probe
Setup dialog box for more information.
<N> An integer, 1-4.
Example This example sets the external units for the probe on channel 1 to amperes.
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:UNITs AMPERE"

Query :CHANnel<N>:PROBe:EXTernal:UNITs?

The :CHANnel<N>:PROBe:EXTernal:UNITs? query returns the current external


units setting for the probe on the specified channel.
Returned Format [:CHANnel<N>:PROBe:EXTernal:UNITs] {VOLT | AMPere | WATT | UNKNown}<NL>

Example This example places the external vertical units for the probe on the specified
channel in the string variable, strUnits, then prints the contents of the variable to
the computer's screen.
Dim strUnits As String
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:UNITs?"
strUnits = myScope.ReadString
Debug.Print strUnits

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 361


14 Channel Commands

:CHANnel<N>:PROBe:GAIN
Command :CHANnel<N>:PROBe:GAIN {X1 | X10}

This command is valid only for the 1154A probe.


N OT E

The :CHANnel<N>:PROBe:GAIN command sets the 1154A probe input amplifier


gain.
If an 1154A probe is not connected to the channel you will get a settings conflict
error.
<N> An integer, 1-4.
Example This example sets the probe gain for channel 1 to times 10.
myScope.WriteString ":CHANnel1:PROBe:GAIN X10"

Query :CHANnel<N>:PROBe:GAIN?

The :CHANnel<N>:PROBe:GAIN? query returns the current probe gain setting for
the selected channel.
Returned Format [:CHANnel<N>:PROBe:GAIN] {X1 | X10}<NL>

History Legacy command (existed before version 3.10).

362 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:PROBe:HEAD:ADD
Command :CHANnel<N>:PROBe:HEAD:ADD "head", ["label"]

The :CHANnel<N>:PROBe:HEAD:ADD command adds an entry to the list of probe


heads.
<N> An integer, 1-4.
"head" A quoted string matching the probe head model such as "N5381A", "E2678A", etc.
"label" An optional quoted string for the head label.
Example This example adds the probe head N5381A to the list of probe heads for channel 1.
myScope.WriteString ":CHANnel1:PROBe:HEAD:ADD ""N5381A"""

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 363


14 Channel Commands

:CHANnel<N>:PROBe:HEAD:DELete ALL
Command :CHANnel<N>:PROBe:HEAD:DELete ALL

The :CHANnel<N>:PROBe:HEAD:DELete ALL command deletes all the nodes in


the list of probe heads except for one default probe head which remains after this
command is executed.
<N> An integer, 1-4.
Example This example deletes the entire list of probe heads for channel 1 except for the
default head.
myScope.WriteString ":CHANnel1:PROBe:HEAD:DELete ALL"

History Legacy command (existed before version 3.10).

364 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:PROBe:HEAD:SELect
Command :CHANnel<N>:PROBe:HEAD:SELect {<int> | <quoted_label_string>}

The :CHANnel<N>:PROBe:HEAD:SELect command selects the probe head being


used from a list of possible probe head choices. You can select by the position
number in the list of probe heads, or you can select by the label given when the
probe head was added.
<N> An integer, 1-4.
<int> Specifies the number of the head (or position) in the configure list. The entry at the
top of the list starts at 1.
<quoted_label_stri Specifies the label of the probe head given with the
ng> :CHANnel<N>:PROBe:HEAD:ADD command.
Example This example add a couple of probe heads to the list then selects the probe head
using a number and a label.
myScope.WriteString ":CHANnel1:PROBe:HEAD:ADD 'N5445A:B1.5-2.5S'"
myScope.WriteString ":CHANnel1:PROBe:HEAD:ADD 'N5444A:2.92','foo'"
myScope.WriteString ":CHANnel1:PROBe:HEAD:SELect 1"
myScope.WriteString ":CHANnel1:PROBe:HEAD:SELect 'foo'"

Query :CHANnel<N>:PROBe:HEAD:SELect? {MODel | LABel}

The :CHANnel<N>:PROBe:HEAD:SELect? query returns a SCPI formatted string of


the selected probe head. Optional parameters are:
• MODel — Returns the model of the probe head.
• LABel — Returns the label of the probe head. This is the same label given with
the :CHANnel<N>:PROBe:HEAD:ADD command and that can also be used with
the SELect command.
If no parameter is specified, the MODel format is returned.
Example This example shows a few queries of the channel 1 probe head selection.
Dim strProbeHead As String
myScope.WriteString ":CHANnel1:PROBe:HEAD:SELect?"
strProbeHead = myScope.ReadString
Debug.Print strProbeHead ' Prints "N5444A:2.92".
myScope.WriteString ":CHANnel1:PROBe:HEAD:SELect? LABel"
strProbeHead = myScope.ReadString
Debug.Print strProbeHead ' Prints "foo".
myScope.WriteString ":CHANnel2:PROBe:HEAD:SELect? MODel"
strProbeHead = myScope.ReadString
Debug.Print strProbeHead ' Prints "N5444A:2.92".

See Also • ":CHANnel<N>:PROBe:HEAD:ADD" on page 363


History Legacy command (existed before version 3.10).
Version 3.50: Added the MPHY protocol type for the MIPI M-PHY serial decode
selection.

Keysight Infiniium Oscilloscopes Programmer's Guide 365


14 Channel Commands

:CHANnel<N>:PROBe:HEAD:VTERm
Command :CHANnel<N>:PROBe:HEAD:VTERm {FLOating | EXTernal
| {INTernal,<voltage>}}

The :CHANnel<N>:PROBe:HEAD:VTERm command sets the termination voltage


for:
• The N5444A probe head.
• The N7010A active termination adapter, regardless of the attachment/head.
<N> An integer, 1-4.
<voltage> A real number for the internal termination voltage setting.
Example To set an internal termination voltage of -1.0 V:
myScope.WriteString ":CHANnel1:PROBe:HEAD:VTERm INTernal,-1.0"

Query :CHANnel<N>:PROBe:HEAD:VTERm?

The :CHANnel<N>:PROBe:HEAD:VTERm? query returns the termination voltage


setting.
Returned Format [:CHANnel<N>:PROBe:HEAD:VTERm] {FLO | EXT | {INT,<voltage>}}<NL>

History New in version 3.50.


Version 5.50: Supports the N7010A active termination adapter (regardless of the
attachment/head) as well as the N5444A probe head.

366 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:PROBe:ID?
Query :CHANnel<N>:PROBe:ID?

The :CHANnel<N>:PROBe:ID? query returns the type of probe attached to the


specified oscilloscope channel.
<N> An integer, 1-4.
Returned Format [:CHANnel<N>:PROBe:ID] <probe_id>
<probe_id> A string of alphanumeric characters. Some of the possible returned values are:

1131A 1132A 1134A


1152A 1154A 1156A
1157A 1158A 1159A
1163A 1168A 1169A
AutoProbe E2621A E2622A
E2695A E2697A N5380A
N5381A N5382A E2695A
No Probe Unknown User Defined Probe

Example This example reports the probe type connected to channel 1, if one is connected.
myScope.WriteString ":CHANnel1:PROBe:ID?"

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 367


14 Channel Commands

:CHANnel<N>:PROBe:INFO?
Query :CHANnel<N>:PROBe:INFO?

The :CHANnel<N>:PROBe:INFO? query returns a comma-separated list of probe


information.
Returned Format [:CHANnel<N>:PROBe:INFO] <info_list><NL>

<info_list> A comma-delimited list of probe information that includes:


• Model number.
• Serial number.
• Probe head model number or "No Head".
• Attenuation calibration date and time (or "1 JAN 1999 00:00:00" if
uncalibrated).
• Skew calibration date and time (or "1 JAN 1999 00:00:00" if uncalibrated).
• Specifies whether default attenuation "Default Atten" or calibrated attenuation
"Cal Atten" is being used.
• Specifies whether default skew "Default Skew" or calibrated skew "Cal Skew" is
being used.
• The first part of the attenuation ratio (<first>:<second>).
• The second part of the attenuation ratio (<first>:<second>).
Example This is an example probe information string.
N2751A, US53330101, No Head, 1 JAN 1999 00:00:00, 1 JAN 1999 00:00:00,
Default Atten, Default Skew, 1.9856E+000, 1.0000E+000

See Also • ":CHANnel<N>:PROBe:ID?" on page 367


History New in version 5.70.

368 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:PROBe:MODE
Command :CHANnel<N>:PROBe:MODE {DIFF | SEA | SEB | CM}

This command is currently only valid for the N2750A probe.


N OT E

The :CHANnel<N>:PROBe:MODE command sets the N2750A probe's InfiniiMode


configuration.
If the N2750A probe is not connected to the channel you will get a settings conflict
error.
<N> An integer, 1-4.
Example This example sets the probe InfiniiMode for channel 1 to common mode.
myScope.WriteString ":CHANnel1:PROBe:MODE CM"

Query :CHANnel<N>:PROBe:MODE?

The :CHANnel<N>:PROBe:MODE? query returns the current N2750A probe


InfiniiMode setting for the selected channel.
Returned Format [:CHANnel<N>:PROBe:MODE] {DIFF | SEA | SEB | CM}<NL>

History New in version 3.50.

Keysight Infiniium Oscilloscopes Programmer's Guide 369


14 Channel Commands

:CHANnel<N>:PROBe:PRECprobe:BANDwidth
Command :CHANnel<N>:PROBe:PRECprobe:BANDwidth {AUTO | {MANual, <bandwidth>}
| {BOOSt, <boost_dB>}}

The :CHANnel<N>:PROBe:PRECprobe:BANDwidth command specifies how the


limit of PrecisionProbe or PrecisionCable correction/boosting is determined.
<N> An integer, 1-4.
AUTO PrecisionProbe or PrecisionCable normally sets the bandwidth to a value that has
a small amount of boosting in the frequency response.
MANual, Let you manually specify a bandwidth limit at which to stop applying correction.
<bandwidth>
BOOSt, Lets you specify a dB limit at which to stop applying correction.
<boost_dB>
Example This example specifies that, for PrecisionProbe or PrecisionCable on channel 1,
correction/boosting should stop being applied at a 3 dB limit.
myScope.WriteString ":CHANnel1:PROBe:PRECprobe:BANDwidth BOOSt, 3"

Query :CHANnel<N>:PROBe:PRECprobe:BANDwidth?

The :CHANnel<N>:PROBe:PRECprobe:BANDwidth? query returns the current


PrecisionProbe or PrecisionCable corrected bandwidth setting for the selected
channel.
Returned Format [:CHANnel<N>:PROBe:PRECprobe:BANDwidth] {AUTO | {MANual, <bandwidth>}
| {BOOSt, <boost_dB>}}<NL>

See Also • ":CHANnel<N>:PROBe:ACCAL" on page 350


• ":CHANnel<N>:PROBe:PRECprobe:MODE" on page 373
• ":CHANnel<N>:PROBe:PRECprobe:CALibration" on page 371
• ":CHANnel<N>:PROBe:PRECprobe:ZSRC" on page 374
• ":CHANnel<N>:PROBe:PRECprobe:DELay" on page 372
History New in version 3.10.

370 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:PROBe:PRECprobe:CALibration
Command :CHANnel<N>:PROBe:PRECprobe:CALibration <cal_string>[,<cal_string2]

The :CHANnel<N>:PROBe:PRECprobe:CALibration command specifies the name


of the PrecisionProbe or PrecisionCable calibration to use for the specified channel
and probe.
<N> An integer, 1-4.
<cal_string>[,<cal_ A quoted string that is the name of the PrecisionProbe or Precision Cable
string2>] calibration. The SMA probe heads can use two independent calibration files.
Example This example says to use the PrecisionProbe or PrecisionCable calibration named
"2-8-2" for channel 1.
myScope.WriteString ":CHANnel1:PROBe:PRECprobe:CALibration "2-8-2""

Query :CHANnel<N>:PROBe:PRECprobe:CALibration?

The :CHANnel<N>:PROBe:PRECprobe:CALibration? query returns the currently


specified name for the selected channel's PrecisionProbe or PrecisionCable
calibration.
Returned Format [:CHANnel<N>:PROBe:PRECprobe:CALibration] <cal_string>[,<cal_string2]<NL
>

See Also • ":CHANnel<N>:PROBe:ACCAL" on page 350


• ":CHANnel<N>:PROBe:PRECprobe:MODE" on page 373
• ":CHANnel<N>:PROBe:PRECprobe:ZSRC" on page 374
• ":CHANnel<N>:PROBe:PRECprobe:BANDwidth" on page 370
• ":CHANnel<N>:PROBe:PRECprobe:DELay" on page 372
History New in version 3.10.

Keysight Infiniium Oscilloscopes Programmer's Guide 371


14 Channel Commands

:CHANnel<N>:PROBe:PRECprobe:DELay
Command :CHANnel<N>:PROBe:PRECprobe:DELay {{ON | 1} | {OFF | 0}}

The :CHANnel<N>:PROBe:PRECprobe:DELay command specifies whether to


include cable delay in a PrecisionCable AC response probe calibration.
<N> An integer, 1-4.
Example This example specifies to include cable delay in the calibration.
myScope.WriteString ":CHANnel1:PROBe:PRECprobe:DELay ON"

Query :CHANnel<N>:PROBe:PRECprobe:DELay?

The :CHANnel<N>:PROBe:PRECprobe:DELay? query returns the current "include


cable delay" selection.
Returned Format [:CHANnel<N>:PROBe:PRECprobe:DELay] {1 | 0}<NL>

See Also • ":CHANnel<N>:PROBe:ACCAL" on page 350


• ":CHANnel<N>:PROBe:PRECprobe:MODE" on page 373
• ":CHANnel<N>:PROBe:PRECprobe:CALibration" on page 371
• ":CHANnel<N>:PROBe:PRECprobe:ZSRC" on page 374
• ":CHANnel<N>:PROBe:PRECprobe:BANDwidth" on page 370
History New in version 4.20.

372 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:PROBe:PRECprobe:MODE
Command :CHANnel<N>:PROBe:PRECprobe:MODE {PROBe | CABLe}

The :CHANnel<N>:PROBe:PRECprobe:MODE command chooses between


PrecisionProbe or PrecisionCable AC response probe calibration.
<N> An integer, 1-4.
Example This example chooses PrecisionProbe calibration for the probe on channel 1.
myScope.WriteString ":CHANnel1:PROBe:PRECprobe:MODE PROBe"

Query :CHANnel<N>:PROBe:PRECprobe:MODE?

The :CHANnel<N>:PROBe:PRECprobe:MODE? query returns the current


PrecisionProbe/PrecisionCable selection for the selected channel.
Returned Format [:CHANnel<N>:PROBe:PRECprobe:MODE] {PROBe | CABLe}<NL>

See Also • ":CHANnel<N>:PROBe:ACCAL" on page 350


• ":CHANnel<N>:PROBe:PRECprobe:CALibration" on page 371
• ":CHANnel<N>:PROBe:PRECprobe:ZSRC" on page 374
• ":CHANnel<N>:PROBe:PRECprobe:BANDwidth" on page 370
• ":CHANnel<N>:PROBe:PRECprobe:DELay" on page 372
History New in version 3.10.

Keysight Infiniium Oscilloscopes Programmer's Guide 373


14 Channel Commands

:CHANnel<N>:PROBe:PRECprobe:ZSRC
Command :CHANnel<N>:PROBe:PRECprobe:ZSRC {VIN | {VSRC, <impedance>}
| {VSRC, <file_string>}}

The :CHANnel<N>:PROBe:PRECprobe:ZSRC command specifies how


PrecisionProbe characterizes the time domain and frequency domain response.
<N> An integer, 1-4.
VIN Selects the VOut/Vin probe transfer function (which characterizes the output of
the probe as a function of the input at the probe tips).
Defining the response this way lets you evaluate the probe's accuracy in
reproducing the actual signal present in your system with the probe attached. This
correction is what you would see with a real band limited probe that has finite
input impedance. PrecisionProbe corrects the "VOut/Vin" response to be flat with
frequency and phase to your defined bandwidth limit. It does not de-embed the
loading effects of the probe. (Keysight's probe corrections are typically defined
using Vout/Vin.)
VSRC, Selects the VOut/VSrc estimate of probed system response (which corrects the
<impedance> probe as "what would be there if the probe were not present"), and specifies a
constant (Zo/2) value (in ohms) as the system source impedance.
One drawback of defining the probe's response in this manner is that if the probe's
loading causes your circuit to lose some timing or amplitude margin, you probably
want to know that when you make a measurement. VOut/VSource compensation
will hide these effects from you. However, this method can be effective if probing
at the transmitter.
VSRC, Selects the VOut/VSrc estimate of probed system response (which corrects the
<file_string> probe as "what would be there if the probe were not present"), and names an
S-parameter file whose S11 is used to specify the system source impedance.
Example This example, for channel 1, tells PrecisionProbe to use the VOut/VSrc
characterization and to get the system source impedance from S11 in the
"foo.s2p" S-parameter file.
myScope.WriteString ":CHANnel1:PROBe:PRECprobe:ZSRC VSRC, "foo.s2p""

Query :CHANnel<N>:PROBe:PRECprobe:ZSRC?

The :CHANnel<N>:PROBe:PRECprobe:ZSRC? query returns the current settings


for PrecisionProbe time domain and frequency domain response characterization.
Returned Format [:CHANnel<N>:PROBe:PRECprobe:ZSRC] {VIN | {VSRC, <impedance>}
| {VSRC, <file_string>}}<NL>

See Also • ":CHANnel<N>:PROBe:ACCAL" on page 350


• ":CHANnel<N>:PROBe:PRECprobe:MODE" on page 373
• ":CHANnel<N>:PROBe:PRECprobe:CALibration" on page 371

374 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

• ":CHANnel<N>:PROBe:PRECprobe:BANDwidth" on page 370


• ":CHANnel<N>:PROBe:PRECprobe:DELay" on page 372
History New in version 3.10.

Keysight Infiniium Oscilloscopes Programmer's Guide 375


14 Channel Commands

:CHANnel<N>:PROBe:PRIMary (9000 Series, 9000H Series, S-Series)


Command :CHANnel<N>:PROBe:PRIMary {ZIN | ZOUT}

<N> is an integer, 1-4.

For the N2820A/N2821A high-sensitivity current probes only, the


:CHANnel<N>:PROBe:PRIMary command configures the input channel as a
zoomed-in amplified channel (ZIN) or zoomed-out channel (ZOUT). With N2820A
probes, the secondary channel will have the other waveform.
Query :CHANnel<N>:PROBe:PRIMary?

The :CHANnel<N>:PROBe:PRIMary? query returns the primary channel output


setting.
Returned Format [:CHANnel<N>:PROBe:PRIMary] {ZIN | ZOUT}<NL>

See Also • ":MEASure:CHARge (9000 Series, 9000H Series, S-Series)" on page 786
History New in version 5.60.

376 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:PROBe:SKEW
Command :CHANnel<N>:PROBe:SKEW <skew_value>

The :CHANnel<N>:PROBe:SKEW command sets the channel-to-channel skew


factor for the specified channel. You can use the oscilloscope's probe skew control
to remove timing differences between probes or cables on different channels.
<N> An integer, 1-4.
<skew_value> A real number for the skew value, in the range -1 ms to +1 ms.
Example This example sets the probe skew for channel 1 to 10 μs.
myScope.WriteString ":CHANnel1:PROBe:SKEW 10E-6"

Query :CHANnel<N>:PROBe:SKEW?

The :CHANnel<N>:PROBe:SKEW? query returns the current probe skew setting for
the selected channel.
Returned Format [:CHANnel<N>:PROBe:SKEW] <skew_value><NL>

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 377


14 Channel Commands

:CHANnel<N>:PROBe:STYPe
Command :CHANnel<N>:PROBe:STYPe {DIFFerential | SINGle}

This command is valid only for the 113xA series probes, 1168A probe, and 1169A probe.
N OT E

The :CHANnel<N>:PROBe:STYPe command sets the channel probe signal type


(STYPe) to differential or single-ended when using the 113xA series probes, 1168A
probe, and 1169A probe. This setting determines how offset is applied.
When single-ended is selected, the :CHANnel<N>:PROBe:EXTernal:OFFset
command changes the offset value of the probe amplifier. When differential is
selected, the :CHANnel<N>:PROBe:EXTernal:OFFset command changes the offset
value of the channel amplifier.
<N> An integer, 1-4.
Example This example sets the probe mode to single-ended.
myScope.WriteString ":CHANnel1:PROBe:STYPe SINGle"

Query :CHANnel<N>:PROBe:STYPe?

The :CHANnel<N>:PROBe:STYPe? query returns the current probe mode setting


for the selected channel.
Returned Format [:CHANnel<N>:PROBe:STYPe] {DIFFerential | SINGle}<NL>

History Legacy command (existed before version 3.10).

378 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:RANGe
Command :CHANnel<N>:RANGe <range_value>

The :CHANnel<N>:RANGe command defines the full-scale vertical axis of the


selected channel. It sets up acquisition and display hardware to display the
waveform at a given range scale. The values represent the full-scale deflection
factor of the vertical axis in volts. These values change as the probe attenuation
factor is changed.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<range_value> A real number for the full-scale voltage of the specified channel number.
Example This example sets the full-scale range for channel 1 to 500 mV.
myScope.WriteString ":CHANnel1:RANGe 500E-3"

Query :CHANnel<N>:RANGe?

The :CHANnel<N>:RANGe? query returns the current full-scale vertical axis setting
for the selected channel.
Returned Format [:CHANnel<N>:RANGe]<range_value><NL>

Example This example places the current range value in the number variable, varSetting,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":CHANnel1:RANGe?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 379


14 Channel Commands

:CHANnel<N>:SCALe
Command :CHANnel<N>:SCALe <scale_value>

The :CHANnel<N>:SCALe command sets the vertical scale, or units per division, of
the selected channel. This command is the same as the front-panel channel scale.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<scale_value> A real number for the vertical scale of the channel in units per division.
Example This example sets the scale value for channel 1 to 500 mV/div.
myScope.WriteString ":CHANnel1:SCALe 500E-3"

Query :CHANnel<N>:SCALe?

The :CHANnel<N>:SCALe? query returns the current scale setting for the specified
channel.
Returned Format [:CHANnel<N>:SCALe] <scale_value><NL>

Example This example places the current scale value in the number variable, varSetting,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":CHANnel1:SCALe?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)

History Legacy command (existed before version 3.10).

380 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:AMPLitude
Command :CHANnel<N>:SIMulation:AMPLitude <value>

The :CHANnel<N>:SIMulation:AMPLitude command specifies the amplitude of the


simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<value> Simulated waveform vertical value in NR3 format.
Query :CHANnel<N>:SIMulation:AMPLitude?

The :CHANnel<N>:SIMulation:AMPLitude? query returns the simulated waveform's


amplitude value.
Returned Format <value><NL>

<value> ::= waveform vertical value in NR3 format

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 381


14 Channel Commands

:CHANnel<N>:SIMulation:DATA:LENGth
Command :CHANnel<N>:SIMulation:DATA:LENGth <length_exp>

For the DATA simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),


the :CHANnel<N>:SIMulation:DATA:LENGth command specifies the length
exponent of the simulated waveform's PRBS sequence (2<length_exp>).
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<length_exp> PRBS length exponent from 1 to 15 in NR1 format.
Query :CHANnel<N>:SIMulation:DATA:LENGth?

The :CHANnel<N>:SIMulation:DATA:LENGth? query returns the specified length


exponent.
Returned Format <length_exp><NL>

<length_exp> ::= PRBS length exponent from 1 to 15 in NR1 format

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


• ":CHANnel<N>:SIMulation:DRATe" on page 387
• ":CHANnel<N>:SIMulation:DATA:SELection" on page 386
• ":CHANnel<N>:SIMulation:DATA:ODD" on page 383
• ":CHANnel<N>:SIMulation:DATA:RESeed" on page 385
History New in version 6.00.

382 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:DATA:ODD
Command :CHANnel<N>:SIMulation:DATA:ODD {{0 | OFF} | {1 | ON}}

For the DATA simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),


the :CHANnel<N>:SIMulation:DATA:ODD command sets the PRBS "odd" control.
When ON, one is subtracted from the length of the PRBS sequence.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Query :CHANnel<N>:SIMulation:DATA:ODD?

The :CHANnel<N>:SIMulation:DATA:ODD? query returns the PRBS "odd" control


setting.
Returned Format <setting><NL>

<setting> ::= {0 | 1}

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


• ":CHANnel<N>:SIMulation:DRATe" on page 387
• ":CHANnel<N>:SIMulation:DATA:SELection" on page 386
• ":CHANnel<N>:SIMulation:DATA:LENGth" on page 382
• ":CHANnel<N>:SIMulation:DATA:RESeed" on page 385
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 383


14 Channel Commands

:CHANnel<N>:SIMulation:DATA:PAM
Command :CHANnel<N>:SIMulation:DATA:PAM <num_of_symbols>

When the DATA simulated waveform type is selected


(:CHANnel<N>:SIMulation:WAVeform DATA) and PAM is selected as the PRBS
signal type (:CHANnel<N>:SIMulation:DATA:SELection PAM), the
:CHANnel<N>:SIMulation:DATA:PAM command specifies the number of symbols
(or levels) in the PAM signal. For example, for a PAM-4 signal, you specify 4.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<num_of_symbols A value from 2 to 255 in NR1 format.
>
Query :CHANnel<N>:SIMulation:DATA:PAM?

The :CHANnel<N>:SIMulation:DATA:PAM? query returns the specified number of


symbols in the PAM signal.
Returned Format <num_of_symbols><NL>

<num_of_symbols> ::= 2 to 255 in NR1 format, e.g., 4 = PAM-4

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


• ":CHANnel<N>:SIMulation:DATA:SELection" on page 386
History New in version 6.00.

384 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:DATA:RESeed
Command :CHANnel<N>:SIMulation:DATA:RESeed {{0 | OFF} | {1 | ON}}

For the DATA simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),


the :CHANnel<N>:SIMulation:DATA:RESeed command specifies whether to reseed
the PRBS generator(s). When ON, a new sequence is given on each acquire.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Query :CHANnel<N>:SIMulation:DATA:RESeed?

The :CHANnel<N>:SIMulation:DATA:RESeed? query returns the PRBS generator(s)


reseed setting.
Returned Format <setting><NL>

<setting> ::= {0 | 1}

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


• ":CHANnel<N>:SIMulation:DRATe" on page 387
• ":CHANnel<N>:SIMulation:DATA:SELection" on page 386
• ":CHANnel<N>:SIMulation:DATA:LENGth" on page 382
• ":CHANnel<N>:SIMulation:DATA:ODD" on page 383
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 385


14 Channel Commands

:CHANnel<N>:SIMulation:DATA:SELection
Command :CHANnel<N>:SIMulation:DATA:SELection <type>

For the DATA simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),


the :CHANnel<N>:SIMulation:DATA:SELection command specifies whether the
simulated PRBS waveform is a Non Return to Zero (NRZ) signal or a Pulse
Amplitude Modulation (PAM) signal.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<type> {NRZ | PAM}
Query :CHANnel<N>:SIMulation:DATA:SELection?

The :CHANnel<N>:SIMulation:DATA:SELection? query returns the simulated PRBS


waveform signal type selection.
Returned Format <type><NL>

<type> ::= {NRZ | PAM}

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


• ":CHANnel<N>:SIMulation:DRATe" on page 387
• ":CHANnel<N>:SIMulation:DATA:LENGth" on page 382
• ":CHANnel<N>:SIMulation:DATA:ODD" on page 383
• ":CHANnel<N>:SIMulation:DATA:PAM" on page 384
• ":CHANnel<N>:SIMulation:DATA:RESeed" on page 385
History New in version 6.00.

386 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:DRATe
Command :CHANnel<N>:SIMulation:DRATe <data_rate>

For the DATA simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),


the :CHANnel<N>:SIMulation:DRATe command specifies the data rate of the
simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<data_rate> Value in NR3 format.
Query :CHANnel<N>:SIMulation:DRATe?

The :CHANnel<N>:SIMulation:DRATe? query returns the specified data rate of the


simulated waveform.
Returned Format <data_rate><NL>

<data_rate> ::= value in NR3 format

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


• ":CHANnel<N>:SIMulation:DATA:SELection" on page 386
• ":CHANnel<N>:SIMulation:DATA:LENGth" on page 382
• ":CHANnel<N>:SIMulation:DATA:ODD" on page 383
• ":CHANnel<N>:SIMulation:DATA:RESeed" on page 385
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 387


14 Channel Commands

:CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess
Command :CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess <file_path>

When the InfiniiSim filter is selected (with the


":CHANnel<N>:SIMulation:FILTer:SELection ISIM" command), the
:CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess command specifies the path of an
InfiniiSim transfer function file.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<file_path> Quoted path string of a valid .tf2 or .tf4 file.
Query :CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess?

The :CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess? query returns the path of the


selected InfiniiSim transfer function file.
Returned Format <file_path><NL>

<file_path> ::= quoted path string of a valid .tf2 or .tf4 file

See Also • ":CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction" on page 389


• ":CHANnel<N>:SIMulation:FILTer:SELection" on page 390
History New in version 6.00.

388 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction
Command :CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction <port_extraction>

When a .tf4 4-port InfiniiSim transfer function file is used (see


:CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess), the
:CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction command specifies the port
extraction method.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<port_extraction> {P12 | P32 | P34 | P14 | DIFFerential | COMMonmode}
Query :CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction?

The :CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction? query returns the selected


port extraction method.
Returned Format <port_extraction><NL>

<port_extraction> ::= {P12 | P32 | P34 | P14 | DIFF | COMM}

See Also • ":CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess" on page 388


• ":CHANnel<N>:SIMulation:FILTer:SELection" on page 390
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 389


14 Channel Commands

:CHANnel<N>:SIMulation:FILTer:SELection
Command :CHANnel<N>:SIMulation:FILTer:SELection <filter_type>

The :CHANnel<N>:SIMulation:FILTer:SELection command sets the filter type.


<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<filter_type> {BWALl | GAUSsian | ISIM | NONE}

The InfiniiSim feature must be licensed to make the ISIM selection.


N OT E

Query :CHANnel<N>:SIMulation:FILTer:SELection?

The :CHANnel<N>:SIMulation:FILTer:SELection? query returns the filter type


setting
Returned Format <filter_type><NL>

<filter_type> ::= {BWAL | GAUS | ISIM | NONE}

See Also • ":CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess" on page 388


• ":CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction" on page 389
History New in version 6.00.

390 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:FLOad:ADDRess
Command :CHANnel<N>:SIMulation:FLOad:ADDRess <load_file_path>

For the FILE simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),


the :CHANnel<N>:SIMulation:FLOad:ADDRess command specifies the full path
string of a .wfm file to use as the simulated waveform.
The string must include the full path and file extension. Only Infiniium waveform
data files are supported.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<load_file_path> Quoted full path string of a .wfm file.
Query :CHANnel<N>:SIMulation:FLOad:ADDRess?

The :CHANnel<N>:SIMulation:FLOad:ADDRess? query returns ...


Returned Format <load_file_path><NL>

<load_file_path> ::= quoted full path string of a .wfm file

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


• ":CHANnel<N>:SIMulation:FLOad:LOOP" on page 392
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 391


14 Channel Commands

:CHANnel<N>:SIMulation:FLOad:LOOP
Command :CHANnel<N>:SIMulation:FLOad:LOOP {{0 | OFF} | {1 | ON}}

For the FILE simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),


the :CHANnel<N>:SIMulation:FLOad:LOOP command specifies whether the
simulated waveform should repeat from the beginning of the file when reaching
the end of the file.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Query :CHANnel<N>:SIMulation:FLOad:LOOP?

The :CHANnel<N>:SIMulation:FLOad:LOOP? query returns the loop control


setting.
Returned Format <setting><NL>

<setting> ::= {0 | 1}

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


• ":CHANnel<N>:SIMulation:FLOad:ADDRess" on page 391
History New in version 6.00.

392 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:FREQuency
Command :CHANnel<N>:SIMulation:FREQuency <freq>

For the CLOCk or FUNCtion simulated waveform types (see


:CHANnel<N>:SIMulation:WAVeform), the :CHANnel<N>:SIMulation:FREQuency
command specifies the frequency of the simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<freq> Value in NR3 format.
Query :CHANnel<N>:SIMulation:FREQuency?

The :CHANnel<N>:SIMulation:FREQuency? query returns the specified frequency


of the simulated waveform.
Returned Format <freq><NL>

<freq> ::= value in NR3 format

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 393


14 Channel Commands

:CHANnel<N>:SIMulation:FUNCtion:SELection
Command :CHANnel<N>:SIMulation:FUNCtion:SELection <type>

For the FUNCtion simulated waveform type (see


:CHANnel<N>:SIMulation:WAVeform), the
:CHANnel<N>:SIMulation:FUNCtion:SELection command specifies the simulated
waveform function type.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<type> {IMPulse | SAWTooth | SIN | SQUare | TRIangle}
Query :CHANnel<N>:SIMulation:FUNCtion:SELection?

The :CHANnel<N>:SIMulation:FUNCtion:SELection? query returns the selected


simulated waveform function type.
Returned Format <type><NL>

<type> ::= {IMP | SAWT | SIN | SQU | TRI}

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


• ":CHANnel<N>:SIMulation:FREQuency" on page 393
• ":CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle" on page 395
• ":CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe" on page 397
• ":CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe" on page 396
History New in version 6.00.

394 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle
Command :CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle <duty_cycle>

When the FUNCtion simulated waveform type is selected


(:CHANnel<N>:SIMulation:WAVeform FUNCtion) and the SQUare function is
selected (:CHANnel<N>:SIMulation:FUNCtion:SELection SQUare), the
:CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle command specifies the
square wave's duty cycle high time percent value.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<duty_cycle> The percent high time value in NR1 format.
Query :CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle?

The :CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle? query returns the


specified duty cycle high time percent value.
Returned Format <duty_cycle><NL>

<duty_cycle> ::= percent high time value in NR1 format

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


• ":CHANnel<N>:SIMulation:FUNCtion:SELection" on page 394
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 395


14 Channel Commands

:CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe
Command :CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe <fall_time>

When the FUNCtion simulated waveform type is selected


(:CHANnel<N>:SIMulation:WAVeform FUNCtion) and the SQUare function is
selected (:CHANnel<N>:SIMulation:FUNCtion:SELection SQUare), the
:CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe command specifies the square
wave's high-to-low transition time.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<fall_time> The high-to-low transition time value in NR3 format.
Query :CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe?

The :CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe? query returns the


specified high-to-low transition time.
Returned Format <fall_time><NL>

<fall_time> ::= high-to-low transition time value in NR3 format

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


• ":CHANnel<N>:SIMulation:FUNCtion:SELection" on page 394
History New in version 6.00.

396 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe
Command :CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe <rise_time>

When the FUNCtion simulated waveform type is selected


(:CHANnel<N>:SIMulation:WAVeform FUNCtion) and the SQUare function is
selected (:CHANnel<N>:SIMulation:FUNCtion:SELection SQUare), the
:CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe command specifies the square
wave's low-to-high transition time.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<rise_time> The low-to-high transition time value in NR3 format.
Query :CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe?

The :CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe? query returns the


specified low-to-high transition time.
Returned Format <rise_time><NL>

<rise_time> ::= low-to-high transition time value in NR3 format

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


• ":CHANnel<N>:SIMulation:FUNCtion:SELection" on page 394
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 397


14 Channel Commands

:CHANnel<N>:SIMulation:JITTer
Command :CHANnel<N>:SIMulation:JITTer {{0 | OFF} | {1 | ON}}

The :CHANnel<N>:SIMulation:JITTer command turns all simulated waveform jitter


off or on while saving the values.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Query :CHANnel<N>:SIMulation:JITTer?

The :CHANnel<N>:SIMulation:JITTer? query returns the simulated waveform jitter


off/on setting.
Returned Format <setting><NL>

<setting> ::= {0 | 1}

See Also • ":CHANnel<N>:SIMulation:JITTer:ABUJ" on page 399


• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle" on page 400
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency" on page 401
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude" on page 402
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe" on page 403
• ":CHANnel<N>:SIMulation:JITTer:RANDom" on page 404
History New in version 6.00.

398 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:JITTer:ABUJ
Command :CHANnel<N>:SIMulation:JITTer:ABUJ <magnitude>

The :CHANnel<N>:SIMulation:JITTer:ABUJ command specifies the amount of


Aperiodic Bounded Uniform Jitter (ABUJ) to apply to the simulated waveform. The
ABUJ follows a uniform distribution between [-Magnitude/2, Magnitude/2].
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<magnitude> Value in NR3 format.
Query :CHANnel<N>:SIMulation:JITTer:ABUJ?

The :CHANnel<N>:SIMulation:JITTer:ABUJ? query returns the Aperiodic Bounded


Uniform Jitter (ABUJ) value.
Returned Format <magnitude><NL>

<magnitude> ::= value in NR3 format

See Also • ":CHANnel<N>:SIMulation:JITTer" on page 398


• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle" on page 400
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency" on page 401
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude" on page 402
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe" on page 403
• ":CHANnel<N>:SIMulation:JITTer:RANDom" on page 404
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 399


14 Channel Commands

:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle
Command :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle {{0 | OFF} | {1 | ON}}

The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle command turns the


periodic jitter on or off.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic jitter slot, 1-10.
Query :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle?

The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle? query returns the


periodic jitter enable setting.
Returned Format <setting><NL>

<setting> ::= {0 | 1}

See Also • ":CHANnel<N>:SIMulation:JITTer" on page 398


• ":CHANnel<N>:SIMulation:JITTer:ABUJ" on page 399
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency" on page 401
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude" on page 402
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe" on page 403
• ":CHANnel<N>:SIMulation:JITTer:RANDom" on page 404
History New in version 6.00.

400 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency
Command :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency <freq>

The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency command


specifies the frequency of the periodic jitter applied to the simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic jitter slot, 1-10.
<freq> Value in NR3 format.
Query :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency?

The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency? query returns the


specified frequency of the periodic jitter.
Returned Format <freq><NL>

<freq> ::= value in NR3 format

See Also • ":CHANnel<N>:SIMulation:JITTer" on page 398


• ":CHANnel<N>:SIMulation:JITTer:ABUJ" on page 399
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle" on page 400
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude" on page 402
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe" on page 403
• ":CHANnel<N>:SIMulation:JITTer:RANDom" on page 404
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 401


14 Channel Commands

:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude
Command :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude <magnitude>

The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude command


specifies the magnitude of the periodic jitter applied to the simulated waveform.
This magnitude is a peak-to-peak value similar to amplitude.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic jitter slot, 1-10.
<magnitude> Value in NR3 format.
Query :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude?

The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude? query returns the


specified magnitude of the periodic jitter.
Returned Format <magnitude><NL>

<magnitude> ::= value in NR3 format

See Also • ":CHANnel<N>:SIMulation:JITTer" on page 398


• ":CHANnel<N>:SIMulation:JITTer:ABUJ" on page 399
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle" on page 400
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency" on page 401
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe" on page 403
• ":CHANnel<N>:SIMulation:JITTer:RANDom" on page 404
History New in version 6.00.

402 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe
Command :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe <shape>

The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe command specifies the


shape of the periodic jitter applied to the simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic jitter slot, 1-10.
<shape> {SAWTooth | SIN | SQUare | TRIangle}
Query :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe?

The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe? query returns the


specified shape of the periodic jitter.
Returned Format <shape><NL>

<shape> ::= {SAWT | SIN | SQU | TRI}

See Also • ":CHANnel<N>:SIMulation:JITTer" on page 398


• ":CHANnel<N>:SIMulation:JITTer:ABUJ" on page 399
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle" on page 400
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency" on page 401
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude" on page 402
• ":CHANnel<N>:SIMulation:JITTer:RANDom" on page 404
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 403


14 Channel Commands

:CHANnel<N>:SIMulation:JITTer:RANDom
Command :CHANnel<N>:SIMulation:JITTer:RANDom <standard_deviation>

The :CHANnel<N>:SIMulation:JITTer:RANDom command specifies the standard


deviation of random jitter to apply. This random jitter follows a normal distribution.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<standard_deviatio Value in NR3 format.
n>
Query :CHANnel<N>:SIMulation:JITTer:RANDom?

The :CHANnel<N>:SIMulation:JITTer:RANDom? query returns the random jitter


standard deviation value.
Returned Format <standard_deviation><NL>

<standard_deviation> ::= value in NR3 format

See Also • ":CHANnel<N>:SIMulation:JITTer" on page 398


• ":CHANnel<N>:SIMulation:JITTer:ABUJ" on page 399
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle" on page 400
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency" on page 401
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude" on page 402
• ":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe" on page 403
History New in version 6.00.

404 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:NOISe
Command :CHANnel<N>:SIMulation:NOISe {{0 | OFF} | {1 | ON}}

The :CHANnel<N>:SIMulation:NOISe command turns all simulated waveform


noise off or on while saving the values.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Query :CHANnel<N>:SIMulation:NOISe?

The :CHANnel<N>:SIMulation:NOISe? query returns the simulated waveform noise


off/on setting.
Returned Format <setting><NL>

<setting ::= {0 | 1}

See Also • ":CHANnel<N>:SIMulation:NOISe:BWLimit" on page 406


• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle" on page 407
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency" on page 408
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude" on page 409
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe" on page 410
• ":CHANnel<N>:SIMulation:NOISe:RANDom" on page 411
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 405


14 Channel Commands

:CHANnel<N>:SIMulation:NOISe:BWLimit
Command :CHANnel<N>:SIMulation:NOISe:BWLimit {{0 | OFF} | {1 | ON}}

The :CHANnel<N>:SIMulation:NOISe:BWLimit command turns the noise filter on


or off. This filter is a brick wall filter with a cut-off frequency of 0.4 times the
sample rate.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Query :CHANnel<N>:SIMulation:NOISe:BWLimit?

The :CHANnel<N>:SIMulation:NOISe:BWLimit? query returns the noise filter on/off


setting.
Returned Format <setting><NL>

<setting> ::= {0 | 1}

See Also • ":CHANnel<N>:SIMulation:NOISe" on page 405


• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle" on page 407
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency" on page 408
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude" on page 409
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe" on page 410
• ":CHANnel<N>:SIMulation:NOISe:RANDom" on page 411
History New in version 6.00.

406 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle
Command :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle {{0 | OFF} | {1 | ON}}

The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle command turns the


periodic noise on or off.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic noise slot, 1-10.
Query :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle?

The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle? query returns the


periodic noise enable setting.
Returned Format <setting><NL>

<setting> ::= {0 | 1}

See Also • ":CHANnel<N>:SIMulation:NOISe" on page 405


• ":CHANnel<N>:SIMulation:NOISe:BWLimit" on page 406
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency" on page 408
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude" on page 409
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe" on page 410
• ":CHANnel<N>:SIMulation:NOISe:RANDom" on page 411
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 407


14 Channel Commands

:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency
Command :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency <freq>

The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency command


specifies the frequency of the periodic noise applied to the simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic noise slot, 1-10.
<freq> Value in NR3 format.
Query :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency?

The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency? query returns the


specified frequency of the periodic noise.
Returned Format <freq><NL>

<freq> ::= value in NR3 format

See Also • ":CHANnel<N>:SIMulation:NOISe" on page 405


• ":CHANnel<N>:SIMulation:NOISe:BWLimit" on page 406
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle" on page 407
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude" on page 409
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe" on page 410
• ":CHANnel<N>:SIMulation:NOISe:RANDom" on page 411
History New in version 6.00.

408 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude
Command :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude <magnitude>

The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude command


specifies the magnitude of the periodic noise applied to the simulated waveform.
This magnitude is a peak-to-peak value similar to amplitude.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic noise slot, 1-10.
<magnitude> Value in NR3 format.
Query :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude?

The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude? query returns the


specified magnitude of the periodic noise.
Returned Format <magnitude><NL>

<magnitude> ::= value in NR3 format

See Also • ":CHANnel<N>:SIMulation:NOISe" on page 405


• ":CHANnel<N>:SIMulation:NOISe:BWLimit" on page 406
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle" on page 407
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency" on page 408
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe" on page 410
• ":CHANnel<N>:SIMulation:NOISe:RANDom" on page 411
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 409


14 Channel Commands

:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe
Command :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe <shape>

The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe command specifies the


shape of the periodic noise applied to the simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic noise slot, 1-10.
<shape> {SAWTooth | SIN | SQUare | TRIangle}
Query :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe?

The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe? query returns the


specified shape of the periodic noise.
Returned Format <shape><NL>

<shape> ::= {SAWT | SIN | SQU | TRI}

See Also • ":CHANnel<N>:SIMulation:NOISe" on page 405


• ":CHANnel<N>:SIMulation:NOISe:BWLimit" on page 406
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle" on page 407
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency" on page 408
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude" on page 409
• ":CHANnel<N>:SIMulation:NOISe:RANDom" on page 411
History New in version 6.00.

410 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:NOISe:RANDom
Command :CHANnel<N>:SIMulation:NOISe:RANDom <standard_deviation>

The :CHANnel<N>:SIMulation:NOISe:RANDom command specifies the standard


deviation of random noise to apply. This random noise follows a normal
distribution.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<standard_deviatio Value in NR3 format.
n>
Query :CHANnel<N>:SIMulation:NOISe:RANDom?

The :CHANnel<N>:SIMulation:NOISe:RANDom? query returns the random noise


standard deviation value.
Returned Format <standard_deviation><NL>

<standard_deviation> ::= value in NR3 format

See Also • ":CHANnel<N>:SIMulation:NOISe" on page 405


• ":CHANnel<N>:SIMulation:NOISe:BWLimit" on page 406
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle" on page 407
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency" on page 408
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude" on page 409
• ":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe" on page 410
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 411


14 Channel Commands

:CHANnel<N>:SIMulation:OFFSet
Command :CHANnel<N>:SIMulation:OFFSet <offset_value>

The :CHANnel<N>:SIMulation:OFFSet command specifies the offset of the


simulated waveform.
This offset is applied to the simulated waveform and is not to be confused with the
channel offset. For example, to specify a simulated waveform that goes from 0 V to
5 V, specify an amplitude of 5 V and an offset of 2.5 V.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<offset_value> Simulated waveform vertical value in NR3 format.
Query :CHANnel<N>:SIMulation:OFFSet?

The :CHANnel<N>:SIMulation:OFFSet? query returns the simulated waveform's


offset value.
Returned Format <offset_value><NL>

<offset_value> ::= waveform vertical value in NR3 format

See Also • ":CHANnel<N>:SIMulation:WAVeform" on page 413


History New in version 6.00.

412 Keysight Infiniium Oscilloscopes Programmer's Guide


Channel Commands 14

:CHANnel<N>:SIMulation:WAVeform
Command :CHANnel<N>:SIMulation:WAVeform <type>

The :CHANnel<N>:SIMulation:WAVeform command sets the simulated waveform


type.

Simulated waveforms become available when the "Simulated Instrument" is added as a


N OT E
follower using the :HOSTed:FOLLower<N>:CONFigure and :HOSTed:FOLLower<N>:CONNect
commands. The channel numbers of the simulated waveforms depend on the follower used
(for example, using follower 1 enables simulated waveforms on channels 5 through 8).

<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.


<type> {CLOCk | DATA | FILE | FUNCtion}
• CLOCk — The simulated waveform is a square-wave clock signal.
• DATA — The simulated waveform is a Pseudo-Random Binary Sequence (PRBS)
Non Return to Zero (NRZ) or Pulse Amplitude Modulation (PAM) signal.
• FILE — The simulated waveform comes from a saved waveform data file (similar
to an arbitrary waveform in a function generator).
• FUNCtion — The simulated waveform is an impulse, sawtooth, sine, square, or
triangle function.
Query :CHANnel<N>:SIMulation:WAVeform?

The :CHANnel<N>:SIMulation:WAVeform? query returns the selected simulated


waveform type.
Returned Format <type><NL>

<type> ::= {CLOC | DATA | FILE | FUNC}

See Also • ":HOSTed:FOLLower<N>:CONFigure" on page 614


• ":HOSTed:FOLLower<N>:CONNect" on page 615
• ":CHANnel<N>:SIMulation:AMPLitude" on page 381
• ":CHANnel<N>:SIMulation:OFFSet" on page 412
• ":CHANnel<N>:SIMulation:FREQuency" on page 393
• ":CHANnel<N>:SIMulation:DATA:SELection" on page 386
• ":CHANnel<N>:SIMulation:DRATe" on page 387
• ":CHANnel<N>:SIMulation:FLOad:ADDRess" on page 391
• ":CHANnel<N>:SIMulation:FUNCtion:SELection" on page 394
History New in version 6.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 413


14 Channel Commands

:CHANnel<N>:UNITs
Command :CHANnel<N>:UNITs {VOLT | AMPere | WATT | UNKNown}

UNITs can also be set using the CHANnel<N>:PROBe:EXTernal:UNITs command when


N OT E
CHANnel<N>:PROBe:EXTernal command has been set to ON.

The :CHANnel<N>:UNITs command sets the vertical units. You can specify Y-axis
units of VOLTs, AMPs, WATTs, or UNKNown. The units are implied for other
pertinent channel commands (such as :CHANnel<N>:RANGe and
:CHANnel<N>:OFFSet). See the Probe Setup dialog box for more information.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example sets the units for channel 1 to amperes.
myScope.WriteString ":CHANnel1:UNITs AMPere"

Query :CHANnel<N>:UNITs?

The :CHANnel<N>:UNITs? query returns the current units setting for the specified
channel.
Returned Format [:CHANnel<N>:UNITs] {VOLT | AMPere | WATT | UNKNown}<NL>

Example This example places the vertical units for the specified channel in the string
variable, strUnits, then prints the contents of the variable to the computer's
screen.
Dim strUnits As String
myScope.WriteString ":CHANnel1:UNITs?"
strUnits = myScope.ReadString
Debug.Print strUnits

History Legacy command (existed before version 3.10).

414 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

15 Common Commands
*CLS — Clear Status / 417
*ESE — Event Status Enable / 418
*ESR? — Event Status Register / 420
*IDN? — Identification Number / 421
*LRN? — Learn / 422
*OPC — Operation Complete / 424
*OPT? — Option / 425
*PSC — Power-on Status Clear / 432
*RCL — Recall / 433
*RST — Reset / 434
*SAV — Save / 435
*SRE — Service Request Enable / 436
*STB? — Status Byte / 438
*TRG — Trigger / 440
*TST? — Test / 441
*WAI — Wait / 442

Common commands are defined by the IEEE 488.2 standard. They control generic
device functions that are common to many different types of instruments.
Common commands can be received and processed by the oscilloscope, whether
they are sent over the remote interface as separate program messages or within
other program messages.
Receiving Common commands can be received and processed by the oscilloscope, whether
Common they are sent over the remote interface as separate program messages or within
Commands other program messages. If a subsystem is currently selected and a common
command is received by the oscilloscope, the oscilloscope remains in the selected
subsystem. For example, if the program message
"ACQUIRE:AVERAGE ON;*CLS;COUNT 1024"

is received by the oscilloscope, the oscilloscope sets the acquire type, clears the
status information, then sets the number of averages without leaving the selected
subsystem.

415
15 Common Commands

N OT E Headers and Common Commands.


Headers are not prepended to common commands.

Status Registers The following two status registers used by common commands have an enable
(mask) register. By setting bits in the enable register, you can select the status
information for use. Refer to the chapter, "Status Reporting," for a complete
discussion of status.

Table 6 Status and Enable Registers

Status Register Enable Register


Event Status Register Event Status Enable Register
Status Byte Register Service Request Enable Register

416 Keysight Infiniium Oscilloscopes Programmer's Guide


Common Commands 15

*CLS — Clear Status


Command *CLS

The *CLS command clears all status and error registers.


Example This example clears the status data structures of the oscilloscope.
myScope.WriteString "*CLS"

See Also • Chapter 7, “Status Reporting,” starting on page 157 for a complete discussion
of status.
• "Example: Blocking and Polling Synchronization" on page 193
• "Example: Checking for Armed Status" on page 182
History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 417


15 Common Commands

*ESE — Event Status Enable


Command *ESE <mask>

The *ESE command sets the Standard Event Status Enable Register bits.
<mask> An integer, 0 to 255, representing a mask value for the bits to be enabled in the
Standard Event Status Register as shown in Table 7.
Example This example enables the User Request (URQ) bit of the Standard Event Status
Enable Register. When this bit is enabled and a front-panel key is pressed, the
Event Summary bit (ESB) in the Status Byte Register is also set.
myScope.WriteString "*ESE 64"

Query *ESE?

The *ESE? query returns the current contents of the Standard Event Status Enable
Register.
Returned Format <mask><NL>

<mask> An integer, +0 to +255 (the plus sign is also returned), representing a mask value
for the bits enabled in the Standard Event Status Register as shown in Table 7.
Example This example places the current contents of the Standard Event Status Enable
Register in the numeric variable, varEvent. The value of the variable is printed on
the computer's screen.
myScope.WriteString "*ESE?"
varEvent = myScope.ReadNumber
Debug.Print FormatNumber(varEvent, 0)

The Standard Event Status Enable Register contains a mask value for the bits to be
enabled in the Standard Event Status Register. A "1" in the Standard Event Status
Enable Register enables the corresponding bit in the Standard Event Status
Register. A "0" in the enable register disables the corresponding bit.

Table 7 Standard Event Status Enable Register Bits

Bit Weight Enables Definition


7 128 PON - Power On Indicates power is turned on.
6 64 Not Used. Permanently set to zero.
5 32 CME - Command Error Indicates whether the parser
detected an error.
4 16 EXE - Execution Error Indicates whether a parameter was
out of range, or was inconsistent
with the current settings.
3 8 DDE - Device Dependent Error Indicates whether the device was
unable to complete an operation for
device-dependent reasons.

418 Keysight Infiniium Oscilloscopes Programmer's Guide


Common Commands 15

Table 7 Standard Event Status Enable Register Bits (continued)

Bit Weight Enables Definition


2 4 QYE - Query Error Indicates if the protocol for queries
has been violated.
1 2 RQC - Request Control Indicates whether the device is
requesting control.
0 1 OPC - Operation Complete Indicates whether the device has
completed all pending operations.

See Also Refer to Chapter 7, “Status Reporting,” starting on page 157 for a complete
discussion of status.
History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 419


15 Common Commands

*ESR? — Event Status Register


Query *ESR?

The *ESR? query returns the contents of the Standard Event Status Register.
Reading this register clears the Standard Event Status Register, as does a *CLS.
Returned Format <status><NL>

<status> An integer, 0 to 255, representing the total bit weights of all bits that are high at
the time you read the register.
Example This example places the current contents of the Standard Event Status Register in
the numeric variable, varEvent, then prints the value of the variable to the
computer's screen.
myScope.WriteString "*ESR?"
varEvent = myScope.ReadNumber
Debug.Print FormatNumber(varEvent, 0)

Table 8 lists each bit in the Event Status Register and the corresponding bit
weights.

Table 8 Standard Event Status Register Bits

Bit Bit Bit Name Condition (0 = False = Low, 1 =


Weight True = High)
7 128 PON 1 = OFF to ON transition has
occurred.
6 64 Not Used. Permanently set to zero.
5 32 CME 0 = no command errors. 1 = a
command error has been detected.
4 16 EXE 0 = no execution error. 1 = an
execution error has been detected.
3 8 DDE 0 = no device-dependent errors. 1 =
a device-dependent error has been
detected.
2 4 QYE 0 = no query errors. 1 = a query
error has been detected.
1 2 RQC 0 = request control - NOT used -
always 0.
0 1 OPC 0 = operation is not complete. 1 =
operation is complete.

History Legacy command (existed before version 3.10).

420 Keysight Infiniium Oscilloscopes Programmer's Guide


Common Commands 15

*IDN? — Identification Number


Query *IDN?

The *IDN? query returns the company name, oscilloscope model number, serial
number, and software version by returning this string:
Keysight Technologies,<Model #>,<USXXXXXXXX>,<Rev #>[,<Options>]

<Model #> Specifies the model number of the oscilloscope.


<USXXXXXXXX> Specifies the serial number of the oscilloscope. The first four digits and letter are
the serial prefix, which is the same for all identical oscilloscopes. The last five
digits are the serial suffix, which is assigned sequentially, and is different for each
oscilloscope.
<Rev #> Specifies the software version of the oscilloscope, and is the revision number.
<Options> Comma separated list of the installed options.
Returned Format Keysight Technologies,DSO9404A,USXXXXXXXX,XX.XX.XXXX

Example This example places the oscilloscope's identification information in the string
variable, strIdentify, then prints the identification information to the computer's
screen.
Dim strIdentify As String ' Dimension variable.
myScope.WriteString "*IDN?"
strIdentify = myScope.ReadString
Debug.Print strIdentify

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 421


15 Common Commands

*LRN? — Learn
Query *LRN?

The *LRN? query returns a block of data that contains the oscilloscope's current
setup. You can store the oscilloscope's setup and send it back to the oscilloscope
at a later time. This block of setup data should be sent to the oscilloscope just as it
is. It works because of its embedded ":SYST:SET" header.
Returned Format :SYST:SET<setup><NL>

<setup> This is a definite-length, arbitrary block response specifying the current


oscilloscope setup. The block size is subject to change with different firmware
revisions.
Example This Python and PyVISA example saves the *LRN? string to a file and then restores
the oscilloscope setup from the file.
# ********************************************************************
# Using the *LRN? string to save and restore the oscilloscope setup.
# ********************************************************************

# Import modules.
# ---------------------------------------------------------
import visa
import string
import sys

# =========================================================
# Check for instrument errors:
# =========================================================
def check_instrument_errors():

while True:
error_string = Infiniium.query(":SYSTem:ERRor? STRing")
if error_string: # If there is an error string value.

if error_string.find("0,", 0, 2) == -1: # Not "No error".


print "ERROR: %s." % error_string
print "Exited because of error."
sys.exit(1)

else: # "No error"


break

else: # :SYSTem:ERRor? STRing should always return string.


print "ERROR: :SYSTem:ERRor? STRing returned nothing."
print "Exited because of error."
sys.exit(1)

# =========================================================
# Main program:
# =========================================================

rm = visa.ResourceManager()
Infiniium = rm.open_resource("TCPIP0::141.121.237.226::hislip0::INSTR")

422 Keysight Infiniium Oscilloscopes Programmer's Guide


Common Commands 15

Infiniium.timeout = 20000
Infiniium.clear()

# Save oscilloscope setup.


values_list = Infiniium.query_binary_values("*LRN?", datatype='s')
sLearn = values_list[0]
check_instrument_errors()

f = open("learn.stp", "wb")
f.write("%s" % sLearn)
f.close()
print "Learn string bytes saved: %d" % len(sLearn)

# Restore the default setup.


Infiniium.write("*RST")

# Set up oscilloscope by loading previously saved learn string.


sLearn = ""
f = open("learn.stp", "rb")
sLearn = f.read()
f.close()

Infiniium.write_binary_values(":SYSTem:SETup ", sLearn, datatype='c')


check_instrument_errors()

print "Learn string bytes restored: %d" % len(sLearn)

See Also :SYSTem:SETup command and query. When HEADers is ON and LONGform is
OFF, the :SYSTem:SETup command performs the same function as the *LRN?
query. However, *LRN and SETup block setup data are not interchangeable.

N OT E *LRN? Returns Prefix to Setup Block


The *LRN? query always returns :SYST:SET as a prefix to the setup block. The
:SYSTem:HEADer command has no effect on this response.

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 423


15 Common Commands

*OPC — Operation Complete


Command *OPC

The *OPC command sets the operation complete bit in the Standard Event Status
Register when all pending device operations have finished.
Example This example sets the operation complete bit in the Standard Event Status
Register when the DIGitize operation is complete.
myScope.WriteString ":DIGitize CHANnel1;*OPC"

Query *OPC?

The *OPC? query places an ASCII character "1" in the oscilloscope's output queue
when all pending selected device operations have finished.
Returned Format 1<NL>

Example This example places an ASCII character "1" in the oscilloscope's output queue
when the AUToscale operation is complete. Then the value in the output queue is
placed in the numeric variable var"varComplete."
myScope.WriteString ":AUToscale;*OPC?"
varComplete = myScope.ReadNumber
Debug.Print FormatNumber(varComplete, 0)

The *OPC? query allows synchronization between the computer and the
oscilloscope by using the message available (MAV) bit in the Status Byte or by
reading the output queue. Unlike the *OPC command, the *OPC query does not
affect the OPC Event bit in the Standard Event Status Register.
History Legacy command (existed before version 3.10).

424 Keysight Infiniium Oscilloscopes Programmer's Guide


Common Commands 15

*OPT? — Option
Query *OPT?

The *OPT? query returns a string with a list of installed options. If no options are
installed, the string will have a 0 as the first character.
The length of the returned string may increase as options become available in the
future. Once implemented, an option name will be appended to the end of the
returned string, delimited by a comma.
Returned Format [002,EZP,EZJ,SDA,LSS,ABD,ABC,ABB,NRD,ERC,AIP,PCI1,ETH,DVI,HDM,B30,CAN,
SA1,DDR]<NL>

Table 9 Possible Installed Options and Descriptions

Installed Option Description


01G 1 GPts
02G 2 GPts
13S Display Port 1.4 Switch
200 200 MPts
3PC MIPI 3-Phase Compliance
400 400 MPts
500 500 MPts
AER MIL-STD 1553/ARINC 429 Protocols
AP2 DDR1 Compliance
ASV Spectrum Visualizer
B30 USB Compliance
BRP BroadR-Reach Protocol
BRR BroadR Compliance
BRS BroadR Switch
BT1 1000BaseT1 Compliance
C3P CSI3 Protocol
C4C CAUI-4 Compliance
C4S CAUI-4 Switch
CAN CAN/LIN/FlexRay Protocols
CFD CAN/CAN-FD/LIN/FlexRay Protocols
CFL CAN/LIN/FlexRay Protocols
CFU CAN/CAN-FD/LIN/FlexRay Protocols Upgrade

Keysight Infiniium Oscilloscopes Programmer's Guide 425


15 Common Commands

Table 9 Possible Installed Options and Descriptions (continued)

Installed Option Description


CRI App Remote
D12 Display Port 1.2 Compliance
D13 Display Port 1.4 Compliance
D1S DDR1 Switch
D2D DDR2 Debug
D2S DDR2 Switch
D3D DDR3 Debug
D3S DDR3 Switch
D4D DDR4 Debug
D4S DDR4 Switch
DD3 DDR3 Compliance
DD4 DDR4 Compliance
DDB DDR Bundle
DDR DDR2 Compliance
DEA InfiniiSim Advanced
DEB InfiniiSim Basic
DEQ Equalization
DPC Display Port Compliance
DPS Display Port Switch
DPT Display Port Compliance
DRF DigRF4 Protocol
DRP DDR Protocol
DTS Digital Test Apps Switch
DVI DVI Compliance
E1C 100GBASE-CR4 Ethernet Compliance
E1K 100GBASE-KR4 Ethernet Compliance
E1S 100G-KR4 Ethernet Switch
E2M 2.5G MGBase-T Compliance
E2S 100G-CR4 Ethernet Switch
E4C 40GBASE Ethernet Compliance
E4S 40G Ethernet Switch

426 Keysight Infiniium Oscilloscopes Programmer's Guide


Common Commands 15

Table 9 Possible Installed Options and Descriptions (continued)

Installed Option Description


E5M 5G MGBase-T Compliance
ECU ECU PHY Compliance
EDP eDP 1.4 Compliance
EDS eDP 1.4 Switch
EEE Energy Efficient Ethernet
EEU EE Ethernet Upgrade
EGR 100GBASE-KR/CR Ethernet Protocol
EKC 10GBASE-KR Ethernet Compliance
EKR 10GBASE-KR Ethernet Protocol
EKS 10GBASE-KR Ethernet Switch
EMC eMMC Compliance
ESP eSPI Protocol
ETH Gigabit Ethernet Compliance
ETN 10G Ethernet Compliance
ETP Ethernet Protocol
EZC EZJIT Complete
EZJ EZJIT
EZP EZJIT Plus
FBD FB DIMM Compliance
FBR Fibre Channel Compliance
GD3 GDDR3 Compliance
GD4 GDDR4 Compliance
GD5 GDDR5 Compliance
GDR GDDR Compliance
GMP Manchester Protocol
H14 HDMI 14 Compliance
H1T HDMI 1.4 TMDS Compliance
H21 HDMI FRL/TMDS Compliance
H2C HDMI 2.0 Compliance
H2T HDMI TMDS Compliance
HCS Hybrid Memory Cube Switch

Keysight Infiniium Oscilloscopes Programmer's Guide 427


15 Common Commands

Table 9 Possible Installed Options and Descriptions (continued)

Installed Option Description


HDF Hosted Digitizer Frame
HDM HDMI Compliance
HDS HDMI Switch
HMC Hybrid Memory Cube Compliance
HSI HSIC USB Compliance
HTE HDMI 1.4 TMDS Compliance
I3C MIPI I3C Protocol
ISP I2S Protocol
JTP JTAG Protocol
L4D LPDDR4 Debug
LLI LLI Protocol
LP2 LPDDR2 Compliance
LP3 LPDDR3 Compliance
LP4 LPDDR4 Compliance
LSS SPI/I2C Protocols
M3C MHL 3.0 Compliance
MCC MIPI C-PHY Compliance
MCP MIPI C-PHY
MDC MIPI D-PHY 2.0 Compliance
MDS MIPI DPHY Switch
MDU MIPI D-PHY 2.0 Upgrade
MHL Mobile HD Link Compliance
MHS MHL Switch
MMS MIPI MPHY Switch
MP4 MIPI M-PHY 4.1 Compliance
MPH MIPI M-PHY Compliance
MPI MIPI D-PHY Compliance
MPP MIPI D-PHY Protocol
MSO MSO Upgrade
MSS MOST Switch
MST MOST Compliance

428 Keysight Infiniium Oscilloscopes Programmer's Guide


Common Commands 15

Table 9 Possible Installed Options and Descriptions (continued)

Installed Option Description


MYC User Defined App
NB2 2.5G NBase-T Compliance
NB5 5G NBase-T Compliance
NRD Noise Reduction
OD2 ONFI-NVDDR2 Compliance
OSA Oscilloscope Signal Analyzer
P3D PCI Express 3.0 Protocol
P4D PCI Express 4.0 Protocol
PC2 PCI Express 2.0 Compliance
PC3 PCI 3.0 Compliance
PC4 PCI Express 4.0 Compliance
PCE PAM-4 CEI Application
PCI PCI Express 1.0a Compliance
PEI PAM-4 CEI 4.0 Application
PEP PCI Express Protocol
PES PCI Express Switch
PEU PAM-4 CEI 4.0 Application Upgrade
PFC PAM-4 Fibre Channel Application
PHN Phase Noise
PI2 PAM-4 IEEE 802.3bs/cd Application
PIE PAM-4 IEEE Application
PIU PAM-4 IEEE 802.3bs/cd App Upgrade
PM3 PAM-3 Measurement
PM4 PAM-4 Measurement
PRN PrecisionProbe
PSW PAM-4 Switch
PWI PowerIntegrity
QPI QPI Compliance
QSS SFP+ Switch
RFE RFFE Protocol
RSP RS232/UART Protocol

Keysight Infiniium Oscilloscopes Programmer's Guide 429


15 Common Commands

Table 9 Possible Installed Options and Descriptions (continued)

Installed Option Description


RXP PCI-E Rx Compliance
RXT Rx Compliance
RXU USB Rx Compliance
S12 SAS 12G Compliance
S6G SAS 6G Compliance
SA1 SATA 1 Compliance
SA2 SATA 2 Compliance
SA4 SAS 4 Compliance
SA6 SATA 3 Compliance
SAS SAS Compliance
SDA Serial Data Analysis
SDC SD Card Compliance
SFP SFP+ Compliance
SNT SENT
SPP SPMI Protocol
SPW Spacewire
SSC SSIC Protocol
SSS SAS Switch
STP SATA/SAS Protocol
STS SATA Switch
SVD SVID Protocol
SWT InfiniiScan
T2C Thunderbolt 2.0 Compliance
T3C Thunderbolt 3.0 Compliance
TBL Thunderbolt Compliance
TBS Thunderbolt Switch
TCC Thunderbolt 3.0 Compliance
TGS 10G Ethernet Switch
U31 USB 3.1 Protocol
U3P USB 3.0 Protocol
U3S USB 3.0 Switch

430 Keysight Infiniium Oscilloscopes Programmer's Guide


Common Commands 15

Table 9 Possible Installed Options and Descriptions (continued)

Installed Option Description


UDF User Def Fn
UDP User Defined Protocol
UDS User Defined App Switch
UFP UFS Protocol
UFS Universal Flash Storage Compliance
UH2 Ultra HS2 SD Compliance
UHS Ultra HS SD Compliance
UNI UniPro Protocol
UPD USB Power Delivery Protocol
US3 USB 3.1/3.0 Transmitter Compliance
USC USB 3.1 Compliance
USP USB 2.0 Protocol
USS USB3 SuperSpeed Plus Compliance
VX1 Vx1 Compliance
WUB Wireless USB Compliance
XAI XAUI Compliance
XTK Crosstalk
XTU CrosstalkUpgrade

Example This example places all options into the string variable, strOptions, then prints the
option name to the computer's screen.
Dim strOptions As String
myScope.WriteString "*OPT?"
strOptions = myScope.ReadString
Debug.Print strOptions

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 431


15 Common Commands

*PSC — Power-on Status Clear


Command *PSC {{ON|1} | {OFF|0}}

The *PSC command determines whether or not the SRQ line is set upon the
completion of the oscilloscope's boot process. When the *PSC flag is set to 1, the
Power On (PON) bit of the Standard Event Status Register is 0 during the boot
process. When the *PSC flag is set to 0, the PON bit is set to a 1 during the boot
process.
When the *PSC flag is set to 0, the Standard Event Status Enable Register must be
set to 128 decimal and the Service Request Enable Register must be set to 32
decimal. This allows the Power On (PON) bit to set the SRQ line when the
oscilloscope is ready to receive commands.

If you are using a LAN interface rather than a GPIB interface, it is not possible to receive the
N OT E
SRQ during the boot process.

Example This example sets the *PSC flag to 0 which sets the SRQ line during the boot
process.
myScope.WriteString "*PSC 0;*SRE 32;*ESE 128"

Query The *PSC? query returns the value of the *PSC flag.
Returned Format 1<NL>

Example This example places the *PSC flag into the integer variable varPscflag.
myScope.WriteString "*PSC?"
varPscflag = myScope.ReadNumber
Debug.Print FormatNumber(varPscflag, 0)

History Legacy command (existed before version 3.10).

432 Keysight Infiniium Oscilloscopes Programmer's Guide


Common Commands 15

*RCL — Recall
Command *RCL <register>

The *RCL command restores the state of the oscilloscope to a setup previously
stored in the specified save/recall register. An oscilloscope setup must have been
stored previously in the specified register. Registers 0 through 9 are
general-purpose registers and can be used by the *RCL command.
<register> An integer, 0 through 9, specifying the save/recall register that contains the
oscilloscope setup you want to recall.
Example This example restores the oscilloscope to the oscilloscope setup stored in register
3.
myScope.WriteString "*RCL 3"

See Also *SAV (Save). An error message appears on the oscilloscope's display if nothing has
been previously saved in the specified register.
History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 433


15 Common Commands

*RST — Reset
Command *RST

The *RST command performs a default setup which is the same as pressing the
oscilloscope front panel [Default Setup] key.
Example This example resets the oscilloscope to a known state.
myScope.WriteString "*RST"

See Also • ":SYSTem:PRESet" on page 1233 (where the default values for Infiniium
oscilloscope controls are described)
History Legacy command (existed before version 3.10).

434 Keysight Infiniium Oscilloscopes Programmer's Guide


Common Commands 15

*SAV — Save
Command *SAV <register>

The *SAV command stores the current state of the oscilloscope in a save register.
<register> An integer, 0 through 9, specifying the register used to save the current
oscilloscope setup.
Example This example stores the current oscilloscope setup to register 3.
myScope.WriteString "*SAV 3"

See Also *RCL (Recall).


History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 435


15 Common Commands

*SRE — Service Request Enable


Command *SRE <mask>

The *SRE command sets the Service Request Enable Register bits. By setting the
*SRE, when the event happens, you have enabled the oscilloscope's interrupt
capability. The oscilloscope will then do an SRQ (service request), which is an
interrupt.
<mask> An integer, 0 to 255, representing a mask value for the bits to be enabled in the
Service Request Enable Register as shown in Table 10.
Example This example enables a service request to be generated when a message is
available in the output queue. When a message is available, the MAV bit is high.
myScope.WriteString "*SRE 16"

Query *SRE?

The *SRE? query returns the current contents of the Service Request Enable
Register.
Returned Format <mask><NL>

<mask> An integer, 0 to 255, representing a mask value for the bits enabled in the Service
Request Enable Register.
Example This example places the current contents of the Service Request Enable Register
in the numeric variable, varValue, then prints the value of the variable to the
computer's screen.
myScope.WriteString "*SRE?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)

The Service Request Enable Register contains a mask value for the bits to be
enabled in the Status Byte Register. A "1" in the Service Request Enable Register
enables the corresponding bit in the Status Byte Register. A "0" disables the bit.

Table 10 Service Request Enable Register Bits

Bit Weight Enables


7 128 OPER - Operation Status Register
6 64 Not Used
5 32 ESB - Event Status Bit
4 16 MAV - Message Available
3 8 Not Used
2 4 MSG - Message

436 Keysight Infiniium Oscilloscopes Programmer's Guide


Common Commands 15

Table 10 Service Request Enable Register Bits (continued)

Bit Weight Enables


1 2 USR - User Event Register
0 1 TRG - Trigger

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 437


15 Common Commands

*STB? — Status Byte


Query *STB?

The *STB? query returns the current contents of the Status Byte, including the
Master Summary Status (MSS) bit. See Table 11 for Status Byte Register bit
definitions.
Returned Format <value><NL>

<value> An integer, 0 to 255, representing a mask value for the bits enabled in the Status
Byte.
Example This example reads the contents of the Status Byte into the numeric variable,
varValue, then prints the value of the variable to the computer's screen.
myScope.WriteString "*STB?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)

In response to a serial poll (SPOLL), Request Service (RQS) is reported on bit 6 of


the status byte. Otherwise, the Master Summary Status bit (MSS) is reported on
bit 6. MSS is the inclusive OR of the bitwise combination, excluding bit 6, of the
Status Byte Register and the Service Request Enable Register. The MSS message
indicates that the oscilloscope is requesting service (SRQ).

Table 11 Status Byte Register Bits

Bit Bit Bit Name Condition (0 = False = Low, 1 =


Weight True = High)
7 128 OPER 0 = no enabled operation status
conditions have occurred 1 = an
enabled operation status condition
has occurred
6 64 RQS/MSS 0 = oscilloscope has no reason for
service 1 = oscilloscope is
requesting service
5 32 ESB 0 = no event status conditions have
occurred 1 = an enabled event
status condition has occurred
4 16 MAV 0 = no output messages are ready 1
= an output message is ready
3 8 --- 0 = not used
2 4 MSG 0 = no message has been displayed
1 = message has been displayed

438 Keysight Infiniium Oscilloscopes Programmer's Guide


Common Commands 15

Table 11 Status Byte Register Bits (continued)

Bit Bit Bit Name Condition (0 = False = Low, 1 =


Weight True = High)
1 2 USR 0 = no enabled user event
conditions have occurred 1 = an
enabled user event condition has
occurred
0 1 TRG 0 = no trigger has occurred 1 = a
trigger occurred

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 439


15 Common Commands

*TRG — Trigger
Command *TRG

The *TRG command has the same effect as the Group Execute Trigger message
(GET) or RUN command. It acquires data for the active waveform display, if the
trigger conditions are met, according to the current settings.
Example This example starts the data acquisition for the active waveform display according
to the current settings.
myScope.WriteString "*TRG"

N OT E Trigger Conditions Must Be Met


When you send the *TRG command in Single trigger mode, the trigger conditions must be met
before the oscilloscope will acquire data.

History Legacy command (existed before version 3.10).

440 Keysight Infiniium Oscilloscopes Programmer's Guide


Common Commands 15

*TST? — Test
Query *TST?

The *TST? query causes the oscilloscope to perform a self-test, and places a
response in the output queue indicating whether or not the self-test completed
without any detected errors. Use the :SYSTem:ERRor command to check for
errors. A zero indicates that the test passed and a non-zero indicates the self-test
failed.

N OT E Disconnect Inputs First


You must disconnect all front-panel inputs before sending the *TST? command.

Returned Format <result><NL>

<result> 0 for pass; non-zero for fail.


Example This example performs a self-test on the oscilloscope and places the results in the
numeric variable, varResults. The program then prints the results to the
computer's screen.
myScope.WriteString "*TST?"
varResults = myScope.ReadNumber
Debug.Print FormatNumber(varResults, 0)

If a test fails, refer to the troubleshooting section of the service guide.

N OT E Expanded Error Reporting


The :SELFtest:SCOPETEST command has expanded error reporting. Instead of using *TST?,
Keysight recommends that you use the :SELFtest:SCOPETEST command. In either case, be
sure you disconnect all front-panel inputs before sending the *TST? command.

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 441


15 Common Commands

*WAI — Wait
Command *WAI

The *WAI command has no function in the oscilloscope, but is parsed for
compatibility with other instruments.
Example myScope.WriteString "*WAI"

History Legacy command (existed before version 3.10).

442 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

16 Digital Commands
:DIGital<N>:DISPlay / 444
:DIGital<N>:LABel / 445
:DIGital<N>:SIZE / 446
:DIGital<N>:THReshold / 447

The DIGital commands only apply to the MSO oscilloscopes.


N OT E

443
16 Digital Commands

:DIGital<N>:DISPlay
Command
The DIGital commands only apply to the MSO oscilloscopes.
N OT E

:DIGital<N>[:DISPlay] {ON | OFF | 1 | 0}

The :DIGital<N>:DISPlay command enables or disables the view for the selected
digital channel.
<N> An integer, 0-15.
Example This example turns on the display of bit 5 for the digital channels.
myScope.WriteString ":DIGital5:DISPlay ON"

Query :DIGital<N>[:DISPlay]?

The :DIGital<N>:DISPlay? query returns the value of the display setting for the
selected digital channel.
Returned Format [:DIGital<N>:DISPlay] {1 | 0}<NL>

History Legacy command (existed before version 3.10).

444 Keysight Infiniium Oscilloscopes Programmer's Guide


Digital Commands 16

:DIGital<N>:LABel
Command
The DIGital commands only apply to the MSO oscilloscopes.
N OT E

:DIGital<N>:LABel <quoted_string>

The :DIGital<N>:LABel command sets the digital channel label to the quoted
string. Setting a label for a digital channel will also result in the name being added
to the label list.

Label strings are 16 characters or less, and may contain any commonly used ASCII characters.
N OT E
Labels with more than 16 characters are truncated to 16 characters.

<N> An integer, 1-2.


<quoted_string> A series of 16 or less characters as a quoted ASCII string.
Example This example sets the label for bit 7 to Clock.
myScope.WriteString ":DIGital7:LABel ""Clock"""

Query :DIGital<N>:LABel?

The :DIGital<N>:LABel? query returns the name of the specified digital channel.
Returned Format [:DIGital<N>:LABel] <quoted_string><NL>

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 445


16 Digital Commands

:DIGital<N>:SIZE
Command
The DIGital commands only apply to the MSO oscilloscopes.
N OT E

DIGital<N>:SIZE {SMALl | MEDium | LARGe}

The :DIGital<N>:SIZE command changes the vertical size of all the displayed
digital channels. The digital subsystem must be enabled before this command will
work. See ENABle command in the root subsystem.
<N> An integer, 0-15.
Example This example changes the size to medium for all displayed digital channels or
buses.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":DIGital5:SIZE MEDium"

Query :DIGital<N>:SIZE?

The :DIGital:CHANnel:SIZE? query returns the size of the displayed digital


channels.
Returned Format [:DIGital<N>:SIZE] {SMALl | MEDium | LARGe}<NL>

History Legacy command (existed before version 3.10).

446 Keysight Infiniium Oscilloscopes Programmer's Guide


Digital Commands 16

:DIGital<N>:THReshold
Command
The DIGital commands only apply to the MSO oscilloscopes.
N OT E

:DIGital<N>:THReshold {CMOS50 | CMOS33 | CMOS25 | ECL | PECL | TTL


| DIFFerential | <value>}

The :DIGital<N>:THReshold command sets the logic threshold value for a pod.
Setting the threshold for digital channels 0 through 7 sets the threshold for pod 1
while setting the threshold for digital channels 8 through 15 sets the threshold for
pod 2. This command is equivalent to the POD<N>:THReshold command.
The threshold is used for triggering purposes and for displaying the digital data as
high (above the threshold) or low (below the threshold). The voltage values for the
predefined thresholds are:
• CMOS50 = 2.5 V
• CMOS33 = 1.65 V
• CMOS25 = 1.25 V
• ECL = -1.3 V
• PECL = 3.7 V
• TTL = 1.4 V
• DIFFerential = 0 V
<N> An integer, 0-15.
<value> A real number representing the voltage value which distinguishes a 1 logic level
from a 0 logic level. Waveform voltages greater than the threshold are 1 logic
levels while waveform voltages less than the threshold are 0 logic levels.
On 9000 Series, 9000H Series, and S-Series mixed-signal oscilloscopes, the range
of the threshold voltage is from -8 volts to 8 volts.
On 90000 X-Series and V-Series mixed-signal oscilloscopes, the range of the
threshold voltage is from -3.75 volts to 3.75 volts.
Example This example sets the threshold to 1.8 volts for bits D15 through D8.
myScope.WriteString ":DIGital8:THReshold 1.8"

Query :DIGital<N>:THReshold?

The :DIGital<N>:THReshold? query returns the threshold value for the specified
pod.
Returned Format [:DIGital<N>:THReshold] {CMOS50 | CMOS33 | CMOS25 | ECL | PECL | TTL
| DIFF | <value>}<NL>

Keysight Infiniium Oscilloscopes Programmer's Guide 447


16 Digital Commands

History Legacy command (existed before version 3.10).


Version 4.50: Added the DIFFerential parameter for specifying the threshold
voltage.

448 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

17 Disk Commands
:DISK:CDIRectory / 450
:DISK:COPY / 451
:DISK:DELete / 452
:DISK:DIRectory? / 453
:DISK:LOAD / 454
:DISK:MDIRectory / 456
:DISK:PWD? / 457
:DISK:SAVE:COMPosite / 458
:DISK:SAVE:IMAGe / 459
:DISK:SAVE:JITTer / 460
:DISK:SAVE:LISTing / 461
:DISK:SAVE:MEASurements / 462
:DISK:SAVE:PRECprobe / 463
:DISK:SAVE:SETup / 464
:DISK:SAVE:WAVeform / 465
:DISK:SEGMented / 467

The DISK subsystem commands perform the disk operations as defined in the File
menu. This allows saving and loading of waveforms and setups, as well as saving
screen images to bitmap files.

N OT E Enclose File Name in Quotation Marks


When specifying a file name, you must enclose it in quotation marks.

N OT E Filenames are Not Case Sensitive.


The filename that you use is not case sensitive.

449
17 Disk Commands

:DISK:CDIRectory
Command :DISK:CDIRectory "<directory>"

The :DISK:CDIRectory command changes the present working directory to the


designated directory name. An error occurs when the requested directory does not
exist. You can then view the error with the :SYSTem:ERRor? [{NUMBer | STRing}]
query.
<directory> A character-quoted ASCII string, which can include the subdirectory designation.
You must separate the directory name and any subdirectories with a backslash (\).
Example This example sets the present working directory to C:\Users\Public\Documents\
Infiniium.
myScope.WriteString ":DISK:CDIRectory ""C:\Users\Public\Documents\
Infiniium"""

History Legacy command (existed before version 3.10).

450 Keysight Infiniium Oscilloscopes Programmer's Guide


Disk Commands 17

:DISK:COPY
Command :DISK:COPY "<source_file>","<dest_file>"

The :DISK:COPY command copies a source file from the disk to a destination file on
the disk. An error is displayed on the oscilloscope screen if the requested file does
not exist. Use full directory paths for the source and destination files.
<source_file> A character-quoted ASCII string which can include subdirectories with the name of
<dest_file> the file.
Example This example copies C:\Users\Public\Documents\Infiniium\File1.wfm to C:\Temp\
File1b.wfm on the disk.
myScope.WriteString ":DISK:COPY ""C:\Users\Public\Documents\Infiniium\
File1.wfm"",""C:\Temp\File1b.wfm""

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 451


17 Disk Commands

:DISK:DELete
Command :DISK:DELete "<file_name>"

The :DISK:DELete command deletes a file from the disk. An error is displayed on
the oscilloscope screen if the requested file does not exist. The default path is C:\
Users\Public\Documents\Infiniium.
<file_name> A character-quoted ASCII string which can include subdirectories with the name of
the file.
Example This example deletes FILE1.SET from the disk.
myScope.WriteString ":DISK:DELete ""FILE1.SET"""

History Legacy command (existed before version 3.10).

452 Keysight Infiniium Oscilloscopes Programmer's Guide


Disk Commands 17

:DISK:DIRectory?
Query :DISK:DIRectory? ["<directory>"]

The :DISK:DIRectory? query returns the requested directory listing. Each entry is
63 bytes long, including a carriage return and line feed. The default path is C:\
Users\Public\Documents\Infiniium.
<directory> The list of filenames and directories.
Returned Format [:DISK:DIRectory]<n><NL><directory>

<n> The specifier that is returned before the directory listing, indicating the number of
lines in the listing.
<directory> The list of filenames and directories. Each line is separated by a <NL>.
Example This example displays a number, then displays a list of files and directories in the
current directory. The number indicates the number of lines in the listing.
Dim varResults As Variant
Dim lngI As Long

myScope.WriteString ":DISK:DIR?"
varResults = myScope.ReadList(ASCIIType_BSTR, vbLf)
Debug.Print FormatNumber(varResults(0), 0)

For lngI = 1 To (varResults(0) - 2)


Debug.Print CStr(varResults(lngI))
Next lngI

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 453


17 Disk Commands

:DISK:LOAD
Command :DISK:LOAD "<file_name>"[,<destination>,<interp>]

The :DISK:LOAD command restores from the disk a setup file, composite file, or a
waveform file into a waveform memory destination. The type of file is determined
by the filename suffix if one is present, or by the destination field if one is not
present. You can load .WFM, .CSV, .TSV, .TXT, .BIN, .H5, .SET, and .OSC file types.
The destination is only used when loading a waveform memory.

CAUTION Setups saved from Infiniium software versions prior to 2.00 may not load correctly in
software versions 4.30 and greater.
You can remedy this by re-saving any pre-2.00 setups using any version of software
from version 2.00 to version 4.20.
Setups saved from software versions between 2.00 and 4.20 should load correctly into
version 4.30 and greater.

<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used. You can use either .WFM, .CSV, .TSV, .TXT, .BIN, .H5, .SET, or .OSC
as a suffix after the filename. If no file suffix is specified, the default is .wfm.
The present working directory is assumed, or you can specify the entire path. For
example, you can load the standard setup file "SETUP0.SET" using the command:
:DISK:LOAD "C:\Users\Public\Documents\Infiniium\Setups\SETUP0.SET"
Or, you can use :DISK:CDIRectory to change the present working directory to C:\
Users\Public\Documents\Infiniium\Setups, then just use the file name
("SETUP0.SET", for example). The default path is C:\Users\Public\Documents\
Infiniium\Setups.
When setup files are loaded, touch screen settings are ignored.
<destination> WMEMory<R>.
Where <R> is an integer from 1-4.
If a destination is not specified, waveform memory 1 is used.
<interp> {OFF | INT1 | INT2 | INT4 | INT8 | INT16}
When loading waveform data into a waveform memory, you can specify the
Sin(x)/x interpolation ratio that is used. OFF means no interpolation. You can also
specify the 1, 2, 4, 8, or 16 point Sin(x)/x interpolation ratios using INT1, INT2,
INT4, INT8, or INT16.
Example This example restores the waveform in FILE1.WFM to waveform memory 1 with no
Sin(x)/x interpolation.
myScope.WriteString ":DISK:LOAD ""FILE1.WFM"",WMEM1,OFF"

454 Keysight Infiniium Oscilloscopes Programmer's Guide


Disk Commands 17

History Legacy command (existed before version 3.10).


Version 6.20: The <interp> option has been added.

Keysight Infiniium Oscilloscopes Programmer's Guide 455


17 Disk Commands

:DISK:MDIRectory
Command :DISK:MDIRectory "<directory>"

The :DISK:MDIRectory command creates a directory in the present working


directory which has been set by the :DISK:CDIRectory command. If the present
working directory has not been set by the :DISK:CDIRectory command, you must
specify the full path in the <directory> parameter as shown in Example 1 below.
An error is displayed if the requested subdirectory does not exist.
<directory> A quoted ASCII string which can include subdirectories. You must separate the
directory name and any subdirectories with a backslash (\).
Example 1 This example creates the directory CPROGRAMS in the C:\Users\Public\
Documents\Infiniium directory.
myScope.WriteString _
":DISK:MDIRectory ""C:\Users\Public\Documents\Infiniium\CPROGRAMS"""

Example 2 This example creates the directory CPROGRAMS in the present working directory
set by the :DISK:CDIRectory command.
myScope.WriteString ":DISK:MDIRectory ""CPROGRAMS"""

You can check your path with the :DISK:DIRectory? query.


History Legacy command (existed before version 3.10).

456 Keysight Infiniium Oscilloscopes Programmer's Guide


Disk Commands 17

:DISK:PWD?
Query :DISK:PWD?

The :DISK:PWD? query returns the name of the present working directory
(including the full path). If the default path (C:\Users\Public\Documents\Infiniium)
has not been changed by the :DISK:CDIRectory command, the :DISK:PWD? query
will return an empty string.
Returned Format :DISK:PWD? <present_working_directory><NL>

Example This example places the present working directory in the string variable strWdir,
then prints the contents of the variable to the computer's screen.
Dim strWdir As String
myScope.WriteString ":DISK:PWD?"
str Wdir = myScope.ReadString
Debug.Print strWdir

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 457


17 Disk Commands

:DISK:SAVE:COMPosite
Command :DISK:SAVE:COMPosite "<file_name>"

The :DISK:SAVE:COMPosite command lets you save oscilloscope composite files


to Infiniium's hard disk or to a network drive. Composite files contain setups and
waveform data.
The file will have an .osc extension.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
The filename assumes the present working directory if a path does not precede the
file name.
Example This example saves the oscilloscope's setup and waveform data to a composite file
named "C:\Scope\Setup\Comp001.osc".
myScope.WriteString ":DISK:SAVE:COMPosite ""C:\Scope\Setup\Comp001"""

History New in version 3.50.

458 Keysight Infiniium Oscilloscopes Programmer's Guide


Disk Commands 17

:DISK:SAVE:IMAGe
Command :DISK:SAVE:IMAGe "<file_name>" [,<format>
[,{SCReen | GRATicule}
[,{ON | 1} | {OFF | 0}
[,{NORMal | INVert}
[,{ON | 1} | {OFF | 0}]]]]]

The DISK:SAVE:IMAGe command saves a screen image. The default path is C:\
Users\Public\Documents\Infiniium.
<format> The image format can be: BMP, GIF, TIF, PNG, or JPEG. The extension is supplied
by the oscilloscope depending on the selected file format.
If you do not include the format in the command, the file is saved in the format
shown in the Save Screen dialog box.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
(First) ON | OFF ON means that compression is on for the bitmap format (BMP). OFF means
compression is off.
(Second) ON | OFF The second ON/OFF selection indicates to save the setup information in the image
or not.
<format> {BMP | GIF | TIF | JPEG | PNG}
Examples myScope.WriteString ":DISK:SAVE:IMAGe ""FILE1"",BMP,SCR,ON,INVERT"

or:
myScope.WriteString ":DISK:SAVE:IMAGe ""FILE1"",TIF,GRAT,ON"

or:
myScope.WriteString ":DISK:SAVE:IMAGe ""FILE1"""

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 459


17 Disk Commands

:DISK:SAVE:JITTer
Command :DISK:SAVE:JITTer "<file_name>"

The DISK:SAVE:JITTer command saves the jitter measurements shown in the RJDJ
tab at the bottom of the oscilloscope screen along with the RJDJ graph data in a
comma separated variables (CSV) file format. The csv extension is supplied by the
oscilloscope. The default path is C:\Users\Public\Documents\Infiniium.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
Example myScope.WriteString ":DISK:SAVE:JITTer ""FILE1"""

History Legacy command (existed before version 3.10).

460 Keysight Infiniium Oscilloscopes Programmer's Guide


Disk Commands 17

:DISK:SAVE:LISTing
Command :DISK:SAVE:LISTing [<source>,] "<file_name>" [,<format>[,<type>]]

The DISK:SAVE:LISTing command saves the contents of the bus listing window to
a file in either a .csv or .txt format. The default path is C:\Users\Public\
Documents\Infiniium.
<source> {SERial<N>} — The default serial bus is the one currently displayed in the listing
window.
<N> An integer 1 - 4.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
<format> {CSV | TXT}
<type> {PACKets | SYMBols}
Specifies which display window to save.
Example myScope.WriteString ":DISK:SAVE:LISTing SERial3, ""FILE1"", CSV"

History Legacy command (existed before version 3.10).


Version 5.00: Added the <type> parameter for specifying which display window to
save.

Keysight Infiniium Oscilloscopes Programmer's Guide 461


17 Disk Commands

:DISK:SAVE:MEASurements
Command :DISK:SAVE:MEASurements "<file_name>"[,<legacy_save_mode>]

The DISK:SAVE:MEASurements command saves the measurements shown in the


measurements tab at the bottom of the oscilloscope screen in a comma separated
variables (CSV) file format. The csv extension is supplied by the oscilloscope. The
default path is C:\Users\Public\Documents\Infiniium.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
<legacy_save_mod {{ON | 1} | {OFF | 0}}
e>
The <legacy_save_mode> option specifies whether to save measurement results in
the format used prior to Infiniium version 5.00. If this option is not used, it is OFF.
Example myScope.WriteString ":DISK:SAVE:MEASurements ""FILE1"""

History Legacy command (existed before version 3.10).


Version 5.50: Added the <legacy_save_mode> option to save measurement results
in the format used prior to Infiniium version 5.00.

462 Keysight Infiniium Oscilloscopes Programmer's Guide


Disk Commands 17

:DISK:SAVE:PRECprobe
Command :DISK:SAVE:PRECprobe "<file_name>.csv", {CHAN1 | CHAN2 | CHAN3 | CHAN4}

The DISK:SAVE:PRECprobe command saves PrecisionProbe/Cable data in a


comma separated variables (CSV) file format. The default path is C:\Users\Public\
Documents\Infiniium.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
Example myScope.WriteString ":DISK:SAVE:PRECprobe ""PPch1data.csv""", CHAN1

History New in version 4.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 463


17 Disk Commands

:DISK:SAVE:SETup
Command :DISK:SAVE:SETup "<file_name>"

The :DISK:SAVE:SETup command saves the current oscilloscope setup to a disk.


The file will have a .set extension.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used. The filename assumes the present working directory if a path does
not precede the file name. The default path is C:\Users\Public\Documents\
Infiniium\setups.
Example This example saves the channel 1 waveform to SETUP1 on the disk.
myScope.WriteString ":DISK:SAVE:SETup ""SETUP1"""

History Legacy command (existed before version 3.10).

464 Keysight Infiniium Oscilloscopes Programmer's Guide


Disk Commands 17

:DISK:SAVE:WAVeform
Command :DISK:SAVE:WAVeform <source>,"<file_name>" [,<format>[,<header>]]

The :DISK:SAVE:WAVeform command saves a waveform to a disk. If the source is


ALL, all of the currently displayed waveforms are saved to the file. If you use a file
extension as shown below in the <format> variable, then the type of file saved
defaults to the extension type. If no format is specified and no extension is used,
the file is saved in the INTernal format.

See the ":WAVeform:VIEW" on page 1501 command to determine how much data is saved.
N OT E

When an acquisition is made on multiple channels, the data for each channel has the same
N OT E
X origin and the same number of points.

<source> {ALL | CHANnel<N> | CLOCk | FUNCtion<F> | HISTogram | MTRend | MSPectrum |


EQUalized | WMEMory<R> | BUS<B> | PODALL | POD1 | POD2}
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
The BUS<B> sources are can be used with the BIN, CSV, TSV, and TXT formats.
The PODALL source is all digital channels, POD1 is d0-d7, and POD2 is d8-d15.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used. The filename assumes the present working directory if a path does
not precede the file name. The default path is C:\Users\Public\Documents\
Infiniium.
<format> {BIN | CSV | INTernal | TSV | TXT | H5 | H5INt | MATlab}
The following file name extensions are used for the different formats:
• BIN = file_name.bin

Keysight Infiniium Oscilloscopes Programmer's Guide 465


17 Disk Commands

• CSV (comma separated values) = file_name.csv


• INTernal = file_name.wfm
• TSV (tab separated values) = file_name.tsv
• TXT = file_name.txt
• H5, H5INt (HDF5) = file_name.h5
• MATlab (MATLAB data format) = file_name.mat
In the H5 format, data is saved as floats. In the H5INt format, data is saved as
integers.
<header> {{ON | 1} | {OFF | 0}}
Example This example saves the channel 1 waveform to FILE1 on the disk in the CSV format
with header on.
myScope.WriteString ":DISK:SAVE:WAVeform CHANnel1,""FILE1"",CSV,ON"

History Legacy command (existed before version 3.10).


Version 4.50: Added the H5INt format parameter which saves waveform data as
integers within the H5 file.
Version 6.10: Added the MATlab format for saving waveforms to MATLAB (.mat)
data format files.

466 Keysight Infiniium Oscilloscopes Programmer's Guide


Disk Commands 17

:DISK:SEGMented
Command :DISK:SEGMented {ALL | CURRent}

The :DISK:SEGMented command sets whether all segments or just the current
segment are saved to a file when the :DISK:SAVE:WAVeform command is issued
and the source is a channel but not a waveform memory or function. Before
segments can be saved, the :ACQuire:MODE must be set to the SEGMented mode
and segments must be acquired.
Example This example sets the disk segmented memory store method to CURRent.
myScope.WriteString ":DISK:SEGMented CURRent"

Query :DISK:SEGMented?

The :DISK:SEGMented? query returns disk segmented memory store method


value.
Returned Format [:DISK:SEGMented] {ALL | CURRent}<NL>

Example This example places the disk store method in the string variable strMethod, then
prints the contents of the variable to the computer's screen.
Dim strMethod As String
myScope.WriteString ":DISK:SEGMented?"
strMethod = myScope.ReadString
Debug.Print strMethod

History Legacy command (existed before version 3.10).

Keysight Infiniium Oscilloscopes Programmer's Guide 467


17 Disk Commands

468 Keysight Infiniium Oscilloscopes Programmer's Guide


Keysight Infiniium Oscilloscopes
Programmer's Guide

18 Display Commands
:DISPlay:BOOKmark<N>:DELete / 471
:DISPlay:BOOKmark<N>:SET / 472
:DISPlay:BOOKmark<N>:VERTical? / 474
:DISPlay:BOOKmark<N>:XPOSition / 475
:DISPlay:BOOKmark<N>:YPOSition / 476
:DISPlay:CGRade / 477
:DISPlay:CGRade:LEVels? / 479
:DISPlay:CGRade:SCHeme / 481
:DISPlay:CONNect / 483
:DISPlay:DATA? / 484
:DISPlay:GRATicule / 485
:DISPlay:GRATicule:AREA<N>:STATe / 486
:DISPlay:GRATicule:INTensity / 487
:DISPlay:GRATicule:NUMBer / 488
:DISPlay:GRATicule:SETGrat / 489
:DISPlay:ISIM:GCOunt / 490
:DISPlay:ISIM:SELectgraph / 491
:DISPlay:ISIM:SOURce / 492
:DISPlay:JITTer:GCOunt / 493
:DISPlay:JITTer:SELectgraph / 494
:DISPlay:JITTer:THReshold / 496
:DISPlay:LABel / 497
:DISPlay:LAYout / 498
:DISPlay:MAIN / 499
:DISPlay:NOISe:LEVel / 500
:DISPlay:PERSistence / 501
:DISPlay:PRECprobe:GCOunt / 505
:DISPlay:PRECprobe:SELectgraph / 506
:DISPlay:PRECprobe:SOURce / 507
:DISPlay:PROPortion / 503
:DISPlay:PROPortion:RESults / 504
:DISPlay:SCOLor / 508

469
18 Display Commands

:DISPlay:STATus:COLumn / 510
:DISPlay:STATus:ROW / 511
:DISPlay:WINDow:MAXimize / 512

The DISPlay subsystem controls the display of data, text, and graticules, and the
use of color.

470 Keysight Infiniium Oscilloscopes Programmer's Guide


Display Commands 18

:DISPlay:BOOKmark<N>:DELete
Command :DISPlay:BOOKmark<N>:DELete

The :DISPlay:BOOKmark<N>:DELete command deletes a bookmark.


<N> An integer, 1-100.
See Also • ":DISPlay:BOOKmark<N>:SET" on page 472
• ":DISPlay:BOOKmark<N>:VERTical?" on page 474
• ":DISPlay:BOOKmark<N>:XPOSition" on page 475
• ":DISPlay:BOOKmark<N>:YPOSition" on page 476
History New in version 5.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 471


18 Display Commands

:DISPlay:BOOKmark<N>:SET
Command :DISPlay:BOOKmark<N>:SET NONE,"label"[,<color>[,"content"]]

:DISPlay:BOOKmark<N>:SET <source>,"label"[,"content"[,<time>]]

The :DISPlay:BOOKmark<N>:SET command sets a bookmark.


<N> An integer, 1-100.
"label" A quoted ASCII string. This is the text that appears in the bookmark callout box.
<color> Display element color name (see the color names in ":DISPlay:SCOLor" on
page 508). You can set the color only for bookmarks that are not associated with a
waveform (that is, when <source> is NONE).
"content" A quoted ASCII string. This is the text that pops up when you mouse over a
bookmark callout box.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized | DIGital<M>}
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<time> A real number time position. Time values are appropriate only for bookmarks
associated with waveforms.
See Also • ":DISPlay:BOOKmark<N>:DELete" on page 471

472 Keysight Infiniium Oscilloscopes Programmer's Guide


Display Commands 18

• ":DISPlay:BOOKmark<N>:VERTical?" on page 474


• ":DISPlay:BOOKmark<N>:XPOSition" on page 475
• ":DISPlay:BOOKmark<N>:YPOSition" on page 476
History New in version 5.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 473


18 Display Commands

:DISPlay:BOOKmark<N>:VERTical?
Query :DISPlay:BOOKmark<N>:VERTical?

The :DISPlay:BOOKmark<N>:VERTical? query returns a waveform's vertical value


at a bookmark's horizontal position.
<N> An integer, 1-100.
Returned Format <vertical_value><NL>

<vertical_value> A real number value.


See Also • ":DISPlay:BOOKmark<N>:DELete" on page 471
• ":DISPlay:BOOKmark<N>:SET" on page 472
• ":DISPlay:BOOKmark<N>:XPOSition" on page 475
• ":DISPlay:BOOKmark<N>:YPOSition" on page 476
History New in version 5.00.

474 Keysight Infiniium Oscilloscopes Programmer's Guide


Display Commands 18

:DISPlay:BOOKmark<N>:XPOSition
Command :DISPlay:BOOKmark<N>:XPOSition <x_pos>

The :DISPlay:BOOKmark<N>:XPOSition command sets the horizontal grid position


of a bookmark's callout box.
<N> An integer, 1-100.
<x_pos> A real number between 0.0 and 1.0 that represents a percentage of the grid width.
Query :DISPlay:BOOKmark<N>:XPOSition?

The :DISPlay:BOOKmark<N>:XPOSition? query returns the horizontal grid position


of a bookmark's callout box.
Returned Format [:DISPlay:BOOKmark<N>:XPOSition] <x_pos><NL>

See Also • ":DISPlay:BOOKmark<N>:DELete" on page 471


• ":DISPlay:BOOKmark<N>:SET" on page 472
• ":DISPlay:BOOKmark<N>:VERTical?" on page 474
• ":DISPlay:BOOKmark<N>:YPOSition" on page 476
History New in version 5.00.

Keysight Infiniium Oscilloscopes Programmer's Guide 475


18 Display Commands

:DISPlay:BOOKmark<N>:YPOSition
Command :DISPlay:BOOKmark<N>:YPOSition <y_pos>

The :DISPlay:BOOKmark<N>:YPOSition command sets the vertical grid position of


a bookmark's callout box.
<N> An integer, 1-100.
<y_pos> A real number between 0.0 and 1.0 that represents a percentage of the grid
height.
Query :DISPlay:BOOKmark<N>:YPOSition?

The :DISPlay:BOOKmark<N>:YPOSition? query returns the vertical grid position of


a bookmark's callout box.
Returned Format [:DISPlay:BOOKmark<N>:YPOSition] <y_pos><NL>

See Also • ":DISPlay:BOOKmark<N>:DELete" on page 471


• ":DISPlay:BOOKmark<N>:SET" on page 472
• ":DISPlay:BOOKmark<N>:VERTical?" on page 474
• ":DISPlay:BOOKmark<N>:XPOSition" on page 475
History New in version 5.00.

476 Keysight Infiniium Oscilloscopes Programmer's Guide


Display Commands 18

:DISPlay:CGRade
Command :DISPlay:CGRade {{ON | 1} | {OFF | 0}}[,<source>]

The :DISPlay:CGRade command sets the color grade persistence on or off.


When in the color grade persistence mode, all waveforms are mapped into a
database and shown with different colors representing varying number of hits in a
pixel. "Connected dots" display mode (:DISPlay:CONNect) is disabled when the
color grade persistence is on.
The oscilloscope has three features that use a specific database. This database
uses a different memory area than the waveform record for each channel. The
three features that use the database are:
• Histograms.
• Mask testing.
• Color grade persistence.
When any one of these three features is turned on, the oscilloscope starts building
the database. The database is the size of the graticule area and varies in size.
Behind each pixel is a 53-bit counter. Each counter is incremented each time a
pixel is hit by data from a channel or function. The maximum count (saturation) for
each counter is 9,007,199,254,740,991. You can check for counter saturation by
using the DISPlay:CGRade:LEVels? query.
The color grade persistence uses colors to represent the number of hits on various
areas of the display. The default color-grade state is off.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized | MTRend | MSPectrum}
If <source> is omitted:
• Color grade is enabled/disabled for all sources which are currently on.
• When enabling color grade, the main waveform view is turned off.
• When disabling color grade, the main waveform view is turned on.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.

Keysight Infiniium Oscilloscopes Programmer's Guide 477


18 Display Commands

<R> An integer, 1-4.


Example This example sets the color grade persistence on.
myScope.WriteString ":DISPlay:CGRade ON"

Query :DISPlay:CGRade? [<source>]

The DISPlay:CGRade query returns the current color-grade state.


If <source> is omitted, the query returns ON (1) if any color grade is enabled.
Returned Format [:DISPlay:CGRade] {1 | 0}<NL>

Example This example returns the current color grade state.


Dim strCgrade As String ' Dimension variable.
myScope.WriteString ":DISPlay:CGRade?"
strCgrade = myScope.ReadString
Debug.Print strCgrade

See Also • ":DISPlay:CGRade:LEVels?" on page 479


• ":DISPlay:CGRade:SCHeme" on page 481
History Legacy command (existed before version 3.10).
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which color grade should be turned on or off.
Version 5.50: When the <source> parameter is not provided, enabling color grade
will turn off the main waveform view, and disabling color grade will turn on the
main waveform view.

478 Keysight Infiniium Oscilloscopes Programmer's Guide


Display Commands 18