Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight Technologies, Inc.

Infiniivision 1000 X Programmieranleitung

Batronix Download-Center

Batronix Download Center

PDF preview unavailable. Download the PDF instead.

1000X-Programming
Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes
Programmer's Guide

Notices
© Keysight Technologies, Inc. 2005-2020 No part of this manual may be reproduced in any form or by any means (including electronic storage and retrieval or translation into a foreign language) without prior agreement and written consent from Keysight Technologies, Inc. as governed by United States and international copyright laws.
Revision
Version 02.10.0001
Edition
April 2020 Available in electronic format only Published by: Keysight Technologies, Inc. 1900 Garden of the Gods Road Colorado Springs, CO 80907 USA
Warranty
The material contained in this document is provided "as is," and is subject to being changed, without notice, in future editions. Further, to the maximum extent permitted by applicable law, Keysight disclaims all warranties, either express or implied, with regard to this manual and any information contained herein, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. Keysight shall not be liable for errors or for incidental or consequential damages in connection with the furnishing, use, or performance of this document or of any information contained herein. Should Keysight and the user have a separate written agreement with warranty terms covering the material in this document that conflict with these terms, the warranty terms in the separate agreement shall control.
Technology License
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.

U.S. Government Rights
The Software is "commercial computer software," as defined by Federal Acquisition Regulation ("FAR") 2.101. Pursuant to FAR 12.212 and 27.405-3 and Department of Defense FAR Supplement ("DFARS") 227.7202, the U.S. government acquires commercial computer software under the same terms by which the software is customarily provided to the public. Accordingly, Keysight provides the Software to U.S. government customers under its standard commercial license, which is embodied in its End User License Agreement (EULA), a copy of which can be found at www.keysight.com/find/sweula. The license set forth in the EULA represents the exclusive authority by which the U.S. government may use, modify, distribute, or disclose the Software. The EULA and the license set forth therein, does not require or permit, among other things, that Keysight: (1) Furnish technical information related to commercial computer software or commercial computer software documentation that is not customarily provided to the public; or (2) Relinquish to, or otherwise provide, the government rights in excess of these rights customarily provided to the public to use, modify, reproduce, release, perform, display, or disclose commercial computer software or commercial computer software documentation. No additional government requirements beyond those set forth in the EULA shall apply, except to the extent that those terms, rights, or licenses are explicitly required from all providers of commercial computer software pursuant to the FAR and the DFARS and are set forth specifically in writing elsewhere in the EULA. Keysight shall be under no obligation to update, revise or otherwise modify the Software. With respect to any technical data as defined by FAR 2.101, pursuant to FAR 12.211 and 27.404.2 and DFARS 227.7102, the U.S. government acquires no greater than Limited Rights as defined in FAR 27.401 or DFAR 227.7103-5 (c), as applicable in any technical data.

Safety Notices CAUTION
A CAUTION notice denotes a hazard. It calls attention to an operating procedure, practice, or the like that, if not correctly performed or adhered to, could result in damage to the product or loss of important data. Do not proceed beyond a CAUTION notice until the indicated conditions are fully understood and met.
WARNING
A WARNING notice denotes a hazard. It calls attention to an operating procedure, practice, or the like that, if not correctly performed or adhered to, could result in personal injury or death. Do not proceed beyond a WARNING notice until the indicated conditions are fully understood and met.

2

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

In This Book
This book is your guide to programming the InfiniiVision 1200 X-Series and EDUX1052A/G oscilloscopes:

Table 1 InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Model Numbers, Bandwidths

Model: Channels: Bandwidth: Bandwidth upgrades:
Sampling rate: Memory: Segmented memory: Waveform generator: Mask/limit test:

EDUX1052A 2 50 MHz
1 GSa/s 200 kpts No No No

EDUX1052G Yes (20 MHz)

DSOX1202A DSOX1202G DSOX1204A DSOX1204G

4

70 MHz

70 MHz to 100 MHz with D1202BW1A upgrade

70 MHz to 100 MHz with D1200BW1A upgrade

70 MHz to 200 MHz with D1202BW2A upgrade

70 MHz to 200 MHz with D1200BW2A upgrade

100 MHz to 200 MHz with D1202BW3A upgrade

100 MHz to 200 MHz with D1200BW3A upgrade

2 GSa/s (interleaved), 1 GSa/s (non-interleaved)

2 Mpts (1 Mpts when the External Trig channel is on)

2 Mpts (interleaved), 1 Mpts (non-interleaved)

Yes

No

Yes (20 MHz) No

Yes (20 MHz)

Yes

The first few chapters describe how to set up and get started: · Chapter 1, "What's New," starting on page 25, describes programming
command changes in the latest version of oscilloscope software. · Chapter 2, "Setting Up," starting on page 35, describes the steps you must take
before you can program the oscilloscope. · Chapter 3, "Getting Started," starting on page 41, gives a general overview of
oscilloscope program structure and shows how to program the oscilloscope using a few simple examples. · Chapter 4, "Commands Quick Reference," starting on page 55, is a brief listing of the 1200 X-Series and EDUX1052A/G oscilloscope commands and syntax.
The next chapters provide reference information on common commands, root level commands, other subsystem commands, and error messages: · Chapter 5, "Common (*) Commands," starting on page 115, describes
commands defined by the IEEE 488.2 standard that are common to all instruments. · Chapter 6, "Root (:) Commands," starting on page 141, describes commands that reside at the root level of the command tree and control many of the basic functions of the oscilloscope.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

3

· Chapter 7, ":ABUS Commands," starting on page 175, describes commands that control all oscilloscope functions associated with the analog channels bus display.
· Chapter 8, ":ACQuire Commands," starting on page 185, describes commands for setting the parameters used when acquiring and storing data.
· Chapter 9, ":CALibrate Commands," starting on page 199, describes utility commands for determining the state of the calibration factor protection button.
· Chapter 10, ":CHANnel<n> Commands," starting on page 209, describes commands that control all oscilloscope functions associated with individual analog channels or groups of channels.
· Chapter 11, ":DEMO Commands," starting on page 231, describes commands that control the demonstration/training signals that can be output on the oscilloscope's Demo terminal.
· Chapter 12, ":DISPlay Commands," starting on page 235, describes commands that control how waveforms, graticule, and text are displayed and written on the screen.
· Chapter 13, ":DVM Commands," starting on page 251, describes commands that control the digital voltmeter analysis feature.
· Chapter 14, ":EXTernal Trigger Commands," starting on page 259, describes commands that control the input characteristics of the external trigger input.
· Chapter 15, ":FFT Commands," starting on page 269, describes commands that control the FFT (Fast Fourier Transform) function for displaying the frequence content of a waveform.
· Chapter 16, ":FRANalysis Commands," starting on page 283, describes commands that control oscilloscope functions associated with the Frequency Response Analysis (FRA) feature, which is available in G-suffix oscilloscope models (that have a built-in waveform generator).
· Chapter 17, ":FUNCtion Commands," starting on page 299, describes commands that control math waveforms.
· Chapter 18, ":HARDcopy Commands," starting on page 321, describes commands that set and query the selection of hardcopy device and formatting options.
· Chapter 19, ":LISTer Commands," starting on page 335, describes commands that turn on/off the Lister display for decoded serial data and get the Lister data.
· Chapter 20, ":MARKer Commands," starting on page 339, describes commands that set and query the settings of X-axis markers (X1 and X2 cursors) and the Y-axis markers (Y1 and Y2 cursors).
· Chapter 21, ":MEASure Commands," starting on page 355, describes commands that select automatic measurements (and control markers).
· Chapter 22, ":MTESt Commands," starting on page 413, describes commands that control the mask test features provided with Option LMT.

4

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

· Chapter 23, ":RECall Commands," starting on page 447, describes commands that recall previously saved oscilloscope setups, reference waveforms, or masks.
· Chapter 24, ":SAVE Commands," starting on page 455, describes commands that save oscilloscope setups, screen images, and data.
· Chapter 25, ":SBUS<n> Commands," starting on page 477, describes commands that control oscilloscope functions associated with the serial decode bus and serial triggering.
· Chapter 26, ":SYSTem Commands," starting on page 565, describes commands that control basic system functions of the oscilloscope.
· Chapter 27, ":TIMebase Commands," starting on page 593, describes commands that control all horizontal sweep functions.
· Chapter 28, ":TRIGger Commands," starting on page 605, describes commands that control the trigger modes and parameters for each trigger type.
· Chapter 29, ":WAVeform Commands," starting on page 653, describes commands that provide access to waveform data.
· Chapter 30, ":WGEN Commands," starting on page 689, describes commands that control waveform generator functions and parameters on G-suffix models.
· Chapter 31, ":WMEMory<r> Commands," starting on page 721, describes commands that control reference waveforms.
· Chapter 32, "Obsolete and Discontinued Commands," starting on page 731, describes obsolete commands which still work but have been replaced by newer commands and discontinued commands which are no longer supported.
· Chapter 33, "Error Messages," starting on page 777, lists the instrument error messages that can occur while programming the oscilloscope.
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.
Then, there are chapters that describe programming topics and conceptual information in more detail: · Chapter 34, "Status Reporting," starting on page 785, describes the
oscilloscope's status registers and how to check the status of the instrument. · Chapter 35, "Synchronizing Acquisitions," starting on page 807, describes how
to wait for acquisitions to complete before querying measurement results or performing other operations with the captured data. · Chapter 36, "More About Oscilloscope Commands," starting on page 817, contains additional information about oscilloscope programming commands.
Finally, there is a chapter that contains programming examples: · Chapter 37, "Programming Examples," starting on page 827.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

5

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).
· 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/1200X-Series-manual

6

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Contents
In This Book / 3
1 What's New
What's New in Version 2.10 / 26
What's New in Version 2.01 / 29
Version 2.00 at Introduction / 30
Command Differences From 1000 X-Series Oscilloscopes / 31
2 Setting Up
Step 1. Install Keysight IO Libraries Suite software / 36
Step 2. Connect and set up the oscilloscope / 37 Using the USB (Device) Interface / 37 Using the LAN Interface / 37
Step 3. Verify the oscilloscope connection / 39
3 Getting Started
Basic Oscilloscope Program Structure / 42 Initializing / 42 Capturing Data / 42 Analyzing Captured Data / 43
Programming the Oscilloscope / 44 Referencing the IO Library / 44 Opening the Oscilloscope Connection via the IO Library / 45 Initializing the Interface and the Oscilloscope / 45 Using :AUToscale to Automate Oscilloscope Setup / 46 Using Other Oscilloscope Setup Commands / 46 Capturing Data with the :DIGitize Command / 47 Reading Query Responses from the Oscilloscope / 49 Reading Query Results into String Variables / 50 Reading Query Results into Numeric Variables / 50 Reading Definite-Length Block Query Response Data / 50 Sending Multiple Queries and Reading Results / 51 Checking Instrument Status / 52

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

7

Other Ways of Sending Commands / 53 Telnet Sockets / 53 Sending SCPI Commands Using Browser Web Control / 53
4 Commands Quick Reference
Command Summary / 56
Syntax Elements / 111 Number Format / 111 <NL> (Line Terminator) / 111 [ ] (Optional Syntax Terms) / 111 { } (Braces) / 111 ::= (Defined As) / 111 < > (Angle Brackets) / 112 ... (Ellipsis) / 112 n,..,p (Value Ranges) / 112 d (Digits) / 112 Quoted ASCII String / 112 Definite-Length Block Response Data / 112
5 Common (*) Commands
*CLS (Clear Status) / 119 *ESE (Standard Event Status Enable) / 120 *ESR (Standard Event Status Register) / 122 *IDN (Identification Number) / 124 *LRN (Learn Device Setup) / 125 *OPC (Operation Complete) / 126 *OPT (Option Identification) / 127 *RCL (Recall) / 128 *RST (Reset) / 129 *SAV (Save) / 132 *SRE (Service Request Enable) / 133 *STB (Read Status Byte) / 135 *TRG (Trigger) / 137 *TST (Self Test) / 138 *WAI (Wait To Continue) / 139
6 Root (:) Commands
:AER (Arm Event Register) / 144 :AUToscale / 145 :AUToscale:AMODE / 147 :AUToscale:CHANnels / 148

8

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:AUToscale:FDEBug / 149 :BLANk / 150 :DIGitize / 151 :MTEenable (Mask Test Event Enable Register) / 153 :MTERegister[:EVENt] (Mask Test Event Event Register) / 155 :OPEE (Operation Status Enable Register) / 157 :OPERegister:CONDition (Operation Status Condition Register) / 159 :OPERegister[:EVENt] (Operation Status Event Register) / 161 :OVLenable (Overload Event Enable Register) / 163 :OVLRegister (Overload Event Register) / 165 :PRINt / 167 :RUN / 168 :SERial / 169 :SINGle / 170 :STATus / 171 :STOP / 172 :TER (Trigger Event Register) / 173 :VIEW / 174
7 :ABUS Commands
:ABUS:BIT<m> / 177 :ABUS:BITS / 178 :ABUS:CLEar / 180 :ABUS:DISPlay / 181 :ABUS:LABel / 182 :ABUS:MASK / 183
8 :ACQuire Commands
:ACQuire:COMPlete / 187 :ACQuire:COUNt / 188 :ACQuire:MODE / 189 :ACQuire:POINts / 190 :ACQuire:SEGMented:ANALyze / 191 :ACQuire:SEGMented:COUNt / 192 :ACQuire:SEGMented:INDex / 193 :ACQuire:SRATe / 196 :ACQuire:TYPE / 197
9 :CALibrate Commands
:CALibrate:DATE / 201 :CALibrate:LABel / 202

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

9

:CALibrate:OUTPut / 203 :CALibrate:PROTected / 204 :CALibrate:STARt / 205 :CALibrate:STATus / 206 :CALibrate:TEMPerature / 207 :CALibrate:TIME / 208
10 :CHANnel<n> Commands
:CHANnel<n>:BANDwidth / 212 :CHANnel<n>:BWLimit / 213 :CHANnel<n>:COUPling / 214 :CHANnel<n>:DISPlay / 215 :CHANnel<n>:IMPedance / 216 :CHANnel<n>:INVert / 217 :CHANnel<n>:LABel / 218 :CHANnel<n>:OFFSet / 219 :CHANnel<n>:PROBe / 220 :CHANnel<n>:PROBe:HEAD[:TYPE] / 221 :CHANnel<n>:PROBe:ID / 222 :CHANnel<n>:PROBe:SKEW / 223 :CHANnel<n>:PROBe:STYPe / 224 :CHANnel<n>:PROTection / 225 :CHANnel<n>:RANGe / 226 :CHANnel<n>:SCALe / 227 :CHANnel<n>:UNITs / 228 :CHANnel<n>:VERNier / 229
11 :DEMO Commands
:DEMO:FUNCtion / 232 :DEMO:OUTPut / 234
12 :DISPlay Commands
:DISPlay:ANNotation / 237 :DISPlay:ANNotation:BACKground / 238 :DISPlay:ANNotation:COLor / 239 :DISPlay:ANNotation:TEXT / 240 :DISPlay:CLEar / 241 :DISPlay:DATA / 242 :DISPlay:INTensity:WAVeform / 243 :DISPlay:LABel / 244 :DISPlay:LABList / 245

10

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:DISPlay:MENU:TIMeout / 246 :DISPlay:PERSistence / 247 :DISPlay:TRANsparent / 248 :DISPlay:VECTors / 249
13 :DVM Commands
:DVM:ARANge / 252 :DVM:CURRent / 253 :DVM:ENABle / 254 :DVM:FREQuency / 255 :DVM:MODE / 256 :DVM:SOURce / 257
14 :EXTernal Trigger Commands
:EXTernal:BWLimit / 261 :EXTernal:DISPlay / 262 :EXTernal:LABel / 263 :EXTernal:LEVel / 264 :EXTernal:POSition / 265 :EXTernal:PROBe / 266 :EXTernal:RANGe / 267 :EXTernal:UNITs / 268
15 :FFT Commands
:FFT:CENTer / 271 :FFT:DISPlay / 272 :FFT:OFFSet / 273 :FFT:RANGe / 274 :FFT:REFerence / 275 :FFT:SCALe / 276 :FFT:SOURce1 / 277 :FFT:SPAN / 278 :FFT:VTYPe / 279 :FFT:WINDow / 280
16 :FRANalysis Commands
:FRANalysis:DATA / 285 :FRANalysis:ENABle / 286 :FRANalysis:FREQuency:MODE / 287 :FRANalysis:FREQuency:SINGle / 288 :FRANalysis:FREQuency:STARt / 289

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

11

:FRANalysis:FREQuency:STOP / 290 :FRANalysis:RUN / 291 :FRANalysis:SOURce:INPut / 292 :FRANalysis:SOURce:OUTPut / 293 :FRANalysis:SWEep:POINts / 294 :FRANalysis:TRACe / 295 :FRANalysis:WGEN:LOAD / 296 :FRANalysis:WGEN:VOLTage / 297
17 :FUNCtion Commands
:FUNCtion:DISPlay / 302 :FUNCtion[:FFT]:CENTer / 303 :FUNCtion[:FFT]:PHASe:REFerence / 304 :FUNCtion[:FFT]:SPAN / 305 :FUNCtion[:FFT]:VTYPe / 306 :FUNCtion[:FFT]:WINDow / 307 :FUNCtion:FREQuency:LOWPass / 308 :FUNCtion:GOFT:OPERation / 309 :FUNCtion:GOFT:SOURce1 / 310 :FUNCtion:GOFT:SOURce2 / 311 :FUNCtion:OFFSet / 312 :FUNCtion:OPERation / 313 :FUNCtion:RANGe / 315 :FUNCtion:REFerence / 316 :FUNCtion:SCALe / 317 :FUNCtion:SOURce1 / 318 :FUNCtion:SOURce2 / 319
18 :HARDcopy Commands
:HARDcopy:AREA / 323 :HARDcopy:APRinter / 324 :HARDcopy:FACTors / 325 :HARDcopy:FFEed / 326 :HARDcopy:INKSaver / 327 :HARDcopy:LAYout / 328 :HARDcopy:NETWork:ADDRess / 329 :HARDcopy:NETWork:APPLy / 330 :HARDcopy:NETWork:SLOT / 331 :HARDcopy:PALette / 332 :HARDcopy:PRINter:LIST / 333 :HARDcopy:STARt / 334

12

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

19 :LISTer Commands
:LISTer:DATA / 336 :LISTer:DISPlay / 337 :LISTer:REFerence / 338
20 :MARKer Commands
:MARKer:MODE / 342 :MARKer:X1Position / 343 :MARKer:X1Y1source / 344 :MARKer:X2Position / 345 :MARKer:X2Y2source / 346 :MARKer:XDELta / 347 :MARKer:XUNits / 348 :MARKer:XUNits:USE / 349 :MARKer:Y1Position / 350 :MARKer:Y2Position / 351 :MARKer:YDELta / 352 :MARKer:YUNits / 353 :MARKer:YUNits:USE / 354
21 :MEASure Commands
:MEASure:ALL / 366 :MEASure:BRATe / 367 :MEASure:CLEar / 368 :MEASure:COUNter / 369 :MEASure:DEFine / 370 :MEASure:DELay / 373 :MEASure:DUTYcycle / 375 :MEASure:FALLtime / 376 :MEASure:FREQuency / 377 :MEASure:NDUTy / 378 :MEASure:NEDGes / 379 :MEASure:NPULses / 380 :MEASure:NWIDth / 381 :MEASure:OVERshoot / 382 :MEASure:PEDGes / 384 :MEASure:PERiod / 385 :MEASure:PHASe / 386 :MEASure:PPULses / 387 :MEASure:PREShoot / 388 :MEASure:PWIDth / 389

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

13

:MEASure:RESults / 390 :MEASure:RISetime / 391 :MEASure:SDEViation / 392 :MEASure:SHOW / 393 :MEASure:SOURce / 394 :MEASure:TEDGe / 396 :MEASure:TVALue / 398 :MEASure:VAMPlitude / 400 :MEASure:VAVerage / 401 :MEASure:VBASe / 402 :MEASure:VMAX / 403 :MEASure:VMIN / 404 :MEASure:VPP / 405 :MEASure:VRMS / 406 :MEASure:VTIMe / 407 :MEASure:VTOP / 408 :MEASure:WINDow / 409 :MEASure:XMAX / 410 :MEASure:XMIN / 411
22 :MTESt Commands
:MTESt:ALL / 418 :MTESt:AMASk:CREate / 419 :MTESt:AMASk:SOURce / 420 :MTESt:AMASk:UNITs / 421 :MTESt:AMASk:XDELta / 422 :MTESt:AMASk:YDELta / 423 :MTESt:COUNt:FWAVeforms / 424 :MTESt:COUNt:RESet / 425 :MTESt:COUNt:TIME / 426 :MTESt:COUNt:WAVeforms / 427 :MTESt:DATA / 428 :MTESt:DELete / 429 :MTESt:ENABle / 430 :MTESt:LOCK / 431 :MTESt:RMODe / 432 :MTESt:RMODe:FACTion:MEASure / 433 :MTESt:RMODe:FACTion:PRINt / 434 :MTESt:RMODe:FACTion:SAVE / 435 :MTESt:RMODe:FACTion:STOP / 436 :MTESt:RMODe:SIGMa / 437

14

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt:RMODe:TIME / 438 :MTESt:RMODe:WAVeforms / 439 :MTESt:SCALe:BIND / 440 :MTESt:SCALe:X1 / 441 :MTESt:SCALe:XDELta / 442 :MTESt:SCALe:Y1 / 443 :MTESt:SCALe:Y2 / 444 :MTESt:SOURce / 445 :MTESt:TITLe / 446
23 :RECall Commands
:RECall:FILename / 449 :RECall:MASK[:STARt] / 450 :RECall:PWD / 451 :RECall:SETup[:STARt] / 452 :RECall:WMEMory<r>[:STARt] / 453
24 :SAVE Commands
:SAVE:FILename / 458 :SAVE:IMAGe[:STARt] / 459 :SAVE:IMAGe:FACTors / 460 :SAVE:IMAGe:FORMat / 461 :SAVE:IMAGe:INKSaver / 462 :SAVE:IMAGe:PALette / 463 :SAVE:LISTer[:STARt] / 464 :SAVE:MASK[:STARt] / 465 :SAVE:MULTi[:STARt] / 466 :SAVE:PWD / 467 :SAVE:SETup[:STARt] / 468 :SAVE:WAVeform[:STARt] / 469 :SAVE:WAVeform:FORMat / 470 :SAVE:WAVeform:LENGth / 471 :SAVE:WAVeform:LENGth:MAX / 472 :SAVE:WAVeform:SEGMented / 473 :SAVE:WMEMory:SOURce / 474 :SAVE:WMEMory[:STARt] / 475
25 :SBUS<n> Commands
General :SBUS<n> Commands / 479 :SBUS<n>:DISPlay / 480 :SBUS<n>:MODE / 481

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

15

:SBUS<n>:CAN Commands / 482
:SBUS<n>:CAN:COUNt:ERRor / 484 :SBUS<n>:CAN:COUNt:OVERload / 485 :SBUS<n>:CAN:COUNt:RESet / 486 :SBUS<n>:CAN:COUNt:TOTal / 487 :SBUS<n>:CAN:COUNt:UTILization / 488 :SBUS<n>:CAN:SAMPlepoint / 489 :SBUS<n>:CAN:SIGNal:BAUDrate / 490 :SBUS<n>:CAN:SIGNal:DEFinition / 491 :SBUS<n>:CAN:SOURce / 492 :SBUS<n>:CAN:TRIGger / 493 :SBUS<n>:CAN:TRIGger:PATTern:DATA / 495 :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth / 496 :SBUS<n>:CAN:TRIGger:PATTern:ID / 497 :SBUS<n>:CAN:TRIGger:PATTern:ID:MODE / 498
:SBUS<n>:IIC Commands / 499
:SBUS<n>:IIC:ASIZe / 500 :SBUS<n>:IIC[:SOURce]:CLOCk / 501 :SBUS<n>:IIC[:SOURce]:DATA / 502 :SBUS<n>:IIC:TRIGger:PATTern:ADDRess / 503 :SBUS<n>:IIC:TRIGger:PATTern:DATA / 504 :SBUS<n>:IIC:TRIGger:PATTern:DATa2 / 505 :SBUS<n>:IIC:TRIGger:QUALifier / 506 :SBUS<n>:IIC:TRIGger[:TYPE] / 507
:SBUS<n>:LIN Commands / 509
:SBUS<n>:LIN:PARity / 511 :SBUS<n>:LIN:SAMPlepoint / 512 :SBUS<n>:LIN:SIGNal:BAUDrate / 513 :SBUS<n>:LIN:SOURce / 514 :SBUS<n>:LIN:STANdard / 515 :SBUS<n>:LIN:SYNCbreak / 516 :SBUS<n>:LIN:TRIGger / 517 :SBUS<n>:LIN:TRIGger:ID / 518 :SBUS<n>:LIN:TRIGger:PATTern:DATA / 519 :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth / 521 :SBUS<n>:LIN:TRIGger:PATTern:FORMat / 522
:SBUS<n>:SPI Commands / 523
:SBUS<n>:SPI:BITorder / 525 :SBUS<n>:SPI:CLOCk:SLOPe / 526 :SBUS<n>:SPI:CLOCk:TIMeout / 527

16

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n>:SPI:FRAMing / 528 :SBUS<n>:SPI:SOURce:CLOCk / 529 :SBUS<n>:SPI:SOURce:DATA / 530 :SBUS<n>:SPI:SOURce:FRAMe / 531 :SBUS<n>:SPI:SOURce:MISO / 532 :SBUS<n>:SPI:SOURce:MOSI / 533 :SBUS<n>:SPI:TRIGger:PATTern:DATA / 534 :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA / 535 :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh / 536 :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA / 537 :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh / 538 :SBUS<n>:SPI:TRIGger:PATTern:WIDTh / 539 :SBUS<n>:SPI:TRIGger:TYPE / 540 :SBUS<n>:SPI:WIDTh / 541
:SBUS<n>:UART Commands / 542 :SBUS<n>:UART:BASE / 545 :SBUS<n>:UART:BAUDrate / 546 :SBUS<n>:UART:BITorder / 547 :SBUS<n>:UART:COUNt:ERRor / 548 :SBUS<n>:UART:COUNt:RESet / 549 :SBUS<n>:UART:COUNt:RXFRames / 550 :SBUS<n>:UART:COUNt:TXFRames / 551 :SBUS<n>:UART:FRAMing / 552 :SBUS<n>:UART:PARity / 553 :SBUS<n>:UART:POLarity / 554 :SBUS<n>:UART:SOURce:RX / 555 :SBUS<n>:UART:SOURce:TX / 556 :SBUS<n>:UART:TRIGger:BASE / 557 :SBUS<n>:UART:TRIGger:BURSt / 558 :SBUS<n>:UART:TRIGger:DATA / 559 :SBUS<n>:UART:TRIGger:IDLE / 560 :SBUS<n>:UART:TRIGger:QUALifier / 561 :SBUS<n>:UART:TRIGger:TYPE / 562 :SBUS<n>:UART:WIDTh / 563
26 :SYSTem Commands
:SYSTem:DATE / 568 :SYSTem:DIDentifier / 569 :SYSTem:DSP / 570 :SYSTem:ERRor / 571 :SYSTem:LOCK / 572

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

17

:SYSTem:MENU / 573 :SYSTem:PERSona[:MANufacturer] / 574 :SYSTem:PERSona[:MANufacturer]:DEFault / 575 :SYSTem:PRESet / 576 :SYSTem:PROTection:LOCK / 579 :SYSTem:RLOGger / 580 :SYSTem:RLOGger:DESTination / 581 :SYSTem:RLOGger:DISPlay / 582 :SYSTem:RLOGger:FNAMe / 583 :SYSTem:RLOGger:STATe / 584 :SYSTem:RLOGger:TRANsparent / 585 :SYSTem:RLOGger:WMODe / 586 :SYSTem:SETup / 587 :SYSTem:TIME / 589 :SYSTem:TZONe / 590 :SYSTem:USB:EJECt / 591 :SYSTem:USB:PLISt / 592
27 :TIMebase Commands
:TIMebase:MODE / 595 :TIMebase:POSition / 596 :TIMebase:RANGe / 597 :TIMebase:REFerence / 598 :TIMebase:SCALe / 599 :TIMebase:VERNier / 600 :TIMebase:WINDow:POSition / 601 :TIMebase:WINDow:RANGe / 602 :TIMebase:WINDow:SCALe / 603
28 :TRIGger Commands
General :TRIGger Commands / 607 :TRIGger:FORCe / 608 :TRIGger:HFReject / 609 :TRIGger:HOLDoff / 610 :TRIGger:LEVel:ASETup / 611 :TRIGger:LEVel:HIGH / 612 :TRIGger:LEVel:LOW / 613 :TRIGger:MODE / 614 :TRIGger:NREJect / 615 :TRIGger:SWEep / 616
:TRIGger[:EDGE] Commands / 617

18

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger[:EDGE]:COUPling / 618 :TRIGger[:EDGE]:LEVel / 619 :TRIGger[:EDGE]:REJect / 620 :TRIGger[:EDGE]:SLOPe / 621 :TRIGger[:EDGE]:SOURce / 622
:TRIGger:GLITch Commands / 623 :TRIGger:GLITch:GREaterthan / 624 :TRIGger:GLITch:LESSthan / 625 :TRIGger:GLITch:LEVel / 626 :TRIGger:GLITch:POLarity / 627 :TRIGger:GLITch:QUALifier / 628 :TRIGger:GLITch:RANGe / 629 :TRIGger:GLITch:SOURce / 630
:TRIGger:PATTern Commands / 631 :TRIGger:PATTern / 632 :TRIGger:PATTern:FORMat / 634 :TRIGger:PATTern:QUALifier / 635
:TRIGger:SHOLd Commands / 636 :TRIGger:SHOLd:SLOPe / 637 :TRIGger:SHOLd:SOURce:CLOCk / 638 :TRIGger:SHOLd:SOURce:DATA / 639 :TRIGger:SHOLd:TIME:HOLD / 640 :TRIGger:SHOLd:TIME:SETup / 641
:TRIGger:TRANsition Commands / 642 :TRIGger:TRANsition:QUALifier / 643 :TRIGger:TRANsition:SLOPe / 644 :TRIGger:TRANsition:SOURce / 645 :TRIGger:TRANsition:TIME / 646
:TRIGger:TV Commands / 647 :TRIGger:TV:LINE / 648 :TRIGger:TV:MODE / 649 :TRIGger:TV:POLarity / 650 :TRIGger:TV:SOURce / 651 :TRIGger:TV:STANdard / 652
29 :WAVeform Commands
:WAVeform:BYTeorder / 660 :WAVeform:COUNt / 661 :WAVeform:DATA / 662

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

19

:WAVeform:FORMat / 664 :WAVeform:POINts / 665 :WAVeform:POINts:MODE / 667 :WAVeform:PREamble / 669 :WAVeform:SEGMented:COUNt / 672 :WAVeform:SEGMented:TTAG / 673 :WAVeform:SOURce / 674 :WAVeform:SOURce:SUBSource / 678 :WAVeform:TYPE / 679 :WAVeform:UNSigned / 680 :WAVeform:VIEW / 681 :WAVeform:XINCrement / 682 :WAVeform:XORigin / 683 :WAVeform:XREFerence / 684 :WAVeform:YINCrement / 685 :WAVeform:YORigin / 686 :WAVeform:YREFerence / 687
30 :WGEN Commands
:WGEN:FREQuency / 692 :WGEN:FUNCtion / 693 :WGEN:FUNCtion:PULSe:WIDTh / 696 :WGEN:FUNCtion:RAMP:SYMMetry / 697 :WGEN:FUNCtion:SQUare:DCYCle / 698 :WGEN:MODulation:AM:DEPTh / 699 :WGEN:MODulation:AM:FREQuency / 700 :WGEN:MODulation:FM:DEViation / 701 :WGEN:MODulation:FM:FREQuency / 702 :WGEN:MODulation:FSKey:FREQuency / 703 :WGEN:MODulation:FSKey:RATE / 704 :WGEN:MODulation:FUNCtion / 705 :WGEN:MODulation:FUNCtion:RAMP:SYMMetry / 706 :WGEN:MODulation:NOISe / 707 :WGEN:MODulation:STATe / 708 :WGEN:MODulation:TYPE / 709 :WGEN:OUTPut / 711 :WGEN:OUTPut:LOAD / 712 :WGEN:OUTPut:POLarity / 713 :WGEN:PERiod / 714 :WGEN:RST / 715 :WGEN:VOLTage / 716

20

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN:VOLTage:HIGH / 717 :WGEN:VOLTage:LOW / 718 :WGEN:VOLTage:OFFSet / 719
31 :WMEMory<r> Commands
:WMEMory<r>:CLEar / 723 :WMEMory<r>:DISPlay / 724 :WMEMory<r>:LABel / 725 :WMEMory<r>:SAVE / 726 :WMEMory<r>:SKEW / 727 :WMEMory<r>:YOFFset / 728 :WMEMory<r>:YRANge / 729 :WMEMory<r>:YSCale / 730
32 Obsolete and Discontinued Commands
:CHANnel:LABel / 736 :CHANnel2:SKEW / 737 :CHANnel<n>:INPut / 738 :CHANnel<n>:PMODe / 739 :DISPlay:CONNect / 740 :ERASe / 741 :EXTernal:PMODe / 742 :FRANalysis:PPDecade / 743 :FUNCtion:SOURce / 744 :FUNCtion:VIEW / 745 :HARDcopy:DESTination / 746 :HARDcopy:FILename / 747 :HARDcopy:GRAYscale / 748 :HARDcopy:IGColors / 749 :HARDcopy:PDRiver / 750 :MEASure:LOWer / 751 :MEASure:SCRatch / 752 :MEASure:TDELta / 753 :MEASure:THResholds / 754 :MEASure:TMAX / 755 :MEASure:TMIN / 756 :MEASure:TSTArt / 757 :MEASure:TSTOp / 758 :MEASure:TVOLt / 759 :MEASure:UPPer / 760 :MEASure:VDELta / 761

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

21

:MEASure:VSTArt / 762 :MEASure:VSTOp / 763 :MTESt:AMASk:{SAVE | STORe} / 764 :MTESt:AVERage / 765 :MTESt:AVERage:COUNt / 766 :MTESt:LOAD / 767 :MTESt:RUMode / 768 :MTESt:RUMode:SOFailure / 769 :MTESt:{STARt | STOP} / 770 :MTESt:TRIGger:SOURce / 771 :PRINt? / 772 :SAVE:IMAGe:AREA / 774 :TIMebase:DELay / 775 :TRIGger:TV:TVMode / 776
33 Error Messages
34 Status Reporting
Status Reporting Data Structures / 787
Status Byte Register (STB) / 790
Service Request Enable Register (SRE) / 792
Trigger Event Register (TER) / 793
Output Queue / 794
Message Queue / 795
(Standard) Event Status Register (ESR) / 796
(Standard) Event Status Enable Register (ESE) / 797
Error Queue / 798
Operation Status Event Register (:OPERegister[:EVENt]) / 799
Operation Status Condition Register (:OPERegister:CONDition) / 800
Arm Event Register (AER) / 801
Overload Event Register (:OVLRegister) / 802
Mask Test Event Event Register (:MTERegister[:EVENt]) / 803
Clearing Registers and Queues / 804
Status Reporting Decision Chart / 805

22

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

35 Synchronizing Acquisitions
Synchronization in the Programming Flow / 808 Set Up the Oscilloscope / 808 Acquire a Waveform / 808 Retrieve Results / 808
Blocking Synchronization / 809
Polling Synchronization With Timeout / 810
Synchronizing with a Single-Shot Device Under Test (DUT) / 812
Synchronization with an Averaging Acquisition / 814
36 More About Oscilloscope Commands
Command Classifications / 818 Core Commands / 818 Non-Core Commands / 818 Obsolete Commands / 818
Valid Command/Query Strings / 819 Program Message Syntax / 819 Duplicate Mnemonics / 823 Tree Traversal Rules and Multiple Commands / 823
Query Return Values / 825
All Oscilloscope Commands Are Sequential / 826
37 Programming Examples
VISA COM Examples / 828 VISA COM Example in Visual Basic / 828 VISA COM Example in C# / 837 VISA COM Example in Visual Basic .NET / 846 VISA COM Example in Python 3 / 854
VISA Examples / 861 VISA Example in C / 861 VISA Example in Visual Basic / 870 VISA Example in C# / 880 VISA Example in Visual Basic .NET / 891 VISA Example in Python 3 / 901
VISA.NET Examples / 908 VISA.NET Example in C# / 908 VISA.NET Example in Visual Basic .NET / 914

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

23

Index

SICL Examples / 921 SICL Example in C / 921 SICL Example in Visual Basic / 930
SCPI.NET Examples / 941

24

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
1 What's New
What's New in Version 2.10 / 26 What's New in Version 2.01 / 29 Version 2.00 at Introduction / 30 Command Differences From 1000 X-Series Oscilloscopes / 31
25

1 What's New

What's New in Version 2.10

New Commands

New features in version 2.10 of the InfiniiVision 1200 X-Series and EDUX11052A/G oscilloscope software are: · Support for the new DSOX1202A/G and EDUX1052A/G 2-channel oscilloscope
models has been added. On these new 2-channel models: · The Ext Trig input that can be used like a single digital input channel. · The Ext Trig input can be included in a bus made up of analog channels. · The Ext Trig input can be included in a pattern trigger. · The Ext Trig input can be a source for serial bus decodes. · The serial bus decode Lister feature has been added.
More detailed descriptions of the new and changed commands appear below.

Command :DISPlay:TRANsparent (see page 248) :LISTer:DATA? (see page 336) :LISTer:DISPlay (see page 337) :LISTer:REFerence (see page 338) :SAVE:LISTer[:STARt] (see page 464) :SBUS<n>:SPI:SOURce:DATA (see page 530) :SBUS<n>:SPI:TRIGger:PATTer n:DATA (see page 534) :SBUS<n>:SPI:TRIGger:PATTer n:WIDTh (see page 539) :SYSTem:TZONe (see page 590)

Description Enables or disables transparent mode for dialog box backgrounds in the front panel graphical user interface. Returns the lister data. Turns the serial bus Lister display on or off.
Selects whether the time value for a Lister row is relative to the trigger ot the previous Lister row. Saves the Lister display data to a file.
On 2-channel DSOX1200-Series oscilloscopes (that support 3-wire SPI), this command sets the source for the SPI serial data. On 2-channel DSOX1200-Series oscilloscopes (that support 3-wire SPI), this command defines the SPI data pattern. On 2-channel DSOX1200-Series oscilloscopes (that support 3-wire SPI), this command sets the width of the SPI data pattern. Sets the system time zone based on the specified offset from UTC.

Changed Commands

Command

Differences

:ABUS:BIT<m> (see page 177) On 2-channel oscilloscopes, analog channel buses have bits for channels 1, 2, and the Ext Trig input.

:ABUS:BITS (see page 178)

On 2-channel oscilloscopes, analog channel buses have bits for channels 1, 2, and the Ext Trig input.

26

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

What's New 1

Command :BLANk (see page 150) :DEMO:FUNCtion (see page 232) :DIGitize (see page 151) :EXTernal:DISPlay (see page 262) :EXTernal:LABel (see page 263) :EXTernal:POSition (see page 265) :MARKer:X1Y1source (see page 344) :MEASure:DUTYcycle (see page 375) :MEASure:FREQuency (see page 377) :MEASure:NDUTy (see page 378) :MEASure:NWIDth (see page 381) :MEASure:PERiod (see page 385) :MEASure:PWIDth (see page 389) :MEASure:TEDGe (see page 396) :MEASure:VTIMe (see page 407) :SBUS<n>:CAN:SOURce (see page 492) :SBUS<n>:IIC[:SOURce]:CLOCk (see page 501) :SBUS<n>:IIC[:SOURce]:DATA (see page 502) :SBUS<n>:LIN:SOURce (see page 514) :SBUS<n>:SPI:SOURce:CLOCk (see page 529)

Differences On 2-channel oscilloscopes, the EXT source is available. The UART demo signal has been removed.
On 2-channel oscilloscopes, the EXT source is available. On 2-channel oscilloscopes, the Ext Trig input can be displayed as a digital waveform. On 2-channel oscilloscopes, the Ext Trig input can be displayed as a digital waveform. On 2-channel oscilloscopes, the Ext Trig input can be displayed as a digital waveform. On 2-channel oscilloscopes, the EXTernal source is available.
On 2-channel oscilloscopes, the EXTernal source is available.
On 2-channel oscilloscopes, the EXTernal source is available.
On 2-channel oscilloscopes, the EXTernal source is available.
On 2-channel oscilloscopes, the EXTernal source is available.
On 2-channel oscilloscopes, the EXTernal source is available.
On 2-channel oscilloscopes, the EXTernal source is available.
On 2-channel oscilloscopes, the EXTernal source is available.
On 2-channel oscilloscopes, the EXTernal source is available.
On 2-channel DSOX1200-Series oscilloscopes, EXTernal can be specified as the source. On 2-channel DSOX1200-Series oscilloscopes, EXTernal can be specified as the source. On 2-channel DSOX1200-Series oscilloscopes, EXTernal can be specified as the source. On 2-channel DSOX1200-Series oscilloscopes, EXTernal can be specified as the source. On 2-channel DSOX1200-Series oscilloscopes, EXTernal can be specified as the source.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

27

1 What's New

Command :SBUS<n>:SPI:SOURce:FRAMe (see page 531) :SBUS<n>:UART:SOURce:RX (see page 555) :SBUS<n>:UART:SOURce:TX (see page 556) :STATus (see page 171) :SYSTem:MENU (see page 573) :TRIGger:PATTern (see page 632)
:VIEW (see page 174) :WAVeform:SOURce (see page 674) :WGEN:FUNCtion:SQUare:DCY Cle (see page 698)

Differences On 2-channel DSOX1200-Series oscilloscopes, EXTernal can be specified as the source. On 2-channel DSOX1200-Series oscilloscopes, EXTernal can be specified as the source. On 2-channel DSOX1200-Series oscilloscopes, EXTernal can be specified as the source. On 2-channel oscilloscopes, the EXT source is available. The LISTer option has been added so that the command can now display the Lister menu. On 2-channel oscilloscopes, pattern triggers have bits for channels 1, 2, and the Ext Trig input, EXTernal can be used as an edge source. On 2-channel oscilloscopes, the EXT source is available. On 2-channel oscilloscopes, the EXT source is available.
The square wave duty cycle can now be adjusted from 1% to 99%.

28

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

What's New 1

What's New in Version 2.01

New Commands

New features in version 2.01 of the InfiniiVision DSOX1204A/G oscilloscope software are: · Frequency Response Analysis (FRA) now supports more flexible frequency
ranges in the sweep analysis. More detailed descriptions of the new and changed commands appear below.

Command :FRANalysis:SWEep:POINts (see page 294)

Description Specifies the total number of points in the frequency response analysis.

Changed Commands

Command :FRANalysis:FREQuency:SINGle (see page 288) :FRANalysis:FREQuency:STARt (see page 289) :FRANalysis:FREQuency:STOP (see page 290)

Differences You can now specify precise frequency values between 10 Hz and 20 MHz with a resolution of 0.1 Hz. You can now specify precise start frequency values between 10 Hz and 19.99 MHz with a resolution of 0.1 Hz. You can now specify precise stop frequency values between 10.1 Hz and 20 MHz with a resolution of 0.1 Hz.

Obsolete Commands

Obsolete Command :FRANalysis:PPDecade (see page 743)

Current Command Equivalent :FRANalysis:SWEep:POINts (see page 294)

Behavior Differences Instead of points-per-decade, the :FRANalysis:SWEep:POINts command lets you specify the total number of points in the frequency response analysis.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

29

1 What's New
Version 2.00 at Introduction
The Keysight InfiniiVision DSOX1204A/G oscilloscopes were introduced with version 2.00 of oscilloscope operating software. The command set is most closely related to the InfiniiVision 1000 X-Series oscilloscopes (and the 2000/3000 X-Series, 7000 Series, 6000 Series, and 54620/54640 Series oscilloscopes before them). For more information, see "Command Differences From 1000 X-Series Oscilloscopes" on page 31.

30

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

What's New 1

Command Differences From 1000 X-Series Oscilloscopes

New Commands

The Keysight InfiniiVision DSOX1204A/G oscilloscopes command set is most closely related to the InfiniiVision 1000 X-Series oscilloscopes (and the 2000/3000 X-Series, 7000 Series, 6000 Series, and 54620/54640 Series oscilloscopes before them).
The main differences between the version 2.00 programming command set for the InfiniiVision DSOX1204A/G oscilloscopes and the 1.10 programming command set for the InfiniiVision 1000 X-Series oscilloscopes are related to: · The DSOX1204A/G oscilloscopes have 4 analog input channels, the previous
1000 X-Series oscilloscopes have 2 analog input channels and an Ext Trig input that can be used like a single digital input channel. · The Ext Trig input cannot be included in a bus made up of analog channels. · The Ext Trig input cannot be included in a pattern trigger. · The Ext Trig input cannot be a source for serial bus decodes. · The DSOX1204A/G oscilloscopes have a LAN interface in addition to the USB device interface. · Four count measurements are added to the DSOX1204A/G oscilloscopes: positive pulse count, negative pulse count, rising edge count, and falling edge count.
More detailed descriptions of the new, changed, obsolete, and discontinued commands appear below.

Command :HARDcopy:NETWork:ADDRess (see page 329) :HARDcopy:NETWork:APPLy (see page 330) :HARDcopy:NETWork:SLOT (see page 331) :MEASure:NEDGes (see page 379) :MEASure:NPULses (see page 380) :MEASure:PEDGes (see page 384) :MEASure:PPULses (see page 387) :SYSTem:DIDentifier? (see page 569)

Description Sets the address for a network printer slot.
Applies the network printer settings and makes the printer connection. Selects the network printer slot used for the address and apply commands. Counts the number of falling edges.
Counts the number of negative pulses.
Counts the number of rising edges.
Counts the number of positive pulses.
Returns the oscilloscope's Host ID string.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

31

1 What's New

Command :SYSTem:USB:EJECt (see page 591) :SYSTem:USB:PLISt? (see page 592)

Description Ejects connected USB storage devices.
Returns the root path for all connected USB storage devices, delimited by a newline character ("\n").

Changed Commands

Command

Differences From InfiniiVision 1000 X-Series Oscilloscopes

:ABUS:BIT<m> (see page 177) Analog channel buses have bits for channels 3 and 4 but not for the Ext Trig input.

:ABUS:BITS (see page 178)

Analog channel buses have bits for channels 3 and 4 but not for the Ext Trig input.

:BLANk (see page 150)

EXT source is not available.

:DIGitize (see page 151)

EXT source is not available.

:EXTernal:DISPlay (see page 262)

OFF (or 0) is the only valid setting.

:MARKer:X1Y1source (see page 344)

EXTernal source is not available.

:MEASure:DUTYcycle (see page 375)

EXTernal source is not available.

:MEASure:FREQuency (see page 377)

EXTernal source is not available.

:MEASure:NDUTy (see page 378)

EXTernal source is not available.

:MEASure:NWIDth (see page 381)

EXTernal source is not available.

:MEASure:PERiod (see page 385)

EXTernal source is not available.

:MEASure:PWIDth (see page 389)

EXTernal source is not available.

:MEASure:TEDGe (see page 396)

EXTernal source is not available.

:MEASure:VTIMe (see page 407)

EXTernal source is not available.

:SBUS<n>:CAN:SOURce (see page 492)

EXTernal cannot be specified as the source.

:SBUS<n>:IIC[:SOURce]:CLOCk EXTernal cannot be specified as the source. (see page 501)

32

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

What's New 1

Command :SBUS<n>:IIC[:SOURce]:DATA (see page 502) :SBUS<n>:LIN:SOURce (see page 514) :SBUS<n>:SPI:SOURce:CLOCk (see page 529) :SBUS<n>:SPI:SOURce:FRAMe (see page 531) :SBUS<n>:SPI:SOURce:MISO (see page 532) :SBUS<n>:SPI:SOURce:MOSI (see page 533) :SBUS<n>:UART:SOURce:RX (see page 555) :SBUS<n>:UART:SOURce:TX (see page 556) :STATus (see page 171) :TRIGger:PATTern (see page 632) :VIEW (see page 174) :WAVeform:SOURce (see page 674)

Differences From InfiniiVision 1000 X-Series Oscilloscopes EXTernal cannot be specified as the source.
EXTernal cannot be specified as the source.
EXTernal cannot be specified as the source.
EXTernal cannot be specified as the source.
EXTernal cannot be specified as the source.
EXTernal cannot be specified as the source.
EXTernal cannot be specified as the source.
EXTernal cannot be specified as the source.
EXT source is not available. Pattern triggers have bits for channels 3 and 4 but not for the Ext Trig input, EXTernal cannot be used as an edge source. EXT source is not available. EXT source is not available.

Discontinued Commands

Command :EXTernal:DISPlay (see page 262) :EXTernal:LABel (see page 263) :EXTernal:POSition (see page 265)

Description The Ext Trig input cannot be displayed as a digital waveform.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

33

1 What's New

34

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
2 Setting Up
Step 1. Install Keysight IO Libraries Suite software / 36 Step 2. Connect and set up the oscilloscope / 37 Step 3. Verify the oscilloscope connection / 39 This chapter explains how to install the Keysight IO Libraries Suite software, connect the oscilloscope to the controller PC, set up the oscilloscope, and verify the oscilloscope connection.
35

2 Setting Up
Step 1. Install Keysight IO Libraries Suite software
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.

36

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Setting Up 2
Step 2. Connect and set up the oscilloscope
The 1200 X-Series and EDUX11052A/G oscilloscopes have two interfaces you can use for programming: · USB (device port). · LAN. To configure the LAN interface, press the [Utility] key on the front panel,
then press the I/O softkey, then press the Configure softkey. These interfaces are always active.
USB Device port LAN port

Figure 1 Control Connectors on Rear Panel
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. This is a USB 2.0 high-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. Find out if automatic configuration via DHCP or AutoIP can be used. Also, find out whether your network supports Dynamic DNS or Multicast DNS.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

37

2 Setting Up
If automatic configuration is not supported, get the oscilloscope's network parameters (hostname, domain, IP address, subnet mask, gateway IP, DNS IP, etc.). 3 Connect the oscilloscope to the local area network (LAN) by inserting LAN cable into the "LAN" port on the back of the oscilloscope. 4 Configure the oscilloscope's LAN interface: a Press the Configure softkey until "LAN" is selected. b Press the LAN Settings softkey. c Press the Config softkey, and enable all the configuration options supported
by your network. d If automatic configuration is not supported, press the Addresses softkey.
Use the Modify softkey (and the other softkeys and the Entry knob) to enter the IP Address, Subnet Mask, Gateway IP, and DNS IP values. When you are done, press the [Back up] key. e Press the Host name softkey. Use the softkeys and the Entry knob to enter the Host name. When you are done, press the [Back up] key.

38

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Setting Up 2
Step 3. Verify the oscilloscope 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 interface should automatically appear in the Instruments tab.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

39

2 Setting Up
3 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.

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

40

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
3 Getting Started
Basic Oscilloscope Program Structure / 42 Programming the Oscilloscope / 44 Other Ways of Sending Commands / 53

NOTE

This chapter gives you an overview of programming the InfiniiVision 1200 X-Series and EDUX11052A/G oscilloscopes. It describes basic oscilloscope program structure and shows how to program the oscilloscope using a few simple examples. The getting started examples show how to send oscilloscope setup, data capture, and query commands, and they show how to read query results.
Language for Program Examples
The programming examples in this guide are written in Visual Basic using the Keysight VISA COM library.

41

3 Getting Started
Basic Oscilloscope Program Structure
The following figure shows the basic structure of every program you will write for the oscilloscope.

Initializing
To ensure consistent, repeatable performance, you need to start the program, controller, and oscilloscope in a known state. Without correct initialization, your program may run correctly in one instance and not in another. This might be due to changes made in configuration by previous program runs or from the front panel of the oscilloscope. · Program initialization defines and initializes variables, allocates memory, or
tests system configuration. · Controller initialization ensures that the interface to the oscilloscope is properly
set up and ready for data transfer. · Oscilloscope initialization sets the channel configuration, channel labels,
threshold voltages, trigger specification, trigger mode, timebase, and acquisition type.
Capturing Data
Once you initialize the oscilloscope, you can begin capturing data for analysis. Remember that while the oscilloscope is responding to commands from the controller, it is not performing acquisitions. Also, when you change the oscilloscope configuration, any data already captured will most likely be rendered. To collect data, you use the :DIGitize command. This command clears the waveform buffers and starts the acquisition process. Acquisition continues until acquisition memory is full, then stops. The acquired data is displayed by the oscilloscope, and the captured data can be measured, stored in acquisition memory in the oscilloscope, or transferred to the controller for further analysis. Any additional commands sent while :DIGitize is working are buffered until :DIGitize is complete.

42

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Getting Started 3
You could also put the oscilloscope into run mode, then use a wait loop in your program to ensure that the oscilloscope has completed at least one acquisition before you make a measurement. Keysight does not recommend this because the needed length of the wait loop may vary, causing your program to fail. :DIGitize, on the other hand, ensures that data capture is complete. Also, :DIGitize, when complete, stops the acquisition process so that all measurements are on displayed data, not on a constantly changing data set.
Analyzing Captured Data
After the oscilloscope has completed an acquisition, you can find out more about the data, either by using the oscilloscope measurements or by transferring the data to the controller for manipulation by your program. Built-in measurements include: frequency, duty cycle, period, positive pulse width, and negative pulse width. Using the :WAVeform commands, you can transfer the data to your controller. You may want to display the data, compare it to a known good measurement, or simply check logic patterns at various time intervals in the acquisition.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

43

3 Getting Started
Programming the Oscilloscope
· "Referencing the IO Library" on page 44 · "Opening the Oscilloscope Connection via the IO Library" on page 45 · "Using :AUToscale to Automate Oscilloscope Setup" on page 46 · "Using Other Oscilloscope Setup Commands" on page 46 · "Capturing Data with the :DIGitize Command" on page 47 · "Reading Query Responses from the Oscilloscope" on page 49 · "Reading Query Results into String Variables" on page 50 · "Reading Query Results into Numeric Variables" on page 50 · "Reading Definite-Length Block Query Response Data" on page 50 · "Sending Multiple Queries and Reading Results" on page 51 · "Checking Instrument Status" on page 52
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 5.9 Type Library".

44

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Getting Started 3

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 5.9 Type Library". 3 Click OK.
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 "Program Message Syntax" on page 819.
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:

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

45

3 Getting Started

NOTE

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"
Information for Initializing the Instrument
The actual commands and syntax for initializing the instrument are discussed in Chapter 5, "Common (*) Commands," starting on page 115. Refer to the Keysight IO Libraries Suite documentation for information on initializing the interface.

Using :AUToscale to Automate Oscilloscope Setup
The :AUToscale command performs a very useful function for unknown waveforms by setting up the vertical channel, time base, and trigger level of the instrument. The syntax for the autoscale command is:
myScope.WriteString ":AUToscale"
Using Other Oscilloscope Setup Commands
A typical oscilloscope setup would set the vertical range and offset voltage, the horizontal range, delay time, delay reference, trigger mode, trigger level, and slope. An example of the commands that might be sent to the oscilloscope are:
myScope.WriteString ":CHANnel1:PROBe 10" myScope.WriteString ":CHANnel1:RANGe 16" myScope.WriteString ":CHANnel1:OFFSet 1.00" myScope.WriteString ":TIMebase:MODE MAIN" myScope.WriteString ":TIMebase:RANGe 1E-3" myScope.WriteString ":TIMebase:DELay 100E-6"

46

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Getting Started 3

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

Example Oscilloscope Setup Code
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 = 10000 ' Set interface timeout to 10 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 50 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 10"

' Probe attenuation

' to 10: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:COUPling 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 -0.4"

' Trigger level to -0.4.

myScope.WriteString ":TRIGger:SLOPe POSitive" ' Trigger on pos. slope.

' Configure the instrument for normal acquisition. myScope.WriteString ":ACQuire:TYPE NORMal" ' Normal acquisition.

Capturing Data with the :DIGitize Command
The :DIGitize command captures data that meets the specifications set up by the :ACQuire subsystem. When the digitize process is complete, the acquisition is stopped. The captured data can then be measured by the instrument or transferred to the controller for further analysis. The captured data consists of two parts: the waveform data record, and the preamble.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

47

3 Getting Started

NOTE NOTE

Ensure New Data is Collected
When you change the oscilloscope configuration, the waveform buffers are cleared. Before doing a measurement, send the :DIGitize command to the oscilloscope to ensure new data has been collected.
When you send the :DIGitize command to the oscilloscope, the specified channel signal is digitized with the current :ACQuire parameters. To obtain waveform data, you must specify the :WAVeform parameters for the SOURce channel, the FORMat type, and the number of POINts prior to sending the :WAVeform:DATA? query.
Set :TIMebase:MODE to MAIN when using :DIGitize
:TIMebase:MODE must be set to MAIN to perform a :DIGitize command or to perform any :WAVeform subsystem query. A "Settings conflict" error message will be returned if these commands are executed when MODE is set to ROLL, XY, or WINDow (zoomed). Sending the *RST (reset) command will also set the time base mode to normal.
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 allows you to specify exactly what the digitized information contains. The following program example shows a typical setup:
myScope.WriteString ":ACQuire:TYPE AVERage" myScope.WriteString ":ACQuire:COMPlete 100" myScope.WriteString ":ACQuire:COUNt 8" myScope.WriteString ":DIGitize CHANnel1" myScope.WriteString ":WAVeform:SOURce CHANnel1" myScope.WriteString ":WAVeform:FORMat BYTE" myScope.WriteString ":WAVeform:POINts 500" myScope.WriteString ":WAVeform:DATA?"
This setup places the instrument into the averaged mode with eight averages. This means that when the :DIGitize command is received, the command will execute until the signal has been averaged at least eight times. After receiving the :WAVeform:DATA? query, the instrument will start passing the waveform information. Digitized waveforms are passed from the instrument to the controller by sending a numerical representation of each digitized point. The format of the numerical representation is controlled with the :WAVeform:FORMat command and may be selected as BYTE, WORD, or ASCii.

48

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Getting Started 3

NOTE

The easiest method of transferring a digitized waveform depends on data structures, formatting available and I/O capabilities. You must scale the integers to determine the voltage value of each point. These integers are passed starting with the left most point on the instrument's display. For more information, see the waveform subsystem commands and corresponding program code examples in Chapter 29, ":WAVeform Commands," starting on page 653.
Aborting a Digitize Operation Over the Programming Interface
When using the programming interface, you can abort a digitize operation by sending a Device Clear over the bus (for example, myScope.IO.Clear).

Reading Query Responses from the Oscilloscope
After receiving a query (command header followed by a question mark), the instrument interrogates the requested function and places the answer in its output queue. The answer remains in the output queue until it is read or another command is issued. When read, the answer is transmitted across the interface to the designated listener (typically a controller). The statement for reading a query response message from an instrument's output queue typically has a format specification for handling the response message. When using the VISA COM library in Visual Basic, you use different read methods (ReadString, ReadNumber, ReadList, or ReadIEEEBlock) for the various query response formats. For example, to read the result of the query command :CHANnel1:COUPling? you would execute the statements:
myScope.WriteString ":CHANnel1:COUPling?" Dim strQueryResult As String strQueryResult = myScope.ReadString
This reads the current setting for the channel one coupling into the string variable strQueryResult. All results for queries (sent in one program message) must be read before another program message is sent. Sending another command before reading the result of the query clears the output buffer and the current response. This also causes an error to be placed in the error queue. Executing a read statement before sending a query causes the controller to wait indefinitely. The format specification for handling response messages depends on the programming language.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

49

3 Getting Started

Reading Query Results into String Variables
The output of the instrument may be numeric or character data depending on what is queried. Refer to the specific command descriptions for the formats and types of data returned from queries.

NOTE

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.

The following example shows numeric data being returned to a string variable:
myScope.WriteString ":CHANnel1:RANGe?" Dim strQueryResult As String strQueryResult = myScope.ReadString MsgBox "Range (string):" + strQueryResult
After running this program, the controller displays: Range (string): +40.0E+00
Reading Query Results into Numeric Variables
The following example shows numeric data being returned to a numeric variable:
myScope.WriteString ":CHANnel1:RANGe?" Dim varQueryResult As Variant varQueryResult = myScope.ReadNumber MsgBox "Range (variant):" + CStr(varQueryResult)
After running this program, the controller displays: Range (variant): 40
Reading Definite-Length Block Query Response Data
Definite-length block query 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 1000 bytes of data, the syntax would be:

50

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Getting Started 3

Number of Digits That Follow

Actual Data

#800001000<1000 bytes of data><terminator>
Number of Bytes to be Transmitted

Figure 2 Definite-length block response data

The "8" states the number of digits that follow, and "00001000" states the number of bytes to be transmitted. The VISA COM library's ReadIEEEBlock and WriteIEEEBlock methods understand the definite-length block syntax, so you can simply use variables that contain the data:
' Read oscilloscope setup using ":SYSTem:SETup?" query. myScope.WriteString ":SYSTem:SETup?" Dim varQueryResult As Variant varQueryResult = myScope.ReadIEEEBlock(BinaryType_UI1)
' Write learn string back to oscilloscope using ":SYSTem:SETup" command: myScope.WriteIEEEBlock ":SYSTem:SETup ", varQueryResult
Sending Multiple Queries and Reading Results
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)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

51

3 Getting Started
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"
Checking Instrument Status
Status registers track the current status of the instrument. By checking the instrument status, you can find out whether an operation has been completed, whether the instrument is receiving triggers, and more. For more information, see Chapter 34, "Status Reporting," starting on page 785 which explains how to check the status of the instrument.

52

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Getting Started 3
Other Ways of Sending Commands
Standard Commands for Programmable Instrumentation (SCPI) can also be sent via a Telnet socket or through the Browser Web Control: · "Telnet Sockets" on page 53 · "Sending SCPI Commands Using Browser Web Control" on page 53
Telnet Sockets
The following information is provided for programmers who wish to control the oscilloscope with SCPI commands in a Telnet session. To connect to the oscilloscope via a telnet socket, issue the following command:
telnet <hostname> 5024
where <hostname> is the hostname of the oscilloscope. This will give you a command line with prompt. For a command line without a prompt, use port 5025. For example:
telnet <hostname> 5025
Sending SCPI Commands Using Browser Web Control
To send SCPI commands using the Web Interface feature, establish a connection to the oscilloscope via LAN as described in the User's Guide. When you make the connection to the oscilloscope via LAN and the instrument's welcome page is displayed, select the Control Instrument tab, then select the Use Instrument IO link.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

53

3 Getting Started

54

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
4 Commands Quick Reference
Command Summary / 56 Syntax Elements / 111
55

4 Commands Quick Reference

Command Summary
· Common (*) Commands Summary (see page 57) · Root (:) Commands Summary (see page 60) · :ABUS Commands Summary (see page 62) · :ACQuire Commands Summary (see page 63) · :CALibrate Commands Summary (see page 63) · :CHANnel<n> Commands Summary (see page 64) · :DEMO Commands Summary (see page 66) · :DISPlay Commands Summary (see page 66) · :DVM Commands Summary (see page 67) · :EXTernal Trigger Commands Summary (see page 68) · :FFT Commands Summary (see page 69) · :FRANalysis Commands Summary (see page 69) · :FUNCtion Commands Summary (see page 71) · :HARDcopy Commands Summary (see page 72) · :LISTer Commands Summary (see page 74) · :MARKer Commands Summary (see page 74) · :MEASure Commands Summary (see page 76) · :MTESt Commands Summary (see page 84) · :RECall Commands Summary (see page 87) · :SAVE Commands Summary (see page 87) · General :SBUS<n> Commands Summary (see page 89) · :SBUS<n>:CAN Commands Summary (see page 89) · :SBUS<n>:IIC Commands Summary (see page 91) · :SBUS<n>:LIN Commands Summary (see page 92) · :SBUS<n>:SPI Commands Summary (see page 93) · :SBUS<n>:UART Commands Summary (see page 95) · :SYSTem Commands Summary (see page 97) · :TIMebase Commands Summary (see page 99) · General :TRIGger Commands Summary (see page 100) · :TRIGger[:EDGE] Commands Summary (see page 101) · :TRIGger:GLITch Commands Summary (see page 101) · :TRIGger:PATTern Commands Summary (see page 103) · :TRIGger:SHOLd Commands Summary (see page 103)

56

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

· :TRIGger:TRANsition Commands Summary (see page 104) · :TRIGger:TV Commands Summary (see page 104) · :WAVeform Commands Summary (see page 105) · :WGEN Commands Summary (see page 107) · :WMEMory<r> Commands Summary (see page 109)

Table 2 Common (*) Commands Summary

Command *CLS (see page 119)
*ESE <mask> (see page 120)

Query n/a *ESE? (see page 121)

n/a

*ESR? (see page 122)

n/a

*IDN? (see page 122)

n/a

*LRN? (see page 125)

*OPC (see page 126)

*OPC? (see page 126)

Options and Query Returns

n/a

<mask> ::= 0 to 255; an integer in NR1 format:

Bit Weight Name Enables

--- ------ ---- ----------

7 128 PON Power On

6

64 URQ User Request

5

32 CME Command Error

4

16 EXE Execution Error

3

8 DDE Dev. Dependent Error

2

4 QYE Query Error

1

2 RQL Request Control

0

1 OPC Operation Complete

<status> ::= 0 to 255; an integer in NR1 format

KEYSIGHT TECHNOLOGIES,<model>,<serial number>,X.XX.XX
<model> ::= the model number of the instrument
<serial number> ::= the serial number of the instrument
<X.XX.XX> ::= the software revision of the instrument

<learn_string> ::= current instrument setup as a block of data in IEEE 488.2 # format

ASCII "1" is placed in the output queue when all pending device operations have completed.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

57

4 Commands Quick Reference

Table 2 Common (*) Commands Summary (continued)

Command n/a

Query *OPT? (see page 127)

*RCL <value> (see

n/a

page 128)

*RST (see page 129)

n/a

Options and Query Returns
<return_value> ::= 0,0,<license info>
<license info> ::= <All field>, <reserved>, <reserved>, <reserved>, <Memory>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <Segmented Memory>, <Mask Test>, <reserved>, <Bandwidth>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <Educator's Kit>, <Waveform Generator>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <Digital Voltmeter>, <reserved>, <reserved>, <reserved>, <Remote Command Logging>, <reserved>, <reserved>, <reserved>
<All field> ::= {0 | All}
<reserved> ::= 0
<Memory> ::= {0 | MEMUP}
<Low Speed Serial> ::= {0 | EMBD}
<Automotive Serial> ::= {0 | AUTO}
<Segmented Memory> ::= {0 | SGM}
<Mask Test> ::= {0 | MASK}
<Bandwidth> ::= {0 | BW10 | BW20}
<Educator's Kit> ::= {0 | EDK}
<Waveform Generator> ::= {0 | WAVEGEN}
<Digital Voltmeter> ::= {0 | DVM}
<Remote Command Logging> ::= {0 | RML}
<value> ::= {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}
See *RST (Reset) (see page 129)

58

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 2 Common (*) Commands Summary (continued)

Command

Query

*SAV <value> (see page 132)
*SRE <mask> (see page 133)

n/a *SRE? (see page 134)

n/a

*STB? (see page 135)

*TRG (see page 137) n/a
*WAI (see page 139)

n/a *TST? (see page 138)
n/a

Options and Query Returns

<value> ::= {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}

<mask> ::= sum of all bits that are set, 0 to 255; an integer in NR1 format. <mask> ::= following values:

Bit Weight Name Enables

--- ------ ---- ----------

7 128 OPER Operation Status Reg

6

64 ---- (Not used.)

5

32 ESB Event Status Bit

4

16 MAV Message Available

3

8 ---- (Not used.)

2

4 MSG Message

1

2 USR User

0

1 TRG Trigger

<value> ::= 0 to 255; an integer in NR1 format, as shown in the following:

Bit Weight Name "1" Indicates

--- ------ ---- ---------------

7 128 OPER Operation status

condition occurred.

6

64 RQS/ Instrument is

MSS requesting service.

5

32 ESB Enabled event status

condition occurred.

4

16 MAV Message available.

3

8 ---- (Not used.)

2

4 MSG Message displayed.

1

2 USR User event

condition occurred.

0

1 TRG A trigger occurred.

n/a

<result> ::= 0 or non-zero value; an integer in NR1 format

n/a

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

59

4 Commands Quick Reference

Table 3 Root (:) Commands Summary

Command n/a

Query :AER? (see page 144)

Options and Query Returns {0 | 1}; an integer in NR1 format

:AUToscale

n/a

[<source>[,..,<source >]] (see page 145)

<source> ::= CHANnel<n>
<source> can be repeated up to 5 times
<n> ::= 1 to (# analog channels) in NR1 format

:AUToscale:AMODE

:AUToscale:AMODE?

<value> (see page 147) (see page 147)

<value> ::= {NORMal | CURRent}}

:AUToscale:CHANnels :AUToscale:CHANnels? <value> ::= {ALL | DISPlayed}} <value> (see page 148) (see page 148)

:AUToscale:FDEBug {{0
| OFF} | {1 | ON}} (see page 149)

:AUToscale:FDEBug? (see page 149)

{0 | 1}

:BLANk [<source>]

n/a

(see page 150)

<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r> | ABUS | EXT}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
EXT available on 2-channel oscilloscopes only

:DIGitize

n/a

[<source>[,..,<source >]] (see page 151)

<source> ::= {CHANnel<n> | FUNCtion | MATH | SBUS{1} | FFT | ABUS | EXT}
<source> can be repeated up to 5 times
<n> ::= 1 to (# analog channels) in NR1 format
EXT available on 2-channel oscilloscopes only

:MTEenable <n> (see page 153)

:MTEenable? (see page 153)

<n> ::= 16-bit integer in NR1 format

n/a
:OPEE <n> (see page 157)

:MTERegister[:EVENt]? (see page 155)
:OPEE? (see page 158)

<n> ::= 16-bit integer in NR1 format
<n> ::= 15-bit integer in NR1 format

n/a

:OPERregister:CONDiti <n> ::= 15-bit integer in NR1

on? (see page 159)

format

60

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 3 Root (:) Commands Summary (continued)

Command

Query

Options and Query Returns

n/a

:OPERegister[:EVENt]? <n> ::= 15-bit integer in NR1

(see page 161)

format

:OVLenable <mask> (see page 163)

:OVLenable? (see page 163)

<mask> ::= 16-bit integer in NR1 format as shown:

Bit Weight Input

--- ------ ----------

10 1024 Ext Trigger Fault

9 512 Channel 4 Fault

8 256 Channel 3 Fault

7 128 Channel 2 Fault

6

64 Channel 1 Fault

4

16 Ext Trigger OVL

3

8 Channel 4 OVL

2

4 Channel 3 OVL

1

2 Channel 2 OVL

0

1 Channel 1 OVL

n/a

:OVLRegister? (see

<value> ::= integer in NR1

page 165)

format. See OVLenable for <value>

:PRINt [<options>] (see page 167)
:RUN (see page 168) n/a :SINGle (see page 170)

n/a
n/a :SERial (see page 169) n/a

<options> ::= [<print option>][,..,<print option>]
<print option> ::= {COLor | GRAYscale | PRINter0 | PRINter1 | BMP8bit | BMP | PNG | NOFactors | FACTors}
<print option> can be repeated up to 5 times.
n/a
<return value> ::= unquoted string containing serial number
n/a

n/a

:STATus? <display>

(see page 171)

:STOP (see page 172)

n/a

{0 | 1}
<display> ::= {CHANnel<n> | FUNCtion | MATH | SBUS{1} | FFT | WMEMory<r> | ABUS | EXT}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
EXT available on 2-channel oscilloscopes only
n/a

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

61

4 Commands Quick Reference

Table 3 Root (:) Commands Summary (continued)

Command n/a

Query :TER? (see page 173)

:VIEW <source> (see n/a page 174)

Options and Query Returns
{0 | 1}
<source> ::= {CHANnel<n> | FUNCtion | MATH | SBUS{1} | FFT | WMEMory<r> | ABUS | EXT}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
EXT available on 2-channel oscilloscopes only

Table 4 :ABUS Commands Summary

Command

Query

:ABUS:BIT<m> {{0 |
OFF} | {1 | ON}} (see page 177)

:ABUS:BIT<m>? (see page 177)

:ABUS:BITS
<channel_list>, {{0 |
OFF} | {1 | ON}} (see page 178)

:ABUS:BITS? (see page 178)

:ABUS:CLEar (see page 180)
:ABUS:DISPlay {{0 | OFF} | {1 | ON}} (see page 181)
:ABUS:LABel <string> (see page 182)
:ABUS:MASK <mask> (see page 183)

n/a
:ABUS:DISPlay? (see page 181)
:ABUS:LABel? (see page 182) :ABUS:MASK? (see page 183)

Options and Query Returns {0 | 1} <m> ::= an integer in NR1 format
<channel_list>, {0 | 1} <channel_list> ::= (@<m>,<m>:<m> ...) where "," is separator and ":" is range <m> ::= an integer in NR1 format n/a
{0 | 1}
<string> ::= quoted ASCII string up to 10 characters <mask> ::= 32-bit integer in decimal, <nondecimal>, or <string> <nondecimal> ::= #Hnn...n where n ::= {0,..,9 | A,..,F} for hexadecimal <nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F} for hexadecimal

62

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 5 :ACQuire Commands Summary

Command

Query

Options and Query Returns

:ACQuire:COMPlete
<complete> (see page 187)

:ACQuire:COMPlete? (see page 187)

<complete> ::= 100; an integer in NR1 format

:ACQuire:COUNt

:ACQuire:COUNt? (see <count> ::= an integer from 2 to

<count> (see page 188) page 188)

65536 in NR1 format

:ACQuire:MODE <mode> :ACQuire:MODE? (see

(see page 189)

page 189)

<mode> ::= {RTIMe | SEGMented}

n/a

:ACQuire:POINts? (see <# points> ::= an integer in NR1

page 190)

format

:ACQuire:SEGMented:AN n/a ALyze (see page 191)

n/a (with SGM license)

:ACQuire:SEGMented:CO :ACQuire:SEGMented:CO <count> ::= an integer from 2 to

UNt <count> (see

UNt? (see page 192)

500 in NR1 format (with SGM

page 192)

license)

:ACQuire:SEGMented:IN :ACQuire:SEGMented:IN <index> ::= an integer from 1 to

Dex <index> (see

Dex? (see page 193)

500 in NR1 format (with SGM

page 193)

license)

n/a

:ACQuire:SRATe? (see <sample_rate> ::= sample rate

page 196)

(samples/s) in NR3 format

:ACQuire:TYPE <type> :ACQuire:TYPE? (see

(see page 197)

page 197)

<type> ::= {NORMal | AVERage | HRESolution | PEAK}

Table 6 :CALibrate Commands Summary

Command

Query

Options and Query Returns

n/a

:CALibrate:DATE? (see <return value> ::=

page 201)

<year>,<month>,<day>; all in NR1

format

:CALibrate:LABel
<string> (see page 202)

:CALibrate:LABel? (see page 202)

<string> ::= quoted ASCII string up to 32 characters

:CALibrate:OUTPut
<signal> (see page 203)

:CALibrate:OUTPut? (see page 203)

<signal> ::= {TRIGgers | MASK | WAVEgen}

n/a

:CALibrate:PROTected? {"PROTected" | "UNPRotected"}

(see page 204)

:CALibrate:STARt (see n/a

n/a

page 205)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

63

4 Commands Quick Reference

Table 6 :CALibrate Commands Summary (continued)

Command

Query

Options and Query Returns

n/a

:CALibrate:STATus?

<return value> ::=

(see page 206)

<status_code>,<status_string>

<status_code> ::= an integer status code

<status_string> ::= an ASCII status string

n/a

:CALibrate:TEMPeratur <return value> ::= degrees C

e? (see page 207)

delta since last cal in NR3

format

n/a

:CALibrate:TIME? (see <return value> ::=

page 208)

<hours>,<minutes>,<seconds>; all

in NR1 format

Table 7 :CHANnel<n> Commands Summary

Command

Query

Options and Query Returns

:CHANnel<n>:BANDwidth :CHANnel<n>:BANDwidth <limit> ::= 25E6 in NR3 format

<limit> (see page 212) ? [MAXimum] (see page 212)

<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:BWLimit
{{0 | OFF} | {1 | ON}} (see page 213)

:CHANnel<n>:BWLimit? (see page 213)

{0 | 1}
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:COUPling
<coupling> (see page 214)

:CHANnel<n>:COUPling? <coupling> ::= {AC | DC}

(see page 214)

<n> ::= 1 to (# analog channels)

in NR1 format

:CHANnel<n>:DISPlay
{{0 | OFF} | {1 | ON}} (see page 215)

:CHANnel<n>:DISPlay? (see page 215)

{0 | 1}
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:IMPedance :CHANnel<n>:IMPedance <impedance> ::= ONEMeg

<impedance> (see page 216)

? (see page 216)

<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:INVert
{{0 | OFF} | {1 | ON}} (see page 217)

:CHANnel<n>:INVert? (see page 217)

{0 | 1}
<n> ::= 1 to (# analog channels) in NR1 format

64

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 7 :CHANnel<n> Commands Summary (continued)

Command

Query

Options and Query Returns

:CHANnel<n>:LABel
<string> (see page 218)

:CHANnel<n>:LABel? (see page 218)

<string> ::= any series of 10 or less ASCII characters enclosed in quotation marks
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:OFFSet
<offset>[suffix] (see page 219)

:CHANnel<n>:OFFSet? (see page 219)

<offset> ::= Vertical offset value in NR3 format
[suffix] ::= {V | mV}
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:PROBe
<attenuation> (see page 220)

:CHANnel<n>:PROBe? (see page 220)

<attenuation> ::= Probe attenuation ratio in NR3 format
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:PROBe:HEA
D[:TYPE] <head_param> (see page 221)

:CHANnel<n>:PROBe:HEA
D[:TYPE]? (see page 221)

<head_param> ::= {SEND0 | SEND6 | SEND12 | SEND20 | DIFF0 | DIFF6 | DIFF12 | DIFF20 | NONE}
<n> ::= 1 to (# analog channels) in NR1 format

n/a

:CHANnel<n>:PROBe:ID? <probe id> ::= unquoted ASCII

(see page 222)

string up to 11 characters

<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:PROBe:SKE
W <skew_value> (see page 223)

:CHANnel<n>:PROBe:SKE W? (see page 223)

<skew_value> ::= -100 ns to +100 ns in NR3 format
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:PROBe:STY
Pe <signal type> (see page 224)

:CHANnel<n>:PROBe:STY Pe? (see page 224)

<signal type> ::= {DIFFerential | SINGle}
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:PROTectio :CHANnel<n>:PROTectio NORM

n (see page 225)

n? (see page 225)

<n> ::= 1 to (# analog channels)

in NR1 format

:CHANnel<n>:RANGe
<range>[suffix] (see page 226)

:CHANnel<n>:RANGe? (see page 226)

<range> ::= Vertical full-scale range value in NR3 format
[suffix] ::= {V | mV}
<n> ::= 1 to (# analog channels) in NR1 format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

65

4 Commands Quick Reference

Table 7 :CHANnel<n> Commands Summary (continued)

Command

Query

:CHANnel<n>:SCALe
<scale>[suffix] (see page 227)

:CHANnel<n>:SCALe? (see page 227)

:CHANnel<n>:UNITs

:CHANnel<n>:UNITs?

<units> (see page 228) (see page 228)

:CHANnel<n>:VERNier
{{0 | OFF} | {1 | ON}} (see page 229)

:CHANnel<n>:VERNier? (see page 229)

Options and Query Returns
<scale> ::= Vertical units per division value in NR3 format [suffix] ::= {V | mV} <n> ::= 1 to (# analog channels) in NR1 format
<units> ::= {VOLT | AMPere} <n> ::= 1 to (# analog channels) in NR1 format
{0 | 1} <n> ::= 1 to (# analog channels) in NR1 format

Table 8 :DEMO Commands Summary

Command

Query

:DEMO:FUNCtion
<signal> (see page 232)

:DEMO:FUNCtion? (see page 233)

:DEMO:OUTPut {{0 |
OFF} | {1 | ON}} (see page 234)

:DEMO:OUTPut? (see page 234)

Options and Query Returns
<signal> ::= {SINusoid | NOISy | LFSine | AM | RFBurst | FMBurst | HARMonics | COUPling | RINGing | SINGle | CLK | TRANsition | BURSt | GLITch | CAN | LIN}
{0 | 1}

Table 9 :DISPlay Commands Summary

Command

Query

Options and Query Returns

:DISPlay:ANNotation
{{0 | OFF} | {1 | ON}} (see page 237)

:DISPlay:ANNotation? {0 | 1} (see page 237)

:DISPlay:ANNotation:B :DISPlay:ANNotation:B <mode> ::= {OPAQue | INVerted |

ACKground <mode> (see ACKground? (see

page 238)

page 238)

TRANsparent}

:DISPlay:ANNotation:C :DISPlay:ANNotation:C <color> ::= {CH1 | CH2 | CH3 |

OLor <color> (see

OLor? (see page 239)

CH4 | DIG | MATH | REF | MARKer |

page 239)

WHITe | RED}

:DISPlay:ANNotation:T :DISPlay:ANNotation:T <string> ::= quoted ASCII string

EXT <string> (see

EXT? (see page 240)

(up to 254 characters)

page 240)

66

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 9 :DISPlay Commands Summary (continued)

Command

Query

Options and Query Returns

:DISPlay:CLEar (see n/a

n/a

page 241)

n/a

:DISPlay:DATA?

<format> ::= {BMP | BMP8bit |

[<format>][,][<palett PNG}

e>] (see page 242)

<palette> ::= {COLor | GRAYscale}

<display data> ::= data in IEEE 488.2 # format

:DISPlay:INTensity:WA :DISPlay:INTensity:WA <value> ::= an integer from 0 to Veform <value> (see Veform? (see page 243) 100 in NR1 format. page 243)

:DISPlay:LABel {{0 |
OFF} | {1 | ON}} (see page 244)

:DISPlay:LABel? (see page 244)

{0 | 1}

:DISPlay:LABList
<binary block> (see page 245)

:DISPlay:LABList? (see page 245)

<binary block> ::= an ordered list of up to 75 labels, each 10 characters maximum, separated by newline characters

:DISPlay:PERSistence <value> (see page 247)

:DISPlay:PERSistence? (see page 247)

<value> ::= {MINimum | INFinite | <time>}
<time> ::= seconds in in NR3 format from 100E-3 to 60E0

:DISPlay:VECTors {1 | :DISPlay:VECTors?

1

ON} (see page 249)

(see page 249)

Table 10 :DVM Commands Summary

Command

Query

:DVM:ARANge {{0 |
OFF} | {1 | ON}} (see page 252)

:DVM:ARANge? (see page 252)

n/a

:DVM:CURRent? (see

page 253)

:DVM:ENABle {{0 |
OFF} | {1 | ON}} (see page 254)

:DVM:ENABle? (see page 254)

n/a

:DVM:FREQuency? (see

page 253)

Options and Query Returns {0 | 1}
<dvm_value> ::= floating-point number in NR3 format {0 | 1}
<freq_value> ::= floating-point number in NR3 format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

67

4 Commands Quick Reference

Table 10 :DVM Commands Summary (continued)

Command

Query

:DVM:MODE <mode> (see :DVM:MODE? (see

page 256)

page 256)

:DVM:SOURce <source> :DVM:SOURce? (see

(see page 257)

page 257)

Options and Query Returns
<dvm_mode> ::= {ACRMs | DC | DCRMs | FREQuency}
<source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format

Table 11 :EXTernal Trigger Commands Summary

Command

Query

Options and Query Returns

:EXTernal:BWLimit
<bwlimit> (see page 261)

:EXTernal:BWLimit? (see page 261)

<bwlimit> ::= {0 | OFF}

:EXTernal:DISPlay {{0
| OFF} | {1 | ON}} (see page 262)

:EXTernal:DISPlay? (see page 262)

<setting> ::= {0 | 1}
On DSOX1204A/G oscilloscopes, the :EXTernal:DISPlay command can be set to OFF only.

:EXTernal:LABel
<string> (see page 263)

:EXTernal:LABel? (see <string> ::= quoted ASCII string. page 263)

:EXTernal:LEVel
<level>[<suffix>] (see page 264)

:EXTernal:LEVel? (see page 264)

<value> ::= external trigger level value in NR3 format.
<suffix> ::= {V | mV}

:EXTernal:POSition

:EXTernal:POSition?

<value> (see page 265) (see page 265)

<value> ::= Ext Trig waveform vertical position in divisions in NR3 format.
On DSOX1204A/G oscilloscopes, the :EXTernal:POSition value can be zero only.

:EXTernal:PROBe
<attenuation> (see page 266)

:EXTernal:PROBe? (see <attenuation> ::= probe

page 266)

attenuation ratio in NR3 format

:EXTernal:RANGe
<range>[<suffix>] (see page 267)

:EXTernal:RANGe? (see page 267)

<range> ::= vertical full-scale range value in NR3 format
<suffix> ::= {V | mV}

:EXTernal:UNITs

:EXTernal:UNITs? (see <units> ::= {VOLT | AMPere}

<units> (see page 268) page 268)

68

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 12 :FFT Commands Summary

Command

Query

:FFT:CENTer
<frequency> (see page 271)

:FFT:CENTer? (see page 271)

:FFT:DISPlay {{0 | OFF} | {1 | ON}} (see page 272)
:FFT:OFFSet <offset> (see page 273)
:FFT:RANGe <range> (see page 274)

:FFT:DISPlay? (see page 272)
:FFT:OFFSet? (see page 273)
:FFT:RANGe? (see page 274)

:FFT:REFerence

:FFT:REFerence? (see

<level> (see page 275) page 275)

:FFT:SCALe

:FFT:SCALe? (see

<scale_value>[<suffix page 276)

>] (see page 276)

:FFT:SOURce1 <source> :FFT:SOURce1? (see

(see page 277)

page 277)

:FFT:SPAN <span> (see :FFT:SPAN? (see

page 278)

page 278)

:FFT:VTYPe <units> (see page 279)
:FFT:WINDow <window> (see page 280)

:FFT:VTYPe? (see page 279)
:FFT:WINDow? (see page 280)

Options and Query Returns
<frequency> ::= the current center frequency in NR3 format. The range of legal values is from -25 GHz to 25 GHz.
<s> ::= 1-6, in NR1 format. {0 | 1}
<offset> ::= the value at center screen in NR3 format.
<range> ::= the full-scale vertical axis value in NR3 format.
<level> ::= the current reference level in NR3 format.
<scale_value> ::= integer in NR1 format. <suffix> ::= dB
<source> ::= {CHANnel<n> | FUNCtion<c> | MATH<c>} <n> ::= 1 to (# analog channels) in NR1 format. <c> ::= {1 | 2}
<span> ::= the current frequency span in NR3 format. Legal values are 1 Hz to 100 GHz.
<units> ::= {DECibel | VRMS}
<window> ::= {RECTangular | HANNing | FLATtop | BHARris}

Table 13 :FRANalysis Commands Summary

Command

Query

n/a

:FRANalysis:DATA?

(see page 285)

:FRANalysis:ENABle
{{0 | OFF} | {1 | ON}} (see page 286)

:FRANalysis:ENABle? (see page 286)

Options and Query Returns
<binary_block> ::= comma-separated data with newlines at the end of each row
{0 | 1}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

69

4 Commands Quick Reference

Table 13 :FRANalysis Commands Summary (continued)

Command

Query

Options and Query Returns

:FRANalysis:FREQuency :FRANalysis:FREQuency <setting> ::= {SWEep | SINGle} :MODE <setting> (see :MODE? (see page 287) page 287)

:FRANalysis:FREQuency
:SINGle
<value>[suffix] (see page 288)

:FRANalysis:FREQuency
:SINGle? (see page 288)

<value> ::= between 10 Hz and 20 MHz with a resolution of 0.1 Hz in NR3 format
[suffix] ::= {Hz | kHz| MHz}

:FRANalysis:FREQuency
:STARt
<value>[suffix] (see page 289)

:FRANalysis:FREQuency :STARt? (see page 289)

<value> ::= between 10 Hz and 19.99 MHz with a resolution of 0.1 Hz in NR3 format
[suffix] ::= {Hz | kHz| MHz}

:FRANalysis:FREQuency
:STOP <value>[suffix] (see page 290)

:FRANalysis:FREQuency :STOP? (see page 290)

<value> ::= between 10.1 Hz and 20 MHz with a resolution of 0.1 Hz in NR3 format
[suffix] ::= {Hz | kHz| MHz}

:FRANalysis:RUN (see n/a

n/a

page 291)

:FRANalysis:SOURce:IN :FRANalysis:SOURce:IN <source> ::= CHANnel<n>

Put <source> (see page 292)

Put? (see page 292)

<n> ::= 1 to (# analog channels) in NR1 format

:FRANalysis:SOURce:OU :FRANalysis:SOURce:OU <source> ::= CHANnel<n>

TPut <source> (see page 293)

TPut? (see page 293)

<n> ::= 1 to (# analog channels) in NR1 format

:FRANalysis:SWEep:POI :FRANalysis:SWEep:POI <pts> ::= number of points from 1

Nts <pts> (see

Nts? (see page 294)

to 1000 in NR1 format

page 294)

:FRANalysis:TRACe
<selection> (see page 295)

:FRANalysis:TRACe? (see page 295)

<selection> ::= {NONE | ALL | GAIN | PHASe}[,{GAIN | PHASe}]

:FRANalysis:WGEN:LOAD :FRANalysis:WGEN:LOAD <impedance> ::= {ONEMeg | FIFTy}

<impedance> (see

? (see page 296)

page 296)

:FRANalysis:WGEN:VOLT :FRANalysis:WGEN:VOLT <amplitude> ::= amplitude in

age <amplitude> (see age? (see page 297)

volts in NR3 format

page 297)

70

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 14 :FUNCtion Commands Summary

Command

Query

Options and Query Returns

:FUNCtion:DISPlay {{0
| OFF} | {1 | ON}} (see page 302)

:FUNCtion:DISPlay? (see page 302)

{0 | 1}

:FUNCtion[:FFT]:CENTe
r <frequency> (see page 303)

:FUNCtion[:FFT]:CENTe r? (see page 303)

<frequency> ::= the current center frequency in NR3 format. The range of legal values is from 0 Hz to 25 GHz.

:FUNCtion[:FFT]:PHASe
:REFerence
<ref_point> (see page 304)

:FUNCtion[:FFT]:PHASe
:REFerence? (see page 304)

<ref_point> ::= {TRIGger | DISPlay}

:FUNCtion[:FFT]:SPAN <span> (see page 305)

:FUNCtion[:FFT]:SPAN? <span> ::= the current frequency

(see page 305)

span in NR3 format.

Legal values are 1 Hz to 100 GHz.

:FUNCtion[:FFT]:VTYPe <units> (see page 306)

:FUNCtion[:FFT]:VTYPe ? (see page 306)

<units> ::= {DECibel | VRMS} for the FFT (magnitude) operation
<units> ::= {DEGRees | RADians} for the FFTPhase operation

:FUNCtion[:FFT]:WINDo :FUNCtion[:FFT]:WINDo <window> ::= {RECTangular |

w <window> (see

w? (see page 307)

HANNing | FLATtop | BHARris}

page 307)

:FUNCtion:FREQuency:L :FUNCtion:FREQuency:L <3dB_freq> ::= 3dB cutoff

OWPass <3dB_freq>

OWPass? (see page 308) frequency value in NR3 format

(see page 308)

:FUNCtion:GOFT:OPERat :FUNCtion:GOFT:OPERat <operation> ::= {ADD | SUBTract |

ion <operation> (see ion? (see page 309)

MULTiply}

page 309)

:FUNCtion:GOFT:SOURce :FUNCtion:GOFT:SOURce <source> ::= CHANnel<n>

1 <source> (see page 310)

1? (see page 310)

<n> ::= 1 to (# analog channels) in NR1 format

:FUNCtion:GOFT:SOURce :FUNCtion:GOFT:SOURce <source> ::= CHANnel<n>

2 <source> (see page 311)

2? (see page 311)

<n> ::= 1 to (# analog channels) in NR1 format

:FUNCtion:OFFSet
<offset> (see page 312)

:FUNCtion:OFFSet? (see page 312)

<offset> ::= the value at center screen in NR3 format.
The range of legal values is +/-10 times the current sensitivity of the selected function.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

71

4 Commands Quick Reference

Table 14 :FUNCtion Commands Summary (continued)

Command

Query

Options and Query Returns

:FUNCtion:OPERation
<operation> (see page 313)

:FUNCtion:OPERation? (see page 313)

<operation> ::= {ADD | SUBTract | MULTiply | DIVide | FFT | FFTPhase | LOWPass}

:FUNCtion:RANGe <range> (see page 315)

:FUNCtion:RANGe? (see page 315)

<range> ::= the full-scale vertical axis value in NR3 format.
The range for ADD, SUBT, MULT is 8E-6 to 800E+3.
The range for the FFT function is 8 to 800 dBV.

:FUNCtion:REFerence :FUNCtion:REFerence? <level> (see page 316) (see page 316)

<level> ::= the value at center screen in NR3 format.
The range of legal values is +/-10 times the current sensitivity of the selected function.

:FUNCtion:SCALe
<scale
value>[<suffix>] (see page 317)

:FUNCtion:SCALe? (see page 317)

<scale value> ::= integer in NR1 format
<suffix> ::= {V | dB}

:FUNCtion:SOURce1
<source> (see page 318)

:FUNCtion:SOURce1? (see page 318)

<source> ::= {CHANnel<n> | GOFT} <n> ::= 1 to (# analog channels) in NR1 format GOFT is only for FFT operation.

:FUNCtion:SOURce2
<source> (see page 319)

:FUNCtion:SOURce2? (see page 319)

<source> ::= {CHANnel<n> | NONE}
<n> ::= 1 to (# analog channels) in NR1 format, depending on SOURce1 selection

Table 15 :HARDcopy Commands Summary

Command

Query

:HARDcopy:AREA <area> :HARDcopy:AREA? (see

(see page 323)

page 323)

:HARDcopy:APRinter
<active_printer> (see page 324)

:HARDcopy:APRinter? (see page 324)

Options and Query Returns <area> ::= SCReen
<active_printer> ::= {<index> | <name>} <index> ::= integer index of printer in list <name> ::= name of printer in list

72

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 15 :HARDcopy Commands Summary (continued)

Command

Query

Options and Query Returns

:HARDcopy:FACTors {{0
| OFF} | {1 | ON}} (see page 325)

:HARDcopy:FACTors? (see page 325)

{0 | 1}

:HARDcopy:FFEed {{0 |
OFF} | {1 | ON}} (see page 326)

:HARDcopy:FFEed? (see page 326)

{0 | 1}

:HARDcopy:INKSaver
{{0 | OFF} | {1 | ON}} (see page 327)

:HARDcopy:INKSaver? (see page 327)

{0 | 1}

:HARDcopy:LAYout
<layout> (see page 328)

:HARDcopy:LAYout? (see page 328)

<layout> ::= {LANDscape | PORTrait}

:HARDcopy:NETWork:ADD :HARDcopy:NETWork:ADD <address> ::= quoted ASCII string Ress <address> (see Ress? (see page 329) page 329)

:HARDcopy:NETWork:APP n/a

n/a

Ly (see page 330)

:HARDcopy:NETWork:SLO :HARDcopy:NETWork:SLO <slot> ::= {NET0 | NET1}

T <slot> (see

T? (see page 331)

page 331)

:HARDcopy:PALette
<palette> (see page 332)

:HARDcopy:PALette? (see page 332)

<palette> ::= {COLor | GRAYscale | NONE}

n/a

:HARDcopy:PRINter:LIS <list> ::= [<printer_spec>] ...

T? (see page 333)

[printer_spec>]

<printer_spec> ::= "<index>,<active>,<name>;"

<index> ::= integer index of printer

<active> ::= {Y | N}

<name> ::= name of printer

:HARDcopy:STARt (see n/a

n/a

page 334)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

73

4 Commands Quick Reference

Table 16 :LISTer Commands Summary

Command

Query

Options and Query Returns

n/a

:LISTer:DATA? (see

<binary_block> ::=

page 336)

comma-separated data with

newlines at the end of each row

:LISTer:DISPlay {{OFF
| 0} | {SBUS1 | ON | 1}} (see page 337)

:LISTer:DISPlay? (see page 337)

{OFF | SBUS1}

:LISTer:REFerence
<time_ref> (see page 338)

:LISTer:REFerence? (see page 338)

<time_ref> ::= {TRIGger | PREVious}

Table 17 :MARKer Commands Summary

Command

Query

:MARKer:MODE <mode> (see page 342)

:MARKer:MODE? (see page 342)

:MARKer:X1Position
<position>[suffix] (see page 343)

:MARKer:X1Position? (see page 343)

:MARKer:X1Y1source
<source> (see page 344)

:MARKer:X1Y1source? (see page 344)

:MARKer:X2Position
<position>[suffix] (see page 345)

:MARKer:X2Position? (see page 345)

Options and Query Returns
<mode> ::= {OFF | MEASurement | MANual | WAVeform}
<position> ::= X1 cursor position value in NR3 format
[suffix] ::= {s | ms | us | ns | ps | Hz | kHz | MHz}
<return_value> ::= X1 cursor position value in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
On 2-channel oscilloscopes, EXTernal available for MANUAL mode only
<return_value> ::= <source>
<position> ::= X2 cursor position value in NR3 format
[suffix] ::= {s | ms | us | ns | ps | Hz | kHz | MHz}
<return_value> ::= X2 cursor position value in NR3 format

74

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 17 :MARKer Commands Summary (continued)

Command

Query

:MARKer:X2Y2source
<source> (see page 346)

:MARKer:X2Y2source? (see page 346)

n/a
:MARKer:XUNits <mode> (see page 348)
:MARKer:XUNits:USE (see page 349)
:MARKer:Y1Position <position>[suffix] (see page 350)

:MARKer:XDELta? (see page 347)
:MARKer:XUNits? (see page 348)
n/a
:MARKer:Y1Position? (see page 350)

:MARKer:Y2Position
<position>[suffix] (see page 351)

:MARKer:Y2Position? (see page 351)

n/a
:MARKer:YUNits <mode> (see page 353) :MARKer:YUNits:USE (see page 354)

:MARKer:YDELta? (see page 352)
:MARKer:YUNits? (see page 353)
n/a

Options and Query Returns <source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1-2 in NR1 format <return_value> ::= <source>
<return_value> ::= X cursors delta value in NR3 format
<units> ::= {SEConds | HERTz | DEGRees | PERCent}
n/a
<position> ::= Y1 cursor position value in NR3 format [suffix] ::= {V | mV | dB} <return_value> ::= Y1 cursor position value in NR3 format
<position> ::= Y2 cursor position value in NR3 format [suffix] ::= {V | mV | dB} <return_value> ::= Y2 cursor position value in NR3 format
<return_value> ::= Y cursors delta value in NR3 format
<units> ::= {BASE | PERCent}
n/a

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

75

4 Commands Quick Reference

Table 18 :MEASure Commands Summary

Command

Query

Options and Query Returns

:MEASure:ALL (see

n/a

n/a

page 366)

:MEASure:BRATe
[<source>] (see page 367)

:MEASure:BRATe?
[<source>] (see page 367)

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# of analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<return_value> ::= bit rate in Hz, NR3 format

:MEASure:CLEar (see n/a

n/a

page 368)

:MEASure:COUNter
[<source>] (see page 369)

:MEASure:COUNter?
[<source>] (see page 369)

<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<return_value> ::= counter frequency in Hertz in NR3 format

:MEASure:DEFine
DELay, <delay
spec>[,<source>] (see page 370)

:MEASure:DEFine?
DELay[,<source>] (see page 371)

<delay spec> ::= <edge_spec1>,<edge_spec2>
edge_spec1 ::= [<slope>]<occurrence>
edge_spec2 ::= [<slope>]<occurrence>
<slope> ::= {+ | -}
<occurrence> ::= integer
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}

:MEASure:DEFine
THResholds,
<threshold
spec>[,<source>] (see page 370)

:MEASure:DEFine?
THResholds[,<source>] (see page 371)

<threshold spec> ::= {STANdard} | {<threshold mode>,<upper>, <middle>,<lower>}
<threshold mode> ::= {PERCent | ABSolute}
<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}

76

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 18 :MEASure Commands Summary (continued)

Command

Query

:MEASure:DELay
[<source1>]
[,<source2>] (see page 373)

:MEASure:DELay?
[<source1>]
[,<source2>] (see page 373)

:MEASure:DUTYcycle
[<source>] (see page 375)

:MEASure:DUTYcycle?
[<source>] (see page 375)

:MEASure:FALLtime
[<source>] (see page 376)

:MEASure:FALLtime?
[<source>] (see page 376)

:MEASure:FREQuency
[<source>] (see page 377)

:MEASure:FREQuency?
[<source>] (see page 377)

Options and Query Returns
<source1,2> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= floating-point number delay time in seconds in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
EXTernal available on 2-channel oscilloscopes only
<return_value> ::= ratio of positive pulse width to period in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= time in seconds between the lower and upper thresholds in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
EXTernal available on 2-channel oscilloscopes only
<return_value> ::= frequency in Hertz in NR3 format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

77

4 Commands Quick Reference

Table 18 :MEASure Commands Summary (continued)

Command

Query

:MEASure:NDUTy
[<source>] (see page 378)

:MEASure:NDUTy?
[<source>] (see page 378)

:MEASure:NEDGes
[<source>] (see page 379)

:MEASure:NEDGes?
[<source>] (see page 379)

:MEASure:NPULses
[<source>] (see page 380)

:MEASure:NPULses?
[<source>] (see page 380)

:MEASure:NWIDth
[<source>] (see page 381)

:MEASure:NWIDth?
[<source>] (see page 381)

Options and Query Returns
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
EXTernal available on 2-channel oscilloscopes only
<return_value> ::= ratio of negative pulse width to period in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the falling edge count in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the falling pulse count in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
EXTernal available on 2-channel oscilloscopes only
<return_value> ::= negative pulse width in seconds in NR3 format

78

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 18 :MEASure Commands Summary (continued)

Command

Query

:MEASure:OVERshoot
[<source>] (see page 382)

:MEASure:OVERshoot?
[<source>] (see page 382)

:MEASure:PEDGes
[<source>] (see page 384)

:MEASure:PEDGes?
[<source>] (see page 384)

:MEASure:PERiod
[<source>] (see page 385)

:MEASure:PERiod?
[<source>] (see page 385)

:MEASure:PHASe
[<source1>]
[,<source2>] (see page 386)

:MEASure:PHASe?
[<source1>]
[,<source2>] (see page 386)

:MEASure:PPULses
[<source>] (see page 387)

:MEASure:PPULses?
[<source>] (see page 387)

Options and Query Returns
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the percent of the overshoot of the selected waveform in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the rising edge count in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
EXTernal available on 2-channel oscilloscopes only
<return_value> ::= waveform period in seconds in NR3 format
<source1,2> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the phase angle value in degrees in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the rising pulse count in NR3 format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

79

4 Commands Quick Reference

Table 18 :MEASure Commands Summary (continued)

Command

Query

:MEASure:PREShoot
[<source>] (see page 388)

:MEASure:PREShoot?
[<source>] (see page 388)

:MEASure:PWIDth
[<source>] (see page 389)

:MEASure:PWIDth?
[<source>] (see page 389)

n/a
:MEASure:RISetime [<source>] (see page 391)

:MEASure:RESults? <result_list> (see page 390)
:MEASure:RISetime? [<source>] (see page 391)

:MEASure:SDEViation
[<source>] (see page 392)

:MEASure:SDEViation?
[<source>] (see page 392)

:MEASure:SHOW {1 | ON} (see page 393)

:MEASure:SHOW? (see page 393)

Options and Query Returns
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the percent of preshoot of the selected waveform in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
EXTernal available on 2-channel oscilloscopes only
<return_value> ::= width of positive pulse in seconds in NR3 format
<result_list> ::= comma-separated list of measurement results
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= rise time in seconds in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<return_value> ::= calculated std deviation in NR3 format
{1}

80

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 18 :MEASure Commands Summary (continued)

Command

Query

Options and Query Returns

:MEASure:SOURce
<source1>
[,<source2>] (see page 394)

:MEASure:SOURce? (see page 394)

<source1,2> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= {<source> | NONE}

n/a

:MEASure:TEDGe?

<slope> ::= direction of the

<slope><occurrence>[, waveform

<source>] (see page 396)

<occurrence> ::= the transition to be reported

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}

<n> ::= 1 to (# analog channels) in NR1 format

<r> ::= 1-2 in NR1 format

EXTernal available on 2-channel oscilloscopes only

<return_value> ::= time in seconds of the specified transition

n/a

:MEASure:TVALue?

<value> ::= voltage level that

<value>,

the waveform must cross.

[<slope>]<occurrence>
[,<source>] (see page 398)

<slope> ::= direction of the waveform when <value> is crossed.
<occurrence> ::= transitions

reported.

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}

<n> ::= 1 to (# analog channels) in NR1 format

<r> ::= 1-2 in NR1 format

<return_value> ::= time in seconds of specified voltage crossing in NR3 format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

81

4 Commands Quick Reference

Table 18 :MEASure Commands Summary (continued)

Command

Query

Options and Query Returns

:MEASure:VAMPlitude
[<source>] (see page 400)

:MEASure:VAMPlitude?
[<source>] (see page 400)

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the amplitude of the selected waveform in volts in NR3 format

:MEASure:VAVerage
[<interval>][,][<sour ce>] (see page 401)

:MEASure:VAVerage?
[<interval>][,][<sour ce>] (see page 401)

<interval> ::= {CYCLe | DISPlay}
<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= calculated average voltage in NR3 format

:MEASure:VBASe
[<source>] (see page 402)

:MEASure:VBASe?
[<source>] (see page 402)

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<base_voltage> ::= voltage at the base of the selected waveform in NR3 format

:MEASure:VMAX
[<source>] (see page 403)

:MEASure:VMAX?
[<source>] (see page 403)

<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= maximum voltage of the selected waveform in NR3 format

82

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 18 :MEASure Commands Summary (continued)

Command

Query

:MEASure:VMIN
[<source>] (see page 404)

:MEASure:VMIN?
[<source>] (see page 404)

:MEASure:VPP
[<source>] (see page 405)

:MEASure:VPP?
[<source>] (see page 405)

:MEASure:VRMS
[<interval>][,]
[<type>][,]
[<source>] (see page 406)

:MEASure:VRMS?
[<interval>][,]
[<type>][,]
[<source>] (see page 406)

n/a

:MEASure:VTIMe?

<vtime>[,<source>] (see page 407)

Options and Query Returns
<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= minimum voltage of the selected waveform in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= voltage peak-to-peak of the selected waveform in NR3 format
<interval> ::= {CYCLe | DISPlay}
<type> ::= {AC | DC}
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= calculated dc RMS voltage in NR3 format
<vtime> ::= displayed time from trigger in seconds in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
EXTernal available on 2-channel oscilloscopes only
<return_value> ::= voltage at the specified time in NR3 format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

83

4 Commands Quick Reference

Table 18 :MEASure Commands Summary (continued)

Command

Query

Options and Query Returns

:MEASure:VTOP
[<source>] (see page 408)

:MEASure:VTOP?
[<source>] (see page 408)

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= voltage at the top of the waveform in NR3 format

:MEASure:WINDow

:MEASure:WINDow? (see <type> ::= {MAIN | ZOOM | AUTO}

<type> (see page 409) page 409)

:MEASure:XMAX
[<source>] (see page 410)

:MEASure:XMAX?
[<source>] (see page 410)

<source> ::= {CHANnel<n> | FUNCtion | FFT | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<return_value> ::= horizontal value of the maximum in NR3 format

:MEASure:XMIN
[<source>] (see page 411)

:MEASure:XMIN?
[<source>] (see page 411)

<source> ::= {CHANnel<n> | FUNCtion | FFT | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<return_value> ::= horizontal value of the maximum in NR3 format

Table 19 :MTESt Commands Summary

Command

Query

:MTESt:ALL {{0 | OFF}
| {1 | ON}} (see page 418)

:MTESt:ALL? (see page 418)

:MTESt:AMASk:CREate n/a (see page 419)

Options and Query Returns {0 | 1}
n/a

84

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 19 :MTESt Commands Summary (continued)

Command

Query

Options and Query Returns

:MTESt:AMASk:SOURce
<source> (see page 420)

:MTESt:AMASk:SOURce? (see page 420)

<source> ::= CHANnel<n> <n> ::= {1 | 2 | 3 | 4} for 4ch models <n> ::= {1 | 2} for 2ch models

:MTESt:AMASk:UNITs

:MTESt:AMASk:UNITs?

<units> (see page 421) (see page 421)

<units> ::= {CURRent | DIVisions}

:MTESt:AMASk:XDELta :MTESt:AMASk:XDELta? <value> ::= X delta value in NR3

<value> (see page 422) (see page 422)

format

:MTESt:AMASk:YDELta :MTESt:AMASk:YDELta? <value> ::= Y delta value in NR3

<value> (see page 423) (see page 423)

format

n/a

:MTESt:COUNt:FWAVefor <failed> ::= number of failed

ms? [CHANnel<n>] (see waveforms in NR1 format page 424)

:MTESt:COUNt:RESet

n/a

n/a

(see page 425)

n/a

:MTESt:COUNt:TIME?

<time> ::= elapsed seconds in NR3

(see page 426)

format

n/a

:MTESt:COUNt:WAVeform <count> ::= number of waveforms

s? (see page 427)

in NR1 format

:MTESt:DATA <mask> (see page 428)

:MTESt:DATA? (see page 428)

<mask> ::= data in IEEE 488.2 # format.

:MTESt:DELete (see

n/a

n/a

page 429)

:MTESt:ENABle {{0 |
OFF} | {1 | ON}} (see page 430)

:MTESt:ENABle? (see page 430)

{0 | 1}

:MTESt:LOCK {{0 |
OFF} | {1 | ON}} (see page 431)

:MTESt:LOCK? (see page 431)

{0 | 1}

:MTESt:RMODe <rmode> :MTESt:RMODe? (see

(see page 432)

page 432)

<rmode> ::= {FORever | TIME | SIGMa | WAVeforms}

:MTESt:RMODe:FACTion:
MEASure {{0 | OFF} |
{1 | ON}} (see page 433)

:MTESt:RMODe:FACTion:
MEASure? (see page 433)

{0 | 1}

:MTESt:RMODe:FACTion: :MTESt:RMODe:FACTion: {0 | 1} PRINt {{0 | OFF} | {1 PRINt? (see page 434) | ON}} (see page 434)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

85

4 Commands Quick Reference

Table 19 :MTESt Commands Summary (continued)

Command

Query

Options and Query Returns

:MTESt:RMODe:FACTion: :MTESt:RMODe:FACTion: {0 | 1} SAVE {{0 | OFF} | {1 SAVE? (see page 435) | ON}} (see page 435)

:MTESt:RMODe:FACTion: :MTESt:RMODe:FACTion: {0 | 1} STOP {{0 | OFF} | {1 STOP? (see page 436) | ON}} (see page 436)

:MTESt:RMODe:SIGMa

:MTESt:RMODe:SIGMa?

<level> (see page 437) (see page 437)

<level> ::= from 0.1 to 9.3 in NR3 format

:MTESt:RMODe:TIME
<seconds> (see page 438)

:MTESt:RMODe:TIME? (see page 438)

<seconds> ::= from 1 to 86400 in NR3 format

:MTESt:RMODe:WAVeform :MTESt:RMODe:WAVeform <count> ::= number of waveforms

s <count> (see

s? (see page 439)

in NR1 format

page 439)

:MTESt:SCALe:BIND {{0
| OFF} | {1 | ON}} (see page 440)

:MTESt:SCALe:BIND? (see page 440)

{0 | 1}

:MTESt:SCALe:X1
<x1_value> (see page 441)

:MTESt:SCALe:X1? (see <x1_value> ::= X1 value in NR3

page 441)

format

:MTESt:SCALe:XDELta
<xdelta_value> (see page 442)

:MTESt:SCALe:XDELta? <xdelta_value> ::= X delta value

(see page 442)

in NR3 format

:MTESt:SCALe:Y1
<y1_value> (see page 443)

:MTESt:SCALe:Y1? (see <y1_value> ::= Y1 value in NR3

page 443)

format

:MTESt:SCALe:Y2
<y2_value> (see page 444)

:MTESt:SCALe:Y2? (see <y2_value> ::= Y2 value in NR3

page 444)

format

:MTESt:SOURce
<source> (see page 445)

:MTESt:SOURce? (see page 445)

<source> ::= {CHANnel<n> | NONE} <n> ::= {1 | 2 | 3 | 4} for 4ch models <n> ::= {1 | 2} for 2ch models

n/a

:MTESt:TITLe? (see

<title> ::= a string of up to 128

page 446)

ASCII characters

86

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 20 :RECall Commands Summary

Command

Query

:RECall:FILename
<base_name> (see page 449)

:RECall:FILename? (see page 449)

:RECall:MASK[:STARt] n/a
[<file_spec>] (see page 450)

:RECall:PWD
<path_name> (see page 451)

:RECall:PWD? (see page 451)

:RECall:SETup[:STARt] n/a
[<file_spec>] (see page 452)

:RECall:WMEMory<r>[:S n/a
TARt] [<file_name>] (see page 453)

Options and Query Returns
<base_name> ::= quoted ASCII string
<file_spec> ::= {<internal_loc> | <file_name>} <internal_loc> ::= 0-3; an integer in NR1 format <file_name> ::= quoted ASCII string
<path_name> ::= quoted ASCII string
<file_spec> ::= {<internal_loc> | <file_name>} <internal_loc> ::= 0-9; an integer in NR1 format <file_name> ::= quoted ASCII string
<r> ::= 1-2 in NR1 format <file_name> ::= quoted ASCII string If extension included in file name, it must be ".h5".

Table 21 :SAVE Commands Summary

Command

Query

:SAVE:FILename
<base_name> (see page 458)

:SAVE:FILename? (see page 458)

:SAVE:IMAGe[:STARt] n/a
[<file_name>] (see page 459)

:SAVE:IMAGe:FACTors
{{0 | OFF} | {1 | ON}} (see page 460)

:SAVE:IMAGe:FACTors? (see page 460)

:SAVE:IMAGe:FORMat
<format> (see page 461)

:SAVE:IMAGe:FORMat? (see page 461)

Options and Query Returns <base_name> ::= quoted ASCII string
<file_name> ::= quoted ASCII string
{0 | 1}
<format> ::= {{BMP | BMP24bit} | BMP8bit | PNG | NONE}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

87

4 Commands Quick Reference

Table 21 :SAVE Commands Summary (continued)

Command

Query

Options and Query Returns

:SAVE:IMAGe:INKSaver
{{0 | OFF} | {1 | ON}} (see page 462)

:SAVE:IMAGe:INKSaver? {0 | 1} (see page 462)

:SAVE:IMAGe:PALette
<palette> (see page 463)

:SAVE:IMAGe:PALette? <palette> ::= {COLor | GRAYscale} (see page 463)

:SAVE:LISTer[:STARt] n/a
[<file_name>] (see page 464)

<file_name> ::= quoted ASCII string

:SAVE:MASK[:STARt]

n/a

[<file_spec>] (see page 465)

<file_spec> ::= {<internal_loc> | <file_name>}
<internal_loc> ::= 0-3; an integer in NR1 format
<file_name> ::= quoted ASCII string

:SAVE:MULTi[:STARt] n/a
[<file_name>] (see page 466)

<file_name> ::= quoted ASCII string

:SAVE:PWD <path_name> :SAVE:PWD? (see

(see page 467)

page 467)

<path_name> ::= quoted ASCII string

:SAVE:SETup[:STARt] n/a
[<file_spec>] (see page 468)

<file_spec> ::= {<internal_loc> | <file_name>}
<internal_loc> ::= 0-9; an integer in NR1 format
<file_name> ::= quoted ASCII string

:SAVE:WAVeform[:STARt n/a
] [<file_name>] (see page 469)

<file_name> ::= quoted ASCII string

:SAVE:WAVeform:FORMat :SAVE:WAVeform:FORMat <format> ::= {ASCiixy | CSV |

<format> (see

? (see page 470)

BINary | NONE}

page 470)

:SAVE:WAVeform:LENGth :SAVE:WAVeform:LENGth <length> ::= 100 to max. length;

<length> (see

? (see page 471)

an integer in NR1 format

page 471)

:SAVE:WAVeform:LENGth :SAVE:WAVeform:LENGth {0 | 1} :MAX {{0 | OFF} | {1 :MAX? (see page 472) | ON}} (see page 472)

88

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 21 :SAVE Commands Summary (continued)

Command

Query

Options and Query Returns

:SAVE:WAVeform:SEGMen :SAVE:WAVeform:SEGMen <option> ::= {ALL | CURRent}

ted <option> (see

ted? (see page 473)

page 473)

:SAVE:WMEMory:SOURce
<source> (see page 474)

:SAVE:WMEMory:SOURce? (see page 474)

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
NOTE: Only ADD or SUBtract math operations can be saved as reference waveforms.
<return_value> ::= <source>

:SAVE:WMEMory[:STARt] n/a
[<file_name>] (see page 475)

<file_name> ::= quoted ASCII string
If extension included in file name, it must be ".h5".

Table 22 General :SBUS<n> Commands Summary

Command

Query

:SBUS<n>:DISPlay {{0
| OFF} | {1 | ON}} (see page 480)

:SBUS<n>:DISPlay? (see page 480)

:SBUS<n>:MODE <mode> :SBUS<n>:MODE? (see

(see page 481)

page 481)

Options and Query Returns {0 | 1}
<mode> ::= {CAN | IIC | LIN | SPI | UART}

Table 23 :SBUS<n>:CAN Commands Summary

Command

Query

Options and Query Returns

n/a

:SBUS<n>:CAN:COUNt:ER <frame_count> ::= integer in NR1

Ror? (see page 484)

format

n/a

:SBUS<n>:CAN:COUNt:OV <frame_count> ::= integer in NR1

ERload? (see page 485) format

:SBUS<n>:CAN:COUNt:RE n/a

n/a

Set (see page 486)

n/a

:SBUS<n>:CAN:COUNt:TO <frame_count> ::= integer in NR1

Tal? (see page 487)

format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

89

4 Commands Quick Reference

Table 23 :SBUS<n>:CAN Commands Summary (continued)

Command

Query

Options and Query Returns

n/a

:SBUS<n>:CAN:COUNt:UT <percent> ::= floating-point in

ILization? (see page 488)

NR3 format

:SBUS<n>:CAN:SAMPlepo :SBUS<n>:CAN:SAMPlepo <value> ::= {60 | 62.5 | 68 | 70

int <value> (see

int? (see page 489)

| 75 | 80 | 87.5} in NR3 format

page 489)

:SBUS<n>:CAN:SIGNal:B :SBUS<n>:CAN:SIGNal:B <baudrate> ::= integer from 10000

AUDrate <baudrate> (see page 490)

AUDrate? (see page 490)

to 4000000 in 100 b/s increments, or 5000000

:SBUS<n>:CAN:SIGNal:D :SBUS<n>:CAN:SIGNal:D <value> ::= {CANH | CANL | RX |

EFinition <value> (see page 491)

EFinition? (see page 491)

TX | DIFFerential | DIFL | DIFH}

:SBUS<n>:CAN:SOURce
<source> (see page 492)

:SBUS<n>:CAN:SOURce? (see page 492)

<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:CAN:TRIGger
<condition> (see page 493)

:SBUS<n>:CAN:TRIGger? (see page 494)

<condition> ::= {SOF | DATA | ERRor | IDData | IDEither | IDRemote | ALLerrors | OVERload | ACKerror}

:SBUS<n>:CAN:TRIGger:
PATTern:DATA <string> (see page 495)

:SBUS<n>:CAN:TRIGger:
PATTern:DATA? (see page 495)

<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

:SBUS<n>:CAN:TRIGger:
PATTern:DATA:LENGth
<length> (see page 496)

:SBUS<n>:CAN:TRIGger:
PATTern:DATA:LENGth? (see page 496)

<length> ::= integer from 1 to 8 in NR1 format

:SBUS<n>:CAN:TRIGger:
PATTern:ID <string> (see page 497)

:SBUS<n>:CAN:TRIGger:
PATTern:ID? (see page 497)

<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

:SBUS<n>:CAN:TRIGger: :SBUS<n>:CAN:TRIGger: <value> ::= {STANdard | EXTended}

PATTern:ID:MODE

PATTern:ID:MODE? (see

<value> (see page 498) page 498)

90

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 24 :SBUS<n>:IIC Commands Summary

Command

Query

Options and Query Returns

:SBUS<n>:IIC:ASIZe

:SBUS<n>:IIC:ASIZe?

<size> (see page 500) (see page 500)

<size> ::= {BIT7 | BIT8}

:SBUS<n>:IIC[:SOURce]
:CLOCk <source> (see page 501)

:SBUS<n>:IIC[:SOURce] :CLOCk? (see page 501)

<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:IIC[:SOURce]
:DATA <source> (see page 502)

:SBUS<n>:IIC[:SOURce] :DATA? (see page 502)

<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:IIC:TRIGger: :SBUS<n>:IIC:TRIGger: <value> ::= integer or <string>

PATTern:ADDRess <value> (see page 503)

PATTern:ADDRess? (see page 503)

<string> ::= "0xnn" n ::= {0,..,9 | A,..,F}

:SBUS<n>:IIC:TRIGger: :SBUS<n>:IIC:TRIGger: <value> ::= integer or <string>

PATTern:DATA <value> PATTern:DATA? (see

(see page 504)

page 504)

<string> ::= "0xnn" n ::= {0,..,9 | A,..,F}

:SBUS<n>:IIC:TRIGger: :SBUS<n>:IIC:TRIGger: <value> ::= integer or <string>

PATTern:DATa2 <value> PATTern:DATa2? (see

(see page 505)

page 505)

<string> ::= "0xnn" n ::= {0,..,9 | A,..,F}

:SBUS<n>:IIC:TRIGger: :SBUS<n>:IIC:TRIGger: <value> ::= {EQUal | NOTequal |

QUALifier <value> (see page 506)

QUALifier? (see page 506)

LESSthan | GREaterthan}

:SBUS<n>:IIC:TRIGger[
:TYPE] <type> (see page 507)

:SBUS<n>:IIC:TRIGger[ :TYPE]? (see page 507)

<type> ::= {STARt | STOP | READ7 | READEprom | WRITe7 | WRITe10 | NACKnowledge | ANACk | R7Data2 | W7Data2 | RESTart}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

91

4 Commands Quick Reference

Table 25 :SBUS<n>:LIN Commands Summary

Command

Query

Options and Query Returns

:SBUS<n>:LIN:PARity
{{0 | OFF} | {1 | ON}} (see page 511)

:SBUS<n>:LIN:PARity? {0 | 1} (see page 511)

:SBUS<n>:LIN:SAMPlepo :SBUS<n>:LIN:SAMPlepo <value> ::= {60 | 62.5 | 68 | 70

int <value> (see

int? (see page 512)

| 75 | 80 | 87.5} in NR3 format

page 512)

:SBUS<n>:LIN:SIGNal:B :SBUS<n>:LIN:SIGNal:B <baudrate> ::= integer from 2400

AUDrate <baudrate> (see page 513)

AUDrate? (see page 513)

to 625000 in 100 b/s increments

:SBUS<n>:LIN:SOURce
<source> (see page 514)

:SBUS<n>:LIN:SOURce? (see page 514)

<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:LIN:STANdard :SBUS<n>:LIN:STANdard <std> ::= {LIN13 | LIN20}

<std> (see page 515)

? (see page 515)

:SBUS<n>:LIN:SYNCbrea :SBUS<n>:LIN:SYNCbrea <value> ::= integer = {11 | 12 |

k <value> (see

k? (see page 516)

13}

page 516)

:SBUS<n>:LIN:TRIGger
<condition> (see page 517)

:SBUS<n>:LIN:TRIGger? <condition> ::= {SYNCbreak | ID |

(see page 517)

DATA}

:SBUS<n>:LIN:TRIGger:
ID <value> (see page 518)

:SBUS<n>:LIN:TRIGger: ID? (see page 518)

<value> ::= 7-bit integer in decimal, <nondecimal>, or <string> from 0-63 or 0x00-0x3f
<nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal
<nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F} for hexadecimal

92

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 25 :SBUS<n>:LIN Commands Summary (continued)

Command

Query

Options and Query Returns

:SBUS<n>:LIN:TRIGger:
PATTern:DATA <string> (see page 519)

:SBUS<n>:LIN:TRIGger:
PATTern:DATA? (see page 519)

<string> ::= "n" where n ::= 32-bit integer in unsigned decimal when <base> = DECimal
<string> ::= "nn...n" where n ::= {0 | 1 | X | $} when <base> = BINary
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $} when <base> = HEX

:SBUS<n>:LIN:TRIGger:
PATTern:DATA:LENGth
<length> (see page 521)

:SBUS<n>:LIN:TRIGger:
PATTern:DATA:LENGth? (see page 521)

<length> ::= integer from 1 to 8 in NR1 format

:SBUS<n>:LIN:TRIGger: :SBUS<n>:LIN:TRIGger: <base> ::= {BINary | HEX |

PATTern:FORMat <base> PATTern:FORMat? (see DECimal}

(see page 522)

page 522)

Table 26 :SBUS<n>:SPI Commands Summary

Command

Query

Options and Query Returns

:SBUS<n>:SPI:BITorder :SBUS<n>:SPI:BITorder <order> ::= {LSBFirst | MSBFirst} <order> (see page 525) ? (see page 525)

:SBUS<n>:SPI:CLOCk:SL :SBUS<n>:SPI:CLOCk:SL <slope> ::= {NEGative | POSitive}

OPe <slope> (see

OPe? (see page 526)

page 526)

:SBUS<n>:SPI:CLOCk:TI :SBUS<n>:SPI:CLOCk:TI <time_value> ::= time in seconds

Meout <time_value>

Meout? (see page 527) in NR3 format

(see page 527)

:SBUS<n>:SPI:FRAMing :SBUS<n>:SPI:FRAMing? <value> ::= {CHIPselect |

<value> (see page 528) (see page 528)

{NCHipselect | NOTC} | TIMeout}

:SBUS<n>:SPI:SOURce:C
LOCk <source> (see page 529)

:SBUS<n>:SPI:SOURce:C LOCk? (see page 529)

<value> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

93

4 Commands Quick Reference

Table 26 :SBUS<n>:SPI Commands Summary (continued)

Command

Query

Options and Query Returns

:SBUS<n>:SPI:SOURce:D
ATA <source> (see page 530)

:SBUS<n>:SPI:SOURce:D ATA? (see page 530)

<value> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:SPI:SOURce:F
RAMe <source> (see page 531)

:SBUS<n>:SPI:SOURce:F RAMe? (see page 531)

<value> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:SPI:SOURce:M :SBUS<n>:SPI:SOURce:M <value> ::= {CHANnel<n>}

ISO <source> (see page 532)

ISO? (see page 532)

<n> ::= 1 to (# analog channels) in NR1 format

:SBUS<n>:SPI:SOURce:M :SBUS<n>:SPI:SOURce:M <value> ::= {CHANnel<n>}

OSI <source> (see page 533)

OSI? (see page 533)

<n> ::= 1 to (# analog channels) in NR1 format

:SBUS<n>:SPI:TRIGger:
PATTern:DATA <string> (see page 534)

:SBUS<n>:SPI:TRIGger:
PATTern:DATA? (see page 534)

<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

:SBUS<n>:SPI:TRIGger:
PATTern:MISO:DATA
<string> (see page 535)

:SBUS<n>:SPI:TRIGger:
PATTern:MISO:DATA? (see page 535)

<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

:SBUS<n>:SPI:TRIGger: :SBUS<n>:SPI:TRIGger: <width> ::= integer from 4 to 64

PATTern:MISO:WIDTh

PATTern:MISO:WIDTh?

<width> (see page 536) (see page 536)

in NR1 format

:SBUS<n>:SPI:TRIGger:
PATTern:MOSI:DATA
<string> (see page 537)

:SBUS<n>:SPI:TRIGger:
PATTern:MOSI:DATA? (see page 537)

<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

:SBUS<n>:SPI:TRIGger: :SBUS<n>:SPI:TRIGger: <width> ::= integer from 4 to 64

PATTern:MOSI:WIDTh

PATTern:MOSI:WIDTh?

<width> (see page 538) (see page 538)

in NR1 format

94

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 26 :SBUS<n>:SPI Commands Summary (continued)

Command

Query

Options and Query Returns

:SBUS<n>:SPI:TRIGger: :SBUS<n>:SPI:TRIGger: <width> ::= integer from 4 to 64

PATTern:WIDTh <width> PATTern:WIDTh? (see

(see page 539)

page 539)

in NR1 format

:SBUS<n>:SPI:TRIGger: :SBUS<n>:SPI:TRIGger: <value> ::= {MOSI | MISO}

TYPE <value> (see

TYPE? (see page 540)

page 540)

:SBUS<n>:SPI:WIDTh
<word_width> (see page 541)

:SBUS<n>:SPI:WIDTh? (see page 541)

<word_width> ::= integer 4-16 in NR1 format

Table 27 :SBUS<n>:UART Commands Summary

Command

Query

Options and Query Returns

:SBUS<n>:UART:BASE

:SBUS<n>:UART:BASE?

<base> (see page 545) (see page 545)

<base> ::= {ASCii | BINary | HEX}

:SBUS<n>:UART:BAUDrat :SBUS<n>:UART:BAUDrat <baudrate> ::= integer from 100

e <baudrate> (see

e? (see page 546)

to 8000000

page 546)

:SBUS<n>:UART:BITorde :SBUS<n>:UART:BITorde <bitorder> ::= {LSBFirst |

r <bitorder> (see

r? (see page 547)

MSBFirst}

page 547)

n/a

:SBUS<n>:UART:COUNt:E <frame_count> ::= integer in NR1

RRor? (see page 548)

format

:SBUS<n>:UART:COUNt:R n/a

n/a

ESet (see page 549)

n/a

:SBUS<n>:UART:COUNt:R <frame_count> ::= integer in NR1

XFRames? (see page 550)

format

n/a

:SBUS<n>:UART:COUNt:T <frame_count> ::= integer in NR1

XFRames? (see page 551)

format

:SBUS<n>:UART:FRAMing <value> (see page 552)

:SBUS<n>:UART:FRAMing ? (see page 552)

<value> ::= {OFF | <decimal> | <nondecimal>}
<decimal> ::= 8-bit integer from 0-255 (0x00-0xff)
<nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal
<nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

95

4 Commands Quick Reference

Table 27 :SBUS<n>:UART Commands Summary (continued)

Command

Query

Options and Query Returns

:SBUS<n>:UART:PARity
<parity> (see page 553)

:SBUS<n>:UART:PARity? <parity> ::= {EVEN | ODD | NONE} (see page 553)

:SBUS<n>:UART:POLarit :SBUS<n>:UART:POLarit <polarity> ::= {HIGH | LOW}

y <polarity> (see

y? (see page 554)

page 554)

:SBUS<n>:UART:SOURce:
RX <source> (see page 555)

:SBUS<n>:UART:SOURce: RX? (see page 555)

<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:UART:SOURce:
TX <source> (see page 556)

:SBUS<n>:UART:SOURce: TX? (see page 556)

<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:UART:TRIGger :SBUS<n>:UART:TRIGger <base> ::= {ASCii | HEX}

:BASE <base> (see

:BASE? (see page 557)

page 557)

:SBUS<n>:UART:TRIGger :SBUS<n>:UART:TRIGger <value> ::= {OFF | 1 to 4096 in :BURSt <value> (see :BURSt? (see page 558) NR1 format} page 558)

:SBUS<n>:UART:TRIGger
:DATA <value> (see page 559)

:SBUS<n>:UART:TRIGger :DATA? (see page 559)

<value> ::= 8-bit integer from 0-255 (0x00-0xff) in decimal, <hexadecimal>, <binary>, or <quoted_string> format
<hexadecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal
<binary> ::= #Bnn...n where n ::= {0 | 1} for binary
<quoted_string> ::= any of the 128 valid 7-bit ASCII characters (or standard abbreviations)

:SBUS<n>:UART:TRIGger :SBUS<n>:UART:TRIGger <time_value> ::= time from 1 us

:IDLE <time_value>

:IDLE? (see page 560) to 10 s in NR3 format

(see page 560)

96

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 27 :SBUS<n>:UART Commands Summary (continued)

Command

Query

Options and Query Returns

:SBUS<n>:UART:TRIGger :SBUS<n>:UART:TRIGger <value> ::= {EQUal | NOTequal |

:QUALifier <value> (see page 561)

:QUALifier? (see page 561)

GREaterthan | LESSthan}

:SBUS<n>:UART:TRIGger
:TYPE <value> (see page 562)

:SBUS<n>:UART:TRIGger :TYPE? (see page 562)

<value> ::= {RSTArt | RSTOp | RDATa | RD1 | RD0 | RDX | PARityerror | TSTArt | TSTOp | TDATa | TD1 | TD0 | TDX}

:SBUS<n>:UART:WIDTh :SBUS<n>:UART:WIDTh? <width> ::= {5 | 6 | 7 | 8 | 9} <width> (see page 563) (see page 563)

Table 28 :SYSTem Commands Summary

Command

Query

Options and Query Returns

:SYSTem:DATE <date> (see page 568)

:SYSTem:DATE? (see page 568)

<date> ::= <year>,<month>,<day>
<year> ::= 4-digit year in NR1 format
<month> ::= {1,..,12 | JANuary | FEBruary | MARch | APRil | MAY | JUNe | JULy | AUGust | SEPtember | OCTober | NOVember | DECember}
<day> ::= {1,..31}

n/a

:SYSTem:DIDentifier? n/a

(see page 569)

:SYSTem:DSP <string> n/a (see page 570)

<string> ::= up to 75 characters as a quoted ASCII string

n/a

:SYSTem:ERRor? (see <error> ::= an integer error code

page 571)

<error string> ::= quoted ASCII

string.

See Error Messages (see page 777).

:SYSTem:LOCK <value> :SYSTem:LOCK? (see

(see page 572)

page 572)

<value> ::= {{1 | ON} | {0 | OFF}}

:SYSTem:MENU <menu> n/a (see page 573)

<menu> ::= {MASK | MEASure | SEGMented}

:SYSTem:PERSona[:MANu
facturer]
<manufacturer_string> (see page 574)

:SYSTem:PERSona[:MANu
facturer]? (see page 574)

<manufacturer_string> ::= quoted ASCII string, up to 63 characters

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

97

4 Commands Quick Reference

Table 28 :SYSTem Commands Summary (continued)

Command

Query

Options and Query Returns

:SYSTem:PERSona[:MANu n/a facturer]:DEFault (see page 575)
:SYSTem:PRESet (see n/a page 576)

Sets manufacturer string to "KEYSIGHT TECHNOLOGIES"
See :SYSTem:PRESet (see page 576)

:SYSTem:PROTection:LO :SYSTem:PROTection:LO <value> ::= {{1 | ON} | {0 |

CK <value> (see

CK? (see page 579)

OFF}}

page 579)

:SYSTem:RLOGger

n/a

<setting>[,<file_name

>[,<write_mode>]] (see page 580)

<setting> ::= {{0 | OFF} | {1 | ON}}
<file_name> ::= quoted ASCII string
<write_mode> ::= {CREate | APPend}

:SYSTem:RLOGger:DESTi :SYSTem:RLOGger:DESTi <dest> ::= {FILE | SCReen | BOTH}

nation <dest> (see

nation? (see page 581)

page 581)

:SYSTem:RLOGger:DISPl :SYSTem:RLOGger:DISPl <setting> ::= {0 | 1} ay {{0 | OFF} | {1 | ay? (see page 582) ON}} (see page 582)

:SYSTem:RLOGger:FNAMe :SYSTem:RLOGger:FNAMe <file_name> ::= quoted ASCII

<file_name> (see

? (see page 583)

string

page 583)

:SYSTem:RLOGger:STATe :SYSTem:RLOGger:STATe <setting> ::= {0 | 1}

{{0 | OFF} | {1 |

? (see page 584)

ON}} (see page 584)

:SYSTem:RLOGger:TRANs
parent {{0 | OFF} |
{1 | ON}} (see page 585)

:SYSTem:RLOGger:TRANs parent? (see page 585)

<setting> ::= {0 | 1}

:SYSTem:RLOGger:WMODe :SYSTem:RLOGger:WMODe <write_mode> ::= {CREate |

<write_mode> (see

? (see page 586)

APPend}

page 586)

:SYSTem:SETup
<setup_data> (see page 587)

:SYSTem:SETup? (see page 587)

<setup_data> ::= data in IEEE 488.2 # format.

:SYSTem:TIME <time> (see page 589)

:SYSTem:TIME? (see page 589)

<time> ::= hours,minutes,seconds in NR1 format

98

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 28 :SYSTem Commands Summary (continued)

Command

Query

:SYSTem:TZONe
<UTC_offset> (see page 590)

:SYSTem:TZONe? (see page 590)

:SYSTem:USB:EJECt [<usb_path>] (see page 591)
n/a

n/a
:SYSTem:USB:PLISt? (see page 592)

Options and Query Returns <UTC_offset> ::= integer offset from UTC in the form HHMM, for example, 1000 for UTC+1000 or -230 for UTC-0230
<usb_path> ::= path of USB storage device
n/a

Table 29 :TIMebase Commands Summary

Command

Query

Options and Query Returns

:TIMebase:MODE

:TIMebase:MODE? (see <value> ::= {MAIN | WINDow | XY |

<value> (see page 595) page 595)

ROLL}

:TIMebase:POSition <pos> (see page 596)

:TIMebase:POSition? (see page 596)

<pos> ::= time from the trigger event to the display reference point in NR3 format

:TIMebase:RANGe
<range_value> (see page 597)

:TIMebase:RANGe? (see <range_value> ::= time for 10 div

page 597)

in seconds in NR3 format

:TIMebase:REFerence
{LEFT | CENTer | RIGHt} (see page 598)

:TIMebase:REFerence? (see page 598)

<return_value> ::= {LEFT | CENTer | RIGHt}

:TIMebase:SCALe
<scale_value> (see page 599)

:TIMebase:SCALe? (see <scale_value> ::= time/div in

page 599)

seconds in NR3 format

:TIMebase:VERNier {{0
| OFF} | {1 | ON}} (see page 600)

:TIMebase:VERNier? (see page 600)

{0 | 1}

:TIMebase:WINDow:POSi :TIMebase:WINDow:POSi <pos> ::= time from the trigger

tion <pos> (see

tion? (see page 601)

event to the zoomed view

page 601)

reference point in NR3 format

:TIMebase:WINDow:RANG :TIMebase:WINDow:RANG <range value> ::= range value in

e <range_value> (see e? (see page 602)

seconds in NR3 format for the

page 602)

zoomed window

:TIMebase:WINDow:SCAL :TIMebase:WINDow:SCAL <scale_value> ::= scale value in

e <scale_value> (see e? (see page 603)

seconds in NR3 format for the

page 603)

zoomed window

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

99

4 Commands Quick Reference

Table 30 General :TRIGger Commands Summary

Command

Query

:TRIGger:FORCe (see n/a page 608)

:TRIGger:HFReject {{0
| OFF} | {1 | ON}} (see page 609)

:TRIGger:HFReject? (see page 609)

:TRIGger:HOLDoff
<holdoff_time> (see page 610)

:TRIGger:HOLDoff? (see page 610)

:TRIGger:LEVel:ASETup n/a (see page 611)

:TRIGger:LEVel:HIGH
<level>, <source> (see page 612)

:TRIGger:LEVel:HIGH?
<source> (see page 612)

:TRIGger:LEVel:LOW
<level>, <source> (see page 613)

:TRIGger:LEVel:LOW?
<source> (see page 613)

:TRIGger:MODE <mode> :TRIGger:MODE? (see

(see page 614)

page 614)

:TRIGger:NREJect {{0
| OFF} | {1 | ON}} (see page 615)

:TRIGger:NREJect? (see page 615)

:TRIGger:SWEep

:TRIGger:SWEep? (see

<sweep> (see page 616) page 616)

Options and Query Returns n/a
{0 | 1}
<holdoff_time> ::= 60 ns to 10 s in NR3 format
n/a
<level> ::= .75 x full-scale voltage from center screen in NR3 format. <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format <level> ::= .75 x full-scale voltage from center screen in NR3 format. <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format <mode> ::= {EDGE | GLITch | PATTern | SHOLd | TRANsition | TV | SBUS1} <return_value> ::= {<mode> | <none>} <none> ::= query returns "NONE" if the :TIMebase:MODE is ROLL or XY {0 | 1}
<sweep> ::= {AUTO | NORMal}

100

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 31 :TRIGger[:EDGE] Commands Summary

Command

Query

Options and Query Returns

:TRIGger[:EDGE]:COUPl
ing {AC | DC |
LFReject} (see page 618)

:TRIGger[:EDGE]:COUPl ing? (see page 618)

{AC | DC | LFReject}

:TRIGger[:EDGE]:LEVel
<level> [,<source>] (see page 619)

:TRIGger[:EDGE]:LEVel
? [<source>] (see page 619)

For internal triggers, <level> ::= .75 x full-scale voltage from center screen in NR3 format.
For external triggers, <level> ::= ±(external range setting) in NR3 format.
<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format

:TRIGger[:EDGE]:REJec
t {OFF | LFReject |
HFReject} (see page 620)

:TRIGger[:EDGE]:REJec t? (see page 620)

{OFF | LFReject | HFReject}

:TRIGger[:EDGE]:SLOPe :TRIGger[:EDGE]:SLOPe <polarity> ::= {POSitive |

<polarity> (see

? (see page 621)

NEGative | EITHer | ALTernate}

page 621)

:TRIGger[:EDGE]:SOURc
e <source> (see page 622)

:TRIGger[:EDGE]:SOURc e? (see page 622)

<source> ::= {CHANnel<n> | EXTernal | LINE | WGEN}
<n> ::= 1 to (# analog channels) in NR1 format

Table 32 :TRIGger:GLITch Commands Summary

Command

Query

Options and Query Returns

:TRIGger:GLITch:GREat
erthan
<greater_than_time>[s uffix] (see page 624)

:TRIGger:GLITch:GREat erthan? (see page 624)

<greater_than_time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

:TRIGger:GLITch:LESSt
han
<less_than_time>[suff ix] (see page 625)

:TRIGger:GLITch:LESSt han? (see page 625)

<less_than_time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

101

4 Commands Quick Reference

Table 32 :TRIGger:GLITch Commands Summary (continued)

Command

Query

Options and Query Returns

:TRIGger:GLITch:LEVel
<level> [<source>] (see page 626)

:TRIGger:GLITch:LEVel ? (see page 626)

For internal triggers, <level> ::= .75 x full-scale voltage from center screen in NR3 format.
For external triggers, <level> ::= ±(external range setting) in NR3 format.
<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format

:TRIGger:GLITch:POLar :TRIGger:GLITch:POLar <polarity> ::= {POSitive |

ity <polarity> (see ity? (see page 627)

NEGative}

page 627)

:TRIGger:GLITch:QUALi :TRIGger:GLITch:QUALi <qualifier> ::= {GREaterthan |

fier <qualifier> (see fier? (see page 628)

LESSthan | RANGe}

page 628)

:TRIGger:GLITch:RANGe
<less_than_time>[suff
ix],
<greater_than_time>[s uffix] (see page 629)

:TRIGger:GLITch:RANGe ? (see page 629)

<less_than_time> ::= 15 ns to 10 seconds in NR3 format
<greater_than_time> ::= 10 ns to 9.99 seconds in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

:TRIGger:GLITch:SOURc :TRIGger:GLITch:SOURc <source> ::= {CHANnel<n>}

e <source> (see page 630)

e? (see page 630)

<n> ::= 1 to (# analog channels) in NR1 format

102

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 33 :TRIGger:PATTern Commands Summary

Command

Query

Options and Query Returns

:TRIGger:PATTern
<string>[,<edge_sourc
e>,<edge>] (see page 632)

:TRIGger:PATTern? (see page 633)

<string> ::= "nn...n" where n ::= {0 | 1 | X | R | F} when <base> = ASCii
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $} when <base> = HEX
<edge_source> ::= {CHANnel<n> | EXTernal | NONE}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel oscilloscopes only
<edge> ::= {POSitive | NEGative}

:TRIGger:PATTern:FORM :TRIGger:PATTern:FORM <base> ::= {ASCii | HEX}

at <base> (see

at? (see page 634)

page 634)

:TRIGger:PATTern:QUAL :TRIGger:PATTern:QUAL <qualifier> ::= ENTered

ifier <qualifier>

ifier? (see page 635)

(see page 635)

Table 34 :TRIGger:SHOLd Commands Summary

Command

Query

Options and Query Returns

:TRIGger:SHOLd:SLOPe :TRIGger:SHOLd:SLOPe? <slope> ::= {NEGative | POSitive} <slope> (see page 637) (see page 637)

:TRIGger:SHOLd:SOURce :TRIGger:SHOLd:SOURce <source> ::= {CHANnel<n>}

:CLOCk <source> (see page 638)

:CLOCk? (see page 638) <n> ::= 1 to (# analog channels) in NR1 format

:TRIGger:SHOLd:SOURce :TRIGger:SHOLd:SOURce <source> ::= {CHANnel<n>}

:DATA <source> (see page 639)

:DATA? (see page 639)

<n> ::= 1 to (# analog channels) in NR1 format

:TRIGger:SHOLd:TIME:H
OLD <time>[suffix] (see page 640)

:TRIGger:SHOLd:TIME:H OLD? (see page 640)

<time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

:TRIGger:SHOLd:TIME:S
ETup <time>[suffix] (see page 641)

:TRIGger:SHOLd:TIME:S ETup? (see page 641)

<time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

103

4 Commands Quick Reference

Table 35 :TRIGger:TRANsition Commands Summary

Command

Query

Options and Query Returns

:TRIGger:TRANsition:Q :TRIGger:TRANsition:Q <qualifier> ::= {GREaterthan |

UALifier <qualifier> UALifier? (see

(see page 643)

page 643)

LESSthan}

:TRIGger:TRANsition:S :TRIGger:TRANsition:S <slope> ::= {NEGative | POSitive}

LOPe <slope> (see

LOPe? (see page 644)

page 644)

:TRIGger:TRANsition:S :TRIGger:TRANsition:S <source> ::= {CHANnel<n>}

OURce <source> (see page 645)

OURce? (see page 645)

<n> ::= 1 to (# analog channels) in NR1 format

:TRIGger:TRANsition:T
IME <time>[suffix] (see page 646)

:TRIGger:TRANsition:T IME? (see page 646)

<time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

Table 36 :TRIGger:TV Commands Summary

Command

Query

Options and Query Returns

:TRIGger:TV:LINE
<line number> (see page 648)

:TRIGger:TV:LINE? (see page 648)

<line number> ::= integer in NR1 format

:TRIGger:TV:MODE <tv :TRIGger:TV:MODE?

mode> (see page 649)

(see page 649)

<tv mode> ::= {FIEld1 | FIEld2 | AFIelds | ALINes | LFIeld1 | LFIeld2 | LALTernate}

:TRIGger:TV:POLarity
<polarity> (see page 650)

:TRIGger:TV:POLarity? <polarity> ::= {POSitive |

(see page 650)

NEGative}

:TRIGger:TV:SOURce
<source> (see page 651)

:TRIGger:TV:SOURce? (see page 651)

<source> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format

:TRIGger:TV:STANdard
<standard> (see page 652)

:TRIGger:TV:STANdard? <standard> ::= {NTSC | PAL | PALM

(see page 652)

| SECam}

104

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 37 :WAVeform Commands Summary

Command

Query

Options and Query Returns

:WAVeform:BYTeorder :WAVeform:BYTeorder? <value> ::= {LSBFirst | MSBFirst} <value> (see page 660) (see page 660)

n/a

:WAVeform:COUNt? (see <count> ::= an integer from 1 to

page 661)

65536 in NR1 format

n/a

:WAVeform:DATA? (see <binary block length bytes>,

page 662)

<binary data>

For example, to transmit 1000 bytes of data, the syntax would be: #800001000<1000 bytes of data><NL>

8 is the number of digits that follow

00001000 is the number of bytes to be transmitted

<1000 bytes of data> is the actual data

:WAVeform:FORMat

:WAVeform:FORMat?

<value> (see page 664) (see page 664)

<value> ::= {WORD | BYTE | ASCII}

:WAVeform:POINts
<# points> (see page 665)

:WAVeform:POINts? (see page 665)

<# points> ::= {100 | 250 | 500 | 1000 | <points_mode>} if waveform points mode is NORMal
<# points> ::= {100 | 250 | 500 | 1000 | 2000 ... 2000000 in 1-2-5 sequence | <points_mode>} if waveform points mode is MAXimum or RAW
<points_mode> ::= {NORMal | MAXimum | RAW}

:WAVeform:POINts:MODE :WAVeform:POINts:MODE <points_mode> ::= {NORMal |

<points_mode> (see

? (see page 667)

MAXimum | RAW}

page 667)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

105

4 Commands Quick Reference

Table 37 :WAVeform Commands Summary (continued)

Command

Query

Options and Query Returns

n/a

:WAVeform:PREamble? <preamble_block> ::= <format

(see page 669)

NR1>, <type NR1>,<points

NR1>,<count NR1>, <xincrement

NR3>, <xorigin NR3>, <xreference

NR1>,<yincrement NR3>, <yorigin

NR3>, <yreference NR1>

<format> ::= an integer in NR1 format:

· 0 for BYTE format · 1 for WORD format · 2 for ASCii format
<type> ::= an integer in NR1 format:

· 0 for NORMal type · 1 for PEAK detect type · 3 for AVERage type · 4 for HRESolution type
<count> ::= Average count, or 1 if PEAK detect type or NORMal; an integer in NR1 format

n/a

:WAVeform:SEGMented:C <count> ::= an integer from 2 to

OUNt? (see page 672)

500 in NR1 format (with SGM

license)

n/a

:WAVeform:SEGMented:T <time_tag> ::= in NR3 format

TAG? (see page 673)

(with SGM license)

:WAVeform:SOURce
<source> (see page 674)

:WAVeform:SOURce? (see page 674)

<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r> | SBUS1 | ABUS | EXT}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
EXT available on 2-channel oscilloscopes only

:WAVeform:SOURce:SUBS :WAVeform:SOURce:SUBS <subsource> ::= {{SUB0 | RX |

ource <subsource>

ource? (see page 678) MOSI} | {SUB1 | TX | MISO}}

(see page 678)

n/a

:WAVeform:TYPE? (see <return_mode> ::= {NORM | PEAK |

page 679)

AVER | HRES}

:WAVeform:UNSigned
{{0 | OFF} | {1 | ON}} (see page 680)

:WAVeform:UNSigned? (see page 680)

{0 | 1}

106

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 37 :WAVeform Commands Summary (continued)

Command

Query

Options and Query Returns

:WAVeform:VIEW <view> :WAVeform:VIEW? (see <view> ::= {MAIN}

(see page 681)

page 681)

n/a

:WAVeform:XINCrement? <return_value> ::= x-increment

(see page 682)

in the current preamble in NR3

format

n/a

:WAVeform:XORigin?

<return_value> ::= x-origin

(see page 683)

value in the current preamble in

NR3 format

n/a

:WAVeform:XREFerence? <return_value> ::= 0

(see page 684)

(x-reference value in the current

preamble in NR1 format)

n/a

:WAVeform:YINCrement? <return_value> ::= y-increment

(see page 685)

value in the current preamble in

NR3 format

n/a

:WAVeform:YORigin?

<return_value> ::= y-origin in

(see page 686)

the current preamble in NR3

format

n/a

:WAVeform:YREFerence? <return_value> ::= y-reference

(see page 687)

value in the current preamble in

NR1 format

Table 38 :WGEN Commands Summary

Command

Query

Options and Query Returns

:WGEN:FREQuency
<frequency> (see page 692)

:WGEN:FREQuency? (see <frequency> ::= frequency in Hz

page 692)

in NR3 format

:WGEN:FUNCtion
<signal> (see page 693)

:WGEN:FUNCtion? (see <signal> ::= {SINusoid | SQUare |

page 694)

RAMP | PULSe | NOISe | DC}

:WGEN:FUNCtion:PULSe: :WGEN:FUNCtion:PULSe: <width> ::= pulse width in

WIDTh <width> (see

WIDTh? (see page 696) seconds in NR3 format

page 696)

:WGEN:FUNCtion:RAMP:S :WGEN:FUNCtion:RAMP:S <percent> ::= symmetry

YMMetry <percent> (see page 697)

YMMetry? (see page 697)

percentage from 0% to 100% in NR1 format

:WGEN:FUNCtion:SQUare :WGEN:FUNCtion:SQUare <percent> ::= duty cycle

:DCYCle <percent> (see page 698)

:DCYCle? (see page 698)

percentage from 1% to 99% in NR1 format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

107

4 Commands Quick Reference

Table 38 :WGEN Commands Summary (continued)

Command

Query

Options and Query Returns

:WGEN:MODulation:AM:D :WGEN:MODulation:AM:D <percent> ::= AM depth percentage

EPTh <percent> (see

EPTh? (see page 699)

from 0% to 100% in NR1 format

page 699)

:WGEN:MODulation:AM:F :WGEN:MODulation:AM:F <frequency> ::= modulating

REQuency <frequency> REQuency? (see

(see page 700)

page 700)

waveform frequency in Hz in NR3 format

:WGEN:MODulation:FM:D :WGEN:MODulation:FM:D <frequency> ::= frequency

EViation <frequency> EViation? (see

(see page 701)

page 701)

deviation in Hz in NR3 format

:WGEN:MODulation:FM:F :WGEN:MODulation:FM:F <frequency> ::= modulating

REQuency <frequency> REQuency? (see

(see page 702)

page 702)

waveform frequency in Hz in NR3 format

:WGEN:MODulation:FSKe :WGEN:MODulation:FSKe <frequency> ::= hop frequency in

y:FREQuency <percent> y:FREQuency? (see

(see page 703)

page 703)

Hz in NR3 format

:WGEN:MODulation:FSKe :WGEN:MODulation:FSKe <rate> ::= FSK modulation rate in

y:RATE <rate> (see

y:RATE? (see page 704) Hz in NR3 format

page 704)

:WGEN:MODulation:FUNC :WGEN:MODulation:FUNC <shape> ::= {SINusoid | SQUare|

tion <shape> (see

tion? (see page 705)

RAMP}

page 705)

:WGEN:MODulation:FUNC
tion:RAMP:SYMMetry
<percent> (see page 706)

:WGEN:MODulation:FUNC
tion:RAMP:SYMMetry? (see page 706)

<percent> ::= symmetry percentage from 0% to 100% in NR1 format

:WGEN:MODulation:NOIS :WGEN:MODulation:NOIS <percent> ::= 0 to 100

e <percent> (see

e? (see page 707)

page 707)

:WGEN:MODulation:STAT :WGEN:MODulation:STAT {0 | 1} e {{0 | OFF} | {1 | e? (see page 708) ON}} (see page 708)

:WGEN:MODulation:TYPE :WGEN:MODulation:TYPE <type> ::= {AM | FM | FSK} <type> (see page 709) ? (see page 709)

:WGEN:OUTPut {{0 |
OFF} | {1 | ON}} (see page 711)

:WGEN:OUTPut? (see page 711)

{0 | 1}

:WGEN:OUTPut:LOAD
<impedance> (see page 712)

:WGEN:OUTPut:LOAD? (see page 712)

<impedance> ::= {ONEMeg | FIFTy}

108

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Table 38 :WGEN Commands Summary (continued)

Command

Query

Options and Query Returns

:WGEN:OUTPut:POLarity :WGEN:OUTPut:POLarity <polarity> ::= {NORMal |

<polarity> (see

? (see page 713)

INVerted}

page 713)

:WGEN:PERiod <period> :WGEN:PERiod? (see

(see page 714)

page 714)

<period> ::= period in seconds in NR3 format

:WGEN:RST (see

n/a

n/a

page 715)

:WGEN:VOLTage
<amplitude> (see page 716)

:WGEN:VOLTage? (see page 716)

<amplitude> ::= amplitude in volts in NR3 format

:WGEN:VOLTage:HIGH

:WGEN:VOLTage:HIGH?

<high> (see page 717) (see page 717)

<high> ::= high-level voltage in volts, in NR3 format

:WGEN:VOLTage:LOW <low> (see page 718)

:WGEN:VOLTage:LOW? (see page 718)

<low> ::= low-level voltage in volts, in NR3 format

:WGEN:VOLTage:OFFSet
<offset> (see page 719)

:WGEN:VOLTage:OFFSet? <offset> ::= offset in volts in

(see page 719)

NR3 format

Table 39 :WMEMory<r> Commands Summary

Command

Query

:WMEMory<r>:CLEar

n/a

(see page 723)

:WMEMory<r>:DISPlay
{{0 | OFF} | {1 | ON}} (see page 724)

:WMEMory<r>:DISPlay? (see page 724)

:WMEMory<r>:LABel
<string> (see page 725)

:WMEMory<r>:LABel? (see page 725)

:WMEMory<r>:SAVE

n/a

<source> (see page 726)

Options and Query Returns <r> ::= 1-2 in NR1 format
<r> ::= 1-2 in NR1 format {0 | 1}
<r> ::= 1-2 in NR1 format <string> ::= any series of 10 or less ASCII characters enclosed in quotation marks
<r> ::= 1-2 in NR1 format <source> ::= {CHANnel<n> | FUNCtion | MATH} <n> ::= 1 to (# analog channels) in NR1 format NOTE: Only ADD or SUBtract math operations can be saved as reference waveforms.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

109

4 Commands Quick Reference

Table 39 :WMEMory<r> Commands Summary (continued)

Command

Query

:WMEMory<r>:SKEW

:WMEMory<r>:SKEW?

<skew> (see page 727) (see page 727)

:WMEMory<r>:YOFFset
<offset>[suffix] (see page 728)

:WMEMory<r>:YOFFset? (see page 728)

:WMEMory<r>:YRANge
<range>[suffix] (see page 729)

:WMEMory<r>:YRANge? (see page 729)

:WMEMory<r>:YSCale
<scale>[suffix] (see page 730)

:WMEMory<r>:YSCale? (see page 730)

Options and Query Returns
<r> ::= 1-2 in NR1 format <skew> ::= time in seconds in NR3 format
<r> ::= 1-2 in NR1 format <offset> ::= vertical offset value in NR3 format [suffix] ::= {V | mV}
<r> ::= 1-2 in NR1 format <range> ::= vertical full-scale range value in NR3 format [suffix] ::= {V | mV}
<r> ::= 1-2 in NR1 format <scale> ::= vertical units per division value in NR3 format [suffix] ::= {V | mV}

110

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Commands Quick Reference 4

Syntax Elements
· "Number Format" on page 111 · "<NL> (Line Terminator)" on page 111 · "[ ] (Optional Syntax Terms)" on page 111 · "{ } (Braces)" on page 111 · "::= (Defined As)" on page 111 · "< > (Angle Brackets)" on page 112 · "... (Ellipsis)" on page 112 · "n,..,p (Value Ranges)" on page 112 · "d (Digits)" on page 112 · "Quoted ASCII String" on page 112 · "Definite-Length Block Response Data" on page 112
Number Format
NR1 specifies integer data. NR3 specifies exponential data in floating point format (for example, -1.0E-3).
<NL> (Line Terminator)
<NL> = new line or linefeed (ASCII decimal 10). The line terminator, or a leading colon, will send the parser to the "root" of the command tree.
[ ] (Optional Syntax Terms)
Items enclosed in square brackets, [ ], are optional.
{ } (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.
::= (Defined As)
::= means "defined as". For example, <A> ::= <B> indicates that <A> can be replaced by <B> in any statement containing <A>.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

111

4 Commands Quick Reference

< > (Angle Brackets)
< > Angle brackets enclose words or characters that symbolize a program code parameter or an interface command.
... (Ellipsis)
... An ellipsis (trailing dots) indicates that the preceding element may be repeated one or more times.
n,..,p (Value Ranges)
n,..,p ::= all integers between n and p inclusive.
d (Digits)
d ::= A single ASCII numeric character 0 - 9.
Quoted ASCII String
A quoted ASCII string is a string delimited by either double quotes (") or single quotes ('). Some command parameters require a quoted ASCII string. For example, when using the Keysight VISA COM library in Visual Basic, the command:
myScope.WriteString ":CHANNEL1:LABEL 'One'"
has a quoted ASCII string of:
'One'
In order to read quoted ASCII strings from query return values, some programming languages require special handling or syntax.
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. This 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 1000 bytes of data, the syntax would be
#800001000<1000 bytes of data> <NL>
8 is the number of digits that follow 00001000 is the number of bytes to be transmitted

112

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

<1000 bytes of data> is the actual data

Commands Quick Reference 4

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

113

4 Commands Quick Reference

114

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
5 Common (*) Commands

Commands defined by IEEE 488.2 standard that are common to all instruments. See "Introduction to Common (*) Commands" on page 117.

Table 40 Common (*) Commands Summary

Command *CLS (see page 119)
*ESE <mask> (see page 120)

Query n/a *ESE? (see page 121)

n/a

*ESR? (see page 122)

n/a

*IDN? (see page 122)

n/a

*LRN? (see page 125)

Options and Query Returns

n/a

<mask> ::= 0 to 255; an integer in NR1 format:

Bit Weight Name Enables

--- ------ ---- ----------

7 128 PON Power On

6

64 URQ User Request

5

32 CME Command Error

4

16 EXE Execution Error

3

8 DDE Dev. Dependent Error

2

4 QYE Query Error

1

2 RQL Request Control

0

1 OPC Operation Complete

<status> ::= 0 to 255; an integer in NR1 format

KEYSIGHT TECHNOLOGIES,<model>,<serial number>,X.XX.XX
<model> ::= the model number of the instrument
<serial number> ::= the serial number of the instrument
<X.XX.XX> ::= the software revision of the instrument

<learn_string> ::= current instrument setup as a block of data in IEEE 488.2 # format

115

5 Common (*) Commands

Table 40 Common (*) Commands Summary (continued)

Command *OPC (see page 126)

Query *OPC? (see page 126)

n/a

*OPT? (see page 127)

*RCL <value> (see

n/a

page 128)

Options and Query Returns
ASCII "1" is placed in the output queue when all pending device operations have completed.
<return_value> ::= 0,0,<license info>
<license info> ::= <All field>, <reserved>, <reserved>, <reserved>, <Memory>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <Segmented Memory>, <Mask Test>, <reserved>, <Bandwidth>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <Educator's Kit>, <Waveform Generator>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <Digital Voltmeter>, <reserved>, <reserved>, <reserved>, <Remote Command Logging>, <reserved>, <reserved>, <reserved>
<All field> ::= {0 | All}
<reserved> ::= 0
<Memory> ::= {0 | MEMUP}
<Low Speed Serial> ::= {0 | EMBD}
<Automotive Serial> ::= {0 | AUTO}
<Segmented Memory> ::= {0 | SGM}
<Mask Test> ::= {0 | MASK}
<Bandwidth> ::= {0 | BW10 | BW20}
<Educator's Kit> ::= {0 | EDK}
<Waveform Generator> ::= {0 | WAVEGEN}
<Digital Voltmeter> ::= {0 | DVM}
<Remote Command Logging> ::= {0 | RML}
<value> ::= {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}

116

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Common (*) Commands 5

Table 40 Common (*) Commands Summary (continued)

Command *RST (see page 129)

Query n/a

*SAV <value> (see page 132)
*SRE <mask> (see page 133)

n/a *SRE? (see page 134)

n/a

*STB? (see page 135)

*TRG (see page 137) n/a
*WAI (see page 139)

n/a *TST? (see page 138)
n/a

Options and Query Returns See *RST (Reset) (see page 129)

<value> ::= {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}

<mask> ::= sum of all bits that are set, 0 to 255; an integer in NR1 format. <mask> ::= following values:

Bit Weight Name Enables

--- ------ ---- ----------

7 128 OPER Operation Status Reg

6

64 ---- (Not used.)

5

32 ESB Event Status Bit

4

16 MAV Message Available

3

8 ---- (Not used.)

2

4 MSG Message

1

2 USR User

0

1 TRG Trigger

<value> ::= 0 to 255; an integer in NR1 format, as shown in the following:

Bit Weight Name "1" Indicates

--- ------ ---- ---------------

7 128 OPER Operation status

condition occurred.

6

64 RQS/ Instrument is

MSS requesting service.

5

32 ESB Enabled event status

condition occurred.

4

16 MAV Message available.

3

8 ---- (Not used.)

2

4 MSG Message displayed.

1

2 USR User event

condition occurred.

0

1 TRG A trigger occurred.

n/a

<result> ::= 0 or non-zero value; an integer in NR1 format

n/a

Introduction to Common (*) Commands

The common commands are defined by the IEEE 488.2 standard. They are implemented by all instruments that comply with the IEEE 488.2 standard. They provide some of the basic instrument functions, such as instrument identification and reset, reading the instrument setup, and determining how status is read and cleared.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

117

5 Common (*) Commands

NOTE

Common commands can be received and processed by the instrument whether they are sent over the interface as separate program messages or within other program messages. If an instrument subsystem has been selected and a common command is received by the instrument, the instrument remains in the selected subsystem. For example, if the program message ":ACQuire:TYPE AVERage; *CLS; COUNt 256" is received by the instrument, the instrument sets the acquire type, then clears the status information and sets the average count. In contrast, if a root level command or some other subsystem command is within the program message, you must re-enter the original subsystem after the command. For example, the program message ":ACQuire:TYPE AVERage; :AUToscale; :ACQuire:COUNt 256" sets the acquire type, completes the autoscale, then sets the acquire count. In this example, :ACQuire must be sent again after the :AUToscale command in order to re-enter the ACQuire subsystem and set the count.
Each of the status registers has an enable (mask) register. By setting the bits in the enable register, you can select the status information you want to use.

118

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Common (*) Commands 5

*CLS (Clear Status)

Command Syntax

(see page 818)
*CLS
The *CLS common command clears the status data structures, the device-defined error queue, and the Request-for-OPC flag.

NOTE

If the *CLS command immediately follows a program message terminator, the output queue and the MAV (message available) bit are cleared.

See Also

· "Introduction to Common (*) Commands" on page 117 · "*STB (Read Status Byte)" on page 135 · "*ESE (Standard Event Status Enable)" on page 120 · "*ESR (Standard Event Status Register)" on page 122 · "*SRE (Service Request Enable)" on page 133 · ":SYSTem:ERRor" on page 571

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

119

5 Common (*) Commands

*ESE (Standard Event Status Enable)

(see page 818) Command Syntax *ESE <mask_argument>
<mask_argument> ::= integer from 0 to 255
The *ESE common command sets the bits in the Standard Event Status Enable Register. 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 zero disables the bit.

128 64 32 16 8

4

2

1

PON URQ CM E EXE DDE QYE RQL OPC * ES R?

Standard Event Status Register

7

6

5

4

3

2

1

0

* ES E * ES E?

Standard Event Status Enable (Mask) Register

 OR
To ESB bit in Status Byte
Register

120

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Common (*) Commands 5

Table 41 Standard Event Status Enable (ESE)

Bit Name 7 PON 6 URQ 5 CME 4 EXE 3 DDE 2 QYE 1 RQL
0 OPC

Description Power On User Request Command Error Execution Error Device Dependent Error Query Error Request Control
Operation Complete

When Set (1 = High = True), Enables: Event when an OFF to ON transition occurs. Event when a front-panel key is pressed. Event when a command error is detected. Event when an execution error is detected. Event when a device-dependent error is detected. Event when a query error is detected. Event when the device is requesting control. (Not used.) Event when an operation is complete.

Query Syntax Return Format

*ESE?
The *ESE? query returns the current contents of the Standard Event Status Enable Register.
<mask_argument><NL>

See Also

<mask_argument> ::= 0,..,255; an integer in NR1 format.
· "Introduction to Common (*) Commands" on page 117 · "*ESR (Standard Event Status Register)" on page 122 · "*OPC (Operation Complete)" on page 126 · "*CLS (Clear Status)" on page 119

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

121

5 Common (*) Commands

*ESR (Standard Event Status Register)

Query Syntax

(see page 818)
*ESR?
The *ESR? query returns the contents of the Standard Event Status Register. When you read the Event Status Register, the value returned is the total bit weights of all of the bits that are high at the time you read the byte. Reading the register clears the Event Status Register. The following table shows bit weight, name, and condition for each bit.

128 64 32 16 8

4

2

1

PON URQ CM E EXE DDE QYE RQL OPC * ES R?

7

6

5

4

3

2

1

0

* ES E * ES E?

Standard Event Status Register
Standard Event Status Enable (Mask) Register

 OR

To ESB bit in Status Byte
Register

Table 42 Standard Event Status Register (ESR)

Bit Name 7 PON 6 URQ 5 CME 4 EXE 3 DDE 2 QYE 1 RQL 0 OPC

Description Power On User Request Command Error Execution Error Device Dependent Error Query Error Request Control Operation Complete

When Set (1 = High = True), Indicates: An OFF to ON transition has occurred. A front-panel key has been pressed. A command error has been detected. An execution error has been detected. A device-dependent error has been detected. A query error has been detected. The device is requesting control. (Not used.) Operation is complete.

122

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Common (*) Commands 5

Return Format

<status><NL> <status> ::= 0,..,255; an integer in NR1 format.

NOTE

Reading the Standard Event Status Register clears it. High or 1 indicates the bit is true.

See Also

· "Introduction to Common (*) Commands" on page 117 · "*ESE (Standard Event Status Enable)" on page 120 · "*OPC (Operation Complete)" on page 126 · "*CLS (Clear Status)" on page 119 · ":SYSTem:ERRor" on page 571

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

123

5 Common (*) Commands

*IDN (Identification Number)

Query Syntax Return Format

(see page 818)
*IDN?
The *IDN? query identifies the instrument type and software version.
<manufacturer_string>,<model>,<serial_number>,X.XX.XX <NL>

<manufacturer_string> ::= KEYSIGHT TECHNOLOGIES

<model> ::= the model number of the instrument

<serial_number> ::= the serial number of the instrument

See Also

X.XX.XX ::= the software revision of the instrument
· "Introduction to Common (*) Commands" on page 117 · "*OPT (Option Identification)" on page 127 · ":SYSTem:PERSona[:MANufacturer]" on page 574 · ":SYSTem:PERSona[:MANufacturer]:DEFault" on page 575

124

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Common (*) Commands 5

*LRN (Learn Device Setup)

(see page 818)

Query Syntax Return Format

*LRN?
The *LRN? query result contains the current state of the instrument. This query is similar to the :SYSTem:SETup? (see page 587) query, except that it contains ":SYST:SET " before the binary block data. The query result is a valid command that can be used to restore instrument settings at a later time.
<learn_string><NL>

<learn_string> ::= :SYST:SET <setup_data>

<setup_data> ::= binary block data in IEEE 488.2 # format
<learn string> specifies the current instrument setup. The block size is subject to change with different firmware revisions.

NOTE

The *LRN? query return format has changed from previous Keysight oscilloscopes to match the IEEE 488.2 specification which says that the query result must contain ":SYST:SET " before the binary block data.

See Also

· "Introduction to Common (*) Commands" on page 117 · "*RCL (Recall)" on page 128 · "*SAV (Save)" on page 132 · ":SYSTem:SETup" on page 587

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

125

5 Common (*) Commands

*OPC (Operation Complete)

(see page 818)

Command Syntax Query Syntax Return Format

*OPC
The *OPC command sets the operation complete bit in the Standard Event Status Register when all pending device operations have finished.
*OPC?
The *OPC? query places an ASCII "1" in the output queue when all pending device operations have completed. The interface hangs until this query returns.
<complete><NL>

See Also

<complete> ::= 1
· "Introduction to Common (*) Commands" on page 117 · "*ESE (Standard Event Status Enable)" on page 120 · "*ESR (Standard Event Status Register)" on page 122 · "*CLS (Clear Status)" on page 119

126

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Common (*) Commands 5

*OPT (Option Identification)

Query Syntax Return Format

(see page 818)
*OPT?
The *OPT? query reports the options installed in the instrument. This query returns a string that identifies the module and its software revision level.
0,0,<license info>

<license info> ::= <All field>, <reserved>, <reserved>, <reserved>, <Memory>, <Low Speed Serial>, <Automotive Serial>, <reserved>, <reserved>, <reserved>, <Segmented Memory>, <Mask Test>, <reserved>, <Bandwidth>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <Educator's Kit>, <Waveform Generator>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <reserved>, <Digital Voltmeter>, <reserved>, <reserved>, <reserved>, <Remote Command Logging>, <reserved>, <reserved>, <reserved>

<All field> ::= {0 | All}

<reserved> ::= 0

<Memory> ::= {0 | MEMUP}

<Low Speed Serial> ::= {0 | EMBD}

<Automotive Serial> ::= {0 | AUTO}

<Segmented Memory> ::= {0 | SGM}

<Mask Test> ::= {0 | MASK}

<Bandwidth> ::= {0 | BW10 | BW20}

<Educator's Kit> ::= {0 | EDK}

<Waveform Generator> ::= {0 | WAVEGEN}

<Digital Voltmeter> ::= {0 | DVM}

<Remote Command Logging> ::= {0 | RML}
The *OPT? query returns the following:

Module No modules attached

Module Id 0,0,0,0,0,0,0,0,0,0,0,0,0,SGM,MASK,0,0,0,0,0,0,0,0,EDK,WAVEGEN,0,0,0, 0,0,0,0,0,0,0,0,RML,0,0,0

See Also · "Introduction to Common (*) Commands" on page 117 · "*IDN (Identification Number)" on page 124

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

127

5 Common (*) Commands
*RCL (Recall)
(see page 818) Command Syntax *RCL <value>
<value> ::= {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}
The *RCL command restores the state of the instrument from the specified save/recall register. See Also · "Introduction to Common (*) Commands" on page 117 · "*SAV (Save)" on page 132

128

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Common (*) Commands 5

*RST (Reset)

Command Syntax

(see page 818)
*RST
The *RST command places the instrument in a known state. This is the same as pressing [Save/Recall] > Default/Erase > Factory Default on the front panel. When you perform a factory default setup, there are no user settings that remain unchanged. To perform the equivalent of the front panel's [Default Setup] key, where some user settings (like preferences) remain unchanged, use the :SYSTem:PRESet command. Reset conditions are:

Acquire Menu Mode Averaging # Averages

Normal Off 8

Analog Channel Menu Channel 1 Channel 2 Volts/division Offset Coupling Probe attenuation Vernier Invert BW limit Impedance Units Skew

On Off 5.00 V 0.00 DC 10:1 Off Off Off 1 M Ohm (cannot be changed) Volts 0

Cursor Menu Source

Channel 1

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

129

5 Common (*) Commands

Display Menu Persistence Grid
Quick Meas Menu Source
Run Control
Time Base Menu Main time/division Main time base delay Delay time/division Delay time base delay Reference Mode Vernier
Trigger Menu Type Mode Coupling Source Level Slope HF Reject and noise reject Holdoff External probe attenuation External Units External Impedance

Off 20%
Channel 1
Scope is running
100 us 0.00 s 500 ns 0.00 s center main Off
Edge Auto dc Channel 1 0.0 V Positive Off 60 ns 10:1 Volts 1 M Ohm (cannot be changed)

130

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Common (*) Commands 5

See Also Example Code

· "Introduction to Common (*) Commands" on page 117 · ":SYSTem:PRESet" on page 576
' RESET - This command puts the oscilloscope into a known state. ' This statement is very important for programs to work as expected. ' Most of the following initialization commands are initialized by ' *RST. It is not necessary to reinitialize them unless the default ' setting is not suitable for your application. myScope.WriteString "*RST" ' Reset the oscilloscope to the defaults.
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

131

5 Common (*) Commands
*SAV (Save)
(see page 818) Command Syntax *SAV <value>
<value> ::= {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}
The *SAV command stores the current state of the instrument in a save register. The data parameter specifies the register where the data will be saved. See Also · "Introduction to Common (*) Commands" on page 117 · "*RCL (Recall)" on page 128

132

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Common (*) Commands 5

*SRE (Service Request Enable)

(see page 818) Command Syntax *SRE <mask>
<mask> ::= integer with values defined in the following table.
The *SRE command sets the bits in the Service Request Enable Register. The Service Request Enable Register contains a mask value for the bits to be enabled in the Status Byte Register. A one in the Service Request Enable Register enables the corresponding bit in the Status Byte Register. A zero disables the bit.

From Operati on
Status Registers

From Sta n da rd
Event Status Registers

Outp ut Queue

TRG Reg

TER?

Trigger Event Register

RQS/ OPER MSS ESB MAV

MSG USR TRG *STB? Statu s Byte Register

76543210
*SRE Service Request Enable *SRE? (Mask) Register

 OR
SRQ Service Request

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

133

5 Common (*) Commands

Table 43 Service Request Enable Register (SRE)

Bit Name 7 OPER
6 --5 ESB
4 MAV 3 --2 MSG
1 USR
0 TRG

Description Operation Status Register
--Event Status Bit
Message Available --Message
User Event
Trigger

When Set (1 = High = True), Enables: Interrupts when enabled conditions in the Operation Status Register (OPER) occur. (Not used.) Interrupts when enabled conditions in the Standard Event Status Register (ESR) occur. Interrupts when messages are in the Output Queue. (Not used.) Interrupts when an advisory has been displayed on the oscilloscope. Interrupts when enabled user event conditions occur. Interrupts when a trigger occurs.

Query Syntax Return Format

*SRE?
The *SRE? query returns the current value of the Service Request Enable Register.
<mask><NL>

See Also

<mask> ::= sum of all bits that are set, 0,..,255; an integer in NR1 format
· "Introduction to Common (*) Commands" on page 117 · "*STB (Read Status Byte)" on page 135 · "*CLS (Clear Status)" on page 119

134

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Common (*) Commands 5

*STB (Read Status Byte)

(see page 818)

Query Syntax Return Format

*STB?
The *STB? query returns the current value of the instrument's status byte. The MSS (Master Summary Status) bit is reported on bit 6 instead of the RQS (request service) bit. The MSS indicates whether or not the device has at least one reason for requesting service.
<value><NL>

<value> ::= 0,..,255; an integer in NR1 format

From Operati on
Status Registers

From Sta n da rd
Event Status Registers

Outp ut Queue

TRG Reg

TER?

Trigger Event Register

OPER

RQS/ MSS

ESB

MAV

MSG USR TRG *STB? Statu s Byte Register

76543210
*SRE Service Request Enable *SRE? (Mask) Register

 OR
SRQ Service Request

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

135

5 Common (*) Commands

NOTE

Table 44 Status Byte Register (STB)

Bit Name 7 OPER

Description Operation Status Register

6 RQS MSS

Request Service Master Summary Status

5 ESB

Event Status Bit

4 MAV 3 --2 MSG

Message Available --Message

1 USR 0 TRG

User Event Trigger

When Set (1 = High = True), Indicates: An enabled condition in the Operation Status Register (OPER) has occurred. When polled, that the device is requesting service. When read (by *STB?), whether the device has a reason for requesting service. An enabled condition in the Standard Event Status Register (ESR) has occurred. There are messages in the Output Queue. (Not used, always 0.) An advisory has been displayed on the oscilloscope. An enabled user event condition has occurred. A trigger has occurred.

To read the instrument's status byte with RQS reported on bit 6, use the interface Serial Poll.

See Also · "Introduction to Common (*) Commands" on page 117 · "*SRE (Service Request Enable)" on page 133

136

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Common (*) Commands 5

*TRG (Trigger)

Command Syntax See Also

(see page 818)
*TRG
The *TRG command has the same effect as the :DIGitize command with no parameters. · "Introduction to Common (*) Commands" on page 117 · ":DIGitize" on page 151 · ":RUN" on page 168 · ":STOP" on page 172

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

137

5 Common (*) Commands

*TST (Self Test)

(see page 818)

Query Syntax Return Format

*TST?
The *TST? query performs a self-test on the instrument. The result of the test is placed in the output queue. A zero indicates the test passed and a non-zero indicates the test failed. If the test fails, refer to the troubleshooting section of the Service Guide.
<result><NL>

<result> ::= 0 or non-zero value; an integer in NR1 format
See Also · "Introduction to Common (*) Commands" on page 117

138

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Common (*) Commands 5

*WAI (Wait To Continue)

Command Syntax See Also

(see page 818)
*WAI
The *WAI command has no function in the oscilloscope, but is parsed for compatibility with other instruments. · "Introduction to Common (*) Commands" on page 117

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

139

5 Common (*) Commands

140

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
6 Root (:) Commands

Control many of the basic functions of the oscilloscope and reside at the root level of the command tree. See "Introduction to Root (:) Commands" on page 143.

Table 45 Root (:) Commands Summary

Command n/a

Query :AER? (see page 144)

:AUToscale

n/a

[<source>[,..,<source >]] (see page 145)

:AUToscale:AMODE

:AUToscale:AMODE?

<value> (see page 147) (see page 147)

:AUToscale:CHANnels :AUToscale:CHANnels? <value> (see page 148) (see page 148)

:AUToscale:FDEBug {{0
| OFF} | {1 | ON}} (see page 149)

:AUToscale:FDEBug? (see page 149)

:BLANk [<source>]

n/a

(see page 150)

Options and Query Returns {0 | 1}; an integer in NR1 format <source> ::= CHANnel<n> <source> can be repeated up to 5 times <n> ::= 1 to (# analog channels) in NR1 format <value> ::= {NORMal | CURRent}}
<value> ::= {ALL | DISPlayed}}
{0 | 1}
<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r> | ABUS | EXT} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format EXT available on 2-channel oscilloscopes only

141

6 Root (:) Commands

Table 45 Root (:) Commands Summary (continued)

Command

Query

Options and Query Returns

:DIGitize

n/a

[<source>[,..,<source >]] (see page 151)

:MTEenable <n> (see page 153)

:MTEenable? (see page 153)

<source> ::= {CHANnel<n> | FUNCtion | MATH | SBUS{1} | FFT | ABUS | EXT}
<source> can be repeated up to 5 times
<n> ::= 1 to (# analog channels) in NR1 format
EXT available on 2-channel oscilloscopes only
<n> ::= 16-bit integer in NR1 format

n/a
:OPEE <n> (see page 157)

:MTERegister[:EVENt]? (see page 155)
:OPEE? (see page 158)

<n> ::= 16-bit integer in NR1 format
<n> ::= 15-bit integer in NR1 format

n/a

:OPERregister:CONDiti <n> ::= 15-bit integer in NR1

on? (see page 159)

format

n/a

:OPERegister[:EVENt]? <n> ::= 15-bit integer in NR1

(see page 161)

format

:OVLenable <mask> (see page 163)

:OVLenable? (see page 163)

<mask> ::= 16-bit integer in NR1 format as shown:

Bit Weight Input

--- ------ ----------

10 1024 Ext Trigger Fault

9 512 Channel 4 Fault

8 256 Channel 3 Fault

7 128 Channel 2 Fault

6

64 Channel 1 Fault

4

16 Ext Trigger OVL

3

8 Channel 4 OVL

2

4 Channel 3 OVL

1

2 Channel 2 OVL

0

1 Channel 1 OVL

n/a

:OVLRegister? (see

<value> ::= integer in NR1

page 165)

format. See OVLenable for <value>

142

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

Table 45 Root (:) Commands Summary (continued)

Command

Query

Options and Query Returns

:PRINt [<options>] (see page 167)
:RUN (see page 168) n/a :SINGle (see page 170)

n/a
n/a :SERial (see page 169) n/a

<options> ::= [<print option>][,..,<print option>]
<print option> ::= {COLor | GRAYscale | PRINter0 | PRINter1 | BMP8bit | BMP | PNG | NOFactors | FACTors}
<print option> can be repeated up to 5 times.
n/a
<return value> ::= unquoted string containing serial number
n/a

n/a
:STOP (see page 172) n/a

:STATus? <display> (see page 171)
n/a :TER? (see page 173)

{0 | 1} <display> ::= {CHANnel<n> | FUNCtion | MATH | SBUS{1} | FFT | WMEMory<r> | ABUS | EXT} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format EXT available on 2-channel oscilloscopes only
n/a
{0 | 1}

:VIEW <source> (see n/a page 174)

<source> ::= {CHANnel<n> | FUNCtion | MATH | SBUS{1} | FFT | WMEMory<r> | ABUS | EXT}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
EXT available on 2-channel oscilloscopes only

Introduction to Root (:)
Commands

Root level commands control many of the basic operations of the instrument. These commands are always recognized by the parser if they are prefixed with a colon, regardless of current command tree position. After executing a root-level command, the parser is positioned at the root of the command tree.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

143

6 Root (:) Commands

:AER (Arm Event Register)

(see page 818)

Query Syntax

:AER?
The AER query reads the Arm Event Register. After the Arm Event Register is read, it is cleared. A "1" indicates the trigger system is in the armed state, ready to accept a trigger. The Armed Event Register is summarized in the Wait Trig bit of the Operation Status Event Register. A Service Request can be generated when the Wait Trig bit transitions and the appropriate enable bits have been set in the Operation Status Enable Register (OPEE) and the Service Request Enable Register (SRE).

Return Format <value><NL>

See Also

<value> ::= {0 | 1}; an integer in NR1 format.
· "Introduction to Root (:) Commands" on page 143 · ":OPEE (Operation Status Enable Register)" on page 157 · ":OPERegister:CONDition (Operation Status Condition Register)" on page 159 · ":OPERegister[:EVENt] (Operation Status Event Register)" on page 161 · "*STB (Read Status Byte)" on page 135 · "*SRE (Service Request Enable)" on page 133

144

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:AUToscale

(see page 818)

Command Syntax :AUToscale

:AUToscale [<source>[,..,<source>]]

<source> ::= CHANnel<n>

<n> ::= 1 to (# analog channels) in NR1 format

The <source> parameter may be repeated up to 5 times.
The :AUToscale command evaluates all input signals and sets the correct conditions to display the signals. This is the same as pressing the [Auto Scale] key on the front panel. If one or more sources are specified, those specified sources will be enabled and all others blanked. The autoscale channels mode (see ":AUToscale:CHANnels" on page 148) is set to DISPlayed channels. Then, the autoscale is performed.

When the :AUToscale command is sent, the following conditions are affected and actions are taken: · Thresholds. · Channels with activity around the trigger point are turned on, others are turned
off. · Channels are reordered on screen; analog channel 1 first, followed by the
remaining analog channels. · Delay is set to 0 seconds. · Time/Div.
The :AUToscale command does not affect the following conditions: · Label names. · Trigger conditioning.

See Also

The :AUToscale command turns off the following items: · Cursors. · Measurements. · Math waveforms. · Reference waveforms. · Zoomed (delayed) time base mode.
For further information on :AUToscale, see the User's Guide.
· "Introduction to Root (:) Commands" on page 143 · ":AUToscale:CHANnels" on page 148

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

145

6 Root (:) Commands

Example Code

· ":AUToscale:AMODE" on page 147
' AUTOSCALE - This command evaluates all the input signals and sets ' the correct conditions to display all of the active signals. myScope.WriteString ":AUToscale" ' Same as pressing Auto Scale key.
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

146

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:AUToscale:AMODE

(see page 818)

Command Syntax :AUToscale:AMODE <value>

Query Syntax Return Format

<value> ::= {NORMal | CURRent}
The :AUTOscale:AMODE command specifies the acquisition mode that is set by subsequent :AUToscales. · When NORMal is selected, an :AUToscale command sets the NORMal
acquisition type and the RTIMe (real-time) acquisition mode. · When CURRent is selected, the current acquisition type and mode are kept on
subsequent :AUToscales. Use the :ACQuire:TYPE and :ACQuire:MODE commands to set the acquisition type and mode.
:AUToscale:AMODE?
The :AUToscale:AMODE? query returns the autoscale acquire mode setting.
<value><NL>

See Also

<value> ::= {NORM | CURR}
· "Introduction to Root (:) Commands" on page 143 · ":AUToscale" on page 145 · ":AUToscale:CHANnels" on page 148 · ":ACQuire:TYPE" on page 197 · ":ACQuire:MODE" on page 189

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

147

6 Root (:) Commands

:AUToscale:CHANnels

(see page 818)

Command Syntax :AUToscale:CHANnels <value>

Query Syntax Return Format

<value> ::= {ALL | DISPlayed}
The :AUTOscale:CHANnels command specifies which channels will be displayed on subsequent :AUToscales. · When ALL is selected, all channels that meet the requirements of :AUToscale
will be displayed. · When DISPlayed is selected, only the channels that are turned on are
autoscaled. Use the :VIEW or :BLANk root commands to turn channels on or off.
:AUToscale:CHANnels?
The :AUToscale:CHANnels? query returns the autoscale channels setting.
<value><NL>

See Also

<value> ::= {ALL | DISP}
· "Introduction to Root (:) Commands" on page 143 · ":AUToscale" on page 145 · ":AUToscale:AMODE" on page 147 · ":VIEW" on page 174 · ":BLANk" on page 150

148

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:AUToscale:FDEBug

(see page 818)

Command Syntax :AUToscale:FDEBug <on_off>

<on_off> ::= {{1 | ON} | {0 | OFF}}
The :AUToscale:FDEBug command turns fast debug auto scaling on or off.

Query Syntax

The Fast Debug option changes the behavior of :AUToscale to let you make quick visual comparisons to determine whether the signal being probed is a DC voltage, ground, or an active AC signal. Channel coupling is maintained for easy viewing of oscillating signals.
:AUToscale:FDEBug?
The :AUToscale:FDEBug? query returns the current autoscale fast debug setting.

Return Format <on_off><NL>

See Also

<on_off> ::= {1 | 0}
· "Introduction to Root (:) Commands" on page 143 · ":AUToscale" on page 145

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

149

6 Root (:) Commands

:BLANk

(see page 818) Command Syntax :BLANk [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | SBUS{1} | FFT | WMEMory<r> | ABUS | EXT}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
The :BLANk command turns off (stops displaying) the specified channel, math function, or serial decode bus. The :BLANk command with no parameter turns off all sources.

NOTE

To turn on (start displaying) a channel, etc., use the :VIEW command. The DISPlay commands, :CHANnel<n>:DISPlay, :FUNCtion:DISPlay, or :WMEMory<r>:DISPlay, are the preferred method to turn on/off a channel, etc.

NOTE

MATH is an alias for FUNCtion.

NOTE

The EXT source is available on 2-channel oscilloscopes only.

See Also Example Code

· "Introduction to Root (:) Commands" on page 143 · ":DISPlay:CLEar" on page 241 · ":CHANnel<n>:DISPlay" on page 215 · ":FUNCtion:DISPlay" on page 302 · ":WMEMory<r>:DISPlay" on page 724 · ":STATus" on page 171 · ":VIEW" on page 174
· "Example Code" on page 174

150

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:DIGitize

(see page 818) Command Syntax :DIGitize [<source>[,..,<source>]]
<source> ::= {CHANnel<n> | FUNCtion | MATH | SBUS{1} | FFT | ABUS | EXT}
<n> ::= 1 to (# analog channels) in NR1 format
The <source> parameter may be repeated up to 5 times.
The :DIGitize command is a specialized RUN command. It causes the instrument to acquire waveforms according to the settings of the :ACQuire commands subsystem. When the acquisition is complete, the instrument is stopped. If no argument is given, :DIGitize acquires the channels currently displayed. If no channels are displayed, all channels are acquired.

NOTE

The :DIGitize command is only executed when the :TIMebase:MODE is MAIN or WINDow.

NOTE

To halt a :DIGitize in progress, use the device clear command.

NOTE

MATH is an alias for FUNCtion.

NOTE

The EXT source is available on 2-channel oscilloscopes only.

See Also

· "Introduction to Root (:) Commands" on page 143 · ":RUN" on page 168 · ":SINGle" on page 170 · ":STOP" on page 172 · ":TIMebase:MODE" on page 595 · Chapter 8, ":ACQuire Commands," starting on page 185 · Chapter 29, ":WAVeform Commands," starting on page 653

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

151

6 Root (:) Commands

Example Code

' Capture an acquisition using :DIGitize. ' ----------------------------------------------------------------myScope.WriteString ":DIGitize CHANnel1"
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

152

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:MTEenable (Mask Test Event Enable Register)
(see page 818) Command Syntax :MTEenable <mask>
<mask> ::= 16-bit integer
The :MTEenable command sets a mask in the Mask Test Event Enable register. Set any of the following bits to "1" to enable bit 9 in the Operation Status Condition Register and potentially cause an SRQ (Service Request interrupt to be generated.

Auto Mask

Started

Fail

Complete

:MTERegister[:EVENt]? Mask Test Event Event Register

15 14 13 12 11 10 9

8

7

6

5

4

3

2

1

0

:MTEenable

:MTEenable?

Mask Test Event Enable (Mask) Register

 OR
To MTE bit in Operation Status Condition Register

Table 46 Mask Test Event Enable Register (MTEenable)

Bit 15-11 10
9 8 7-2 1 0

Name --Auto Mask --Started --Fail Complet e

Description --Auto Mask Created
--Mask Testing Started --Mask Test Fail Mask Test Complete

When Set (1 = High = True), Enables: (Not used.) Auto mask creation completed.
(Not used.) Mask testing started. (Not used.) Mask test failed. Mask test is complete.

Query Syntax Return Format

:MTEenable?
The :MTEenable? query returns the current value contained in the Mask Test Event Enable register as an integer number.
<value><NL>

<value> ::= integer in NR1 format.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

153

6 Root (:) Commands

See Also

· "Introduction to Root (:) Commands" on page 143 · ":AER (Arm Event Register)" on page 144 · ":CHANnel<n>:PROTection" on page 225 · ":OPERegister[:EVENt] (Operation Status Event Register)" on page 161 · ":OVLenable (Overload Event Enable Register)" on page 163 · ":OVLRegister (Overload Event Register)" on page 165 · "*STB (Read Status Byte)" on page 135 · "*SRE (Service Request Enable)" on page 133

154

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:MTERegister[:EVENt] (Mask Test Event Event Register)

Query Syntax

(see page 818)
:MTERegister[:EVENt]?
The :MTERegister[:EVENt]? query returns the integer value contained in the Mask Test Event Event Register and clears the register.

Auto Mask

Started

Fail

Complete

:MTERegister[:EVENt]? Mask Test Event Event Register

15 14 13 12 11 10 9

8

7

6

5

4

3

2

1

0

:MTEenable

:MTEenable?

Mask Test Event Enable (Mask) Register

 OR
To MTE bit in Operation Status Condition Register

Table 47 Mask Test Event Event Register

Bit 15-11 10
9 8 7-2 1 0

Name Description

---

---

Auto Mask

Auto Mask Created

---

---

Started Mask Testing Started

---

---

Fail

Mask Test Fail

Complet Mask Test Complete e

When Set (1 = High = True), Indicates: (Not used.) Auto mask creation completed.
(Not used.) Mask testing started. (Not used.) The mask test failed. The mask test is complete.

Return Format <value><NL>

See Also

<value> ::= integer in NR1 format.
· "Introduction to Root (:) Commands" on page 143 · ":CHANnel<n>:PROTection" on page 225 · ":OPEE (Operation Status Enable Register)" on page 157 · ":OPERegister:CONDition (Operation Status Condition Register)" on page 159

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

155

6 Root (:) Commands
· ":OVLenable (Overload Event Enable Register)" on page 163 · ":OVLRegister (Overload Event Register)" on page 165 · "*STB (Read Status Byte)" on page 135 · "*SRE (Service Request Enable)" on page 133

156

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:OPEE (Operation Status Enable Register)

(see page 818) Command Syntax :OPEE <mask>
<mask> ::= 15-bit integer
The :OPEE command sets a mask in the Operation Status Enable register. Set any of the following bits to "1" to enable bit 7 in the Status Byte Register and potentially cause an SRQ (Service Request interrupt to be generated.

From Overload Event Registers

From Mask Test

Event Registers

Arm Reg

AER?

Run bit set if oscilloscope not stopped

OVLR

MTE

Wait Trig

Run

:OPEReration:CONDition? Operation Status Condition Register

11

9

5

3

OVLR

MTE

Wait Trig

Run

:OPERation[:EVENt]? Operation Status Event Register

14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

:OPEE :OPEE? Operation Status Enable (Mask) Register

 OR
To OPER bit in Statu s Byte Register

Table 48 Operation Status Enable Register (OPEE)

Bit 14-12 11 10 9 8-6 5
4

Name --OVLR --MTE --Wait Trig ---

Description --Overload --Mask Test Event --Wait Trig
---

When Set (1 = High = True), Enables: (Not used.) Event when 50 input overload occurs. (Not used.) Event when mask test event occurs. (Not used.) Event when the trigger is armed.
(Not used.)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

157

6 Root (:) Commands

Table 48 Operation Status Enable Register (OPEE) (continued)

Bit

Name Description

3

Run

Running

2-0

---

---

When Set (1 = High = True), Enables: Event when the oscilloscope is running (not stopped). (Not used.)

Query Syntax

:OPEE?
The :OPEE? query returns the current value contained in the Operation Status Enable register as an integer number.

Return Format <value><NL>

See Also

<value> ::= integer in NR1 format.
· "Introduction to Root (:) Commands" on page 143 · ":AER (Arm Event Register)" on page 144 · ":CHANnel<n>:PROTection" on page 225 · ":OPERegister[:EVENt] (Operation Status Event Register)" on page 161 · ":OVLenable (Overload Event Enable Register)" on page 163 · ":OVLRegister (Overload Event Register)" on page 165 · "*STB (Read Status Byte)" on page 135 · "*SRE (Service Request Enable)" on page 133

158

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:OPERegister:CONDition (Operation Status Condition Register)

Query Syntax

(see page 818)
:OPERegister:CONDition?
The :OPERegister:CONDition? query returns the integer value contained in the Operation Status Condition Register.

From Overload Event Registers

From Mask Test

Event Registers

Arm Reg

AER?

Run bit set if oscilloscope not stopped

OVLR

MTE

Wait Trig

Run

:OPEReration:CONDition? Operation Status Condition Register

11

9

5

3

OVLR

MTE

Wait Trig

Run

:OPERation[:EVENt]? Operation Status Event Register

14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

:OPEE :OPEE? Operation Status Enable (Mask) Register

 OR
To OPER bit in Statu s Byte Register

Table 49 Operation Status Condition Register

Bit 14-12 11 10 9 8-6 5
4 3 2-0

Name --OVLR --MTE --Wait Trig --Run ---

Description --Overload --Mask Test Event --Wait Trig
--Running ---

When Set (1 = High = True), Indicates: (Not used.) A 50 input overload has occurred. (Not used.) A mask test event has occurred. (Not used.) The trigger is armed (set by the Trigger Armed Event Register (TER)). (Not used.) The oscilloscope is running (not stopped). (Not used.)

Return Format <value><NL>

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

159

6 Root (:) Commands

See Also

<value> ::= integer in NR1 format.
· "Introduction to Root (:) Commands" on page 143 · ":CHANnel<n>:PROTection" on page 225 · ":OPEE (Operation Status Enable Register)" on page 157 · ":OPERegister[:EVENt] (Operation Status Event Register)" on page 161 · ":OVLenable (Overload Event Enable Register)" on page 163 · ":OVLRegister (Overload Event Register)" on page 165 · "*STB (Read Status Byte)" on page 135 · "*SRE (Service Request Enable)" on page 133 · ":MTERegister[:EVENt] (Mask Test Event Event Register)" on page 155 · ":MTEenable (Mask Test Event Enable Register)" on page 153

160

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:OPERegister[:EVENt] (Operation Status Event Register)

Query Syntax

(see page 818)
:OPERegister[:EVENt]?
The :OPERegister[:EVENt]? query returns the integer value contained in the Operation Status Event Register.

From Overload Event Registers

From Mask Test

Event Registers

Arm Reg

AER?

Run bit set if oscilloscope not stopped

OVLR

MTE

Wait Trig

Run

:OPEReration:CONDition? Operation Status Condition Register

11

9

5

3

OVLR

MTE

Wait Trig

Run

:OPERation[:EVENt]? Operation Status Event Register

14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

:OPEE :OPEE? Operation Status Enable (Mask) Register

 OR
To OPER bit in Statu s Byte Register

Table 50 Operation Status Event Register

Bit 14-12 11 10 9 8-6 5
4 3

Name --OVLR --MTE --Wait Trig --Run

Description --Overload --Mask Test Event --Wait Trig
--Running

2-0

---

---

When Set (1 = High = True), Indicates: (Not used.) A 50 input overload has occurred. (Not used.) A mask test event has occurred. (Not used.) The trigger is armed (set by the Trigger Armed Event Register (TER)). (Not used.) The oscilloscope has gone from a stop state to a single or running state. (Not used.)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

161

6 Root (:) Commands

Return Format <value><NL>

See Also

<value> ::= integer in NR1 format.
· "Introduction to Root (:) Commands" on page 143 · ":CHANnel<n>:PROTection" on page 225 · ":OPEE (Operation Status Enable Register)" on page 157 · ":OPERegister:CONDition (Operation Status Condition Register)" on page 159 · ":OVLenable (Overload Event Enable Register)" on page 163 · ":OVLRegister (Overload Event Register)" on page 165 · "*STB (Read Status Byte)" on page 135 · "*SRE (Service Request Enable)" on page 133 · ":MTERegister[:EVENt] (Mask Test Event Event Register)" on page 155 · ":MTEenable (Mask Test Event Enable Register)" on page 153

162

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:OVLenable (Overload Event Enable Register)
(see page 818) Command Syntax :OVLenable <enable_mask>
<enable_mask> ::= 16-bit integer
The overload enable mask is an integer representing an input as described in the following table. The :OVLenable command sets the mask in the Overload Event Enable Register and enables the reporting of the Overload Event Register. If enabled, such an event will set bit 11 in the Operation Status Register.

Chan2 Chan1 Fault Fault

Chan2 Chan1 :OVLR? OVL OVL Overload Event Register

15 14 13 12 11 10 9

8

7

6

5

4

3

2

1

0

:OVL :OVL? Overload Event Enable (Mask) Register

 OR

To OVLR bit in Op e rati o n Status
Register

Table 51 Overload Event Enable Register (OVL)

Bit

Description

15-8

---

7

Channel 2 Fault

6

Channel 1 Fault

5-2

---

1

Channel 2 OVL

0

Channel 1 OVL

When Set (1 = High = True), Enables: (Not used.) Event when fault occurs on Channel 2 input. Event when fault occurs on Channel 1 input. (Not used.) Event when overload occurs on Channel 2 input. Event when overload occurs on Channel 1 input.

Query Syntax

:OVLenable?
The :OVLenable query returns the current enable mask value contained in the Overload Event Enable Register.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

163

6 Root (:) Commands

Return Format <enable_mask><NL>

See Also

<enable_mask> ::= integer in NR1 format.
· "Introduction to Root (:) Commands" on page 143 · ":CHANnel<n>:PROTection" on page 225 · ":OPEE (Operation Status Enable Register)" on page 157 · ":OPERegister:CONDition (Operation Status Condition Register)" on page 159 · ":OPERegister[:EVENt] (Operation Status Event Register)" on page 161 · ":OVLRegister (Overload Event Register)" on page 165 · "*STB (Read Status Byte)" on page 135 · "*SRE (Service Request Enable)" on page 133

164

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:OVLRegister (Overload Event Register)

Query Syntax

(see page 818)
:OVLRegister?
The :OVLRegister query returns the overload protection value stored in the Overload Event Register (OVLR). A "1" indicates an overload has occurred.

Chan2 Chan1 Fault Fault

Chan2 Chan1 :OVLR? OVL OVL Overload Event Register

15 14 13 12 11 10 9

8

7

6

5

4

3

2

1

0

:OVL :OVL? Overload Event Enable (Mask) Register

 OR

To OVLR bit in Op e rati o n Status
Register

Table 52 Overload Event Register (OVLR)

Bit

Description

15-8

---

7

Channel 2 Fault

6

Channel 1 Fault

5-2

---

1

Channel 2 OVL

0

Channel 1 OVL

When Set (1 = High = True), Indicates: (Not used.) Fault has occurred on Channel 2 input. Fault has occurred on Channel 1 input. (Not used.) Overload has occurred on Channel 2 input. Overload has occurred on Channel 1 input.

Return Format <value><NL>

See Also

<value> ::= integer in NR1 format.
· "Introduction to Root (:) Commands" on page 143 · ":CHANnel<n>:PROTection" on page 225 · ":OPEE (Operation Status Enable Register)" on page 157 · ":OVLenable (Overload Event Enable Register)" on page 163 · "*STB (Read Status Byte)" on page 135

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

165

6 Root (:) Commands
· "*SRE (Service Request Enable)" on page 133

166

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:PRINt

(see page 818)

Command Syntax :PRINt [<options>]

<options> ::= [<print option>][,..,<print option>]

<print option> ::= {COLor | GRAYscale | PRINter0 | PRINter1 | BMP8bit | BMP | PNG | NOFactors | FACTors}

See Also

The <print option> parameter may be repeated up to 5 times.
The PRINt command formats the output according to the currently selected format (device). If an option is not specified, the value selected in the Print Config menu is used.
· "Introduction to Root (:) Commands" on page 143 · "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:FACTors" on page 325 · ":HARDcopy:GRAYscale" on page 748 · ":DISPlay:DATA" on page 242

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

167

6 Root (:) Commands

:RUN

Command Syntax See Also
Example Code

(see page 818)
:RUN
The :RUN command starts repetitive acquisitions. This is the same as pressing the Run key on the front panel. · "Introduction to Root (:) Commands" on page 143 · ":SINGle" on page 170 · ":STOP" on page 172
' RUN_STOP - (not executed in this example) ' - RUN starts the data acquisition for the active waveform display. ' - STOP stops the data acquisition and turns off AUTOSTORE. ' myScope.WriteString ":RUN" ' Start data acquisition. ' myScope.WriteString ":STOP" ' Stop the data acquisition.
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

168

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:SERial

Query Syntax
Return Format: See Also

(see page 818)
:SERial?
The :SERial? query returns the serial number of the instrument.
Unquoted string<NL>
· "Introduction to Root (:) Commands" on page 143

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

169

6 Root (:) Commands

:SINGle

Command Syntax See Also

(see page 818)
:SINGle
The :SINGle command causes the instrument to acquire a single trigger of data. This is the same as pressing the Single key on the front panel. · "Introduction to Root (:) Commands" on page 143 · ":RUN" on page 168 · ":STOP" on page 172

170

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:STATus

(see page 818) Query Syntax :STATus? <source>
<source> ::= {CHANnel<n> | FUNCtion | MATH | SBUS{1} | FFT | WMEMory<r> | ABUS | EXT}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
The :STATus? query reports whether the channel, function, or serial decode bus specified by <source> is displayed.

NOTE

MATH is an alias for FUNCtion.

NOTE

The EXT source is available on 2-channel oscilloscopes only.

Return Format <value><NL>

See Also

<value> ::= {1 | 0}
· "Introduction to Root (:) Commands" on page 143 · ":BLANk" on page 150 · ":CHANnel<n>:DISPlay" on page 215 · ":FUNCtion:DISPlay" on page 302 · ":WMEMory<r>:DISPlay" on page 724 · ":VIEW" on page 174

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

171

6 Root (:) Commands

:STOP

Command Syntax See Also
Example Code

(see page 818)
:STOP
The :STOP command stops the acquisition. This is the same as pressing the Stop key on the front panel. · "Introduction to Root (:) Commands" on page 143 · ":RUN" on page 168 · ":SINGle" on page 170 · "Example Code" on page 168

172

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Root (:) Commands 6

:TER (Trigger Event Register)

(see page 818)

Query Syntax Return Format

:TER?
The :TER? query reads the Trigger Event Register. After the Trigger Event Register is read, it is cleared. A one indicates a trigger has occurred. A zero indicates a trigger has not occurred. The Trigger Event Register is summarized in the TRG bit of the Status Byte Register (STB). A Service Request (SRQ) can be generated when the TRG bit of the Status Byte transitions, and the TRG bit is set in the Service Request Enable register. The Trigger Event Register must be cleared each time you want a new service request to be generated.
<value><NL>

See Also

<value> ::= {1 | 0}; a 16-bit integer in NR1 format.
· "Introduction to Root (:) Commands" on page 143 · "*SRE (Service Request Enable)" on page 133 · "*STB (Read Status Byte)" on page 135

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

173

6 Root (:) Commands

:VIEW

(see page 818) Command Syntax :VIEW <source>
<source> ::= {CHANnel<n> | FUNCtion | MATH | SBUS{1} | FFT | WMEMory<r> | ABUS | EXT}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
The :VIEW command turns on the specified channel, function, or serial decode bus.

NOTE

MATH is an alias for FUNCtion.

NOTE

The EXT source is available on 2-channel oscilloscopes only.

See Also Example Code

· "Introduction to Root (:) Commands" on page 143 · ":BLANk" on page 150 · ":CHANnel<n>:DISPlay" on page 215 · ":FUNCtion:DISPlay" on page 302 · ":WMEMory<r>:DISPlay" on page 724 · ":STATus" on page 171
' VIEW_BLANK - (not executed in this example) ' - VIEW turns on (starts displaying) a channel. ' - BLANK turns off (stops displaying) a channel. ' myScope.WriteString ":BLANk CHANnel1" ' Turn channel 1 off. ' myScope.WriteString ":VIEW CHANnel1" ' Turn channel 1 on.
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

174

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
7 :ABUS Commands

Control all oscilloscope functions associated with a bus made up of analog channels. See "Introduction to :ABUS Commands" on page 176.

Table 53 :ABUS Commands Summary

Command

Query

:ABUS:BIT<m> {{0 |
OFF} | {1 | ON}} (see page 177)

:ABUS:BIT<m>? (see page 177)

:ABUS:BITS
<channel_list>, {{0 |
OFF} | {1 | ON}} (see page 178)

:ABUS:BITS? (see page 178)

:ABUS:CLEar (see page 180)
:ABUS:DISPlay {{0 | OFF} | {1 | ON}} (see page 181)
:ABUS:LABel <string> (see page 182)
:ABUS:MASK <mask> (see page 183)

n/a
:ABUS:DISPlay? (see page 181)
:ABUS:LABel? (see page 182) :ABUS:MASK? (see page 183)

Options and Query Returns {0 | 1} <m> ::= an integer in NR1 format
<channel_list>, {0 | 1} <channel_list> ::= (@<m>,<m>:<m> ...) where "," is separator and ":" is range <m> ::= an integer in NR1 format n/a
{0 | 1}
<string> ::= quoted ASCII string up to 10 characters <mask> ::= 32-bit integer in decimal, <nondecimal>, or <string> <nondecimal> ::= #Hnn...n where n ::= {0,..,9 | A,..,F} for hexadecimal <nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F} for hexadecimal

175

7 :ABUS Commands
Introduction to The ABUS subsystem commands control the viewing, labeling, and analog channel :ABUS Commands bus makeup.
Reporting the Setup Use :ABUS? to query setup information for the ABUS subsystem. Return Format The following is a sample response from the :ABUS? query. In this case, the query was issued following a *RST command.
:ABUS:DISP 0;LAB "ABUS1";MASK +0

176

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:ABUS Commands 7

:ABUS:BIT<m>

(see page 818) Command Syntax :ABUS:BIT<m> <display>
<display> ::= {{1 | ON} | {0 | OFF}}
<m> ::= An integer is attached as a suffix to BIT and defines the analog channel that is affected by the command.
The :ABUS: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), the bit is included in the definition. If the parameter is a 0 (OFF), the bit is excluded from the definition.

On 2-channel oscillosccopes:

Bit

Channel

0

channel 1

1

channel 2

2

Ext Trig input

On 4-channel oscillosccopes:

Bit

Channel

0

channel 1

1

channel 2

2

channel 3

3

channel 4

Query Syntax Return Format

:ABUS:BIT<m>?
The :ABUS:BIT<m>? query returns the value indicating whether the specified bit is included or excluded from the specified bus definition.
<display><NL>

See Also

<display> ::= {0 | 1}
· "Introduction to :ABUS Commands" on page 176 · ":ABUS:BITS" on page 178 · ":ABUS:CLEar" on page 180 · ":ABUS:DISPlay" on page 181 · ":ABUS:LABel" on page 182 · ":ABUS:MASK" on page 183

Example Code ' Include analog channel 2 in the bus:
myScope.WriteString ":ABUS:BIT1 ON"

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

177

7 :ABUS Commands

:ABUS:BITS

(see page 818) Command Syntax :ABUS:BITS <channel_list>, <display>
<channel_list> ::= (@<m>,<m>:<m>, ...) where commas separate bits and colons define bit ranges.
<m> ::= An integer defines the channel affected by the command.
<display> ::= {{1 | ON} | {0 | OFF}}
The :ABUS:BITS command includes or excludes the selected bits in the channel list in the definition of the analog bus. If the parameter is a 1 (ON), then the bits in the channel list are included as part of the analog bus definition. If the parameter is a 0 (OFF), then the bits in the channel list are excluded from the definition of the analog bus. The threshold voltage level for each channel is set using the trigger-level commands of the source. For analog channels, the trigger-level command to use depends on the current Trigger Mode. For the External Trigger channel, use :EXTernal:LEVel command. The following table shows the bit definitions for <m> on the different oscilloscopes:

On 2-channel oscillosccopes:

Bit

Channel

0

channel 1

1

channel 2

2

Ext Trig input

On 4-channel oscillosccopes:

Bit

Channel

0

channel 1

1

channel 2

2

channel 3

3

channel 4

Query Syntax :ABUS:BITS? The :ABUS:BITS? query returns the definition for the specified bus.

Return Format <channel_list>, <display><NL>

<channel_list> ::= (@<m>,<m>:<m>, ...) where commas separate bits and colons define bit ranges.

See Also

<display> ::= {0 | 1}
· "Introduction to :ABUS Commands" on page 176 · ":ABUS:BIT<m>" on page 177 · ":ABUS:CLEar" on page 180 · ":ABUS:DISPlay" on page 181

178

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:ABUS Commands 7

Example Code

· ":ABUS:LABel" on page 182 · ":ABUS:MASK" on page 183
' Include the first and third channel in the bus: myScope.WriteString ":ABUS:BITS (@0,2), ON"

' Include the first three channels in the bus: myScope.WriteString ":ABUS:BITS (@0:2), ON"

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

179

7 :ABUS Commands

:ABUS:CLEar

Command Syntax See Also

(see page 818)
:ABUS:CLEar
The :ABUS:CLEar command excludes all of the analog channels from the selected bus definition. · "Introduction to :ABUS Commands" on page 176 · ":ABUS:BIT<m>" on page 177 · ":ABUS:BITS" on page 178 · ":ABUS:DISPlay" on page 181 · ":ABUS:LABel" on page 182 · ":ABUS:MASK" on page 183

180

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:ABUS Commands 7

:ABUS:DISPlay

(see page 818)

Command Syntax :ABUS:DISPlay <value>

<value> ::= {{1 | ON} | {0 | OFF}}
The :ABUS:DISPlay command enables or disables the view of the selected bus.

Query Syntax Return Format

:ABUS:DISPlay?
The :ABUS:DISPlay? query returns the display value of the selected bus.
<value><NL>

See Also

<value> ::= {0 | 1}
· "Introduction to :ABUS Commands" on page 176 · ":ABUS:BIT<m>" on page 177 · ":ABUS:BITS" on page 178 · ":ABUS:CLEar" on page 180 · ":ABUS:LABel" on page 182 · ":ABUS:MASK" on page 183

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

181

7 :ABUS Commands

:ABUS:LABel

(see page 818) Command Syntax :ABUS:LABel <quoted_string>
<quoted_string> ::= any series of 10 or less characters as a quoted ASCII string.
The :ABUS: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.

NOTE

Label strings are 10 characters or less, and may contain any commonly used ASCII characters. Labels with more than 10 characters are truncated to 10 characters.

Query Syntax Return Format

:ABUS:LABel?
The :ABUS:LABel? query returns the name of the specified bus.
<quoted_string><NL>

See Also

<quoted_string> ::= any series of 10 or less characters as a quoted ASCII string.
· "Introduction to :ABUS Commands" on page 176 · ":ABUS:BIT<m>" on page 177 · ":ABUS:BITS" on page 178 · ":ABUS:CLEar" on page 180 · ":ABUS:DISPlay" on page 181 · ":ABUS:MASK" on page 183 · ":CHANnel:LABel" on page 736 · ":DISPlay:LABList" on page 245

Example Code ' Set the analog channel bus label to "DATA":
myScope.WriteString ":ABUS:LABel 'Data'"

182

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:ABUS Commands 7

:ABUS:MASK

(see page 818)

Command Syntax :ABUS:MASK <mask>

<mask> ::= 32-bit integer in decimal, <nondecimal>, or <string>

<nondecimal> ::= #Hnn...n where n ::= {0,..,9 | A,..,F} for hexadecimal

<nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary

Query Syntax
Return Format See Also

<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F} for hexadecimal
The :ABUS:MASK command defines the bits included and excluded in the selected bus according to the mask. Set a mask bit to a "1" to include that bit in the selected bus, and set a mask bit to a "0" to exclude it.
:ABUS:MASK?
The :ABUS:MASK? query returns the mask value for the specified bus.
<mask><NL> in decimal format
· "Introduction to :ABUS Commands" on page 176 · ":ABUS:BIT<m>" on page 177 · ":ABUS:BITS" on page 178 · ":ABUS:CLEar" on page 180 · ":ABUS:DISPlay" on page 181 · ":ABUS:LABel" on page 182

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

183

7 :ABUS Commands

184

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
8 :ACQuire Commands

Set the parameters for acquiring and storing data. See "Introduction to :ACQuire Commands" on page 185.

Table 54 :ACQuire Commands Summary

Command

Query

Options and Query Returns

:ACQuire:COMPlete
<complete> (see page 187)

:ACQuire:COMPlete? (see page 187)

<complete> ::= 100; an integer in NR1 format

:ACQuire:COUNt

:ACQuire:COUNt? (see <count> ::= an integer from 2 to

<count> (see page 188) page 188)

65536 in NR1 format

:ACQuire:MODE <mode> :ACQuire:MODE? (see

(see page 189)

page 189)

<mode> ::= {RTIMe | SEGMented}

n/a

:ACQuire:POINts? (see <# points> ::= an integer in NR1

page 190)

format

:ACQuire:SEGMented:AN n/a ALyze (see page 191)

n/a (with SGM license)

:ACQuire:SEGMented:CO :ACQuire:SEGMented:CO <count> ::= an integer from 2 to

UNt <count> (see

UNt? (see page 192)

500 in NR1 format (with SGM

page 192)

license)

:ACQuire:SEGMented:IN :ACQuire:SEGMented:IN <index> ::= an integer from 1 to

Dex <index> (see

Dex? (see page 193)

500 in NR1 format (with SGM

page 193)

license)

n/a

:ACQuire:SRATe? (see <sample_rate> ::= sample rate

page 196)

(samples/s) in NR3 format

:ACQuire:TYPE <type> :ACQuire:TYPE? (see

(see page 197)

page 197)

<type> ::= {NORMal | AVERage | HRESolution | PEAK}

Introduction to :ACQuire
Commands

The ACQuire subsystem controls the way in which waveforms are acquired. These acquisition types are available: normal, averaging, peak detect, and high resolution.

Normal

185

8 :ACQuire Commands
The :ACQuire:TYPE NORMal command sets the oscilloscope in the normal acquisition mode. For the majority of user models and signals, NORMal mode yields the best oscilloscope picture of the waveform. Averaging The :ACQuire:TYPE AVERage command sets the oscilloscope in the averaging mode. You can set the count by sending the :ACQuire:COUNt command followed by the number of averages. In this mode, the value for averages is an integer from 2 to 65536. The COUNt value determines the number of averages that must be acquired. High-Resolution The :ACQuire:TYPE HRESolution command sets the oscilloscope in the high-resolution mode (also known as smoothing). This mode is used to reduce noise at slower sweep speeds where the digitizer samples faster than needed to fill memory for the displayed time range. Instead of decimating samples, they are averaged together to provide the value for one display point. The slower the sweep speed, the greater the number of samples that are averaged together for each display point. Peak Detect The :ACQuire:TYPE PEAK command sets the oscilloscope in the peak detect mode. In this mode, :ACQuire:COUNt has no meaning. Reporting the Setup Use :ACQuire? to query setup information for the ACQuire subsystem. Return Format The following is a sample response from the :ACQuire? query. In this case, the query was issued following a *RST command.
:ACQ:MODE RTIM;TYPE NORM;COMP 100;COUNT 8;SEGM:COUN 2

186

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:ACQuire Commands 8

:ACQuire:COMPlete

(see page 818)

Command Syntax :ACQuire:COMPlete <complete>

Query Syntax Return Format

<complete> ::= 100; an integer in NR1 format
The :ACQuire:COMPlete command affects the operation of the :DIGitize command. It specifies the minimum completion criteria for an acquisition. The parameter determines the percentage of the time buckets that must be "full" before an acquisition is considered complete. If :ACQuire:TYPE is NORMal, it needs only one sample per time bucket for that time bucket to be considered full. The only legal value for the :COMPlete command is 100. All time buckets must contain data for the acquisition to be considered complete.
:ACQuire:COMPlete?
The :ACQuire:COMPlete? query returns the completion criteria (100) for the currently selected mode.
<completion_criteria><NL>

See Also

<completion_criteria> ::= 100; an integer in NR1 format
· "Introduction to :ACQuire Commands" on page 185 · ":ACQuire:TYPE" on page 197 · ":DIGitize" on page 151 · ":WAVeform:POINts" on page 665

Example Code

' AQUIRE_COMPLETE - Specifies the minimum completion criteria for ' an acquisition. The parameter determines the percentage of time ' buckets needed to be "full" before an acquisition is considered ' to be complete. myScope.WriteString ":ACQuire:COMPlete 100"
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

187

8 :ACQuire Commands

:ACQuire:COUNt

(see page 818) Command Syntax :ACQuire:COUNt <count>
<count> ::= integer in NR1 format
In averaging mode, the :ACQuire:COUNt command specifies the number of values to be averaged for each time bucket before the acquisition is considered to be complete for that time bucket. When :ACQuire:TYPE is set to AVERage, the count can be set to any value from 2 to 65536.

NOTE

The :ACQuire:COUNt 1 command has been deprecated. The AVERage acquisition type with a count of 1 is functionally equivalent to the HRESolution acquisition type; however, you should select the high-resolution acquisition mode with the :ACQuire:TYPE HRESolution command instead.

Query Syntax Return Format

:ACQuire:COUNT?
The :ACQuire:COUNT? query returns the currently selected count value for averaging mode.
<count_argument><NL>

See Also

<count_argument> ::= an integer from 2 to 65536 in NR1 format
· "Introduction to :ACQuire Commands" on page 185 · ":ACQuire:TYPE" on page 197 · ":DIGitize" on page 151 · ":WAVeform:COUNt" on page 661

188

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:ACQuire Commands 8

:ACQuire:MODE

(see page 818) Command Syntax :ACQuire:MODE <mode>
<mode> ::= {RTIMe | SEGMented}
The :ACQuire:MODE command sets the acquisition mode of the oscilloscope. · The :ACQuire:MODE RTIMe command sets the oscilloscope in real time mode.

NOTE

The obsolete command ACQuire:TYPE:REALtime is functionally equivalent to sending ACQuire:MODE RTIMe; TYPE NORMal.

Query Syntax Return Format

· The :ACQuire:MODE SEGMented command sets the oscilloscope in segmented memory mode. Segmented memory is available on the DSOX1200-Series oscilloscope models.
:ACQuire:MODE?
The :ACQuire:MODE? query returns the acquisition mode of the oscilloscope.
<mode_argument><NL>

See Also

<mode_argument> ::= {RTIM | SEGM}
· "Introduction to :ACQuire Commands" on page 185 · ":ACQuire:TYPE" on page 197

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

189

8 :ACQuire Commands

:ACQuire:POINts

(see page 818)

Query Syntax Return Format

:ACQuire:POINts?
The :ACQuire:POINts? query returns the number of data points that the hardware will acquire from the input signal. The number of points acquired is not directly controllable. To set the number of points to be transferred from the oscilloscope, use the command :WAVeform:POINts. The :WAVeform:POINts? query will return the number of points available to be transferred from the oscilloscope.
<points_argument><NL>

See Also

<points_argument> ::= an integer in NR1 format
· "Introduction to :ACQuire Commands" on page 185 · ":DIGitize" on page 151 · ":WAVeform:POINts" on page 665

190

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:ACQuire Commands 8

:ACQuire:SEGMented:ANALyze

Command Syntax

(see page 818)
:ACQuire:SEGMented:ANALyze

NOTE

Segmented memory is available on the DSOX1200-Series oscilloscope models that have the SGM license.

See Also

This command calculates measurement statistics and/or infinite persistence over all segments that have been acquired. It corresponds to the front panel Analyze Segments softkey which appears in the Segmented Memory menu. In order to use this command, the oscilloscope must be stopped and in segmented acquisition mode, with either quick measurements or infinite persistence on. · ":ACQuire:MODE" on page 189 · ":ACQuire:SEGMented:COUNt" on page 192 · "Introduction to :ACQuire Commands" on page 185

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

191

8 :ACQuire Commands

:ACQuire:SEGMented:COUNt

(see page 818) Command Syntax :ACQuire:SEGMented:COUNt <count>
<count> ::= an integer from 2 to 500 in NR1 format

NOTE

Segmented memory is available on the DSOX1200-Series oscilloscope models that have the SGM license.

Query Syntax Return Format

The :ACQuire:SEGMented:COUNt command sets the number of memory segments to acquire. The segmented memory acquisition mode is enabled with the :ACQuire:MODE command, and data is acquired using the :DIGitize, :SINGle, or :RUN commands. The number of memory segments in the current acquisition is returned by the :WAVeform:SEGMented:COUNt? query.
:ACQuire:SEGMented:COUNt?
The :ACQuire:SEGMented:COUNt? query returns the current count setting.
<count><NL>

See Also Example Code

<count> ::= an integer from 2 to 500 in NR1 format
· ":ACQuire:MODE" on page 189 · ":DIGitize" on page 151 · ":SINGle" on page 170 · ":RUN" on page 168 · ":WAVeform:SEGMented:COUNt" on page 672 · ":ACQuire:SEGMented:ANALyze" on page 191 · "Introduction to :ACQuire Commands" on page 185
· "Example Code" on page 193

192

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:ACQuire Commands 8

:ACQuire:SEGMented:INDex

(see page 818) Command Syntax :ACQuire:SEGMented:INDex <index>
<index> ::= an integer from 1 to 500 in NR1 format

NOTE

Segmented memory is available on the DSOX1200-Series oscilloscope models that have the SGM license.

Query Syntax Return Format

The :ACQuire:SEGMented:INDex command sets the index into the memory segments that have been acquired. The segmented memory acquisition mode is enabled with the :ACQuire:MODE command. The number of segments to acquire is set using the :ACQuire:SEGMented:COUNt command, and data is acquired using the :DIGitize, :SINGle, or :RUN commands. The number of memory segments that have been acquired is returned by the :WAVeform:SEGMented:COUNt? query. The time tag of the currently indexed memory segment is returned by the :WAVeform:SEGMented:TTAG? query.
:ACQuire:SEGMented:INDex?
The :ACQuire:SEGMented:INDex? query returns the current segmented memory index setting.
<index><NL>

See Also

<index> ::= an integer from 1 to 500 in NR1 format
· ":ACQuire:MODE" on page 189 · ":ACQuire:SEGMented:COUNt" on page 192 · ":DIGitize" on page 151 · ":SINGle" on page 170 · ":RUN" on page 168 · ":WAVeform:SEGMented:COUNt" on page 672 · ":WAVeform:SEGMented:TTAG" on page 673 · ":ACQuire:SEGMented:ANALyze" on page 191 · "Introduction to :ACQuire Commands" on page 185

Example Code ' Segmented memory commands example.
' -------------------------------------------------------------------

Option Explicit

Public myMgr As VisaComLib.ResourceManager

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

193

8 :ACQuire Commands

Public myScope As VisaComLib.FormattedIO488 Public varQueryResult As Variant Public strQueryResult As String
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Main()
On Error GoTo VisaComError
' Create the VISA COM I/O resource. Set myMgr = New VisaComLib.ResourceManager Set myScope = New VisaComLib.FormattedIO488 Set myScope.IO = _
myMgr.Open("USB0::0x0957::0x17A6::US50210029::0::INSTR") myScope.IO.Clear ' Clear the interface.
' Turn on segmented memory acquisition mode. myScope.WriteString ":ACQuire:MODE SEGMented" myScope.WriteString ":ACQuire:MODE?" strQueryResult = myScope.ReadString Debug.Print "Acquisition mode: " + strQueryResult
' Set the number of segments to 25. myScope.WriteString ":ACQuire:SEGMented:COUNt 25" myScope.WriteString ":ACQuire:SEGMented:COUNt?" strQueryResult = myScope.ReadString Debug.Print "Acquisition memory segments: " + strQueryResult
' If data will be acquired within the IO timeout: 'myScope.IO.Timeout = 10000 'myScope.WriteString ":DIGitize" 'Debug.Print ":DIGitize blocks until all segments acquired." 'myScope.WriteString ":WAVeform:SEGMented:COUNt?" 'varQueryResult = myScope.ReadNumber
' Or, to poll until the desired number of segments acquired: myScope.WriteString ":SINGle" Debug.Print ":SINGle does not block until all segments acquired." Do
Sleep 100 ' Small wait to prevent excessive queries. myScope.WriteString ":WAVeform:SEGMented:COUNt?" varQueryResult = myScope.ReadNumber Loop Until varQueryResult = 25
Debug.Print "Number of segments in acquired data: " _ + FormatNumber(varQueryResult)
Dim lngSegments As Long lngSegments = varQueryResult
' For each segment: Dim dblTimeTag As Double Dim lngI As Long
For lngI = lngSegments To 1 Step -1

194

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:ACQuire Commands 8
' Set the segmented memory index. myScope.WriteString ":ACQuire:SEGMented:INDex " + CStr(lngI) myScope.WriteString ":ACQuire:SEGMented:INDex?" strQueryResult = myScope.ReadString Debug.Print "Acquisition memory segment index: " + strQueryResult
' Display the segment time tag. myScope.WriteString ":WAVeform:SEGMented:TTAG?" dblTimeTag = myScope.ReadNumber Debug.Print "Segment " + CStr(lngI) + " time tag: " _
+ FormatNumber(dblTimeTag, 12)
Next lngI
Exit Sub
VisaComError: MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End Sub

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

195

8 :ACQuire Commands

:ACQuire:SRATe

(see page 818)

Query Syntax Return Format

:ACQuire:SRATe?
The :ACQuire:SRATe? query returns the current oscilloscope acquisition sample rate. The sample rate is not directly controllable.
<sample_rate><NL>

See Also

<sample_rate> ::= sample rate in NR3 format
· "Introduction to :ACQuire Commands" on page 185 · ":ACQuire:POINts" on page 190

196

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:ACQuire Commands 8

:ACQuire:TYPE

(see page 818) Command Syntax :ACQuire:TYPE <type>
<type> ::= {NORMal | AVERage | HRESolution | PEAK}
The :ACQuire:TYPE command selects the type of data acquisition that is to take place. The acquisition types are: · NORMal -- sets the oscilloscope in the normal mode. · AVERage -- sets the oscilloscope in the averaging mode. You can set the count
by sending the :ACQuire:COUNt command followed by the number of averages. In this mode, the value for averages is an integer from 1 to 65536. The COUNt value determines the number of averages that must be acquired. The AVERage type is not available when in segmented memory mode (:ACQuire:MODE SEGMented). · HRESolution -- sets the oscilloscope in the high-resolution mode (also known as smoothing). This mode is used to reduce noise at slower sweep speeds where the digitizer samples faster than needed to fill memory for the displayed time range. For example, if the digitizer samples at 200 MSa/s, but the effective sample rate is 1 MSa/s (because of a slower sweep speed), only 1 out of every 200 samples needs to be stored. Instead of storing one sample (and throwing others away), the 200 samples are averaged together to provide the value for one display point. The slower the sweep speed, the greater the number of samples that are averaged together for each display point. · PEAK -- sets the oscilloscope in the peak detect mode. In this mode, :ACQuire:COUNt has no meaning. The AVERage and HRESolution types can give you extra bits of vertical resolution. See the User's Guide for an explanation. When getting waveform data acquired using the AVERage and HRESolution types, be sure to use the WORD or ASCii waveform data formats to get the extra bits of vertical resolution.

NOTE

The obsolete command ACQuire:TYPE:REALtime is functionally equivalent to sending ACQuire:MODE RTIME; TYPE NORMal.

Query Syntax Return Format

:ACQuire:TYPE?
The :ACQuire:TYPE? query returns the current acquisition type.
<acq_type><NL> <acq_type> ::= {NORM | AVER | HRES | PEAK}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

197

8 :ACQuire Commands

See Also Example Code

· "Introduction to :ACQuire Commands" on page 185 · ":ACQuire:COUNt" on page 188 · ":ACQuire:MODE" on page 189 · ":DIGitize" on page 151 · ":WAVeform:FORMat" on page 664 · ":WAVeform:TYPE" on page 679 · ":WAVeform:PREamble" on page 669
' AQUIRE_TYPE - Sets the acquisition mode, which can be NORMAL, ' PEAK, or AVERAGE. myScope.WriteString ":ACQuire:TYPE NORMal"
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

198

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
9 :CALibrate Commands

Utility commands for viewing calibration status and for starting the user calibration procedure. See "Introduction to :CALibrate Commands" on page 200.

Table 55 :CALibrate Commands Summary

Command

Query

Options and Query Returns

n/a

:CALibrate:DATE? (see <return value> ::=

page 201)

<year>,<month>,<day>; all in NR1

format

:CALibrate:LABel
<string> (see page 202)

:CALibrate:LABel? (see page 202)

<string> ::= quoted ASCII string up to 32 characters

:CALibrate:OUTPut
<signal> (see page 203)

:CALibrate:OUTPut? (see page 203)

<signal> ::= {TRIGgers | MASK | WAVEgen}

n/a

:CALibrate:PROTected? {"PROTected" | "UNPRotected"}

(see page 204)

:CALibrate:STARt (see n/a

n/a

page 205)

n/a

:CALibrate:STATus?

<return value> ::=

(see page 206)

<status_code>,<status_string>

<status_code> ::= an integer status code

<status_string> ::= an ASCII status string

n/a

:CALibrate:TEMPeratur <return value> ::= degrees C

e? (see page 207)

delta since last cal in NR3

format

n/a

:CALibrate:TIME? (see <return value> ::=

page 208)

<hours>,<minutes>,<seconds>; all

in NR1 format

199

9 :CALibrate Commands

Introduction to :CALibrate Commands

The CALibrate subsystem provides utility commands for: · Determining the state of the calibration factor protection switch
(CAL PROTECT). · Saving and querying the calibration label string. · Reporting the calibration time and date. · Reporting changes in the temperature since the last calibration. · Starting the user calibration procedure.

200

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CALibrate Commands 9

:CALibrate:DATE

(see page 818)

Query Syntax Return Format

:CALibrate:DATE?
The :CALibrate:DATE? query returns the date of the last calibration.
<date><NL>

<date> ::= year,month,day in NR1 format<NL>
See Also · "Introduction to :CALibrate Commands" on page 200

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

201

9 :CALibrate Commands

:CALibrate:LABel

(see page 818)

Command Syntax :CALibrate:LABel <string>

Query Syntax Return Format

<string> ::= quoted ASCII string of up to 32 characters in length, not including the quotes
The CALibrate:LABel command saves a string that is up to 32 characters in length into the instrument's non-volatile memory. The string may be used to record calibration dates or other information as needed.
:CALibrate:LABel?
The :CALibrate:LABel? query returns the contents of the calibration label string.
<string><NL>

<string>::= unquoted ASCII string of up to 32 characters in length
See Also · "Introduction to :CALibrate Commands" on page 200

202

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CALibrate Commands 9

:CALibrate:OUTPut

(see page 818)

Command Syntax :CALibrate:OUTPut <signal>

Query Syntax Return Format

<signal> ::= {TRIGgers | MASK | OFF}
For oscilloscopes that have a built-in waveform generator (G-suffix models), the :CALibrate:OUTPut command sets the signal that is available on the Gen Out BNC: · TRIGgers -- pulse when a trigger event occurs. · MASK -- signal from mask test indicating a failure. · OFF -- either no signal or the waveform generator output signal when
:WGEN:OUTPut is ON.
:CALibrate:OUTPut?
The :CALibrate:OUTPut query returns the Gen Out BNC signal selection.
<signal><NL>

See Also

<signal> ::= {TRIG | MASK | OFF}
· "Introduction to :CALibrate Commands" on page 200 · ":WGEN:OUTPut" on page 711

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

203

9 :CALibrate Commands

:CALibrate:PROTected

(see page 818)

Query Syntax Return Format

:CALibrate:PROTected?
The :CALibrate:PROTected? query returns the rear-panel calibration protect (CAL PROTECT) button state. The value "PROTected" indicates calibration is disabled, and "UNPRotected" indicates calibration is enabled.
<switch><NL>

<switch> ::= {"PROTected" | "UNPRotected"}
See Also · "Introduction to :CALibrate Commands" on page 200

204

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CALibrate Commands 9

:CALibrate:STARt

Command Syntax

(see page 818)
:CALibrate:STARt
The CALibrate:STARt command starts the user calibration procedure.

NOTE

Before starting the user calibration procedure, you must set the rear panel CALIBRATION switch to UNPROTECTED, and you must connect BNC cables from the TRIG OUT connector to the analog channel inputs. See the User's Guide for details.

See Also · "Introduction to :CALibrate Commands" on page 200 · ":CALibrate:PROTected" on page 204

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

205

9 :CALibrate Commands

:CALibrate:STATus

(see page 818)

Query Syntax Return Format

:CALibrate:STATus?
The :CALibrate:STATus? query returns the summary results of the last user calibration procedure.
<return value><NL>

<return value> ::= <status_code>,<status_string>

<status_code> ::= an integer status code

<status_string> ::= an ASCII status string
See Also · "Introduction to :CALibrate Commands" on page 200

206

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CALibrate Commands 9

:CALibrate:TEMPerature

(see page 818)

Query Syntax Return Format

:CALibrate:TEMPerature?
The :CALibrate:TEMPerature? query returns the change in temperature since the last user calibration procedure.
<return value><NL>

<return value> ::= degrees C delta since last cal in NR3 format
See Also · "Introduction to :CALibrate Commands" on page 200

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

207

9 :CALibrate Commands

:CALibrate:TIME

(see page 818)

Query Syntax Return Format

:CALibrate:TIME?
The :CALibrate:TIME? query returns the time of the last calibration.
<date><NL>

<date> ::= hour,minutes,seconds in NR1 format
See Also · "Introduction to :CALibrate Commands" on page 200

208

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
10 :CHANnel<n> Commands

Control all oscilloscope functions associated with individual analog channels or groups of channels. See "Introduction to :CHANnel<n> Commands" on page 211.

Table 56 :CHANnel<n> Commands Summary

Command

Query

Options and Query Returns

:CHANnel<n>:BANDwidth :CHANnel<n>:BANDwidth <limit> ::= 25E6 in NR3 format

<limit> (see page 212) ? [MAXimum] (see page 212)

<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:BWLimit
{{0 | OFF} | {1 | ON}} (see page 213)

:CHANnel<n>:BWLimit? (see page 213)

{0 | 1}
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:COUPling
<coupling> (see page 214)

:CHANnel<n>:COUPling? <coupling> ::= {AC | DC}

(see page 214)

<n> ::= 1 to (# analog channels)

in NR1 format

:CHANnel<n>:DISPlay
{{0 | OFF} | {1 | ON}} (see page 215)

:CHANnel<n>:DISPlay? (see page 215)

{0 | 1}
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:IMPedance :CHANnel<n>:IMPedance <impedance> ::= ONEMeg

<impedance> (see page 216)

? (see page 216)

<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:INVert
{{0 | OFF} | {1 | ON}} (see page 217)

:CHANnel<n>:INVert? (see page 217)

{0 | 1}
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:LABel
<string> (see page 218)

:CHANnel<n>:LABel? (see page 218)

<string> ::= any series of 10 or less ASCII characters enclosed in quotation marks
<n> ::= 1 to (# analog channels) in NR1 format

209

10 :CHANnel<n> Commands

Table 56 :CHANnel<n> Commands Summary (continued)

Command

Query

Options and Query Returns

:CHANnel<n>:OFFSet
<offset>[suffix] (see page 219)

:CHANnel<n>:OFFSet? (see page 219)

<offset> ::= Vertical offset value in NR3 format
[suffix] ::= {V | mV}
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:PROBe
<attenuation> (see page 220)

:CHANnel<n>:PROBe? (see page 220)

<attenuation> ::= Probe attenuation ratio in NR3 format
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:PROBe:HEA
D[:TYPE] <head_param> (see page 221)

:CHANnel<n>:PROBe:HEA
D[:TYPE]? (see page 221)

<head_param> ::= {SEND0 | SEND6 | SEND12 | SEND20 | DIFF0 | DIFF6 | DIFF12 | DIFF20 | NONE}
<n> ::= 1 to (# analog channels) in NR1 format

n/a

:CHANnel<n>:PROBe:ID? <probe id> ::= unquoted ASCII

(see page 222)

string up to 11 characters

<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:PROBe:SKE
W <skew_value> (see page 223)

:CHANnel<n>:PROBe:SKE W? (see page 223)

<skew_value> ::= -100 ns to +100 ns in NR3 format
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:PROBe:STY
Pe <signal type> (see page 224)

:CHANnel<n>:PROBe:STY Pe? (see page 224)

<signal type> ::= {DIFFerential | SINGle}
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:PROTectio :CHANnel<n>:PROTectio NORM

n (see page 225)

n? (see page 225)

<n> ::= 1 to (# analog channels)

in NR1 format

:CHANnel<n>:RANGe
<range>[suffix] (see page 226)

:CHANnel<n>:RANGe? (see page 226)

<range> ::= Vertical full-scale range value in NR3 format
[suffix] ::= {V | mV}
<n> ::= 1 to (# analog channels) in NR1 format

:CHANnel<n>:SCALe
<scale>[suffix] (see page 227)

:CHANnel<n>:SCALe? (see page 227)

<scale> ::= Vertical units per division value in NR3 format
[suffix] ::= {V | mV}
<n> ::= 1 to (# analog channels) in NR1 format

210

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CHANnel<n> Commands 10

Table 56 :CHANnel<n> Commands Summary (continued)

Command

Query

:CHANnel<n>:UNITs

:CHANnel<n>:UNITs?

<units> (see page 228) (see page 228)

:CHANnel<n>:VERNier
{{0 | OFF} | {1 | ON}} (see page 229)

:CHANnel<n>:VERNier? (see page 229)

Options and Query Returns
<units> ::= {VOLT | AMPere} <n> ::= 1 to (# analog channels) in NR1 format
{0 | 1} <n> ::= 1 to (# analog channels) in NR1 format

Introduction to :CHANnel<n>
Commands

<n> ::= 1 to (# analog channels) in NR1 format
The CHANnel<n> subsystem commands control an analog channel (vertical or Y-axis of the oscilloscope). Channels are independently programmable for all offset, probe, coupling, bandwidth limit, inversion, vernier, and range (scale) functions. The channel number (1 or 2) specified in the command selects the analog channel that is affected by the command. A label command provides identifying annotations of up to 10 characters. You can toggle the channel displays on and off with the :CHANnel<n>:DISPlay command as well as with the root level commands :VIEW and :BLANk.

NOTE

The obsolete CHANnel subsystem is supported.

Reporting the Setup Use :CHANnel1? or :CHANnel2? to query setup information for the CHANnel<n> subsystem.
Return Format The following are sample responses from the :CHANnel<n>? query. In this case, the query was issued following a *RST command.
:CHAN1:RANG +40.0E+00;OFFS +0.00000E+00;COUP DC;IMP ONEM;DISP 1;BWL 0; INV 0;LAB "1";UNIT VOLT;PROB +10E+00;PROB:SKEW +0.00E+00;STYP SING

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

211

10 :CHANnel<n> Commands

:CHANnel<n>:BANDwidth

(see page 818)

Command Syntax :CHANnel<n>:BANDwidth <limit>

<limit> ::= 25E6 in NR3 format

<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:BANDwidth command sets the bandwidth limit value and turns on bandwidth limiting (see the :CHANnel<n>:BWLimit command). For waveforms with frequencies below the bandwidth limit, turning the bandwidth limit on removes unwanted high frequency noise from the waveform. Bandwidth limit also limits the trigger signal path of the channel. While you can request any limit; the oscilloscope will choose the only bandwidth limit available, 25 MHz.

Query Syntax Return Format

:CHANnel<n>:BANDwidth? [MAXimum]
The :CHANnel<n>:BANDwidth? query returns the current setting of the low-pass filter. If the bandwidth limit is off, the query returns the full bandwidth of the oscilloscope. When the MAXimum parameter is used, the oscilloscope's maximum possible bandwidth is returned.
<limit><NL>

<limit> ::= 25E6 or full bandwidth in NR3 format
See Also · ":CHANnel<n>:BWLimit" on page 213

212

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CHANnel<n> Commands 10

:CHANnel<n>:BWLimit

(see page 818)

Command Syntax :CHANnel<n>:BWLimit <bwlimit>

<bwlimit> ::= {{1 | ON} | {0 | OFF}

<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:BWLimit command controls an internal low-pass filter. When the filter is on, the bandwidth of the specified channel is limited to approximately 25 MHz.

Query Syntax Return Format

:CHANnel<n>:BWLimit?
The :CHANnel<n>:BWLimit? query returns the current setting of the low-pass filter.
<bwlimit><NL>

<bwlimit> ::= {1 | 0}
See Also · "Introduction to :CHANnel<n> Commands" on page 211

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

213

10 :CHANnel<n> Commands

:CHANnel<n>:COUPling

(see page 818)

Command Syntax :CHANnel<n>:COUPling <coupling>

<coupling> ::= {AC | DC}

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:COUPling command selects the input coupling for the specified channel. The coupling for each analog channel can be set to AC or DC.
:CHANnel<n>:COUPling?
The :CHANnel<n>:COUPling? query returns the current coupling for the specified channel.
<coupling value><NL>

<coupling value> ::= {AC | DC}
See Also · "Introduction to :CHANnel<n> Commands" on page 211

214

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CHANnel<n> Commands 10

:CHANnel<n>:DISPlay

(see page 818)

Command Syntax :CHANnel<n>:DISPlay <display value>

<display value> ::= {{1 | ON} | {0 | OFF}}

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:DISPlay command turns the display of the specified channel on or off.
:CHANnel<n>:DISPlay?
The :CHANnel<n>:DISPlay? query returns the current display setting for the specified channel.
<display value><NL>

See Also

<display value> ::= {1 | 0}
· "Introduction to :CHANnel<n> Commands" on page 211 · ":VIEW" on page 174 · ":BLANk" on page 150 · ":STATus" on page 171

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

215

10 :CHANnel<n> Commands

:CHANnel<n>:IMPedance

(see page 818)

Command Syntax :CHANnel<n>:IMPedance <impedance>

<impedance> ::= ONEMeg

<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:IMPedance command selects the input impedance setting for the specified analog channel. The only legal value for this command is ONEMeg (1 M).

Query Syntax Return Format

:CHANnel<n>:IMPedance?
The :CHANnel<n>:IMPedance? query returns the current input impedance setting for the specified channel.
<impedance value><NL>

<impedance value> ::= ONEM
See Also · "Introduction to :CHANnel<n> Commands" on page 211

216

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CHANnel<n> Commands 10

:CHANnel<n>:INVert

(see page 818)

Command Syntax :CHANnel<n>:INVert <invert value>

<invert value> ::= {{1 | ON} | {0 | OFF}

<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:INVert command selects whether or not to invert the input signal for the specified channel. The inversion may be 1 (ON/inverted) or 0 (OFF/not inverted).

Query Syntax Return Format

:CHANnel<n>:INVert?
The :CHANnel<n>:INVert? query returns the current state of the channel inversion.
<invert value><NL>

<invert value> ::= {0 | 1}
See Also · "Introduction to :CHANnel<n> Commands" on page 211

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

217

10 :CHANnel<n> Commands

:CHANnel<n>:LABel

(see page 818) Command Syntax :CHANnel<n>:LABel <string>
<string> ::= quoted ASCII string <n> ::= 1 to (# analog channels) in NR1 format

NOTE

Label strings are 10 characters or less, and may contain any commonly used ASCII characters. Labels with more than 10 characters are truncated to 10 characters. Lower case characters are converted to upper case.

Query Syntax Return Format

The :CHANnel<n>:LABel command sets the analog channel label to the string that follows. Setting a label for a channel also adds the name to the label list in non-volatile memory (replacing the oldest label in the list).
:CHANnel<n>:LABel?
The :CHANnel<n>:LABel? query returns the label associated with a particular analog channel.
<string><NL>

See Also

<string> ::= quoted ASCII string
· "Introduction to :CHANnel<n> Commands" on page 211 · ":DISPlay:LABel" on page 244 · ":DISPlay:LABList" on page 245

Example Code

' LABEL - This command allows you to write a name (10 characters ' maximum) next to the channel number. It is not necessary, but ' can be useful for organizing the display. myScope.WriteString ":CHANnel1:LABel ""CAL 1""" ' Label ch1 "CAL 1". myScope.WriteString ":CHANnel2:LABel ""CAL2""" ' Label ch1 "CAL2".
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

218

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CHANnel<n> Commands 10

:CHANnel<n>:OFFSet

(see page 818)

Command Syntax :CHANnel<n>:OFFSet <offset> [<suffix>]

<offset> ::= Vertical offset value in NR3 format

<suffix> ::= {V | mV}

<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:OFFSet command sets the value that is represented at center screen for the selected channel. The range of legal values varies with the value set by the :CHANnel<n>:RANGe and :CHANnel<n>:SCALe commands. If you set the offset to a value outside of the legal range, the offset value is automatically set to the nearest legal value. Legal values are affected by the probe attenuation setting.

Query Syntax Return Format

:CHANnel<n>:OFFSet?
The :CHANnel<n>:OFFSet? query returns the current offset value for the selected channel.
<offset><NL>

See Also

<offset> ::= Vertical offset value in NR3 format
· "Introduction to :CHANnel<n> Commands" on page 211 · ":CHANnel<n>:RANGe" on page 226 · ":CHANnel<n>:SCALe" on page 227 · ":CHANnel<n>:PROBe" on page 220

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

219

10 :CHANnel<n> Commands

:CHANnel<n>:PROBe

(see page 818)

Command Syntax :CHANnel<n>:PROBe <attenuation>

<attenuation> ::= probe attenuation ratio in NR3 format

<n> ::= 1 to (# analog channels) in NR1 format

The obsolete attenuation values X1, X10, X20, X100 are also supported.
The :CHANnel<n>:PROBe command specifies the probe attenuation factor for the selected channel. The probe attenuation factor may be 0.1 to 10000. This command does not change the actual input sensitivity of the oscilloscope. It changes the reference constants for scaling the display factors, for making automatic measurements, and for setting trigger levels.

Query Syntax Return Format

:CHANnel<n>:PROBe?
The :CHANnel<n>:PROBe? query returns the current probe attenuation factor for the selected channel.
<attenuation><NL>

See Also

<attenuation> ::= probe attenuation ratio in NR3 format
· "Introduction to :CHANnel<n> Commands" on page 211 · ":CHANnel<n>:RANGe" on page 226 · ":CHANnel<n>:SCALe" on page 227 · ":CHANnel<n>:OFFSet" on page 219

Example Code

' CHANNEL_PROBE - Sets the probe attenuation factor for the selected ' channel. The probe attenuation factor may be set from 0.1 to 10000 . myScope.WriteString ":CHANnel1:PROBe 10" ' Set Probe to 10:1.
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

220

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CHANnel<n> Commands 10

:CHANnel<n>:PROBe:HEAD[:TYPE]

Command Syntax
NOTE

(see page 818) This command is valid only for the 113xA Series probes.

:CHANnel<n>:PROBe:HEAD[:TYPE] <head_param>

<head_param> ::= {SEND0 | SEND6 | SEND12 | SEND20 | DIFF0 | DIFF6 | DIFF12 | DIFF20 | NONE}

Query Syntax Return Format

<n> ::= {1 | 2 | 3 | 4}
The :CHANnel<n>:PROBe:HEAD[:TYPE] command sets an analog channel probe head type and dB value. You can choose from: · SEND0 -- Single-ended, 0dB. · SEND6 -- Single-ended, 6dB. · SEND12 -- Single-ended, 12dB. · SEND20 -- Single-ended, 20dB. · DIFF0 -- Differential, 0dB. · DIFF6 -- Differential, 6dB. · DIFF12 -- Differential, 12dB. · DIFF20 -- Differential, 20dB.
:CHANnel<n>:PROBe:HEAD[:TYPE]?
The :CHANnel<n>:PROBe:HEAD[:TYPE]? query returns the current probe head type setting for the selected channel.
<head_param><NL>

See Also

<head_param> ::= {SEND0 | SEND6 | SEND12 | SEND20 | DIFF0 | DIFF6 | DIFF12 | DIFF20 | NONE}
· "Introduction to :CHANnel<n> Commands" on page 211 · ":CHANnel<n>:PROBe" on page 220 · ":CHANnel<n>:PROBe:ID" on page 222 · ":CHANnel<n>:PROBe:SKEW" on page 223 · ":CHANnel<n>:PROBe:STYPe" on page 224

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

221

10 :CHANnel<n> Commands
:CHANnel<n>:PROBe:ID
(see page 818) Query Syntax :CHANnel<n>:PROBe:ID?
<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:PROBe:ID? query returns the type of probe attached to the specified oscilloscope channel. Return Format <probe id><NL>
<probe id> ::= unquoted ASCII string up to 11 characters
Some of the possible returned values are: · 1131A · 1132A · 1134A · 1147A · 1153A · 1154A · 1156A · 1157A · 1158A · 1159A · AutoProbe · E2621A · E2622A · E2695A · E2697A · HP1152A · HP1153A · NONE · Probe · Unknown · Unsupported See Also · "Introduction to :CHANnel<n> Commands" on page 211

222

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CHANnel<n> Commands 10

:CHANnel<n>:PROBe:SKEW

(see page 818)

Command Syntax :CHANnel<n>:PROBe:SKEW <skew value>

<skew value> ::= skew time in NR3 format

<skew value> ::= -100 ns to +100 ns

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:PROBe:SKEW command sets the channel-to-channel skew factor for the specified channel. Each analog channel can be adjusted + or -100 ns for a total of 200 ns difference between channels. You can use the oscilloscope's probe skew control to remove cable-delay errors between channels.
:CHANnel<n>:PROBe:SKEW?
The :CHANnel<n>:PROBe:SKEW? query returns the current probe skew setting for the selected channel.
<skew value><NL>

<skew value> ::= skew value in NR3 format
See Also · "Introduction to :CHANnel<n> Commands" on page 211

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

223

10 :CHANnel<n> Commands

:CHANnel<n>:PROBe:STYPe

Command Syntax
NOTE

(see page 818) This command is valid only for the 113xA Series probes.

:CHANnel<n>:PROBe:STYPe <signal type>

<signal type> ::= {DIFFerential | SINGle}

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:PROBe:STYPe command sets the channel probe signal type (STYPe) to differential or single-ended when using the 113xA Series probes and determines how offset is applied. When single-ended is selected, the :CHANnel<n>:OFFset command changes the offset value of the probe amplifier. When differential is selected, the :CHANnel<n>:OFFset command changes the offset value of the channel amplifier.
:CHANnel<n>:PROBe:STYPe?
The :CHANnel<n>:PROBe:STYPe? query returns the current probe signal type setting for the selected channel.
<signal type><NL>

See Also

<signal type> ::= {DIFF | SING}
· "Introduction to :CHANnel<n> Commands" on page 211 · ":CHANnel<n>:OFFSet" on page 219

224

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CHANnel<n> Commands 10

:CHANnel<n>:PROTection

(see page 818)

Command Syntax :CHANnel<n>:PROTection[:CLEar]

Query Syntax
Return Format See Also

<n> ::= 1 to (# analog channels) in NR1 format
With the InfiniiVision 1200 X-Series and EDUX11052A/G oscilloscopes, the analog channel input impedance is always 1 M, so automatic overvoltage protection is not necessary (as it is for channels with 50 input impedance). There are no protection settings to clear, so the :CHANnel<n>:PROTection[:CLEar] command does nothing.
:CHANnel<n>:PROTection?
The :CHANnel<n>:PROTection query always returns NORM (normal).
NORM<NL>
· "Introduction to :CHANnel<n> Commands" on page 211 · ":CHANnel<n>:COUPling" on page 214 · ":CHANnel<n>:PROBe" on page 220

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

225

10 :CHANnel<n> Commands

:CHANnel<n>:RANGe

(see page 818)

Command Syntax :CHANnel<n>:RANGe <range>[<suffix>]

<range> ::= vertical full-scale range value in NR3 format

<suffix> ::= {V | mV}

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:RANGe command defines the full-scale vertical axis of the selected channel. When using 1:1 probe attenuation, legal values for the range are from 8 mV to 40 V. If the probe attenuation is changed, the range value is multiplied by the probe attenuation factor.
:CHANnel<n>:RANGe?
The :CHANnel<n>:RANGe? query returns the current full-scale range setting for the specified channel.
<range_argument><NL>

See Also Example Code

<range_argument> ::= vertical full-scale range value in NR3 format
· "Introduction to :CHANnel<n> Commands" on page 211 · ":CHANnel<n>:SCALe" on page 227 · ":CHANnel<n>:PROBe" on page 220
' CHANNEL_RANGE - Sets the full scale vertical range in volts. The ' range value is 8 times the volts per division. myScope.WriteString ":CHANnel1:RANGe 8" ' Set the vertical range to 8 volts.
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

226

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CHANnel<n> Commands 10

:CHANnel<n>:SCALe

(see page 818)

Command Syntax :CHANnel<n>:SCALe <scale>[<suffix>]

<scale> ::= vertical units per division in NR3 format

<suffix> ::= {V | mV}

<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:SCALe command sets the vertical scale, or units per division, of the selected channel. If the probe attenuation is changed, the scale value is multiplied by the probe's attenuation factor.

Query Syntax Return Format

:CHANnel<n>:SCALe?
The :CHANnel<n>:SCALe? query returns the current scale setting for the specified channel.
<scale value><NL>

See Also

<scale value> ::= vertical units per division in NR3 format
· "Introduction to :CHANnel<n> Commands" on page 211 · ":CHANnel<n>:RANGe" on page 226 · ":CHANnel<n>:PROBe" on page 220

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

227

10 :CHANnel<n> Commands

:CHANnel<n>:UNITs

(see page 818)

Command Syntax :CHANnel<n>:UNITs <units>

<units> ::= {VOLT | AMPere}

<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:UNITs command sets the measurement units for the connected probe. Select VOLT for a voltage probe and select AMPere for a current probe. Measurement results, channel sensitivity, and trigger level will reflect the measurement units you select.

Query Syntax Return Format

:CHANnel<n>:UNITs?
The :CHANnel<n>:UNITs? query returns the current units setting for the specified channel.
<units><NL>

See Also

<units> ::= {VOLT | AMP}
· "Introduction to :CHANnel<n> Commands" on page 211 · ":CHANnel<n>:RANGe" on page 226 · ":CHANnel<n>:PROBe" on page 220 · ":EXTernal:UNITs" on page 268

228

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:CHANnel<n> Commands 10

:CHANnel<n>:VERNier

(see page 818)

Command Syntax :CHANnel<n>:VERNier <vernier value>

<vernier value> ::= {{1 | ON} | {0 | OFF}

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:VERNier command specifies whether the channel's vernier (fine vertical adjustment) setting is ON (1) or OFF (0).
:CHANnel<n>:VERNier?
The :CHANnel<n>:VERNier? query returns the current state of the channel's vernier setting.
<vernier value><NL>

<vernier value> ::= {0 | 1}
See Also · "Introduction to :CHANnel<n> Commands" on page 211

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

229

10 :CHANnel<n> Commands

230

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
11 :DEMO Commands

You can output demonstration/training signals on the oscilloscope's Demo terminal. See "Introduction to :DEMO Commands" on page 231.

Table 57 :DEMO Commands Summary

Command

Query

:DEMO:FUNCtion
<signal> (see page 232)

:DEMO:FUNCtion? (see page 233)

:DEMO:OUTPut {{0 |
OFF} | {1 | ON}} (see page 234)

:DEMO:OUTPut? (see page 234)

Options and Query Returns
<signal> ::= {SINusoid | NOISy | LFSine | AM | RFBurst | FMBurst | HARMonics | COUPling | RINGing | SINGle | CLK | TRANsition | BURSt | GLITch | CAN | LIN}
{0 | 1}

Introduction to The :DEMO subsystem provides commands to output demonstration signals on :DEMO Commands the oscillosope's Demo terminal.
Reporting the Setup Use :DEMO? to query setup information for the DEMO subsystem. Return Format The following is a sample response from the :DEMO? query. In this case, the query was issued following the *RST command.
:DEMO:FUNC SIN;OUTP 0

231

11 :DEMO Commands

:DEMO:FUNCtion

(see page 818) Command Syntax :DEMO:FUNCtion <signal>
<signal> ::= {SINusoid | NOISy | LFSine | AM | RFBurst | FMBurst | HARMonics | COUPling | RINGing | SINGle | CLK | TRANsition | BURSt | GLITch | CAN | LIN}
The :DEMO:FUNCtion command selects the type of demo signal:

Demo Signal Function SINusoid NOISy LFSine AM RFBurst FMBurst HARMonics COUPling RINGing SINGle
CLK TRANsition BURSt GLITch

Demo Terminal 250 kHz sine wave @ ~ 6 Vpp, 0 V offset 1 kHz sine wave @ ~ 2.4 Vpp, 0.0 V offset, with ~ 0.5 Vpp of random noise added 30 Hz sine wave @ ~2.7 Vpp, 0 V offset, with very narrow glitch near each positive peak Amplitude modulated signal, ~ 3 Vpp, 0 V offset, with ~260 kHz carrier and sine envelope 5-cycle burst of a 10 MHz amplitude modulated sine wave @ ~ 2.6 Vpp, 0 V offset occurring once every 4 ms FM burst, modulated from ~100 kHz to ~1 MHz, ~5.0 Vpp, ~600 mV offset. 1 kHz sine wave @ ~3.5 Vpp, 0.0 V offset, with a ~2 kHz sine wave coupled in 1 kHz square wave @ ~1 Vpp, 0.0 V offset, with a ~90 kHz sine wave with ~180 mVpp riding on top 10 kHz digital pulse @ ~ 3 Vpp, 1.5 V offset, and ~24 s pulse width with ringing ~24 s wide digital pulse with ringing @ ~ 3 Vpp, 1.5 V offset Press the front panel Set Off Single-Shot softkey to cause the selected single-shot signal to be output. 50 kHz clock @ ~2 Vpp, 1 V offset, with infrequent glitch (1 glitch per 50,000 clocks) Digital pulse train with two different edge speeds @ ~ 3.5 Vpp, 1.75 V offset Burst of digital pulses that occur every 50 µs @ ~ 3.6 Vpp, ~1.5 V offset Burst of 6 digital pulses (plus infrequent glitch) that occurs once every 80 µs @ ~3.6 Vpp, ~1.8 V offset

232

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:DEMO Commands 11

Demo Signal Function CAN
LIN

Demo Terminal CAN_L, 125 kbps dominant-low, ~2.8 Vpp, ~1.4 V offset, available in DSOX1200-Series oscilloscope models only LIN, 19.2 kbs, ~2.8 Vpp, ~1.4 V offset, available in DSOX1200-Series oscilloscope models only

Query Syntax Return Format

:DEMO:FUNCtion?
The :DEMO:FUNCtion? query returns the currently selected demo signal type.
<signal><NL>

See Also

<signal> ::= {SIN | NOIS | LFS | AM | RFB | FMB | HARM | COUP | RING | SING | CLK | TRAN | BURS | GLIT | CAN | LIN}
· "Introduction to :DEMO Commands" on page 231

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

233

11 :DEMO Commands

:DEMO:OUTPut

(see page 818)

Command Syntax :DEMO:OUTPut <on_off>

<on_off> ::= {{1 | ON} | {0 | OFF}
The :DEMO:OUTPut command specifies whether the demo signal output is ON (1) or OFF (0).

Query Syntax Return Format

:DEMO:OUTPut?
The :DEMO:OUTPut? query returns the current state of the demo signal output setting.
<on_off><NL>

See Also

<on_off> ::= {1 | 0}
· "Introduction to :DEMO Commands" on page 231 · ":DEMO:FUNCtion" on page 232

234

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
12 :DISPlay Commands

Control how waveforms, graticule, and text are displayed and written on the screen. See "Introduction to :DISPlay Commands" on page 236.

Table 58 :DISPlay Commands Summary

Command

Query

Options and Query Returns

:DISPlay:ANNotation
{{0 | OFF} | {1 | ON}} (see page 237)

:DISPlay:ANNotation? {0 | 1} (see page 237)

:DISPlay:ANNotation:B :DISPlay:ANNotation:B <mode> ::= {OPAQue | INVerted |

ACKground <mode> (see ACKground? (see

page 238)

page 238)

TRANsparent}

:DISPlay:ANNotation:C :DISPlay:ANNotation:C <color> ::= {CH1 | CH2 | CH3 |

OLor <color> (see

OLor? (see page 239)

CH4 | DIG | MATH | REF | MARKer |

page 239)

WHITe | RED}

:DISPlay:ANNotation:T :DISPlay:ANNotation:T <string> ::= quoted ASCII string

EXT <string> (see

EXT? (see page 240)

(up to 254 characters)

page 240)

:DISPlay:CLEar (see n/a

n/a

page 241)

n/a

:DISPlay:DATA?

<format> ::= {BMP | BMP8bit |

[<format>][,][<palett PNG}

e>] (see page 242)

<palette> ::= {COLor | GRAYscale}

<display data> ::= data in IEEE 488.2 # format

:DISPlay:INTensity:WA :DISPlay:INTensity:WA <value> ::= an integer from 0 to Veform <value> (see Veform? (see page 243) 100 in NR1 format. page 243)

:DISPlay:LABel {{0 |
OFF} | {1 | ON}} (see page 244)

:DISPlay:LABel? (see page 244)

{0 | 1}

235

12 :DISPlay Commands

Table 58 :DISPlay Commands Summary (continued)

Command

Query

Options and Query Returns

:DISPlay:LABList
<binary block> (see page 245)

:DISPlay:LABList? (see page 245)

<binary block> ::= an ordered list of up to 75 labels, each 10 characters maximum, separated by newline characters

:DISPlay:MENU:TIMeout :DISPlay:MENU:TIMeout <value> ::= an integer from 5 to

{<value> | {OFF |

? (see page 246)

60 in NR1 format.

MAX}} (see page 246)

:DISPlay:PERSistence <value> (see page 247)

:DISPlay:PERSistence? (see page 247)

<value> ::= {MINimum | INFinite | <time>}
<time> ::= seconds in in NR3 format from 100E-3 to 60E0

:DISPlay:TRANsparent
{{0 | OFF} | {1 | ON}} (see page 248)

:DISPlay:TRANsparent? {0 | 1} (see page 248)

:DISPlay:VECTors {1 | :DISPlay:VECTors?

1

ON} (see page 249)

(see page 249)

Introduction to :DISPlay
Commands

The DISPlay subsystem is used to control the display storage and retrieval of waveform data, labels, and text. This subsystem allows the following actions: · Clear the waveform area on the display. · Turn vectors on or off. · Set waveform persistence. · Specify labels. · Save and Recall display data.

Reporting the Setup Use :DISPlay? to query the setup information for the DISPlay subsystem.

Return Format The following is a sample response from the :DISPlay? query. In this case, the query was issued following a *RST command.

:DISP:LAB 0;VECT 1;PERS MIN

236

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:DISPlay Commands 12

:DISPlay:ANNotation

(see page 818)

Command Syntax :DISPlay:ANNotation <setting>

<setting> ::= {{1 | ON} | {0 | OFF}}
The :DISPlay:ANNotation command turns the annotation on and off. When on, the annotation appears in the upper left corner of the oscilloscope's display.

Query Syntax Return Format

The annotation is useful for documentation purposes, to add notes before capturing screens.
:DISPlay:ANNotation?
The :DISPlay:ANNotation? query returns the annotation setting.
<value><NL>

See Also

<value> ::= {0 | 1}
· ":DISPlay:ANNotation:TEXT" on page 240 · ":DISPlay:ANNotation:COLor" on page 239 · ":DISPlay:ANNotation:BACKground" on page 238 · "Introduction to :DISPlay Commands" on page 236

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

237

12 :DISPlay Commands

:DISPlay:ANNotation:BACKground

(see page 818)

Command Syntax :DISPlay:ANNotation:BACKground <mode>

<mode> ::= {OPAQue | INVerted | TRANsparent}
The :DISPlay:ANNotation:BACKground command specifies the background of the annotation: · OPAQue -- the annotation has a solid background. · INVerted -- the annotation's foreground and background colors are switched. · TRANsparent -- the annotation has a transparent background.

Query Syntax Return Format

:DISPlay:ANNotation:BACKground?
The :DISPlay:ANNotation:BACKground? query returns the specified annotation background mode.
<mode><NL>

See Also

<mode> ::= {OPAQ | INV | TRAN}
· ":DISPlay:ANNotation" on page 237 · ":DISPlay:ANNotation:TEXT" on page 240 · ":DISPlay:ANNotation:COLor" on page 239 · "Introduction to :DISPlay Commands" on page 236

238

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:DISPlay Commands 12

:DISPlay:ANNotation:COLor

(see page 818)

Command Syntax :DISPlay:ANNotation:COLor <color>

Query Syntax Return Format

<color> ::= {CH1 | CH2 | CH3 | CH4 | DIG | MATH | REF | MARKer | WHITe | RED}
The :DISPlay:ANNotation:COLor command specifies the annotation color. You can choose white, red, or colors that match analog channels, digital channels, math waveforms, reference waveforms, or markers.
:DISPlay:ANNotation:COLor?
The :DISPlay:ANNotation:COLor? query returns the specified annotation color.
<color><NL>

See Also

<color> ::= {CH1 | CH2 | CH3 | CH4 | DIG | MATH | REF | MARK | WHIT | RED}
· ":DISPlay:ANNotation" on page 237 · ":DISPlay:ANNotation:TEXT" on page 240 · ":DISPlay:ANNotation:BACKground" on page 238 · "Introduction to :DISPlay Commands" on page 236

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

239

12 :DISPlay Commands

:DISPlay:ANNotation:TEXT

(see page 818)

Command Syntax :DISPlay:ANNotation:TEXT <string>

Query Syntax Return Format

<string> ::= quoted ASCII string (up to 254 characters)
The :DISPlay:ANNotation:TEXT command specifies the annotation string. The annotation string can contain as many characters as will fit in the Edit Annotation box on the oscilloscope's screen, up to 254 characters. You can include a carriage return in the annotation string using the characters "\ n". Note that this is not a new line character but the actual "\" (backslash) and "n" characters in the string. Carriage returns lessen the number of characters available for the annotation string. Use :DISPlay:ANNotation:TEXT "" to remotely clear the annotation text. (Two sets of quote marks without a space between them creates a NULL string.)
:DISPlay:ANNotation:TEXT?
The :DISPlay:ANNotation:TEXT? query returns the specified annotation text. When carriage returns are present in the annotation text, they are returned as the actual carriage return character (ASCII 0x0D).
<string><NL>

See Also

<string> ::= quoted ASCII string
· ":DISPlay:ANNotation" on page 237 · ":DISPlay:ANNotation:COLor" on page 239 · ":DISPlay:ANNotation:BACKground" on page 238 · "Introduction to :DISPlay Commands" on page 236

240

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:DISPlay Commands 12

:DISPlay:CLEar

Command Syntax See Also

(see page 818)
:DISPlay:CLEar
The :DISPlay:CLEar command clears the display and resets all associated measurements. If the oscilloscope is stopped, all currently displayed data is erased. If the oscilloscope is running, all of the data for active channels and functions is erased; however, new data is displayed on the next acquisition. · "Introduction to :DISPlay Commands" on page 236

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

241

12 :DISPlay Commands

:DISPlay:DATA

Query Syntax

(see page 818)
:DISPlay:DATA? [<format>][,][<palette>]

<format> ::= {BMP | BMP8bit | PNG}

Return Format

<palette> ::= {COLor | GRAYscale}
The :DISPlay:DATA? query reads screen image data. You can choose 24-bit BMP, 8-bit BMP8bit, or 24-bit PNG formats in color or grayscale. You can invert the screen image graticule colors (before reading the data) by using the ":HARDcopy:INKSaver ON" command. If no format or palette option is specified, the screen image is returned in BMP, COLor format.
<display data><NL>

See Also Example Code

<display data> ::= binary block data in IEEE-488.2 # format.
Screen image data is returned in the IEEE-488.2 # binary block data format.
· "Introduction to :DISPlay Commands" on page 236 · ":HARDcopy:INKSaver" on page 327 · ":PRINt" on page 167 · "*RCL (Recall)" on page 128 · "*SAV (Save)" on page 132 · ":VIEW" on page 174
' IMAGE_TRANSFER - In this example, we will query for the image data ' with ":DISPlay:DATA?", read the data, and then save it to a file. Dim byteData() As Byte myScope.IO.Timeout = 15000 myScope.WriteString ":DISPlay:DATA? BMP, COLOR" byteData = myScope.ReadIEEEBlock(BinaryType_UI1) ' Output display data to a file: strPath = "c:\scope\data\screen.bmp" ' Remove file if it exists. If Len(Dir(strPath)) Then
Kill strPath End If Close #1 ' If #1 is open, close it. Open strPath For Binary Access Write Lock Write As #1 ' Open file f or output. Put #1, , byteData ' Write data. Close #1 ' Close file. myScope.IO.Timeout = 5000
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

242

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:DISPlay Commands 12

:DISPlay:INTensity:WAVeform

(see page 818)

Command Syntax :DISPlay:INTensity:WAVeform <value>

<value> ::= an integer from 0 to 100 in NR1 format.
The :DISPlay:INTensity:WAVeform command sets the waveform intensity.

Query Syntax Return Format

This is the same as adjusting the front panel [Intensity] knob.
:DISPlay:INTensity:WAVeform?
The :DISPlay:INTensity:WAVeform? query returns the waveform intensity setting.
<value><NL>

<value> ::= an integer from 0 to 100 in NR1 format.
See Also · "Introduction to :DISPlay Commands" on page 236

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

243

12 :DISPlay Commands

:DISPlay:LABel

(see page 818)

Command Syntax :DISPlay:LABel <value>

<value> ::= {{1 | ON} | {0 | OFF}}
The :DISPlay:LABel command turns the analog channel labels on and off.

Query Syntax Return Format

:DISPlay:LABel?
The :DISPlay:LABel? query returns the display mode of the analog channel labels.
<value><NL>

See Also

<value> ::= {0 | 1}
· "Introduction to :DISPlay Commands" on page 236 · ":CHANnel<n>:LABel" on page 218

Example Code

' DISP_LABEL ' - Turns label names ON or OFF on the analyzer display. myScope.WriteString ":DISPlay:LABel ON" ' Turn on labels.
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

244

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:DISPlay Commands 12

:DISPlay:LABList

(see page 818) Command Syntax :DISPlay:LABList <binary block data>
<binary block> ::= an ordered list of up to 75 labels, a maximum of 10 characters each, separated by newline characters.
The :DISPlay:LABList command adds labels to the label list. Labels are added in alphabetical order.

NOTE

Labels that begin with the same alphabetic base string followed by decimal digits are considered duplicate labels. Duplicate labels are not added to the label list. For example, if label "A0" is in the list and you try to add a new label called "A123456789", the new label is not added.

Query Syntax Return Format

:DISPlay:LABList?
The :DISPlay:LABList? query returns the label list.
<binary block><NL>

See Also

<binary block> ::= an ordered list of up to 75 labels, a maximum of 10 characters each, separated by newline characters.
· "Introduction to :DISPlay Commands" on page 236 · ":DISPlay:LABel" on page 244 · ":CHANnel<n>:LABel" on page 218

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

245

12 :DISPlay Commands

:DISPlay:MENU:TIMeout

(see page 818)

Command Syntax :DISPlay:MENU:TIMeout {<value> | {OFF | MAX}}

<value> ::= an integer from 5 to 60 in NR1 format.
The :DISPlay:MENU:TIMeout command sets the softkey menu timeout period. OFF and MAX are equivalent.

Query Syntax Return Format

:DISPlay:MENU:TIMeout?
The :DISPlay:MENU:TIMeout? query returns the softkey menu timeout period setting.
<value><NL>

<value> ::= an integer from 5 to 60 in NR1 format or OFF.

246

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:DISPlay Commands 12

:DISPlay:PERSistence

(see page 818)

Command Syntax :DISPlay:PERSistence <value>

<value> ::= {MINimum | INFinite | <time>}

Query Syntax Return Format

<time> ::= seconds in in NR3 format from 100E-3 to 60E0
The :DISPlay:PERSistence command specifies the persistence setting: · MINimum -- indicates zero persistence. · INFinite -- indicates infinite persistence. · <time> -- for variable persistence, that is, you can specify how long acquisitions
remain on the screen. Use the :DISPlay:CLEar command to erase points stored by persistence.
:DISPlay:PERSistence?
The :DISPlay:PERSistence? query returns the specified persistence value.
<value><NL>

See Also

<value> ::= {MIN | INF | <time>}
· "Introduction to :DISPlay Commands" on page 236 · ":DISPlay:CLEar" on page 241

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

247

12 :DISPlay Commands

:DISPlay:TRANsparent

(see page 818)

Command Syntax :DISPlay:TRANsparent <setting>

Query Syntax Return Format

<setting> ::= {{0 | OFF} | {1 | ON}}
The :DISPlay:TRANsparent command enables or disables transparent mode for DVM, mask test statistics, and waveform memory readouts in the front panel graphical user interface. This command maps to the Transparent softkey that appears in the front panel user interface under [Utility] > Options > Preferences and in the menus for DVM, mask testing, and waveform memory. Note that annotations and remote logging have separate transparency controls (:DISPlay:ANNotation:BACKground and :SYSTem:RLOGger:TRANsparent).
:DISPlay:TRANsparent?
The :DISPlay:TRANsparent? query returns the transparent setting.
<setting><NL>

See Also

<setting> ::= {0 | 1}
· "Introduction to :DISPlay Commands" on page 236 · ":DISPlay:ANNotation:BACKground" on page 238 · ":SYSTem:RLOGger:TRANsparent" on page 585

248

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:DISPlay Commands 12

:DISPlay:VECTors

(see page 818)

Command Syntax :DISPlay:VECTors <vectors>

<vectors> ::= {1 | ON}
The only legal value for the :DISPlay:VECTors command is ON (or 1). This specifies that lines are drawn between acquired data points on the screen.

Query Syntax Return Format

:DISPlay:VECTors?
The :DISPlay:VECTors? query returns the vectors setting.
<vectors><NL>

<vectors> ::= 1
See Also · "Introduction to :DISPlay Commands" on page 236

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

249

12 :DISPlay Commands

250

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
13 :DVM Commands

These commands control the digital voltmeter (DVM) feature.

Table 59 :DVM Commands Summary

Command

Query

:DVM:ARANge {{0 |
OFF} | {1 | ON}} (see page 252)

:DVM:ARANge? (see page 252)

n/a

:DVM:CURRent? (see

page 253)

:DVM:ENABle {{0 |
OFF} | {1 | ON}} (see page 254)

:DVM:ENABle? (see page 254)

n/a

:DVM:FREQuency? (see

page 253)

:DVM:MODE <mode> (see :DVM:MODE? (see

page 256)

page 256)

:DVM:SOURce <source> :DVM:SOURce? (see

(see page 257)

page 257)

Options and Query Returns {0 | 1}
<dvm_value> ::= floating-point number in NR3 format {0 | 1}
<freq_value> ::= floating-point number in NR3 format <dvm_mode> ::= {ACRMs | DC | DCRMs | FREQuency} <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format

251

13 :DVM Commands

:DVM:ARANge

(see page 818)

Command Syntax :DVM:ARANge <setting>

Query Syntax Return Format

<setting> ::= {{OFF | 0} | {ON | 1}}
If the selected digital voltmeter (DVM) source channel is not used in oscilloscope triggering, the :DVM:ARANge command turns the digital voltmeter's Auto Range capability on or off. · When on, the DVM channel's vertical scale, vertical (ground level) position, and
trigger (threshold voltage) level (used for the counter frequency measurement) are automatically adjusted. The Auto Range capability overrides attempted adjustments of the channel's vertical scale and position. · When off, you can adjust the channel's vertical scale and position normally.
:DVM:ARANge?
The :DVM:ARANge? query returns a flag indicating whether the digital voltmeter's Auto Range capability is on or off.
<setting><NL>

See Also

<setting> ::= {0 | 1}
· ":DVM:SOURce" on page 257 · ":DVM:ENABle" on page 254 · ":DVM:MODE" on page 256

252

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:DVM Commands 13

:DVM:CURRent

Query Syntax

(see page 818)
:DVM:CURRent?
The :DVM:CURRent? query returns the displayed 3-digit DVM value based on the current mode.

NOTE

It can take up to a few seconds after DVM analysis is enabled before this query starts to produce good results, that is, results other than +9.9E+37. To wait for good values after DVM analysis is enabled, programs should loop until a value less than +9.9E+37 is returned.

Return Format <dvm_value><NL>

See Also

<dvm_value> ::= floating-point number in NR3 format
· ":DVM:SOURce" on page 257 · ":DVM:ENABle" on page 254 · ":DVM:MODE" on page 256 · ":DVM:FREQuency" on page 255

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

253

13 :DVM Commands

:DVM:ENABle

(see page 818)

Command Syntax :DVM:ENABle <setting>

<setting> ::= {{OFF | 0} | {ON | 1}}
The :DVM:ENABle command turns the digital voltmeter (DVM) analysis feature on or off.

Query Syntax Return Format

:DVM:ENABle?
The :DVM:ENABle? query returns a flag indicating whether the digital voltmeter (DVM) analysis feature is on or off.
<setting><NL>

See Also

<setting> ::= {0 | 1}
· ":DVM:SOURce" on page 257 · ":DVM:MODE" on page 256 · ":DVM:ARANge" on page 252

254

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:DVM Commands 13

:DVM:FREQuency

Query Syntax Return Format

(see page 818)
:DVM:FREQuency?
The :DVM:FREQuency? query returns the displayed 5-digit frequency value that is displayed below the main DVM value. If the requirements for the DVM FREQuency mode are not met (see ":DVM:MODE" on page 256), this query will return 9.9E+37.
<freq_value><NL>

See Also

<freq_value> ::= floating-point number in NR3 format
· ":DVM:SOURce" on page 257 · ":DVM:ENABle" on page 254 · ":DVM:MODE" on page 256 · ":DVM:CURRent" on page 253

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

255

13 :DVM Commands

:DVM:MODE

(see page 818)

Command Syntax :DVM:MODE <dvm_mode>

Query Syntax Return Format

<dvm_mode> ::= {ACRMs | DC | DCRMs | FREQuency}
The :DVM:MODE command sets the digital voltmenter (DVM) mode: · ACRMs -- displays the root-mean-square value of the acquired data, with the
DC component removed. · DC -- displays the DC value of the acquired data. · DCRMs -- displays the root-mean-square value of the acquired data. · FREQuency -- displays the frequency counter measurement. Requires the EDGE
or GLITch trigger mode, and the DVM source and the trigger source must be the same analog channel.
:DVM:MODE?
The :DVM:MODE? query returns the selected DVM mode.
<dvm_mode><NL>

See Also

<dvm_mode> ::= {ACRM | DC | DCRM | FREQ}
· ":DVM:ENABle" on page 254 · ":DVM:SOURce" on page 257 · ":DVM:ARANge" on page 252 · ":DVM:CURRent" on page 253 · ":DVM:FREQuency" on page 255 · ":TRIGger:MODE" on page 614

256

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:DVM Commands 13

:DVM:SOURce

(see page 818)

Command Syntax :DVM:SOURce <source>

<source> ::= {CHANnel<n>}

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :DVM:SOURce command sets the select the analog channel on which digital voltmeter (DVM) measurements are made. The selected channel does not have to be on (displaying a waveform) in order for DVM measurements to be made.
:DVM:SOURce?
The :DVM:SOURce? query returns the selected DVM input source.
<source><NL>

<source> ::= {CHAN<n>}

See Also

<n> ::= 1 to (# analog channels) in NR1 format
· ":DVM:ENABle" on page 254 · ":DVM:MODE" on page 256 · ":DVM:ARANge" on page 252 · ":DVM:CURRent" on page 253 · ":DVM:FREQuency" on page 255

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

257

13 :DVM Commands

258

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
14 :EXTernal Trigger Commands

Control the input characteristics of the external trigger input. See "Introduction to :EXTernal Trigger Commands" on page 260.

Table 60 :EXTernal Trigger Commands Summary

Command

Query

Options and Query Returns

:EXTernal:BWLimit
<bwlimit> (see page 261)

:EXTernal:BWLimit? (see page 261)

<bwlimit> ::= {0 | OFF}

:EXTernal:DISPlay {{0
| OFF} | {1 | ON}} (see page 262)

:EXTernal:DISPlay? (see page 262)

<setting> ::= {0 | 1}
On DSOX1204A/G oscilloscopes, the :EXTernal:DISPlay command can be set to OFF only.

:EXTernal:LABel
<string> (see page 263)

:EXTernal:LABel? (see <string> ::= quoted ASCII string. page 263)

:EXTernal:LEVel
<level>[<suffix>] (see page 264)

:EXTernal:LEVel? (see page 264)

<value> ::= external trigger level value in NR3 format.
<suffix> ::= {V | mV}

:EXTernal:POSition

:EXTernal:POSition?

<value> (see page 265) (see page 265)

<value> ::= Ext Trig waveform vertical position in divisions in NR3 format.
On DSOX1204A/G oscilloscopes, the :EXTernal:POSition value can be zero only.

:EXTernal:PROBe
<attenuation> (see page 266)

:EXTernal:PROBe? (see <attenuation> ::= probe

page 266)

attenuation ratio in NR3 format

:EXTernal:RANGe
<range>[<suffix>] (see page 267)

:EXTernal:RANGe? (see page 267)

<range> ::= vertical full-scale range value in NR3 format
<suffix> ::= {V | mV}

:EXTernal:UNITs

:EXTernal:UNITs? (see <units> ::= {VOLT | AMPere}

<units> (see page 268) page 268)

259

14 :EXTernal Trigger Commands

Introduction to :EXTernal Trigger
Commands

The EXTernal trigger subsystem commands control the input characteristics of the external trigger input. The probe factor, impedance, input range, input protection state, units, and bandwidth limit settings may all be queried. Depending on the instrument type, some settings may be changeable.

Reporting the Setup Use :EXTernal? to query setup information for the EXTernal subsystem.

Return Format The following is a sample response from the :EXTernal query. In this case, the query was issued following a *RST command.

:EXT:BWL 0;RANG +8E+00;UNIT VOLT;PROB +1.000E+00

260

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:EXTernal Trigger Commands 14

:EXTernal:BWLimit

(see page 818)

Command Syntax :EXTernal:BWLimit <bwlimit>

Query Syntax Return Format

<bwlimit> ::= {0 | OFF}
The :EXTernal:BWLimit command is provided for product compatibility. The only legal value is 0 or OFF. Use the :TRIGger:HFReject command to limit bandwidth on the external trigger input.
:EXTernal:BWLimit?
The :EXTernal:BWLimit? query returns the current setting of the low-pass filter (always 0).
<bwlimit><NL>

See Also

<bwlimit> ::= 0
· "Introduction to :EXTernal Trigger Commands" on page 260 · "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:HFReject" on page 609

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

261

14 :EXTernal Trigger Commands

:EXTernal:DISPlay

(see page 818)

Command Syntax Query Syntax Return Format

:EXTernal:DISPlay {{0 | OFF} | {1 | ON}}
In the InfiniiVision DSOX1204A/G oscilloscopes, the :EXTernal:DISPlay command can be set to OFF only.
:EXTernal:DISPlay?
The :EXTernal:DISPlay? query returns the external trigger input display setting.
<setting><NL>

<setting> ::= {0 | 1}
See Also · ":EXTernal:LEVel" on page 264

262

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:EXTernal Trigger Commands 14

:EXTernal:LABel

(see page 818) Command Syntax :EXTernal:LABel <string>
<string> ::= quoted ASCII string.

NOTE

Label strings are 10 characters or less, and may contain any commonly used ASCII characters. Labels with more than 10 characters are truncated to 10 characters. Lower case characters are converted to upper case.

The :EXTernal:LABel command sets the external trigger input's label.

Query Syntax Return Format

Setting a label for the external waveform also adds the name to the label list in non-volatile memory (replacing the oldest label in the list).
:EXTernal:LABel?
The :EXTernal:LABel? query returns the label associated with the external trigger input.
<string><NL>

See Also

<string> ::= quoted ASCII string.
· ":EXTernal:DISPlay" on page 262 · ":DISPlay:LABel" on page 244

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

263

14 :EXTernal Trigger Commands

:EXTernal:LEVel

(see page 818)

Command Syntax :EXTernal:LEVel <level>[<suffix>]

<value> ::= external trigger level value in NR3 format.

Query Syntax
Return Format See Also

<suffix> ::= {V | mV}
The :EXTernal:LEVel command sets the external trigger input threshold (trigger) voltage level.
:EXTernal:LEVel?
The :EXTernal:LEVel? query returns the external trigger input threshold voltage setting.
<value><NL>
· ":EXTernal:DISPlay" on page 262

264

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:EXTernal Trigger Commands 14

:EXTernal:POSition

(see page 818)

Command Syntax :EXTernal:POSition <value>

Query Syntax
Return Format See Also

<value> ::= Ext Trig waveform vertical position in divisions in NR3 form at.
The :EXTernal:POSition command sets the external trigger input waveform's veritical position on the oscilloscope display. When the external trigger input's waveform is displayed (see :EXTernal:DISPlay), a cyan digital waveform, based on the :EXTernal:LEVel threshold voltage, appears on the oscilloscope display. This waveform is one division tall, and the base of the waveform can be positioned from -3.5 divisions to 2.5 divisions. In the InfiniiVision DSOX1204A/G oscilloscopes, the :EXTernal:POSition command can be set to zero only (since the Ext Trig input cannot be displayed as a digital waveform).
:EXTernal:POSition?
The :EXTernal:POSition? query returns, in vertical divisions, the position of the external trigger input waveform. In the InfiniiVision DSOX1204A/G oscilloscopes, the :EXTernal:POSition? query returns zero.
<value><NL>
· ":EXTernal:DISPlay" on page 262 · ":EXTernal:LEVel" on page 264

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

265

14 :EXTernal Trigger Commands

:EXTernal:PROBe

(see page 818)

Command Syntax :EXTernal:PROBe <attenuation>

Query Syntax Return Format

<attenuation> ::= probe attenuation ratio in NR3 format
The :EXTernal:PROBe command specifies the probe attenuation factor for the external trigger. The probe attenuation factor may be 0.1 to 10000. This command does not change the actual input sensitivity of the oscilloscope. It changes the reference constants for scaling the display factors and for setting trigger levels. If an AutoProbe probe is connected to the oscilloscope, the attenuation value cannot be changed from the sensed value. Attempting to set the oscilloscope to an attenuation value other than the sensed value produces an error.
:EXTernal:PROBe?
The :EXTernal:PROBe? query returns the current probe attenuation factor for the external trigger.
<attenuation><NL>

See Also

<attenuation> ::= probe attenuation ratio in NR3 format
· "Introduction to :EXTernal Trigger Commands" on page 260 · ":EXTernal:RANGe" on page 267 · "Introduction to :TRIGger Commands" on page 605 · ":CHANnel<n>:PROBe" on page 220

266

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:EXTernal Trigger Commands 14

:EXTernal:RANGe

(see page 818)

Command Syntax :EXTernal:RANGe <range>[<suffix>]

<range> ::= vertical full-scale range value in NR3 format

<suffix> ::= {V | mV}
The :EXTernal:RANGe command sets the external trigger input signal range. When using DSOX1200-Series oscilloscopes, this range is either 1.6 V or 8 V when you are using a 1:1 probe. When using EDUX1000-Series oscilloscopes, this range is 8 V when you are using a 1:1 probe and cannot be changed. If the probe attenuation is changed, the range value is multiplied by the probe attenuation factor.

Query Syntax Return Format

:EXTernal:RANGe?
The :EXTernal:RANGe? query returns the current full-scale range setting for the external trigger.
<range_argument><NL>

See Also

<range_argument> ::= external trigger range value in NR3 format
· "Introduction to :EXTernal Trigger Commands" on page 260 · ":EXTernal:PROBe" on page 266 · "Introduction to :TRIGger Commands" on page 605

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

267

14 :EXTernal Trigger Commands

:EXTernal:UNITs

(see page 818)

Command Syntax :EXTernal:UNITs <units>

Query Syntax Return Format

<units> ::= {VOLT | AMPere}
The :EXTernal:UNITs command sets the measurement units for the probe connected to the external trigger input. Select VOLT for a voltage probe and select AMPere for a current probe. Measurement results, channel sensitivity, and trigger level will reflect the measurement units you select.
:EXTernal:UNITs?
The :CHANnel<n>:UNITs? query returns the current units setting for the external trigger.
<units><NL>

See Also

<units> ::= {VOLT | AMP}
· "Introduction to :EXTernal Trigger Commands" on page 260 · "Introduction to :TRIGger Commands" on page 605 · ":EXTernal:RANGe" on page 267 · ":EXTernal:PROBe" on page 266 · ":CHANnel<n>:UNITs" on page 228

268

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
15 :FFT Commands

Control functions in the measurement/storage module. See "Introduction to :FFT Commands" on page 270.

Table 61 :FFT Commands Summary

Command

Query

:FFT:CENTer
<frequency> (see page 271)

:FFT:CENTer? (see page 271)

:FFT:DISPlay {{0 | OFF} | {1 | ON}} (see page 272)
:FFT:OFFSet <offset> (see page 273)
:FFT:RANGe <range> (see page 274)

:FFT:DISPlay? (see page 272)
:FFT:OFFSet? (see page 273)
:FFT:RANGe? (see page 274)

:FFT:REFerence

:FFT:REFerence? (see

<level> (see page 275) page 275)

:FFT:SCALe

:FFT:SCALe? (see

<scale_value>[<suffix page 276)

>] (see page 276)

:FFT:SOURce1 <source> :FFT:SOURce1? (see

(see page 277)

page 277)

:FFT:SPAN <span> (see :FFT:SPAN? (see

page 278)

page 278)

Options and Query Returns
<frequency> ::= the current center frequency in NR3 format. The range of legal values is from -25 GHz to 25 GHz.
<s> ::= 1-6, in NR1 format. {0 | 1}
<offset> ::= the value at center screen in NR3 format.
<range> ::= the full-scale vertical axis value in NR3 format.
<level> ::= the current reference level in NR3 format.
<scale_value> ::= integer in NR1 format. <suffix> ::= dB
<source> ::= {CHANnel<n> | FUNCtion<c> | MATH<c>} <n> ::= 1 to (# analog channels) in NR1 format. <c> ::= {1 | 2}
<span> ::= the current frequency span in NR3 format. Legal values are 1 Hz to 100 GHz.

269

15 :FFT Commands

Table 61 :FFT Commands Summary (continued)

Command

Query

:FFT:VTYPe <units> (see page 279)

:FFT:VTYPe? (see page 279)

:FFT:WINDow <window> :FFT:WINDow? (see

(see page 280)

page 280)

Options and Query Returns <units> ::= {DECibel | VRMS}
<window> ::= {RECTangular | HANNing | FLATtop | BHARris}

Introduction to :FFT Commands

The FFT subsystem controls the FFT function in the oscilloscope. Reporting the Setup Use :FFT? to query setup information for the FFT subsystem.

Return Format The following is a sample response from the :FFT? query. In this case, the query was issued following a *RST command.

:FFT:DISP 0;SOUR1 CHAN1;RANG +160E+00;OFFS -60.0000E+00;SPAN +100.0000E+03;CENT +50.000000E+03;WIND HANN;VTYP DEC;DMODE NORM;AVER:COUN 8

270

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FFT Commands 15

:FFT:CENTer

(see page 818)

Command Syntax :FFT:CENTer <frequency>

Query Syntax Return Format

<frequency> ::= the current center frequency in NR3 format. The range of legal values is from -25 GHz to 25 GHz.
The :FFT:CENTer command sets the center frequency when FFT (Fast Fourier Transform) is selected.
:FFT:CENTer?
The :FFT:CENTer? query returns the current center frequency in Hertz.
<frequency><NL>

<frequency> ::= the current center frequency in NR3 format. The range of legal values is from -25 GHz to 25 GHz.

NOTE

After a *RST (Reset) or :AUToscale command, the values returned by the :FFT:CENTer? and :FFT:SPAN? queries depend on the current :TIMebase:RANGe value. Once you change either the :FFT:CENTer or :FFT:SPAN value, they no longer track the :TIMebase:RANGe value.

See Also

· ":FFT:DISPlay" on page 272 · ":FFT:OFFSet" on page 273 · ":FFT:RANGe" on page 274 · ":FFT:REFerence" on page 275 · ":FFT:SCALe" on page 276 · ":FFT:SOURce1" on page 277 · ":FFT:SPAN" on page 278 · ":FFT:VTYPe" on page 279 · ":FFT:WINDow" on page 280

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

271

15 :FFT Commands

:FFT:DISPlay

(see page 818)

Command Syntax Query Syntax

:FFT:DISPlay {{0 | OFF} | {1 | ON}}
The :FFT:DISPlay command turns the display of the FFT function on or off. When ON is selected, the FFT function is calculated and displayed. When OFF is selected, the FFT function is neither calculated nor displayed.
:FFT:DISPlay?
The :FFT:DISPlay? query returns whether the function display is on or off.

Return Format <display><NL>

See Also

<display> ::= {0 | 1}
· ":FFT:CENTer" on page 271 · ":FFT:OFFSet" on page 273 · ":FFT:RANGe" on page 274 · ":FFT:REFerence" on page 275 · ":FFT:SCALe" on page 276 · ":FFT:SOURce1" on page 277 · ":FFT:SPAN" on page 278 · ":FFT:VTYPe" on page 279 · ":FFT:WINDow" on page 280

272

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FFT Commands 15

:FFT:OFFSet

(see page 818) Command Syntax :FFT:OFFSet <offset>
<offset> ::= the value at center screen in NR3 format.
The :FFT:OFFSet command specifies the FFT vertical value represented at center screen. If you set the offset to a value outside of the legal range, the offset value is automatically set to the nearest legal value.

NOTE

The :FFT:OFFSet command is equivalent to the :FFT:REFerence command.

Query Syntax Return Format

:FFT:OFFSet?
The :FFT:OFFSet? query returns the current offset value for the FFT function.
<offset><NL>

See Also

<offset> ::= the value at center screen in NR3 format.
· ":FFT:CENTer" on page 271 · ":FFT:DISPlay" on page 272 · ":FFT:RANGe" on page 274 · ":FFT:REFerence" on page 275 · ":FFT:SCALe" on page 276 · ":FFT:SOURce1" on page 277 · ":FFT:SPAN" on page 278 · ":FFT:VTYPe" on page 279 · ":FFT:WINDow" on page 280

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

273

15 :FFT Commands

:FFT:RANGe

(see page 818)

Command Syntax :FFT:RANGe <range>

<range> ::= the full-scale vertical axis value in NR3 format.
The :FFT:RANGe command defines the full-scale vertical axis for the FFT function.

Query Syntax Return Format

:FFT:RANGe?
The :FFT:RANGe? query returns the current full-scale range value for the FFT function.
<range><NL>

See Also

<range> ::= the full-scale vertical axis value in NR3 format.
· ":FFT:CENTer" on page 271 · ":FFT:DISPlay" on page 272 · ":FFT:OFFSet" on page 273 · ":FFT:REFerence" on page 275 · ":FFT:SCALe" on page 276 · ":FFT:SOURce1" on page 277 · ":FFT:SPAN" on page 278 · ":FFT:VTYPe" on page 279 · ":FFT:WINDow" on page 280

274

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FFT Commands 15

:FFT:REFerence

(see page 818) Command Syntax :FFT:REFerence <level>
<level> ::= the current reference level in NR3 format.
The :FFT:REFerence command specifies the FFT vertical value represented at center screen. If you set the reference level to a value outside of the legal range, the level is automatically set to the nearest legal value.

NOTE

The :FFT:REFerence command is equivalent to the :FFT:OFFSet command.

Query Syntax Return Format

:FFT:REFerence?
The :FFT:REFerence? query returns the current reference level value for the FFT function.
<level><NL>

See Also

<level> ::= the current reference level in NR3 format.
· ":FFT:CENTer" on page 271 · ":FFT:DISPlay" on page 272 · ":FFT:OFFSet" on page 273 · ":FFT:RANGe" on page 274 · ":FFT:SCALe" on page 276 · ":FFT:SOURce1" on page 277 · ":FFT:SPAN" on page 278 · ":FFT:VTYPe" on page 279 · ":FFT:WINDow" on page 280

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

275

15 :FFT Commands

:FFT:SCALe

(see page 818)

Command Syntax :FFT:SCALe <scale_value>[<suffix>]

<scale_value> ::= floating-point value in NR3 format.

Query Syntax

<suffix> ::= dB
The :FFT:SCALe command sets the vertical scale, or units per division, of the FFT function. Legal values for the scale depend on the selected function.
:FFT:SCALe?
The :FFT:SCALe? query returns the current scale value for the FFT function.

Return Format <scale_value><NL>

See Also

<scale_value> ::= floating-point value in NR3 format.
· ":FFT:CENTer" on page 271 · ":FFT:DISPlay" on page 272 · ":FFT:OFFSet" on page 273 · ":FFT:RANGe" on page 274 · ":FFT:REFerence" on page 275 · ":FFT:SOURce1" on page 277 · ":FFT:SPAN" on page 278 · ":FFT:VTYPe" on page 279 · ":FFT:WINDow" on page 280

276

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FFT Commands 15

:FFT:SOURce1

(see page 818) Command Syntax :FFT:SOURce1 <offset>
<source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format.
The :FFT:SOURce1 command selects the source for the FFT function.

NOTE

Another shorthand notation for SOURce1 in this command/query (besides SOUR1) is SOUR.

Query Syntax Return Format

:FFT:SOURce1?
The :FFT:SOURce1? query returns the current source1 for the FFT function.
<source><NL>

See Also

<source> ::= {CHAN<n>}
· ":FFT:CENTer" on page 271 · ":FFT:DISPlay" on page 272 · ":FFT:OFFSet" on page 273 · ":FFT:RANGe" on page 274 · ":FFT:REFerence" on page 275 · ":FFT:SCALe" on page 276 · ":FFT:SPAN" on page 278 · ":FFT:VTYPe" on page 279 · ":FFT:WINDow" on page 280

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

277

15 :FFT Commands

:FFT:SPAN

(see page 818) Command Syntax :FFT:SPAN <span>
<span> ::= the current frequency span in NR3 format. Legal values are 1 Hz to 100 GHz.
If you set the frequency span to a value outside of the legal range, the step size is automatically set to the nearest legal value.
The :FFT:SPAN command sets the frequency span of the display (left graticule to right graticule) when FFT (Fast Fourier Transform) is selected. Query Syntax :FFT:SPAN? The :FFT:SPAN? query returns the current frequency span in Hertz.

NOTE

After a *RST (Reset) or :AUToscale command, the values returned by the :FFT:CENTer? and :FFT:SPAN? queries depend on the current :TIMebase:RANGe value. Once you change either the :FFT:CENTer or :FFT:SPAN value, they no longer track the :TIMebase:RANGe value.

Return Format <span><NL>

See Also

<span> ::= the current frequency span in NR3 format. Legal values are 1 Hz to 100 GHz.
· ":FFT:CENTer" on page 271 · ":FFT:DISPlay" on page 272 · ":FFT:OFFSet" on page 273 · ":FFT:RANGe" on page 274 · ":FFT:REFerence" on page 275 · ":FFT:SCALe" on page 276 · ":FFT:SOURce1" on page 277 · ":FFT:VTYPe" on page 279 · ":FFT:WINDow" on page 280

278

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FFT Commands 15

:FFT:VTYPe

(see page 818)

Command Syntax :FFT:VTYPe <units>

<units> ::= {DECibel | VRMS}
The :FFT:VTYPe command specifies FFT vertical units as DECibel or VRMS.

Query Syntax Return Format

:FFT:VTYPe?
The :FFT:VTYPe? query returns the current FFT vertical units.
<units><NL>

See Also

<units> ::= {DEC | VRMS}
· ":FFT:CENTer" on page 271 · ":FFT:DISPlay" on page 272 · ":FFT:OFFSet" on page 273 · ":FFT:RANGe" on page 274 · ":FFT:REFerence" on page 275 · ":FFT:SCALe" on page 276 · ":FFT:SOURce1" on page 277 · ":FFT:SPAN" on page 278 · ":FFT:WINDow" on page 280

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

279

15 :FFT Commands

:FFT:WINDow

(see page 818)

Command Syntax :FFT:WINDow <window>

<window> ::= {RECTangular | HANNing | FLATtop | BHARris}
The :FFT:WINDow command allows the selection of four different windowing transforms or operations for the FFT (Fast Fourier Transform) function.

Query Syntax

The FFT operation assumes that the time record repeats. Unless an integral number of sampled waveform cycles exist in the record, a discontinuity is created between the end of one record and the beginning of the next. This discontinuity introduces additional frequency components about the peaks into the spectrum. This is referred to as leakage. To minimize leakage, windows that approach zero smoothly at the start and end of the record are employed as filters to the FFTs. Each window is useful for certain classes of input signals. · RECTangular -- useful for transient signals, and signals where there are an
integral number of cycles in the time record. · HANNing -- useful for frequency resolution and general purpose use. It is good
for resolving two frequencies that are close together, or for making frequency measurements. This is the default window. · FLATtop -- best for making accurate amplitude measurements of frequency peaks. · BHARris (Blackman-Harris) -- reduces time resolution compared to the rectangular window, but it improves the capacity to detect smaller impulses due to lower secondary lobes (provides minimal spectral leakage).
:FFT:WINDow?
The :FFT:WINDow? query returns the value of the window selected for the FFT function.

Return Format <window><NL>

See Also

<window> ::= {RECT | HANN | FLAT | BHAR}
· ":FFT:CENTer" on page 271 · ":FFT:DISPlay" on page 272 · ":FFT:OFFSet" on page 273 · ":FFT:RANGe" on page 274 · ":FFT:REFerence" on page 275 · ":FFT:SCALe" on page 276 · ":FFT:SOURce1" on page 277 · ":FFT:SPAN" on page 278

280

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

· ":FFT:VTYPe" on page 279

:FFT Commands 15

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

281

15 :FFT Commands

282

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
16 :FRANalysis Commands

Control oscilloscope functions associated with the Frequency Response Analysis (FRA) feature, which is available in G-suffix oscilloscope models (that have a built-in waveform generator). See "Introduction to :FRANalysis Commands" on page 284.

Table 62 :FRANalysis Commands Summary

Command

Query

Options and Query Returns

n/a

:FRANalysis:DATA?

<binary_block> ::=

(see page 285)

comma-separated data with

newlines at the end of each row

:FRANalysis:ENABle
{{0 | OFF} | {1 | ON}} (see page 286)

:FRANalysis:ENABle? (see page 286)

{0 | 1}

:FRANalysis:FREQuency :FRANalysis:FREQuency <setting> ::= {SWEep | SINGle} :MODE <setting> (see :MODE? (see page 287) page 287)

:FRANalysis:FREQuency
:SINGle
<value>[suffix] (see page 288)

:FRANalysis:FREQuency
:SINGle? (see page 288)

<value> ::= between 10 Hz and 20 MHz with a resolution of 0.1 Hz in NR3 format
[suffix] ::= {Hz | kHz| MHz}

:FRANalysis:FREQuency
:STARt
<value>[suffix] (see page 289)

:FRANalysis:FREQuency :STARt? (see page 289)

<value> ::= between 10 Hz and 19.99 MHz with a resolution of 0.1 Hz in NR3 format
[suffix] ::= {Hz | kHz| MHz}

:FRANalysis:FREQuency
:STOP <value>[suffix] (see page 290)

:FRANalysis:FREQuency :STOP? (see page 290)

<value> ::= between 10.1 Hz and 20 MHz with a resolution of 0.1 Hz in NR3 format
[suffix] ::= {Hz | kHz| MHz}

:FRANalysis:RUN (see n/a

n/a

page 291)

283

16 :FRANalysis Commands

Table 62 :FRANalysis Commands Summary (continued)

Command

Query

Options and Query Returns

:FRANalysis:SOURce:IN :FRANalysis:SOURce:IN <source> ::= CHANnel<n>

Put <source> (see page 292)

Put? (see page 292)

<n> ::= 1 to (# analog channels) in NR1 format

:FRANalysis:SOURce:OU :FRANalysis:SOURce:OU <source> ::= CHANnel<n>

TPut <source> (see page 293)

TPut? (see page 293)

<n> ::= 1 to (# analog channels) in NR1 format

:FRANalysis:SWEep:POI :FRANalysis:SWEep:POI <pts> ::= number of points from 1

Nts <pts> (see

Nts? (see page 294)

to 1000 in NR1 format

page 294)

:FRANalysis:TRACe
<selection> (see page 295)

:FRANalysis:TRACe? (see page 295)

<selection> ::= {NONE | ALL | GAIN | PHASe}[,{GAIN | PHASe}]

:FRANalysis:WGEN:LOAD :FRANalysis:WGEN:LOAD <impedance> ::= {ONEMeg | FIFTy}

<impedance> (see

? (see page 296)

page 296)

:FRANalysis:WGEN:VOLT :FRANalysis:WGEN:VOLT <amplitude> ::= amplitude in

age <amplitude> (see age? (see page 297)

volts in NR3 format

page 297)

Introduction to :FRANalysis Commands

The FRANalysis subsystem controls the Frequency Response Analysis feature in the oscilloscope. The Frequency Response Analysis (FRA) feature controls the built-in waveform generator to sweep a sine wave across a range of frequencies while measuring the input to and output from a device under test (DUT). At each frequency, gain (A) and phase are measured and plotted on a frequency response chart.

Reporting the Setup Use :FRANalysis? to query setup information for the FRANalysis subsystem.

Return Format The following is a sample response from the :FRANalysis? query. In this case, the query was issued following a *RST command.

:FRAN:SOUR:INP CHAN1;OUTP CHAN2;:FRAN:FREQ:STAR +100E+00; STOP +20.000000E+06;:FRAN:WGEN:VOLT +200.0E-03;LOAD FIFT

284

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FRANalysis Commands 16

:FRANalysis:DATA

(see page 818)

Query Syntax Return Format

:FRANalysis:DATA?
The :FRANalysis:DATA? query returns the frequency response analysis data. The data is returned in four comma-separated columns of data for each step in the sweep: Frequency (Hz), Amplitude (Vpp), Gain (dB), and Phase (°).
<binary_block><NL>

See Also

<binary_block> ::= comma-separated data with newlines at the end of each row
· ":FRANalysis:ENABle" on page 286 · ":FRANalysis:FREQuency:STARt" on page 289 · ":FRANalysis:FREQuency:STOP" on page 290 · ":FRANalysis:RUN" on page 291 · ":FRANalysis:SOURce:INPut" on page 292 · ":FRANalysis:SOURce:OUTPut" on page 293 · ":FRANalysis:TRACe" on page 295 · ":FRANalysis:WGEN:LOAD" on page 296 · ":FRANalysis:WGEN:VOLTage" on page 297

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

285

16 :FRANalysis Commands

:FRANalysis:ENABle

(see page 818)

Command Syntax :FRANalysis:ENABle <setting>

<setting> ::= {{0 | OFF} | {1 | ON}}
The :FRANalysis:ENABle command turns the Frequency Response Analysis (FRA) feature on or off.

Query Syntax Return Format

:FRANalysis:ENABle?
The :FRANalysis:ENABle? query returns a flag indicating whether the Frequency Response Analysis (FRA) feature is on or off.
<setting><NL>

See Also

<setting> ::= {0 | 1}
· ":FRANalysis:DATA" on page 285 · ":FRANalysis:FREQuency:STARt" on page 289 · ":FRANalysis:FREQuency:STOP" on page 290 · ":FRANalysis:RUN" on page 291 · ":FRANalysis:SOURce:INPut" on page 292 · ":FRANalysis:SOURce:OUTPut" on page 293 · ":FRANalysis:WGEN:LOAD" on page 296 · ":FRANalysis:WGEN:VOLTage" on page 297

286

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FRANalysis Commands 16

:FRANalysis:FREQuency:MODE

(see page 818) Command Syntax :FRANalysis:FREQuency:MODE <setting>
<setting> ::= {SWEep | SINGle}
The :FRANalysis:FREQuency:MODE command lets you select between the normal swept frequency response analysis or analysis at a single frequency, which can be useful when debugging.

NOTE

The SINGle mode is available through the remote programming interface only and is not available when using the front panel graphical user interface (GUI).

Query Syntax Return Format

:FRANalysis:FREQuency:MODE?
The :FRANalysis:FREQuency:MODE? query returns the frequency mode setting.
<setting><NL>

See Also

<setting> ::= {SWEep | SINGle}
· ":FRANalysis:RUN" on page 291 · ":FRANalysis:FREQuency:SINGle" on page 288 · ":FRANalysis:FREQuency:STARt" on page 289 · ":FRANalysis:FREQuency:STOP" on page 290 · ":FRANalysis:SWEep:POINts" on page 294

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

287

16 :FRANalysis Commands

:FRANalysis:FREQuency:SINGle

(see page 818) Command Syntax :FRANalysis:FREQuency:SINGle <value>[suffix]
<value> ::= between 10 Hz and 20 MHz with a resolution of 0.1 Hz in NR3 format
[suffix] ::= {Hz | kHz| MHz}
The :FRANalysis:FREQuency:SINGle command command sets the single frequency value.

NOTE

The SINGle mode is available through the remote programming interface only and is not available when using the front panel graphical user interface (GUI).

Query Syntax
Return Format See Also

:FRANalysis:FREQuency:SINGle?
The :FRANalysis:FREQuency:SINGle? query returns the single frequency setting.
<value><NL>
· ":FRANalysis:DATA" on page 285 · ":FRANalysis:ENABle" on page 286 · ":FRANalysis:SWEep:POINts" on page 294 · ":FRANalysis:FREQuency:MODE" on page 287 · ":FRANalysis:RUN" on page 291 · ":FRANalysis:SOURce:INPut" on page 292 · ":FRANalysis:SOURce:OUTPut" on page 293 · ":FRANalysis:WGEN:LOAD" on page 296 · ":FRANalysis:WGEN:VOLTage" on page 297

288

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FRANalysis Commands 16

:FRANalysis:FREQuency:STARt

(see page 818)

Command Syntax :FRANalysis:FREQuency:STARt <value>[suffix]

<value> ::= between 10 Hz and 19.99 MHz with a resolution of 0.1 Hz in NR3 format

Query Syntax
Return Format See Also

[suffix] ::= {Hz | kHz| MHz}
The :FRANalysis:FREQuency:STARt command command sets the frequency sweep start value.
:FRANalysis:FREQuency:STARt?
The :FRANalysis:FREQuency:STARt? query returns the frequency sweep start setting.
<value><NL>
· ":FRANalysis:DATA" on page 285 · ":FRANalysis:ENABle" on page 286 · ":FRANalysis:FREQuency:STOP" on page 290 · ":FRANalysis:SWEep:POINts" on page 294 · ":FRANalysis:FREQuency:MODE" on page 287 · ":FRANalysis:RUN" on page 291 · ":FRANalysis:SOURce:INPut" on page 292 · ":FRANalysis:SOURce:OUTPut" on page 293 · ":FRANalysis:WGEN:LOAD" on page 296 · ":FRANalysis:WGEN:VOLTage" on page 297

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

289

16 :FRANalysis Commands

:FRANalysis:FREQuency:STOP

(see page 818)

Command Syntax :FRANalysis:FREQuency:STOP <value>[suffix]

<value> ::= between 10.1 Hz and 20 MHz with a resolution of 0.1 Hz in NR3 format

Query Syntax
Return Format See Also

[suffix] ::= {Hz | kHz| MHz}
The :FRANalysis:FREQuency:STOP command sets the frequency sweep stop value.
:FRANalysis:FREQuency:STOP?
The :FRANalysis:FREQuency:STOP? query returns the frequency sweep stop setting.
<value><NL>
· ":FRANalysis:DATA" on page 285 · ":FRANalysis:ENABle" on page 286 · ":FRANalysis:FREQuency:STARt" on page 289 · ":FRANalysis:SWEep:POINts" on page 294 · ":FRANalysis:FREQuency:MODE" on page 287 · ":FRANalysis:RUN" on page 291 · ":FRANalysis:SOURce:INPut" on page 292 · ":FRANalysis:SOURce:OUTPut" on page 293 · ":FRANalysis:WGEN:LOAD" on page 296 · ":FRANalysis:WGEN:VOLTage" on page 297

290

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FRANalysis Commands 16

:FRANalysis:RUN

Command Syntax See Also

(see page 818)
:FRANalysis:RUN
The :FRANalysis:RUN command performs the Frequency Response Analysis. This analysis controls the built-in waveform generator to sweep a sine wave across a range of frequencies while measuring the input to and output from a device under test (DUT). At each frequency, gain (A) and phase are measured and plotted on a Bode frequency response chart.
The :FRANalysis:APPLy command is a valid compatible alias for the :FRANalysis:RUN command.
When the frequency response analysis completes, you can use the :FRANalysis:DATA? query to get four comma-separated columns of data for each step in the sweep: Frequency (Hz), Amplitude (Vpp), Gain (dB), and Phase (°).
It takes some time for the frequency sweep analysis to complete. You can query bit 0 of the Standard Event Status Register (*ESR?) to find out when the analysis is complete.
· ":FRANalysis:DATA" on page 285 · ":FRANalysis:ENABle" on page 286 · ":FRANalysis:FREQuency:MODE" on page 287 · ":FRANalysis:FREQuency:SINGle" on page 288 · ":FRANalysis:FREQuency:STARt" on page 289 · ":FRANalysis:FREQuency:STOP" on page 290 · ":FRANalysis:SOURce:INPut" on page 292 · ":FRANalysis:SOURce:OUTPut" on page 293 · ":FRANalysis:TRACe" on page 295 · ":FRANalysis:WGEN:LOAD" on page 296 · ":FRANalysis:WGEN:VOLTage" on page 297 · "*ESR (Standard Event Status Register)" on page 122

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

291

16 :FRANalysis Commands

:FRANalysis:SOURce:INPut

(see page 818)

Command Syntax :FRANalysis:SOURce:INPut <source>

<source> ::= CHANnel<n>

<n> ::= 1 to (# analog channels) in NR1 format
The :FRANalysis:SOURce:INPut command specifies the analog input channel that is probing the input voltage to the device under test (DUT) in the frequency response analysis.

Query Syntax Return Format

:FRANalysis:SOURce:INPut?
The :FRANalysis:SOURce:INPut? query returns the currently selected channel probing the input voltage.
<source><NL>

See Also

<source> ::= CHAN<n>
· ":FRANalysis:DATA" on page 285 · ":FRANalysis:ENABle" on page 286 · ":FRANalysis:FREQuency:STARt" on page 289 · ":FRANalysis:FREQuency:STOP" on page 290 · ":FRANalysis:RUN" on page 291 · ":FRANalysis:SOURce:OUTPut" on page 293 · ":FRANalysis:WGEN:LOAD" on page 296 · ":FRANalysis:WGEN:VOLTage" on page 297

292

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FRANalysis Commands 16

:FRANalysis:SOURce:OUTPut

(see page 818)

Command Syntax :FRANalysis:SOURce:OUTPut <source>

<source> ::= CHANnel<n>

<n> ::= 1 to (# analog channels) in NR1 format
The :FRANalysis:SOURce:OUTPut command specifies the analog input channel that is probing the output voltage from the device under test (DUT) in the frequency response analysis.

Query Syntax Return Format

:FRANalysis:SOURce:OUTPut?
The :FRANalysis:SOURce:OUTPut? query returns the currently selected channel probing the output voltage.
<source><NL>

See Also

<source> ::= CHAN<n>
· ":FRANalysis:DATA" on page 285 · ":FRANalysis:ENABle" on page 286 · ":FRANalysis:FREQuency:STARt" on page 289 · ":FRANalysis:FREQuency:STOP" on page 290 · ":FRANalysis:RUN" on page 291 · ":FRANalysis:SOURce:INPut" on page 292 · ":FRANalysis:WGEN:LOAD" on page 296 · ":FRANalysis:WGEN:VOLTage" on page 297

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

293

16 :FRANalysis Commands

:FRANalysis:SWEep:POINts

(see page 818)

Command Syntax :FRANalysis:SWEep:POINts <pts>

<pts> ::= number of points from 1 to 1000 in NR1 format
The :FRANalysis:SWEep:POINts command specifies the total number of points in the frequency response analysis.

Query Syntax
Return Format See Also

:FRANalysis:SWEep:POINts?
The :FRANalysis:SWEep:POINts? query returns the number of points setting.
<pts><NL>
· ":FRANalysis:FREQuency:STARt" on page 289 · ":FRANalysis:FREQuency:STOP" on page 290

294

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FRANalysis Commands 16

:FRANalysis:TRACe

(see page 818) Command Syntax :FRANalysis:TRACe <selection>
<selection> ::= {NONE | ALL | GAIN | PHASe}[,{GAIN | PHASe}]
The :FRANalysis:TRACe command specifies whether to include gain, phase, both gain and phase, or neither in the frequency response analysis results.

NOTE

This command affects the oscilloscope's front panel graphical user interface (plot and table) as well as when saving analysis data.

Query Syntax Return Format

:FRANalysis:TRACe?
The :FRANalysis:TRACe? query returns a comma-separated list of the types of data that are currently included in the frequency response analysis results, or "NONE" if neither gain nor phase data is included.
<selection_list><NL>

See Also

<selection_list> ::= {"NONE" | "GAIN" | "PHASe" | "GAIN,PHASe"}
· ":FRANalysis:RUN" on page 291 · ":FRANalysis:DATA" on page 285

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

295

16 :FRANalysis Commands

:FRANalysis:WGEN:LOAD

(see page 818)

Command Syntax :FRANalysis:WGEN:LOAD <impedance>

<impedance> ::= {ONEMeg | FIFTy}
The :FRANalysis:WGEN:LOAD command selects the expected output load impedance.

The output impedance of the Gen Out BNC is fixed at 50 ohms. However, the output load selection lets the waveform generator display the correct amplitude and offset levels for the expected output load. If the actual load impedance is different than the selected value, the displayed amplitude and offset levels will be incorrect.

Query Syntax Return Format

:FRANalysis:WGEN:LOAD?
The :FRANalysis:WGEN:LOAD? query returns the current expected output load impedance.
<impedance><NL>

See Also

<impedance> ::= {ONEM | FIFT}
· ":FRANalysis:DATA" on page 285 · ":FRANalysis:ENABle" on page 286 · ":FRANalysis:FREQuency:STARt" on page 289 · ":FRANalysis:FREQuency:STOP" on page 290 · ":FRANalysis:RUN" on page 291 · ":FRANalysis:SOURce:INPut" on page 292 · ":FRANalysis:SOURce:OUTPut" on page 293 · ":FRANalysis:WGEN:VOLTage" on page 297

296

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FRANalysis Commands 16

:FRANalysis:WGEN:VOLTage

(see page 818)

Command Syntax :FRANalysis:WGEN:VOLTage <amplitude>

<amplitude> ::= amplitude in volts in NR3 format
The :FRANalysis:WGEN:VOLTage command specifies the waveform generator's output sine wave amplitude.

Query Syntax Return Format

Use the :WGEN:VOLTage:OFFSet command to specify the offset voltage or DC level. You can also specify the amplitude and offset indirectly using the :WGEN:VOLTage:HIGH and :WGEN:VOLTage:LOW commands. For example, an amplitude of 5 V and an offset of 1 V is the same as a high-level voltage of 4 V and a low-level voltage of -1 V.
:FRANalysis:WGEN:VOLTage?
The :FRANalysis:WGEN:VOLTage? query returns the currently specified waveform generator amplitude.
<amplitude><NL>

See Also

<amplitude> ::= amplitude in volts in NR3 format
· ":FRANalysis:DATA" on page 285 · ":FRANalysis:ENABle" on page 286 · ":FRANalysis:FREQuency:STARt" on page 289 · ":FRANalysis:FREQuency:STOP" on page 290 · ":FRANalysis:SWEep:POINts" on page 294 · ":FRANalysis:RUN" on page 291 · ":FRANalysis:SOURce:INPut" on page 292 · ":FRANalysis:SOURce:OUTPut" on page 293 · ":FRANalysis:WGEN:LOAD" on page 296

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

297

16 :FRANalysis Commands

298

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
17 :FUNCtion Commands

Control functions in the measurement/storage module. See "Introduction to :FUNCtion Commands" on page 301.

Table 63 :FUNCtion Commands Summary

Command

Query

Options and Query Returns

:FUNCtion:DISPlay {{0
| OFF} | {1 | ON}} (see page 302)

:FUNCtion:DISPlay? (see page 302)

{0 | 1}

:FUNCtion[:FFT]:CENTe
r <frequency> (see page 303)

:FUNCtion[:FFT]:CENTe r? (see page 303)

<frequency> ::= the current center frequency in NR3 format. The range of legal values is from 0 Hz to 25 GHz.

:FUNCtion[:FFT]:PHASe
:REFerence
<ref_point> (see page 304)

:FUNCtion[:FFT]:PHASe
:REFerence? (see page 304)

<ref_point> ::= {TRIGger | DISPlay}

:FUNCtion[:FFT]:SPAN <span> (see page 305)

:FUNCtion[:FFT]:SPAN? <span> ::= the current frequency

(see page 305)

span in NR3 format.

Legal values are 1 Hz to 100 GHz.

:FUNCtion[:FFT]:VTYPe <units> (see page 306)

:FUNCtion[:FFT]:VTYPe ? (see page 306)

<units> ::= {DECibel | VRMS} for the FFT (magnitude) operation
<units> ::= {DEGRees | RADians} for the FFTPhase operation

:FUNCtion[:FFT]:WINDo :FUNCtion[:FFT]:WINDo <window> ::= {RECTangular |

w <window> (see

w? (see page 307)

HANNing | FLATtop | BHARris}

page 307)

:FUNCtion:FREQuency:L :FUNCtion:FREQuency:L <3dB_freq> ::= 3dB cutoff

OWPass <3dB_freq>

OWPass? (see page 308) frequency value in NR3 format

(see page 308)

:FUNCtion:GOFT:OPERat :FUNCtion:GOFT:OPERat <operation> ::= {ADD | SUBTract |

ion <operation> (see ion? (see page 309)

MULTiply}

page 309)

299

17 :FUNCtion Commands

Table 63 :FUNCtion Commands Summary (continued)

Command

Query

Options and Query Returns

:FUNCtion:GOFT:SOURce :FUNCtion:GOFT:SOURce <source> ::= CHANnel<n>

1 <source> (see page 310)

1? (see page 310)

<n> ::= 1 to (# analog channels) in NR1 format

:FUNCtion:GOFT:SOURce :FUNCtion:GOFT:SOURce <source> ::= CHANnel<n>

2 <source> (see page 311)

2? (see page 311)

<n> ::= 1 to (# analog channels) in NR1 format

:FUNCtion:OFFSet
<offset> (see page 312)

:FUNCtion:OFFSet? (see page 312)

<offset> ::= the value at center screen in NR3 format.
The range of legal values is +/-10 times the current sensitivity of the selected function.

:FUNCtion:OPERation
<operation> (see page 313)

:FUNCtion:OPERation? (see page 313)

<operation> ::= {ADD | SUBTract | MULTiply | DIVide | FFT | FFTPhase | LOWPass}

:FUNCtion:RANGe <range> (see page 315)

:FUNCtion:RANGe? (see page 315)

<range> ::= the full-scale vertical axis value in NR3 format.
The range for ADD, SUBT, MULT is 8E-6 to 800E+3.
The range for the FFT function is 8 to 800 dBV.

:FUNCtion:REFerence :FUNCtion:REFerence? <level> (see page 316) (see page 316)

<level> ::= the value at center screen in NR3 format.
The range of legal values is +/-10 times the current sensitivity of the selected function.

:FUNCtion:SCALe
<scale
value>[<suffix>] (see page 317)

:FUNCtion:SCALe? (see page 317)

<scale value> ::= integer in NR1 format
<suffix> ::= {V | dB}

:FUNCtion:SOURce1
<source> (see page 318)

:FUNCtion:SOURce1? (see page 318)

<source> ::= {CHANnel<n> | GOFT} <n> ::= 1 to (# analog channels) in NR1 format GOFT is only for FFT operation.

:FUNCtion:SOURce2
<source> (see page 319)

:FUNCtion:SOURce2? (see page 319)

<source> ::= {CHANnel<n> | NONE}
<n> ::= 1 to (# analog channels) in NR1 format, depending on SOURce1 selection

300

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FUNCtion Commands 17

Introduction to :FUNCtion Commands

The FUNCtion subsystem controls the math functions in the oscilloscope. Add, subtract, multiply, and FFT (Fast Fourier Transform) operations are available. These math operations only use the analog (vertical) channels. The SOURce1, DISPlay, RANGe, and OFFSet commands apply to any function. The SPAN, CENTer, VTYPe, and WINDow commands are only useful for FFT functions. When FFT is selected, the horizontal cursors change from time to frequency (Hz), and the vertical cursors change from volts to decibel (dB).

Reporting the Setup Use :FUNCtion? to query setup information for the FUNCtion subsystem.

Return Format The following is a sample response from the :FUNCtion? queries. In this case, the query was issued following a *RST command.

:FUNC:OPER ADD;DISP 0;SOUR1 CHAN1;SOUR2 CHAN2;RANG +8.00E+00;OFFS +0.0E+00;:FUNC:GOFT:OPER ADD;SOUR1 CHAN1;SOUR2 CHAN2

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

301

17 :FUNCtion Commands

:FUNCtion:DISPlay

(see page 818)

Command Syntax :FUNCtion:DISPlay <display>

Query Syntax Return Format

<display> ::= {{1 | ON} | {0 | OFF}}
The :FUNCtion:DISPlay command turns the display of the function on or off. When ON is selected, the function performs as specified using the other FUNCtion commands. When OFF is selected, function is neither calculated nor displayed.
:FUNCtion:DISPlay?
The :FUNCtion:DISPlay? query returns whether the function display is on or off.
<display><NL>

See Also

<display> ::= {1 | 0}
· "Introduction to :FUNCtion Commands" on page 301 · ":VIEW" on page 174 · ":BLANk" on page 150 · ":STATus" on page 171

302

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FUNCtion Commands 17

:FUNCtion[:FFT]:CENTer

(see page 818)

Command Syntax :FUNCtion[:FFT]:CENTer <frequency>

Query Syntax Return Format

<frequency> ::= the current center frequency in NR3 format. The range of legal values is from 0 Hz to 25 GHz.
The :FUNCtion[:FFT]:CENTer command sets the center frequency when FFT (Fast Fourier Transform) is selected.
:FUNCtion[:FFT]:CENTer?
The :FUNCtion[:FFT]:CENTer? query returns the current center frequency in Hertz.
<frequency><NL>

<frequency> ::= the current center frequency in NR3 format. The range of legal values is from 0 Hz to 25 GHz.

NOTE

After a *RST (Reset) or :AUToscale command, the values returned by the :FUNCtion[:FFT]:CENTer? and :FUNCtion:SPAN? queries depend on the current :TIMebase:RANGe value. Once you change either the :FUNCtion[:FFT]:CENTer or :FUNCtion:SPAN value, they no longer track the :TIMebase:RANGe value.

See Also

· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion[:FFT]:SPAN" on page 305 · ":TIMebase:RANGe" on page 597 · ":TIMebase:SCALe" on page 599

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

303

17 :FUNCtion Commands

:FUNCtion[:FFT]:PHASe:REFerence

(see page 818)

Command Syntax :FUNCtion[:FFT]:PHASe:REFerence <ref_point>

Query Syntax Return Format

<ref_point> ::= {TRIGger | DISPlay}
The :FUNCtion[:FFT]:PHASe:REFerence command sets the reference point for calculating the FFT Phase function to either the trigger point or beginning of the displayed waveform.
:FUNCtion[:FFT]:PHASe:REFerence?
The :FUNCtion[:FFT]:PHASe:REFerence? query returns the selected reference point.
<ref_point><NL>

See Also

<ref_point> ::= {TRIGger | DISPlay}
· ":FUNCtion:OPERation" on page 313 · "Introduction to :FUNCtion Commands" on page 301

304

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FUNCtion Commands 17

:FUNCtion[:FFT]:SPAN

(see page 818) Command Syntax :FUNCtion[:FFT]:SPAN <span>
<span> ::= the current frequency span in NR3 format. Legal values are 1 Hz to 100 GHz.
If you set the frequency span to a value outside of the legal range, the step size is automatically set to the nearest legal value.
The :FUNCtion[:FFT]:SPAN command sets the frequency span of the display (left graticule to right graticule) when FFT (Fast Fourier Transform) is selected. Query Syntax :FUNCtion[:FFT]:SPAN? The :FUNCtion[:FFT]:SPAN? query returns the current frequency span in Hertz.

NOTE

After a *RST (Reset) or :AUToscale command, the values returned by the :FUNCtion[:FFT]:CENTer? and :FUNCtion:SPAN? queries depend on the current :TIMebase:RANGe value. Once you change either the :FUNCtion[:FFT]:CENTer or :FUNCtion:SPAN value, they no longer track the :TIMebase:RANGe value.

Return Format <span><NL>

See Also

<span> ::= the current frequency span in NR3 format. Legal values are 1 Hz to 100 GHz.
· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion[:FFT]:CENTer" on page 303 · ":TIMebase:RANGe" on page 597 · ":TIMebase:SCALe" on page 599

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

305

17 :FUNCtion Commands

:FUNCtion[:FFT]:VTYPe

(see page 818)

Command Syntax :FUNCtion[:FFT]:VTYPe <units>

<units> ::= {DECibel | VRMS} for the FFT (magnitude) operation

Query Syntax Return Format

<units> ::= {DEGRees | RADians} for the FFTPhase operation
The :FUNCtion[:FFT]:VTYPe command specifies FFT vertical units.
:FUNCtion[:FFT]:VTYPe?
The :FUNCtion[:FFT]:VTYPe? query returns the current FFT vertical units.
<units><NL>

<units> ::= {DEC | VRMS} for the FFT (magnitude) operation

See Also

<units> ::= {DEGR | RAD} for the FFTPhase operation
· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion:OPERation" on page 313

306

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FUNCtion Commands 17

:FUNCtion[:FFT]:WINDow

(see page 818)

Command Syntax :FUNCtion[:FFT]:WINDow <window>

<window> ::= {RECTangular | HANNing | FLATtop | BHARris}
The :FUNCtion[:FFT]:WINDow command allows the selection of four different windowing transforms or operations for the FFT (Fast Fourier Transform) function.

Query Syntax

The FFT operation assumes that the time record repeats. Unless an integral number of sampled waveform cycles exist in the record, a discontinuity is created between the end of one record and the beginning of the next. This discontinuity introduces additional frequency components about the peaks into the spectrum. This is referred to as leakage. To minimize leakage, windows that approach zero smoothly at the start and end of the record are employed as filters to the FFTs. Each window is useful for certain classes of input signals. · RECTangular -- useful for transient signals, and signals where there are an
integral number of cycles in the time record. · HANNing -- useful for frequency resolution and general purpose use. It is good
for resolving two frequencies that are close together, or for making frequency measurements. This is the default window. · FLATtop -- best for making accurate amplitude measurements of frequency peaks. · BHARris (Blackman-Harris) -- reduces time resolution compared to the rectangular window, but it improves the capacity to detect smaller impulses due to lower secondary lobes (provides minimal spectral leakage).
:FUNCtion[:FFT]:WINDow?
The :FUNCtion[:FFT]:WINDow? query returns the value of the window selected for the FFT function.

Return Format <window><NL>

<window> ::= {RECT | HANN | FLAT | BHAR}
See Also · "Introduction to :FUNCtion Commands" on page 301

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

307

17 :FUNCtion Commands

:FUNCtion:FREQuency:LOWPass

(see page 818)

Command Syntax :FUNCtion:FREQuency:LOWPass <3dB_freq>

<3dB_freq> ::= -3dB cutoff frequency value in NR3 format
The :FUNCtion:FREQuency:LOWPass command sets the low-pass filter's -3 dB cutoff frequency.

Query Syntax Return Format

The low-pass filter is a 4th order Bessel-Thompson filter.
:FUNCtion:FREQuency:LOWPass?
The :FUNCtion:FREQuency:LOWPass query returns the low-pass filter's cutoff frequency.
<3dB_freq><NL>

<3dB_freq> ::= -3dB cutoff frequency value in NR3 format
See Also · ":FUNCtion:OPERation" on page 313

308

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FUNCtion Commands 17

:FUNCtion:GOFT:OPERation

(see page 818)

Command Syntax :FUNCtion:GOFT:OPERation <operation>

<operation> ::= {ADD | SUBTract | MULTiply}
The :FUNCtion:GOFT:OPERation command sets the math operation for the g(t) source that can be used as the input to the FFT function: · ADD -- Source1 + source2. · SUBTract -- Source1 - source2. · MULTiply -- Source1 * source2.

Query Syntax Return Format

The :FUNCtion:GOFT:SOURce1 and :FUNCtion:GOFT:SOURce2 commands are used to select source1 and source2.
:FUNCtion:GOFT:OPERation?
The :FUNCtion:GOFT:OPERation? query returns the current g(t) source operation setting.
<operation><NL>

See Also

<operation> ::= {ADD | SUBT | MULT}
· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion:GOFT:SOURce1" on page 310 · ":FUNCtion:GOFT:SOURce2" on page 311 · ":FUNCtion:SOURce1" on page 318

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

309

17 :FUNCtion Commands

:FUNCtion:GOFT:SOURce1

(see page 818)

Command Syntax :FUNCtion:GOFT:SOURce1 <value>

<value> ::= CHANnel<n>

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :FUNCtion:GOFT:SOURce1 command selects the first input channel for the g(t) source that can be used as the input to the FFT function.
:FUNCtion:GOFT:SOURce1?
The :FUNCtion:GOFT:SOURce1? query returns the current selection for the first input channel for the g(t) source.
<value><NL>

<value> ::= CHAN<n>

See Also

<n> ::= 1 to (# analog channels) in NR1 format
· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion:GOFT:SOURce2" on page 311 · ":FUNCtion:GOFT:OPERation" on page 309

310

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FUNCtion Commands 17

:FUNCtion:GOFT:SOURce2

(see page 818)

Command Syntax :FUNCtion:GOFT:SOURce2 <value>

<value> ::= CHANnel<n>

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :FUNCtion:GOFT:SOURce2 command selects the second input channel for the g(t) source that can be used as the input to the FFT function.
:FUNCtion:GOFT:SOURce2?
The :FUNCtion:GOFT:SOURce2? query returns the current selection for the second input channel for the g(t) source.
<value><NL>

<value> ::= CHAN<n>

See Also

<n> ::= 1 to (# analog channels) in NR1 format
· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion:GOFT:SOURce1" on page 310 · ":FUNCtion:GOFT:OPERation" on page 309

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

311

17 :FUNCtion Commands

:FUNCtion:OFFSet

(see page 818) Command Syntax :FUNCtion:OFFSet <offset>
<offset> ::= the value at center screen in NR3 format.
The :FUNCtion:OFFSet command sets the voltage or vertical value represented at center screen for the selected function. The range of legal values is generally +/-10 times the current scale of the selected function, but will vary by function. If you set the offset to a value outside of the legal range, the offset value is automatically set to the nearest legal value.

NOTE

The :FUNCtion:OFFset command is equivalent to the :FUNCtion:REFerence command.

Query Syntax Return Format

:FUNCtion:OFFSet?
The :FUNCtion:OFFSet? query outputs the current offset value for the selected function.
<offset><NL>

See Also

<offset> ::= the value at center screen in NR3 format.
· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion:RANGe" on page 315 · ":FUNCtion:REFerence" on page 316 · ":FUNCtion:SCALe" on page 317

312

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FUNCtion Commands 17

:FUNCtion:OPERation

(see page 818)

Command Syntax :FUNCtion:OPERation <operation>

Query Syntax Return Format

<operation> ::= {ADD | SUBTract | MULTiply | DIVide | FFT | FFTPhase | LOWPass}
The :FUNCtion:OPERation command sets the desired waveform math operation: · ADD -- Source1 + source2. · SUBTract -- Source1 - source2. · MULTiply -- Source1 * source2. · DIVide -- Source1 / source2. · FFT (magnitude) -- Using the Fast Fourier Transform (FFT), this operation
displays the magnitudes of the frequency content that makes up the source waveform. The FFT takes the digitized time record of the specified source and transforms it to the frequency domain. The SPAN, CENTer, VTYPe, and WINDow commands are used for FFT functions. When FFT is selected, the horizontal cursors change from time to frequency (Hz), and the vertical cursors change from volts to decibels or V RMS. · FFTPhase -- Using the Fast Fourier Transform (FFT), this operation shows the phase relationships of the frequency content that makes up the source waveform. The FFT takes the digitized time record of the specified source and transforms it to the frequency domain. The SPAN, CENTer, VTYPe, and WINDow commands are used for FFT functions. When FFTPhase is selected, the horizontal cursors change from time to frequency (Hz), and the vertical cursors change from volts to degrees or radians. · LOWPass -- Low pass filter -- The FREQuency:LOWPass command sets the -3 dB cutoff frequency. When the operation is ADD, SUBTract, MULTiply, or DIVide, the :FUNCtion:SOURce1 and :FUNCtion:SOURce2 commands are used to select source1 and source2. For FFT, the :FUNCtion:SOURce1 command selects the waveform source.
:FUNCtion:OPERation?
The :FUNCtion:OPERation? query returns the current operation for the selected function.
<operation><NL>

<operation> ::= {ADD | SUBT | MULT | DIV | FFT | FFTP | LOWP}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

313

17 :FUNCtion Commands

See Also

· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion:SOURce1" on page 318 · ":FUNCtion:SOURce2" on page 319

314

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FUNCtion Commands 17

:FUNCtion:RANGe

(see page 818)

Command Syntax :FUNCtion:RANGe <range>

<range> ::= the full-scale vertical axis value in NR3 format.
The :FUNCtion:RANGe command defines the full-scale vertical axis for the selected function.

Query Syntax Return Format

:FUNCtion:RANGe?
The :FUNCtion:RANGe? query returns the current full-scale range value for the selected function.
<range><NL>

See Also

<range> ::= the full-scale vertical axis value in NR3 format.
· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion:SCALe" on page 317

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

315

17 :FUNCtion Commands

:FUNCtion:REFerence

(see page 818) Command Syntax :FUNCtion:REFerence <level>
<level> ::= the current reference level in NR3 format.
The :FUNCtion:REFerence command sets the voltage or vertical value represented at center screen for the selected function. The range of legal values is generally +/-10 times the current scale of the selected function, but will vary by function. If you set the reference level to a value outside of the legal range, the level is automatically set to the nearest legal value.

NOTE

The FUNCtion:REFerence command is equivalent to the :FUNCtion:OFFSet command.

Query Syntax Return Format

:FUNCtion:REFerence?
The :FUNCtion:REFerence? query outputs the current reference level value for the selected function.
<level><NL>

See Also

<level> ::= the current reference level in NR3 format.
· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion:OFFSet" on page 312 · ":FUNCtion:RANGe" on page 315 · ":FUNCtion:SCALe" on page 317

316

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FUNCtion Commands 17

:FUNCtion:SCALe

(see page 818)

Command Syntax :FUNCtion:SCALe <scale value>[<suffix>]

<scale value> ::= integer in NR1 format

Query Syntax Return Format

<suffix> ::= {V | dB}
The :FUNCtion:SCALe command sets the vertical scale, or units per division, of the selected function. Legal values for the scale depend on the selected function.
:FUNCtion:SCALe?
The :FUNCtion:SCALe? query returns the current scale value for the selected function.
<scale value><NL>

See Also

<scale value> ::= integer in NR1 format
· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion:RANGe" on page 315

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

317

17 :FUNCtion Commands

:FUNCtion:SOURce1

(see page 818) Command Syntax :FUNCtion:SOURce1 <value>
<value> ::= {CHANnel<n> | GOFT}
<n> ::= 1 to (# analog channels) in NR1 format
The :FUNCtion:SOURce1 command is used for any :FUNCtion:OPERation selection (including the ADD, SUBTract, or MULTiply channel math operations and the FFT transform). This command selects the first source for channel math operations or the single source for the transforms. The GOFT parameter is only available for the FFT function. It lets you specify, as the function input source, the addition, subtraction, or multiplication of two channels. When GOFT is used, the g(t) source is specified by the :FUNCtion:GOFT:OPERation, :FUNCtion:GOFT:SOURce1, and :FUNCtion:GOFT:SOURce2 commands.

NOTE

Another shorthand notation for SOURce1 in this command/query (besides SOUR1) is SOUR.

Query Syntax Return Format

:FUNCtion:SOURce1?
The :FUNCtion:SOURce1? query returns the current source1 for function operations.
<value><NL>

<value> ::= {CHAN<n> | GOFT}

See Also

<n> ::= 1 to (# analog channels) in NR1 format
· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion:OPERation" on page 313 · ":FUNCtion:GOFT:OPERation" on page 309 · ":FUNCtion:GOFT:SOURce1" on page 310 · ":FUNCtion:GOFT:SOURce2" on page 311

318

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:FUNCtion Commands 17

:FUNCtion:SOURce2

(see page 818)

Command Syntax :FUNCtion:SOURce2 <value>

<value> ::= {CHANnel<n> | NONE}

<n> ::= 1 to (# analog channels) in NR1 format
The :FUNCtion:SOURce2 command specifies the second source for math operations that have two sources (see the :FUNCtion:OPERation command), in other words, ADD, SUBTract, or MULTiply. (The :FUNCtion:SOURce1 command specifies the first source.)

Query Syntax Return Format

If CHANnel1 or CHANnel2 is selected for :FUNCtion:SOURce1, the SOURce2 selection can be CHANnel1 or CHANnel2. The :FUNCtion:SOURce2 setting is not used when the :FUNCtion:OPERation is FFT (Fast Fourier Transform).
:FUNCtion:SOURce2?
The :FUNCtion:SOURce2? query returns the currently specified second source for math operations.
<value><NL>

<value> ::= {CHAN<n> | NONE}

See Also

<n> ::= 1 to (# analog channels) in NR1 format
· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion:OPERation" on page 313 · ":FUNCtion:SOURce1" on page 318

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

319

17 :FUNCtion Commands

320

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
18 :HARDcopy Commands

Set and query the selection of hardcopy device and formatting options. See "Introduction to :HARDcopy Commands" on page 322.

Table 64 :HARDcopy Commands Summary

Command

Query

Options and Query Returns

:HARDcopy:AREA <area> :HARDcopy:AREA? (see <area> ::= SCReen

(see page 323)

page 323)

:HARDcopy:APRinter
<active_printer> (see page 324)

:HARDcopy:APRinter? (see page 324)

<active_printer> ::= {<index> | <name>}
<index> ::= integer index of printer in list
<name> ::= name of printer in list

:HARDcopy:FACTors {{0
| OFF} | {1 | ON}} (see page 325)

:HARDcopy:FACTors? (see page 325)

{0 | 1}

:HARDcopy:FFEed {{0 |
OFF} | {1 | ON}} (see page 326)

:HARDcopy:FFEed? (see page 326)

{0 | 1}

:HARDcopy:INKSaver
{{0 | OFF} | {1 | ON}} (see page 327)

:HARDcopy:INKSaver? (see page 327)

{0 | 1}

:HARDcopy:LAYout
<layout> (see page 328)

:HARDcopy:LAYout? (see page 328)

<layout> ::= {LANDscape | PORTrait}

:HARDcopy:NETWork:ADD :HARDcopy:NETWork:ADD <address> ::= quoted ASCII string Ress <address> (see Ress? (see page 329) page 329)

:HARDcopy:NETWork:APP n/a

n/a

Ly (see page 330)

321

18 :HARDcopy Commands

Table 64 :HARDcopy Commands Summary (continued)

Command

Query

Options and Query Returns

:HARDcopy:NETWork:SLO :HARDcopy:NETWork:SLO <slot> ::= {NET0 | NET1}

T <slot> (see

T? (see page 331)

page 331)

:HARDcopy:PALette
<palette> (see page 332)

:HARDcopy:PALette? (see page 332)

<palette> ::= {COLor | GRAYscale | NONE}

n/a

:HARDcopy:PRINter:LIS <list> ::= [<printer_spec>] ...

T? (see page 333)

[printer_spec>]

<printer_spec> ::= "<index>,<active>,<name>;"

<index> ::= integer index of printer

<active> ::= {Y | N}

<name> ::= name of printer

:HARDcopy:STARt (see n/a

n/a

page 334)

Introduction to :HARDcopy Commands

The HARDcopy subsystem provides commands to set and query the selection of hardcopy device and formatting options such as inclusion of instrument settings (FACTors) and generation of formfeed (FFEed). :HARDC is an acceptable short form for :HARDcopy.

Reporting the Setup Use :HARDcopy? to query setup information for the HARDcopy subsystem.

Return Format The following is a sample response from the :HARDcopy? query. In this case, the query was issued following the *RST command.

:HARD:APR "";AREA SCR;FACT 0;FFE 0;INKS 1;PAL NONE;LAY PORT

322

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:HARDcopy Commands 18

:HARDcopy:AREA

(see page 818)

Command Syntax :HARDcopy:AREA <area>

<area> ::= SCReen
The :HARDcopy:AREA command controls what part of the display area is printed. Currently, the only legal choice is SCReen.

Query Syntax Return Format

:HARDcopy:AREA?
The :HARDcopy:AREA? query returns the selected display area.
<area><NL>

See Also

<area> ::= SCR
· "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:STARt" on page 334 · ":HARDcopy:APRinter" on page 324 · ":HARDcopy:PRINter:LIST" on page 333 · ":HARDcopy:FACTors" on page 325 · ":HARDcopy:FFEed" on page 326 · ":HARDcopy:INKSaver" on page 327 · ":HARDcopy:LAYout" on page 328 · ":HARDcopy:PALette" on page 332

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

323

18 :HARDcopy Commands

:HARDcopy:APRinter

(see page 818)

Command Syntax :HARDcopy:APRinter <active_printer>

<active_printer> ::= {<index> | <name>}

<index> ::= integer index of printer in list

Query Syntax Return Format

<name> ::= name of printer in list
The :HARDcopy:APRinter command sets the active printer.
:HARDcopy:APRinter?
The :HARDcopy:APRinter? query returns the name of the active printer.
<name><NL>

See Also

<name> ::= name of printer in list
· "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:PRINter:LIST" on page 333 · ":HARDcopy:STARt" on page 334

324

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:HARDcopy Commands 18

:HARDcopy:FACTors

(see page 818)

Command Syntax :HARDcopy:FACTors <factors>

<factors> ::= {{OFF | 0} | {ON | 1}}
The HARDcopy:FACTors command controls whether the scale factors are output on the hardcopy dump.

Query Syntax Return Format

:HARDcopy:FACTors?
The :HARDcopy:FACTors? query returns a flag indicating whether oscilloscope instrument settings are output on the hardcopy.
<factors><NL>

See Also

<factors> ::= {0 | 1}
· "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:STARt" on page 334 · ":HARDcopy:FFEed" on page 326 · ":HARDcopy:INKSaver" on page 327 · ":HARDcopy:LAYout" on page 328 · ":HARDcopy:PALette" on page 332

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

325

18 :HARDcopy Commands

:HARDcopy:FFEed

(see page 818)

Command Syntax :HARDcopy:FFEed <ffeed>

<ffeed> ::= {{OFF | 0} | {ON | 1}}
The HARDcopy:FFEed command controls whether a formfeed is output between the screen image and factors of a hardcopy dump.

Query Syntax Return Format

:HARDcopy:FFEed?
The :HARDcopy:FFEed? query returns a flag indicating whether a formfeed is output at the end of the hardcopy dump.
<ffeed><NL>

See Also

<ffeed> ::= {0 | 1}
· "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:STARt" on page 334 · ":HARDcopy:FACTors" on page 325 · ":HARDcopy:INKSaver" on page 327 · ":HARDcopy:LAYout" on page 328 · ":HARDcopy:PALette" on page 332

326

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:HARDcopy Commands 18

:HARDcopy:INKSaver

(see page 818)

Command Syntax :HARDcopy:INKSaver <value>

<value> ::= {{OFF | 0} | {ON | 1}}
The HARDcopy:INKSaver command controls whether the graticule colors are inverted or not.

Query Syntax Return Format

:HARDcopy:INKSaver?
The :HARDcopy:INKSaver? query returns a flag indicating whether graticule colors are inverted or not.
<value><NL>

See Also

<value> ::= {0 | 1}
· "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:STARt" on page 334 · ":HARDcopy:FACTors" on page 325 · ":HARDcopy:FFEed" on page 326 · ":HARDcopy:LAYout" on page 328 · ":HARDcopy:PALette" on page 332

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

327

18 :HARDcopy Commands

:HARDcopy:LAYout

(see page 818)

Command Syntax :HARDcopy:LAYout <layout>

<layout> ::= {LANDscape | PORTrait}
The :HARDcopy:LAYout command sets the hardcopy layout mode.

Query Syntax Return Format

:HARDcopy:LAYout?
The :HARDcopy:LAYout? query returns the selected hardcopy layout mode.
<layout><NL>

See Also

<layout> ::= {LAND | PORT}
· "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:STARt" on page 334 · ":HARDcopy:FACTors" on page 325 · ":HARDcopy:PALette" on page 332 · ":HARDcopy:FFEed" on page 326 · ":HARDcopy:INKSaver" on page 327

328

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:HARDcopy Commands 18

:HARDcopy:NETWork:ADDRess

(see page 818)

Command Syntax :HARDcopy:NETWork:ADDRess <address>

<address> ::= quoted ASCII string
The :HARDcopy:NETWork:ADDRess command sets the address for a network printer slot.

Query Syntax Return Format

The address is the printer or print server's address in one of the following formats: · IP address of a network-enabled printer (for example: 192.168.1.100 or
192.168.1.100:650). Optionally, a non-standard port number can be specified following a colon. · IP address of a print server followed by the path to the printer (for example: 192.168.1.100/printers/printer-name or 192.168.1.100:650/printers/printer-name). The network printer slot is selected by the :HARDcopy:NETWork:SLOT command. To apply the entered address, use the :HARDcopy:NETWork:APPLy command.
:HARDcopy:NETWork:ADDRess?
The :HARDcopy:NETWork:ADDRess? query returns the specified address for the currently selected network printer slot.
<address><NL>

See Also

<address> ::= quoted ASCII string
· "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:NETWork:SLOT" on page 331 · ":HARDcopy:NETWork:APPLy" on page 330

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

329

18 :HARDcopy Commands

:HARDcopy:NETWork:APPLy

Command Syntax See Also

(see page 818)
:HARDcopy:NETWork:APPLy
The :HARDcopy:NETWork:APPLy command applies the network printer settings and makes the printer connection. · "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:NETWork:SLOT" on page 331 · ":HARDcopy:NETWork:ADDRess" on page 329

330

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:HARDcopy Commands 18

:HARDcopy:NETWork:SLOT

(see page 818)

Command Syntax :HARDcopy:NETWork:SLOT <slot>

Query Syntax Return Format

<slot> ::= {NET0 | NET1}
The :HARDcopy:NETWork:SLOT command selects the network printer slot used for the address and apply commands. There are two network printer slots to choose from.
:HARDcopy:NETWork:SLOT?
The :HARDcopy:NETWork:SLOT? query returns the currently selected network printer slot.
<slot><NL>

See Also

<slot> ::= {NET0 | NET1}
· "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:NETWork:APPLy" on page 330 · ":HARDcopy:NETWork:ADDRess" on page 329

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

331

18 :HARDcopy Commands

:HARDcopy:PALette

(see page 818)

Command Syntax :HARDcopy:PALette <palette>

<palette> ::= {COLor | GRAYscale | NONE}
The :HARDcopy:PALette command sets the hardcopy palette color.

Query Syntax Return Format

The oscilloscope's print driver cannot print color images to color laser printers, so the COLor option is not available when connected to laser printers.
:HARDcopy:PALette?
The :HARDcopy:PALette? query returns the selected hardcopy palette color.
<palette><NL>

See Also

<palette> ::= {COL | GRAY | NONE}
· "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:STARt" on page 334 · ":HARDcopy:FACTors" on page 325 · ":HARDcopy:LAYout" on page 328 · ":HARDcopy:FFEed" on page 326 · ":HARDcopy:INKSaver" on page 327

332

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:HARDcopy Commands 18

:HARDcopy:PRINter:LIST

(see page 818)

Query Syntax Return Format

:HARDcopy:PRINter:LIST?
The :HARDcopy:PRINter:LIST? query returns a list of available printers. The list can be empty.
<list><NL>

<list> ::= [<printer_spec>] ... [printer_spec>]

<printer_spec> ::= "<index>,<active>,<name>;"

<index> ::= integer index of printer

<active> ::= {Y | N}

See Also

<name> ::= name of printer (for example "DESKJET 950C")
· "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:APRinter" on page 324 · ":HARDcopy:STARt" on page 334

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

333

18 :HARDcopy Commands

:HARDcopy:STARt

Command Syntax See Also

(see page 818)
:HARDcopy:STARt
The :HARDcopy:STARt command starts a print job.
· "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:APRinter" on page 324 · ":HARDcopy:PRINter:LIST" on page 333 · ":HARDcopy:FACTors" on page 325 · ":HARDcopy:FFEed" on page 326 · ":HARDcopy:INKSaver" on page 327 · ":HARDcopy:LAYout" on page 328 · ":HARDcopy:PALette" on page 332

334

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
19 :LISTer Commands

Table 65 :LISTer Commands Summary

Command

Query

Options and Query Returns

n/a

:LISTer:DATA? (see

<binary_block> ::=

page 336)

comma-separated data with

newlines at the end of each row

:LISTer:DISPlay {{OFF
| 0} | {SBUS1 | ON | 1}} (see page 337)

:LISTer:DISPlay? (see page 337)

{OFF | SBUS1}

:LISTer:REFerence
<time_ref> (see page 338)

:LISTer:REFerence? (see page 338)

<time_ref> ::= {TRIGger | PREVious}

Introduction to The LISTer subsystem is used to turn on/off the serial decode Lister display and :LISTer Commands return data from the Lister display.

335

19 :LISTer Commands

:LISTer:DATA

(see page 818)

Query Syntax Return Format

:LISTer:DATA?
The :LISTer:DATA? query returns the lister data.
<binary block><NL>

See Also

<binary_block> ::= comma-separated data with newlines at the end of each row
· "Introduction to :LISTer Commands" on page 335 · ":LISTer:DISPlay" on page 337 · "Definite-Length Block Response Data" on page 112

336

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:LISTer Commands 19

:LISTer:DISPlay

(see page 818)

Command Syntax :LISTer:DISPlay <value>

<value> ::= {{OFF | 0} | {SBUS1 | ON | 1}}
The :LISTer:DISPlay command turns the serial bus Lister display on or off. "ON" or "1" is the same as "SBUS1".

Query Syntax Return Format

Serial bus decode must be on before it can be displayed in the Lister.
:LISTer:DISPlay?
The :LISTer:DISPlay? query returns the Lister display setting.
<value><NL>

See Also

<value> ::= {OFF | SBUS1}
· "Introduction to :LISTer Commands" on page 335 · ":SBUS<n>:DISPlay" on page 480 · ":LISTer:DATA" on page 336

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

337

19 :LISTer Commands

:LISTer:REFerence

(see page 818)

Command Syntax :LISTer:REFerence <time_ref>

<time_ref> ::= {TRIGger | PREVious}
The :LISTer:REFerence command selects whether the time value for a Lister row is relative to the trigger ot the previous Lister row.

Query Syntax Return Format

:LISTer:REFerence?
The :LISTer:REFerence? query returns the Lister time reference setting.
<time_ref><NL>

See Also

<time_ref> ::= {TRIGger | PREVious}
· "Introduction to :LISTer Commands" on page 335 · ":SBUS<n>:DISPlay" on page 480 · ":LISTer:DATA" on page 336 · ":LISTer:DISPlay" on page 337

338

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
20 :MARKer Commands

Set and query the settings of X-axis markers (X1 and X2 cursors) and the Y-axis markers (Y1 and Y2 cursors). See "Introduction to :MARKer Commands" on page 340.

Table 66 :MARKer Commands Summary

Command

Query

:MARKer:MODE <mode> (see page 342)

:MARKer:MODE? (see page 342)

:MARKer:X1Position
<position>[suffix] (see page 343)

:MARKer:X1Position? (see page 343)

:MARKer:X1Y1source
<source> (see page 344)

:MARKer:X1Y1source? (see page 344)

:MARKer:X2Position
<position>[suffix] (see page 345)

:MARKer:X2Position? (see page 345)

Options and Query Returns
<mode> ::= {OFF | MEASurement | MANual | WAVeform}
<position> ::= X1 cursor position value in NR3 format
[suffix] ::= {s | ms | us | ns | ps | Hz | kHz | MHz}
<return_value> ::= X1 cursor position value in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
On 2-channel oscilloscopes, EXTernal available for MANUAL mode only
<return_value> ::= <source>
<position> ::= X2 cursor position value in NR3 format
[suffix] ::= {s | ms | us | ns | ps | Hz | kHz | MHz}
<return_value> ::= X2 cursor position value in NR3 format

339

20 :MARKer Commands

Table 66 :MARKer Commands Summary (continued)

Command

Query

:MARKer:X2Y2source
<source> (see page 346)

:MARKer:X2Y2source? (see page 346)

n/a
:MARKer:XUNits <mode> (see page 348)
:MARKer:XUNits:USE (see page 349)
:MARKer:Y1Position <position>[suffix] (see page 350)

:MARKer:XDELta? (see page 347)
:MARKer:XUNits? (see page 348)
n/a
:MARKer:Y1Position? (see page 350)

:MARKer:Y2Position
<position>[suffix] (see page 351)

:MARKer:Y2Position? (see page 351)

n/a
:MARKer:YUNits <mode> (see page 353) :MARKer:YUNits:USE (see page 354)

:MARKer:YDELta? (see page 352)
:MARKer:YUNits? (see page 353)
n/a

Options and Query Returns <source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1-2 in NR1 format <return_value> ::= <source>
<return_value> ::= X cursors delta value in NR3 format
<units> ::= {SEConds | HERTz | DEGRees | PERCent}
n/a
<position> ::= Y1 cursor position value in NR3 format [suffix] ::= {V | mV | dB} <return_value> ::= Y1 cursor position value in NR3 format
<position> ::= Y2 cursor position value in NR3 format [suffix] ::= {V | mV | dB} <return_value> ::= Y2 cursor position value in NR3 format
<return_value> ::= Y cursors delta value in NR3 format
<units> ::= {BASE | PERCent}
n/a

Introduction to :MARKer
Commands

The MARKer subsystem commands set and query the settings of X-axis markers (X1 and X2 cursors) and the Y-axis markers (Y1 and Y2 cursors). You can set and query the marker mode and source, the position of the X and Y cursors, and query delta X and delta Y cursor values.

Reporting the Setup Use :MARKer? to query setup information for the MARKer subsystem.

Return Format

340

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MARKer Commands 20
The following is a sample response from the :MARKer? query. In this case, the query was issued following a *RST and ":MARKer:MODE MANual" command.
:MARK:X1Y1 CHAN1;X2Y2 CHAN1;MODE MAN

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

341

20 :MARKer Commands

:MARKer:MODE

(see page 818)

Command Syntax :MARKer:MODE <mode>

<mode> ::= {OFF | MEASurement | MANual | WAVeform}
The :MARKer:MODE command sets the cursors mode: · OFF -- removes the cursor information from the display. · MANual -- enables manual placement of the X and Y cursors.

Query Syntax Return Format

If the front-panel cursors are off, or are set to the front-panel Hex or Binary mode, setting :MARKer:MODE MANual will put the cursors in the front-panel Normal mode. · MEASurement -- cursors track the most recent measurement. Setting the mode to MEASurement sets the marker sources (:MARKer:X1Y1source and :MARKer:X2Y2source) to the measurement source (:MEASure:SOURce). Setting the measurement source remotely always sets the marker sources. · WAVeform -- the Y1 cursor tracks the voltage value at the X1 cursor of the waveform specified by the X1Y1source, and the Y2 cursor does the same for the X2 cursor and its X2Y2source.
:MARKer:MODE?
The :MARKer:MODE? query returns the current cursors mode.
<mode><NL>

See Also

<mode> ::= {OFF | MEAS | MAN | WAV}
· "Introduction to :MARKer Commands" on page 340 · ":MARKer:X1Y1source" on page 344 · ":MARKer:X2Y2source" on page 346 · ":MEASure:SOURce" on page 394 · ":MARKer:X1Position" on page 343 · ":MARKer:X2Position" on page 345 · ":MARKer:Y1Position" on page 350 · ":MARKer:Y2Position" on page 351

342

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MARKer Commands 20

:MARKer:X1Position

(see page 818)

Command Syntax :MARKer:X1Position <position> [suffix]

<position> ::= X1 cursor position in NR3 format

Query Syntax

<suffix> ::= {s | ms | us | ns | ps | Hz | kHz | MHz}
The :MARKer:X1Position command: · Sets :MARKer:MODE to MANual if it is not currently set to WAVeform (see
":MARKer:MODE" on page 342). · Sets the X1 cursor position to the specified value. X cursor units are set by the :MARKer:XUNits command.
:MARKer:X1Position?
The :MARKer:X1Position? query returns the current X1 cursor position. This is functionally equivalent to the obsolete :MEASure:TSTArt command/query.

NOTE

If the front-panel cursors are off, the marker position values are not defined and an error is generated. Make sure to set :MARKer:MODE to MANual or WAVeform to put the cursors in the front-panel Normal mode.

Return Format <position><NL>

See Also

<position> ::= X1 cursor position in NR3 format
· "Introduction to :MARKer Commands" on page 340 · ":MARKer:MODE" on page 342 · ":MARKer:X2Position" on page 345 · ":MARKer:X1Y1source" on page 344 · ":MARKer:X2Y2source" on page 346 · ":MARKer:XUNits" on page 348 · ":MEASure:TSTArt" on page 757

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

343

20 :MARKer Commands

:MARKer:X1Y1source

(see page 818) Command Syntax :MARKer:X1Y1source <source>
<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= {1 | 2}
On 2-channel oscilloscopes, EXTernal available for MANUAL mode only
The :MARKer:X1Y1source command sets the source for the cursors. The channel you specify must be enabled for cursors to be displayed. If the channel or function is not on, an error message is issued. If the marker mode is not currently WAVeform (see ":MARKer:MODE" on page 342): · Sending a :MARKer:X1Y1source command will put the cursors in the MANual
mode. · Setting the source for one pair of markers (for example, X1Y1) sets the source
for the other (for example, X2Y2). If the marker mode is currently WAVeform, the X1Y1 source can be set separate from the X2Y2 source. If :MARKer:MODE is set to OFF or MANual, setting :MEASure:SOURce to CHANnel<n>, FUNCtion, MATH, or WMEMory<r> will also set :MARKer:X1Y1source and :MARKer:X2Y2source to this value.

NOTE

MATH is an alias for FUNCtion. The query will return FUNC if the source is FUNCtion or MATH.

Query Syntax Return Format
See Also

:MARKer:X1Y1source?
The :MARKer:X1Y1source? query returns the current source for the cursors. If all channels are off or if :MARKer:MODE is set to OFF, the query returns NONE.
<source><NL>
<source> ::= {CHAN<n> | FUNC | FFT | WMEM<r> | EXT | NONE}
· "Introduction to :MARKer Commands" on page 340 · ":MARKer:MODE" on page 342 · ":MARKer:X2Y2source" on page 346 · ":MEASure:SOURce" on page 394

344

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MARKer Commands 20

:MARKer:X2Position

(see page 818)

Command Syntax :MARKer:X2Position <position> [suffix]

<position> ::= X2 cursor position in NR3 format

Query Syntax

<suffix> ::= {s | ms | us | ns | ps | Hz | kHz | MHz}
The :MARKer:X2Position command: · Sets :MARKer:MODE to MANual if it is not currently set to WAVeform (see
":MARKer:MODE" on page 342). · Sets the X2 cursor position to the specified value. X cursor units are set by the :MARKer:XUNits command.
:MARKer:X2Position?
The :MARKer:X2Position? query returns current X2 cursor position. This is functionally equivalent to the obsolete :MEASure:TSTOp command/query.

NOTE

If the front-panel cursors are off, the marker position values are not defined and an error is generated. Make sure to set :MARKer:MODE to MANual or WAVeform to put the cursors in the front-panel Normal mode.

Return Format <position><NL>

See Also

<position> ::= X2 cursor position in NR3 format
· "Introduction to :MARKer Commands" on page 340 · ":MARKer:MODE" on page 342 · ":MARKer:X1Position" on page 343 · ":MARKer:X2Y2source" on page 346 · ":MARKer:XUNits" on page 348 · ":MEASure:TSTOp" on page 758

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

345

20 :MARKer Commands

:MARKer:X2Y2source

(see page 818) Command Syntax :MARKer:X2Y2source <source>
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= {1 | 2}
The :MARKer:X2Y2source command sets the source for the cursors. The channel you specify must be enabled for cursors to be displayed. If the channel or function is not on, an error message is issued. If the marker mode is not currently WAVeform (see ":MARKer:MODE" on page 342): · Sending a :MARKer:X2Y2source command will put the cursors in the MANual
mode. · Setting the source for one pair of markers (for example, X2Y2) sets the source
for the other (for example, X1Y1). If the marker mode is currently WAVeform, the X2Y2 source can be set separate from the X1Y1 source. If :MARKer:MODE is set to OFF or MANual, setting :MEASure:SOURce to CHANnel<n>, FUNCtion, MATH, or WMEMory<r> will also set :MARKer:X1Y1source and :MARKer:X2Y2source to this value.

NOTE

MATH is an alias for FUNCtion. The query will return FUNC if the source is FUNCtion or MATH.

Query Syntax Return Format

:MARKer:X2Y2source?
The :MARKer:X2Y2source? query returns the current source for the cursors. If all channels are off or if :MARKer:MODE is set to OFF, the query returns NONE.
<source><NL>

See Also

<source> ::= {CHAN<n> | FUNC | WMEM<r> | NONE}
· "Introduction to :MARKer Commands" on page 340 · ":MARKer:MODE" on page 342 · ":MARKer:X1Y1source" on page 344 · ":MEASure:SOURce" on page 394

346

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MARKer Commands 20

:MARKer:XDELta

Query Syntax

(see page 818)
:MARKer:XDELta?
The MARKer:XDELta? query returns the value difference between the current X1 and X2 cursor positions. Xdelta = (Value at X2 cursor) - (Value at X1 cursor) X cursor units are set by the :MARKer:XUNits command.

NOTE

If the front-panel cursors are off, the marker position values are not defined. Make sure to set :MARKer:MODE to MANual or WAVeform to put the cursors in the front-panel Normal mode.

Return Format <value><NL>

See Also

<value> ::= difference value in NR3 format.
· "Introduction to :MARKer Commands" on page 340 · ":MARKer:MODE" on page 342 · ":MARKer:X1Position" on page 343 · ":MARKer:X2Position" on page 345 · ":MARKer:X1Y1source" on page 344 · ":MARKer:X2Y2source" on page 346 · ":MARKer:XUNits" on page 348

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

347

20 :MARKer Commands

:MARKer:XUNits

(see page 818)

Command Syntax :MARKer:XUNits <units>

Query Syntax

<units> ::= {SEConds | HERTz | DEGRees | PERCent}
The :MARKer:XUNits command sets the X cursors units: · SEConds -- for making time measurements. · HERTz -- for making frequency measurements. · DEGRees -- for making phase measurements. Use the :MARKer:XUNits:USE
command to set the current X1 location as 0 degrees and the current X2 location as 360 degrees. · PERCent -- for making ratio measurements. Use the :MARKer:XUNits:USE command to set the current X1 location as 0 percent and the current X2 location as 100 percent. Changing X units affects the input and output values of the :MARKer:X1Position, :MARKer:X2Position, and :MARKer:XDELta commands/queries.
:MARKer:XUNits?
The :MARKer:XUNits? query returns the current X cursors units.

Return Format <units><NL>

See Also

<units> ::= {SEC | HERT | DEGR | PERC}
· "Introduction to :MARKer Commands" on page 340 · ":MARKer:XUNits:USE" on page 349 · ":MARKer:X1Y1source" on page 344 · ":MARKer:X2Y2source" on page 346 · ":MEASure:SOURce" on page 394 · ":MARKer:X1Position" on page 343 · ":MARKer:X2Position" on page 345

348

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MARKer Commands 20

:MARKer:XUNits:USE

Command Syntax See Also

(see page 818)
:MARKer:XUNits:USE
When DEGRees is selected for :MARKer:XUNits, the :MARKer:XUNits:USE command sets the current X1 location as 0 degrees and the current X2 location as 360 degrees. When PERCent is selected for :MARKer:XUNits, the :MARKer:XUNits:USE command sets the current X1 location as 0 percent and the current X2 location as 100 percent. Once the 0 and 360 degree or 0 and 100 percent locations are set, inputs to and outputs from the :MARKer:X1Position, :MARKer:X2Position, and :MARKer:XDELta commands/queries are relative to the set locations. · "Introduction to :MARKer Commands" on page 340 · ":MARKer:XUNits" on page 348 · ":MARKer:X1Y1source" on page 344 · ":MARKer:X2Y2source" on page 346 · ":MEASure:SOURce" on page 394 · ":MARKer:X1Position" on page 343 · ":MARKer:X2Position" on page 345 · ":MARKer:XDELta" on page 347

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

349

20 :MARKer Commands

:MARKer:Y1Position

(see page 818)

Command Syntax :MARKer:Y1Position <position> [suffix]

<position> ::= Y1 cursor position in NR3 format

Query Syntax

<suffix> ::= {mV | V | dB}
If the :MARKer:MODE is not currently set to WAVeform (see ":MARKer:MODE" on page 342), the :MARKer:Y1Position command: · Sets :MARKer:MODE to MANual. · Sets the Y1 cursor position to the specified value. Y cursor units are set by the :MARKer:YUNits command. When the :MARKer:MODE is set to WAVeform, Y positions cannot be set.
:MARKer:Y1Position?
The :MARKer:Y1Position? query returns current Y1 cursor position. This is functionally equivalent to the obsolete :MEASure:VSTArt command/query.

NOTE

If the front-panel cursors are off or are set to Binary or Hex Mode, the marker position values are not defined and an error is generated. Make sure to set :MARKer:MODE to MANual or WAVeform to put the cursors in the front-panel Normal mode.

Return Format <position><NL>

See Also

<position> ::= Y1 cursor position in NR3 format
· "Introduction to :MARKer Commands" on page 340 · ":MARKer:MODE" on page 342 · ":MARKer:X1Y1source" on page 344 · ":MARKer:X2Y2source" on page 346 · ":MARKer:Y2Position" on page 351 · ":MARKer:YUNits" on page 353 · ":MEASure:VSTArt" on page 762

350

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MARKer Commands 20

:MARKer:Y2Position

(see page 818)

Command Syntax :MARKer:Y2Position <position> [suffix]

<position> ::= Y2 cursor position in NR3 format

Query Syntax

<suffix> ::= {mV | V | dB}
If the :MARKer:MODE is not currently set to WAVeform (see ":MARKer:MODE" on page 342), the :MARKer:Y1Position command: · Sets :MARKer:MODE to MANual. · Sets the Y2 cursor position to the specified value. Y cursor units are set by the :MARKer:YUNits command. When the :MARKer:MODE is set to WAVeform, Y positions cannot be set.
:MARKer:Y2Position?
The :MARKer:Y2Position? query returns current Y2 cursor position. This is functionally equivalent to the obsolete :MEASure:VSTOp command/query.

NOTE

If the front-panel cursors are off or are set to Binary or Hex Mode, the marker position values are not defined and an error is generated. Make sure to set :MARKer:MODE to MANual or WAVeform to put the cursors in the front-panel Normal mode.

Return Format <position><NL>

See Also

<position> ::= Y2 cursor position in NR3 format
· "Introduction to :MARKer Commands" on page 340 · ":MARKer:MODE" on page 342 · ":MARKer:X1Y1source" on page 344 · ":MARKer:X2Y2source" on page 346 · ":MARKer:Y1Position" on page 350 · ":MARKer:YUNits" on page 353 · ":MEASure:VSTOp" on page 763

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

351

20 :MARKer Commands

:MARKer:YDELta

Query Syntax

(see page 818)
:MARKer:YDELta?
The :MARKer:YDELta? query returns the value difference between the current Y1 and Y2 cursor positions. Ydelta = (Value at Y2 cursor) - (Value at Y1 cursor)

NOTE

If the front-panel cursors are off or are set to Binary or Hex Mode, the marker position values are not defined. Make sure to set :MARKer:MODE to MANual or WAVeform to put the cursors in the front-panel Normal mode.

Y cursor units are set by the :MARKer:YUNits command. Return Format <value><NL>

See Also

<value> ::= difference value in NR3 format
· "Introduction to :MARKer Commands" on page 340 · ":MARKer:MODE" on page 342 · ":MARKer:X1Y1source" on page 344 · ":MARKer:X2Y2source" on page 346 · ":MARKer:Y1Position" on page 350 · ":MARKer:Y2Position" on page 351 · ":MARKer:YUNits" on page 353

352

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MARKer Commands 20

:MARKer:YUNits

(see page 818)

Command Syntax :MARKer:YUNits <units>

Query Syntax Return Format

<units> ::= {BASE | PERCent}
The :MARKer:YUNits command sets the Y cursors units: · BASE -- for making measurements in the units associated with the cursors
source. · PERCent -- for making ratio measurements. Use the :MARKer:YUNits:USE
command to set the current Y1 location as 0 percent and the current Y2 location as 100 percent. Changing Y units affects the input and output values of the :MARKer:Y1Position, :MARKer:Y2Position, and :MARKer:YDELta commands/queries.
:MARKer:YUNits?
The :MARKer:YUNits? query returns the current Y cursors units.
<units><NL>

See Also

<units> ::= {BASE | PERC}
· "Introduction to :MARKer Commands" on page 340 · ":MARKer:YUNits:USE" on page 354 · ":MARKer:X1Y1source" on page 344 · ":MARKer:X2Y2source" on page 346 · ":MEASure:SOURce" on page 394 · ":MARKer:Y1Position" on page 350 · ":MARKer:Y2Position" on page 351 · ":MARKer:YDELta" on page 352

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

353

20 :MARKer Commands

:MARKer:YUNits:USE

Command Syntax See Also

(see page 818)
:MARKer:YUNits:USE
When PERCent is selected for :MARKer:YUNits, the :MARKer:YUNits:USE command sets the current Y1 location as 0 percent and the current Y2 location as 100 percent. Once the 0 and 100 percent locations are set, inputs to and outputs from the :MARKer:Y1Position, :MARKer:Y2Position, and :MARKer:YDELta commands/queries are relative to the set locations. · "Introduction to :MARKer Commands" on page 340 · ":MARKer:YUNits" on page 353 · ":MARKer:X1Y1source" on page 344 · ":MARKer:X2Y2source" on page 346 · ":MEASure:SOURce" on page 394 · ":MARKer:Y1Position" on page 350 · ":MARKer:Y2Position" on page 351 · ":MARKer:YDELta" on page 352

354

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
21 :MEASure Commands

Select automatic measurements to be made and control time markers. See "Introduction to :MEASure Commands" on page 364.

Table 67 :MEASure Commands Summary

Command

Query

:MEASure:ALL (see

n/a

page 366)

:MEASure:BRATe
[<source>] (see page 367)

:MEASure:BRATe?
[<source>] (see page 367)

:MEASure:CLEar (see page 368)
:MEASure:COUNter [<source>] (see page 369)

n/a
:MEASure:COUNter? [<source>] (see page 369)

Options and Query Returns n/a
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal} <n> ::= 1 to (# of analog channels) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= bit rate in Hz, NR3 format
n/a
<source> ::= {CHANnel<n> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= counter frequency in Hertz in NR3 format

355

21 :MEASure Commands

Table 67 :MEASure Commands Summary (continued)

Command

Query

Options and Query Returns

:MEASure:DEFine
DELay, <delay
spec>[,<source>] (see page 370)

:MEASure:DEFine?
DELay[,<source>] (see page 371)

<delay spec> ::= <edge_spec1>,<edge_spec2>
edge_spec1 ::= [<slope>]<occurrence>
edge_spec2 ::= [<slope>]<occurrence>
<slope> ::= {+ | -}
<occurrence> ::= integer
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}

:MEASure:DEFine
THResholds,
<threshold
spec>[,<source>] (see page 370)

:MEASure:DEFine?
THResholds[,<source>] (see page 371)

<threshold spec> ::= {STANdard} | {<threshold mode>,<upper>, <middle>,<lower>}
<threshold mode> ::= {PERCent | ABSolute}
<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}

:MEASure:DELay
[<source1>]
[,<source2>] (see page 373)

:MEASure:DELay?
[<source1>]
[,<source2>] (see page 373)

<source1,2> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= floating-point number delay time in seconds in NR3 format

:MEASure:DUTYcycle
[<source>] (see page 375)

:MEASure:DUTYcycle?
[<source>] (see page 375)

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
EXTernal available on 2-channel oscilloscopes only
<return_value> ::= ratio of positive pulse width to period in NR3 format

356

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

Table 67 :MEASure Commands Summary (continued)

Command

Query

:MEASure:FALLtime
[<source>] (see page 376)

:MEASure:FALLtime?
[<source>] (see page 376)

:MEASure:FREQuency
[<source>] (see page 377)

:MEASure:FREQuency?
[<source>] (see page 377)

:MEASure:NDUTy
[<source>] (see page 378)

:MEASure:NDUTy?
[<source>] (see page 378)

:MEASure:NEDGes
[<source>] (see page 379)

:MEASure:NEDGes?
[<source>] (see page 379)

Options and Query Returns
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= time in seconds between the lower and upper thresholds in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
EXTernal available on 2-channel oscilloscopes only
<return_value> ::= frequency in Hertz in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
EXTernal available on 2-channel oscilloscopes only
<return_value> ::= ratio of negative pulse width to period in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the falling edge count in NR3 format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

357

21 :MEASure Commands

Table 67 :MEASure Commands Summary (continued)

Command

Query

:MEASure:NPULses
[<source>] (see page 380)

:MEASure:NPULses?
[<source>] (see page 380)

:MEASure:NWIDth
[<source>] (see page 381)

:MEASure:NWIDth?
[<source>] (see page 381)

:MEASure:OVERshoot
[<source>] (see page 382)

:MEASure:OVERshoot?
[<source>] (see page 382)

:MEASure:PEDGes
[<source>] (see page 384)

:MEASure:PEDGes?
[<source>] (see page 384)

Options and Query Returns
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the falling pulse count in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
EXTernal available on 2-channel oscilloscopes only
<return_value> ::= negative pulse width in seconds in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the percent of the overshoot of the selected waveform in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the rising edge count in NR3 format

358

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

Table 67 :MEASure Commands Summary (continued)

Command

Query

:MEASure:PERiod
[<source>] (see page 385)

:MEASure:PERiod?
[<source>] (see page 385)

:MEASure:PHASe
[<source1>]
[,<source2>] (see page 386)

:MEASure:PHASe?
[<source1>]
[,<source2>] (see page 386)

:MEASure:PPULses
[<source>] (see page 387)

:MEASure:PPULses?
[<source>] (see page 387)

:MEASure:PREShoot
[<source>] (see page 388)

:MEASure:PREShoot?
[<source>] (see page 388)

Options and Query Returns
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
EXTernal available on 2-channel oscilloscopes only
<return_value> ::= waveform period in seconds in NR3 format
<source1,2> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the phase angle value in degrees in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the rising pulse count in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the percent of preshoot of the selected waveform in NR3 format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

359

21 :MEASure Commands

Table 67 :MEASure Commands Summary (continued)

Command

Query

Options and Query Returns

:MEASure:PWIDth
[<source>] (see page 389)

:MEASure:PWIDth?
[<source>] (see page 389)

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
EXTernal available on 2-channel oscilloscopes only
<return_value> ::= width of positive pulse in seconds in NR3 format

n/a

:MEASure:RESults?

<result_list> ::=

<result_list> (see page 390)

comma-separated list of measurement results

:MEASure:RISetime
[<source>] (see page 391)

:MEASure:RISetime?
[<source>] (see page 391)

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= rise time in seconds in NR3 format

:MEASure:SDEViation
[<source>] (see page 392)

:MEASure:SDEViation?
[<source>] (see page 392)

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<return_value> ::= calculated std deviation in NR3 format

:MEASure:SHOW {1 | ON} (see page 393)

:MEASure:SHOW? (see {1} page 393)

:MEASure:SOURce
<source1>
[,<source2>] (see page 394)

:MEASure:SOURce? (see page 394)

<source1,2> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= {<source> | NONE}

360

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

Table 67 :MEASure Commands Summary (continued)

Command

Query

Options and Query Returns

n/a

:MEASure:TEDGe?

<slope> ::= direction of the

<slope><occurrence>[, waveform

<source>] (see page 396)

<occurrence> ::= the transition to be reported

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}

<n> ::= 1 to (# analog channels) in NR1 format

<r> ::= 1-2 in NR1 format

EXTernal available on 2-channel oscilloscopes only

<return_value> ::= time in seconds of the specified transition

n/a

:MEASure:TVALue?

<value> ::= voltage level that

<value>,

the waveform must cross.

[<slope>]<occurrence>
[,<source>] (see page 398)

<slope> ::= direction of the waveform when <value> is crossed.
<occurrence> ::= transitions

reported.

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}

<n> ::= 1 to (# analog channels) in NR1 format

<r> ::= 1-2 in NR1 format

<return_value> ::= time in seconds of specified voltage crossing in NR3 format

:MEASure:VAMPlitude
[<source>] (see page 400)

:MEASure:VAMPlitude?
[<source>] (see page 400)

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= the amplitude of the selected waveform in volts in NR3 format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

361

21 :MEASure Commands

Table 67 :MEASure Commands Summary (continued)

Command

Query

Options and Query Returns

:MEASure:VAVerage
[<interval>][,][<sour ce>] (see page 401)

:MEASure:VAVerage?
[<interval>][,][<sour ce>] (see page 401)

<interval> ::= {CYCLe | DISPlay}
<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= calculated average voltage in NR3 format

:MEASure:VBASe
[<source>] (see page 402)

:MEASure:VBASe?
[<source>] (see page 402)

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<base_voltage> ::= voltage at the base of the selected waveform in NR3 format

:MEASure:VMAX
[<source>] (see page 403)

:MEASure:VMAX?
[<source>] (see page 403)

<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= maximum voltage of the selected waveform in NR3 format

:MEASure:VMIN
[<source>] (see page 404)

:MEASure:VMIN?
[<source>] (see page 404)

<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= minimum voltage of the selected waveform in NR3 format

362

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

Table 67 :MEASure Commands Summary (continued)

Command

Query

Options and Query Returns

:MEASure:VPP
[<source>] (see page 405)

:MEASure:VPP?
[<source>] (see page 405)

<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= voltage peak-to-peak of the selected waveform in NR3 format

:MEASure:VRMS
[<interval>][,]
[<type>][,]
[<source>] (see page 406)

:MEASure:VRMS?
[<interval>][,]
[<type>][,]
[<source>] (see page 406)

<interval> ::= {CYCLe | DISPlay} <type> ::= {AC | DC} <source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1-2 in NR1 format <return_value> ::= calculated dc RMS voltage in NR3 format

n/a

:MEASure:VTIMe?

<vtime> ::= displayed time from

<vtime>[,<source>] (see page 407)

trigger in seconds in NR3 format <source> ::= {CHANnel<n> |

FUNCtion | MATH | WMEMory<r> |

EXTernal}

<n> ::= 1 to (# analog channels) in NR1 format

<r> ::= 1-2 in NR1 format

EXTernal available on 2-channel oscilloscopes only

<return_value> ::= voltage at the specified time in NR3 format

:MEASure:VTOP
[<source>] (see page 408)

:MEASure:VTOP?
[<source>] (see page 408)

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
<return_value> ::= voltage at the top of the waveform in NR3 format

:MEASure:WINDow

:MEASure:WINDow? (see <type> ::= {MAIN | ZOOM | AUTO}

<type> (see page 409) page 409)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

363

21 :MEASure Commands

Table 67 :MEASure Commands Summary (continued)

Command

Query

:MEASure:XMAX
[<source>] (see page 410)

:MEASure:XMAX?
[<source>] (see page 410)

:MEASure:XMIN
[<source>] (see page 411)

:MEASure:XMIN?
[<source>] (see page 411)

Options and Query Returns
<source> ::= {CHANnel<n> | FUNCtion | FFT | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<return_value> ::= horizontal value of the maximum in NR3 format
<source> ::= {CHANnel<n> | FUNCtion | FFT | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<return_value> ::= horizontal value of the maximum in NR3 format

Introduction to :MEASure
Commands

The commands in the MEASure subsystem are used to make parametric measurements on displayed waveforms. Measurement Setup To make a measurement, the portion of the waveform required for that measurement must be displayed on the oscilloscope screen.

Measurement Type period, duty cycle, or frequency pulse width rise time fall time

Portion of waveform that must be displayed at least one complete cycle the entire pulse rising edge, top and bottom of pulse falling edge, top and bottom of pulse

Measurement Error If a measurement cannot be made (typically because the proper portion of the waveform is not displayed), the value +9.9E+37 is returned for that measurement.

364

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21
Making Measurements If more than one waveform, edge, or pulse is displayed, time measurements are made on the portion of the displayed waveform closest to the trigger reference (left, center, or right). When making measurements in the zoomed (delayed) time base mode (:TIMebase:MODE WINDow), the oscilloscope will attempt to make the measurement inside the zoomed sweep window. If the measurement is an average and there are not three edges, the oscilloscope will revert to the mode of making the measurement at the start of the main sweep. When the command form is used, the measurement result is displayed on the instrument. When the query form of these measurements is used, the measurement is made one time, and the measurement result is returned over the bus. Measurements are made on the displayed waveforms specified by the :MEASure:SOURce command. The MATH source is an alias for the FUNCtion source. Not all measurements are available on the FFT (Fast Fourier Transform). Reporting the Setup Use the :MEASure? query to obtain setup information for the MEASure subsystem. (Currently, this is only :MEASure:SOURce.) Return Format The following is a sample response from the :MEASure? query. In this case, the query was issued following a *RST command.
:MEAS:SOUR CHAN1,CHAN2;STAT ON

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

365

21 :MEASure Commands

:MEASure:ALL

Command Syntax See Also

(see page 818)
:MEASure:ALL
This command installs a Snapshot All measurement on the screen. · "Introduction to :MEASure Commands" on page 364

366

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:BRATe

(see page 818) Command Syntax :MEASure:BRATe [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal} <n> ::= 1 to (# of analog channels) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
The :MEASure:BRATe command installs a screen measurement and starts the bit rate measurement. If the optional source parameter is specified, the currently specified source is modified.

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax Return Format

:MEASure:BRATe? [<source>]
The :MEASure:BRATe? query measures all positive and negative pulse widths on the waveform, takes the minimum value found of either width type and inverts that minimum width to give a value in Hertz.
<value><NL>

See Also

<value> ::= the bit rate value in Hertz
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:FREQuency" on page 377 · ":MEASure:PERiod" on page 385

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

367

21 :MEASure Commands

:MEASure:CLEar

Command Syntax See Also

(see page 818)
:MEASure:CLEar
This command clears all selected measurements and markers from the screen. · "Introduction to :MEASure Commands" on page 364

368

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:COUNter

(see page 818) Command Syntax :MEASure:COUNter [<source>]
<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
The :MEASure:COUNter command installs a screen measurement and starts a counter measurement. If the optional source parameter is specified, the current source is modified. Any channel except Math may be selected for the source. The counter measurement counts trigger level crossings at the selected trigger slope and displays the results in Hz. The gate time for the measurement is automatically adjusted to be 100 ms or twice the current time window, whichever is longer, up to 1 second. The counter measurement can measure frequencies up to 125 MHz. The minimum frequency supported is 1/(2 X gate time). The Y cursor shows the the edge threshold level used in the measurement. Only one counter measurement may be displayed at a time.

NOTE

This command is not available if the source is MATH.

Query Syntax

:MEASure:COUNter? [<source>]
The :MEASure:COUNter? query measures and outputs the counter frequency of the specified source.

NOTE

The :MEASure:COUNter? query times out if the counter measurement is installed on the front panel. Use :MEASure:CLEar to remove the front-panel measurement before executing the :MEASure:COUNter? query.

Return Format <source><NL>

See Also

<source> ::= count in Hertz in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:FREQuency" on page 377 · ":MEASure:CLEar" on page 368

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

369

21 :MEASure Commands

:MEASure:DEFine

(see page 818) Command Syntax :MEASure:DEFine <meas_spec>[,<source>]
<meas_spec> ::= {DELay | THResholds} <source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= {1 | 2}
The :MEASure:DEFine command sets up the definition for measurements by specifying the delta time or threshold values. Changing these values may affect the results of other measure commands. The table below identifies which measurement results that can be affected by redefining the DELay specification or the THResholds values. For example, changing the THResholds definition from the default 10%, 50%, and 90% values may change the returned measurement result.

MEASure Command DUTYcycle DELay FALLtime FREQuency NWIDth OVERshoot PERiod PHASe PREShoot PWIDth RISetime VAVerage VRMS

DELay x

THResholds x x x x x x x x x x x x x

:MEASure:DEFine DELay Command
Syntax

:MEASure:DEFine DELay,<delay spec>[,<source>] <delay spec> ::= <edge_spec1>,<edge_spec2> <edge_spec1> ::= [<slope>]<occurrence>

<edge_spec2> ::= [<slope>]<occurrence>

<slope> ::= {+ | -}

370

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

NOTE

<occurrence> ::= integer
This command defines the behavior of the :MEASure:DELay? query by specifying the start and stop edge to be used. <edge_spec1> specifies the slope and edge number on source1. <edge_spec2> specifies the slope and edge number on source2. The measurement is taken as: delay = t(<edge_spec2>) - t(<edge_spec1>)
The :MEASure:DELay command and the front-panel delay measurement use an auto-edge selection method to determine the actual edge used for the measurement. The :MEASure:DEFine command has no effect on these delay measurements. The edges specified by the :MEASure:DEFine command only define the edges used by the :MEASure:DELay? query.

:MEASure:DEFine THResholds
Command Syntax

:MEASure:DEFine THResholds,<threshold spec>[,<source>]
<threshold spec> ::= {STANdard} | {<threshold mode>,<upper>,<middle>,<lower>}

<threshold mode> ::= {PERCent | ABSolute}
for <threshold mode> = PERCent:

<upper>, <middle>, <lower> ::= A number specifying the upper, middle, and lower threshold percentage values between Vbase and Vtop in NR3 format.
for <threshold mode> = ABSolute:

Query Syntax

<upper>, <middle>, <lower> ::= A number specifying the upper, middle, and lower threshold absolute values in NR3 format.
· STANdard threshold specification sets the lower, middle, and upper measurement thresholds to 10%, 50%, and 90% values between Vbase and Vtop.
· Threshold mode PERCent sets the measurement thresholds to any user-defined percentages between 5% and 95% of values between Vbase and Vtop.
· Threshold mode ABSolute sets the measurement thresholds to absolute values. ABSolute thresholds are dependent on channel scaling (:CHANnel<n>:RANGe or ":CHANnel<n>:SCALe" on page 227:CHANnel<n>:SCALe), probe attenuation (:CHANnel<n>:PROBe), and probe units (:CHANnel<n>:UNITs). Always set these values first before setting ABSolute thresholds.
:MEASure:DEFine? <meas_spec>[,<source>]

Return Format

<meas_spec> ::= {DELay | THResholds}
The :MEASure:DEFine? query returns the current edge specification for the delay measurements setup or the current specification for the thresholds setup. for <meas_spec> = DELay:

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

371

21 :MEASure Commands

{ <edge_spec1> | <edge_spec2> | <edge_spec1>,<edge_spec2>} <NL>
for <meas_spec> = THResholds and <threshold mode> = PERCent:

THR,PERC,<upper>,<middle>,<lower><NL>

<upper>, <middle>, <lower> ::= A number specifying the upper, middle, and lower threshold percentage values between Vbase and Vtop in NR3 format.
for <meas_spec> = THResholds and <threshold mode> = ABSolute:

THR,ABS,<upper>,<middle>,<lower><NL>

<upper>, <middle>, <lower> ::= A number specifying the upper, middle, and lower threshold voltages in NR3 format.
for <threshold spec> = STANdard:

See Also

THR,PERC,+90.0,+50.0,+10.0
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:DELay" on page 373 · ":MEASure:SOURce" on page 394 · ":CHANnel<n>:RANGe" on page 226 · ":CHANnel<n>:SCALe" on page 227 · ":CHANnel<n>:PROBe" on page 220 · ":CHANnel<n>:UNITs" on page 228

372

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:DELay

(see page 818) Command Syntax :MEASure:DELay [<source1>][,<source2>]
<source1>, <source2> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
The :MEASure:DELay command places the instrument in the continuous measurement mode and starts a delay measurement. The measurement is taken as:
delay = t(<edge spec 2>) - t(<edge spec 1>) where the <edge spec> definitions are set by the :MEASure:DEFine command

NOTE

The :MEASure:DELay command and the front-panel delay measurement differ from the :MEASure:DELay? query.
The delay command or front-panel measurement run the delay measurement in auto-edge select mode. In this mode, you can select the edge polarity, but the instrument will select the edges that will make the best possible delay measurement. The source1 edge chosen will be the edge that meets the polarity specified and is closest to the trigger reference point. The source2 edge selected will be that edge of the specified polarity that gives the first of the following criteria: · The smallest positive delay value that is less than source1 period. · The smallest negative delay that is less than source1 period. · The smallest absolute value of delay. The :MEASure:DELay? query will make the measurement using the edges specified by the :MEASure:DEFine command.

Query Syntax

:MEASure:DELay? [<source1>][,<source2>]
The :MEASure:DELay? query measures and returns the delay between source1 and source2. The delay measurement is made from the user-defined slope and edge count of the signal connected to source1, to the defined slope and edge count of the signal connected to source2. Delay measurement slope and edge parameters are selected using the :MEASure:DEFine command. Also in the :MEASure:DEFine command, you can set upper, middle, and lower threshold values. It is the middle threshold value that is used when performing the delay query. The standard upper, middle, and lower measurement thresholds are

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

373

21 :MEASure Commands

Return Format

90%, 50%, and 10% values between Vbase and Vtop. If you want to move the delay measurement point nearer to Vtop or Vbase, you must change the threshold values with the :MEASure:DEFine THResholds command.
<value><NL>

See Also

<value> ::= floating-point number delay time in seconds in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:DEFine" on page 370 · ":MEASure:PHASe" on page 386

374

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:DUTYcycle

(see page 818) Command Syntax :MEASure:DUTYcycle [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal} <n> ::= 1 to (# of analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:DUTYcycle command installs a screen measurement and starts a duty cycle measurement on the current :MEASure:SOURce. If the optional source parameter is specified, the current source is modified.

NOTE

The signal must be displayed to make the measurement. This command is not available if the source is FFT (Fast Fourier Transform).

NOTE

The EXTernal source is available on 2-channel oscilloscopes only.

Query Syntax

:MEASure:DUTYcycle? [<source>]
The :MEASure:DUTYcycle? query measures and outputs the duty cycle of the signal specified by the :MEASure:SOURce command. The value returned for the duty cycle is the ratio of the positive pulse width to the period. The positive pulse width and the period of the specified signal are measured, then the duty cycle is calculated with the following formula:

duty cycle = (+pulse width/period)*100 Return Format <value><NL>

See Also Example Code

<value> ::= ratio of positive pulse width to period in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:PERiod" on page 385 · ":MEASure:PWIDth" on page 389 · ":MEASure:SOURce" on page 394
· "Example Code" on page 394

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

375

21 :MEASure Commands

:MEASure:FALLtime

(see page 818) Command Syntax :MEASure:FALLtime [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:FALLtime command installs a screen measurement and starts a fall-time measurement. For highest measurement accuracy, set the sweep speed as fast as possible, while leaving the falling edge of the waveform on the display. If the optional source parameter is specified, the current source is modified.

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax Return Format

:MEASure:FALLtime? [<source>]
The :MEASure:FALLtime? query measures and outputs the fall time of the displayed falling (negative-going) edge closest to the trigger reference. The fall time is determined by measuring the time at the upper threshold of the falling edge, then measuring the time at the lower threshold of the falling edge, and calculating the fall time with the following formula:
fall time = time at lower threshold - time at upper threshold
<value><NL>

See Also

<value> ::= time in seconds between the lower threshold and upper threshold in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:RISetime" on page 391 · ":MEASure:SOURce" on page 394

376

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:FREQuency

(see page 818) Command Syntax :MEASure:FREQuency [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# of analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
The :MEASure:FREQuency command installs a screen measurement and starts a frequency measurement. If the optional source parameter is specified, the current source is modified. IF the edge on the screen closest to the trigger reference is rising: THEN frequency = 1/(time at trailing rising edge - time at leading rising edge) ELSE frequency = 1/(time at trailing falling edge - time at leading falling edge)

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

NOTE

The EXTernal source is available on 2-channel oscilloscopes only.

Query Syntax Return Format

:MEASure:FREQuency? [<source>]
The :MEASure:FREQuency? query measures and outputs the frequency of the cycle on the screen closest to the trigger reference.
<source><NL>

See Also Example Code

<source> ::= frequency in Hertz in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:PERiod" on page 385 · "Example Code" on page 394

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

377

21 :MEASure Commands

:MEASure:NDUTy

(see page 818) Command Syntax :MEASure:NDUTy [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal} <n> ::= 1 to (# of analog channels) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
The :MEASure:NDUTy command installs a screen measurement and starts a negative duty cycle measurement on the current :MEASure:SOURce. If the optional source parameter is specified, the current source is modified.

NOTE

The signal must be displayed to make the measurement. This command is not available if the source is FFT (Fast Fourier Transform).

NOTE

The EXTernal source is available on 2-channel oscilloscopes only.

Query Syntax

:MEASure:NDUTy? [<source>]
The :MEASure:NDUTy? query measures and outputs the negative duty cycle of the signal specified by the :MEASure:SOURce command. The value returned for the duty cycle is the ratio of the negative pulse width to the period. The negative pulse width and the period of the specified signal are measured, then the duty cycle is calculated with the following formula:

-duty cycle = (-pulse width/period)*100 Return Format <value><NL>

See Also

<value> ::= ratio of negative pulse width to period in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:PERiod" on page 385 · ":MEASure:NWIDth" on page 381 · ":MEASure:SOURce" on page 394 · ":MEASure:DUTYcycle" on page 375

378

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:NEDGes

(see page 818) Command Syntax :MEASure:NEDGes [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:NEDGes command installs a falling edge count measurement on screen. If the optional source parameter is not specified, the current source is measured.

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax Return Format

:MEASure:NEDGes? [<source>]
The :MEASure:NEDGes? query measures and returns the on-screen falling edge count.
<value><NL>

See Also

<value> ::= the falling edge count in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

379

21 :MEASure Commands

:MEASure:NPULses

(see page 818) Command Syntax :MEASure:NPULses [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:NPULses command installs a falling pulse count measurement on screen. If the optional source parameter is not specified, the current source is measured.

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax Return Format

:MEASure:NPULses? [<source>]
The :MEASure:NPULses? query measures and returns the on-screen falling pulse count.
<value><NL>

See Also

<value> ::= the falling pulse count in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394

380

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:NWIDth

(see page 818) Command Syntax :MEASure:NWIDth [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal} <n> ::= 1 to (# of analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:NWIDth command installs a screen measurement and starts a negative pulse width measurement. If the optional source parameter is not specified, the current source is modified.

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

NOTE

The EXTernal source is available on 2-channel oscilloscopes only.

Query Syntax

:MEASure:NWIDth? [<source>]
The :MEASure:NWIDth? query measures and outputs the width of the negative pulse on the screen closest to the trigger reference using the midpoint between the upper and lower thresholds. FOR the negative pulse closest to the trigger point:

width = (time at trailing rising edge - time at leading falling edge) Return Format <value><NL>

See Also

<value> ::= negative pulse width in seconds in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:PWIDth" on page 389 · ":MEASure:PERiod" on page 385

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

381

21 :MEASure Commands

:MEASure:OVERshoot

(see page 818) Command Syntax :MEASure:OVERshoot [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:OVERshoot command installs a screen measurement and starts an overshoot measurement. If the optional source parameter is specified, the current source is modified.

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:OVERshoot? [<source>]
The :MEASure:OVERshoot? query measures and returns the overshoot of the edge closest to the trigger reference, displayed on the screen. The method used to determine overshoot is to make three different vertical value measurements: Vtop, Vbase, and either Vmax or Vmin, depending on whether the edge is rising or falling. For a rising edge:
overshoot = ((Vmax-Vtop) / (Vtop-Vbase)) x 100 For a falling edge:

Return Format

overshoot = ((Vbase-Vmin) / (Vtop-Vbase)) x 100 Vtop and Vbase are taken from the normal histogram of all waveform vertical values. The extremum of Vmax or Vmin is taken from the waveform interval right after the chosen edge, halfway to the next edge. This more restricted definition is used instead of the normal one, because it is conceivable that a signal may have more preshoot than overshoot, and the normal extremum would then be dominated by the preshoot of the following edge.
<overshoot><NL>

See Also

<overshoot>::= the percent of the overshoot of the selected waveform in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:PREShoot" on page 388 · ":MEASure:SOURce" on page 394 · ":MEASure:VMAX" on page 403

382

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

· ":MEASure:VTOP" on page 408 · ":MEASure:VBASe" on page 402 · ":MEASure:VMIN" on page 404

:MEASure Commands 21

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

383

21 :MEASure Commands

:MEASure:PEDGes

(see page 818) Command Syntax :MEASure:PEDGes [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:PEDGes command installs a rising edge count measurement on screen. If the optional source parameter is not specified, the current source is measured.

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax Return Format

:MEASure:PEDGes? [<source>]
The :MEASure:NEDGes? query measures and returns the on-screen rising edge count.
<value><NL>

See Also

<value> ::= the rising edge count in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394

384

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:PERiod

(see page 818) Command Syntax :MEASure:PERiod [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal} <n> ::= 1 to (# of analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:PERiod command installs a screen measurement and starts the period measurement. If the optional source parameter is specified, the current source is modified.

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

NOTE

The EXTernal source is available on 2-channel oscilloscopes only.

Query Syntax
Return Format See Also
Example Code

:MEASure:PERiod? [<source>]
The :MEASure:PERiod? query measures and outputs the period of the cycle closest to the trigger reference on the screen. The period is measured at the midpoint of the upper and lower thresholds. IF the edge closest to the trigger reference on screen is rising: THEN period = (time at trailing rising edge - time at leading rising edge) ELSE period = (time at trailing falling edge - time at leading falling edge)
<value><NL>
<value> ::= waveform period in seconds in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:NWIDth" on page 381 · ":MEASure:PWIDth" on page 389 · ":MEASure:FREQuency" on page 377 · "Example Code" on page 394

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

385

21 :MEASure Commands

:MEASure:PHASe

(see page 818)

Command Syntax :MEASure:PHASe [<source1>][,<source2>]

<source1>, <source2> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}

<n> ::= 1 to (# analog channels) in NR1 format

Query Syntax

<r> ::= 1-2 in NR1 format
The :MEASure:PHASe command places the instrument in the continuous measurement mode and starts a phase measurement.
:MEASure:PHASe? [<source1>][,<source2>]
The :MEASure:PHASe? query measures and returns the phase between the specified sources. A phase measurement is a combination of the period and delay measurements. First, the period is measured on source1. Then the delay is measured between source1 and source2. The edges used for delay are the source1 rising edge used for the period measurement closest to the horizontal reference and the rising edge on source 2. See :MEASure:DELay for more detail on selecting the 2nd edge. The phase is calculated as follows:

phase = (delay / period of input 1) x 360 Return Format <value><NL>

See Also

<value> ::= the phase angle value in degrees in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:DELay" on page 373 · ":MEASure:PERiod" on page 385 · ":MEASure:SOURce" on page 394

386

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:PPULses

(see page 818) Command Syntax :MEASure:PPULses [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:PPULses command installs a rising pulse count measurement on screen. If the optional source parameter is not specified, the current source is measured.

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax Return Format

:MEASure:PPULses? [<source>]
The :MEASure:PPULses? query measures and returns the on-screen rising pulse count.
<value><NL>

See Also

<value> ::= the rising pulse count in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

387

21 :MEASure Commands

:MEASure:PREShoot

(see page 818)

Command Syntax :MEASure:PREShoot [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}

<n> ::= 1 to (# analog channels) in NR1 format

Query Syntax Return Format

<r> ::= 1-2 in NR1 format
The :MEASure:PREShoot command installs a screen measurement and starts a preshoot measurement. If the optional source parameter is specified, the current source is modified.
:MEASure:PREShoot? [<source>]
The :MEASure:PREShoot? query measures and returns the preshoot of the edge closest to the trigger, displayed on the screen. The method used to determine preshoot is to make three different vertical value measurements: Vtop, Vbase, and either Vmin or Vmax, depending on whether the edge is rising or falling. For a rising edge:
preshoot = ((Vmin-Vbase) / (Vtop-Vbase)) x 100 For a falling edge:
preshoot = ((Vmax-Vtop) / (Vtop-Vbase)) x 100 Vtop and Vbase are taken from the normal histogram of all waveform vertical values. The extremum of Vmax or Vmin is taken from the waveform interval right before the chosen edge, halfway back to the previous edge. This more restricted definition is used instead of the normal one, because it is likely that a signal may have more overshoot than preshoot, and the normal extremum would then be dominated by the overshoot of the preceding edge.
<value><NL>

See Also

<value> ::= the percent of preshoot of the selected waveform in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:VMIN" on page 404 · ":MEASure:VMAX" on page 403 · ":MEASure:VTOP" on page 408 · ":MEASure:VBASe" on page 402

388

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:PWIDth

(see page 818) Command Syntax :MEASure:PWIDth [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal} <n> ::= 1 to (# of analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:PWIDth command installs a screen measurement and starts the positive pulse width measurement. If the optional source parameter is specified, the current source is modified.

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

NOTE

The EXTernal source is available on 2-channel oscilloscopes only.

Query Syntax
Return Format See Also

:MEASure:PWIDth? [<source>]
The :MEASure:PWIDth? query measures and outputs the width of the displayed positive pulse closest to the trigger reference. Pulse width is measured at the midpoint of the upper and lower thresholds. IF the edge on the screen closest to the trigger is falling: THEN width = (time at trailing falling edge - time at leading rising edge) ELSE width = (time at leading falling edge - time at leading rising edge)
<value><NL>
<value> ::= width of positive pulse in seconds in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:NWIDth" on page 381 · ":MEASure:PERiod" on page 385

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

389

21 :MEASure Commands

:MEASure:RESults

(see page 818)

Query Syntax Return Format

:MEASure:RESults?
The :MEASure:RESults? query returns the results of the continuously displayed measurements. The response to the MEASure:RESults? query is a list of comma-separated values. If more than one measurement is running continuously, the :MEASure:RESults return values are duplicated for each continuous measurement from the first to last result displayed. Each result returned is separated from the previous result by a comma. There is a maximum of 4 measurements that can be continuously displayed at a time. When no quick measurements are installed, the :MEASure:RESults? query returns nothing (empty string).
<result_list><NL>

<result_list> ::= comma-separated list of measurement results
See Also · "Introduction to :MEASure Commands" on page 364

390

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:RISetime

(see page 818) Command Syntax :MEASure: RISetime [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:RISetime command installs a screen measurement and starts a rise-time measurement. If the optional source parameter is specified, the current source is modified.

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax Return Format

:MEASure: RISetime? [<source>]
The :MEASure:RISetime? query measures and outputs the rise time of the displayed rising (positive-going) edge closest to the trigger reference. For maximum measurement accuracy, set the sweep speed as fast as possible while leaving the leading edge of the waveform on the display. The rise time is determined by measuring the time at the lower threshold of the rising edge and the time at the upper threshold of the rising edge, then calculating the rise time with the following formula:
rise time = time at upper threshold - time at lower threshold
<value><NL>

See Also

<value> ::= rise time in seconds in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:FALLtime" on page 376

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

391

21 :MEASure Commands

:MEASure:SDEViation

(see page 818) Command Syntax :MEASure:SDEViation [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1-2 or 1-4 (# of analog channels) in NR1 format <r> ::= 1-2 in NR1 format

NOTE

This ":MEASure:VRMS DISPlay, AC" command is the preferred syntax for making standard deviation measurements.

NOTE

The :MEASure:SDEViation command installs a screen measurement and starts std deviation measurement. If the optional source parameter is specified, the current source is modified. This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax Return Format

:MEASure:SDEViation? [<source>]
The :MEASure:SDEViation? query measures and outputs the std deviation of the selected waveform. The oscilloscope computes the std deviation on all displayed data points.
<value><NL>

See Also

<value> ::= calculated std deviation value in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:VRMS" on page 406 · ":MEASure:SOURce" on page 394

392

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:SHOW

(see page 818)

Command Syntax :MEASure:SHOW <show>

<show> ::= {1 | ON}
The :MEASure:SHOW command enables markers for tracking measurements on the display. This feature is always on.

Query Syntax Return Format

:MEASure:SHOW?
The :MEASure:SHOW? query returns the current state of the markers.
<show><NL>

<show> ::= 1
See Also · "Introduction to :MEASure Commands" on page 364

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

393

21 :MEASure Commands

:MEASure:SOURce

(see page 818)

Command Syntax :MEASure:SOURce <source1>[,<source2>]

<source1>,<source2> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}

<n> ::= 1 to (# of analog channels) in NR1 format

Query Syntax

<r> ::= 1-2 in NR1 format
The :MEASure:SOURce command sets the default sources for measurements. The specified sources are used as the sources for the MEASure subsystem commands if the sources are not explicitly set with the command. If a source is specified for any measurement, the current source is changed to this new value. If :MARKer:MODE is set to OFF or MANual, setting :MEASure:SOURce to CHANnel<n>, FUNCtion, or MATH will also set :MARKer:X1Y1source to source1 and :MARKer:X2Y2source to source2. EXTernal is only a valid source for the counter measurement (and <source1>).
:MEASure:SOURce?
The :MEASure:SOURce? query returns the current source selections. Source2 applies only to :MEASure:DELay and :MEASure:PHASe measurements.

NOTE

MATH is an alias for FUNCtion. The query will return FUNC if the source is FUNCtion or MATH.

Return Format <source1>,<source2><NL>

See Also:

<source1>,<source2> ::= {CHAN<n> | FUNC | WMWM<r> | EXT}
· "Introduction to :MEASure Commands" on page 364 · ":MARKer:MODE" on page 342 · ":MARKer:X1Y1source" on page 344 · ":MARKer:X2Y2source" on page 346 · ":MEASure:DELay" on page 373 · ":MEASure:PHASe" on page 386

Example Code

' MEASURE - The commands in the MEASURE subsystem are used to make ' measurements on displayed waveforms. myScope.WriteString ":MEASURE:SOURCE CHANNEL1" ' Source to measure. myScope.WriteString ":MEASURE:FREQUENCY?" ' Query for frequency.

394

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21
varQueryResult = myScope.ReadNumber ' Read frequency. MsgBox "Frequency:" + vbCrLf _
+ FormatNumber(varQueryResult / 1000, 4) + " kHz" myScope.WriteString ":MEASURE:DUTYCYCLE?" ' Query for duty cycle. varQueryResult = myScope.ReadNumber ' Read duty cycle. MsgBox "Duty cycle:" + vbCrLf _
+ FormatNumber(varQueryResult, 3) + "%" myScope.WriteString ":MEASURE:RISETIME?" ' Query for risetime. varQueryResult = myScope.ReadNumber ' Read risetime. MsgBox "Risetime:" + vbCrLf _
+ FormatNumber(varQueryResult * 1000000, 4) + " us" myScope.WriteString ":MEASURE:VPP?" ' Query for Pk to Pk voltage. varQueryResult = myScope.ReadNumber ' Read VPP. MsgBox "Peak to peak voltage:" + vbCrLf _
+ FormatNumber(varQueryResult, 4) + " V" myScope.WriteString ":MEASURE:VMAX?" ' Query for Vmax. varQueryResult = myScope.ReadNumber ' Read Vmax. MsgBox "Maximum voltage:" + vbCrLf _
+ FormatNumber(varQueryResult, 4) + " V"
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

395

21 :MEASure Commands

:MEASure:TEDGe

(see page 818) Query Syntax :MEASure:TEDGe? <slope><occurrence>[,<source>]
<slope> ::= direction of the waveform. A rising slope is indicated by a space or plus sign (+). A falling edge is indicated by a minus sign (-).
<occurrence> ::= the transition to be reported. If the occurrence number is one, the first crossing from the left screen edge is reported. If the number is two, the second crossing is reported, etc.
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal}
<n> ::= 1 to (# of analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
When the :MEASure:TEDGe query is sent, the displayed signal is searched for the specified transition. The time interval between the trigger event and this occurrence is returned as the response to the query. The sign of the slope selects a rising (+) or falling (-) edge. If no sign is specified for the slope, it is assumed to be the rising edge. The magnitude of occurrence defines the occurrence to be reported. For example, +3 returns the time for the third time the waveform crosses the midpoint threshold in the positive direction. Once this crossing is found, the oscilloscope reports the time at that crossing in seconds, with the trigger point (time zero) as the reference. If the specified crossing cannot be found, the oscilloscope reports +9.9E+37. This value is returned if the waveform does not cross the specified vertical value, or if the waveform does not cross the specified vertical value for the specific number of times in the direction specified. You can make delay and phase measurements using the MEASure:TEDGe command:
Delay = time at the nth rising or falling edge of the channel - time at the same edge of another channel Phase = (delay between channels / period of channel) x 360 For an example of making a delay and phase measurement, see ":MEASure:TEDGe Code" on page 397. If the optional source parameter is specified, the current source is modified.

NOTE

This query is not available if the source is FFT (Fast Fourier Transform).

396

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

NOTE

The EXTernal source is available on 2-channel oscilloscopes only.

Return Format <value><NL>

:MEASure:TEDGe Code

<value> ::= time in seconds of the specified transition in NR3 format
' Make a delay measurement between channel 1 and 2. Dim dblChan1Edge1 As Double Dim dblChan2Edge1 As Double Dim dblChan1Edge2 As Double Dim dblDelay As Double Dim dblPeriod As Double Dim dblPhase As Double

' Query time at 1st rising edge on ch1. myScope.WriteString ":MEASURE:TEDGE? +1, CHAN1"

' Read time at edge 1 on ch 1. dblChan1Edge1 = myScope.ReadNumber

' Query time at 1st rising edge on ch2. myScope.WriteString ":MEASURE:TEDGE? +1, CHAN2"

' Read time at edge 1 on ch 2. dblChan2Edge1 = myScope.ReadNumber

' Calculate delay time between ch1 and ch2. dblDelay = dblChan2Edge1 - dblChan1Edge1

' Write calculated delay time to screen. MsgBox "Delay = " + vbCrLf + CStr(dblDelay)

' Make a phase difference measurement between channel 1 and 2. ' Query time at 1st rising edge on ch1. myScope.WriteString ":MEASURE:TEDGE? +2, CHAN1"

' Read time at edge 2 on ch 1. dblChan1Edge2 = myScope.ReadNumber

' Calculate period of ch 1. dblPeriod = dblChan1Edge2 - dblChan1Edge1

See Also

' Calculate phase difference between ch1 and ch2. dblPhase = (dblDelay / dblPeriod) * 360 MsgBox "Phase = " + vbCrLf + CStr(dblPhase)
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:TVALue" on page 398 · ":MEASure:VTIMe" on page 407

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

397

21 :MEASure Commands

:MEASure:TVALue

(see page 818) Query Syntax :MEASure:TVALue? <value>, [<slope>]<occurrence>[,<source>]
<value> ::= the vertical value that the waveform must cross. The value can be volts or a math function value such as dB, Vs, or V/s.
<slope> ::= direction of the waveform. A rising slope is indicated by a plus sign (+). A falling edge is indicated by a minus sign (-).
<occurrence> ::= the transition to be reported. If the occurrence number is one, the first crossing is reported. If the number is two, the second crossing is reported, etc.
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
When the :MEASure:TVALue? query is sent, the displayed signal is searched for the specified value level and transition. The time interval between the trigger event and this defined occurrence is returned as the response to the query. The specified value can be negative or positive. To specify a negative value, use a minus sign (-). The sign of the slope selects a rising (+) or falling (-) edge. If no sign is specified for the slope, it is assumed to be the rising edge. The magnitude of the occurrence defines the occurrence to be reported. For example, +3 returns the time for the third time the waveform crosses the specified value level in the positive direction. Once this value crossing is found, the oscilloscope reports the time at that crossing in seconds, with the trigger point (time zero) as the reference. If the specified crossing cannot be found, the oscilloscope reports +9.9E+37. This value is returned if the waveform does not cross the specified value, or if the waveform does not cross the specified value for the specified number of times in the direction specified. If the optional source parameter is specified, the current source is modified.

NOTE

This query is not available if the source is FFT (Fast Fourier Transform).

Return Format

<value><NL>
<value> ::= time in seconds of the specified value crossing in NR3 format

398

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

See Also

· "Introduction to :MEASure Commands" on page 364 · ":MEASure:TEDGe" on page 396 · ":MEASure:VTIMe" on page 407

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

399

21 :MEASure Commands

:MEASure:VAMPlitude

(see page 818)

Command Syntax :MEASure:VAMPlitude [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}

<n> ::= 1 to (# analog channels) in NR1 format

Query Syntax Return Format

<r> ::= 1-2 in NR1 format
The :MEASure:VAMPlitude command installs a screen measurement and starts a vertical amplitude measurement. If the optional source parameter is specified, the current source is modified.
:MEASure:VAMPlitude? [<source>]
The :MEASure:VAMPlitude? query measures and returns the vertical amplitude of the waveform. To determine the amplitude, the instrument measures Vtop and Vbase, then calculates the amplitude as follows:
vertical amplitude = Vtop - Vbase
<value><NL>

See Also

<value> ::= the amplitude of the selected waveform in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:VBASe" on page 402 · ":MEASure:VTOP" on page 408 · ":MEASure:VPP" on page 405

400

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:VAVerage

(see page 818)

Command Syntax :MEASure:VAVerage [<interval>][,][<source>]

<interval> ::= {CYCLe | DISPlay}

<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}

<n> ::= 1 to (# of analog channels) in NR1 format

<r> ::= 1-2 in NR1 format
The :MEASure:VAVerage command installs a screen measurement and starts an average value measurement. If the optional source parameter is specified, the current source is modified. The <interval> option lets you specify the measurement interval: either an integral number of cycles, or the full screen. If <interval> is not specified, DISPlay is implied.

Query Syntax Return Format

:MEASure:VAVerage? [<interval>][,][<source>]
The :MEASure:VAVerage? query returns the average value of an integral number of periods of the signal. If at least three edges are not present, the oscilloscope averages all data points.
<value><NL>

See Also

<value> ::= calculated average value in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

401

21 :MEASure Commands

:MEASure:VBASe

(see page 818) Command Syntax :MEASure:VBASe [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:VBASe command installs a screen measurement and starts a waveform base value measurement. If the optional source parameter is specified, the current source is modified.

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax Return Format

:MEASure:VBASe? [<source>]
The :MEASure:VBASe? query returns the vertical value at the base of the waveform. The base value of a pulse is normally not the same as the minimum value.
<base_voltage><NL>

See Also

<base_voltage> ::= value at the base of the selected waveform in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:VTOP" on page 408 · ":MEASure:VAMPlitude" on page 400 · ":MEASure:VMIN" on page 404

402

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:VMAX

(see page 818)

Command Syntax :MEASure:VMAX [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}

<n> ::= 1 to (# of analog channels) in NR1 format

Query Syntax

<r> ::= 1-2 in NR1 format
The :MEASure:VMAX command installs a screen measurement and starts a maximum vertical value measurement. If the optional source parameter is specified, the current source is modified.
:MEASure:VMAX? [<source>]
The :MEASure:VMAX? query measures and outputs the maximum vertical value present on the selected waveform.

Return Format <value><NL>

See Also

<value> ::= maximum vertical value of the selected waveform in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:VMIN" on page 404 · ":MEASure:VPP" on page 405 · ":MEASure:VTOP" on page 408

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

403

21 :MEASure Commands

:MEASure:VMIN

(see page 818)

Command Syntax :MEASure:VMIN [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}

<n> ::= 1 to (# analog channels) in NR1 format

Query Syntax

<r> ::= 1-2 in NR1 format
The :MEASure:VMIN command installs a screen measurement and starts a minimum vertical value measurement. If the optional source parameter is specified, the current source is modified.
:MEASure:VMIN? [<source>]
The :MEASure:VMIN? query measures and outputs the minimum vertical value present on the selected waveform.

Return Format <value><NL>

See Also

<value> ::= minimum vertical value of the selected waveform in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:VBASe" on page 402 · ":MEASure:VMAX" on page 403 · ":MEASure:VPP" on page 405

404

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:VPP

(see page 818)

Command Syntax :MEASure:VPP [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r>}

<n> ::= 1 to (# analog channels) in NR1 format

Query Syntax Return Format

<r> ::= 1-2 in NR1 format
The :MEASure:VPP command installs a screen measurement and starts a vertical peak-to-peak measurement. If the optional source parameter is specified, the current source is modified.
:MEASure:VPP? [<source>]
The :MEASure:VPP? query measures the maximum and minimum vertical value for the selected source, then calculates the vertical peak-to-peak value and returns that value. The peak-to-peak value (Vpp) is calculated with the following formula:
Vpp = Vmax - Vmin Vmax and Vmin are the vertical maximum and minimum values present on the selected source.
<value><NL>

See Also

<value> ::= vertical peak to peak value in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:VMAX" on page 403 · ":MEASure:VMIN" on page 404 · ":MEASure:VAMPlitude" on page 400

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

405

21 :MEASure Commands

:MEASure:VRMS

(see page 818) Command Syntax :MEASure:VRMS [<interval>][,<type>][,<source>]
<interval> ::= {CYCLe | DISPlay} <type> ::= {AC | DC} <source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:VRMS command installs a screen measurement and starts an RMS value measurement. If the optional source parameter is specified, the current source is modified. The <interval> option lets you specify the measurement interval: either an integral number of cycles, or the full screen. If <interval> is not specified, DISPlay is implied. The <type> option lets you choose between a DC RMS measurement and an AC RMS measurement. If <type> is not specified, DC is implied.

NOTE

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax Return Format

:MEASure:VRMS? [<interval>][,<type>][,<source>]
The :MEASure:VRMS? query measures and outputs the dc RMS value of the selected waveform. The dc RMS value is measured on an integral number of periods of the displayed signal. If at least three edges are not present, the oscilloscope computes the RMS value on all displayed data points.
<value><NL>

See Also

<value> ::= calculated dc RMS value in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394

406

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:VTIMe

(see page 818) Query Syntax :MEASure:VTIMe? <vtime_argument>[,<source>]
<vtime_argument> ::= time from trigger in seconds <source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r> | EXTernal} <n> ::= 1 to (# of analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:VTIMe? query returns the value at a specified time on the source specified with :MEASure:SOURce. The specified time must be on the screen and is referenced to the trigger event. If the optional source parameter is specified, the current source is modified. For the EXT digital waveform source, the returned value is either 1 or 0, based on the threshold voltage setting.

NOTE

This query is not available if the source is FFT (Fast Fourier Transform).

NOTE

The EXTernal source is available on 2-channel oscilloscopes only.

Return Format <value><NL>

See Also

<value> ::= value at the specified time in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:TEDGe" on page 396 · ":MEASure:TVALue" on page 398

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

407

21 :MEASure Commands

:MEASure:VTOP

(see page 818) Command Syntax :MEASure:VTOP [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:VTOP command installs a screen measurement and starts a waveform top value measurement.

NOTE

This query is not available if the source is FFT (Fast Fourier Transform).

Query Syntax Return Format

:MEASure:VTOP? [<source>]
The :MEASure:VTOP? query returns the vertical value at the top of the waveform. The top value of the pulse is normally not the same as the maximum value.
<value><NL>

See Also

<value> ::= vertical value at the top of the waveform in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394 · ":MEASure:VMAX" on page 403 · ":MEASure:VAMPlitude" on page 400 · ":MEASure:VBASe" on page 402

408

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:WINDow

(see page 818)

Command Syntax :MEASure:WINDow <type>

Query Syntax Return Format

<type> ::= {MAIN | ZOOM | AUTO}
When the zoomed time base is displayed, the :MEASure:WINDow command lets you specify the measurement window: · MAIN -- the measurement window is the upper, Main window. · ZOOM -- the measurement window is the lower, Zoom window. · AUTO -- the measurement is attempted in the lower, Zoom window; if it cannot
be made there, the upper, Main window is used.
:MEASure:WINDow?
The :MEASure:WINDow? query returns the current measurement window setting.
<type><NL>

See Also

<type> ::= {MAIN | ZOOM | AUTO}
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:SOURce" on page 394

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

409

21 :MEASure Commands

:MEASure:XMAX

(see page 818) Command Syntax :MEASure:XMAX [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1-2 or 1-4 (# of analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:XMAX command installs a screen measurement and starts an X-at-Max-Y measurement on the selected window. If the optional source parameter is specified, the current source is modified.

NOTE

:MEASure:XMAX is an alias for :MEASure:TMAX.

Query Syntax Return Format

:MEASure:XMAX? [<source>]
The :MEASure:XMAX? query measures and returns the horizontal axis value at which the maximum vertical value occurs. If the optional source is specified, the current source is modified.
<value><NL>

See Also

<value> ::= horizontal value of the maximum in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:XMIN" on page 411 · ":MEASure:TMAX" on page 755

410

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MEASure Commands 21

:MEASure:XMIN

(see page 818) Command Syntax :MEASure:XMIN [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1-2 or 1-4 (# of analog channels) in NR1 format <r> ::= 1-2 in NR1 format
The :MEASure:XMIN command installs a screen measurement and starts an X-at-Min-Y measurement on the selected window. If the optional source parameter is specified, the current source is modified.

NOTE

:MEASure:XMIN is an alias for :MEASure:TMIN.

Query Syntax Return Format

:MEASure:XMIN? [<source>]
The :MEASure:XMIN? query measures and returns the horizontal axis value at which the minimum vertical value occurs. If the optional source is specified, the current source is modified.
<value><NL>

See Also

<value> ::= horizontal value of the minimum in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:XMAX" on page 410 · ":MEASure:TMIN" on page 756

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

411

21 :MEASure Commands

412

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
22 :MTESt Commands

Mask testing is available on the DSOX1200-Series oscilloscope models. The MTESt subsystem commands and queries control the mask test features. See "Introduction to :MTESt Commands" on page 415.

Table 68 :MTESt Commands Summary

Command

Query

Options and Query Returns

:MTESt:ALL {{0 | OFF}
| {1 | ON}} (see page 418)

:MTESt:ALL? (see page 418)

{0 | 1}

:MTESt:AMASk:CREate n/a

n/a

(see page 419)

:MTESt:AMASk:SOURce
<source> (see page 420)

:MTESt:AMASk:SOURce? (see page 420)

<source> ::= CHANnel<n> <n> ::= {1 | 2 | 3 | 4} for 4ch models <n> ::= {1 | 2} for 2ch models

:MTESt:AMASk:UNITs

:MTESt:AMASk:UNITs?

<units> (see page 421) (see page 421)

<units> ::= {CURRent | DIVisions}

:MTESt:AMASk:XDELta :MTESt:AMASk:XDELta? <value> ::= X delta value in NR3

<value> (see page 422) (see page 422)

format

:MTESt:AMASk:YDELta :MTESt:AMASk:YDELta? <value> ::= Y delta value in NR3

<value> (see page 423) (see page 423)

format

n/a

:MTESt:COUNt:FWAVefor <failed> ::= number of failed

ms? [CHANnel<n>] (see waveforms in NR1 format page 424)

:MTESt:COUNt:RESet

n/a

n/a

(see page 425)

n/a

:MTESt:COUNt:TIME?

<time> ::= elapsed seconds in NR3

(see page 426)

format

n/a

:MTESt:COUNt:WAVeform <count> ::= number of waveforms

s? (see page 427)

in NR1 format

413

22 :MTESt Commands

Table 68 :MTESt Commands Summary (continued)

Command

Query

Options and Query Returns

:MTESt:DATA <mask> (see page 428)

:MTESt:DATA? (see page 428)

<mask> ::= data in IEEE 488.2 # format.

:MTESt:DELete (see

n/a

n/a

page 429)

:MTESt:ENABle {{0 |
OFF} | {1 | ON}} (see page 430)

:MTESt:ENABle? (see page 430)

{0 | 1}

:MTESt:LOCK {{0 |
OFF} | {1 | ON}} (see page 431)

:MTESt:LOCK? (see page 431)

{0 | 1}

:MTESt:RMODe <rmode> :MTESt:RMODe? (see

(see page 432)

page 432)

<rmode> ::= {FORever | TIME | SIGMa | WAVeforms}

:MTESt:RMODe:FACTion:
MEASure {{0 | OFF} |
{1 | ON}} (see page 433)

:MTESt:RMODe:FACTion:
MEASure? (see page 433)

{0 | 1}

:MTESt:RMODe:FACTion: :MTESt:RMODe:FACTion: {0 | 1} PRINt {{0 | OFF} | {1 PRINt? (see page 434) | ON}} (see page 434)

:MTESt:RMODe:FACTion: :MTESt:RMODe:FACTion: {0 | 1} SAVE {{0 | OFF} | {1 SAVE? (see page 435) | ON}} (see page 435)

:MTESt:RMODe:FACTion: :MTESt:RMODe:FACTion: {0 | 1} STOP {{0 | OFF} | {1 STOP? (see page 436) | ON}} (see page 436)

:MTESt:RMODe:SIGMa

:MTESt:RMODe:SIGMa?

<level> (see page 437) (see page 437)

<level> ::= from 0.1 to 9.3 in NR3 format

:MTESt:RMODe:TIME
<seconds> (see page 438)

:MTESt:RMODe:TIME? (see page 438)

<seconds> ::= from 1 to 86400 in NR3 format

:MTESt:RMODe:WAVeform :MTESt:RMODe:WAVeform <count> ::= number of waveforms

s <count> (see

s? (see page 439)

in NR1 format

page 439)

:MTESt:SCALe:BIND {{0
| OFF} | {1 | ON}} (see page 440)

:MTESt:SCALe:BIND? (see page 440)

{0 | 1}

:MTESt:SCALe:X1
<x1_value> (see page 441)

:MTESt:SCALe:X1? (see <x1_value> ::= X1 value in NR3

page 441)

format

414

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

Table 68 :MTESt Commands Summary (continued)

Command

Query

Options and Query Returns

:MTESt:SCALe:XDELta
<xdelta_value> (see page 442)

:MTESt:SCALe:XDELta? <xdelta_value> ::= X delta value

(see page 442)

in NR3 format

:MTESt:SCALe:Y1
<y1_value> (see page 443)

:MTESt:SCALe:Y1? (see <y1_value> ::= Y1 value in NR3

page 443)

format

:MTESt:SCALe:Y2
<y2_value> (see page 444)

:MTESt:SCALe:Y2? (see <y2_value> ::= Y2 value in NR3

page 444)

format

:MTESt:SOURce
<source> (see page 445)

:MTESt:SOURce? (see page 445)

<source> ::= {CHANnel<n> | NONE} <n> ::= {1 | 2 | 3 | 4} for 4ch models <n> ::= {1 | 2} for 2ch models

n/a

:MTESt:TITLe? (see

<title> ::= a string of up to 128

page 446)

ASCII characters

Introduction to :MTESt Commands

Mask testing automatically compares the current displayed waveform with the boundaries of a set of polygons that you define. Any waveform or sample that falls within the boundaries of one or more polygons is recorded as a failure.

Reporting the Setup Use :MTESt? to query setup information for the MTESt subsystem.

Return Format The following is a sample response from the :MTESt? query. In this case, the query was issued following a *RST command.

Example Code

:MTES:SOUR CHAN1;ENAB 0;LOCK 1;:MTES:AMAS:SOUR CHAN1;UNIT DIV;XDEL +2.50000000E-001;YDEL +2.50000000E-001;:MTES:SCAL:X1 +200.000E-06;XDEL +400.000E-06;Y1 -3.00000E+00;Y2 +3.00000E+00;BIND 0;:MTES:RMOD FOR;RMOD:TIME +1E+00;WAV 1000;SIGM +6.0E+00;:MTES:RMOD:FACT:STOP 0;PRIN 0;SAVE 0

' Mask testing commands example. ' -------------------------------------------------------------------

Option Explicit

Public myMgr As VisaComLib.ResourceManager Public myScope As VisaComLib.FormattedIO488 Public varQueryResult As Variant Public strQueryResult As String

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

415

22 :MTESt Commands

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Main()
On Error GoTo VisaComError
' Create the VISA COM I/O resource. Set myMgr = New VisaComLib.ResourceManager Set myScope = New VisaComLib.FormattedIO488 Set myScope.IO = _
myMgr.Open("USB0::0x0957::0x17A6::US50210029::0::INSTR") myScope.IO.Clear ' Clear the interface.
' Make sure oscilloscope is running. myScope.WriteString ":RUN"
' Set mask test termination conditions. myScope.WriteString ":MTESt:RMODe SIGMa" myScope.WriteString ":MTESt:RMODe?" strQueryResult = myScope.ReadString Debug.Print "Mask test termination mode: " + strQueryResult
myScope.WriteString ":MTESt:RMODe:SIGMa 4.2" myScope.WriteString ":MTESt:RMODe:SIGMa?" varQueryResult = myScope.ReadNumber Debug.Print "Mask test termination 'test sigma': " + _
FormatNumber(varQueryResult)
' Use auto-mask to create mask. myScope.WriteString ":MTESt:AMASk:SOURce CHANnel1" myScope.WriteString ":MTESt:AMASk:SOURce?" strQueryResult = myScope.ReadString Debug.Print "Mask test auto-mask source: " + strQueryResult
myScope.WriteString ":MTESt:AMASk:UNITs DIVisions" myScope.WriteString ":MTESt:AMASk:UNITs?" strQueryResult = myScope.ReadString Debug.Print "Mask test auto-mask units: " + strQueryResult
myScope.WriteString ":MTESt:AMASk:XDELta 0.1" myScope.WriteString ":MTESt:AMASk:XDELta?" varQueryResult = myScope.ReadNumber Debug.Print "Mask test auto-mask X delta: " + _
FormatNumber(varQueryResult)
myScope.WriteString ":MTESt:AMASk:YDELta 0.1" myScope.WriteString ":MTESt:AMASk:YDELta?" varQueryResult = myScope.ReadNumber Debug.Print "Mask test auto-mask Y delta: " + _
FormatNumber(varQueryResult)
' Enable "Auto Mask Created" event (bit 10, &H400) myScope.WriteString "*CLS" myScope.WriteString ":MTEenable " + CStr(CInt("&H400"))
' Create mask.

416

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22
myScope.WriteString ":MTESt:AMASk:CREate" Debug.Print "Auto-mask created, mask test automatically enabled."
' Set up timeout variables. Dim lngTimeout As Long ' Max millisecs to wait. Dim lngElapsed As Long lngTimeout = 60000 ' 60 seconds.
' Wait until mask is created. lngElapsed = 0 Do While lngElapsed <= lngTimeout
myScope.WriteString ":OPERegister:CONDition?" varQueryResult = myScope.ReadNumber ' Operation Status Condition Register MTE bit (bit 9, &H200). If (varQueryResult And &H200) <> 0 Then
Exit Do Else
Sleep 100 ' Small wait to prevent excessive queries. lngElapsed = lngElapsed + 100 End If Loop
' Look for RUN bit = stopped (mask test termination). lngElapsed = 0 Do While lngElapsed <= lngTimeout
myScope.WriteString ":OPERegister:CONDition?" varQueryResult = myScope.ReadNumber ' Operation Status Condition Register RUN bit (bit 3, &H8). If (varQueryResult And &H8) = 0 Then
Exit Do Else
Sleep 100 ' Small wait to prevent excessive queries. lngElapsed = lngElapsed + 100 End If Loop
' Get total waveforms, failed waveforms, and test time. myScope.WriteString ":MTESt:COUNt:WAVeforms?" strQueryResult = myScope.ReadString Debug.Print "Mask test total waveforms: " + strQueryResult
myScope.WriteString ":MTESt:COUNt:FWAVeforms?" strQueryResult = myScope.ReadString Debug.Print "Mask test failed waveforms: " + strQueryResult
myScope.WriteString ":MTESt:COUNt:TIME?" strQueryResult = myScope.ReadString Debug.Print "Mask test elapsed seconds: " + strQueryResult
Exit Sub
VisaComError: MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End Sub

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

417

22 :MTESt Commands

:MTESt:ALL

(see page 818)

Command Syntax :MTESt:ALL <on_off>

<on_off> ::= {{1 | ON} | {0 | OFF}}
The :MTESt:ALL command specifies the channel(s) that are included in the mask test: · ON -- All displayed analog channels are included in the mask test. · OFF -- Just the selected source channel is included in the test.

Query Syntax Return Format

:MTESt:ENABle?
The :MTESt:ENABle? query returns the current setting.
<on_off><NL>

<on_off> ::= {1 | 0}
See Also · "Introduction to :MTESt Commands" on page 415

418

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:AMASk:CREate

Command Syntax See Also
Example Code

(see page 818)
:MTESt:AMASk:CREate
The :MTESt:AMASk:CREate command automatically constructs a mask around the current selected channel, using the tolerance parameters defined by the :MTESt:AMASk:XDELta, :MTESt:AMASk:YDELta, and :MTESt:AMASk:UNITs commands. The mask only encompasses the portion of the waveform visible on the display, so you must ensure that the waveform is acquired and displayed consistently to obtain repeatable results. The :MTESt:SOURce command selects the channel and should be set before using this command. · "Introduction to :MTESt Commands" on page 415 · ":MTESt:AMASk:XDELta" on page 422 · ":MTESt:AMASk:YDELta" on page 423 · ":MTESt:AMASk:UNITs" on page 421 · ":MTESt:AMASk:SOURce" on page 420 · ":MTESt:SOURce" on page 445 · "Example Code" on page 415

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

419

22 :MTESt Commands

:MTESt:AMASk:SOURce

(see page 818)

Command Syntax :MTESt:AMASk:SOURce <source>

<source> ::= CHANnel<n>

<n> ::= 1 to (# analog channels) in NR1 format
The :MTESt:AMASk:SOURce command selects the source for the interpretation of the :MTESt:AMASk:XDELta and :MTESt:AMASk:YDELta parameters when :MTESt:AMASk:UNITs is set to CURRent.

When UNITs are CURRent, the XDELta and YDELta parameters are defined in terms of the channel units, as set by the :CHANnel<n>:UNITs command, of the selected source. Suppose that UNITs are CURRent and that you set SOURce to CHANNEL1, which is using units of volts. Then you can define AMASk:XDELta in terms of volts and AMASk:YDELta in terms of seconds.

Query Syntax Return Format

This command is the same as the :MTESt:SOURce command.
:MTESt:AMASk:SOURce?
The :MTESt:AMASk:SOURce? query returns the currently set source.
<source> ::= CHAN<n>

See Also Example Code

<n> ::= 1 to (# analog channels) in NR1 format
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:AMASk:XDELta" on page 422 · ":MTESt:AMASk:YDELta" on page 423 · ":MTESt:AMASk:UNITs" on page 421 · ":MTESt:SOURce" on page 445
· "Example Code" on page 415

420

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:AMASk:UNITs

(see page 818)

Command Syntax :MTESt:AMASk:UNITs <units>

Query Syntax

<units> ::= {CURRent | DIVisions}
The :MTESt:AMASk:UNITs command alters the way the mask test subsystem interprets the tolerance parameters for automasking as defined by :MTESt:AMASk:XDELta and :MTESt:AMASk:YDELta commands. · CURRent -- the mask test subsystem uses the units as set by the
:CHANnel<n>:UNITs command, usually time for X and voltage for Y. · DIVisions -- the mask test subsystem uses the graticule as the measurement
system, so tolerance settings are specified as parts of a screen division. The mask test subsystem maintains separate XDELta and YDELta settings for CURRent and DIVisions. Thus, XDELta and YDELta are not converted to new values when the UNITs setting is changed.
:MTESt:AMASk:UNITs?
The :MTESt:AMASk:UNITs query returns the current measurement units setting for the mask test automask feature.

Return Format <units><NL>

See Also

<units> ::= {CURR | DIV}
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:AMASk:XDELta" on page 422 · ":MTESt:AMASk:YDELta" on page 423 · ":CHANnel<n>:UNITs" on page 228 · ":MTESt:AMASk:SOURce" on page 420 · ":MTESt:SOURce" on page 445

Example Code · "Example Code" on page 415

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

421

22 :MTESt Commands

:MTESt:AMASk:XDELta

(see page 818)

Command Syntax :MTESt:AMASk:XDELta <value>

Query Syntax Return Format

<value> ::= X delta value in NR3 format
The :MTESt:AMASk:XDELta command sets the tolerance in the X direction around the waveform for the automasking feature. The absolute value of the tolerance will be added and subtracted to horizontal values of the waveform to determine the boundaries of the mask. The horizontal tolerance value is interpreted based on the setting specified by the :MTESt:AMASk:UNITs command; thus, if you specify 250-E3, the setting for :MTESt:AMASk:UNITs is CURRent, and the current setting specifies time in the horizontal direction, the tolerance will be ±250 ms. If the setting for :MTESt:AMASk:UNITs is DIVisions, the same X delta value will set the tolerance to ±250 millidivisions, or 1/4 of a division.
:MTESt:AMASk:XDELta?
The :MTEST:AMASk:XDELta? query returns the current setting of the X tolerance for automasking. If your computer program will interpret this value, it should also request the current measurement system using the :MTESt:AMASk:UNITs query.
<value><NL>

See Also Example Code

<value> ::= X delta value in NR3 format
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:AMASk:UNITs" on page 421 · ":MTESt:AMASk:YDELta" on page 423 · ":MTESt:AMASk:SOURce" on page 420 · ":MTESt:SOURce" on page 445
· "Example Code" on page 415

422

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:AMASk:YDELta

(see page 818)

Command Syntax :MTESt:AMASk:YDELta <value>

Query Syntax Return Format

<value> ::= Y delta value in NR3 format
The :MTESt:AMASk:YDELta command sets the vertical tolerance around the waveform for the automasking feature. The absolute value of the tolerance will be added and subtracted to vertical values of the waveform to determine the boundaries of the mask. The vertical tolerance value is interpreted based on the setting specified by the :MTESt:AMASk:UNITs command; thus, if you specify 250-E3, the setting for :MTESt:AMASk:UNITs is CURRent, and the current setting specifies voltage in the vertical direction, the tolerance will be ±250 mV. If the setting for :MTESt:AMASk:UNITs is DIVisions, the same Y delta value will set the tolerance to ±250 millidivisions, or 1/4 of a division.
:MTESt:AMASk:YDELta?
The :MTESt:AMASk:YDELta? query returns the current setting of the Y tolerance for automasking. If your computer program will interpret this value, it should also request the current measurement system using the :MTESt:AMASk:UNITs query.
<value><NL>

See Also Example Code

<value> ::= Y delta value in NR3 format
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:AMASk:UNITs" on page 421 · ":MTESt:AMASk:XDELta" on page 422 · ":MTESt:AMASk:SOURce" on page 420 · ":MTESt:SOURce" on page 445
· "Example Code" on page 415

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

423

22 :MTESt Commands

:MTESt:COUNt:FWAVeforms

(see page 818)

Query Syntax :MTESt:COUNt:FWAVeforms? [CHANnel<n>]

Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :MTESt:COUNt:FWAVeforms? query returns the total number of failed waveforms in the current mask test run. This count is for all regions and all waveforms collected on the channel specified by the optional parameter or collected on the currently specified source channel (:MTESt:SOURce) if there is no parameter.
<failed><NL>

See Also Example Code

<failed> ::= number of failed waveforms in NR1 format.
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:COUNt:WAVeforms" on page 427 · ":MTESt:COUNt:TIME" on page 426 · ":MTESt:COUNt:RESet" on page 425 · ":MTESt:SOURce" on page 445
· "Example Code" on page 415

424

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:COUNt:RESet

Command Syntax See Also

(see page 818)
:MTESt:COUNt:RESet
The :MTESt:COUNt:RESet command resets the mask statistics. · "Introduction to :MTESt Commands" on page 415 · ":MTESt:COUNt:WAVeforms" on page 427 · ":MTESt:COUNt:FWAVeforms" on page 424 · ":MTESt:COUNt:TIME" on page 426

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

425

22 :MTESt Commands

:MTESt:COUNt:TIME

(see page 818)

Query Syntax Return Format

:MTESt:COUNt:TIME?
The :MTESt:COUNt:TIME? query returns the elapsed time in the current mask test run.
<time><NL>

See Also Example Code

<time> ::= elapsed seconds in NR3 format.
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:COUNt:WAVeforms" on page 427 · ":MTESt:COUNt:FWAVeforms" on page 424 · ":MTESt:COUNt:RESet" on page 425
· "Example Code" on page 415

426

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:COUNt:WAVeforms

(see page 818)

Query Syntax Return Format

:MTESt:COUNt:WAVeforms?
The :MTESt:COUNt:WAVeforms? query returns the total number of waveforms acquired in the current mask test run.
<count><NL>

See Also Example Code

<count> ::= number of waveforms in NR1 format.
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:COUNt:FWAVeforms" on page 424 · ":MTESt:COUNt:TIME" on page 426 · ":MTESt:COUNt:RESet" on page 425
· "Example Code" on page 415

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

427

22 :MTESt Commands

:MTESt:DATA

(see page 818)

Command Syntax :MTESt:DATA <mask>

<mask> ::= binary block data in IEEE 488.2 # format.
The :MTESt:DATA command loads a mask from binary block data. These are the data bytes found in a *.msk file.

Query Syntax Return Format

:MTESt:DATA?
The :MTESt:DATA? query returns a mask in binary block data format. The format for the data transmission is the # definite-length format defined in the IEEE 488.2 specification.
<mask><NL>

See Also

<mask> ::= binary block data in IEEE 488.2 # format
· ":SAVE:MASK[:STARt]" on page 465 · ":RECall:MASK[:STARt]" on page 450

428

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:DELete

Command Syntax See Also

(see page 818)
:MTESt:DELete
The :MTESt:DELete command clears the currently loaded mask. · "Introduction to :MTESt Commands" on page 415 · ":MTESt:AMASk:CREate" on page 419

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

429

22 :MTESt Commands

:MTESt:ENABle

(see page 818)

Command Syntax :MTESt:ENABle <on_off>

<on_off> ::= {{1 | ON} | {0 | OFF}}
The :MTESt:ENABle command enables or disables the mask test features. · ON -- Enables the mask test features. · OFF -- Disables the mask test features.

Query Syntax Return Format

:MTESt:ENABle?
The :MTESt:ENABle? query returns the current state of mask test features.
<on_off><NL>

<on_off> ::= {1 | 0}
See Also · "Introduction to :MTESt Commands" on page 415

430

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:LOCK

(see page 818)

Command Syntax :MTESt:LOCK <on_off>

<on_off> ::= {{1 | ON} | {0 | OFF}}
The :MTESt:LOCK command enables or disables the mask lock feature: · ON -- Locks a mask to the SOURce. As the vertical or horizontal scaling or
position of the SOURce changes, the mask is redrawn accordingly. · OFF -- The mask is static and does not move.

Query Syntax Return Format

:MTESt:LOCK?
The :MTESt:LOCK? query returns the current mask lock setting.
<on_off><NL>

See Also

<on_off> ::= {1 | 0}
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:SOURce" on page 445

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

431

22 :MTESt Commands

:MTESt:RMODe

(see page 818)

Command Syntax :MTESt:RMODe <rmode>

Query Syntax Return Format

<rmode> ::= {FORever | SIGMa | TIME | WAVeforms}
The :MTESt:RMODe command specifies the termination conditions for the mask test: · FORever -- the mask test runs until it is turned off. · SIGMa -- the mask test runs until the Sigma level is reached. This level is set by
the ":MTESt:RMODe:SIGMa" on page 437 command. · TIME -- the mask test runs for a fixed amount of time. The amount of time is set
by the ":MTESt:RMODe:TIME" on page 438 command. · WAVeforms -- the mask test runs until a fixed number of waveforms are
acquired. The number of waveforms is set by the ":MTESt:RMODe:WAVeforms" on page 439 command.
:MTESt:RMODe?
The :MTESt:RMODe? query returns the currently set termination condition.
<rmode><NL>

See Also Example Code

<rmode> ::= {FOR | SIGM | TIME | WAV}
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:RMODe:SIGMa" on page 437 · ":MTESt:RMODe:TIME" on page 438 · ":MTESt:RMODe:WAVeforms" on page 439
· "Example Code" on page 415

432

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:RMODe:FACTion:MEASure

(see page 818)

Command Syntax :MTESt:RMODe:FACTion:MEASure <on_off>

<on_off> ::= {{1 | ON} | {0 | OFF}}
The :MTESt:RMODe:FACTion:MEASure command sets measuring only mask failures on or off.

When ON, measurements and measurement statistics run only on waveforms that contain a mask violation; passing waveforms do not affect measurements and measurement statistics. This mode is not available when the acquisition mode is set to Averaging.

Query Syntax Return Format

:MTESt:RMODe:FACTion:MEASure?
The :MTESt:RMODe:FACTion:MEASure? query returns the current mask failure measure setting.
<on_off><NL>

See Also

<on_off> ::= {1 | 0}
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:RMODe:FACTion:PRINt" on page 434 · ":MTESt:RMODe:FACTion:SAVE" on page 435 · ":MTESt:RMODe:FACTion:STOP" on page 436

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

433

22 :MTESt Commands

:MTESt:RMODe:FACTion:PRINt

(see page 818) Command Syntax :MTESt:RMODe:FACTion:PRINt <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}
The :MTESt:RMODe:FACTion:PRINt command sets printing on mask failures on or off.

NOTE

Setting :MTESt:RMODe:FACTion:PRINt ON automatically sets :MTESt:RMODe:FACTion:SAVE OFF.

Query Syntax Return Format

See Chapter 18, ":HARDcopy Commands," starting on page 321 for more information on setting the hardcopy device and formatting options.
:MTESt:RMODe:FACTion:PRINt?
The :MTESt:RMODe:FACTion:PRINt? query returns the current mask failure print setting.
<on_off><NL>

See Also

<on_off> ::= {1 | 0}
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:RMODe:FACTion:MEASure" on page 433 · ":MTESt:RMODe:FACTion:SAVE" on page 435 · ":MTESt:RMODe:FACTion:STOP" on page 436

434

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:RMODe:FACTion:SAVE

(see page 818) Command Syntax :MTESt:RMODe:FACTion:SAVE <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}
The :MTESt:RMODe:FACTion:SAVE command sets saving on mask failures on or off.

NOTE

Setting :MTESt:RMODe:FACTion:SAVE ON automatically sets :MTESt:RMODe:FACTion:PRINt OFF.

Query Syntax Return Format

See Chapter 24, ":SAVE Commands," starting on page 455 for more information on save options.
:MTESt:RMODe:FACTion:SAVE?
The :MTESt:RMODe:FACTion:SAVE? query returns the current mask failure save setting.
<on_off><NL>

See Also

<on_off> ::= {1 | 0}
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:RMODe:FACTion:MEASure" on page 433 · ":MTESt:RMODe:FACTion:PRINt" on page 434 · ":MTESt:RMODe:FACTion:STOP" on page 436

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

435

22 :MTESt Commands

:MTESt:RMODe:FACTion:STOP

(see page 818)

Command Syntax :MTESt:RMODe:FACTion:STOP <on_off>

Query Syntax Return Format

<on_off> ::= {{1 | ON} | {0 | OFF}}
The :MTESt:RMODe:FACTion:STOP command sets stopping on a mask failure on or off. When this setting is ON and a mask violation is detected, the mask test is stopped and the acquisition system is stopped.
:MTESt:RMODe:FACTion:STOP?
The :MTESt:RMODe:FACTion:STOP? query returns the current mask failure stop setting.
<on_off><NL>

See Also

<on_off> ::= {1 | 0}
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:RMODe:FACTion:MEASure" on page 433 · ":MTESt:RMODe:FACTion:PRINt" on page 434 · ":MTESt:RMODe:FACTion:SAVE" on page 435

436

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:RMODe:SIGMa

(see page 818)

Command Syntax :MTESt:RMODe:SIGMa <level>

Query Syntax Return Format

<level> ::= from 0.1 to 9.3 in NR3 format
When the :MTESt:RMODe command is set to SIGMa, the :MTESt:RMODe:SIGMa command sets the test sigma level to which a mask test runs. Test sigma is the best achievable process sigma, assuming no failures. (Process sigma is calculated using the number of failures per test.) The test sigma level indirectly specifies the number of waveforms that must be tested (in order to reach the sigma level).
:MTESt:RMODe:SIGMa?
The :MTESt:RMODe:SIGMa? query returns the current Sigma level setting.
<level><NL>

See Also Example Code

<level> ::= from 0.1 to 9.3 in NR3 format
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:RMODe" on page 432 · "Example Code" on page 415

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

437

22 :MTESt Commands

:MTESt:RMODe:TIME

(see page 818)

Command Syntax :MTESt:RMODe:TIME <seconds>

<seconds> ::= from 1 to 86400 in NR3 format
When the :MTESt:RMODe command is set to TIME, the :MTESt:RMODe:TIME command sets the number of seconds for a mask test to run.

Query Syntax Return Format

:MTESt:RMODe:TIME?
The :MTESt:RMODe:TIME? query returns the number of seconds currently set.
<seconds><NL>

See Also

<seconds> ::= from 1 to 86400 in NR3 format
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:RMODe" on page 432

438

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:RMODe:WAVeforms

(see page 818)

Command Syntax :MTESt:RMODe:WAVeforms <count>

Query Syntax

<count> ::= number of waveforms in NR1 format from 1 to 2,000,000,000
When the :MTESt:RMODe command is set to WAVeforms, the :MTESt:RMODe:WAVeforms command sets the number of waveform acquisitions that are mask tested.
:MTESt:RMODe:WAVeforms?
The :MTESt:RMODe:WAVeforms? query returns the number of waveforms currently set.

Return Format <count><NL>

See Also

<count> ::= number of waveforms in NR1 format from 1 to 2,000,000,000
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:RMODe" on page 432

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

439

22 :MTESt Commands

:MTESt:SCALe:BIND

(see page 818)

Command Syntax :MTESt:SCALe:BIND <on_off>

<on_off> ::= {{1 | ON} | {0 | OFF}}
The :MTESt:SCALe:BIND command enables or disables Bind 1 & 0 Levels (Bind -1 & 0 Levels for inverted masks) control: · ON --

If the Bind 1 & 0 Levels control is enabled, the 1 Level and the 0 Level controls track each other. Adjusting either the 1 Level or the 0 Level control shifts the position of the mask up or down without changing its size. If the Bind -1 & 0 Levels control is enabled, the -1 Level and the 0 Level controls track each other. Adjusting either the -1 Level or the 0 Level control shifts the position of the mask up or down without changing its size. · OFF -- If the Bind 1 & 0 Levels control is disabled, adjusting either the 1 Level or the 0 Level control changes the vertical height of the mask. If the Bind -1 & 0 Levels control is disabled, adjusting either the -1 Level or the 0 Level control changes the vertical height of the mask.

Query Syntax Return Format

:MTESt:SCALe:BIND?
The :MTESt:SCALe:BIND? query returns the value of the Bind 1&0 control (Bind -1&0 for inverted masks).
<on_off><NL>

See Also

<on_off> ::= {1 | 0}
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:SCALe:X1" on page 441 · ":MTESt:SCALe:XDELta" on page 442 · ":MTESt:SCALe:Y1" on page 443 · ":MTESt:SCALe:Y2" on page 444

440

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:SCALe:X1

(see page 818)

Command Syntax :MTESt:SCALe:X1 <x1_value>

<x1_value> ::= X1 value in NR3 format
The :MTESt:SCALe:X1 command defines where X=0 in the base coordinate system used for mask testing. The other X-coordinate is defined by the :MTESt:SCALe:XDELta command. Once the X1 and XDELta coordinates are set, all X values of vertices in the mask regions are defined with respect to this value, according to the equation:

Query Syntax Return Format

X = (X * X) + X1
Thus, if you set X1 to 100 ms, and XDELta to 100 ms, an X value of 0.100 is a vertex at 110 ms. The oscilloscope uses this equation to normalize vertices. This simplifies reprogramming to handle different data rates. For example, if you halve the period of the waveform of interest, you need only to adjust the XDELta value to set up the mask for the new waveform. The X1 value is a time value specifying the location of the X1 coordinate, which will then be treated as X=0 for mask regions coordinates.
:MTESt:SCALe:X1?
The :MTESt:SCALe:X1? query returns the current X1 coordinate setting.
<x1_value><NL>

See Also

<x1_value> ::= X1 value in NR3 format
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:SCALe:BIND" on page 440 · ":MTESt:SCALe:XDELta" on page 442 · ":MTESt:SCALe:Y1" on page 443 · ":MTESt:SCALe:Y2" on page 444

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

441

22 :MTESt Commands

:MTESt:SCALe:XDELta

(see page 818)

Command Syntax :MTESt:SCALe:XDELta <xdelta_value>

<xdelta_value> ::= X delta value in NR3 format
The :MTESt:SCALe:XDELta command defines the position of the X2 marker with respect to the X1 marker. In the mask test coordinate system, the X1 marker defines where X=0; thus, the X2 marker defines where X=1. Because all X vertices of the regions defined for mask testing are normalized with respect to X1 and X, redefining X also moves those vertices to stay in the same locations with respect to X1 and X. Thus, in many applications, it is best if you define XDELta as a pulse width or bit period. Then, a change in data rate without corresponding changes in the waveform can easily be handled by changing X. The X-coordinate of polygon vertices is normalized using this equation:

Query Syntax Return Format

X = (X * X) + X1
The X delta value is a time value specifying the distance of the X2 marker with respect to the X1 marker. For example, if the period of the waveform you wish to test is 1 ms, setting X to 1 ms ensures that the waveform's period is between the X1 and X2 markers.
:MTESt:SCALe:XDELta?
The :MTESt:SCALe:XDELta? query returns the current value of X.
<xdelta_value><NL>

See Also

<xdelta_value> ::= X delta value in NR3 format
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:SCALe:BIND" on page 440 · ":MTESt:SCALe:X1" on page 441 · ":MTESt:SCALe:Y1" on page 443 · ":MTESt:SCALe:Y2" on page 444

442

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:SCALe:Y1

Command Syntax

(see page 818)
:MTESt:SCALe:Y1 <y1_value>

<y1_value> ::= Y1 value in NR3 format
The :MTESt:SCALe:Y1 command defines where Y=0 in the coordinate system for mask testing. All Y values of vertices in the coordinate system are defined with respect to the boundaries set by SCALe:Y1 and SCALe:Y2 according to the equation:

Query Syntax Return Format

Y = (Y * (Y2 - Y1)) + Y1
Thus, if you set Y1 to 100 mV, and Y2 to 1 V, a Y value of 0.100 in a vertex is at 190 mV. The Y1 value is a voltage value specifying the point at which Y=0.
:MTESt:SCALe:Y1?
The :MTESt:SCALe:Y1? query returns the current setting of the Y1 marker.
<y1_value><NL>

See Also

<y1_value> ::= Y1 value in NR3 format
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:SCALe:BIND" on page 440 · ":MTESt:SCALe:X1" on page 441 · ":MTESt:SCALe:XDELta" on page 442 · ":MTESt:SCALe:Y2" on page 444

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

443

22 :MTESt Commands

:MTESt:SCALe:Y2

Command Syntax

(see page 818)
:MTESt:SCALe:Y2 <y2_value>

<y2_value> ::= Y2 value in NR3 format
The :MTESt:SCALe:Y2 command defines the Y2 marker in the coordinate system for mask testing. All Y values of vertices in the coordinate system are defined with respect to the boundaries defined by SCALe:Y1 and SCALe:Y2 according to the following equation:

Query Syntax Return Format

Y = (Y * (Y2 - Y1)) + Y1
Thus, if you set Y1 to 100 mV, and Y2 to 1 V, a Y value of 0.100 in a vertex is at 190 mV. The Y2 value is a voltage value specifying the location of the Y2 marker.
:MTESt:SCALe:Y2?
The :MTESt:SCALe:Y2? query returns the current setting of the Y2 marker.
<y2_value><NL>

See Also

<y2_value> ::= Y2 value in NR3 format
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:SCALe:BIND" on page 440 · ":MTESt:SCALe:X1" on page 441 · ":MTESt:SCALe:XDELta" on page 442 · ":MTESt:SCALe:Y1" on page 443

444

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:MTESt Commands 22

:MTESt:SOURce

(see page 818)

Command Syntax :MTESt:SOURce <source>

<source> ::= CHANnel<n>

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :MTESt:SOURce command selects the channel which is configured by the commands contained in a mask file when it is loaded.
:MTESt:SOURce?
The :MTESt:SOURce? query returns the channel which is configured by the commands contained in the current mask file.
<source><NL>

<source> ::= {CHAN<n> | NONE}

See Also

<n> ::= 1 to (# analog channels) in NR1 format
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:AMASk:SOURce" on page 420

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

445

22 :MTESt Commands

:MTESt:TITLe

(see page 818)

Query Syntax Return Format

:MTESt:TITLe?
The :MTESt:TITLe? query returns the mask title which is a string of up to 128 characters. The title is displayed in the mask test dialog box and mask test tab when a mask file is loaded.
<title><NL>

<title> ::= a string of up to 128 ASCII characters.
See Also · "Introduction to :MTESt Commands" on page 415

446

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
23 :RECall Commands

Recall previously saved oscilloscope setups, reference waveforms, and masks.

Table 69 :RECall Commands Summary

Command

Query

:RECall:FILename
<base_name> (see page 449)

:RECall:FILename? (see page 449)

:RECall:MASK[:STARt] n/a
[<file_spec>] (see page 450)

:RECall:PWD
<path_name> (see page 451)

:RECall:PWD? (see page 451)

:RECall:SETup[:STARt] n/a
[<file_spec>] (see page 452)

:RECall:WMEMory<r>[:S n/a
TARt] [<file_name>] (see page 453)

Options and Query Returns
<base_name> ::= quoted ASCII string
<file_spec> ::= {<internal_loc> | <file_name>} <internal_loc> ::= 0-3; an integer in NR1 format <file_name> ::= quoted ASCII string
<path_name> ::= quoted ASCII string
<file_spec> ::= {<internal_loc> | <file_name>} <internal_loc> ::= 0-9; an integer in NR1 format <file_name> ::= quoted ASCII string
<r> ::= 1-2 in NR1 format <file_name> ::= quoted ASCII string If extension included in file name, it must be ".h5".

Introduction to The :RECall subsystem provides commands to recall previously saved oscilloscope :RECall Commands setups, reference waveforms, and masks.
Reporting the Setup

447

23 :RECall Commands
Use :RECall? to query setup information for the RECall subsystem. Return Format The following is a sample response from the :RECall? query. In this case, the query was issued following the *RST command.
:REC:FIL "scope_0"

448

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:RECall Commands 23

:RECall:FILename

(see page 818) Command Syntax :RECall:FILename <base_name>
<base_name> ::= quoted ASCII string
The :RECall:FILename command specifies the source for any RECall operations.

NOTE

This command specifies a file's base name only, without path information or an extension.

Query Syntax Return Format

:RECall:FILename?
The :RECall:FILename? query returns the current RECall filename.
<base_name><NL>

See Also

<base_name> ::= quoted ASCII string
· "Introduction to :RECall Commands" on page 447 · ":RECall:SETup[:STARt]" on page 452 · ":SAVE:FILename" on page 458

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

449

23 :RECall Commands

:RECall:MASK[:STARt]

(see page 818) Command Syntax :RECall:MASK[:STARt] [<file_spec>]
<file_spec> ::= {<internal_loc> | <file_name>} <internal_loc> ::= 0-3; an integer in NR1 format <file_name> ::= quoted ASCII string
The :RECall:MASK[:STARt] command recalls a mask.

NOTE

If a file extension is provided as part of a specified <file_name>, it must be ".msk".

See Also

· "Introduction to :RECall Commands" on page 447 · ":RECall:FILename" on page 449 · ":SAVE:MASK[:STARt]" on page 465 · ":MTESt:DATA" on page 428

450

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:RECall Commands 23

:RECall:PWD

(see page 818)

Command Syntax :RECall:PWD <path_name>

<path_name> ::= quoted ASCII string
The :RECall:PWD command sets the present working directory for recall operations.

Query Syntax Return Format

:RECall:PWD?
The :RECall:PWD? query returns the currently set working directory for recall operations.
<path_name><NL>

See Also

<path_name> ::= quoted ASCII string
· "Introduction to :RECall Commands" on page 447 · ":SAVE:PWD" on page 467

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

451

23 :RECall Commands

:RECall:SETup[:STARt]

(see page 818) Command Syntax :RECall:SETup[:STARt] [<file_spec>]
<file_spec> ::= {<internal_loc> | <file_name>} <internal_loc> ::= 0-9; an integer in NR1 format <file_name> ::= quoted ASCII string
The :RECall:SETup[:STARt] command recalls an oscilloscope setup.

NOTE

If a file extension is provided as part of a specified <file_name>, it must be ".scp".

See Also

· "Introduction to :RECall Commands" on page 447 · ":RECall:FILename" on page 449 · ":SAVE:SETup[:STARt]" on page 468

452

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:RECall Commands 23

:RECall:WMEMory<r>[:STARt]

(see page 818) Command Syntax :RECall:WMEMory<r>[:STARt] [<file_name>]
<r> ::= 1-2 in NR1 format <file_name> ::= quoted ASCII string
The :RECall:WMEMory<r>[:STARt] command recalls a reference waveform.

NOTE

If a file extension is provided as part of a specified <file_name>, it must be ".h5".

See Also

· "Introduction to :RECall Commands" on page 447 · ":RECall:FILename" on page 449 · ":SAVE:WMEMory[:STARt]" on page 475

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

453

23 :RECall Commands

454

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
24 :SAVE Commands

Save oscilloscope setups, screen images, and data. See "Introduction to :SAVE Commands" on page 457.

Table 70 :SAVE Commands Summary

Command

Query

Options and Query Returns

:SAVE:FILename
<base_name> (see page 458)

:SAVE:FILename? (see <base_name> ::= quoted ASCII

page 458)

string

:SAVE:IMAGe[:STARt] n/a
[<file_name>] (see page 459)

<file_name> ::= quoted ASCII string

:SAVE:IMAGe:FACTors
{{0 | OFF} | {1 | ON}} (see page 460)

:SAVE:IMAGe:FACTors? {0 | 1} (see page 460)

:SAVE:IMAGe:FORMat
<format> (see page 461)

:SAVE:IMAGe:FORMat? (see page 461)

<format> ::= {{BMP | BMP24bit} | BMP8bit | PNG | NONE}

:SAVE:IMAGe:INKSaver
{{0 | OFF} | {1 | ON}} (see page 462)

:SAVE:IMAGe:INKSaver? {0 | 1} (see page 462)

:SAVE:IMAGe:PALette
<palette> (see page 463)

:SAVE:IMAGe:PALette? <palette> ::= {COLor | GRAYscale} (see page 463)

:SAVE:LISTer[:STARt] n/a
[<file_name>] (see page 464)

<file_name> ::= quoted ASCII string

:SAVE:MASK[:STARt]

n/a

[<file_spec>] (see page 465)

<file_spec> ::= {<internal_loc> | <file_name>}
<internal_loc> ::= 0-3; an integer in NR1 format
<file_name> ::= quoted ASCII string

455

24 :SAVE Commands

Table 70 :SAVE Commands Summary (continued)

Command

Query

Options and Query Returns

:SAVE:MULTi[:STARt] n/a
[<file_name>] (see page 466)

<file_name> ::= quoted ASCII string

:SAVE:PWD <path_name> :SAVE:PWD? (see

(see page 467)

page 467)

<path_name> ::= quoted ASCII string

:SAVE:SETup[:STARt] n/a
[<file_spec>] (see page 468)

<file_spec> ::= {<internal_loc> | <file_name>}
<internal_loc> ::= 0-9; an integer in NR1 format
<file_name> ::= quoted ASCII string

:SAVE:WAVeform[:STARt n/a
] [<file_name>] (see page 469)

<file_name> ::= quoted ASCII string

:SAVE:WAVeform:FORMat :SAVE:WAVeform:FORMat <format> ::= {ASCiixy | CSV |

<format> (see

? (see page 470)

BINary | NONE}

page 470)

:SAVE:WAVeform:LENGth :SAVE:WAVeform:LENGth <length> ::= 100 to max. length;

<length> (see

? (see page 471)

an integer in NR1 format

page 471)

:SAVE:WAVeform:LENGth :SAVE:WAVeform:LENGth {0 | 1} :MAX {{0 | OFF} | {1 :MAX? (see page 472) | ON}} (see page 472)

:SAVE:WAVeform:SEGMen :SAVE:WAVeform:SEGMen <option> ::= {ALL | CURRent}

ted <option> (see

ted? (see page 473)

page 473)

:SAVE:WMEMory:SOURce
<source> (see page 474)

:SAVE:WMEMory:SOURce? (see page 474)

<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1-2 in NR1 format
NOTE: Only ADD or SUBtract math operations can be saved as reference waveforms.
<return_value> ::= <source>

:SAVE:WMEMory[:STARt] n/a
[<file_name>] (see page 475)

<file_name> ::= quoted ASCII string
If extension included in file name, it must be ".h5".

456

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SAVE Commands 24

Introduction to :SAVE Commands

The :SAVE subsystem provides commands to save oscilloscope setups, screen images, and data. :SAV is an acceptable short form for :SAVE.

Reporting the Setup Use :SAVE? to query setup information for the SAVE subsystem.

Return Format The following is a sample response from the :SAVE? query. In this case, the query was issued following the *RST command.

:SAVE:FIL "";:SAVE:IMAG:AREA GRAT;FACT 0;FORM TIFF;INKS 0;PAL MON;:SAVE:PWD "C:/setups/";:SAVE:WAV:FORM NONE;LENG 1000;SEGM CURR

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

457

24 :SAVE Commands

:SAVE:FILename

(see page 818) Command Syntax :SAVE:FILename <base_name>
<base_name> ::= quoted ASCII string
The :SAVE:FILename command specifies the source for any SAVE operations.

NOTE

This command specifies a file's base name only, without path information or an extension.

Query Syntax Return Format

:SAVE:FILename?
The :SAVE:FILename? query returns the current SAVE filename.
<base_name><NL>

See Also

<base_name> ::= quoted ASCII string
· "Introduction to :SAVE Commands" on page 457 · ":SAVE:IMAGe[:STARt]" on page 459 · ":SAVE:SETup[:STARt]" on page 468 · ":SAVE:WAVeform[:STARt]" on page 469 · ":SAVE:PWD" on page 467 · ":RECall:FILename" on page 449

458

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SAVE Commands 24

:SAVE:IMAGe[:STARt]

(see page 818) Command Syntax :SAVE:IMAGe[:STARt] [<file_name>]
<file_name> ::= quoted ASCII string
The :SAVE:IMAGe[:STARt] command saves an image.

NOTE

Be sure to set the :SAVE:IMAGe:FORMat before saving an image. If the format is NONE, the save image command will not succeed.

NOTE

If a file extension is provided as part of a specified <file_name>, and it does not match the extension expected by the format specified in :SAVE:IMAGe:FORMat, the format will be changed if the extension is a valid image file extension.

NOTE

If the extension ".bmp" is used and the current :SAVE:IMAGe:FORMat is not BMP or BMP8, the format will be changed to BMP.

See Also

· "Introduction to :SAVE Commands" on page 457 · ":SAVE:IMAGe:FACTors" on page 460 · ":SAVE:IMAGe:FORMat" on page 461 · ":SAVE:IMAGe:INKSaver" on page 462 · ":SAVE:IMAGe:PALette" on page 463 · ":SAVE:FILename" on page 458

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

459

24 :SAVE Commands

:SAVE:IMAGe:FACTors

(see page 818) Command Syntax :SAVE:IMAGe:FACTors <factors>
<factors> ::= {{OFF | 0} | {ON | 1}}
The :SAVE:IMAGe:FACTors command controls whether the oscilloscope factors are output along with the image.

NOTE

Factors are written to a separate file with the same path and base name but with the ".txt" extension.

Query Syntax Return Format

:SAVE:IMAGe:FACTors?
The :SAVE:IMAGe:FACTors? query returns a flag indicating whether oscilloscope factors are output along with the image.
<factors><NL>

See Also

<factors> ::= {0 | 1}
· "Introduction to :SAVE Commands" on page 457 · ":SAVE:IMAGe[:STARt]" on page 459 · ":SAVE:IMAGe:FORMat" on page 461 · ":SAVE:IMAGe:INKSaver" on page 462 · ":SAVE:IMAGe:PALette" on page 463

460

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SAVE Commands 24

:SAVE:IMAGe:FORMat

(see page 818)

Command Syntax :SAVE:IMAGe:FORMat <format>

<format> ::= {{BMP | BMP24bit} | BMP8bit | PNG}
The :SAVE:IMAGe:FORMat command sets the image format type.

Query Syntax Return Format

:SAVE:IMAGe:FORMat?
The :SAVE:IMAGe:FORMat? query returns the selected image format type.
<format><NL>

<format> ::= {BMP | BMP8 | PNG | NONE}
When NONE is returned, it indicates that a waveform data file format is currently selected.

See Also

· "Introduction to :SAVE Commands" on page 457 · ":SAVE:IMAGe[:STARt]" on page 459 · ":SAVE:IMAGe:FACTors" on page 460 · ":SAVE:IMAGe:INKSaver" on page 462 · ":SAVE:IMAGe:PALette" on page 463 · ":SAVE:WAVeform:FORMat" on page 470

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

461

24 :SAVE Commands

:SAVE:IMAGe:INKSaver

(see page 818)

Command Syntax :SAVE:IMAGe:INKSaver <value>

<value> ::= {{OFF | 0} | {ON | 1}}
The :SAVE:IMAGe:INKSaver command controls whether the graticule colors are inverted or not.

Query Syntax Return Format

:SAVE:IMAGe:INKSaver?
The :SAVE:IMAGe:INKSaver? query returns a flag indicating whether graticule colors are inverted or not.
<value><NL>

See Also

<value> ::= {0 | 1}
· "Introduction to :SAVE Commands" on page 457 · ":SAVE:IMAGe[:STARt]" on page 459 · ":SAVE:IMAGe:FACTors" on page 460 · ":SAVE:IMAGe:FORMat" on page 461 · ":SAVE:IMAGe:PALette" on page 463

462

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SAVE Commands 24

:SAVE:IMAGe:PALette

(see page 818)

Command Syntax :SAVE:IMAGe:PALette <palette>

<palette> ::= {COLor | GRAYscale}
The :SAVE:IMAGe:PALette command sets the image palette color.

Query Syntax Return Format

:SAVE:IMAGe:PALette?
The :SAVE:IMAGe:PALette? query returns the selected image palette color.
<palette><NL>

See Also

<palette> ::= {COL | GRAY}
· "Introduction to :SAVE Commands" on page 457 · ":SAVE:IMAGe[:STARt]" on page 459 · ":SAVE:IMAGe:FACTors" on page 460 · ":SAVE:IMAGe:FORMat" on page 461 · ":SAVE:IMAGe:INKSaver" on page 462

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

463

24 :SAVE Commands

:SAVE:LISTer[:STARt]

(see page 818) Command Syntax :SAVE:LISTer[:STARt] [<file_name>]
<file_name> ::= quoted ASCII string
The :SAVE:LISTer[:STARt] command saves the Lister display data to a file.

NOTE

If a file extension is provided as part of a specified <file_name>, it must be ".csv".

See Also

· "Introduction to :SAVE Commands" on page 457 · ":SAVE:FILename" on page 458 · Chapter 19, ":LISTer Commands," starting on page 335

464

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SAVE Commands 24

:SAVE:MASK[:STARt]

(see page 818) Command Syntax :SAVE:MASK[:STARt] [<file_spec>]
<file_spec> ::= {<internal_loc> | <file_name>} <internal_loc> ::= 0-3; an integer in NR1 format <file_name> ::= quoted ASCII string
The :SAVE:MASK[:STARt] command saves a mask.

NOTE

If a file extension is provided as part of a specified <file_name>, it must be ".msk".

See Also

· "Introduction to :SAVE Commands" on page 457 · ":SAVE:FILename" on page 458 · ":RECall:MASK[:STARt]" on page 450 · ":MTESt:DATA" on page 428

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

465

24 :SAVE Commands

:SAVE:MULTi[:STARt]

(see page 818) Command Syntax :SAVE:MULTi[:STARt] [<file_name>]
<file_name> ::= quoted ASCII string
The :SAVE:MULTi[:STARt] command saves multi-channel waveform data to a file. This file can be opened by the N8900A InfiniiView oscilloscope analysis software.

NOTE

If a file extension is provided as part of a specified <file_name>, it must be ".h5".

See Also

· "Introduction to :SAVE Commands" on page 457 · ":SAVE:FILename" on page 458 · ":SAVE:PWD" on page 467

466

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SAVE Commands 24

:SAVE:PWD

(see page 818)

Command Syntax :SAVE:PWD <path_name>

<path_name> ::= quoted ASCII string
The :SAVE:PWD command sets the present working directory for save operations.

Query Syntax Return Format

:SAVE:PWD?
The :SAVE:PWD? query returns the currently set working directory for save operations.
<path_name><NL>

See Also

<path_name> ::= quoted ASCII string
· "Introduction to :SAVE Commands" on page 457 · ":SAVE:FILename" on page 458 · ":RECall:PWD" on page 451

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

467

24 :SAVE Commands

:SAVE:SETup[:STARt]

(see page 818) Command Syntax :SAVE:SETup[:STARt] [<file_spec>]
<file_spec> ::= {<internal_loc> | <file_name>} <internal_loc> ::= 0-9; an integer in NR1 format <file_name> ::= quoted ASCII string
The :SAVE:SETup[:STARt] command saves an oscilloscope setup.

NOTE

If a file extension is provided as part of a specified <file_name>, it must be ".scp".

See Also

· "Introduction to :SAVE Commands" on page 457 · ":SAVE:FILename" on page 458 · ":RECall:SETup[:STARt]" on page 452

468

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SAVE Commands 24

:SAVE:WAVeform[:STARt]

(see page 818) Command Syntax :SAVE:WAVeform[:STARt] [<file_name>]
<file_name> ::= quoted ASCII string
The :SAVE:WAVeform[:STARt] command saves oscilloscope waveform data to a file.

NOTE

Be sure to set the :SAVE:WAVeform:FORMat before saving waveform data. If the format is NONE, the save waveform command will not succeed.

NOTE

If a file extension is provided as part of a specified <file_name>, and it does not match the extension expected by the format specified in :SAVE:WAVeform:FORMat, the format will be changed if the extension is a valid waveform file extension.

See Also

· "Introduction to :SAVE Commands" on page 457 · ":SAVE:WAVeform:FORMat" on page 470 · ":SAVE:WAVeform:LENGth" on page 471 · ":SAVE:FILename" on page 458 · ":RECall:SETup[:STARt]" on page 452

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

469

24 :SAVE Commands

:SAVE:WAVeform:FORMat

(see page 818)

Command Syntax :SAVE:WAVeform:FORMat <format>

Query Syntax Return Format

<format> ::= {ASCiixy | CSV | BINary}
The :SAVE:WAVeform:FORMat command sets the waveform data format type: · ASCiixy -- creates comma-separated value files for each analog channel that is
displayed (turned on). The proper file extension for this format is ".csv". · CSV -- creates one comma-separated value file that contains information for all
analog channels that are displayed (turned on). The proper file extension for this format is ".csv". · BINary -- creates an oscilloscope binary data format file. See the User's Guide for a description of this format. The proper file extension for this format is ".bin".
:SAVE:WAVeform:FORMat?
The :SAVE:WAVeform:FORMat? query returns the selected waveform data format type.
<format><NL>

See Also

<format> ::= {ASC | CSV | BIN | NONE}
When NONE is returned, it indicates that an image file format is currently selected.
· "Introduction to :SAVE Commands" on page 457 · ":SAVE:WAVeform[:STARt]" on page 469 · ":SAVE:WAVeform:LENGth" on page 471 · ":SAVE:IMAGe:FORMat" on page 461

470

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SAVE Commands 24

:SAVE:WAVeform:LENGth

(see page 818)

Command Syntax :SAVE:WAVeform:LENGth <length>

Query Syntax Return Format

<length> ::= 100 to max. length; an integer in NR1 format
When the :SAVE:WAVeform:LENGth:MAX setting is OFF, the :SAVE:WAVeform:LENGth command sets the waveform data length (that is, the number of points saved). When the :SAVE:WAVeform:LENGth:MAX setting is ON, the :SAVE:WAVeform:LENGth setting has no effect.
:SAVE:WAVeform:LENGth?
The :SAVE:WAVeform:LENGth? query returns the current waveform data length setting.
<length><NL>

See Also

<length> ::= 100 to max. length; an integer in NR1 format
· "Introduction to :SAVE Commands" on page 457 · ":SAVE:WAVeform:LENGth:MAX" on page 472 · ":SAVE:WAVeform[:STARt]" on page 469 · ":WAVeform:POINts" on page 665 · ":SAVE:WAVeform:FORMat" on page 470

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

471

24 :SAVE Commands

:SAVE:WAVeform:LENGth:MAX

(see page 818)

Command Syntax :SAVE:WAVeform:LENGth:MAX <setting>

<setting> ::= {{OFF | 0} | {ON | 1}}
The :SAVE:WAVeform:LENGth:MAX command specifies whether maximum number of waveform data points is saved.

Query Syntax Return Format

When OFF, the :SAVE:WAVeform:LENGth command specifies the number of waveform data points saved.
:SAVE:WAVeform:LENGth:MAX?
The :SAVE:WAVeform:LENGth:MAX? query returns the current setting.
<setting><NL>

See Also

<setting> ::= {0 | 1}
· "Introduction to :SAVE Commands" on page 457 · ":SAVE:WAVeform[:STARt]" on page 469 · ":SAVE:WAVeform:LENGth" on page 471

472

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SAVE Commands 24

:SAVE:WAVeform:SEGMented

(see page 818)

Command Syntax :SAVE:WAVeform:SEGMented <option>

Query Syntax Return Format

<option> ::= {ALL | CURRent}
When segmented memory is used for acquisitions, the :SAVE:WAVeform:SEGMented command specifies which segments are included when the waveform is saved: · ALL -- all acquired segments are saved. · CURRent -- only the currently selected segment is saved.
:SAVE:WAVeform:SEGMented?
The :SAVE:WAVeform:SEGMented? query returns the current segmented waveform save option setting.
<option><NL>

See Also

<option> ::= {ALL | CURR}
· "Introduction to :SAVE Commands" on page 457 · ":SAVE:WAVeform[:STARt]" on page 469 · ":SAVE:WAVeform:FORMat" on page 470 · ":SAVE:WAVeform:LENGth" on page 471

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

473

24 :SAVE Commands

:SAVE:WMEMory:SOURce

(see page 818) Command Syntax :SAVE:WMEMory:SOURce <source>
<source> ::= {CHANnel<n> | FUNCtion | MATH | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= {1 | 2}
The :SAVE:WMEMory:SOURce command selects the source to be saved as a reference waveform file.

NOTE

Only ADD or SUBtract math operations can be saved as reference waveforms.

NOTE

MATH is an alias for FUNCtion. The query will return FUNC if the source is FUNCtion or MATH.

Query Syntax Return Format

:SAVE:WMEMory:SOURce?
The :SAVE:WMEMory:SOURce? query returns the source to be saved as a reference waveform file.
<source><NL>

See Also

<source> ::= {CHAN<n> | FUNC | WMEM<r> | NONE}
· "Introduction to :SAVE Commands" on page 457 · ":SAVE:WMEMory[:STARt]" on page 475 · ":RECall:WMEMory<r>[:STARt]" on page 453

474

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SAVE Commands 24

:SAVE:WMEMory[:STARt]

(see page 818) Command Syntax :SAVE:WMEMory[:STARt] [<file_name>]
<file_name> ::= quoted ASCII string
The :SAVE:WMEMory[:STARt] command saves oscilloscope waveform data to a reference waveform file.

NOTE

If a file extension is provided as part of a specified <file_name>, it must be ".h5".

See Also

· "Introduction to :SAVE Commands" on page 457 · ":SAVE:WMEMory:SOURce" on page 474 · ":RECall:WMEMory<r>[:STARt]" on page 453

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

475

24 :SAVE Commands

476

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
25 :SBUS<n> Commands

Introduction to :SBUS<n> Commands
NOTE

Control the modes and parameters for each serial bus decode/trigger type. See: · "Introduction to :SBUS<n> Commands" on page 477 · "General :SBUS<n> Commands" on page 479 · ":SBUS<n>:CAN Commands" on page 482 · ":SBUS<n>:IIC Commands" on page 499 · ":SBUS<n>:LIN Commands" on page 509 · ":SBUS<n>:SPI Commands" on page 523 · ":SBUS<n>:UART Commands" on page 542 The :SBUS subsystem commands control the serial decode bus viewing, mode, and other options.
These commands are only valid on oscilloscope models when a serial decode option has been licensed. The CAN, LIN, and SPI serial decode and triggering options are available on the DSOX1200-Series oscilloscope models only.

The following serial bus decode/trigger types are available (see ":TRIGger:MODE" on page 614). · CAN (Controller Area Network) triggering-- will trigger on CAN version 2.0A and
2.0B signals. Setup consists of connecting the oscilloscope to a CAN signal. Baud rate, signal source, and signal polarity, and type of data to trigger on can be specified. You can trigger on CAN data and identifier patterns and you can set the bit sample point. · IIC (Inter-IC bus) triggering-- consists of connecting the oscilloscope to the serial data (SDA) line and the serial clock (SCL) line, then triggering on a stop/start condition, a restart, a missing acknowledge, or on a read/write frame with a specific device address and data value. · LIN (Local Interconnect Network) triggering-- will trigger on LIN sync break at the beginning of a message frame.You can trigger on Sync Break, Frame IDs, or Frame IDs and Data.

477

25 :SBUS<n> Commands
· SPI (Serial Peripheral Interface) triggering-- consists of connecting the oscilloscope to a clock, data (MOSI or MISO), and framing signal. You can then trigger on a data pattern during a specific framing period. The serial data string can be specified to be from 4 to 64 bits long.
· UART/RS-232 triggering (with Option 232) -- lets you trigger on RS-232 serial data.
Reporting the Setup Use :SBUS<n>? to query setup information for the :SBUS<n> subsystem. Return Format The following is a sample response from the :SBUS1? query. In this case, the query was issued following a *RST command.
:SBUS1:DISP 0;MODE IIC;:SBUS1:IIC:ASIZ BIT7;:SBUS1:IIC:TRIG:TYPE STAR;QUAL EQU;:SBUS1:IIC:SOUR:CLOC CHAN1;DATA CHAN2;:SBUS1:IIC:TRIG:PATT:ADDR -1;DATA -1;DATA2 -1

478

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

General :SBUS<n> Commands

Table 71 General :SBUS<n> Commands Summary

Command

Query

:SBUS<n>:DISPlay {{0
| OFF} | {1 | ON}} (see page 480)

:SBUS<n>:DISPlay? (see page 480)

:SBUS<n>:MODE <mode> :SBUS<n>:MODE? (see

(see page 481)

page 481)

Options and Query Returns {0 | 1}
<mode> ::= {CAN | IIC | LIN | SPI | UART}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

479

25 :SBUS<n> Commands

:SBUS<n>:DISPlay

(see page 818) Command Syntax :SBUS<n>:DISPlay <display>
<display> ::= {{1 | ON} | {0 | OFF}}
The :SBUS<n>:DISPlay command turns displaying of the serial decode bus on or off.

NOTE

This command is only valid when a serial decode option has been licensed.

Query Syntax Return Format

:SBUS<n>:DISPlay?
The :SBUS<n>:DISPlay? query returns the current display setting of the serial decode bus.
<display><NL>

<display> ::= {0 | 1}
Errors · "-241, Hardware missing" on page 779

See Also

· "Introduction to :SBUS<n> Commands" on page 477 · ":CHANnel<n>:DISPlay" on page 215 · ":VIEW" on page 174 · ":BLANk" on page 150 · ":STATus" on page 171

480

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:MODE

(see page 818) Command Syntax :SBUS<n>:MODE <mode>
<mode> ::= {CAN | IIC | LIN | SPI | UART}
The :SBUS<n>:MODE command determines the decode mode for the serial bus.

NOTE

This command is only valid when a serial decode option has been licensed. The CAN, LIN, and SPI serial decode and triggering options are available on the DSOX1200-Series oscilloscope models.

Query Syntax Return Format

:SBUS<n>:MODE?
The :SBUS<n>:MODE? query returns the current serial bus decode mode setting.
<mode><NL>

<mode> ::= {CAN | IIC | LIN | SPI | UART | NONE}
Errors · "-241, Hardware missing" on page 779

See Also

· "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:CAN Commands" on page 482 · ":SBUS<n>:IIC Commands" on page 499 · ":SBUS<n>:LIN Commands" on page 509 · ":SBUS<n>:SPI Commands" on page 523 · ":SBUS<n>:UART Commands" on page 542

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

481

25 :SBUS<n> Commands

:SBUS<n>:CAN Commands

NOTE

These commands are valid on DSOX1200-Series oscilloscopes when the automotive CAN and LIN serial decode license (AUTO) is enabled.

Table 72 :SBUS<n>:CAN Commands Summary

Command

Query

Options and Query Returns

n/a

:SBUS<n>:CAN:COUNt:ER <frame_count> ::= integer in NR1

Ror? (see page 484)

format

n/a

:SBUS<n>:CAN:COUNt:OV <frame_count> ::= integer in NR1

ERload? (see page 485) format

:SBUS<n>:CAN:COUNt:RE n/a

n/a

Set (see page 486)

n/a

:SBUS<n>:CAN:COUNt:TO <frame_count> ::= integer in NR1

Tal? (see page 487)

format

n/a

:SBUS<n>:CAN:COUNt:UT <percent> ::= floating-point in

ILization? (see page 488)

NR3 format

:SBUS<n>:CAN:SAMPlepo :SBUS<n>:CAN:SAMPlepo <value> ::= {60 | 62.5 | 68 | 70

int <value> (see

int? (see page 489)

| 75 | 80 | 87.5} in NR3 format

page 489)

:SBUS<n>:CAN:SIGNal:B :SBUS<n>:CAN:SIGNal:B <baudrate> ::= integer from 10000

AUDrate <baudrate> (see page 490)

AUDrate? (see page 490)

to 4000000 in 100 b/s increments, or 5000000

:SBUS<n>:CAN:SIGNal:D :SBUS<n>:CAN:SIGNal:D <value> ::= {CANH | CANL | RX |

EFinition <value> (see page 491)

EFinition? (see page 491)

TX | DIFFerential | DIFL | DIFH}

:SBUS<n>:CAN:SOURce
<source> (see page 492)

:SBUS<n>:CAN:SOURce? (see page 492)

<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:CAN:TRIGger
<condition> (see page 493)

:SBUS<n>:CAN:TRIGger? (see page 494)

<condition> ::= {SOF | DATA | ERRor | IDData | IDEither | IDRemote | ALLerrors | OVERload | ACKerror}

482

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

Table 72 :SBUS<n>:CAN Commands Summary (continued)

Command

Query

Options and Query Returns

:SBUS<n>:CAN:TRIGger:
PATTern:DATA <string> (see page 495)

:SBUS<n>:CAN:TRIGger:
PATTern:DATA? (see page 495)

<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

:SBUS<n>:CAN:TRIGger:
PATTern:DATA:LENGth
<length> (see page 496)

:SBUS<n>:CAN:TRIGger:
PATTern:DATA:LENGth? (see page 496)

<length> ::= integer from 1 to 8 in NR1 format

:SBUS<n>:CAN:TRIGger:
PATTern:ID <string> (see page 497)

:SBUS<n>:CAN:TRIGger:
PATTern:ID? (see page 497)

<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

:SBUS<n>:CAN:TRIGger: :SBUS<n>:CAN:TRIGger: <value> ::= {STANdard | EXTended}

PATTern:ID:MODE

PATTern:ID:MODE? (see

<value> (see page 498) page 498)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

483

25 :SBUS<n> Commands

:SBUS<n>:CAN:COUNt:ERRor

(see page 818)

Query Syntax Return Format

:SBUS<n>:CAN:COUNt:ERRor?
Returns the error frame count.
<frame_count><NL>

Errors See Also

<frame_count> ::= integer in NR1 format
· "-241, Hardware missing" on page 779
· ":SBUS<n>:CAN:COUNt:RESet" on page 486 · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:CAN Commands" on page 482

484

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:CAN:COUNt:OVERload

(see page 818)

Query Syntax Return Format

:SBUS<n>:CAN:COUNt:OVERload?
Returns the overload frame count.
<frame_count><NL>

Errors See Also

<frame_count> ::= integer in NR1 format
· "-241, Hardware missing" on page 779
· ":SBUS<n>:CAN:COUNt:RESet" on page 486 · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:CAN Commands" on page 482

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

485

25 :SBUS<n> Commands

:SBUS<n>:CAN:COUNt:RESet

Command Syntax
Errors See Also

(see page 818)
:SBUS<n>:CAN:COUNt:RESet
Resets the frame counters. · "-241, Hardware missing" on page 779 · ":SBUS<n>:CAN:COUNt:ERRor" on page 484 · ":SBUS<n>:CAN:COUNt:OVERload" on page 485 · ":SBUS<n>:CAN:COUNt:TOTal" on page 487 · ":SBUS<n>:CAN:COUNt:UTILization" on page 488 · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:CAN Commands" on page 482

486

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:CAN:COUNt:TOTal

(see page 818)

Query Syntax Return Format

:SBUS<n>:CAN:COUNt:TOTal?
Returns the total frame count.
<frame_count><NL>

Errors See Also

<frame_count> ::= integer in NR1 format
· "-241, Hardware missing" on page 779
· ":SBUS<n>:CAN:COUNt:RESet" on page 486 · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:CAN Commands" on page 482

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

487

25 :SBUS<n> Commands

:SBUS<n>:CAN:COUNt:UTILization

(see page 818)

Query Syntax Return Format

:SBUS<n>:CAN:COUNt:UTILization?
Returns the percent utilization.
<percent><NL>

Errors See Also

<percent> ::= floating-point in NR3 format
· "-241, Hardware missing" on page 779
· ":SBUS<n>:CAN:COUNt:RESet" on page 486 · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:CAN Commands" on page 482

488

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:CAN:SAMPlepoint

(see page 818)

Command Syntax :SBUS<n>:CAN:SAMPlepoint <value>

<value><NL>

<value> ::= {60 | 62.5 | 68 | 70 | 75 | 80 | 87.5} in NR3 format
The :SBUS<n>:CAN:SAMPlepoint command sets the point during the bit time where the bit level is sampled to determine whether the bit is dominant or recessive. The sample point represents the percentage of time between the beginning of the bit time to the end of the bit time.

Query Syntax Return Format

:SBUS<n>:CAN:SAMPlepoint?
The :SBUS<n>:CAN:SAMPlepoint? query returns the current CAN sample point setting.
<value><NL>

See Also

<value> ::= {60 | 62.5 | 68 | 70 | 75 | 80 | 87.5} in NR3 format
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:CAN:TRIGger" on page 493

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

489

25 :SBUS<n> Commands

:SBUS<n>:CAN:SIGNal:BAUDrate

(see page 818)

Command Syntax :SBUS<n>:CAN:SIGNal:BAUDrate <baudrate>

Query Syntax

<baudrate> ::= integer from 10000 to 4000000 in 100 b/s increments, or 5000000
The :SBUS<n>:CAN:SIGNal:BAUDrate command sets the standard baud rate of the CAN signal from 10 kb/s to 4 Mb/s in 100 b/s increments. If you enter a baud rate that is not divisible by 100 b/s, the baud rate is set to the nearest baud rate divisible by 100 b/s. You can also set the baud rate of the CAN signal to 5 Mb/s. Fractional baud rates between 4 Mb/s and 5 Mb/s are not allowed. If the baud rate you select does not match the system baud rate, false triggers may occur.
:SBUS<n>:CAN:SIGNal:BAUDrate?
The :SBUS<n>:CAN:SIGNal:BAUDrate? query returns the current CAN baud rate setting.

Return Format <baudrate><NL>

See Also

<baudrate> ::= integer from 10000 to 4000000 in 100 b/s increments, or 5000000
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:CAN:TRIGger" on page 493 · ":SBUS<n>:CAN:SIGNal:DEFinition" on page 491 · ":SBUS<n>:CAN:SOURce" on page 492

490

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:CAN:SIGNal:DEFinition

(see page 818)

Command Syntax :SBUS<n>:CAN:SIGNal:DEFinition <value>

<value> ::= {CANH | CANL | RX | TX | DIFFerential | DIFL | DIFH}
The :SBUS<n>:CAN:SIGNal:DEFinition command sets the CAN signal type when :SBUS<n>:CAN:TRIGger is set to SOF (start of frame). These signals can be set to:

Dominant high signals: · CANH -- the actual CAN_H differential bus signal. · DIFH -- the CAN differential (H-L) bus signal connected to an analog source
channel using a differential probe.
Dominant low signals: · CANL -- the actual CAN_L differential bus signal. · RX -- the Receive signal from the CAN bus transceiver. · TX -- the Transmit signal to the CAN bus transceiver. · DIFL -- the CAN differential (L-H) bus signal connected to an analog source
channel using a differential probe. · DIFFerential -- the CAN differential bus signal connected to an analog source
channel using a differential probe. This is the same as DIFL.

Query Syntax Return Format

:SBUS<n>:CAN:SIGNal:DEFinition?
The :SBUS<n>:CAN:SIGNal:DEFinition? query returns the current CAN signal type.
<value><NL>

See Also

<value> ::= {CANH | CANL | RX | TX | DIFL | DIFH}
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:CAN:SIGNal:BAUDrate" on page 490 · ":SBUS<n>:CAN:SOURce" on page 492 · ":SBUS<n>:CAN:TRIGger" on page 493

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

491

25 :SBUS<n> Commands

:SBUS<n>:CAN:SOURce

(see page 818) Command Syntax :SBUS<n>:CAN:SOURce <source>
<source> ::= {CHANnel<n> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format
The :SBUS<n>:CAN:SOURce command sets the source for the CAN signal.

NOTE

EXTernal can be specified as the source on 2-channel DSOX1200-Series oscilloscopes only.

Query Syntax
Return Format See Also

:SBUS<n>:CAN:SOURce?
The :SBUS<n>:CAN:SOURce? query returns the current source for the CAN signal.
<source><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:CAN:TRIGger" on page 493 · ":SBUS<n>:CAN:SIGNal:DEFinition" on page 491

492

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:CAN:TRIGger

(see page 818)
Command Syntax :SBUS<n>:CAN:TRIGger <condition>
<condition> ::= {SOF | DATA | ERRor | IDData | IDEither | IDRemote | ALLerrors | OVERload | ACKerror}
The :SBUS<n>:CAN:TRIGger command sets the CAN trigger on condition: · SOF - will trigger on the Start of Frame (SOF) bit of a Data frame, Remote
Transfer Request (RTR) frame, or an Overload frame. · DATA - will trigger on CAN Data frames matching the specified Id, Data, and
the DLC (Data length code). · ERRor - will trigger on CAN Error frame. · IDData - will trigger on CAN frames matching the specified Id of a Data frame. · IDEither - will trigger on the specified Id, regardless if it is a Remote frame or a
Data frame. · IDRemote - will trigger on CAN frames matching the specified Id of a Remote
frame. · ALLerrors - will trigger on CAN active error frames and unknown bus
conditions. · OVERload - will trigger on CAN overload frames. · ACKerror - will trigger on a data or remote frame acknowledge bit that is
recessive.
The table below shows the programming parameter and the corresponding front-panel softkey selection:

Remote <condition> parameter
SOF DATA ERRor IDData IDEither IDRemote ALLerrors OVERload ACKerror

Front-panel Trigger on: softkey selection (softkey text - softkey popup text) SOF - Start of Frame ID & Data - Data Frame ID and Data Error - Error frame ID & ~RTR - Data Frame ID (~RTR) ID - Remote or Data Frame ID ID & RTR - Remote Frame ID (RTR) All Errors - All Errors Overload - Overload Frame Ack Error - Acknowledge Error

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

493

25 :SBUS<n> Commands

Query Syntax Return Format

CAN Id specification is set by the :SBUS<n>:CAN:TRIGger:PATTern:ID and:SBUS<n>:CAN:TRIGger:PATTern:ID:MODE commands. CAN Data specification is set by the :SBUS<n>:CAN:TRIGger:PATTern:DATA command. CAN Data Length Code is set by the :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth command.
:SBUS<n>:CAN:TRIGger?
The :SBUS<n>:CAN:TRIGger? query returns the current CAN trigger on condition.
<condition><NL>

Errors See Also

<condition> ::= {SOF | DATA | ERR | IDD | IDE | IDR | ALL | OVER | ACK}
· "-241, Hardware missing" on page 779
· "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:CAN:TRIGger:PATTern:DATA" on page 495 · ":SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth" on page 496 · ":SBUS<n>:CAN:TRIGger:PATTern:ID" on page 497 · ":SBUS<n>:CAN:TRIGger:PATTern:ID:MODE" on page 498 · ":SBUS<n>:CAN:SIGNal:DEFinition" on page 491 · ":SBUS<n>:CAN:SOURce" on page 492

494

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:CAN:TRIGger:PATTern:DATA

(see page 818) Command Syntax :SBUS<n>:CAN:TRIGger:PATTern:DATA <string>
<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
The :SBUS<n>:CAN:TRIGger:PATTern:DATA command defines the CAN data pattern resource according to the string parameter. This pattern, along with the data length (set by the :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth command), control the data pattern searched for in each CAN message. If the string parameter starts with "0x", it is a hexadecimal string made up of hexadecimal and X (don't care) characters; otherwise, it is a binary string made up of 0, 1, and X (don't care) characters.

NOTE

If more bits are sent for <string> than specified by the :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth command, the most significant bits will be truncated. If the data length is changed after the <string> is programmed, the added or deleted bits will be added to or deleted from the least significant bits.

Query Syntax
Return Format Errors
See Also

:SBUS<n>:CAN:TRIGger:PATTern:DATA?
The :SBUS<n>:CAN:TRIGger:PATTern:DATA? query returns the current settings of the specified CAN data pattern resource in the binary string format.
<string><NL> in nondecimal format
· "-241, Hardware missing" on page 779 · "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth" on page 496 · ":SBUS<n>:CAN:TRIGger:PATTern:ID" on page 497

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

495

25 :SBUS<n> Commands

:SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth

(see page 818)

Command Syntax :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth <length>

Query Syntax Return Format

<length> ::= integer from 1 to 8 in NR1 format
The :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth command sets the number of 8-bit bytes in the CAN data string. The number of bytes in the string can be anywhere from 1 bytes to 8 bytes (64 bits). The value for these bytes is set by the :SBUS<n>:CAN:TRIGger:PATTern:DATA command.
:SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth?
The :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth? query returns the current CAN data pattern length setting.
<count><NL>

Errors See Also

<count> ::= integer from 1 to 8 in NR1 format
· "-241, Hardware missing" on page 779 · "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:CAN:TRIGger:PATTern:DATA" on page 495 · ":SBUS<n>:CAN:SOURce" on page 492

496

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:CAN:TRIGger:PATTern:ID

(see page 818) Command Syntax :SBUS<n>:CAN:TRIGger:PATTern:ID <string>
<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
The :SBUS<n>:CAN:TRIGger:PATTern:ID command defines the CAN identifier pattern resource according to the string parameter. This pattern, along with the identifier mode (set by the :SBUS<n>:CAN:TRIGger:PATTern:ID:MODE command), control the identifier pattern searched for in each CAN message. If the string parameter starts with "0x", it is a hexadecimal string made up of hexadecimal and X (don't care) characters; otherwise, it is a binary string made up of 0, 1, and X (don't care) characters.

NOTE

The ID pattern resource string is always 29 bits. Only 11 of these bits are used when the :SBUS<n>:CAN:TRIGger:PATTern:ID:MODE is STANdard. A string longer than 29 bits is truncated to 29 bits when setting the ID pattern resource.

Query Syntax
Return Format Errors
See Also

:SBUS<n>:CAN:TRIGger:PATTern:ID?
The :SBUS<n>:CAN:TRIGger:PATTern:ID? query returns the current settings of the specified CAN identifier pattern resource in the 29-bit binary string format.
<string><NL> in 29-bit binary string format
· "-241, Hardware missing" on page 779 · "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:CAN:TRIGger:PATTern:ID:MODE" on page 498 · ":SBUS<n>:CAN:TRIGger:PATTern:DATA" on page 495

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

497

25 :SBUS<n> Commands

:SBUS<n>:CAN:TRIGger:PATTern:ID:MODE

(see page 818)

Command Syntax :SBUS<n>:CAN:TRIGger:PATTern:ID:MODE <value>

Query Syntax Return Format

<value> ::= {STANdard | EXTended}
The :SBUS<n>:CAN:TRIGger:PATTern:ID:MODE command sets the CAN identifier mode. STANdard selects the standard 11-bit identifier. EXTended selects the extended 29-bit identifier. The CAN identifier is set by the :SBUS<n>:CAN:TRIGger:PATTern:ID command.
:SBUS<n>:CAN:TRIGger:PATTern:ID:MODE?
The :SBUS<n>:CAN:TRIGger:PATTern:ID:MODE? query returns the current setting of the CAN identifier mode.
<value><NL>

Errors See Also

<value> ::= {STAN | EXT}
· "-241, Hardware missing" on page 779
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:CAN:TRIGger:PATTern:DATA" on page 495 · ":SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth" on page 496 · ":SBUS<n>:CAN:TRIGger:PATTern:ID" on page 497

498

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:IIC Commands

NOTE

These commands are valid when the low-speed IIC and SPI serial decode license (EMBD) is enabled.

Table 73 :SBUS<n>:IIC Commands Summary

Command

Query

Options and Query Returns

:SBUS<n>:IIC:ASIZe

:SBUS<n>:IIC:ASIZe?

<size> (see page 500) (see page 500)

<size> ::= {BIT7 | BIT8}

:SBUS<n>:IIC[:SOURce]
:CLOCk <source> (see page 501)

:SBUS<n>:IIC[:SOURce] :CLOCk? (see page 501)

<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:IIC[:SOURce]
:DATA <source> (see page 502)

:SBUS<n>:IIC[:SOURce] :DATA? (see page 502)

<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:IIC:TRIGger: :SBUS<n>:IIC:TRIGger: <value> ::= integer or <string>

PATTern:ADDRess <value> (see page 503)

PATTern:ADDRess? (see page 503)

<string> ::= "0xnn" n ::= {0,..,9 | A,..,F}

:SBUS<n>:IIC:TRIGger: :SBUS<n>:IIC:TRIGger: <value> ::= integer or <string>

PATTern:DATA <value> PATTern:DATA? (see

(see page 504)

page 504)

<string> ::= "0xnn" n ::= {0,..,9 | A,..,F}

:SBUS<n>:IIC:TRIGger: :SBUS<n>:IIC:TRIGger: <value> ::= integer or <string>

PATTern:DATa2 <value> PATTern:DATa2? (see

(see page 505)

page 505)

<string> ::= "0xnn" n ::= {0,..,9 | A,..,F}

:SBUS<n>:IIC:TRIGger: :SBUS<n>:IIC:TRIGger: <value> ::= {EQUal | NOTequal |

QUALifier <value> (see page 506)

QUALifier? (see page 506)

LESSthan | GREaterthan}

:SBUS<n>:IIC:TRIGger[
:TYPE] <type> (see page 507)

:SBUS<n>:IIC:TRIGger[ :TYPE]? (see page 507)

<type> ::= {STARt | STOP | READ7 | READEprom | WRITe7 | WRITe10 | NACKnowledge | ANACk | R7Data2 | W7Data2 | RESTart}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

499

25 :SBUS<n> Commands

:SBUS<n>:IIC:ASIZe

(see page 818)

Command Syntax :SBUS<n>:IIC:ASIZe <size>

<size> ::= {BIT7 | BIT8}
The :SBUS<n>:IIC:ASIZe command determines whether the Read/Write bit is included as the LSB in the display of the IIC address field of the decode bus.

Query Syntax Return Format

:SBUS<n>:IIC:ASIZe?
The :SBUS<n>:IIC:ASIZe? query returns the current IIC address width setting.
<mode><NL>

<mode> ::= {BIT7 | BIT8}
Errors · "-241, Hardware missing" on page 779

See Also · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:IIC Commands" on page 499

500

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:IIC[:SOURce]:CLOCk

(see page 818) Command Syntax :SBUS<n>:IIC[:SOURce]:CLOCk <source>
<source> ::= {CHANnel<n> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format
The :SBUS<n>:IIC[:SOURce]:CLOCk command sets the source for the IIC serial clock (SCL).

NOTE

EXTernal can be specified as the source on 2-channel DSOX1200-Series oscilloscopes only.

Query Syntax
Return Format See Also

:SBUS<n>:IIC[:SOURce]:CLOCk?
The :SBUS<n>:IIC[:SOURce]:CLOCk? query returns the current source for the IIC serial clock.
<source><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:IIC[:SOURce]:DATA" on page 502

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

501

25 :SBUS<n> Commands

:SBUS<n>:IIC[:SOURce]:DATA

(see page 818) Command Syntax :SBUS<n>:IIC[:SOURce]:DATA <source>
<source> ::= {CHANnel<n> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format
The :SBUS<n>:IIC[:SOURce]:DATA command sets the source for IIC serial data (SDA).

NOTE

EXTernal can be specified as the source on 2-channel DSOX1200-Series oscilloscopes only.

Query Syntax
Return Format See Also

:SBUS<n>:IIC[:SOURce]:DATA?
The :SBUS<n>:IIC[:SOURce]:DATA? query returns the current source for IIC serial data.
<source><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:IIC[:SOURce]:CLOCk" on page 501

502

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:IIC:TRIGger:PATTern:ADDRess

(see page 818)

Command Syntax :SBUS<n>:IIC:TRIGger:PATTern:ADDRess <value>

<value> ::= integer or <string>

<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F}
The :SBUS<n>:IIC:TRIGger:PATTern:ADDRess command sets the address for IIC data.The address can range from 0x00 to 0x7F (7-bit) or 0x3FF (10-bit) hexadecimal. Use the don't care address (-1 or 0xFFFFFFFF) to ignore the address value.

Query Syntax Return Format

:SBUS<n>:IIC:TRIGger:PATTern:ADDRess?
The :SBUS<n>:IIC:TRIGger:PATTern:ADDRess? query returns the current address for IIC data.
<value><NL>

See Also

<value> ::= integer
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:IIC:TRIGger:PATTern:DATA" on page 504 · ":SBUS<n>:IIC:TRIGger:PATTern:DATa2" on page 505 · ":SBUS<n>:IIC:TRIGger[:TYPE]" on page 507

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

503

25 :SBUS<n> Commands

:SBUS<n>:IIC:TRIGger:PATTern:DATA

(see page 818)

Command Syntax :SBUS<n>:IIC:TRIGger:PATTern:DATA <value>

<value> ::= integer or <string>

<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F}
The :SBUS<n>:IIC:TRIGger:PATTern:DATA command sets IIC data. The data value can range from 0x00 to 0x0FF (hexadecimal). Use the don't care data pattern (-1 or 0xFFFFFFFF) to ignore the data value.

Query Syntax
Return Format See Also

:SBUS<n>:IIC:TRIGger:PATTern:DATA?
The :SBUS<n>:IIC:TRIGger:PATTern:DATA? query returns the current pattern for IIC data.
<value><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:IIC:TRIGger:PATTern:ADDRess" on page 503 · ":SBUS<n>:IIC:TRIGger:PATTern:DATa2" on page 505 · ":SBUS<n>:IIC:TRIGger[:TYPE]" on page 507

504

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:IIC:TRIGger:PATTern:DATa2

(see page 818)

Command Syntax :SBUS<n>:IIC:TRIGger:PATTern:DATa2 <value>

<value> ::= integer or <string>

<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F}
The :SBUS<n>:IIC:TRIGger:PATTern:DATa2 command sets IIC data 2. The data value can range from 0x00 to 0x0FF (hexadecimal). Use the don't care data pattern (-1 or 0xFFFFFFFF) to ignore the data value.

Query Syntax
Return Format See Also

:SBUS<n>:IIC:TRIGger:PATTern:DATa2?
The :SBUS<n>:IIC:TRIGger:PATTern:DATa2? query returns the current pattern for IIC data 2.
<value><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:IIC:TRIGger:PATTern:ADDRess" on page 503 · ":SBUS<n>:IIC:TRIGger:PATTern:DATA" on page 504 · ":SBUS<n>:IIC:TRIGger[:TYPE]" on page 507

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

505

25 :SBUS<n> Commands

:SBUS<n>:IIC:TRIGger:QUALifier

(see page 818)

Command Syntax :SBUS<n>:IIC:TRIGger:QUALifier <value>

<value> ::= {EQUal | NOTequal | LESSthan | GREaterthan}
The :SBUS<n>:IIC:TRIGger:QUALifier command sets the IIC data qualifier when TRIGger:IIC:TRIGger[:TYPE] is set to READEprom.

Query Syntax Return Format

:SBUS<n>:IIC:TRIGger:QUALifier?
The :SBUS<n>:IIC:TRIGger:QUALifier? query returns the current IIC data qualifier value.
<value><NL>

See Also

<value> ::= {EQUal | NOTequal | LESSthan | GREaterthan}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:IIC:TRIGger[:TYPE]" on page 507

506

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:IIC:TRIGger[:TYPE]

(see page 818)
Command Syntax :SBUS<n>:IIC:TRIGger[:TYPE] <value>
<value> ::= {STARt | STOP | READ7 | READEprom | WRITe7 | WRITe10 | NACKnowledge | ANACk | R7Data2 | W7Data2 | RESTart}
The :SBUS<n>:IIC:TRIGger[:TYPE] command sets the IIC trigger type: · STARt -- Start condition. · STOP -- Stop condition. · READ7 -- 7-bit address frame containing (Start:Address7:Read:Ack:Data). The
value READ is also accepted for READ7. · R7Data2 -- 7-bit address frame containing
(Start:Address7:Read:Ack:Data:Ack:Data2). · READEprom -- EEPROM data read. · WRITe7 -- 7-bit address frame containing (Start:Address7:Write:Ack:Data). The
value WRITe is also accepted for WRITe7. · W7Data2 -- 7-bit address frame containing
(Start:Address7:Write:Ack:Data:Ack:Data2). · WRITe10 -- 10-bit address frame containing (Start:Address
byte1:Write:Ack:Address byte 2:Data). · NACKnowledge -- Missing acknowledge. · ANACk -- Address with no acknowledge. · RESTart -- Another start condition occurs before a stop condition.

NOTE

The short form of READ7 (READ7), READEprom (READE), WRITe7 (WRIT7), and WRITe10 (WRIT10) do not follow the defined Long Form to Short Form Truncation Rules (see page 820).

Query Syntax Return Format

:SBUS<n>:IIC:TRIGger[:TYPE]?
The :SBUS<n>:IIC:TRIGger[:TYPE]? query returns the current IIC trigger type value.
<value><NL>

See Also

<value> ::= {STAR | STOP | READ7 | READE | WRIT7 | WRIT10 | NACK | ANAC | R7D2 | W7D2 | REST}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:IIC:TRIGger:PATTern:ADDRess" on page 503 · ":SBUS<n>:IIC:TRIGger:PATTern:DATA" on page 504

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

507

25 :SBUS<n> Commands
· ":SBUS<n>:IIC:TRIGger:PATTern:DATa2" on page 505 · ":SBUS<n>:IIC:TRIGger:QUALifier" on page 506 · "Long Form to Short Form Truncation Rules" on page 820

508

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:LIN Commands

NOTE

These commands are valid on DSOX1200-Series oscilloscopes when the automotive CAN and LIN serial decode license (AUTO) is enabled.

Table 74 :SBUS<n>:LIN Commands Summary

Command

Query

Options and Query Returns

:SBUS<n>:LIN:PARity
{{0 | OFF} | {1 | ON}} (see page 511)

:SBUS<n>:LIN:PARity? {0 | 1} (see page 511)

:SBUS<n>:LIN:SAMPlepo :SBUS<n>:LIN:SAMPlepo <value> ::= {60 | 62.5 | 68 | 70

int <value> (see

int? (see page 512)

| 75 | 80 | 87.5} in NR3 format

page 512)

:SBUS<n>:LIN:SIGNal:B :SBUS<n>:LIN:SIGNal:B <baudrate> ::= integer from 2400

AUDrate <baudrate> (see page 513)

AUDrate? (see page 513)

to 625000 in 100 b/s increments

:SBUS<n>:LIN:SOURce
<source> (see page 514)

:SBUS<n>:LIN:SOURce? (see page 514)

<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:LIN:STANdard :SBUS<n>:LIN:STANdard <std> ::= {LIN13 | LIN20}

<std> (see page 515)

? (see page 515)

:SBUS<n>:LIN:SYNCbrea :SBUS<n>:LIN:SYNCbrea <value> ::= integer = {11 | 12 |

k <value> (see

k? (see page 516)

13}

page 516)

:SBUS<n>:LIN:TRIGger
<condition> (see page 517)

:SBUS<n>:LIN:TRIGger? <condition> ::= {SYNCbreak | ID |

(see page 517)

DATA}

:SBUS<n>:LIN:TRIGger:
ID <value> (see page 518)

:SBUS<n>:LIN:TRIGger: ID? (see page 518)

<value> ::= 7-bit integer in decimal, <nondecimal>, or <string> from 0-63 or 0x00-0x3f
<nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal
<nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F} for hexadecimal

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

509

25 :SBUS<n> Commands

Table 74 :SBUS<n>:LIN Commands Summary (continued)

Command

Query

Options and Query Returns

:SBUS<n>:LIN:TRIGger:
PATTern:DATA <string> (see page 519)

:SBUS<n>:LIN:TRIGger:
PATTern:DATA? (see page 519)

<string> ::= "n" where n ::= 32-bit integer in unsigned decimal when <base> = DECimal
<string> ::= "nn...n" where n ::= {0 | 1 | X | $} when <base> = BINary
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $} when <base> = HEX

:SBUS<n>:LIN:TRIGger:
PATTern:DATA:LENGth
<length> (see page 521)

:SBUS<n>:LIN:TRIGger:
PATTern:DATA:LENGth? (see page 521)

<length> ::= integer from 1 to 8 in NR1 format

:SBUS<n>:LIN:TRIGger: :SBUS<n>:LIN:TRIGger: <base> ::= {BINary | HEX |

PATTern:FORMat <base> PATTern:FORMat? (see DECimal}

(see page 522)

page 522)

510

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:LIN:PARity

(see page 818)

Command Syntax :SBUS<n>:LIN:PARity <display>

Query Syntax Return Format

<display> ::= {{1 | ON} | {0 | OFF}}
The :SBUS<n>:LIN:PARity command determines whether the parity bits are included as the most significant bits (MSB) in the display of the Frame Id field in the LIN decode bus.
:SBUS<n>:LIN:PARity?
The :SBUS<n>:LIN:PARity? query returns the current LIN parity bits display setting of the serial decode bus.
<display><NL>

Errors See Also

<display> ::= {0 | 1}
· "-241, Hardware missing" on page 779 · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:LIN Commands" on page 509

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

511

25 :SBUS<n> Commands

:SBUS<n>:LIN:SAMPlepoint

(see page 818) Command Syntax :SBUS<n>:LIN:SAMPlepoint <value>
<value><NL> <value> ::= {60 | 62.5 | 68 | 70 | 75 | 80 | 87.5} in NR3 format
The :SBUS<n>:LIN:SAMPlepoint command sets the point during the bit time where the bit level is sampled to determine whether the bit is dominant or recessive. The sample point represents the percentage of time between the beginning of the bit time to the end of the bit time.

NOTE

The sample point values are not limited by the baud rate.

Query Syntax Return Format

:SBUS<n>:LIN:SAMPlepoint?
The :SBUS<n>:LIN:SAMPlepoint? query returns the current LIN sample point setting.
<value><NL>

See Also

<value> ::= {60 | 62.5 | 68 | 70 | 75 | 80 | 87.5} in NR3 format
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:LIN:TRIGger" on page 517

512

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:LIN:SIGNal:BAUDrate

(see page 818)

Command Syntax :SBUS<n>:LIN:SIGNal:BAUDrate <baudrate>

Query Syntax Return Format

<baudrate> ::= integer from 2400 to 625000 in 100 b/s increments
The :SBUS<n>:LIN:SIGNal:BAUDrate command sets the standard baud rate of the LIN signal from 2400 b/s to 625 kb/s in 100 b/s increments. If you enter a baud rate that is not divisible by 100 b/s, the baud rate is set to the nearest baud rate divisible by 100 b/s.
:SBUS<n>:LIN:SIGNal:BAUDrate?
The :SBUS<n>:LIN:SIGNal:BAUDrate? query returns the current LIN baud rate setting.
<baudrate><NL>

See Also

<baudrate> ::= integer from 2400 to 625000 in 100 b/s increments
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:LIN:TRIGger" on page 517 · ":SBUS<n>:LIN:SOURce" on page 514

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

513

25 :SBUS<n> Commands

:SBUS<n>:LIN:SOURce

(see page 818) Command Syntax :SBUS<n>:LIN:SOURce <source>
<source> ::= {CHANnel<n> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format
The :SBUS<n>:LIN:SOURce command sets the source for the LIN signal.

NOTE

EXTernal can be specified as the source on 2-channel DSOX1200-Series oscilloscopes only.

Query Syntax
Return Format See Also

:SBUS<n>:LIN:SOURce?
The :SBUS<n>:LIN:SOURce? query returns the current source for the LIN signal.
<source><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:LIN:TRIGger" on page 517

514

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:LIN:STANdard

(see page 818)

Command Syntax :SBUS<n>:LIN:STANdard <std>

<std> ::= {LIN13 | LIN20}
The :SBUS<n>:LIN:STANdard command sets the LIN standard in effect for triggering and decoding to be LIN1.3 or LIN2.0.

Query Syntax Return Format

:SBUS<n>:LIN:STANdard?
The :SBUS<n>:LIN:STANdard? query returns the current LIN standard setting.
<std><NL>

See Also

<std> ::= {LIN13 | LIN20}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:LIN:SOURce" on page 514

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

515

25 :SBUS<n> Commands

:SBUS<n>:LIN:SYNCbreak

(see page 818)

Command Syntax :SBUS<n>:LIN:SYNCbreak <value>

Query Syntax Return Format

<value> ::= integer = {11 | 12 | 13}
The :SBUS<n>:LIN:SYNCbreak command sets the length of the LIN sync break to be greater than or equal to 11, 12, or 13 clock lengths. The sync break is the idle period in the bus activity at the beginning of each packet that distinguishes one information packet from the previous one.
:SBUS<n>:LIN:SYNCbreak?
The :SBUS<n>:LIN:SYNCbreak? query returns the current LIN sync break setting.
<value><NL>

See Also

<value> ::= {11 | 12 | 13}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:LIN:SOURce" on page 514

516

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:LIN:TRIGger

(see page 818)

Command Syntax :SBUS<n>:LIN:TRIGger <condition>

<condition> ::= {SYNCbreak | ID | DATA}
The :SBUS<n>:LIN:TRIGger command sets the LIN trigger condition to be: · SYNCbreak -- Sync Break. · ID -- Frame ID.

Query Syntax Return Format

Use the :SBUS<n>:LIN:TRIGger:ID command to specify the frame ID. · DATA -- Frame ID and Data.
Use the :SBUS<n>:LIN:TRIGger:ID command to specify the frame ID. Use the :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth and :SBUS<n>:LIN:TRIGger:PATTern:DATA commands to specify the data string length and value.
:SBUS<n>:LIN:TRIGger?
The :SBUS<n>:LIN:TRIGger? query returns the current LIN trigger value.
<condition><NL>

Errors See Also

<condition> ::= {SYNC | ID | DATA}
· "-241, Hardware missing" on page 779
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:LIN:TRIGger:ID" on page 518 · ":SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth" on page 521 · ":SBUS<n>:LIN:TRIGger:PATTern:DATA" on page 519 · ":SBUS<n>:LIN:SOURce" on page 514

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

517

25 :SBUS<n> Commands

:SBUS<n>:LIN:TRIGger:ID

(see page 818)

Command Syntax :SBUS<n>:LIN:TRIGger:ID <value>

<value> ::= 7-bit integer in decimal, <nondecimal>, or <string> from 0-63 or 0x00-0x3f

<nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal

<nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary

<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F} for hexadecimal
The :SBUS<n>:LIN:TRIGger:ID command defines the LIN identifier searched for in each CAN message when the LIN trigger mode is set to frame ID.

Query Syntax Return Format

Setting the ID to a value of "-1" results in "0xXX" which is equivalent to all IDs.
:SBUS<n>:LIN:TRIGger:ID?
The :SBUS<n>:LIN:TRIGger:ID? query returns the current LIN identifier setting.
<value><NL>

Errors See Also

<value> ::= integer in decimal
· "-241, Hardware missing" on page 779
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:LIN:TRIGger" on page 517 · ":SBUS<n>:LIN:SOURce" on page 514

518

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:LIN:TRIGger:PATTern:DATA

(see page 818) Command Syntax :SBUS<n>:LIN:TRIGger:PATTern:DATA <string>
<string> ::= "n" where n ::= 32-bit integer in unsigned decimal when <base> = DECimal
<string> ::= "nn...n" where n ::= {0 | 1 | X | $} when <base> = BINary
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $} when <base> = HEX

NOTE

<base> is specified with the :SBUS<n>:LIN:TRIGger:PATTern:FORMat command. The default <base> is BINary.

NOTE

The :SBUS<n>:LIN:TRIGger:PATTern:DATA command specifies the LIN trigger data pattern searched for in each LIN data field. Set a <string> bit to "0" or "1" to set the corresponding bit in the data pattern to low or high, respectively. Set a <string> bit to "X" to ignore (mask off) that bit in the data pattern. Use the "$" character to indicate that the value of the corresponding bit will not be changed (the existing bit value is used). When <base> = DECimal, the "X" and "$" characters cannot be entered. When queried, the "$" character is returned when any bits in the pattern have the value of "X" and <base> = DECimal. When any bits in a given nibble have the value of "X" and <base> = HEX, the "$" character is returned for the corresponding nibble.
The length of the trigger data value is determined by the :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth command.

NOTE

If more bits are sent for <string> than the specified trigger pattern data length, the most significant bits will be truncated. If the data length size is changed after the <string> is programmed, the added or deleted bits will be added to or deleted from the least significant bits.

Query Syntax Return Format

:SBUS<n>:LIN:TRIGger:PATTern:DATA?
The :SBUS<n>:LIN:TRIGger:PATTern:DATA? query returns the currently specified LIN trigger data pattern.
<string><NL>

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

519

25 :SBUS<n> Commands

See Also

· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:LIN:TRIGger:PATTern:FORMat" on page 522 · ":SBUS<n>:LIN:TRIGger" on page 517 · ":SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth" on page 521

520

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth

(see page 818)

Command Syntax :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth <length>

Query Syntax Return Format

<length> ::= integer from 1 to 8 in NR1 format
The :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth command sets the number of 8-bit bytes in the LIN data string. The number of bytes in the string can be anywhere from 1 bytes to 8 bytes (64 bits). The value for these bytes is set by the :SBUS<n>:LIN:TRIGger:PATTern:DATA command.
:SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth?
The :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth? query returns the current LIN data pattern length setting.
<count><NL>

Errors See Also

<count> ::= integer from 1 to 8 in NR1 format
· "-241, Hardware missing" on page 779 · "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:LIN:TRIGger:PATTern:DATA" on page 519 · ":SBUS<n>:LIN:SOURce" on page 514

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

521

25 :SBUS<n> Commands

:SBUS<n>:LIN:TRIGger:PATTern:FORMat

(see page 818)

Command Syntax :SBUS<n>:LIN:TRIGger:PATTern:FORMat <base>

Query Syntax Return Format

<base> ::= {BINary | HEX | DECimal}
The :SBUS<n>:LIN:TRIGger:PATTern:FORMat command sets the entry (and query) number base used by the :SBUS<n>:LIN:TRIGger:PATTern:DATA command. The default <base> is BINary.
:SBUS<n>:LIN:TRIGger:PATTern:FORMat?
The :SBUS<n>:LIN:TRIGger:PATTern:FORMat? query returns the currently set number base for LIN pattern data.
<base><NL>

See Also

<base> ::= {BIN | HEX | DEC}
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:LIN:TRIGger:PATTern:DATA" on page 519 · ":SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth" on page 521

522

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:SPI Commands

NOTE

These commands are valid on DSOX1200-Series oscilloscopes when the low-speed IIC and SPI serial decode license (EMBD) is enabled.

Table 75 :SBUS<n>:SPI Commands Summary

Command

Query

Options and Query Returns

:SBUS<n>:SPI:BITorder :SBUS<n>:SPI:BITorder <order> ::= {LSBFirst | MSBFirst} <order> (see page 525) ? (see page 525)

:SBUS<n>:SPI:CLOCk:SL :SBUS<n>:SPI:CLOCk:SL <slope> ::= {NEGative | POSitive}

OPe <slope> (see

OPe? (see page 526)

page 526)

:SBUS<n>:SPI:CLOCk:TI :SBUS<n>:SPI:CLOCk:TI <time_value> ::= time in seconds

Meout <time_value>

Meout? (see page 527) in NR3 format

(see page 527)

:SBUS<n>:SPI:FRAMing :SBUS<n>:SPI:FRAMing? <value> ::= {CHIPselect |

<value> (see page 528) (see page 528)

{NCHipselect | NOTC} | TIMeout}

:SBUS<n>:SPI:SOURce:C
LOCk <source> (see page 529)

:SBUS<n>:SPI:SOURce:C LOCk? (see page 529)

<value> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:SPI:SOURce:D
ATA <source> (see page 530)

:SBUS<n>:SPI:SOURce:D ATA? (see page 530)

<value> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:SPI:SOURce:F
RAMe <source> (see page 531)

:SBUS<n>:SPI:SOURce:F RAMe? (see page 531)

<value> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

523

25 :SBUS<n> Commands

Table 75 :SBUS<n>:SPI Commands Summary (continued)

Command

Query

Options and Query Returns

:SBUS<n>:SPI:SOURce:M :SBUS<n>:SPI:SOURce:M <value> ::= {CHANnel<n>}

ISO <source> (see page 532)

ISO? (see page 532)

<n> ::= 1 to (# analog channels) in NR1 format

:SBUS<n>:SPI:SOURce:M :SBUS<n>:SPI:SOURce:M <value> ::= {CHANnel<n>}

OSI <source> (see page 533)

OSI? (see page 533)

<n> ::= 1 to (# analog channels) in NR1 format

:SBUS<n>:SPI:TRIGger:
PATTern:DATA <string> (see page 534)

:SBUS<n>:SPI:TRIGger:
PATTern:DATA? (see page 534)

<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

:SBUS<n>:SPI:TRIGger:
PATTern:MISO:DATA
<string> (see page 535)

:SBUS<n>:SPI:TRIGger:
PATTern:MISO:DATA? (see page 535)

<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

:SBUS<n>:SPI:TRIGger: :SBUS<n>:SPI:TRIGger: <width> ::= integer from 4 to 64

PATTern:MISO:WIDTh

PATTern:MISO:WIDTh?

<width> (see page 536) (see page 536)

in NR1 format

:SBUS<n>:SPI:TRIGger:
PATTern:MOSI:DATA
<string> (see page 537)

:SBUS<n>:SPI:TRIGger:
PATTern:MOSI:DATA? (see page 537)

<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

:SBUS<n>:SPI:TRIGger: :SBUS<n>:SPI:TRIGger: <width> ::= integer from 4 to 64

PATTern:MOSI:WIDTh

PATTern:MOSI:WIDTh?

<width> (see page 538) (see page 538)

in NR1 format

:SBUS<n>:SPI:TRIGger: :SBUS<n>:SPI:TRIGger: <width> ::= integer from 4 to 64

PATTern:WIDTh <width> PATTern:WIDTh? (see

(see page 539)

page 539)

in NR1 format

:SBUS<n>:SPI:TRIGger: :SBUS<n>:SPI:TRIGger: <value> ::= {MOSI | MISO}

TYPE <value> (see

TYPE? (see page 540)

page 540)

:SBUS<n>:SPI:WIDTh
<word_width> (see page 541)

:SBUS<n>:SPI:WIDTh? (see page 541)

<word_width> ::= integer 4-16 in NR1 format

524

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:SPI:BITorder

(see page 818)

Command Syntax :SBUS<n>:SPI:BITorder <order>

Query Syntax Return Format

<order> ::= {LSBFirst | MSBFirst}
The :SBUS<n>:SPI:BITorder command selects the bit order, most significant bit first (MSB) or least significant bit first (LSB), used when displaying data in the serial decode waveform and in the Lister.
:SBUS<n>:SPI:BITorder?
The :SBUS<n>:SPI:BITorder? query returns the current SPI decode bit order.
<order><NL>

Errors See Also

<order> ::= {LSBF | MSBF}
· "-241, Hardware missing" on page 779 · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:SPI Commands" on page 523

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

525

25 :SBUS<n> Commands

:SBUS<n>:SPI:CLOCk:SLOPe

(see page 818)

Command Syntax :SBUS<n>:SPI:CLOCk:SLOPe <slope>

<slope> ::= {NEGative | POSitive}
The :SBUS<n>:SPI:CLOCk:SLOPe command specifies the rising edge (POSitive) or falling edge (NEGative) of the SPI clock source that will clock in the data.

Query Syntax Return Format

:SBUS<n>:SPI:CLOCk:SLOPe?
The :SBUS<n>:SPI:CLOCk:SLOPe? query returns the current SPI clock source slope.
<slope><NL>

See Also

<slope> ::= {NEG | POS}
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:CLOCk:TIMeout" on page 527 · ":SBUS<n>:SPI:SOURce:CLOCk" on page 529

526

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:SPI:CLOCk:TIMeout

(see page 818)

Command Syntax :SBUS<n>:SPI:CLOCk:TIMeout <time_value>

Query Syntax Return Format

<time_value> ::= time in seconds in NR3 format
The :SBUS<n>:SPI:CLOCk:TIMeout command sets the SPI signal clock timeout resource in seconds from 100 ns to 10 s when the :SBUS<n>:SPI:FRAMing command is set to TIMeout. The timer is used to frame a signal by a clock timeout.
:SBUS<n>:SPI:CLOCk:TIMeout?
The :SBUS<n>:SPI:CLOCk:TIMeout? query returns current SPI clock timeout setting.
<time value><NL>

See Also

<time_value> ::= time in seconds in NR3 format
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:CLOCk:SLOPe" on page 526 · ":SBUS<n>:SPI:SOURce:CLOCk" on page 529 · ":SBUS<n>:SPI:FRAMing" on page 528

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

527

25 :SBUS<n> Commands

:SBUS<n>:SPI:FRAMing

(see page 818) Command Syntax :SBUS<n>:SPI:FRAMing <value>
<value> ::= {CHIPselect | {NCHipselect | NOTC} | TIMeout}
The :SBUS<n>:SPI:FRAMing command sets the SPI trigger framing value. If TIMeout is selected, the timeout value is set by the :SBUS<n>:SPI:CLOCk:TIMeout command.

NOTE

The NOTC value is deprecated. It is the same as NCHipselect.

Query Syntax Return Format

:SBUS<n>:SPI:FRAMing?
The :SBUS<n>:SPI:FRAMing? query returns the current SPI framing value.
<value><NL>

See Also

<value> ::= {CHIP | NCH | TIM}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:SPI:CLOCk:TIMeout" on page 527 · ":SBUS<n>:SPI:SOURce:FRAMe" on page 531

528

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:SPI:SOURce:CLOCk

(see page 818) Command Syntax :SBUS<n>:SPI:SOURce:CLOCk <source>
<source> ::= {CHANnel<n> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format
The :SBUS<n>:SPI:SOURce:CLOCk command sets the source for the SPI serial clock.

NOTE

EXTernal can be specified as the source on 2-channel DSOX1200-Series oscilloscopes only.

Query Syntax
Return Format See Also

:SBUS<n>:SPI:SOURce:CLOCk?
The :SBUS<n>:SPI:SOURce:CLOCk? query returns the current source for the SPI serial clock.
<source><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:CLOCk:SLOPe" on page 526 · ":SBUS<n>:SPI:CLOCk:TIMeout" on page 527 · ":SBUS<n>:SPI:SOURce:FRAMe" on page 531 · ":SBUS<n>:SPI:SOURce:MOSI" on page 533 · ":SBUS<n>:SPI:SOURce:MISO" on page 532

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

529

25 :SBUS<n> Commands

:SBUS<n>:SPI:SOURce:DATA

(see page 818) Command Syntax :SBUS<n>:SPI:SOURce:DATA <source>
<source> ::= {CHANnel<n> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format
On 2-channel DSOX1200-Series oscilloscopes (that support 3-wire SPI), the :SBUS<n>:SPI:SOURce:DATA command sets the source for the SPI serial data.

NOTE

EXTernal can be specified as the source on 2-channel DSOX1200-Series oscilloscopes only.

Query Syntax
Return Format See Also

:SBUS<n>:SPI:SOURce:DATA?
The :SBUS<n>:SPI:SOURce:DATA? query returns the current source for the SPI serial data.
<source><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:SOURce:CLOCk" on page 529 · ":SBUS<n>:SPI:SOURce:FRAMe" on page 531 · ":SBUS<n>:SPI:TRIGger:PATTern:DATA" on page 534 · ":SBUS<n>:SPI:TRIGger:PATTern:WIDTh" on page 539

530

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:SPI:SOURce:FRAMe

(see page 818) Command Syntax :SBUS<n>:SPI:SOURce:FRAMe <source>
<source> ::= {CHANnel<n> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format
The :SBUS<n>:SPI:SOURce:FRAMe command sets the frame source when :SBUS<n>:SPI:FRAMing is set to CHIPselect or NOTChipselect.

NOTE

EXTernal can be specified as the source on 2-channel DSOX1200-Series oscilloscopes only.

Query Syntax
Return Format See Also

:SBUS<n>:SPI:SOURce:FRAMe?
The :SBUS<n>:SPI:SOURce:FRAMe? query returns the current frame source for the SPI serial frame.
<source><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:SOURce:CLOCk" on page 529 · ":SBUS<n>:SPI:SOURce:MOSI" on page 533 · ":SBUS<n>:SPI:SOURce:MISO" on page 532 · ":SBUS<n>:SPI:FRAMing" on page 528

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

531

25 :SBUS<n> Commands

:SBUS<n>:SPI:SOURce:MISO

(see page 818)

Command Syntax :SBUS<n>:SPI:SOURce:MISO <source>

<source> ::= {CHANnel<n>}

<n> ::= 1 to (# analog channels) in NR1 format
On 4-channel DSOX1200-Series oscilloscopes (that support 4-wire SPI), the :SBUS<n>:SPI:SOURce:MISO command sets the source for the SPI serial MISO data.

Query Syntax
Return Format See Also

:SBUS<n>:SPI:SOURce:MISO?
The :SBUS<n>:SPI:SOURce:MISO? query returns the current source for the SPI serial MISO data.
<source><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:SOURce:MOSI" on page 533 · ":SBUS<n>:SPI:SOURce:CLOCk" on page 529 · ":SBUS<n>:SPI:SOURce:FRAMe" on page 531 · ":SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA" on page 535 · ":SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA" on page 537 · ":SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh" on page 536 · ":SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh" on page 538

532

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:SPI:SOURce:MOSI

(see page 818)

Command Syntax :SBUS<n>:SPI:SOURce:MOSI <source>

<source> ::= {CHANnel<n>}

<n> ::= 1 to (# analog channels) in NR1 format
On 4-channel DSOX1200-Series oscilloscopes (that support 4-wire SPI), the :SBUS<n>:SPI:SOURce:MOSI command sets the source for the SPI serial MOSI data.

Query Syntax
Return Format See Also

You can also use the equivalent :SBUS<n>:SPI:SOURce:DATA command to set the MOSI data source.
:SBUS<n>:SPI:SOURce:MOSI?
The :SBUS<n>:SPI:SOURce:MOSI? query returns the current source for the SPI serial MOSI data.
<source><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:SOURce:MISO" on page 532 · ":SBUS<n>:SPI:SOURce:CLOCk" on page 529 · ":SBUS<n>:SPI:SOURce:FRAMe" on page 531 · ":SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA" on page 535 · ":SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA" on page 537 · ":SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh" on page 536 · ":SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh" on page 538

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

533

25 :SBUS<n> Commands

:SBUS<n>:SPI:TRIGger:PATTern:DATA

(see page 818) Command Syntax :SBUS<n>:SPI:TRIGger:PATTern:DATA <string>
<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
On 2-channel DSOX1200-Series oscilloscopes (that support 3-wire SPI), the :SBUS<n>:SPI:TRIGger:PATTern:DATA command defines the SPI data pattern resource according to the string parameter. This pattern, along with the data width, control the data pattern searched for in the data stream. If the string parameter starts with "0x", it is a hexadecimal string made up of hexadecimal and X (don't care) characters; otherwise, it is a binary string made up of 0, 1, and X (don't care) characters.

NOTE

The :SBUS<n>:SPI:TRIGger:PATTern:WIDTh should be set before :SBUS<n>:SPI:TRIGger:PATTern:DATA.

Query Syntax
Return Format See Also

:SBUS<n>:SPI:TRIGger:PATTern:DATA?
The :SBUS<n>:SPI:TRIGger:PATTern:DATA? query returns the current settings of the specified SPI data pattern resource in the binary string format.
<string><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:TRIGger:PATTern:WIDTh" on page 539 · ":SBUS<n>:SPI:SOURce:DATA" on page 530

534

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA

(see page 818) Command Syntax :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA <string>
<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
On 4-channel DSOX1200-Series oscilloscopes (that support 4-wire SPI), the :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA command defines the SPI MISO data pattern resource according to the string parameter. This pattern, along with the data width, control the data pattern searched for in the data stream. If the string parameter starts with "0x", it is a hexadecimal string made up of hexadecimal and X (don't care) characters; otherwise, it is a binary string made up of 0, 1, and X (don't care) characters.

NOTE

The :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh should be set before :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA.

Query Syntax
Return Format See Also

:SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA?
The :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA? query returns the current settings of the specified SPI MISO data pattern resource in the binary string format.
<string><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh" on page 536 · ":SBUS<n>:SPI:SOURce:MISO" on page 532

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

535

25 :SBUS<n> Commands

:SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh

(see page 818) Command Syntax :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh <width>
<width> ::= integer from 4 to 64 in NR1 format
On 4-channel DSOX1200-Series oscilloscopes (that support 4-wire SPI), the :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh command sets the width of the SPI MISO data pattern anywhere from 4 bits to 64 bits.

NOTE

The :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh should be set before :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA.

Query Syntax Return Format

:SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh?
The :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh? query returns the current SPI MISO data pattern width setting.
<width><NL>

See Also

<width> ::= integer from 4 to 64 in NR1 format
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA" on page 535 · ":SBUS<n>:SPI:SOURce:MISO" on page 532

536

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA

(see page 818) Command Syntax :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA <string>
<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
On 4-channel DSOX1200-Series oscilloscopes (that support 4-wire SPI), the :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA command defines the SPI MOSI data pattern resource according to the string parameter. This pattern, along with the data width, control the data pattern searched for in the data stream. If the string parameter starts with "0x", it is a hexadecimal string made up of hexadecimal and X (don't care) characters; otherwise, it is a binary string made up of 0, 1, and X (don't care) characters.

NOTE

The :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh should be set before :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA.

Query Syntax
Return Format See Also

:SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA?
The :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA? query returns the current settings of the specified SPI MOSI data pattern resource in the binary string format.
<string><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh" on page 538 · ":SBUS<n>:SPI:SOURce:MOSI" on page 533

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

537

25 :SBUS<n> Commands

:SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh

(see page 818) Command Syntax :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh <width>
<width> ::= integer from 4 to 64 in NR1 format
On 4-channel DSOX1200-Series oscilloscopes (that support 4-wire SPI), the :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh command sets the width of the SPI MOSI data pattern anywhere from 4 bits to 64 bits.

NOTE

The :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh should be set before :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA.

Query Syntax Return Format

:SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh?
The :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh? query returns the current SPI MOSI data pattern width setting.
<width><NL>

See Also

<width> ::= integer from 4 to 64 in NR1 format
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA" on page 537 · ":SBUS<n>:SPI:SOURce:MOSI" on page 533

538

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:SPI:TRIGger:PATTern:WIDTh

(see page 818) Command Syntax :SBUS<n>:SPI:TRIGger:PATTern:WIDTh <width>
<width> ::= integer from 4 to 64 in NR1 format
On 2-channel DSOX1200-Series oscilloscopes (that support 3-wire SPI), the :SBUS<n>:SPI:TRIGger:PATTern:WIDTh command sets the width of the SPI data pattern anywhere from 4 bits to 64 bits.

NOTE

The :SBUS<n>:SPI:TRIGger:PATTern:WIDTh should be set before :SBUS<n>:SPI:TRIGger:PATTern:DATA.

Query Syntax Return Format

:SBUS<n>:SPI:TRIGger:PATTern:WIDTh?
The :SBUS<n>:SPI:TRIGger:PATTern:WIDTh? query returns the current SPI data pattern width setting.
<width><NL>

See Also

<width> ::= integer from 4 to 64 in NR1 format
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:TRIGger:PATTern:DATA" on page 534 · ":SBUS<n>:SPI:SOURce:DATA" on page 530

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

539

25 :SBUS<n> Commands

:SBUS<n>:SPI:TRIGger:TYPE

(see page 818)

Command Syntax :SBUS<n>:SPI:TRIGger:TYPE <value>

<value> ::= {MOSI | MISO}
The :SBUS<n>:SPI:TRIGger:TYPE command specifies whether the SPI trigger will be on the MOSI data or the MISO data.

Query Syntax Return Format

When triggering on MOSI data, the data value is specified by the :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA and :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh commands. When triggering on MISO data, the data value is specified by the :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA and :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh commands.
:SBUS<n>:SPI:TRIGger:TYPE?
The :SBUS<n>:SPI:TRIGger:TYPE? query returns the current SPI trigger type setting.
<value><NL>

See Also

<value> ::= {MOSI | MISO}
· "Introduction to :TRIGger Commands" on page 605 · ":SBUS<n>:SPI:SOURce:MOSI" on page 533 · ":SBUS<n>:SPI:SOURce:MISO" on page 532 · ":SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA" on page 535 · ":SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA" on page 537 · ":SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh" on page 536 · ":SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh" on page 538 · ":TRIGger:MODE" on page 614

540

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:SPI:WIDTh

(see page 818)

Command Syntax :SBUS<n>:SPI:WIDTh <word_width>

<word_width> ::= integer 4-16 in NR1 format
The :SBUS<n>:SPI:WIDTh command determines the number of bits in a word of data for SPI.

Query Syntax Return Format

:SBUS<n>:SPI:WIDTh?
The :SBUS<n>:SPI:WIDTh? query returns the current SPI decode word width.
<word_width><NL>

<word_width> ::= integer 4-16 in NR1 format
Errors · "-241, Hardware missing" on page 779

See Also

· "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:SPI Commands" on page 523

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

541

25 :SBUS<n> Commands

:SBUS<n>:UART Commands

NOTE

These commands are valid when the UART/RS-232 triggering and serial decode license (EMBD) is enabled.

Table 76 :SBUS<n>:UART Commands Summary

Command

Query

Options and Query Returns

:SBUS<n>:UART:BASE

:SBUS<n>:UART:BASE?

<base> (see page 545) (see page 545)

<base> ::= {ASCii | BINary | HEX}

:SBUS<n>:UART:BAUDrat :SBUS<n>:UART:BAUDrat <baudrate> ::= integer from 100

e <baudrate> (see

e? (see page 546)

to 8000000

page 546)

:SBUS<n>:UART:BITorde :SBUS<n>:UART:BITorde <bitorder> ::= {LSBFirst |

r <bitorder> (see

r? (see page 547)

MSBFirst}

page 547)

n/a

:SBUS<n>:UART:COUNt:E <frame_count> ::= integer in NR1

RRor? (see page 548)

format

:SBUS<n>:UART:COUNt:R n/a

n/a

ESet (see page 549)

n/a

:SBUS<n>:UART:COUNt:R <frame_count> ::= integer in NR1

XFRames? (see page 550)

format

n/a

:SBUS<n>:UART:COUNt:T <frame_count> ::= integer in NR1

XFRames? (see page 551)

format

:SBUS<n>:UART:FRAMing <value> (see page 552)

:SBUS<n>:UART:FRAMing ? (see page 552)

<value> ::= {OFF | <decimal> | <nondecimal>}
<decimal> ::= 8-bit integer from 0-255 (0x00-0xff)
<nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal
<nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary

:SBUS<n>:UART:PARity
<parity> (see page 553)

:SBUS<n>:UART:PARity? <parity> ::= {EVEN | ODD | NONE} (see page 553)

:SBUS<n>:UART:POLarit :SBUS<n>:UART:POLarit <polarity> ::= {HIGH | LOW}

y <polarity> (see

y? (see page 554)

page 554)

542

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

Table 76 :SBUS<n>:UART Commands Summary (continued)

Command

Query

Options and Query Returns

:SBUS<n>:UART:SOURce:
RX <source> (see page 555)

:SBUS<n>:UART:SOURce: RX? (see page 555)

<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:UART:SOURce:
TX <source> (see page 556)

:SBUS<n>:UART:SOURce: TX? (see page 556)

<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel DSOX1200-Series oscilloscopes only

:SBUS<n>:UART:TRIGger :SBUS<n>:UART:TRIGger <base> ::= {ASCii | HEX}

:BASE <base> (see

:BASE? (see page 557)

page 557)

:SBUS<n>:UART:TRIGger :SBUS<n>:UART:TRIGger <value> ::= {OFF | 1 to 4096 in :BURSt <value> (see :BURSt? (see page 558) NR1 format} page 558)

:SBUS<n>:UART:TRIGger
:DATA <value> (see page 559)

:SBUS<n>:UART:TRIGger :DATA? (see page 559)

<value> ::= 8-bit integer from 0-255 (0x00-0xff) in decimal, <hexadecimal>, <binary>, or <quoted_string> format
<hexadecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal
<binary> ::= #Bnn...n where n ::= {0 | 1} for binary
<quoted_string> ::= any of the 128 valid 7-bit ASCII characters (or standard abbreviations)

:SBUS<n>:UART:TRIGger :SBUS<n>:UART:TRIGger <time_value> ::= time from 1 us

:IDLE <time_value>

:IDLE? (see page 560) to 10 s in NR3 format

(see page 560)

:SBUS<n>:UART:TRIGger :SBUS<n>:UART:TRIGger <value> ::= {EQUal | NOTequal |

:QUALifier <value> (see page 561)

:QUALifier? (see page 561)

GREaterthan | LESSthan}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

543

25 :SBUS<n> Commands

Table 76 :SBUS<n>:UART Commands Summary (continued)

Command

Query

Options and Query Returns

:SBUS<n>:UART:TRIGger
:TYPE <value> (see page 562)

:SBUS<n>:UART:TRIGger :TYPE? (see page 562)

<value> ::= {RSTArt | RSTOp | RDATa | RD1 | RD0 | RDX | PARityerror | TSTArt | TSTOp | TDATa | TD1 | TD0 | TDX}

:SBUS<n>:UART:WIDTh :SBUS<n>:UART:WIDTh? <width> ::= {5 | 6 | 7 | 8 | 9} <width> (see page 563) (see page 563)

544

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:UART:BASE

(see page 818)

Command Syntax :SBUS<n>:UART:BASE <base>

<base> ::= {ASCii | BINary | HEX}
The :SBUS<n>:UART:BASE command determines the base to use for the UART decode and Lister display.

Query Syntax Return Format

:SBUS<n>:UART:BASE?
The :SBUS<n>:UART:BASE? query returns the current UART decode and Lister base setting.
<base><NL>

Errors See Also

<base> ::= {ASCii | BINary | HEX}
· "-241, Hardware missing" on page 779 · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:UART Commands" on page 542

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

545

25 :SBUS<n> Commands

:SBUS<n>:UART:BAUDrate

(see page 818)

Command Syntax :SBUS<n>:UART:BAUDrate <baudrate>

Query Syntax Return Format

<baudrate> ::= integer from 100 to 8000000
The :SBUS<n>:UART:BAUDrate command selects the bit rate (in bps) for the serial decoder and/or trigger when in UART mode. The baud rate can be set from 100 b/s to 8 Mb/s. If the baud rate you select does not match the system baud rate, false triggers may occur.
:SBUS<n>:UART:BAUDrate?
The :SBUS<n>:UART:BAUDrate? query returns the current UART baud rate setting.
<baudrate><NL>

See Also

<baudrate> ::= integer from 100 to 8000000
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:UART:TRIGger:TYPE" on page 562

546

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:UART:BITorder

(see page 818)

Command Syntax :SBUS<n>:UART:BITorder <bitorder>

Query Syntax Return Format

<bitorder> ::= {LSBFirst | MSBFirst}
The :SBUS<n>:UART:BITorder command specifies the order of transmission used by the physical Tx and Rx input signals for the serial decoder and/or trigger when in UART mode. LSBFirst sets the least significant bit of each message "byte" as transmitted first. MSBFirst sets the most significant bit as transmitted first.
:SBUS<n>:UART:BITorder?
The :SBUS<n>:UART:BITorder? query returns the current UART bit order setting.
<bitorder><NL>

See Also

<bitorder> ::= {LSBF | MSBF}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:UART:TRIGger:TYPE" on page 562 · ":SBUS<n>:UART:SOURce:RX" on page 555 · ":SBUS<n>:UART:SOURce:TX" on page 556

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

547

25 :SBUS<n> Commands

:SBUS<n>:UART:COUNt:ERRor

(see page 818)

Query Syntax Return Format

:SBUS<n>:UART:COUNt:ERRor?
Returns the UART error frame count.
<frame_count><NL>

Errors See Also

<frame_count> ::= integer in NR1 format
· "-241, Hardware missing" on page 779
· ":SBUS<n>:UART:COUNt:RESet" on page 549 · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:UART Commands" on page 542

548

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:UART:COUNt:RESet

Command Syntax
Errors See Also

(see page 818)
:SBUS<n>:UART:COUNt:RESet
Resets the UART frame counters. · "-241, Hardware missing" on page 779 · ":SBUS<n>:UART:COUNt:ERRor" on page 548 · ":SBUS<n>:UART:COUNt:RXFRames" on page 550 · ":SBUS<n>:UART:COUNt:TXFRames" on page 551 · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:UART Commands" on page 542

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

549

25 :SBUS<n> Commands

:SBUS<n>:UART:COUNt:RXFRames

(see page 818)

Query Syntax Return Format

:SBUS<n>:UART:COUNt:RXFRames?
Returns the UART Rx frame count.
<frame_count><NL>

Errors See Also

<frame_count> ::= integer in NR1 format
· "-241, Hardware missing" on page 779
· ":SBUS<n>:UART:COUNt:RESet" on page 549 · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:UART Commands" on page 542

550

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:UART:COUNt:TXFRames

(see page 818)

Query Syntax Return Format

:SBUS<n>:UART:COUNt:TXFRames?
Returns the UART Tx frame count.
<frame_count><NL>

Errors See Also

<frame_count> ::= integer in NR1 format
· "-241, Hardware missing" on page 779
· ":SBUS<n>:UART:COUNt:RESet" on page 549 · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:MODE" on page 481 · ":SBUS<n>:UART Commands" on page 542

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

551

25 :SBUS<n> Commands

:SBUS<n>:UART:FRAMing

(see page 818)

Command Syntax :SBUS<n>:UART:FRAMing <value>

<value> ::= {OFF | <decimal> | <nondecimal>}

<decimal> ::= 8-bit integer in decimal from 0-255 (0x00-0xff)

<nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal

Query Syntax Return Format

<nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary
The :SBUS<n>:UART:FRAMing command determines the byte value to use for framing (end of packet) or to turn off framing for UART decode.
:SBUS<n>:UART:FRAMing?
The :SBUS<n>:UART:FRAMing? query returns the current UART decode base setting.
<value><NL>

<value> ::= {OFF | <decimal>}

Errors See Also

<decimal> ::= 8-bit integer in decimal from 0-255
· "-241, Hardware missing" on page 779 · "Introduction to :SBUS<n> Commands" on page 477 · ":SBUS<n>:UART Commands" on page 542

552

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:UART:PARity

(see page 818)

Command Syntax :SBUS<n>:UART:PARity <parity>

<parity> ::= {EVEN | ODD | NONE}
The :SBUS<n>:UART:PARity command selects the parity to be used with each message "byte" for the serial decoder and/or trigger when in UART mode.

Query Syntax Return Format

:SBUS<n>:UART:PARity?
The :SBUS<n>:UART:PARity? query returns the current UART parity setting.
<parity><NL>

See Also

<parity> ::= {EVEN | ODD | NONE}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:UART:TRIGger:TYPE" on page 562

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

553

25 :SBUS<n> Commands

:SBUS<n>:UART:POLarity

(see page 818)

Command Syntax :SBUS<n>:UART:POLarity <polarity>

<polarity> ::= {HIGH | LOW}
The :SBUS<n>:UART:POLarity command selects the polarity as idle low or idle high for the serial decoder and/or trigger when in UART mode.

Query Syntax Return Format

:SBUS<n>:UART:POLarity?
The :SBUS<n>:UART:POLarity? query returns the current UART polarity setting.
<polarity><NL>

See Also

<polarity> ::= {HIGH | LOW}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:UART:TRIGger:TYPE" on page 562

554

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:UART:SOURce:RX

(see page 818) Command Syntax :SBUS<n>:UART:SOURce:RX <source>
<source> ::= {CHANnel<n> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format
The :SBUS<n>:UART:SOURce:RX command controls which signal is used as the Rx source by the serial decoder and/or trigger when in UART mode.

NOTE

EXTernal can be specified as the source on 2-channel DSOX1200-Series oscilloscopes only.

Query Syntax
Return Format See Also

:SBUS<n>:UART:SOURce:RX?
The :SBUS<n>:UART:SOURce:RX? query returns the current source for the UART Rx signal.
<source><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:UART:TRIGger:TYPE" on page 562 · ":SBUS<n>:UART:BITorder" on page 547

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

555

25 :SBUS<n> Commands

:SBUS<n>:UART:SOURce:TX

(see page 818) Command Syntax :SBUS<n>:UART:SOURce:TX <source>
<source> ::= {CHANnel<n> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format
The :SBUS<n>:UART:SOURce:TX command controls which signal is used as the Tx source by the serial decoder and/or trigger when in UART mode.

NOTE

EXTernal can be specified as the source on 2-channel DSOX1200-Series oscilloscopes only.

Query Syntax
Return Format See Also

:SBUS<n>:UART:SOURce:TX?
The :SBUS<n>:UART:SOURce:TX? query returns the current source for the UART Tx signal.
<source><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:UART:TRIGger:TYPE" on page 562 · ":SBUS<n>:UART:BITorder" on page 547

556

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:UART:TRIGger:BASE

(see page 818) Command Syntax :SBUS<n>:UART:TRIGger:BASE <base>
<base> ::= {ASCii | HEX}
The :SBUS<n>:UART:TRIGger:BASE command sets the front panel UART/RS232 trigger setup data selection option: · ASCii -- front panel data selection is from ASCII values. · HEX -- front panel data selection is from hexadecimal values. The :SBUS<n>:UART:TRIGger:BASE setting does not affect the :SBUS<n>:UART:TRIGger:DATA command which can always set data values using ASCII or hexadecimal values.

NOTE

The :SBUS<n>:UART:TRIGger:BASE command is independent of the :SBUS<n>:UART:BASE command which affects decode and Lister only.

Query Syntax Return Format

:SBUS<n>:UART:TRIGger:BASE?
The :SBUS<n>:UART:TRIGger:BASE? query returns the current UART base setting.
<base><NL>

See Also

<base> ::= {ASC | HEX}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:UART:TRIGger:DATA" on page 559

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

557

25 :SBUS<n> Commands

:SBUS<n>:UART:TRIGger:BURSt

(see page 818)

Command Syntax :SBUS<n>:UART:TRIGger:BURSt <value>

Query Syntax Return Format

<value> ::= {OFF | 1 to 4096 in NR1 format}
The :SBUS<n>:UART:TRIGger:BURSt command selects the burst value (Nth frame after idle period) in the range 1 to 4096 or OFF, for the trigger when in UART mode.
:SBUS<n>:UART:TRIGger:BURSt?
The :SBUS<n>:UART:TRIGger:BURSt? query returns the current UART trigger burst value.
<value><NL>

See Also

<value> ::= {OFF | 1 to 4096 in NR1 format}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:UART:TRIGger:IDLE" on page 560 · ":SBUS<n>:UART:TRIGger:TYPE" on page 562

558

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:UART:TRIGger:DATA

(see page 818)

Command Syntax :SBUS<n>:UART:TRIGger:DATA <value>

<value> ::= 8-bit integer from 0-255 (0x00-0xff) in decimal, <hexadecimal>, <binary>, or <quoted_string> format

<hexadecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal

<binary> ::= #Bnn...n where n ::= {0 | 1} for binary

Query Syntax

<quoted_string> ::= any of the 128 valid 7-bit ASCII characters (or standard abbreviations)
The :SBUS<n>:UART:TRIGger:DATA command selects the data byte value (0x00 to 0xFF) for the trigger QUALifier when in UART mode. The data value is used when one of the RD or TD trigger types is selected. When entering an ASCII character via the quoted string, it must be one of the 128 valid characters (case-sensitive): "NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL", "BS", "HT", "LF", "VT", "FF", "CR", "SO","SI", "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB", "CAN", "EM", "SUB", "ESC", "FS","GS", "RS", "US", "SP", "!", "\"", "#", "$", "%","&", "\'", "(", ")", "*", "+", ",", "-", ".", "/","0", "1", "2", "3", "4", "5", "6", "7", "8", "9",":", ";", "<", "=", ">", "?", "@", "A", "B", "C","D", "E", "F", "G", "H", "I", "J", "K", "L", "M","N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z","[", "\\", "]", "^", "_", "`", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "{", "|", "}", "~", or "DEL".
:SBUS<n>:UART:TRIGger:DATA?
The :SBUS<n>:UART:TRIGger:DATA? query returns the current UART trigger data value.

Return Format <value><NL>

See Also

<value> ::= 8-bit integer in decimal from 0-255
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:UART:TRIGger:BASE" on page 557 · ":SBUS<n>:UART:TRIGger:TYPE" on page 562

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

559

25 :SBUS<n> Commands

:SBUS<n>:UART:TRIGger:IDLE

(see page 818)

Command Syntax :SBUS<n>:UART:TRIGger:IDLE <time_value>

<time_value> ::= time from 1 us to 10 s in NR3 format
The :SBUS<n>:UART:TRIGger:IDLE command selects the value of the idle period for burst trigger in the range from 1 us to 10 s when in UART mode.

Query Syntax Return Format

:SBUS<n>:UART:TRIGger:IDLE?
The :SBUS<n>:UART:TRIGger:IDLE? query returns the current UART trigger idle period time.
<time_value><NL>

See Also

<time_value> ::= time from 1 us to 10 s in NR3 format
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:UART:TRIGger:BURSt" on page 558 · ":SBUS<n>:UART:TRIGger:TYPE" on page 562

560

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:UART:TRIGger:QUALifier

(see page 818)

Command Syntax :SBUS<n>:UART:TRIGger:QUALifier <value>

Query Syntax Return Format

<value> ::= {EQUal | NOTequal | GREaterthan | LESSthan}
The :SBUS<n>:UART:TRIGger:QUALifier command selects the data qualifier when :TYPE is set to RDATa, RD1, RD0, RDX, TDATa, TD1, TD0, or TDX for the trigger when in UART mode.
:SBUS<n>:UART:TRIGger:QUALifier?
The :SBUS<n>:UART:TRIGger:QUALifier? query returns the current UART trigger qualifier.
<value><NL>

See Also

<value> ::= {EQU | NOT | GRE | LESS}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:UART:TRIGger:TYPE" on page 562

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

561

25 :SBUS<n> Commands

:SBUS<n>:UART:TRIGger:TYPE

(see page 818)

Command Syntax :SBUS<n>:UART:TRIGger:TYPE <value>

<value> ::= {RSTArt | RSTOp | RDATa | RD1 | RD0 | RDX | PARityerror | TSTArt | TSTOp | TDATa | TD1 | TD0 | TDX}
The :SBUS<n>:UART:TRIGger:TYPE command selects the UART trigger type. When one of the RD or TD types is selected, the :SBUS<n>:UART:TRIGger:DATA and :SBUS<n>:UART:TRIGger:QUALifier commands are used to specify the data value and comparison operator.

Query Syntax Return Format

The RD1, RD0, RDX, TD1, TD0, and TDX types (for triggering on data and alert bit values) are only valid when a 9-bit width has been selected.
:SBUS<n>:UART:TRIGger:TYPE?
The :SBUS<n>:UART:TRIGger:TYPE? query returns the current UART trigger data value.
<value><NL>

See Also

<value> ::= {RSTA | RSTO | RDAT | RD1 | RD0 | RDX | PAR | TSTA | TSTO | TDAT | TD1 | TD0 | TDX}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:UART:TRIGger:DATA" on page 559 · ":SBUS<n>:UART:TRIGger:QUALifier" on page 561 · ":SBUS<n>:UART:WIDTh" on page 563

562

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SBUS<n> Commands 25

:SBUS<n>:UART:WIDTh

(see page 818)

Command Syntax :SBUS<n>:UART:WIDTh <width>

<width> ::= {5 | 6 | 7 | 8 | 9}
The :SBUS<n>:UART:WIDTh command determines the number of bits (5-9) for each message "byte" for the serial decoder and/or trigger when in UART mode.

Query Syntax Return Format

:SBUS<n>:UART:WIDTh?
The :SBUS<n>:UART:WIDTh? query returns the current UART width setting.
<width><NL>

See Also

<width> ::= {5 | 6 | 7 | 8 | 9}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":SBUS<n>:UART:TRIGger:TYPE" on page 562

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

563

25 :SBUS<n> Commands

564

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
26 :SYSTem Commands

Control basic system functions of the oscilloscope. See "Introduction to :SYSTem Commands" on page 567.

Table 77 :SYSTem Commands Summary

Command

Query

Options and Query Returns

:SYSTem:DATE <date> (see page 568)

:SYSTem:DATE? (see page 568)

<date> ::= <year>,<month>,<day>
<year> ::= 4-digit year in NR1 format
<month> ::= {1,..,12 | JANuary | FEBruary | MARch | APRil | MAY | JUNe | JULy | AUGust | SEPtember | OCTober | NOVember | DECember}
<day> ::= {1,..31}

n/a

:SYSTem:DIDentifier? n/a

(see page 569)

:SYSTem:DSP <string> n/a (see page 570)

<string> ::= up to 75 characters as a quoted ASCII string

n/a

:SYSTem:ERRor? (see <error> ::= an integer error code

page 571)

<error string> ::= quoted ASCII

string.

See Error Messages (see page 777).

:SYSTem:LOCK <value> :SYSTem:LOCK? (see

(see page 572)

page 572)

<value> ::= {{1 | ON} | {0 | OFF}}

:SYSTem:MENU <menu> n/a (see page 573)

<menu> ::= {MASK | MEASure | SEGMented}

:SYSTem:PERSona[:MANu
facturer]
<manufacturer_string> (see page 574)

:SYSTem:PERSona[:MANu
facturer]? (see page 574)

<manufacturer_string> ::= quoted ASCII string, up to 63 characters

:SYSTem:PERSona[:MANu n/a
facturer]:DEFault (see page 575)

Sets manufacturer string to "KEYSIGHT TECHNOLOGIES"

565

26 :SYSTem Commands

Table 77 :SYSTem Commands Summary (continued)

Command
:SYSTem:PRESet (see page 576)

Query n/a

Options and Query Returns See :SYSTem:PRESet (see page 576)

:SYSTem:PROTection:LO :SYSTem:PROTection:LO <value> ::= {{1 | ON} | {0 |

CK <value> (see

CK? (see page 579)

OFF}}

page 579)

:SYSTem:RLOGger

n/a

<setting>[,<file_name

>[,<write_mode>]] (see page 580)

<setting> ::= {{0 | OFF} | {1 | ON}}
<file_name> ::= quoted ASCII string
<write_mode> ::= {CREate | APPend}

:SYSTem:RLOGger:DESTi :SYSTem:RLOGger:DESTi <dest> ::= {FILE | SCReen | BOTH}

nation <dest> (see

nation? (see page 581)

page 581)

:SYSTem:RLOGger:DISPl :SYSTem:RLOGger:DISPl <setting> ::= {0 | 1} ay {{0 | OFF} | {1 | ay? (see page 582) ON}} (see page 582)

:SYSTem:RLOGger:FNAMe :SYSTem:RLOGger:FNAMe <file_name> ::= quoted ASCII

<file_name> (see

? (see page 583)

string

page 583)

:SYSTem:RLOGger:STATe :SYSTem:RLOGger:STATe <setting> ::= {0 | 1}

{{0 | OFF} | {1 |

? (see page 584)

ON}} (see page 584)

:SYSTem:RLOGger:TRANs
parent {{0 | OFF} |
{1 | ON}} (see page 585)

:SYSTem:RLOGger:TRANs parent? (see page 585)

<setting> ::= {0 | 1}

:SYSTem:RLOGger:WMODe :SYSTem:RLOGger:WMODe <write_mode> ::= {CREate |

<write_mode> (see

? (see page 586)

APPend}

page 586)

:SYSTem:SETup
<setup_data> (see page 587)

:SYSTem:SETup? (see page 587)

<setup_data> ::= data in IEEE 488.2 # format.

:SYSTem:TIME <time> (see page 589)

:SYSTem:TIME? (see page 589)

<time> ::= hours,minutes,seconds in NR1 format

:SYSTem:TZONe
<UTC_offset> (see page 590)

:SYSTem:TZONe? (see page 590)

<UTC_offset> ::= integer offset from UTC in the form HHMM, for example, 1000 for UTC+1000 or -230 for UTC-0230

566

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SYSTem Commands 26

Table 77 :SYSTem Commands Summary (continued)

Command

Query

:SYSTem:USB:EJECt

n/a

[<usb_path>] (see page 591)

n/a

:SYSTem:USB:PLISt?

(see page 592)

Options and Query Returns <usb_path> ::= path of USB storage device
n/a

Introduction to :SYSTem
Commands

SYSTem subsystem commands enable writing messages to the display, setting and reading both the time and the date, querying for errors, and saving and recalling setups.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

567

26 :SYSTem Commands

:SYSTem:DATE

(see page 818)

Command Syntax :SYSTem:DATE <date>

<date> ::= <year>,<month>,<day>

<year> ::= 4-digit year in NR1 format

<month> ::= {1,..,12 | JANuary | FEBruary | MARch | APRil | MAY | JUNe | JULy | AUGust | SEPtember | OCTober | NOVember | DECember}

<day> ::= {1,..,31}
The :SYSTem:DATE command sets the date. Validity checking is performed to ensure that the date is valid.

Query Syntax
Return Format See Also

:SYSTem:DATE?
The SYSTem:DATE? query returns the date.
<year>,<month>,<day><NL>
· "Introduction to :SYSTem Commands" on page 567 · ":SYSTem:TIME" on page 589

568

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SYSTem Commands 26

:SYSTem:DIDentifier

Query Syntax

(see page 818)
:SYSTem:DIDentifier?
The :SYSTem:DIDentifier? query returns the oscilloscope's Host ID as (part of) a quoted string. The oscilloscope's Host ID is needed when redeeming licenses for oscilloscope upgrades or other licensed features. The exact format of returned string are product-specific. This example returns the model number, serial number, and host ID in a comma-separated format:

Return Format

"X12345A,US12345678,G1EFDNLPAF2YPLRN"
Portable programs should not attempt to parse the contents of the returned string. Use the *IDN? query instead to get the model number and/or serial number in a defined portable format.
<host_id><NL>

<host_id> ::= quoted ASCII string
See Also · "*IDN (Identification Number)" on page 124

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

569

26 :SYSTem Commands

:SYSTem:DSP

(see page 818)

Command Syntax :SYSTem:DSP <string>

See Also

<string> ::= quoted ASCII string (up to 75 characters)
The :SYSTem:DSP command writes the quoted string (excluding quotation marks) to a text box in the center of the display. Use :SYStem:DSP "" to remotely remove the message from the display. (Two sets of quote marks without a space between them creates a NULL string.) Press any menu key to manually remove the message from the display. · "Introduction to :SYSTem Commands" on page 567

570

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SYSTem Commands 26

:SYSTem:ERRor

(see page 818)

Query Syntax Return Format

:SYSTem:ERRor?
The :SYSTem:ERRor? query outputs the next error number and text from the error queue. The instrument has an error queue that is 30 errors deep and operates on a first-in, first-out basis. Repeatedly sending the :SYSTem:ERRor? query returns the errors in the order that they occurred until the queue is empty. Any further queries then return zero until another error occurs.
<error number>,<error string><NL>

<error number> ::= an integer error code in NR1 format

See Also

<error string> ::= quoted ASCII string containing the error message
Error messages are listed in Chapter 33, "Error Messages," starting on page 777. · "Introduction to :SYSTem Commands" on page 567 · "*ESR (Standard Event Status Register)" on page 122 · "*CLS (Clear Status)" on page 119

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

571

26 :SYSTem Commands

:SYSTem:LOCK

(see page 818)

Command Syntax :SYSTem:LOCK <value>

<value> ::= {{1 | ON} | {0 | OFF}}
The :SYSTem:LOCK command disables the front panel. LOCK ON is the equivalent of sending a local lockout message over the programming interface.

Query Syntax Return Format

:SYSTem:LOCK?
The :SYSTem:LOCK? query returns the lock status of the front panel.
<value><NL>

<value> ::= {1 | 0}
See Also · "Introduction to :SYSTem Commands" on page 567

572

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SYSTem Commands 26
:SYSTem:MENU
(see page 818) Command Syntax :SYSTem:MENU <menu>
<menu> ::= {MASK | MEASure | SEGMented | LISTer}
The :SYSTem:MENU command changes the front panel softkey menu.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

573

26 :SYSTem Commands

:SYSTem:PERSona[:MANufacturer]

(see page 818)

Command Syntax :SYSTem:PERSona[:MANufacturer] <manufacturer_string>

<manufacturer_string> ::= ::= quoted ASCII string, up to 63 characters
The :SYSTem:PERSona[:MANufacturer] command lets you change the manufacturer string portion of the identification string returned by the *IDN? query. The default manufacturer string is "KEYSIGHT TECHNOLOGIES". If your remote programs depend on a legacy manufacturer string, for example, you could use this command to set the manufacturer string to "AGILENT TECHNOLOGIES".

Query Syntax
Return Format See Also

:SYSTem:PERSona[:MANufacturer]?
The :SYSTem:PERSona[:MANufacturer]? query returns the currently set manufacturer string.
<manufacturer_string><NL>
· "*IDN (Identification Number)" on page 124 · ":SYSTem:PERSona[:MANufacturer]:DEFault" on page 575 · "Introduction to :SYSTem Commands" on page 567

574

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SYSTem Commands 26

:SYSTem:PERSona[:MANufacturer]:DEFault

Command Syntax See Also

(see page 818)
:SYSTem:PERSona[:MANufacturer]:DEFault
The :SYSTem:PERSona[:MANufacturer]:DEFault command sets the manufacturer string to "KEYSIGHT TECHNOLOGIES". · "*IDN (Identification Number)" on page 124 · ":SYSTem:PERSona[:MANufacturer]" on page 574 · "Introduction to :SYSTem Commands" on page 567

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

575

26 :SYSTem Commands

:SYSTem:PRESet

Command Syntax

(see page 818)
:SYSTem:PRESet
The :SYSTem:PRESet command places the instrument in a known state. This is the same as pressing the [Default Setup] key or [Save/Recall] > Default/Erase > Default Setup on the front panel. When you perform a default setup, some user settings (like preferences) remain unchanged. To reset all user settings to their factory defaults, use the *RST command. Reset conditions are:

Acquire Menu Mode Averaging # Averages

Normal Off 8

Analog Channel Menu Channel 1 Channel 2 Volts/division Offset Coupling Probe attenuation Vernier Invert BW limit Impedance Units Skew

On Off 5.00 V 0.00 DC 10:1 Off Off Off 1 M Ohm (cannot be changed) Volts 0

Cursor Menu Source

Channel 1

576

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SYSTem Commands 26

Display Menu Persistence Grid
Quick Meas Menu Source
Run Control
Time Base Menu Main time/division Main time base delay Delay time/division Delay time base delay Reference Mode Vernier
Trigger Menu Type Mode Coupling Source Level Slope HF Reject and noise reject Holdoff External probe attenuation External Units External Impedance

Off 20%
Channel 1
Scope is running
100 us 0.00 s 500 ns 0.00 s center main Off
Edge Auto dc Channel 1 0.0 V Positive Off 60 ns 10:1 Volts 1 M Ohm (cannot be changed)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

577

26 :SYSTem Commands
See Also · "Introduction to Common (*) Commands" on page 117 · "*RST (Reset)" on page 129

578

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SYSTem Commands 26

:SYSTem:PROTection:LOCK

(see page 818)

Command Syntax :SYSTem:PROTection:LOCK <value>

<value> ::= {{1 | ON} | {0 | OFF}}
The :SYSTem:PROTection:LOCK command disables the fifty ohm impedance setting for all analog channels.

Query Syntax Return Format

:SYSTem:PROTection:LOCK?
The :SYSTem:PROTection:LOCK? query returns the analog channel protection lock status.
<value><NL>

<value> ::= {1 | 0}
See Also · "Introduction to :SYSTem Commands" on page 567

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

579

26 :SYSTem Commands

:SYSTem:RLOGger

(see page 818)

Command Syntax :SYSTem:RLOGger <setting>[,<file_name>[,<write_mode>]]

<setting> ::= {{0 | OFF} | {1 | ON}}

<file_name> ::= quoted ASCII string

See Also

<write_mode> ::= {CREate | APPend}
The :SYSTem:RLOGger command enables or disables remote command logging, optionally specifying the log file name and write mode.
· ":SYSTem:RLOGger:DESTination" on page 581 · ":SYSTem:RLOGger:DISPlay" on page 582 · ":SYSTem:RLOGger:FNAMe" on page 583 · ":SYSTem:RLOGger:STATe" on page 584 · ":SYSTem:RLOGger:TRANsparent" on page 585 · ":SYSTem:RLOGger:WMODe" on page 586

580

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SYSTem Commands 26

:SYSTem:RLOGger:DESTination

(see page 818) Command Syntax :SYSTem:RLOGger:DESTination <dest>
<dest> ::= {FILE | SCReen | BOTH}
The :SYSTem:RLOGger:DESTination command specifies whether remote commands are logged to a text file (on a connected USB storage device), logged to the screen, or both.

NOTE

If the destination is changed while remote command logging is running, remote command logging is turned off.

Query Syntax Return Format

:SYSTem:RLOGger:DESTination?
The :SYSTem:RLOGger:DESTination? query returns the remote command logging destination.
<dest><NL>

See Also

<dest> ::= {FILE | SCR | BOTH}
· ":SYSTem:RLOGger" on page 580 · ":SYSTem:RLOGger:DISPlay" on page 582 · ":SYSTem:RLOGger:FNAMe" on page 583 · ":SYSTem:RLOGger:STATe" on page 584 · ":SYSTem:RLOGger:TRANsparent" on page 585 · ":SYSTem:RLOGger:WMODe" on page 586

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

581

26 :SYSTem Commands

:SYSTem:RLOGger:DISPlay

(see page 818)

Command Syntax Query Syntax Return Format

:SYSTem:RLOGger:DISPlay {{0 | OFF} | {1 | ON}}
The :SYSTem:RLOGger:DISPlay command enables or disables the screen display of logged remote commands and their return values (if applicable).
:SYSTem:RLOGger:DISPlay?
The :SYSTem:RLOGger:DISPlay? query returns whether the screen display for remote command logging is enabled or disabled.
<setting><NL>

See Also

<setting> ::= {0 | 1}
· ":SYSTem:RLOGger" on page 580 · ":SYSTem:RLOGger:DESTination" on page 581 · ":SYSTem:RLOGger:FNAMe" on page 583 · ":SYSTem:RLOGger:STATe" on page 584 · ":SYSTem:RLOGger:TRANsparent" on page 585 · ":SYSTem:RLOGger:WMODe" on page 586

582

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SYSTem Commands 26

:SYSTem:RLOGger:FNAMe

(see page 818)

Command Syntax :SYSTem:RLOGger:FNAMe <file_name>

<file_name> ::= quoted ASCII string
The :SYSTem:RLOGger:FNAMe command specifies the remote command log file name.

Query Syntax
Return Format See Also

Because log files are ASCII text files, the ".txt" extension is automatically added to the name specified.
:SYSTem:RLOGger:FNAMe?
The :SYSTem:RLOGger:FNAMe? query returns the remote command log file name.
<file_name><NL>
· ":SYSTem:RLOGger" on page 580 · ":SYSTem:RLOGger:DESTination" on page 581 · ":SYSTem:RLOGger:DISPlay" on page 582 · ":SYSTem:RLOGger:STATe" on page 584 · ":SYSTem:RLOGger:TRANsparent" on page 585 · ":SYSTem:RLOGger:WMODe" on page 586

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

583

26 :SYSTem Commands

:SYSTem:RLOGger:STATe

(see page 818)

Command Syntax Query Syntax Return Format

:SYSTem:RLOGger:STATe {{0 | OFF} | {1 | ON}}
The :SYSTem:RLOGger:STATe command enables or disables remote command logging.
:SYSTem:RLOGger:STATe?
The :SYSTem:RLOGger:STATe? query returns the remote command logging state.
<setting><NL>

See Also

<setting> ::= {0 | 1}
· ":SYSTem:RLOGger" on page 580 · ":SYSTem:RLOGger:DESTination" on page 581 · ":SYSTem:RLOGger:DISPlay" on page 582 · ":SYSTem:RLOGger:FNAMe" on page 583 · ":SYSTem:RLOGger:TRANsparent" on page 585 · ":SYSTem:RLOGger:WMODe" on page 586

584

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SYSTem Commands 26

:SYSTem:RLOGger:TRANsparent

(see page 818)

Command Syntax Query Syntax Return Format

:SYSTem:RLOGger:TRANsparent {{0 | OFF} | {1 | ON}}
The :SYSTem:RLOGger:TRANsparent command specifies whether the screen display background for remote command logging is transparent or solid.
:SYSTem:RLOGger:TRANsparent?
The :SYSTem:RLOGger:TRANsparent? query returns the setting for transparent screen display background.
<setting><NL>

See Also

<setting> ::= {0 | 1}
· ":SYSTem:RLOGger" on page 580 · ":SYSTem:RLOGger:DESTination" on page 581 · ":SYSTem:RLOGger:DISPlay" on page 582 · ":SYSTem:RLOGger:FNAMe" on page 583 · ":SYSTem:RLOGger:STATe" on page 584 · ":SYSTem:RLOGger:WMODe" on page 586

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

585

26 :SYSTem Commands

:SYSTem:RLOGger:WMODe

(see page 818)

Command Syntax :SYSTem:RLOGger:WMODe <write_mode>

<write_mode> ::= {CREate | APPend}
The :SYSTem:RLOGger:WMODe command specifies the remote command logging write mode.

Query Syntax Return Format

:SYSTem:RLOGger:WMODe?
The :SYSTem:RLOGger:WMODe? query returns the remote command logging write mode.
<write_mode><NL>

See Also

<write_mode> ::= {CRE | APP}
· ":SYSTem:RLOGger" on page 580 · ":SYSTem:RLOGger:DESTination" on page 581 · ":SYSTem:RLOGger:DISPlay" on page 582 · ":SYSTem:RLOGger:FNAMe" on page 583 · ":SYSTem:RLOGger:STATe" on page 584 · ":SYSTem:RLOGger:TRANsparent" on page 585

586

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SYSTem Commands 26

:SYSTem:SETup

(see page 818)

Command Syntax :SYSTem:SETup <setup_data>

Query Syntax Return Format

<setup_data> ::= binary block data in IEEE 488.2 # format.
The :SYSTem:SETup command sets the oscilloscope as defined by the data in the setup (learn) string sent from the controller. The setup string does not change the interface mode or interface address.
:SYSTem:SETup?
The :SYSTem:SETup? query operates the same as the *LRN? query. It outputs the current oscilloscope setup in the form of a learn string to the controller. The setup (learn) string is sent and received as a binary block of data. The format for the data transmission is the # format defined in the IEEE 488.2 specification.
<setup_data><NL>

See Also Example Code

<setup_data> ::= binary block data in IEEE 488.2 # format
· "Introduction to :SYSTem Commands" on page 567 · "*LRN (Learn Device Setup)" on page 125
' SAVE_SYSTEM_SETUP - The :SYSTEM:SETUP? query returns a program ' message that contains the current state of the instrument. Its ' format is a definite-length binary block, for example, ' #800075595<setup string><NL> ' where the setup string is 75595 bytes in length. myScope.WriteString ":SYSTEM:SETUP?" varQueryResult = myScope.ReadIEEEBlock(BinaryType_UI1) CheckForInstrumentErrors ' After reading query results.

' Output setup string to a file: Dim strPath As String strPath = "c:\scope\config\setup.dat"

' Open file for output. Close #1 ' If #1 is open, close it. Open strPath For Binary Access Write Lock Write As #1 Put #1, , varQueryResult ' Write data. Close #1 ' Close file.

' RESTORE_SYSTEM_SETUP - Read the setup string from a file and ' write it back to the oscilloscope. Dim varSetupString As Variant strPath = "c:\scope\config\setup.dat"

' Open file for input. Open strPath For Binary Access Read As #1 Get #1, , varSetupString ' Read data. Close #1 ' Close file.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

587

26 :SYSTem Commands
' Write setup string back to oscilloscope using ":SYSTEM:SETUP" ' command: myScope.WriteIEEEBlock ":SYSTEM:SETUP ", varSetupString CheckForInstrumentErrors
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

588

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SYSTem Commands 26

:SYSTem:TIME

(see page 818)

Command Syntax :SYSTem:TIME <time>

Query Syntax Return Format

<time> ::= hours,minutes,seconds in NR1 format
The :SYSTem:TIME command sets the system time, using a 24-hour format. Commas are used as separators. Validity checking is performed to ensure that the time is valid.
:SYSTem:TIME? <time>
The :SYSTem:TIME? query returns the current system time.
<time><NL>

See Also

<time> ::= hours,minutes,seconds in NR1 format
· "Introduction to :SYSTem Commands" on page 567 · ":SYSTem:TZONe" on page 590 · ":SYSTem:DATE" on page 568

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

589

26 :SYSTem Commands

:SYSTem:TZONe

(see page 818)

Command Syntax :SYSTem:TZONe <UTC_offset>

Query Syntax Return Format

<UTC_offset> ::= integer offset from UTC in the form HHMM, for example, 1000 for UTC+1000 or -230 for UTC-0230
The :SYSTem:TZONe command sets the system time zone based on the specified offset from UTC. This keeps local time constant and moves the UTC by setting the system clock to match the displayed oscilloscope clock. Supported time zone offsets are: -1200, -1100, -1000, -900, -800, -700, -600, -500, -400, -330, -300, -230, -200, -100, 0, 100, 200, 300, 330, 400, 430, 500, 530, 600, 700, 800, 845, 900, 930, 1000, 1030, 1100, 1200 Because licenses are based on Coordinated Universal Time (UTC), the proper time zone setting allows licenses to work immediately after they are generated.
:SYSTem:TZONe?
The :SYSTem:TZONe? query returns the time zone offset setting.
<UTC_offset><NL>

<UTC_offset> ::= integer offset from UTC in the form HHMM
See Also · ":SYSTem:TIME" on page 589

590

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:SYSTem Commands 26

:SYSTem:USB:EJECt

(see page 818) Command Syntax :SYSTem:USB:EJECt {ALL | <usb_path>}
<usb_path> ::= path of USB storage device
The :SYSTem:USB:EJECt command ejects connected USB storage devices.

NOTE

You must "eject" a USB mass storage device before unplugging it; otherwise, the device will be marked as needing repair when connecting to a computer with the Windows operating system (even though there are no harmful effects to the device).

See Also

When the ALL parameter is given, the command will dismount/eject all connected USB storage devices. The paths of connected USB storage devices are returned by the :SYSTem:USB:PLISt? query. · ":SYSTem:USB:PLISt" on page 592

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

591

26 :SYSTem Commands

:SYSTem:USB:PLISt

(see page 818)

Query Syntax Return Format

:SYSTem:USB:PLISt?
The :SYSTem:USB:PLISt? query returns the root path for all connected USB storage devices, delimited by a newline character ("\n").
<string><NL>

<string> ::= a string of up to 256 ASCII characters.
See Also · ":SYSTem:USB:EJECt" on page 591

592

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
27 :TIMebase Commands

Control all horizontal sweep functions. See "Introduction to :TIMebase Commands" on page 594.

Table 78 :TIMebase Commands Summary

Command

Query

Options and Query Returns

:TIMebase:MODE

:TIMebase:MODE? (see <value> ::= {MAIN | WINDow | XY |

<value> (see page 595) page 595)

ROLL}

:TIMebase:POSition <pos> (see page 596)

:TIMebase:POSition? (see page 596)

<pos> ::= time from the trigger event to the display reference point in NR3 format

:TIMebase:RANGe
<range_value> (see page 597)

:TIMebase:RANGe? (see <range_value> ::= time for 10 div

page 597)

in seconds in NR3 format

:TIMebase:REFerence
{LEFT | CENTer | RIGHt} (see page 598)

:TIMebase:REFerence? (see page 598)

<return_value> ::= {LEFT | CENTer | RIGHt}

:TIMebase:SCALe
<scale_value> (see page 599)

:TIMebase:SCALe? (see <scale_value> ::= time/div in

page 599)

seconds in NR3 format

:TIMebase:VERNier {{0
| OFF} | {1 | ON}} (see page 600)

:TIMebase:VERNier? (see page 600)

{0 | 1}

:TIMebase:WINDow:POSi :TIMebase:WINDow:POSi <pos> ::= time from the trigger

tion <pos> (see

tion? (see page 601)

event to the zoomed view

page 601)

reference point in NR3 format

:TIMebase:WINDow:RANG :TIMebase:WINDow:RANG <range value> ::= range value in

e <range_value> (see e? (see page 602)

seconds in NR3 format for the

page 602)

zoomed window

:TIMebase:WINDow:SCAL :TIMebase:WINDow:SCAL <scale_value> ::= scale value in

e <scale_value> (see e? (see page 603)

seconds in NR3 format for the

page 603)

zoomed window

593

27 :TIMebase Commands

Introduction to :TIMebase Commands

The TIMebase subsystem commands control the horizontal (X-axis) functions and set the oscilloscope to X-Y mode (where channel 1 becomes the X input and channel 2 becomes the Y input). The time per division, delay, vernier control, and reference can be controlled for the main and window (zoomed) time bases.

Reporting the Setup Use :TIMebase? to query setup information for the TIMebase subsystem.

Return Format The following is a sample response from the :TIMebase? query. In this case, the query was issued following a *RST command.

:TIM:MODE MAIN;REF CENT;MAIN:RANG +1.00E-03;POS +0.0E+00

594

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TIMebase Commands 27

:TIMebase:MODE

(see page 818)

Command Syntax :TIMebase:MODE <value>

Query Syntax

<value> ::= {MAIN | WINDow | XY | ROLL}
The :TIMebase:MODE command sets the current time base. There are four time base modes: · MAIN -- The normal time base mode is the main time base. It is the default time
base mode after the *RST (Reset) command. · WINDow -- In the WINDow (zoomed or delayed) time base mode,
measurements are made in the zoomed time base if possible; otherwise, the measurements are made in the main time base. · XY -- In the XY mode, the :TIMebase:RANGe, :TIMebase:POSition, and :TIMebase:REFerence commands are not available. No measurements are available in this mode. · ROLL -- In the ROLL mode, data moves continuously across the display from left to right. The oscilloscope runs continuously and is untriggered. The :TIMebase:REFerence selection changes to RIGHt.
:TIMebase:MODE?
The :TIMebase:MODE query returns the current time base mode.

Return Format <value><NL>

See Also

<value> ::= {MAIN | WIND | XY | ROLL}
· "Introduction to :TIMebase Commands" on page 594 · "*RST (Reset)" on page 129 · ":TIMebase:RANGe" on page 597 · ":TIMebase:POSition" on page 596 · ":TIMebase:REFerence" on page 598

Example Code

' TIMEBASE_MODE - (not executed in this example) ' Set the time base mode to MAIN, DELAYED, XY, or ROLL.

' Set time base mode to main. myScope.WriteString ":TIMEBASE:MODE MAIN"
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

595

27 :TIMebase Commands

:TIMebase:POSition

(see page 818) Command Syntax :TIMebase:POSition <pos>
<pos> ::= time in seconds from the trigger to the display reference in NR3 format
The :TIMebase:POSition command sets the time interval between the trigger event and the display reference point on the screen. The display reference point is either left, right, or center and is set with the :TIMebase:REFerence command. The maximum position value depends on the time/division settings.

NOTE

This command is an alias for the :TIMebase:DELay command.

Query Syntax Return Format

:TIMebase:POSition?
The :TIMebase:POSition? query returns the current time from the trigger to the display reference in seconds.
<pos><NL>

See Also

<pos> ::= time in seconds from the trigger to the display reference in NR3 format
· "Introduction to :TIMebase Commands" on page 594 · ":TIMebase:REFerence" on page 598 · ":TIMebase:RANGe" on page 597 · ":TIMebase:SCALe" on page 599 · ":TIMebase:WINDow:POSition" on page 601 · ":TIMebase:DELay" on page 775

596

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TIMebase Commands 27

:TIMebase:RANGe

(see page 818)

Command Syntax :TIMebase:RANGe <range_value>

<range_value> ::= time for 10 div in seconds in NR3 format
The :TIMebase:RANGe command sets the full-scale horizontal time in seconds for the main window. The range is 10 times the current time-per-division setting.

Query Syntax Return Format

:TIMebase:RANGe?
The :TIMebase:RANGe query returns the current full-scale range value for the main window.
<range_value><NL>

See Also Example Code

<range_value> ::= time for 10 div in seconds in NR3 format
· "Introduction to :TIMebase Commands" on page 594 · ":TIMebase:MODE" on page 595 · ":TIMebase:SCALe" on page 599 · ":TIMebase:WINDow:RANGe" on page 602
' TIME_RANGE - Sets the full scale horizontal time in seconds. The ' range value is 10 times the time per division. myScope.WriteString ":TIM:RANG 2e-3" ' Set the time range to 0.002 seconds.
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

597

27 :TIMebase Commands

:TIMebase:REFerence

(see page 818)

Command Syntax :TIMebase:REFerence <reference>

Query Syntax Return Format

<reference> ::= {LEFT | CENTer | RIGHt}
The :TIMebase:REFerence command sets the time reference to one division from the left side of the screen, to the center of the screen, or to one division from the right side of the screen. Time reference is the point on the display where the trigger point is referenced.
:TIMebase:REFerence?
The :TIMebase:REFerence? query returns the current display reference for the main window.
<reference><NL>

See Also Example Code

<reference> ::= {LEFT | CENT | RIGH}
· "Introduction to :TIMebase Commands" on page 594 · ":TIMebase:MODE" on page 595
' TIME_REFERENCE - Possible values are LEFT, CENTer, or RIGHt. ' - LEFT sets the display reference one time division from the left. ' - CENTer sets the display reference to the center of the screen. ' - RIGHt sets the display reference one time division from the righ t. myScope.WriteString ":TIMebase:REFerence CENTer" ' Set reference to center.
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

598

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TIMebase Commands 27

:TIMebase:SCALe

(see page 818)

Command Syntax :TIMebase:SCALe <scale_value>

<scale_value> ::= time/div in seconds in NR3 format
The :TIMebase:SCALe command sets the horizontal scale or units per division for the main window.

Query Syntax Return Format

:TIMebase:SCALe?
The :TIMebase:SCALe? query returns the current horizontal scale setting in seconds per division for the main window.
<scale_value><NL>

See Also

<scale_value> ::= time/div in seconds in NR3 format
· "Introduction to :TIMebase Commands" on page 594 · ":TIMebase:RANGe" on page 597 · ":TIMebase:WINDow:SCALe" on page 603 · ":TIMebase:WINDow:RANGe" on page 602

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

599

27 :TIMebase Commands

:TIMebase:VERNier

(see page 818)

Command Syntax :TIMebase:VERNier <vernier value>

<vernier value> ::= {{1 | ON} | {0 | OFF}
The :TIMebase:VERNier command specifies whether the time base control's vernier (fine horizontal adjustment) setting is ON (1) or OFF (0).

Query Syntax Return Format

:TIMebase:VERNier?
The :TIMebase:VERNier? query returns the current state of the time base control's vernier setting.
<vernier value><NL>

<vernier value> ::= {0 | 1}
See Also · "Introduction to :TIMebase Commands" on page 594

600

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TIMebase Commands 27

:TIMebase:WINDow:POSition

(see page 818)

Command Syntax :TIMebase:WINDow:POSition <pos value>

Query Syntax Return Format

<pos value> ::= time from the trigger event to the zoomed (delayed) view reference point in NR3 format
The :TIMebase:WINDow:POSition command sets the horizontal position in the zoomed (delayed) view of the main sweep. The main sweep range and the main sweep horizontal position determine the range for this command. The value for this command must keep the zoomed view window within the main sweep range.
:TIMebase:WINDow:POSition?
The :TIMebase:WINDow:POSition? query returns the current horizontal window position setting in the zoomed view.
<value><NL>

See Also

<value> ::= position value in seconds
· "Introduction to :TIMebase Commands" on page 594 · ":TIMebase:MODE" on page 595 · ":TIMebase:POSition" on page 596 · ":TIMebase:RANGe" on page 597 · ":TIMebase:SCALe" on page 599 · ":TIMebase:WINDow:RANGe" on page 602 · ":TIMebase:WINDow:SCALe" on page 603

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

601

27 :TIMebase Commands

:TIMebase:WINDow:RANGe

(see page 818)

Command Syntax :TIMebase:WINDow:RANGe <range value>

Query Syntax Return Format

<range value> ::= range value in seconds in NR3 format
The :TIMebase:WINDow:RANGe command sets the full-scale horizontal time in seconds for the zoomed (delayed) window. The range is 10 times the current zoomed view window seconds per division setting. The main sweep range determines the range for this command. The maximum value is one half of the :TIMebase:RANGe value.
:TIMebase:WINDow:RANGe?
The :TIMebase:WINDow:RANGe? query returns the current window timebase range setting.
<value><NL>

See Also

<value> ::= range value in seconds
· "Introduction to :TIMebase Commands" on page 594 · ":TIMebase:RANGe" on page 597 · ":TIMebase:POSition" on page 596 · ":TIMebase:SCALe" on page 599

602

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TIMebase Commands 27

:TIMebase:WINDow:SCALe

(see page 818)

Command Syntax :TIMebase:WINDow:SCALe <scale_value>

Query Syntax Return Format

<scale_value> ::= scale value in seconds in NR3 format
The :TIMebase:WINDow:SCALe command sets the zoomed (delayed) window horizontal scale (seconds/division). The main sweep scale determines the range for this command. The maximum value is one half of the :TIMebase:SCALe value.
:TIMebase:WINDow:SCALe?
The :TIMebase:WINDow:SCALe? query returns the current zoomed window scale setting.
<scale_value><NL>

See Also

<scale_value> ::= current seconds per division for the zoomed window
· "Introduction to :TIMebase Commands" on page 594 · ":TIMebase:RANGe" on page 597 · ":TIMebase:POSition" on page 596 · ":TIMebase:SCALe" on page 599 · ":TIMebase:WINDow:RANGe" on page 602

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

603

27 :TIMebase Commands

604

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
28 :TRIGger Commands

Introduction to :TRIGger
Commands

Control the trigger modes and parameters for each trigger type. See: · "Introduction to :TRIGger Commands" on page 605 · "General :TRIGger Commands" on page 607 · ":TRIGger[:EDGE] Commands" on page 617 · ":TRIGger:GLITch Commands" on page 623 (Pulse Width trigger) · ":TRIGger:PATTern Commands" on page 631 (DSOX1200-Series oscilloscopes
only) · ":TRIGger:SHOLd Commands" on page 636 (DSOX1200-Series oscilloscopes
only) · ":TRIGger:TRANsition Commands" on page 642 (DSOX1200-Series
oscilloscopes only) · ":TRIGger:TV Commands" on page 647
The commands in the TRIGger subsystem define the conditions for an internal trigger. Many of these commands are valid in multiple trigger modes.
The default trigger mode is :EDGE.
The trigger subsystem controls the trigger sweep mode and the trigger specification. The trigger sweep (see ":TRIGger:SWEep" on page 616) can be AUTO or NORMal. · NORMal mode -- displays a waveform only if a trigger signal is present and the
trigger conditions are met. Otherwise the oscilloscope does not trigger and the display is not updated. This mode is useful for low-repetitive-rate signals. · AUTO trigger mode -- generates an artificial trigger event if the trigger specification is not satisfied within a preset time, acquires unsynchronized data and displays it.
AUTO mode is useful for signals other than low-repetitive-rate signals. You must use this mode to display a DC signal because there are no edges on which to trigger.
The following trigger types are available (see ":TRIGger:MODE" on page 614). · Edge triggering-- identifies a trigger by looking for a specified slope and voltage
level on a waveform.

605

28 :TRIGger Commands
· Pulse width triggering-- (:TRIGger:GLITch commands) sets the oscilloscope to trigger on a positive pulse or on a negative pulse of a specified width.
· Pattern triggering-- identifies a trigger condition by looking for a specified pattern. This pattern is a logical AND combination of the channels. You can also trigger on a specified time duration of a pattern.
· TV triggering-- is used to capture the complicated waveforms of television equipment. The trigger circuitry detects the vertical and horizontal interval of the waveform and produces triggers based on the TV trigger settings you selected. TV triggering requires greater than ¼ division of sync amplitude with any analog channel as the trigger source.
Reporting the Setup Use :TRIGger? to query setup information for the TRIGger subsystem. Return Format The return format for the TRIGger? query varies depending on the current mode. The following is a sample response from the :TRIGger? query. In this case, the query was issued following a *RST command.
:TRIG:MODE EDGE;SWE AUTO;NREJ 0;HFR 0;HOLD +60.0000000000000E-09; :TRIG:EDGE:SOUR CHAN1;LEV +0.00000E+00;SLOP POS;REJ OFF;COUP DC

606

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

General :TRIGger Commands

Table 79 General :TRIGger Commands Summary

Command

Query

:TRIGger:FORCe (see n/a page 608)

:TRIGger:HFReject {{0
| OFF} | {1 | ON}} (see page 609)

:TRIGger:HFReject? (see page 609)

:TRIGger:HOLDoff
<holdoff_time> (see page 610)

:TRIGger:HOLDoff? (see page 610)

:TRIGger:LEVel:ASETup n/a (see page 611)

:TRIGger:LEVel:HIGH
<level>, <source> (see page 612)

:TRIGger:LEVel:HIGH?
<source> (see page 612)

:TRIGger:LEVel:LOW
<level>, <source> (see page 613)

:TRIGger:LEVel:LOW?
<source> (see page 613)

:TRIGger:MODE <mode> :TRIGger:MODE? (see

(see page 614)

page 614)

:TRIGger:NREJect {{0
| OFF} | {1 | ON}} (see page 615)

:TRIGger:NREJect? (see page 615)

:TRIGger:SWEep

:TRIGger:SWEep? (see

<sweep> (see page 616) page 616)

Options and Query Returns n/a
{0 | 1}
<holdoff_time> ::= 60 ns to 10 s in NR3 format
n/a
<level> ::= .75 x full-scale voltage from center screen in NR3 format. <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format <level> ::= .75 x full-scale voltage from center screen in NR3 format. <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format <mode> ::= {EDGE | GLITch | PATTern | SHOLd | TRANsition | TV | SBUS1} <return_value> ::= {<mode> | <none>} <none> ::= query returns "NONE" if the :TIMebase:MODE is ROLL or XY {0 | 1}
<sweep> ::= {AUTO | NORMal}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

607

28 :TRIGger Commands

:TRIGger:FORCe

Command Syntax See Also

(see page 818)
:TRIGger:FORCe
The :TRIGger:FORCe command causes an acquisition to be captured even though the trigger condition has not been met. This command is equivalent to the front panel [Force Trigger] key. · "Introduction to :TRIGger Commands" on page 605

608

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:HFReject

(see page 818)

Command Syntax :TRIGger:HFReject <value>

Query Syntax Return Format

<value> ::= {{0 | OFF} | {1 | ON}}
The :TRIGger:HFReject command turns the high frequency reject filter off and on. The high frequency reject filter adds a 50 kHz low-pass filter in the trigger path to remove high frequency components from the trigger waveform. Use this filter to remove high-frequency noise, such as AM or FM broadcast stations, from the trigger path.
:TRIGger:HFReject?
The :TRIGger:HFReject? query returns the current high frequency reject filter mode.
<value><NL>

See Also

<value> ::= {0 | 1}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger[:EDGE]:REJect" on page 620

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

609

28 :TRIGger Commands

:TRIGger:HOLDoff

(see page 818)

Command Syntax :TRIGger:HOLDoff <holdoff_time>

Query Syntax Return Format

<holdoff_time> ::= 60 ns to 10 s in NR3 format
The :TRIGger:HOLDoff command defines the holdoff time value in seconds. Holdoff keeps a trigger from occurring until after a certain amount of time has passed since the last trigger. This feature is valuable when a waveform crosses the trigger level multiple times during one period of the waveform. Without holdoff, the oscilloscope could trigger on each of the crossings, producing a confusing waveform. With holdoff set correctly, the oscilloscope always triggers on the same crossing. The correct holdoff setting is typically slightly less than one period.
:TRIGger:HOLDoff?
The :TRIGger:HOLDoff? query returns the holdoff time value for the current trigger mode.
<holdoff_time><NL>

<holdoff_time> ::= the holdoff time value in seconds in NR3 format.
See Also · "Introduction to :TRIGger Commands" on page 605

610

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:LEVel:ASETup

Command Syntax See Also

(see page 818)
:TRIGger:LEVel:ASETup
The :TRIGger:LEVel:ASETup command automatically sets the trigger levels of all displayed analog channels to their waveforms' 50% values. If AC coupling is used, the trigger levels are set to 0 V. When High and Low (dual) trigger levels are used (as with Rise/Fall Time and Runt triggers, for example), this command has no effect. · ":TRIGger[:EDGE]:LEVel" on page 619

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

611

28 :TRIGger Commands

:TRIGger:LEVel:HIGH

(see page 818)

Command Syntax :TRIGger:LEVel:HIGH <level>, <source>

<level> ::= 0.75 x full-scale voltage from center screen in NR3 format for internal triggers

<source> ::= {CHANnel<n> | EXTernal}

Query Syntax
Return Format See Also

<n> ::= 1 to (# analog channels) in NR1 format
The :TRIGger:LEVel:HIGH command sets the high trigger voltage level voltage for the specified source.
:TRIGger:LEVel:HIGH? <source>
The :TRIGger:LEVel:HIGH? query returns the high trigger voltage level for the specified source.
<level><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:LEVel:LOW" on page 613 · ":TRIGger[:EDGE]:SOURce" on page 622

612

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:LEVel:LOW

(see page 818)

Command Syntax :TRIGger:LEVel:LOW <level>, <source>

<level> ::= 0.75 x full-scale voltage from center screen in NR3 format for internal triggers

<source> ::= {CHANnel<n> | EXTernal}

Query Syntax
Return Format See Also

<n> ::= 1 to (# analog channels) in NR1 format
The :TRIGger:LEVel:LOW command sets the low trigger voltage level voltage for the specified source.
:TRIGger:LEVel:LOW? <source>
The :TRIGger:LEVel:LOW? query returns the low trigger voltage level for the specified source.
<level><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:LEVel:HIGH" on page 612 · ":TRIGger[:EDGE]:SOURce" on page 622

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

613

28 :TRIGger Commands

:TRIGger:MODE

(see page 818) Command Syntax :TRIGger:MODE <mode>
<mode> ::= {EDGE | GLITch | PATTern | SHOLd | TRANsition | TV | SBUS1}
The :TRIGger:MODE command selects the trigger mode (trigger type).

NOTE

The PATTern, SHOLd, and TRANsition modes are available on the DSOX1200-Series oscilloscopes only.

Query Syntax

:TRIGger:MODE?
The :TRIGger:MODE? query returns the current trigger mode. If the :TIMebase:MODE is ROLL or XY, the query returns "NONE".

Return Format <mode><NL>

See Also

<mode> ::= {EDGE | GLIT | PATT | SHOL | TRAN | TV | SBUS1}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:SWEep" on page 616 · ":TIMebase:MODE" on page 595

Example Code

' TRIGGER_MODE - Set the trigger mode to EDGE. myScope.WriteString ":TRIGger:MODE EDGE"
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

614

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:NREJect

(see page 818)

Command Syntax :TRIGger:NREJect <value>

Query Syntax Return Format

<value> ::= {{0 | OFF} | {1 | ON}}
The :TRIGger:NREJect command turns the noise reject filter off and on. When the noise reject filter is on, the trigger circuitry is less sensitive to noise but may require a greater amplitude waveform to trigger the oscilloscope. This command is not valid in TV trigger mode.
:TRIGger:NREJect?
The :TRIGger:NREJect? query returns the current noise reject filter mode.
<value><NL>

<value> ::= {0 | 1}
See Also · "Introduction to :TRIGger Commands" on page 605

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

615

28 :TRIGger Commands

:TRIGger:SWEep

(see page 818) Command Syntax :TRIGger:SWEep <sweep>
<sweep> ::= {AUTO | NORMal}
The :TRIGger:SWEep command selects the trigger sweep mode. When AUTO sweep mode is selected, a baseline is displayed in the absence of a signal. If a signal is present but the oscilloscope is not triggered, the unsynchronized signal is displayed instead of a baseline. When NORMal sweep mode is selected and no trigger is present, the instrument does not sweep, and the data acquired on the previous trigger remains on the screen.

NOTE

This feature is called "Mode" on the instrument's front panel.

Query Syntax :TRIGger:SWEep? The :TRIGger:SWEep? query returns the current trigger sweep mode.
Return Format <sweep><NL>
<sweep> ::= current trigger sweep mode
See Also · "Introduction to :TRIGger Commands" on page 605

616

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger[:EDGE] Commands

Table 80 :TRIGger[:EDGE] Commands Summary

Command

Query

Options and Query Returns

:TRIGger[:EDGE]:COUPl
ing {AC | DC |
LFReject} (see page 618)

:TRIGger[:EDGE]:COUPl ing? (see page 618)

{AC | DC | LFReject}

:TRIGger[:EDGE]:LEVel
<level> [,<source>] (see page 619)

:TRIGger[:EDGE]:LEVel
? [<source>] (see page 619)

For internal triggers, <level> ::= .75 x full-scale voltage from center screen in NR3 format.
For external triggers, <level> ::= ±(external range setting) in NR3 format.
<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format

:TRIGger[:EDGE]:REJec
t {OFF | LFReject |
HFReject} (see page 620)

:TRIGger[:EDGE]:REJec t? (see page 620)

{OFF | LFReject | HFReject}

:TRIGger[:EDGE]:SLOPe :TRIGger[:EDGE]:SLOPe <polarity> ::= {POSitive |

<polarity> (see

? (see page 621)

NEGative | EITHer | ALTernate}

page 621)

:TRIGger[:EDGE]:SOURc
e <source> (see page 622)

:TRIGger[:EDGE]:SOURc e? (see page 622)

<source> ::= {CHANnel<n> | EXTernal | LINE | WGEN}
<n> ::= 1 to (# analog channels) in NR1 format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

617

28 :TRIGger Commands

:TRIGger[:EDGE]:COUPling

(see page 818) Command Syntax :TRIGger[:EDGE]:COUPling <coupling>
<coupling> ::= {AC | DC | LFReject}
The :TRIGger[:EDGE]:COUPling command sets the input coupling for the selected trigger sources. The coupling can be set to AC, DC, or LFReject. · AC coupling places a high-pass filter (10 Hz for analog channels, and 3.5 Hz for
all External trigger inputs) in the trigger path, removing dc offset voltage from the trigger waveform. Use AC coupling to get a stable edge trigger when your waveform has a large dc offset. · LFReject coupling places a 50 KHz high-pass filter in the trigger path. · DC coupling allows dc and ac signals into the trigger path.

NOTE

The :TRIGger[:EDGE]:COUPling and the :TRIGger[:EDGE]:REJect selections are coupled. Changing the setting of the :TRIGger[:EDGE]:REJect can change the COUPling setting.

Query Syntax Return Format

:TRIGger[:EDGE]:COUPling?
The :TRIGger[:EDGE]:COUPling? query returns the current coupling selection.
<coupling><NL>

See Also

<coupling> ::= {AC | DC | LFR}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":TRIGger[:EDGE]:REJect" on page 620

618

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger[:EDGE]:LEVel

(see page 818) Command Syntax :TRIGger[:EDGE]:LEVel <level>
<level> ::= <level>[,<source>]
<level> ::= 0.75 x full-scale voltage from center screen in NR3 format for internal triggers
<level> ::= ±(external range setting) in NR3 format for external triggers
<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
The :TRIGger[:EDGE]:LEVel command sets the trigger level voltage for the active trigger source.

NOTE

If the optional source is specified and is not the active source, the level on the active source is not affected and the active source is not changed.

Query Syntax
Return Format See Also

:TRIGger[:EDGE]:LEVel? [<source>]
The :TRIGger[:EDGE]:LEVel? query returns the trigger level of the current trigger source.
<level><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger[:EDGE]:SOURce" on page 622 · ":EXTernal:RANGe" on page 267

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

619

28 :TRIGger Commands

:TRIGger[:EDGE]:REJect

(see page 818) Command Syntax :TRIGger[:EDGE]:REJect <reject>
<reject> ::= {OFF | LFReject | HFReject}
The :TRIGger[:EDGE]:REJect command turns the low-frequency or high-frequency reject filter on or off. You can turn on one of these filters at a time. · The high frequency reject filter adds a 50 kHz low-pass filter in the trigger path
to remove high frequency components from the trigger waveform. Use the high frequency reject filter to remove high-frequency noise, such as AM or FM broadcast stations, from the trigger path. · The low frequency reject filter adds a 50 kHz high-pass filter in series with the trigger waveform to remove any unwanted low frequency components from a trigger waveform, such as power line frequencies, that can interfere with proper triggering.

NOTE

The :TRIGger[:EDGE]:REJect and the :TRIGger[:EDGE]:COUPling selections are coupled. Changing the setting of the :TRIGger[:EDGE]:COUPling can change the COUPling setting.

Query Syntax Return Format

:TRIGger[:EDGE]:REJect?
The :TRIGger[:EDGE]:REJect? query returns the current status of the reject filter.
<reject><NL>

See Also

<reject> ::= {OFF | LFR | HFR}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:HFReject" on page 609 · ":TRIGger[:EDGE]:COUPling" on page 618

620

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger[:EDGE]:SLOPe

(see page 818)

Command Syntax :TRIGger[:EDGE]:SLOPe <slope>

Query Syntax Return Format

<slope> ::= {NEGative | POSitive | EITHer | ALTernate}
The :TRIGger[:EDGE]:SLOPe command specifies the slope of the edge for the trigger. The SLOPe command is not valid in TV trigger mode. Instead, use :TRIGger:TV:POLarity to set the polarity in TV trigger mode.
:TRIGger[:EDGE]:SLOPe?
The :TRIGger[:EDGE]:SLOPe? query returns the current trigger slope.
<slope><NL>

See Also Example Code

<slope> ::= {NEG | POS | EITH | ALT}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":TRIGger:TV:POLarity" on page 650
' TRIGGER_EDGE_SLOPE - Sets the slope of the edge for the trigger.

' Set the slope to positive. myScope.WriteString ":TRIGGER:EDGE:SLOPE POSITIVE"
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

621

28 :TRIGger Commands

:TRIGger[:EDGE]:SOURce

(see page 818)

Command Syntax :TRIGger[:EDGE]:SOURce <source>

<source> ::= {CHANnel<n> | EXTernal | LINE | WGEN}

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :TRIGger[:EDGE]:SOURce command selects the input that produces the trigger. · EXTernal -- triggers on the rear panel EXT TRIG IN signal. · LINE -- triggers at the 50% level of the rising or falling edge of the AC power
source signal. · WGEN -- triggers at the 50% level of the rising edge of the waveform generator
output signal. This option is not available when the DC or NOISe waveforms are selected. This option is also not available when serial decode is on due to hardware limitations.
:TRIGger[:EDGE]:SOURce?
The :TRIGger[:EDGE]:SOURce? query returns the current source. If all channels are off, the query returns "NONE."
<source><NL>

See Also Example Code

<source> ::= {CHAN<n> | EXT | LINE | WGEN | NONE}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614
' TRIGGER_EDGE_SOURCE - Selects the channel that actually produces th e
' edge trigger. Any channel can be selected. myScope.WriteString ":TRIGger:EDGE:SOURce CHANnel1"
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

622

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:GLITch Commands

Table 81 :TRIGger:GLITch Commands Summary

Command

Query

Options and Query Returns

:TRIGger:GLITch:GREat
erthan
<greater_than_time>[s uffix] (see page 624)

:TRIGger:GLITch:GREat erthan? (see page 624)

<greater_than_time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

:TRIGger:GLITch:LESSt
han
<less_than_time>[suff ix] (see page 625)

:TRIGger:GLITch:LESSt han? (see page 625)

<less_than_time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

:TRIGger:GLITch:LEVel
<level> [<source>] (see page 626)

:TRIGger:GLITch:LEVel ? (see page 626)

For internal triggers, <level> ::= .75 x full-scale voltage from center screen in NR3 format.
For external triggers, <level> ::= ±(external range setting) in NR3 format.
<source> ::= {CHANnel<n> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format

:TRIGger:GLITch:POLar :TRIGger:GLITch:POLar <polarity> ::= {POSitive |

ity <polarity> (see ity? (see page 627)

NEGative}

page 627)

:TRIGger:GLITch:QUALi :TRIGger:GLITch:QUALi <qualifier> ::= {GREaterthan |

fier <qualifier> (see fier? (see page 628)

LESSthan | RANGe}

page 628)

:TRIGger:GLITch:RANGe
<less_than_time>[suff
ix],
<greater_than_time>[s uffix] (see page 629)

:TRIGger:GLITch:RANGe ? (see page 629)

<less_than_time> ::= 15 ns to 10 seconds in NR3 format
<greater_than_time> ::= 10 ns to 9.99 seconds in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

:TRIGger:GLITch:SOURc :TRIGger:GLITch:SOURc <source> ::= {CHANnel<n>}

e <source> (see page 630)

e? (see page 630)

<n> ::= 1 to (# analog channels) in NR1 format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

623

28 :TRIGger Commands

:TRIGger:GLITch:GREaterthan

(see page 818)

Command Syntax :TRIGger:GLITch:GREaterthan <greater_than_time>[<suffix>]

<greater_than_time> ::= floating-point number in NR3 format

Query Syntax Return Format

<suffix> ::= {s | ms | us | ns | ps}
The :TRIGger:GLITch:GREaterthan command sets the minimum pulse width duration for the selected :TRIGger:GLITch:SOURce.
:TRIGger:GLITch:GREaterthan?
The :TRIGger:GLITch:GREaterthan? query returns the minimum pulse width duration time for :TRIGger:GLITch:SOURce.
<greater_than_time><NL>

See Also

<greater_than_time> ::= floating-point number in NR3 format.
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:GLITch:SOURce" on page 630 · ":TRIGger:GLITch:QUALifier" on page 628 · ":TRIGger:MODE" on page 614

624

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:GLITch:LESSthan

(see page 818)

Command Syntax :TRIGger:GLITch:LESSthan <less_than_time>[<suffix>]

<less_than_time> ::= floating-point number in NR3 format

Query Syntax Return Format

<suffix> ::= {s | ms | us | ns | ps}
The :TRIGger:GLITch:LESSthan command sets the maximum pulse width duration for the selected :TRIGger:GLITch:SOURce.
:TRIGger:GLITch:LESSthan?
The :TRIGger:GLITch:LESSthan? query returns the pulse width duration time for :TRIGger:GLITch:SOURce.
<less_than_time><NL>

See Also

<less_than_time> ::= floating-point number in NR3 format.
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:GLITch:SOURce" on page 630 · ":TRIGger:GLITch:QUALifier" on page 628 · ":TRIGger:MODE" on page 614

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

625

28 :TRIGger Commands

:TRIGger:GLITch:LEVel

(see page 818)

Command Syntax :TRIGger:GLITch:LEVel <level_argument>

<level_argument> ::= <level>[, <source>]

<level> ::= .75 x full-scale voltage from center screen in NR3 format for internal triggers

<level> ::= ±(external range setting) in NR3 format for external triggers

<source> ::= {CHANnel<n> | EXTernal}

Query Syntax
Return Format See Also

<n> ::= 1 to (# analog channels) in NR1 format
The :TRIGger:GLITch:LEVel command sets the trigger level voltage for the active pulse width trigger.
:TRIGger:GLITch:LEVel?
The :TRIGger:GLITch:LEVel? query returns the trigger level of the current pulse width trigger mode. If all channels are off, the query returns "NONE."
<level_argument><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":TRIGger:GLITch:SOURce" on page 630 · ":EXTernal:RANGe" on page 267

626

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:GLITch:POLarity

(see page 818)

Command Syntax :TRIGger:GLITch:POLarity <polarity>

<polarity> ::= {POSitive | NEGative}
The :TRIGger:GLITch:POLarity command sets the polarity for the glitch pulse width trigger.

Query Syntax Return Format

:TRIGger:GLITch:POLarity?
The :TRIGger:GLITch:POLarity? query returns the glitch pulse width trigger polarity.
<polarity><NL>

See Also

<polarity> ::= {POS | NEG}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":TRIGger:GLITch:SOURce" on page 630

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

627

28 :TRIGger Commands

:TRIGger:GLITch:QUALifier

(see page 818)

Command Syntax :TRIGger:GLITch:QUALifier <operator>

Query Syntax Return Format

<operator> ::= {GREaterthan | LESSthan | RANGe}
This command sets the mode of operation of the glitch pulse width trigger. The oscilloscope can trigger on a pulse width that is greater than a time value, less than a time value, or within a range of time values.
:TRIGger:GLITch:QUALifier?
The :TRIGger:GLITch:QUALifier? query returns the glitch pulse width qualifier.
<operator><NL>

See Also

<operator> ::= {GRE | LESS | RANG}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:GLITch:SOURce" on page 630 · ":TRIGger:MODE" on page 614

628

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:GLITch:RANGe

(see page 818)

Command Syntax :TRIGger:GLITch:RANGe <less_than_time>[suffix],
<greater_than_time>[suffix]

<less_than_time> ::= (15 ns - 10 seconds) in NR3 format

<greater_than_time> ::= (10 ns - 9.99 seconds) in NR3 format

Query Syntax
Return Format See Also

[suffix] ::= {s | ms | us | ns | ps}
The :TRIGger:GLITch:RANGe command sets the pulse width duration for the selected :TRIGger:GLITch:SOURce. You can enter the parameters in any order -- the smaller value becomes the <greater_than_time> and the larger value becomes the <less_than_time>.
:TRIGger:GLITch:RANGe?
The :TRIGger:GLITch:RANGe? query returns the pulse width duration time for :TRIGger:GLITch:SOURce.
<less_than_time>,<greater_than_time><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:GLITch:SOURce" on page 630 · ":TRIGger:GLITch:QUALifier" on page 628 · ":TRIGger:MODE" on page 614

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

629

28 :TRIGger Commands

:TRIGger:GLITch:SOURce

(see page 818)

Command Syntax :TRIGger:GLITch:SOURce <source>

<source> ::= {DIGital<d> | CHANnel<n>}

<n> ::= 1 to (# analog channels) in NR1 format

Query Syntax Return Format
See Also
Example Code

<d> ::= 0 to (# digital channels - 1) in NR1 format
The :TRIGger:GLITch:SOURce command selects the channel that produces the pulse width trigger.
:TRIGger:GLITch:SOURce?
The :TRIGger:GLITch:SOURce? query returns the current pulse width source. If all channels are off, the query returns "NONE".
<source><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":TRIGger:GLITch:LEVel" on page 626 · ":TRIGger:GLITch:POLarity" on page 627 · ":TRIGger:GLITch:QUALifier" on page 628 · ":TRIGger:GLITch:RANGe" on page 629 · "Example Code" on page 622

630

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:PATTern Commands

NOTE

The :TRIGger:PATTern commands are available on the DSOX1200-Series oscilloscopes only.

Table 82 :TRIGger:PATTern Commands Summary

Command

Query

Options and Query Returns

:TRIGger:PATTern
<string>[,<edge_sourc
e>,<edge>] (see page 632)

:TRIGger:PATTern? (see page 633)

<string> ::= "nn...n" where n ::= {0 | 1 | X | R | F} when <base> = ASCii
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $} when <base> = HEX
<edge_source> ::= {CHANnel<n> | EXTernal | NONE}
<n> ::= 1 to (# analog channels) in NR1 format
EXTernal available on 2-channel oscilloscopes only
<edge> ::= {POSitive | NEGative}

:TRIGger:PATTern:FORM :TRIGger:PATTern:FORM <base> ::= {ASCii | HEX}

at <base> (see

at? (see page 634)

page 634)

:TRIGger:PATTern:QUAL :TRIGger:PATTern:QUAL <qualifier> ::= ENTered

ifier <qualifier>

ifier? (see page 635)

(see page 635)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

631

28 :TRIGger Commands

:TRIGger:PATTern

(see page 818) Command Syntax :TRIGger:PATTern <pattern>
<pattern> ::= <string>[,<edge_source>,<edge>]
<string> ::= "nn...n" where n ::= {0 | 1 | X | R | F} when <base> = ASCii
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $} when <base> = HEX
<edge_source> ::= {CHANnel<n> | EXTernal | NONE}
<n> ::= 1 to (# of analog channels) in NR1 format
<edge> ::= {POSitive | NEGative}
The :TRIGger:PATTern command specifies the channel values to be used in the pattern trigger. In the <string> parameter, each bit corresponds to a channel as described in the following table:

Oscilloscope Models 2 analog + 1 external trigger input
4 analog channels only

Value and Mask Bit Assignments Bit 0 - external trigger input. Bits 1 and 2 analog channels 2 and 1. Bits 0 through 3 - analog channels 4 through 1.

NOTE

The format of the <string> parameter depends on the :TRIGger:PATTern:FORMat command setting: · When the format is ASCii, the string looks just like the string you see on the
oscilloscope's front panel, made up of 0, 1, X (don't care), R (rising edge), and F (falling edge) characters. · When the format is HEX, the string begins with "0x" and contains hex digit characters or X (don't care for all four bits in the nibble). With the hex format string, you can use the <edge_source> and <edge> parameters to specify an edge on one of the channels.
The optional <edge_source> and <edge> parameters should be sent together or not at all. The edge can be specified in the ASCII <string> parameter. If the edge source and edge parameters are used, they take precedence.

632

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

NOTE

EXTernal can be used as an edge source on 2-channel oscilloscopes only.

Query Syntax
Return Format See Also

You can only specify an edge on one channel. When an edge is specified, the :TRIGger:PATTern:QUALifier does not apply.
:TRIGger:PATTern?
The :TRIGger:PATTern? query returns the pattern string, edge source, and edge.
<string>,<edge_source>,<edge><NL>
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:PATTern:FORMat" on page 634 · ":TRIGger:PATTern:QUALifier" on page 635 · ":TRIGger:MODE" on page 614

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

633

28 :TRIGger Commands

:TRIGger:PATTern:FORMat

(see page 818)

Command Syntax :TRIGger:PATTern:FORMat <base>

<base> ::= {ASCii | HEX}
The :TRIGger:PATTern:FORMat command sets the entry (and query) number base used by the :TRIGger:PATTern command. The default <base> is ASCii.

Query Syntax Return Format

:TRIGger:PATTern:FORMat?
The :TRIGger:PATTern:FORMat? query returns the currently set number base for pattern trigger patterns.
<base><NL>

See Also

<base> ::= {ASC | HEX}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:PATTern" on page 632

634

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:PATTern:QUALifier

(see page 818)

Command Syntax :TRIGger:PATTern:QUALifier <qualifier>

<qualifier> ::= ENTered
The :TRIGger:PATTern:QUALifier command qualifies when the trigger occurs.

Query Syntax
Return Format See Also

In the InfiniiVision 1200 X-Series and EDUX11052A/G oscilloscopes, the trigger always occurs when the pattern is entered.
:TRIGger:PATTern:QUALifier?
The :TRIGger:PATTern:QUALifier? query returns the trigger duration qualifier.
<qualifier><NL>
· "Introduction to :TRIGger Commands" on page 605

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

635

28 :TRIGger Commands

:TRIGger:SHOLd Commands

NOTE

The :TRIGger:SHOLd commands are available on the DSOX1200-Series oscilloscopes only.

Table 83 :TRIGger:SHOLd Commands Summary

Command

Query

Options and Query Returns

:TRIGger:SHOLd:SLOPe :TRIGger:SHOLd:SLOPe? <slope> ::= {NEGative | POSitive} <slope> (see page 637) (see page 637)

:TRIGger:SHOLd:SOURce :TRIGger:SHOLd:SOURce <source> ::= {CHANnel<n>}

:CLOCk <source> (see page 638)

:CLOCk? (see page 638) <n> ::= 1 to (# analog channels) in NR1 format

:TRIGger:SHOLd:SOURce :TRIGger:SHOLd:SOURce <source> ::= {CHANnel<n>}

:DATA <source> (see page 639)

:DATA? (see page 639)

<n> ::= 1 to (# analog channels) in NR1 format

:TRIGger:SHOLd:TIME:H
OLD <time>[suffix] (see page 640)

:TRIGger:SHOLd:TIME:H OLD? (see page 640)

<time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

:TRIGger:SHOLd:TIME:S
ETup <time>[suffix] (see page 641)

:TRIGger:SHOLd:TIME:S ETup? (see page 641)

<time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

636

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:SHOLd:SLOPe

(see page 818)

Command Syntax :TRIGger:SHOLd:SLOPe <slope>

<slope> ::= {NEGative | POSitive}
The :TRIGger:SHOLd:SLOPe command specifies whether the rising edge or the falling edge of the clock signal is used.

Query Syntax Return Format

:TRIGger:SHOLd:SLOPe?
The :TRIGger:SHOLd:SLOPe? query returns the current rising or falling edge setting.
<slope><NL>

See Also

<slope> ::= {NEG | POS}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":TRIGger:SHOLd:SOURce:CLOCk" on page 638 · ":TRIGger:SHOLd:SOURce:DATA" on page 639

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

637

28 :TRIGger Commands

:TRIGger:SHOLd:SOURce:CLOCk

(see page 818)

Command Syntax :TRIGger:SHOLd:SOURce:CLOCk <source>

<source> ::= {CHANnel<n>}

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :TRIGger:SHOLd:SOURce:CLOCk command selects the input channel probing the clock signal.
:TRIGger:SHOLd:SOURce:CLOCk?
The :TRIGger:SHOLd:SOURce:CLOCk? query returns the currently set clock signal source.
<source><NL>

See Also

<source> ::= {CHAN<n>}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":TRIGger:SHOLd:SLOPe" on page 637

638

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:SHOLd:SOURce:DATA

(see page 818)

Command Syntax :TRIGger:SHOLd:SOURce:DATA <source>

<source> ::= {CHANnel<n>}

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :TRIGger:SHOLd:SOURce:DATA command selects the input channel probing the data signal.
:TRIGger:SHOLd:SOURce:DATA?
The :TRIGger:SHOLd:SOURce:DATA? query returns the currently set data signal source.
<source><NL>

See Also

<source> ::= {CHAN<n>}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":TRIGger:SHOLd:SLOPe" on page 637

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

639

28 :TRIGger Commands

:TRIGger:SHOLd:TIME:HOLD

(see page 818)

Command Syntax :TRIGger:SHOLd:TIME:HOLD <time>[suffix]

<time> ::= floating-point number in NR3 format

Query Syntax Return Format

[suffix] ::= {s | ms | us | ns | ps}
The :TRIGger:SHOLd:TIME:HOLD command sets the hold time.
:TRIGger:SHOLd:TIME:HOLD?
The :TRIGger:SHOLd:TIME:HOLD? query returns the currently specified hold time.
<time><NL>

<time> ::= floating-point number in NR3 format
See Also · "Introduction to :TRIGger Commands" on page 605

640

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:SHOLd:TIME:SETup

(see page 818)

Command Syntax :TRIGger:SHOLd:TIME:SETup <time>[suffix]

<time> ::= floating-point number in NR3 format

Query Syntax

[suffix] ::= {s | ms | us | ns | ps}
The :TRIGger:SHOLd:TIME:SETup command sets the setup time.
:TRIGger:SHOLd:TIME:SETup?
The :TRIGger:SHOLd:TIME:SETup? query returns the currently specified setup time.

Return Format <time><NL>

<time> ::= floating-point number in NR3 format
See Also · "Introduction to :TRIGger Commands" on page 605

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

641

28 :TRIGger Commands

:TRIGger:TRANsition Commands

NOTE

The :TRIGger:TRANsition commands are available on the DSOX1200-Series oscilloscopes only.

The :TRIGger:TRANsition commands set the rise/fall time trigger options.

Table 84 :TRIGger:TRANsition Commands Summary

Command

Query

Options and Query Returns

:TRIGger:TRANsition:Q :TRIGger:TRANsition:Q <qualifier> ::= {GREaterthan |

UALifier <qualifier> UALifier? (see

(see page 643)

page 643)

LESSthan}

:TRIGger:TRANsition:S :TRIGger:TRANsition:S <slope> ::= {NEGative | POSitive}

LOPe <slope> (see

LOPe? (see page 644)

page 644)

:TRIGger:TRANsition:S :TRIGger:TRANsition:S <source> ::= {CHANnel<n>}

OURce <source> (see page 645)

OURce? (see page 645)

<n> ::= 1 to (# analog channels) in NR1 format

:TRIGger:TRANsition:T
IME <time>[suffix] (see page 646)

:TRIGger:TRANsition:T IME? (see page 646)

<time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

642

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:TRANsition:QUALifier

(see page 818)

Command Syntax :TRIGger:TRANsition:QUALifier <qualifier>

Query Syntax Return Format

<qualifier> ::= {GREaterthan | LESSthan}
The :TRIGger:TRANsition:QUALifier command specifies whether you are looking for rise/fall times greater than or less than a certain time value. The time value is set using the :TRIGger:TRANsition:TIME command.
:TRIGger:TRANsition:QUALifier?
The :TRIGger:TRANsition:QUALifier? query returns the current rise/fall time trigger qualifier setting.
<qualifier><NL>

See Also

<qualifier> ::= {GRE | LESS}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:TRANsition:TIME" on page 646 · ":TRIGger:MODE" on page 614

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

643

28 :TRIGger Commands

:TRIGger:TRANsition:SLOPe

(see page 818)

Command Syntax :TRIGger:TRANsition:SLOPe <slope>

<slope> ::= {NEGative | POSitive}
The :TRIGger:TRANsition:SLOPe command specifies a POSitive rising edge or a NEGative falling edge.

Query Syntax Return Format

:TRIGger:TRANsition:SLOPe?
The :TRIGger:TRANsition:SLOPe? query returns the current rise/fall time trigger slope setting.
<slope><NL>

See Also

<slope> ::= {NEG | POS}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":TRIGger:TRANsition:SOURce" on page 645

644

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:TRANsition:SOURce

(see page 818)

Command Syntax :TRIGger:TRANsition:SOURce <source>

<source> ::= {CHANnel<n>}

Query Syntax Return Format

<n> ::= 1 to (# analog channels) in NR1 format
The :TRIGger:TRANsition:SOURce command selects the channel used to produce the trigger.
:TRIGger:TRANsition:SOURce?
The :TRIGger:TRANsition:SOURce? query returns the current transition trigger source.
<source><NL>

See Also

<source> ::= {CHAN<n>}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":TRIGger:TRANsition:SLOPe" on page 644

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

645

28 :TRIGger Commands

:TRIGger:TRANsition:TIME

(see page 818)

Command Syntax :TRIGger:TRANsition:TIME <time>[suffix]

<time> ::= floating-point number in NR3 format

[suffix] ::= {s | ms | us | ns | ps}
The :TRIGger:TRANsition:TIME command sets the time value for rise/fall time triggers. You also use the :TRIGger:TRANsition:QUALifier command to specify whether you are triggering on times greater than or less than this time value.

Query Syntax Return Format

:TRIGger:TRANsition:TIME?
The :TRIGger:TRANsition:TIME? query returns the current rise/fall time trigger time value.
<time><NL>

See Also

<time> ::= floating-point number in NR3 format
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:TRANsition:QUALifier" on page 643

646

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:TV Commands

Table 85 :TRIGger:TV Commands Summary

Command

Query

Options and Query Returns

:TRIGger:TV:LINE
<line number> (see page 648)

:TRIGger:TV:LINE? (see page 648)

<line number> ::= integer in NR1 format

:TRIGger:TV:MODE <tv :TRIGger:TV:MODE?

mode> (see page 649)

(see page 649)

<tv mode> ::= {FIEld1 | FIEld2 | AFIelds | ALINes | LFIeld1 | LFIeld2 | LALTernate}

:TRIGger:TV:POLarity
<polarity> (see page 650)

:TRIGger:TV:POLarity? <polarity> ::= {POSitive |

(see page 650)

NEGative}

:TRIGger:TV:SOURce
<source> (see page 651)

:TRIGger:TV:SOURce? (see page 651)

<source> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format

:TRIGger:TV:STANdard
<standard> (see page 652)

:TRIGger:TV:STANdard? <standard> ::= {NTSC | PAL | PALM

(see page 652)

| SECam}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

647

28 :TRIGger Commands

:TRIGger:TV:LINE

(see page 818) Command Syntax :TRIGger:TV:LINE <line_number>
<line_number> ::= integer in NR1 format
The :TRIGger:TV:LINE command allows triggering on a specific line of video. The line number limits vary with the standard and mode, as shown in the following table.

Table 86 TV Trigger Line Number Limits

TV Standard
NTSC PAL PAL-M SECAM

Mode LFIeld1 1 to 263 1 to 313 1 to 263 1 to 313

LFIeld2 1 to 262 314 to 625 264 to 525 314 to 625

LALTernate 1 to 262 1 to 312 1 to 262 1 to 312

Query Syntax Return Format

:TRIGger:TV:LINE?
The :TRIGger:TV:LINE? query returns the current TV trigger line number setting.
<line_number><NL>

See Also

<line_number>::= integer in NR1 format
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:TV:STANdard" on page 652 · ":TRIGger:TV:MODE" on page 649

648

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:TV:MODE

(see page 818) Command Syntax :TRIGger:TV:MODE <mode>
<mode> ::= {FIEld1 | FIEld2 | AFIelds | ALINes | LFIeld1 | LFIeld2 | LALTernate}
The :TRIGger:TV:MODE command selects the TV trigger mode and field. Old forms for <mode> are accepted:

<mode> FIEld1 FIEld2 AFIelds ALINes LFIeld1 LFIeld2 LALTernate

Old Forms Accepted F1 F2 ALLFields, ALLFLDS ALLLines LINEF1, LINEFIELD1 LINEF2, LINEFIELD2 LINEAlt

Query Syntax :TRIGger:TV:MODE? The :TRIGger:TV:MODE? query returns the TV trigger mode.

Return Format <value><NL>

See Also

<value> ::= {FIE1 | FIE2 | AFI | ALIN | LFI1 | LFI2 | LALT}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:TV:STANdard" on page 652 · ":TRIGger:MODE" on page 614

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

649

28 :TRIGger Commands

:TRIGger:TV:POLarity

(see page 818)

Command Syntax :TRIGger:TV:POLarity <polarity>

<polarity> ::= {POSitive | NEGative}
The :TRIGger:TV:POLarity command sets the polarity for the TV trigger.

Query Syntax Return Format

:TRIGger:TV:POLarity?
The :TRIGger:TV:POLarity? query returns the TV trigger polarity.
<polarity><NL>

See Also

<polarity> ::= {POS | NEG}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":TRIGger:TV:SOURce" on page 651

650

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:TRIGger Commands 28

:TRIGger:TV:SOURce

(see page 818)

Command Syntax :TRIGger:TV:SOURce <source>

<source> ::= {CHANnel<n>}

Query Syntax

<n> ::= 1 to (# analog channels) in NR1 format
The :TRIGger:TV:SOURce command selects the channel used to produce the trigger.
:TRIGger:TV:SOURce?
The :TRIGger:TV:SOURce? query returns the current TV trigger source.

Return Format <source><NL>

See Also

<source> ::= {CHAN<n>}
· "Introduction to :TRIGger Commands" on page 605 · ":TRIGger:MODE" on page 614 · ":TRIGger:TV:POLarity" on page 650

Example Code · "Example Code" on page 622

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

651

28 :TRIGger Commands

:TRIGger:TV:STANdard

(see page 818)

Command Syntax :TRIGger:TV:STANdard <standard>

<standard> ::= {NTSC | PALM | PAL | SECam}
The :TRIGger:TV:STANdard command selects the video standard: · NTSC · PAL · PAL-M · SECAM

Query Syntax Return Format

:TRIGger:TV:STANdard?
The :TRIGger:TV:STANdard? query returns the current TV trigger standard setting.
<standard><NL>

<standard> ::= {NTSC | PALM | PAL | SEC}

652

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
29 :WAVeform Commands

Provide access to waveform data. See "Introduction to :WAVeform Commands" on page 655.

Table 87 :WAVeform Commands Summary

Command

Query

Options and Query Returns

:WAVeform:BYTeorder :WAVeform:BYTeorder? <value> ::= {LSBFirst | MSBFirst} <value> (see page 660) (see page 660)

n/a

:WAVeform:COUNt? (see <count> ::= an integer from 1 to

page 661)

65536 in NR1 format

n/a

:WAVeform:DATA? (see <binary block length bytes>,

page 662)

<binary data>

For example, to transmit 1000 bytes of data, the syntax would be: #800001000<1000 bytes of data><NL>

8 is the number of digits that follow

00001000 is the number of bytes to be transmitted

<1000 bytes of data> is the actual data

:WAVeform:FORMat

:WAVeform:FORMat?

<value> (see page 664) (see page 664)

<value> ::= {WORD | BYTE | ASCII}

:WAVeform:POINts
<# points> (see page 665)

:WAVeform:POINts? (see page 665)

<# points> ::= {100 | 250 | 500 | 1000 | <points_mode>} if waveform points mode is NORMal
<# points> ::= {100 | 250 | 500 | 1000 | 2000 ... 2000000 in 1-2-5 sequence | <points_mode>} if waveform points mode is MAXimum or RAW
<points_mode> ::= {NORMal | MAXimum | RAW}

653

29 :WAVeform Commands

Table 87 :WAVeform Commands Summary (continued)

Command

Query

Options and Query Returns

:WAVeform:POINts:MODE :WAVeform:POINts:MODE <points_mode> ::= {NORMal |

<points_mode> (see

? (see page 667)

MAXimum | RAW}

page 667)

n/a

:WAVeform:PREamble? <preamble_block> ::= <format

(see page 669)

NR1>, <type NR1>,<points

NR1>,<count NR1>, <xincrement

NR3>, <xorigin NR3>, <xreference

NR1>,<yincrement NR3>, <yorigin

NR3>, <yreference NR1>

<format> ::= an integer in NR1 format:

· 0 for BYTE format · 1 for WORD format · 2 for ASCii format
<type> ::= an integer in NR1 format:

· 0 for NORMal type · 1 for PEAK detect type · 3 for AVERage type · 4 for HRESolution type
<count> ::= Average count, or 1 if PEAK detect type or NORMal; an integer in NR1 format

n/a

:WAVeform:SEGMented:C <count> ::= an integer from 2 to

OUNt? (see page 672)

500 in NR1 format (with SGM

license)

n/a

:WAVeform:SEGMented:T <time_tag> ::= in NR3 format

TAG? (see page 673)

(with SGM license)

:WAVeform:SOURce
<source> (see page 674)

:WAVeform:SOURce? (see page 674)

<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r> | SBUS1 | ABUS | EXT}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
EXT available on 2-channel oscilloscopes only

:WAVeform:SOURce:SUBS :WAVeform:SOURce:SUBS <subsource> ::= {{SUB0 | RX |

ource <subsource>

ource? (see page 678) MOSI} | {SUB1 | TX | MISO}}

(see page 678)

n/a

:WAVeform:TYPE? (see <return_mode> ::= {NORM | PEAK |

page 679)

AVER | HRES}

654

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29

Table 87 :WAVeform Commands Summary (continued)

Command

Query

Options and Query Returns

:WAVeform:UNSigned
{{0 | OFF} | {1 | ON}} (see page 680)

:WAVeform:UNSigned? (see page 680)

{0 | 1}

:WAVeform:VIEW <view> :WAVeform:VIEW? (see <view> ::= {MAIN}

(see page 681)

page 681)

n/a

:WAVeform:XINCrement? <return_value> ::= x-increment

(see page 682)

in the current preamble in NR3

format

n/a

:WAVeform:XORigin?

<return_value> ::= x-origin

(see page 683)

value in the current preamble in

NR3 format

n/a

:WAVeform:XREFerence? <return_value> ::= 0

(see page 684)

(x-reference value in the current

preamble in NR1 format)

n/a

:WAVeform:YINCrement? <return_value> ::= y-increment

(see page 685)

value in the current preamble in

NR3 format

n/a

:WAVeform:YORigin?

<return_value> ::= y-origin in

(see page 686)

the current preamble in NR3

format

n/a

:WAVeform:YREFerence? <return_value> ::= y-reference

(see page 687)

value in the current preamble in

NR1 format

Introduction to :WAVeform Commands

The WAVeform subsystem is used to transfer data to a controller from the oscilloscope waveform memories. The queries in this subsystem will only operate when the channel selected by :WAVeform:SOURce is on.

Waveform Data and Preamble The waveform record is actually contained in two portions: the preamble and waveform data. The waveform record must be read from the oscilloscope by the controller using two separate commands, :WAVeform:DATA (see page 662) and :WAVeform:PREamble (see page 669). The waveform data is the actual data acquired for each point in the specified source. The preamble contains the information for interpreting the waveform data, which includes the number of points acquired, the format of acquired data, and the type of acquired data. The preamble also contains the X and Y increments, origins, and references for the acquired data, so that word and byte data can be translated to time and voltage values.

Data Acquisition Types

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

655

29 :WAVeform Commands
There are four types of waveform acquisitions that can be selected for analog channels with the :ACQuire:TYPE command (see page 197): NORMal, AVERage, PEAK, and HRESolution. When the data is acquired using the :DIGitize command (see page 151) or :RUN command (see page 168), the data is placed in the channel buffer of the specified source. Once you have acquired data with the :DIGitize command, the instrument is stopped. If the instrument is restarted (via the programming interface or the front panel), or if any instrument setting is changed, the data acquired with the :DIGitize command may be overwritten.You should first acquire the data with the :DIGitize command, then immediately read the data with the :WAVeform:DATA? query (see page 662) before changing any instrument setup. A waveform record consists of either all of the acquired points or a subset of the acquired points. The number of points acquired may be queried using :ACQuire:POINts? (see page 190). Helpful Hints: The number of points transferred to the computer is controlled using the :WAVeform:POINts command (see page 665). If :WAVeform:POINts MAXimum is specified and the instrument is not running (stopped, in other words), all of the points that are displayed are transferred. This can be the full oscilloscope acquisition memory in some operating modes. You can ask for fewer points to speed data transfers and minimize controller analysis time. The :WAVeform:POINts may be varied even after data on a channel is acquired. However, this decimation may result in lost pulses and transitions. The number of points selected for transfer using :WAVeform:POINts must be an even divisor of 1,000 or be set to MAXimum. :WAVeform:POINts determines the increment between time buckets that will be transferred. If POINts = MAXimum, the data cannot be decimated. For example: · :WAVeform:POINts 1000 -- returns time buckets 0, 1, 2, 3, 4 ,.., 999. · :WAVeform:POINts 500 -- returns time buckets 0, 2, 4, 6, 8 ,.., 998. · :WAVeform:POINts 250 -- returns time buckets 0, 4, 8, 12, 16 ,.., 996. · :WAVeform:POINts 100 -- returns time buckets 0, 10, 20, 30, 40 ,.., 990. Analog Channel Data
NORMal Data Normal data consists of the last data point (hit) in each time bucket. This data is transmitted over the programming interface in a linear fashion starting with time bucket 0 and going through time bucket n - 1, where n is the number returned by the :WAVeform:POINts? query (see page 665). Only the magnitude values of each data point are transmitted. The first voltage value corresponds to the first time bucket on the left side of the screen and the last value corresponds to the

656

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29

next-to-last time bucket on the right side of the screen. Time buckets without data return 0. The time values for each data point correspond to the position of the data point in the data array. These time values are not transmitted. AVERage Data AVERage data consists of the average of the first n hits in a time bucket, where n is the value returned by the :ACQuire:COUNt query (see page 188). Time buckets that have fewer than n hits return the average of the data they do have. If a time bucket does not have any data in it, it returns 0. This data is transmitted over the interface linearly, starting with time bucket 0 and proceeding through time bucket n-1, where n is the number returned by the :WAVeform:POINts? query (see page 665). The first value corresponds to a point at the left side of the screen and the last value corresponds to one point away from the right side of the screen. The maximum number of points that can be returned in average mode is 8192 unless ACQuire:COUNt has been set to 1. PEAK Data Peak detect display mode is used to detect glitches for time base settings of 500 us/div and slower. In this mode, the oscilloscope can sample more data than it can store and display. So, when peak detect is turned on, the oscilloscope scans through the extra data, picks up the minimum and maximum for each time bucket, then stores the data in an array. Each time bucket contains two data sample. The array is transmitted over the interface bus linearly, starting with time bucket 0 proceeding through time bucket n-1, where n is the number returned by the :WAVeform:POINts? query (see page 665). In each time bucket, two values are transmitted, first the minimum, followed by the maximum. The first pair of values corresponds to the time bucket at the leftmost side of the screen. The last pair of values corresponds to the time bucket at the far right side of the screen. In :ACQuire:TYPE PEAK mode (see page 197), the value returned by the :WAVeform:XINCrement query (see page 682) should be doubled to find the time difference between the min-max pairs. HRESolution Data The high resolution (smoothing) mode is used to reduce noise at slower sweep speeds where the digitizer samples faster than needed to fill memory for the displayed time range. Data Conversion Word or byte data sent from the oscilloscope must be scaled for useful interpretation. The values used to interpret the data are the X and Y references, X and Y origins, and X and Y increments. These values are read from the waveform preamble. Each channel has its own waveform preamble. In converting a data value to a voltage value, the following formula is used:
voltage = [(data value - yreference) * yincrement] + yorigin

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

657

29 :WAVeform Commands
If the :WAVeform:FORMat data format is ASCii (see page 664), the data values are converted internally and sent as floating point values separated by commas. In converting a data value to time, the time value of a data point can be determined by the position of the data point. For example, the fourth data point sent with :WAVeform:XORigin = 16 ns, :WAVeform:XREFerence = 0, and :WAVeform:XINCrement = 2 ns, can be calculated using the following formula:
time = [(data point number - xreference) * xincrement] + xorigin This would result in the following calculation for time bucket 3:
time = [(3 - 0) * 2 ns] + 16 ns = 22 ns In :ACQuire:TYPE PEAK mode (see page 197), because data is acquired in max-min pairs, modify the previous time formula to the following:
time=[(data pair number - xreference) * xincrement * 2] + xorigin Data Format for Transfer There are three formats for transferring waveform data over the interface: BYTE, WORD and ASCii (see ":WAVeform:FORMat" on page 664). BYTE, WORD and ASCii formatted waveform records are transmitted using the arbitrary block program data format specified in IEEE 488.2. When you use the block data format, the ASCII character string "#8<DD...D>" is sent prior to sending the actual data. The 8 indicates how many Ds follow. The Ds are ASCII numbers that indicate how many data bytes follow. For example, if 1000 points will be transferred, and the WORD format was specified, the block header "#800001000" would be sent. The 8 indicates that eight length bytes follow, and 00001000 indicates that 1000 binary data bytes follow. Use the :WAVeform:UNSigned command (see page 680) to control whether data values are sent as unsigned or signed integers. This command can be used to match the instrument's internal data type to the data type used by the programming language. This command has no effect if the data format is ASCii. Data Format for Transfer - ASCii format
The ASCii format (see ":WAVeform:FORMat" on page 664) provides access to the waveform data as real Y-axis values without using Y origin, Y reference, and Y increment to convert the binary data. Values are transferred as ASCii digits in floating point format separated by commas. In ASCii format, holes are represented by the value 9.9e+37. The setting of :WAVeform:BYTeorder (see page 660) and :WAVeform:UNSigned (see page 680) have no effect when the format is ASCii. Data Format for Transfer - WORD format

658

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29
WORD format (see ":WAVeform:FORMat" on page 664) provides 16-bit access to the waveform data. In the WORD format, the number of data bytes is twice the number of data points. The number of data points is the value returned by the :WAVeform:POINts? query (see page 665). If the data intrinsically has less than 16 bits of resolution, the data is left-shifted to provide 16 bits of resolution and the least significant bits are set to 0. Currently, the greatest intrinsic resolution of any data is 12 bits, so at least the lowest 4 bits of data will be 0. If there is a hole in the data, the hole is represented by a 16 bit value equal to 0. Use :WAVeform:BYTeorder (see page 660) to determine if the least significant byte or most significant byte is to be transferred first. The :BYTeorder command can be used to alter the transmit sequence to match the storage sequence of an integer in the programming language being used. Data Format for Transfer - BYTE format The BYTE format (see ":WAVeform:FORMat" on page 664 ) allows 8-bit access to the waveform data. If the data intrinsically has more than 8 bits of resolution (averaged data), the data is right-shifted (truncated) to fit into 8 bits. If there is a hole in the data, the hole is represented by a value of 0. The BYTE-formatted data transfers over the programming interface faster than ASCii or WORD-formatted data, because in ASCii format, as many as 13 bytes per point are transferred, in BYTE format one byte per point is transferred, and in WORD format two bytes per point are transferred. The :WAVeform:BYTeorder command (see page 660) has no effect when the data format is BYTE. Reporting the Setup The following is a sample response from the :WAVeform? query. In this case, the query was issued following a *RST command.
:WAV:UNS 1;VIEW MAIN;BYT MSBF;FORM BYTE;POIN +1000;SOUR CHAN1;SOUR:SUBS NONE

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

659

29 :WAVeform Commands

:WAVeform:BYTeorder

(see page 818)

Command Syntax :WAVeform:BYTeorder <value>

<value> ::= {LSBFirst | MSBFirst}
The :WAVeform:BYTeorder command sets the output sequence of the WORD data. · MSBFirst -- sets the most significant byte to be transmitted first. · LSBFirst -- sets the least significant byte to be transmitted first.

Query Syntax Return Format

This command affects the transmitting sequence only when :WAVeform:FORMat WORD is selected. The default setting is MSBFirst.
:WAVeform:BYTeorder?
The :WAVeform:BYTeorder query returns the current output sequence.
<value><NL>

See Also Example Code

<value> ::= {LSBF | MSBF}
· "Introduction to :WAVeform Commands" on page 655 · ":WAVeform:DATA" on page 662 · ":WAVeform:FORMat" on page 664 · ":WAVeform:PREamble" on page 669
· "Example Code" on page 674 · "Example Code" on page 670

660

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29

:WAVeform:COUNt

(see page 818)

Query Syntax Return Format

:WAVeform:COUNt?
The :WAVeform:COUNT? query returns the count used to acquire the current waveform. This may differ from current values if the unit has been stopped and its configuration modified. For all acquisition types except average, this value is 1.
<count_argument><NL>

See Also

<count_argument> ::= an integer from 1 to 65536 in NR1 format
· "Introduction to :WAVeform Commands" on page 655 · ":ACQuire:COUNt" on page 188 · ":ACQuire:TYPE" on page 197

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

661

29 :WAVeform Commands

:WAVeform:DATA

Query Syntax
Return Format See Also
Example Code

(see page 818)
:WAVeform:DATA?
The :WAVeform:DATA query returns the binary block of sampled data points transmitted using the IEEE 488.2 arbitrary block data format. The binary data is formatted according to the settings of the :WAVeform:UNSigned, :WAVeform:BYTeorder, :WAVeform:FORMat, and :WAVeform:SOURce commands. The number of points returned is controlled by the :WAVeform:POINts command. In BYTE or WORD waveform formats, these data values have special meaning: · 0x00 or 0x0000 -- Hole. Holes are locations where data has not yet been
acquired. Another situation where there can be zeros in the data, incorrectly, is when programming over telnet port 5024. Port 5024 provides a command prompt and is intended for ASCII transfers. Use telnet port 5025 instead. · 0x01 or 0x0001 -- Clipped low. These are locations where the waveform is clipped at the bottom of the oscilloscope display. · 0xFF or 0xFFFF -- Clipped high. These are locations where the waveform is clipped at the top of the oscilloscope display.
<binary block data><NL>
· For a more detailed description of the data returned for different acquisition types, see: "Introduction to :WAVeform Commands" on page 655
· ":WAVeform:UNSigned" on page 680 · ":WAVeform:BYTeorder" on page 660 · ":WAVeform:FORMat" on page 664 · ":WAVeform:POINts" on page 665 · ":WAVeform:PREamble" on page 669 · ":WAVeform:SOURce" on page 674 · ":WAVeform:TYPE" on page 679
' QUERY_WAVE_DATA - Outputs waveform data that is stored in a buffer.

' Query the oscilloscope for the waveform data. myScope.WriteString ":WAV:DATA?"

' READ_WAVE_DATA - The wave data consists of two parts: the header, ' and the actual waveform data followed by a new line (NL) character. ' The query data has the following format: ' ' <header><waveform_data><NL> ' ' Where:

662

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29
' <header> = #800001000 (This is an example header) ' The "#8" may be stripped off of the header and the remaining ' numbers are the size, in bytes, of the waveform data block. The ' size can vary depending on the number of points acquired for the ' waveform. You can then read that number of bytes from the ' oscilloscope and the terminating NL character. ' Dim lngI As Long Dim lngDataValue As Long
varQueryResult = myScope.ReadIEEEBlock(BinaryType_UI1) ' Unsigned integer bytes. For lngI = 0 To UBound(varQueryResult) _
Step (UBound(varQueryResult) / 20) ' 20 points. If intBytesPerData = 2 Then
lngDataValue = varQueryResult(lngI) * 256 _ + varQueryResult(lngI + 1) ' 16-bit value.
Else lngDataValue = varQueryResult(lngI) ' 8-bit value.
End If strOutput = strOutput + "Data point " + _
CStr(lngI / intBytesPerData) + ", " + _ FormatNumber((lngDataValue - lngYReference) _
* sngYIncrement + sngYOrigin) + " V, " + _ FormatNumber(((lngI / intBytesPerData - lngXReference) _
* sngXIncrement + dblXOrigin) * 1000000) + " us" + vbCrLf Next lngI MsgBox "Waveform data:" + vbCrLf + strOutput
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

663

29 :WAVeform Commands

:WAVeform:FORMat

(see page 818)

Command Syntax :WAVeform:FORMat <value>

<value> ::= {WORD | BYTE | ASCii}
The :WAVeform:FORMat command sets the data transmission mode for waveform data points. This command controls how the data is formatted when sent from the oscilloscope. · ASCii formatted data converts the internal integer data values to real Y-axis
values. Values are transferred as ASCii digits in floating point notation, separated by commas.
ASCII formatted data is transferred ASCii text. · WORD formatted data transfers 16-bit data as two bytes. The
:WAVeform:BYTeorder command can be used to specify whether the upper or lower byte is transmitted first. The default (no command sent) is that the upper byte transmitted first. · BYTE formatted data is transferred as 8-bit bytes.

Query Syntax Return Format

:WAVeform:FORMat?
The :WAVeform:FORMat query returns the current output format for the transfer of waveform data.
<value><NL>

See Also Example Code

<value> ::= {WORD | BYTE | ASC}
· "Introduction to :WAVeform Commands" on page 655 · ":WAVeform:BYTeorder" on page 660 · ":WAVeform:SOURce" on page 674 · ":WAVeform:DATA" on page 662 · ":WAVeform:PREamble" on page 669
· "Example Code" on page 674

664

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29

:WAVeform:POINts

(see page 818) Command Syntax :WAVeform:POINts <# points>
<# points> ::= {100 | 250 | 500 | 1000 | <points mode>} if waveform points mode is NORMal
<# points> ::= {100 | 250 | 500 | 1000 | 2000 | 5000 | 10000 | 20000 | 50000 | 100000 | 200000 | 500000 | 1000000 | 2000000 | <points mode>} if waveform points mode is MAXimum or RAW
<points mode> ::= {NORMal | MAXimum | RAW}

NOTE

The <points_mode> option is deprecated. Use the :WAVeform:POINts:MODE command instead.

Query Syntax Return Format

The :WAVeform:POINts command sets the number of waveform points to be transferred with the :WAVeform:DATA? query. This value represents the points contained in the waveform selected with the :WAVeform:SOURce command. For the analog sources, the records that can be transferred depend on the waveform points mode. The maximum number of points returned for math (function) waveforms is determined by the NORMal waveform points mode. See the :WAVeform:POINts:MODE command (see page 667) for more information. Only data visible on the display will be returned.
:WAVeform:POINts?
The :WAVeform:POINts query returns the number of waveform points to be transferred when using the :WAVeform:DATA? query. Setting the points mode will affect what data is transferred (see the :WAVeform:POINts:MODE command (see page 667) for more information).
<# points><NL>

<# points> ::= {100 | 250 | 500 | 1000 | <maximum # points>} if waveform points mode is NORMal

<# points> ::= {100 | 250 | 500 | 1000 | 2000 | 5000 | 10000 | 20000 | 50000 | 100000 | 200000 | 500000 | 1000000 | 2000000 | <maximum # points>} if waveform points mode is MAXimum or RAW

NOTE

If a full screen of data is not displayed, the number of points returned will not be 1000 or an even divisor of it.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

665

29 :WAVeform Commands

See Also Example Code

· "Introduction to :WAVeform Commands" on page 655 · ":ACQuire:POINts" on page 190 · ":WAVeform:DATA" on page 662 · ":WAVeform:SOURce" on page 674 · ":WAVeform:VIEW" on page 681 · ":WAVeform:PREamble" on page 669 · ":WAVeform:POINts:MODE" on page 667
' WAVE_POINTS - Specifies the number of points to be transferred ' using the ":WAVeform:DATA?" query. myScope.WriteString ":WAVeform:POINts 1000"
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

666

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29

:WAVeform:POINts:MODE

(see page 818)

Command Syntax :WAVeform:POINts:MODE <points_mode>

<points_mode> ::= {NORMal | MAXimum | RAW}
The :WAVeform:POINts:MODE command sets the data record to be transferred with the :WAVeform:DATA? query.

Considerations for MAXimum or RAW
data retrieval
Query Syntax Return Format

For the analog sources, there are two different records that can be transferred: · The first is the raw acquisition record. The maximum number of points available
in this record is returned by the :ACQuire:POINts? query. The raw acquisition record can only be transferred when the oscilloscope is not running and can only be retrieved from the analog sources. · The second is referred to as the measurement record and is a 62,500-point (maximum) representation of the raw acquisition record. The measurement record can be retrieved from any source. If the <points_mode> is NORMal the measurement record is retrieved. If the <points_mode> is RAW, the raw acquisition record is used. Under some conditions, such as when the oscilloscope is running, this data record is unavailable. If the <points_mode> is MAXimum, whichever record contains the maximum amount of points is used. Usually, this is the raw acquisition record. But, if the raw acquisition record is unavailable (for example, when the oscilloscope is running), the measurement record may have more data. If data is being retrieved as the oscilloscope is stopped and as the data displayed is changing, the data being retrieved can switch between the measurement and raw acquisition records. · The instrument must be stopped (see the :STOP command (see page 172) or the :DIGitize command (see page 151) in the root subsystem) in order to return more than the measurement record. · :TIMebase:MODE must be set to MAIN. · :ACQuire:TYPE must be set to NORMal or HRESolution. · MAXimum or RAW will allow up to 100,000 points to be returned. The number of points returned will vary as the instrument's configuration is changed. Use the :WAVeform:POINts? MAXimum query to determine the maximum number of points that can be retrieved at the current settings.
:WAVeform:POINts:MODE?
The :WAVeform:POINts:MODE? query returns the current points mode. Setting the points mode will affect what data is transferred. See the discussion above.
<points_mode><NL>

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

667

29 :WAVeform Commands

See Also

<points_mode> ::= {NORMal | MAXimum | RAW}
· "Introduction to :WAVeform Commands" on page 655 · ":WAVeform:DATA" on page 662 · ":ACQuire:POINts" on page 190 · ":WAVeform:VIEW" on page 681 · ":WAVeform:PREamble" on page 669 · ":WAVeform:POINts" on page 665 · ":TIMebase:MODE" on page 595 · ":ACQuire:TYPE" on page 197 · ":ACQuire:COUNt" on page 188

668

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29

:WAVeform:PREamble

(see page 818)

Query Syntax Return Format

:WAVeform:PREamble?
The :WAVeform:PREamble query requests the preamble information for the selected waveform source. The preamble data contains information concerning the vertical and horizontal scaling of the data of the corresponding channel.
<preamble_block><NL>

<preamble_block> ::= <format 16-bit NR1>, <type 16-bit NR1>, <points 32-bit NR1>, <count 32-bit NR1>, <xincrement 64-bit floating point NR3>, <xorigin 64-bit floating point NR3>, <xreference 32-bit NR1>, <yincrement 32-bit floating point NR3>, <yorigin 32-bit floating point NR3>, <yreference 32-bit NR1>

<format> ::= 0 for BYTE format, 1 for WORD format, 4 for ASCii format; an integer in NR1 format (format set by :WAVeform:FORMat).

<type> ::= 2 for AVERage type, 0 for NORMal type, 1 for PEAK detect type; an integer in NR1 format (type set by :ACQuire:TYPE).

<count> ::= Average count or 1 if PEAK or NORMal; an integer in NR1 format (count set by :ACQuire:COUNt).

Delay = (#points / 2) * Xincrement + Xorigin

Y increment = voltage of 1 Vstep
Y origin (V)

Offset

Y reference = #Vsteps / 2
#Vsteps = 65536 (if format = WORD)
256 (if format = BYTE)

X origin (t) X reference = 0 X increment (t) = time between successive points

See Also · "Introduction to :WAVeform Commands" on page 655

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

669

29 :WAVeform Commands

Example Code

· ":ACQuire:COUNt" on page 188 · ":ACQuire:POINts" on page 190 · ":ACQuire:TYPE" on page 197 · ":DIGitize" on page 151 · ":WAVeform:COUNt" on page 661 · ":WAVeform:DATA" on page 662 · ":WAVeform:FORMat" on page 664 · ":WAVeform:POINts" on page 665 · ":WAVeform:TYPE" on page 679 · ":WAVeform:XINCrement" on page 682 · ":WAVeform:XORigin" on page 683 · ":WAVeform:XREFerence" on page 684 · ":WAVeform:YINCrement" on page 685 · ":WAVeform:YORigin" on page 686 · ":WAVeform:YREFerence" on page 687

' GET_PREAMBLE - The preamble block contains all of the current

' WAVEFORM settings. It is returned in the form <preamble_block><NL>

' where <preamble_block> is:

' FORMAT

: int16 - 0 = BYTE, 1 = WORD, 4 = ASCII.

' TYPE

: int16 - 0 = NORMAL, 1 = PEAK DETECT, 2 = AVERAGE

' POINTS

: int32 - number of data points transferred.

' COUNT

: int32 - 1 and is always 1.

' XINCREMENT : float64 - time difference between data points.

' XORIGIN

: float64 - always the first data point in memory.

' XREFERENCE : int32 - specifies the data point associated with

'

x-origin.

' YINCREMENT : float32 - voltage diff between data points.

' YORIGIN

: float32 - value is the voltage at center screen.

' YREFERENCE : int32 - specifies the data point where y-origin

'

occurs.

Dim Preamble()

Dim intFormat As Integer

Dim intType As Integer

Dim lngPoints As Long

Dim lngCount As Long

Dim dblXIncrement As Double

Dim dblXOrigin As Double

Dim lngXReference As Long

Dim sngYIncrement As Single

Dim sngYOrigin As Single

Dim lngYReference As Long

Dim strOutput As String

myScope.WriteString ":WAVEFORM:PREAMBLE?" ' Query for the preamble. Preamble() = myScope.ReadList ' Read preamble information. intFormat = Preamble(0) intType = Preamble(1)

670

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29
lngPoints = Preamble(2) lngCount = Preamble(3) dblXIncrement = Preamble(4) dblXOrigin = Preamble(5) lngXReference = Preamble(6) sngYIncrement = Preamble(7) sngYOrigin = Preamble(8) lngYReference = Preamble(9)
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

671

29 :WAVeform Commands

:WAVeform:SEGMented:COUNt

Query Syntax

(see page 818)
:WAVeform:SEGMented:COUNt?

NOTE

Segmented memory is available on the DSOX1200-Series oscilloscope models that have the SGM license.

Return Format See Also
Example Code

The :WAVeform:SEGMented:COUNt query returns the number of memory segments in the acquired data. You can use the :WAVeform:SEGMented:COUNt? query while segments are being acquired (although :DIGitize blocks subsequent queries until the full segmented acquisition is complete). The segmented memory acquisition mode is enabled with the :ACQuire:MODE command. The number of segments to acquire is set using the :ACQuire:SEGMented:COUNt command, and data is acquired using the :DIGitize, :SINGle, or :RUN commands.
<count> ::= an integer from 2 to 500 in NR1 format (count set by :ACQuire:SEGMented:COUNt).
· ":ACQuire:MODE" on page 189 · ":ACQuire:SEGMented:COUNt" on page 192 · ":DIGitize" on page 151 · ":SINGle" on page 170 · ":RUN" on page 168 · "Introduction to :WAVeform Commands" on page 655 · "Example Code" on page 193

672

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29

:WAVeform:SEGMented:TTAG

Query Syntax

(see page 818)
:WAVeform:SEGMented:TTAG?

NOTE

Segmented memory is available on the DSOX1200-Series oscilloscope models that have the SGM license.

Return Format See Also
Example Code

The :WAVeform:SEGMented:TTAG? query returns the time tag of the currently selected segmented memory index. The index is selected using the :ACQuire:SEGMented:INDex command.
<time_tag> ::= in NR3 format
· ":ACQuire:SEGMented:INDex" on page 193 · "Introduction to :WAVeform Commands" on page 655 · "Example Code" on page 193

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

673

29 :WAVeform Commands

:WAVeform:SOURce

(see page 818) Command Syntax :WAVeform:SOURce <source>
<source> ::= {CHANnel<n> | FUNCtion | MATH | FFT | WMEMory<r> | SBUS1 | ABUS | EXT}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= {1 | 2}
The :WAVeform:SOURce command selects the analog channel, function, or reference waveform to be used as the source for the :WAVeform commands. Function capabilities include add, subtract, multiply, and FFT (Fast Fourier Transform) operations.

NOTE

The EXT source is available on 2-channel oscilloscopes only.

Query Syntax

:WAVeform:SOURce?
The :WAVeform:SOURce? query returns the currently selected source for the WAVeform commands.

NOTE

MATH is an alias for FUNCtion. The :WAVeform:SOURce? Query returns FUNC if the source is FUNCtion or MATH.

Return Format <source><NL>

<source> ::= {CHAN<n> | FUNC | FFT | WMEM<r> | SBUS1 | ABUS | EXT}

<n> ::= 1 to (# analog channels) in NR1 format

See Also Example Code

<r> ::= {1 | 2}
· "Introduction to :WAVeform Commands" on page 655 · ":DIGitize" on page 151 · ":WAVeform:FORMat" on page 664 · ":WAVeform:BYTeorder" on page 660 · ":WAVeform:DATA" on page 662 · ":WAVeform:PREamble" on page 669
' WAVEFORM_DATA - To obtain waveform data, you must specify the ' WAVEFORM parameters for the waveform data prior to sending the ' ":WAVEFORM:DATA?" query. Once these parameters have been sent,

674

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29

' the waveform data and the preamble can be read. ' ' WAVE_SOURCE - Selects the channel to be used as the source for ' the waveform commands. myScope.WriteString ":WAVEFORM:SOURCE CHAN1"

' WAVE_POINTS - Specifies the number of points to be transferred ' using the ":WAVEFORM:DATA?" query. myScope.WriteString ":WAVEFORM:POINTS 1000"

' WAVE_FORMAT - Sets the data transmission mode for the waveform ' data output. This command controls whether data is formatted in ' a word or byte format when sent from the oscilloscope. Dim lngVSteps As Long Dim intBytesPerData As Integer

' Data in range 0 to 65535. myScope.WriteString ":WAVEFORM:FORMAT WORD" lngVSteps = 65536 intBytesPerData = 2

' Data in range 0 to 255. 'myScope.WriteString ":WAVEFORM:FORMAT BYTE" 'lngVSteps = 256 'intBytesPerData = 1

' GET_PREAMBLE - The preamble block contains all of the current

' WAVEFORM settings. It is returned in the form <preamble_block><NL>

' where <preamble_block> is:

' FORMAT

: int16 - 0 = BYTE, 1 = WORD, 4 = ASCII.

' TYPE

: int16 - 0 = NORMAL, 1 = PEAK DETECT, 2 = AVERAGE

' POINTS

: int32 - number of data points transferred.

' COUNT

: int32 - 1 and is always 1.

' XINCREMENT : float64 - time difference between data points.

' XORIGIN

: float64 - always the first data point in memory.

' XREFERENCE : int32 - specifies the data point associated with

'

x-origin.

' YINCREMENT : float32 - voltage diff between data points.

' YORIGIN

: float32 - value is the voltage at center screen.

' YREFERENCE : int32 - specifies the data point where y-origin

'

occurs.

Dim Preamble()

Dim intFormat As Integer

Dim intType As Integer

Dim lngPoints As Long

Dim lngCount As Long

Dim dblXIncrement As Double

Dim dblXOrigin As Double

Dim lngXReference As Long

Dim sngYIncrement As Single

Dim sngYOrigin As Single

Dim lngYReference As Long

Dim strOutput As String

myScope.WriteString ":WAVEFORM:PREAMBLE?" ' Query for the preamble. Preamble() = myScope.ReadList ' Read preamble information. intFormat = Preamble(0)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

675

29 :WAVeform Commands

intType = Preamble(1)

lngPoints = Preamble(2)

lngCount = Preamble(3)

dblXIncrement = Preamble(4)

dblXOrigin = Preamble(5)

lngXReference = Preamble(6)

sngYIncrement = Preamble(7)

sngYOrigin = Preamble(8)

lngYReference = Preamble(9)

strOutput = ""

'strOutput = strOutput + "Format = " + CStr(intFormat) + vbCrLf

'strOutput = strOutput + "Type = " + CStr(intType) + vbCrLf

'strOutput = strOutput + "Points = " + CStr(lngPoints) + vbCrLf

'strOutput = strOutput + "Count = " + CStr(lngCount) + vbCrLf

'strOutput = strOutput + "X increment = " + _

'

FormatNumber(dblXIncrement * 1000000) + " us" + vbCrLf

'strOutput = strOutput + "X origin = " + _

'

FormatNumber(dblXOrigin * 1000000) + " us" + vbCrLf

'strOutput = strOutput + "X reference = " + _

'

CStr(lngXReference) + vbCrLf

'strOutput = strOutput + "Y increment = " + _

'

FormatNumber(sngYIncrement * 1000) + " mV" + vbCrLf

'strOutput = strOutput + "Y origin = " + _

'

FormatNumber(sngYOrigin) + " V" + vbCrLf

'strOutput = strOutput + "Y reference = " + _

'

CStr(lngYReference) + vbCrLf

strOutput = strOutput + "Volts/Div = " + _

FormatNumber(lngVSteps * sngYIncrement / 8) + _

" V" + vbCrLf

strOutput = strOutput + "Offset = " + _

FormatNumber((lngVSteps / 2 - lngYReference) * _

sngYIncrement + sngYOrigin) + " V" + vbCrLf

strOutput = strOutput + "Sec/Div = " + _

FormatNumber(lngPoints * dblXIncrement / 10 * _

1000000) + " us" + vbCrLf

strOutput = strOutput + "Delay = " + _

FormatNumber(((lngPoints / 2 - lngXReference) * _

dblXIncrement + dblXOrigin) * 1000000) + " us" + vbCrLf

' QUERY_WAVE_DATA - Outputs waveform data that is stored in a buffer.

' Query the oscilloscope for the waveform data. myScope.WriteString ":WAV:DATA?"

' READ_WAVE_DATA - The wave data consists of two parts: the header, ' and the actual waveform data followed by a new line (NL) character. ' The query data has the following format: ' ' <header><waveform_data><NL> ' ' Where: ' <header> = #800001000 (This is an example header) ' The "#8" may be stripped off of the header and the remaining ' numbers are the size, in bytes, of the waveform data block. The ' size can vary depending on the number of points acquired for the ' waveform. You can then read that number of bytes from the ' oscilloscope and the terminating NL character.

676

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29
' Dim lngI As Long Dim lngDataValue As Long
' Unsigned integer bytes. varQueryResult = myScope.ReadIEEEBlock(BinaryType_UI1)
For lngI = 0 To UBound(varQueryResult) _ Step (UBound(varQueryResult) / 20) ' 20 points.
If intBytesPerData = 2 Then lngDataValue = varQueryResult(lngI) * 256 _ + varQueryResult(lngI + 1) ' 16-bit value.
Else lngDataValue = varQueryResult(lngI) ' 8-bit value.
End If strOutput = strOutput + "Data point " + _
CStr(lngI / intBytesPerData) + ", " + _ FormatNumber((lngDataValue - lngYReference) _
* sngYIncrement + sngYOrigin) + " V, " + _ FormatNumber(((lngI / intBytesPerData - lngXReference) _
* sngXIncrement + dblXOrigin) * 1000000) + " us" + vbCrLf Next lngI MsgBox "Waveform data:" + vbCrLf + strOutput
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

677

29 :WAVeform Commands

:WAVeform:SOURce:SUBSource

(see page 818)

Command Syntax :WAVeform:SOURce:SUBSource <subsource>

<subsource> ::= {{SUB0 | RX | MOSI} | {SUB1 | TX | MISO}}
If the :WAVeform:SOURce is SBUS<n> (serial decode), more than one data set may be available, and this command lets you choose from the available data sets.

When using UART serial decode, this option lets you get "TX" data. (TX is an alias for SUB1.) The default, SUB0, specifies "RX" data. (RX is an alias for SUB0.) When using SPI serial decode, this option lets you get "MISO" data. (MISO is an alias for SUB1.) The default, SUB0, specifies "MOSI" data. (MOSI is an alias for SUB0.)

Query Syntax Return Format

If the :WAVeform:SOURce is not SBUS, or the :SBUS<n>:MODE is not UART or SPI, the only valid subsource is SUB0.
:WAVeform:SOURce:SUBSource?
The :WAVeform:SOURce:SUBSource? query returns the current waveform subsource setting.
<subsource><NL>

See Also

<subsource> ::= {SUB0 | SUB1}
· "Introduction to :WAVeform Commands" on page 655 · ":WAVeform:SOURce" on page 674

678

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29

:WAVeform:TYPE

(see page 818)

Query Syntax Return Format

:WAVeform:TYPE?
The :WAVeform:TYPE? query returns the acquisition mode associated with the currently selected waveform. The acquisition mode is set by the :ACQuire:TYPE command.
<mode><NL>

<mode> ::= {NORM | PEAK | AVER | HRES}

NOTE

If the :WAVeform:SOURce is POD1 or POD2, the type is always NORM.

See Also

· "Introduction to :WAVeform Commands" on page 655 · ":ACQuire:TYPE" on page 197 · ":WAVeform:DATA" on page 662 · ":WAVeform:PREamble" on page 669 · ":WAVeform:SOURce" on page 674

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

679

29 :WAVeform Commands

:WAVeform:UNSigned

(see page 818)

Command Syntax :WAVeform:UNSigned <unsigned>

Query Syntax Return Format

<unsigned> ::= {{0 | OFF} | {1 | ON}}
The :WAVeform:UNSigned command turns unsigned mode on or off for the currently selected waveform. Use the WAVeform:UNSigned command to control whether data values are sent as unsigned or signed integers. This command can be used to match the instrument's internal data type to the data type used by the programming language. This command has no effect if the data format is ASCii. If :WAVeform:SOURce is set to POD1, POD2, BUS1, or BUS2, WAVeform:UNSigned must be set to ON.
:WAVeform:UNSigned?
The :WAVeform:UNSigned? query returns the status of unsigned mode for the currently selected waveform.
<unsigned><NL>

See Also

<unsigned> ::= {0 | 1}
· "Introduction to :WAVeform Commands" on page 655 · ":WAVeform:SOURce" on page 674

680

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29

:WAVeform:VIEW

(see page 818)

Command Syntax :WAVeform:VIEW <view>

<view> ::= {MAIN}
The :WAVeform:VIEW command sets the view setting associated with the currently selected waveform. Currently, the only legal value for the view setting is MAIN.

Query Syntax Return Format

:WAVeform:VIEW?
The :WAVeform:VIEW? query returns the view setting associated with the currently selected waveform.
<view><NL>

See Also

<view> ::= {MAIN}
· "Introduction to :WAVeform Commands" on page 655 · ":WAVeform:POINts" on page 665

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

681

29 :WAVeform Commands

:WAVeform:XINCrement

(see page 818)

Query Syntax Return Format

:WAVeform:XINCrement?
The :WAVeform:XINCrement? query returns the x-increment value for the currently specified source. This value is the time difference between consecutive data points in seconds.
<value><NL>

See Also Example Code

<value> ::= x-increment in the current preamble in 64-bit floating point NR3 format
· "Introduction to :WAVeform Commands" on page 655 · ":WAVeform:PREamble" on page 669 · "Example Code" on page 670

682

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29

:WAVeform:XORigin

(see page 818)

Query Syntax Return Format

:WAVeform:XORigin?
The :WAVeform:XORigin? query returns the x-origin value for the currently specified source. XORigin is the X-axis value of the data point specified by the :WAVeform:XREFerence value. In this product, that is always the X-axis value of the first data point (XREFerence = 0).
<value><NL>

See Also

<value> ::= x-origin value in the current preamble in 64-bit floating point NR3 format
· "Introduction to :WAVeform Commands" on page 655 · ":WAVeform:PREamble" on page 669 · ":WAVeform:XREFerence" on page 684

Example Code · "Example Code" on page 670

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

683

29 :WAVeform Commands

:WAVeform:XREFerence

(see page 818)

Query Syntax Return Format

:WAVeform:XREFerence?
The :WAVeform:XREFerence? query returns the x-reference value for the currently specified source. This value specifies the index of the data point associated with the x-origin data value. In this product, the x-reference point is the first point displayed and XREFerence is always 0.
<value><NL>

See Also Example Code

<value> ::= x-reference value = 0 in 32-bit NR1 format
· "Introduction to :WAVeform Commands" on page 655 · ":WAVeform:PREamble" on page 669 · ":WAVeform:XORigin" on page 683 · "Example Code" on page 670

684

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29

:WAVeform:YINCrement

(see page 818)

Query Syntax Return Format

:WAVeform:YINCrement?
The :WAVeform:YINCrement? query returns the y-increment value in volts for the currently specified source. This value is the voltage difference between consecutive data values.
<value><NL>

See Also Example Code

<value> ::= y-increment value in the current preamble in 32-bit floating point NR3 format
· "Introduction to :WAVeform Commands" on page 655 · ":WAVeform:PREamble" on page 669 · "Example Code" on page 670

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

685

29 :WAVeform Commands

:WAVeform:YORigin

(see page 818)

Query Syntax Return Format

:WAVeform:YORigin?
The :WAVeform:YORigin? query returns the y-origin value for the currently specified source. This value is the Y-axis value of the data value specified by the :WAVeform:YREFerence value. For this product, this is the Y-axis value of the center of the screen.
<value><NL>

See Also

<value> ::= y-origin in the current preamble in 32-bit floating point NR3 format
· "Introduction to :WAVeform Commands" on page 655 · ":WAVeform:PREamble" on page 669 · ":WAVeform:YREFerence" on page 687

Example Code · "Example Code" on page 670

686

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WAVeform Commands 29

:WAVeform:YREFerence

(see page 818)

Query Syntax Return Format

:WAVeform:YREFerence?
The :WAVeform:YREFerence? query returns the y-reference value for the currently specified source. This value specifies the data point value where the y-origin occurs. In this product, this is the data point value of the center of the screen. It is undefined if the format is ASCii.
<value><NL>

See Also

<value> ::= y-reference value in the current preamble in 32-bit NR1 format
· "Introduction to :WAVeform Commands" on page 655 · ":WAVeform:PREamble" on page 669 · ":WAVeform:YORigin" on page 686

Example Code · "Example Code" on page 670

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

687

29 :WAVeform Commands

688

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
30 :WGEN Commands

On G-suffix oscilloscope models, a waveform generator is built into the oscilloscope. You can use the waveform generator to output sine, square, ramp, pulse, DC, and noise waveforms. The :WGEN commands are used to select the waveform function and parameters. See "Introduction to :WGEN Commands" on page 691.

Table 88 :WGEN Commands Summary

Command

Query

Options and Query Returns

:WGEN:FREQuency
<frequency> (see page 692)

:WGEN:FREQuency? (see <frequency> ::= frequency in Hz

page 692)

in NR3 format

:WGEN:FUNCtion
<signal> (see page 693)

:WGEN:FUNCtion? (see <signal> ::= {SINusoid | SQUare |

page 694)

RAMP | PULSe | NOISe | DC}

:WGEN:FUNCtion:PULSe: :WGEN:FUNCtion:PULSe: <width> ::= pulse width in

WIDTh <width> (see

WIDTh? (see page 696) seconds in NR3 format

page 696)

:WGEN:FUNCtion:RAMP:S :WGEN:FUNCtion:RAMP:S <percent> ::= symmetry

YMMetry <percent> (see page 697)

YMMetry? (see page 697)

percentage from 0% to 100% in NR1 format

:WGEN:FUNCtion:SQUare :WGEN:FUNCtion:SQUare <percent> ::= duty cycle

:DCYCle <percent> (see page 698)

:DCYCle? (see page 698)

percentage from 1% to 99% in NR1 format

:WGEN:MODulation:AM:D :WGEN:MODulation:AM:D <percent> ::= AM depth percentage

EPTh <percent> (see

EPTh? (see page 699)

from 0% to 100% in NR1 format

page 699)

:WGEN:MODulation:AM:F :WGEN:MODulation:AM:F <frequency> ::= modulating

REQuency <frequency> REQuency? (see

(see page 700)

page 700)

waveform frequency in Hz in NR3 format

:WGEN:MODulation:FM:D :WGEN:MODulation:FM:D <frequency> ::= frequency

EViation <frequency> EViation? (see

(see page 701)

page 701)

deviation in Hz in NR3 format

689

30 :WGEN Commands

Table 88 :WGEN Commands Summary (continued)

Command

Query

Options and Query Returns

:WGEN:MODulation:FM:F :WGEN:MODulation:FM:F <frequency> ::= modulating

REQuency <frequency> REQuency? (see

(see page 702)

page 702)

waveform frequency in Hz in NR3 format

:WGEN:MODulation:FSKe :WGEN:MODulation:FSKe <frequency> ::= hop frequency in

y:FREQuency <percent> y:FREQuency? (see

(see page 703)

page 703)

Hz in NR3 format

:WGEN:MODulation:FSKe :WGEN:MODulation:FSKe <rate> ::= FSK modulation rate in

y:RATE <rate> (see

y:RATE? (see page 704) Hz in NR3 format

page 704)

:WGEN:MODulation:FUNC :WGEN:MODulation:FUNC <shape> ::= {SINusoid | SQUare|

tion <shape> (see

tion? (see page 705)

RAMP}

page 705)

:WGEN:MODulation:FUNC
tion:RAMP:SYMMetry
<percent> (see page 706)

:WGEN:MODulation:FUNC
tion:RAMP:SYMMetry? (see page 706)

<percent> ::= symmetry percentage from 0% to 100% in NR1 format

:WGEN:MODulation:NOIS :WGEN:MODulation:NOIS <percent> ::= 0 to 100

e <percent> (see

e? (see page 707)

page 707)

:WGEN:MODulation:STAT :WGEN:MODulation:STAT {0 | 1} e {{0 | OFF} | {1 | e? (see page 708) ON}} (see page 708)

:WGEN:MODulation:TYPE :WGEN:MODulation:TYPE <type> ::= {AM | FM | FSK} <type> (see page 709) ? (see page 709)

:WGEN:OUTPut {{0 |
OFF} | {1 | ON}} (see page 711)

:WGEN:OUTPut? (see page 711)

{0 | 1}

:WGEN:OUTPut:LOAD
<impedance> (see page 712)

:WGEN:OUTPut:LOAD? (see page 712)

<impedance> ::= {ONEMeg | FIFTy}

:WGEN:OUTPut:POLarity :WGEN:OUTPut:POLarity <polarity> ::= {NORMal |

<polarity> (see

? (see page 713)

INVerted}

page 713)

:WGEN:PERiod <period> :WGEN:PERiod? (see

(see page 714)

page 714)

<period> ::= period in seconds in NR3 format

:WGEN:RST (see

n/a

n/a

page 715)

:WGEN:VOLTage
<amplitude> (see page 716)

:WGEN:VOLTage? (see page 716)

<amplitude> ::= amplitude in volts in NR3 format

690

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

Table 88 :WGEN Commands Summary (continued)

Command

Query

Options and Query Returns

:WGEN:VOLTage:HIGH

:WGEN:VOLTage:HIGH?

<high> (see page 717) (see page 717)

<high> ::= high-level voltage in volts, in NR3 format

:WGEN:VOLTage:LOW <low> (see page 718)

:WGEN:VOLTage:LOW? (see page 718)

<low> ::= low-level voltage in volts, in NR3 format

:WGEN:VOLTage:OFFSet
<offset> (see page 719)

:WGEN:VOLTage:OFFSet? <offset> ::= offset in volts in

(see page 719)

NR3 format

Introduction to The :WGEN subsystem provides commands to select the waveform generator :WGEN Commands function and parameters.
Reporting the Setup Use :WGEN? to query setup information for the WGEN subsystem.
Return Format The following is a sample response from the :WGEN? query. In this case, the query was issued following the *RST command.
:WGEN:FUNC SIN;OUTP 0;FREQ +1.0000E+03;VOLT +500.0E-03;VOLT:OFFS +0.0E+00;:WGEN:OUTP:LOAD ONEM

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

691

30 :WGEN Commands

:WGEN:FREQuency

(see page 818)

Command Syntax :WGEN:FREQuency <frequency>

<frequency> ::= frequency in Hz in NR3 format
For all waveforms except Noise and DC, the :WGEN:FREQuency command specifies the frequency of the waveform.

Query Syntax Return Format

You can also specify the frequency indirectly using the :WGEN:PERiod command.
:WGEN:FREQuency?
The :WGEN:FREQuency? query returns the currently set waveform generator frequency.
<frequency><NL>

See Also

<frequency> ::= frequency in Hz in NR3 format
· "Introduction to :WGEN Commands" on page 691 · ":WGEN:FUNCtion" on page 693 · ":WGEN:PERiod" on page 714

692

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

:WGEN:FUNCtion

(see page 818) Command Syntax :WGEN:FUNCtion <signal>
<signal> ::= {SINusoid | SQUare | RAMP | PULSe | NOISe | DC}
The :WGEN:FUNCtion command selects the type of waveform:

Waveform Type SINusoid
SQUare

Characteristics
Use these commands to set the sine signal parameters:
· ":WGEN:FREQuency" on page 692 · ":WGEN:PERiod" on page 714 · ":WGEN:VOLTage" on page 716 · ":WGEN:VOLTage:OFFSet" on page 719 · ":WGEN:VOLTage:HIGH" on page 717 · ":WGEN:VOLTage:LOW" on page 718
The frequency can be adjusted from 100 mHz to 20 MHz.
Use these commands to set the square wave signal parameters:
· ":WGEN:FREQuency" on page 692 · ":WGEN:PERiod" on page 714 · ":WGEN:VOLTage" on page 716 · ":WGEN:VOLTage:OFFSet" on page 719 · ":WGEN:VOLTage:HIGH" on page 717 · ":WGEN:VOLTage:LOW" on page 718 · ":WGEN:FUNCtion:SQUare:DCYCle" on page 698
The frequency can be adjusted from 100 mHz to 10 MHz. The duty cycle can be adjusted from 1% to 99% up to 500 kHz. At higher frequencies, the adjustment range narrows so as not to allow pulse widths less than 20 ns. For example:
· At 1 MHz, the duty cycle can be adjusted from 2% to 98%. · At 5 MHz, the duty cycle can be adjusted from 10% to 90%. · At 10 MHz, the duty cycle can be adjusted from 20% to 80%.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

693

30 :WGEN Commands

Waveform Type RAMP
PULSe
DC NOISe

Characteristics
Use these commands to set the ramp signal parameters:
· ":WGEN:FREQuency" on page 692 · ":WGEN:PERiod" on page 714 · ":WGEN:VOLTage" on page 716 · ":WGEN:VOLTage:OFFSet" on page 719 · ":WGEN:VOLTage:HIGH" on page 717 · ":WGEN:VOLTage:LOW" on page 718 · ":WGEN:FUNCtion:RAMP:SYMMetry" on page 697
The frequency can be adjusted from 100 mHz to 100 kHz. Symmetry represents the amount of time per cycle that the ramp waveform is rising and can be adjusted from 0% to 100%.
Use these commands to set the pulse signal parameters:
· ":WGEN:FREQuency" on page 692 · ":WGEN:PERiod" on page 714 · ":WGEN:VOLTage" on page 716 · ":WGEN:VOLTage:OFFSet" on page 719 · ":WGEN:VOLTage:HIGH" on page 717 · ":WGEN:VOLTage:LOW" on page 718 · ":WGEN:FUNCtion:PULSe:WIDTh" on page 696
The frequency can be adjusted from 100 mHz to 10 MHz. The pulse width can be adjusted from 20 ns to the period minus 20 ns.
Use this command to set the DC level:
· ":WGEN:VOLTage:OFFSet" on page 719
Use these commands to set the noise signal parameters:
· ":WGEN:VOLTage" on page 716 · ":WGEN:VOLTage:OFFSet" on page 719 · ":WGEN:VOLTage:HIGH" on page 717 · ":WGEN:VOLTage:LOW" on page 718

Query Syntax

For all waveform types, the output amplitude, into 50 , can be adjusted from 10 mVpp to 2.5 Vpp (or from 20 mVpp to 5 Vpp into and open-circuit load).
:WGEN:FUNCtion?
The :WGEN:FUNCtion? query returns the currently selected signal type.

Return Format <signal><NL>

<signal> ::= {SIN | SQU | RAMP | PULS | NOIS | DC}

694

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

See Also · "Introduction to :WGEN Commands" on page 691

:WGEN Commands 30

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

695

30 :WGEN Commands

:WGEN:FUNCtion:PULSe:WIDTh

(see page 818)

Command Syntax :WGEN:FUNCtion:PULSe:WIDTh <width>

<width> ::= pulse width in seconds in NR3 format
For Pulse waveforms, the :WGEN:FUNCtion:PULSe:WIDTh command specifies the width of the pulse.

Query Syntax Return Format

The pulse width can be adjusted from 20 ns to the period minus 20 ns.
:WGEN:FUNCtion:PULSe:WIDTh?
The :WGEN:FUNCtion:PULSe:WIDTh? query returns the currently set pulse width.
<width><NL>

See Also

<width> ::= pulse width in seconds in NR3 format
· "Introduction to :WGEN Commands" on page 691 · ":WGEN:FUNCtion" on page 693

696

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

:WGEN:FUNCtion:RAMP:SYMMetry

(see page 818)

Command Syntax :WGEN:FUNCtion:RAMP:SYMMetry <percent>

<percent> ::= symmetry percentage from 0% to 100% in NR1 format
For Ramp waveforms, the :WGEN:FUNCtion:RAMP:SYMMetry command specifies the symmetry of the waveform.

Query Syntax Return Format

Symmetry represents the amount of time per cycle that the ramp waveform is rising.
:WGEN:FUNCtion:RAMP:SYMMetry?
The :WGEN:FUNCtion:RAMP:SYMMetry? query returns the currently set ramp symmetry.
<percent><NL>

See Also

<percent> ::= symmetry percentage from 0% to 100% in NR1 format
· "Introduction to :WGEN Commands" on page 691 · ":WGEN:FUNCtion" on page 693

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

697

30 :WGEN Commands

:WGEN:FUNCtion:SQUare:DCYCle

(see page 818)

Command Syntax :WGEN:FUNCtion:SQUare:DCYCle <percent>

<percent> ::= duty cycle percentage from 1% to 99% in NR1 format
For Square waveforms, the :WGEN:FUNCtion:SQUare:DCYCle command specifies the square wave duty cycle.

Query Syntax Return Format

Duty cycle is the percentage of the period that the waveform is high. The duty cycle can be adjusted from 1% to 99% up to 500 kHz. At higher frequencies, the adjustment range narrows to not allow pulse widths less than 20 ns. For example: · At 1 MHz, the duty cycle can be adjusted from 2% to 98%. · At 5 MHz, the duty cycle can be adjusted from 10% to 90%. · At 10 MHz, the duty cycle can be adjusted from 20% to 80%.
:WGEN:FUNCtion:SQUare:DCYCle?
The :WGEN:FUNCtion:SQUare:DCYCle? query returns the currently set square wave duty cycle.
<percent><NL>

See Also

<percent> ::= duty cycle percentage from 1% to 99% in NR1 format
· "Introduction to :WGEN Commands" on page 691 · ":WGEN:FUNCtion" on page 693

698

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

:WGEN:MODulation:AM:DEPTh

(see page 818)

Command Syntax :WGEN:MODulation:AM:DEPTh <percent>

<percent> ::= AM depth percentage from 0% to 100% in NR1 format
The :WGEN:MODulation:AM:DEPTh command specifies the amount of amplitude modulation.

Query Syntax

AM Depth refers to the portion of the amplitude range that will be used by the modulation. For example, a depth setting of 80% causes the output amplitude to vary from 10% to 90% (90% ­ 10% = 80%) of the original amplitude as the modulating signal goes from its minimum to maximum amplitude.
:WGEN:MODulation:AM:DEPTh?
The :WGEN:MODulation:AM:DEPTh? query returns the AM depth percentage setting.

Return Format <percent><NL>

See Also

<percent> ::= AM depth percentage from 0% to 100% in NR1 format
· ":WGEN:MODulation:AM:FREQuency" on page 700 · ":WGEN:MODulation:FM:DEViation" on page 701 · ":WGEN:MODulation:FM:FREQuency" on page 702 · ":WGEN:MODulation:FSKey:FREQuency" on page 703 · ":WGEN:MODulation:FSKey:RATE" on page 704 · ":WGEN:MODulation:FUNCtion" on page 705 · ":WGEN:MODulation:FUNCtion:RAMP:SYMMetry" on page 706 · ":WGEN:MODulation:STATe" on page 708 · ":WGEN:MODulation:TYPE" on page 709

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

699

30 :WGEN Commands

:WGEN:MODulation:AM:FREQuency

(see page 818)

Command Syntax :WGEN:MODulation:AM:FREQuency <frequency>

<frequency> ::= modulating waveform frequency in Hz in NR3 format
The :WGEN:MODulation:AM:FREQuency command specifies the frequency of the modulating signal.

Query Syntax Return Format

:WGEN:MODulation:AM:FREQuency?
The :WGEN:MODulation:AM:FREQuency? query returns the frequency of the modulating signal.
<frequency><NL>

See Also

<frequency> ::= modulating waveform frequency in Hz in NR3 format
· ":WGEN:MODulation:AM:DEPTh" on page 699 · ":WGEN:MODulation:FM:DEViation" on page 701 · ":WGEN:MODulation:FM:FREQuency" on page 702 · ":WGEN:MODulation:FSKey:FREQuency" on page 703 · ":WGEN:MODulation:FSKey:RATE" on page 704 · ":WGEN:MODulation:FUNCtion" on page 705 · ":WGEN:MODulation:FUNCtion:RAMP:SYMMetry" on page 706 · ":WGEN:MODulation:STATe" on page 708 · ":WGEN:MODulation:TYPE" on page 709

700

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

:WGEN:MODulation:FM:DEViation

(see page 818)

Command Syntax :WGEN:MODulation:FM:DEViation <frequency>

<frequency> ::= frequency deviation in Hz in NR3 format
The :WGEN:MODulation:FM:DEViation command specifies the frequency deviation from the original carrier signal frequency.

Query Syntax

When the modulating signal is at its maximum amplitude, the output frequency is the carrier signal frequency plus the deviation amount, and when the modulating signal is at its minimum amplitude, the output frequency is the carrier signal frequency minus the deviation amount. The frequency deviation cannot be greater than the original carrier signal frequency. Also, the sum of the original carrier signal frequency and the frequency deviation must be less than or equal to the maximum frequency for the selected waveform generator function plus 100 kHz.
:WGEN:MODulation:FM:DEViation?
The :WGEN:MODulation:FM:DEViation? query returns the frequency deviation setting.

Return Format <frequency><NL>

See Also

<frequency> ::= frequency deviation in Hz in NR3 format
· ":WGEN:MODulation:AM:DEPTh" on page 699 · ":WGEN:MODulation:AM:FREQuency" on page 700 · ":WGEN:MODulation:FM:FREQuency" on page 702 · ":WGEN:MODulation:FSKey:FREQuency" on page 703 · ":WGEN:MODulation:FSKey:RATE" on page 704 · ":WGEN:MODulation:FUNCtion" on page 705 · ":WGEN:MODulation:FUNCtion:RAMP:SYMMetry" on page 706 · ":WGEN:MODulation:STATe" on page 708 · ":WGEN:MODulation:TYPE" on page 709

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

701

30 :WGEN Commands

:WGEN:MODulation:FM:FREQuency

(see page 818)

Command Syntax :WGEN:MODulation:FM:FREQuency <frequency>

<frequency> ::= modulating waveform frequency in Hz in NR3 format
The :WGEN:MODulation:FM:FREQuency command specifies the frequency of the modulating signal.

Query Syntax Return Format

:WGEN:MODulation:FM:FREQuency?
The :WGEN:MODulation:FM:FREQuency? query returns the frequency of the modulating signal.
<frequency><NL>

See Also

<frequency> ::= modulating waveform frequency in Hz in NR3 format
· ":WGEN:MODulation:AM:DEPTh" on page 699 · ":WGEN:MODulation:AM:FREQuency" on page 700 · ":WGEN:MODulation:FM:DEViation" on page 701 · ":WGEN:MODulation:FSKey:FREQuency" on page 703 · ":WGEN:MODulation:FSKey:RATE" on page 704 · ":WGEN:MODulation:FUNCtion" on page 705 · ":WGEN:MODulation:FUNCtion:RAMP:SYMMetry" on page 706 · ":WGEN:MODulation:STATe" on page 708 · ":WGEN:MODulation:TYPE" on page 709

702

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

:WGEN:MODulation:FSKey:FREQuency

(see page 818)

Command Syntax :WGEN:MODulation:FSKey:FREQuency <frequency>

<frequency> ::= hop frequency in Hz in NR3 format
The :WGEN:MODulation:FSKey:FREQuency command specifies the "hop frequency".

Query Syntax Return Format

The output frequency "shifts" between the original carrier frequency and this "hop frequency".
:WGEN:MODulation:FSKey:FREQuency?
The :WGEN:MODulation:FSKey:FREQuency? query returns the "hop frequency" setting.
<frequency><NL>

See Also

<frequency> ::= hop frequency in Hz in NR3 format
· ":WGEN:MODulation:AM:DEPTh" on page 699 · ":WGEN:MODulation:AM:FREQuency" on page 700 · ":WGEN:MODulation:FM:DEViation" on page 701 · ":WGEN:MODulation:FM:FREQuency" on page 702 · ":WGEN:MODulation:FSKey:RATE" on page 704 · ":WGEN:MODulation:FUNCtion" on page 705 · ":WGEN:MODulation:FUNCtion:RAMP:SYMMetry" on page 706 · ":WGEN:MODulation:STATe" on page 708 · ":WGEN:MODulation:TYPE" on page 709

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

703

30 :WGEN Commands

:WGEN:MODulation:FSKey:RATE

(see page 818)

Command Syntax :WGEN:MODulation:FSKey:RATE <rate>

<rate> ::= FSK modulation rate in Hz in NR3 format
The :WGEN:MODulation:FSKey:RATE command specifies the rate at which the output frequency "shifts".

Query Syntax Return Format

The FSK rate specifies a digital square wave modulating signal.
:WGEN:MODulation:FSKey:RATE?
The :WGEN:MODulation:FSKey:RATE? query returns the FSK rate setting.
<rate><NL>

See Also

<rate> ::= FSK modulation rate in Hz in NR3 format
· ":WGEN:MODulation:AM:DEPTh" on page 699 · ":WGEN:MODulation:AM:FREQuency" on page 700 · ":WGEN:MODulation:FM:DEViation" on page 701 · ":WGEN:MODulation:FM:FREQuency" on page 702 · ":WGEN:MODulation:FSKey:FREQuency" on page 703 · ":WGEN:MODulation:FUNCtion" on page 705 · ":WGEN:MODulation:FUNCtion:RAMP:SYMMetry" on page 706 · ":WGEN:MODulation:STATe" on page 708 · ":WGEN:MODulation:TYPE" on page 709

704

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

:WGEN:MODulation:FUNCtion

(see page 818)

Command Syntax :WGEN:MODulation:FUNCtion <shape>

<shape> ::= {SINusoid | SQUare| RAMP}
The :WGEN:MODulation:FUNCtion command specifies the shape of the modulating signal.

When the RAMP shape is selected, you can specify the amount of time per cycle that the ramp waveform is rising with the :WGEN:MODulation:FUNCtion:RAMP:SYMMetry command. This command applies to AM and FM modulation. (The FSK modulation signal is a square wave shape.)

Query Syntax Return Format

:WGEN:MODulation:FUNCtion?
The :WGEN:MODulation:FUNCtion? query returns the specified modulating signal shape.
<shape><NL>

See Also

<shape> ::= {SIN | SQU| RAMP}
· ":WGEN:MODulation:AM:DEPTh" on page 699 · ":WGEN:MODulation:AM:FREQuency" on page 700 · ":WGEN:MODulation:FM:DEViation" on page 701 · ":WGEN:MODulation:FM:FREQuency" on page 702 · ":WGEN:MODulation:FSKey:FREQuency" on page 703 · ":WGEN:MODulation:FSKey:RATE" on page 704 · ":WGEN:MODulation:FUNCtion:RAMP:SYMMetry" on page 706 · ":WGEN:MODulation:STATe" on page 708 · ":WGEN:MODulation:TYPE" on page 709

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

705

30 :WGEN Commands

:WGEN:MODulation:FUNCtion:RAMP:SYMMetry

(see page 818)

Command Syntax :WGEN:MODulation:FUNCtion:RAMP:SYMMetry <percent>

Query Syntax Return Format

<percent> ::= symmetry percentage from 0% to 100% in NR1 format
The :WGEN:MODulation:FUNCtion:RAMP:SYMMetry command specifies the amount of time per cycle that the ramp waveform is rising. The ramp modulating waveform shape is specified with the :WGEN:MODulation:FUNCtion command.
:WGEN:MODulation:FUNCtion:RAMP:SYMMetry?
The :WGEN:MODulation:FUNCtion:RAMP:SYMMetry? query returns ramp symmetry percentage setting.
<percent><NL>

See Also

<percent> ::= symmetry percentage from 0% to 100% in NR1 format
· ":WGEN:MODulation:AM:DEPTh" on page 699 · ":WGEN:MODulation:AM:FREQuency" on page 700 · ":WGEN:MODulation:FM:DEViation" on page 701 · ":WGEN:MODulation:FM:FREQuency" on page 702 · ":WGEN:MODulation:FSKey:FREQuency" on page 703 · ":WGEN:MODulation:FSKey:RATE" on page 704 · ":WGEN:MODulation:FUNCtion" on page 705 · ":WGEN:MODulation:STATe" on page 708 · ":WGEN:MODulation:TYPE" on page 709

706

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

:WGEN:MODulation:NOISe

(see page 818)

Command Syntax :WGEN:MODulation:NOISe <percent>

Query Syntax Return Format

<percent> ::= 0 to 100
The :WGEN:MODulation:NOISe command adds noise to the currently selected signal. The sum of the amplitude between the original signal and injected noise is limited to the regular amplitude limit (for example, 5 Vpp in 1 MOhm), so the range for <percent> varies according to current amplitude. Note that adding noise affects edge triggering on the waveform generator source as well as the waveform generator sync pulse output signal (which can be sent to TRIG OUT). This is because the trigger comparator is located after the noise source.
:WGEN:MODulation:NOISe?
The :WGEN:MODulation:NOISe query returns the percent of added noise.
<percent><NL>

<percent> ::= 0 to 100
See Also · ":WGEN:FUNCtion" on page 693

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

707

30 :WGEN Commands

:WGEN:MODulation:STATe

(see page 818)

Command Syntax :WGEN:MODulation:STATe <setting>

<setting> ::= {{OFF | 0} | {ON | 1}}
The :WGEN:MODulation:STATe command enables or disables modulated waveform generator output.

Query Syntax Return Format

You can enable modulation for all waveform generator function types except pulse, DC, and noise.
:WGEN:MODulation:STATe?
The :WGEN:MODulation:STATe? query returns whether the modulated waveform generator output is enabled of disabled.
<setting><NL>

See Also

<setting> ::= {0 | 1}
· ":WGEN:MODulation:AM:DEPTh" on page 699 · ":WGEN:MODulation:AM:FREQuency" on page 700 · ":WGEN:MODulation:FM:DEViation" on page 701 · ":WGEN:MODulation:FM:FREQuency" on page 702 · ":WGEN:MODulation:FSKey:FREQuency" on page 703 · ":WGEN:MODulation:FSKey:RATE" on page 704 · ":WGEN:MODulation:FUNCtion" on page 705 · ":WGEN:MODulation:FUNCtion:RAMP:SYMMetry" on page 706 · ":WGEN:MODulation:TYPE" on page 709

708

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

:WGEN:MODulation:TYPE

(see page 818)

Command Syntax :WGEN:MODulation:TYPE <type>

<type> ::= {AM | FM | FSK}
The :WGEN:MODulation:TYPE command selects the modulation type: · AM (amplitude modulation) -- the amplitude of the original carrier signal is
modified according to the amplitude of the modulating signal.

Use the :WGEN:MODulation:AM:FREQuency command to set the modulating signal frequency. Use the :WGEN:MODulation:AM:DEPTh command to specify the amount of amplitude modulation. · FM (frequency modulation) -- the frequency of the original carrier signal is modified according to the amplitude of the modulating signal.

Query Syntax Return Format

Use the :WGEN:MODulation:FM:FREQuency command to set the modulating signal frequency. Use the :WGEN:MODulation:FM:DEViation command to specify the frequency deviation from the original carrier signal frequency. · FSK (frequency-shift keying modulation) -- the output frequency "shifts" between the original carrier frequency and a "hop frequency" at the specified FSK rate. The FSK rate specifies a digital square wave modulating signal. Use the :WGEN:MODulation:FSKey:FREQuency command to specify the "hop frequency". Use the :WGEN:MODulation:FSKey:RATE command to specify the rate at which the output frequency "shifts".
:WGEN:MODulation:TYPE?
The :WGEN:MODulation:TYPE? query returns the selected modulation type.
<type><NL>

See Also

<type> ::= {AM | FM | FSK}
· ":WGEN:MODulation:AM:DEPTh" on page 699 · ":WGEN:MODulation:AM:FREQuency" on page 700 · ":WGEN:MODulation:FM:DEViation" on page 701 · ":WGEN:MODulation:FM:FREQuency" on page 702 · ":WGEN:MODulation:FSKey:FREQuency" on page 703

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

709

30 :WGEN Commands
· ":WGEN:MODulation:FSKey:RATE" on page 704 · ":WGEN:MODulation:FUNCtion" on page 705 · ":WGEN:MODulation:FUNCtion:RAMP:SYMMetry" on page 706 · ":WGEN:MODulation:STATe" on page 708

710

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

:WGEN:OUTPut

(see page 818)

Command Syntax :WGEN:OUTPut <on_off>

<on_off> ::= {{1 | ON} | {0 | OFF}
The :WGEN:OUTPut command specifies whether the waveform generator signal output is ON (1) or OFF (0).

Query Syntax Return Format

:WGEN:OUTPut?
The :WGEN:OUTPut? query returns the current state of the waveform generator output setting.
<on_off><NL>

<on_off> ::= {1 | 0}
See Also · "Introduction to :WGEN Commands" on page 691

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

711

30 :WGEN Commands

:WGEN:OUTPut:LOAD

(see page 818)

Command Syntax :WGEN:OUTPut:LOAD <impedance>

<impedance> ::= {ONEMeg | FIFTy}
The :WGEN:OUTPut:LOAD command selects the expected output load impedance.

The output impedance of the Gen Out BNC is fixed at 50 ohms. However, the output load selection lets the waveform generator display the correct amplitude and offset levels for the expected output load. If the actual load impedance is different than the selected value, the displayed amplitude and offset levels will be incorrect.

Query Syntax Return Format

:WGEN:OUTPut:LOAD?
The :WGEN:OUTPut:LOAD? query returns the current expected output load impedance.
<impedance><NL>

<impedance> ::= {ONEM | FIFT}
See Also · "Introduction to :WGEN Commands" on page 691

712

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

:WGEN:OUTPut:POLarity

(see page 818)

Command Syntax :WGEN:OUTPut:POLarity <polarity>

<polarity> ::= {NORMal | INVerted}
The :WGEN:OUTPut:POLarity command specifies whether the waveform generator output is inverted..

Query Syntax Return Format

:WGEN:OUTPut:POLarity?
The :WGEN:OUTPut:POLarity? query returns the specified output polarity.
<polarity><NL>

<polarity> ::= {NORM | INV}
See Also · "Introduction to :WGEN Commands" on page 691

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

713

30 :WGEN Commands

:WGEN:PERiod

(see page 818)

Command Syntax :WGEN:PERiod <period>

<period> ::= period in seconds in NR3 format
For all waveforms except Noise and DC, the :WGEN:PERiod command specifies the period of the waveform.

Query Syntax Return Format

You can also specify the period indirectly using the :WGEN:FREQuency command.
:WGEN:PERiod?
The :WGEN:PERiod? query returns the currently set waveform generator period.
<period><NL>

See Also

<period> ::= period in seconds in NR3 format
· "Introduction to :WGEN Commands" on page 691 · ":WGEN:FUNCtion" on page 693 · ":WGEN:FREQuency" on page 692

714

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

:WGEN:RST

Command Syntax See Also

(see page 818)
:WGEN:RST
The :WGEN:RST command restores the waveform generator factory default settings (1 kHz sine wave, 500 mVpp, 0 V offset). · "Introduction to :WGEN Commands" on page 691 · ":WGEN:FUNCtion" on page 693 · ":WGEN:FREQuency" on page 692

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

715

30 :WGEN Commands

:WGEN:VOLTage

(see page 818)

Command Syntax :WGEN:VOLTage <amplitude>

Query Syntax

<amplitude> ::= amplitude in volts in NR3 format
For all waveforms except DC, the :WGEN:VOLTage command specifies the waveform's amplitude. Use the :WGEN:VOLTage:OFFSet command to specify the offset voltage or DC level. You can also specify the amplitude and offset indirectly using the :WGEN:VOLTage:HIGH and :WGEN:VOLTage:LOW commands. For example, an amplitude of 5 V and an offset of 1 V is the same as a high-level voltage of 4 V and a low-level voltage of -1 V.
:WGEN:VOLTage?
The :WGEN:VOLTage? query returns the currently specified waveform amplitude.

Return Format <amplitude><NL>

See Also

<amplitude> ::= amplitude in volts in NR3 format
· "Introduction to :WGEN Commands" on page 691 · ":WGEN:FUNCtion" on page 693 · ":WGEN:VOLTage:OFFSet" on page 719 · ":WGEN:VOLTage:HIGH" on page 717 · ":WGEN:VOLTage:LOW" on page 718

716

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

:WGEN:VOLTage:HIGH

(see page 818)

Command Syntax :WGEN:VOLTage:HIGH <high>

Query Syntax Return Format

<high> ::= high-level voltage in volts, in NR3 format
For all waveforms except DC, the :WGEN:VOLTage:HIGH command specifies the waveform's high-level voltage. Use the :WGEN:VOLTage:LOW command to specify the low-level voltage. You can also specify the high-level and low-level voltages indirectly using the :WGEN:VOLTage and :WGEN:VOLTage:OFFSet commands. For example, a high-level voltage of 4 V and a low-level voltage of -1 V is the same as an amplitude of 5 V and an offset of 1 V.
:WGEN:VOLTage:HIGH?
The :WGEN:VOLTage:HIGH? query returns the currently specified waveform high-level voltage.
<high><NL>

See Also

<high> ::= high-level voltage in volts, in NR3 format
· "Introduction to :WGEN Commands" on page 691 · ":WGEN:FUNCtion" on page 693 · ":WGEN:VOLTage:LOW" on page 718 · ":WGEN:VOLTage" on page 716 · ":WGEN:VOLTage:OFFSet" on page 719

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

717

30 :WGEN Commands

:WGEN:VOLTage:LOW

(see page 818)

Command Syntax :WGEN:VOLTage:LOW <low>

Query Syntax Return Format

<low> ::= low-level voltage in volts, in NR3 format
For all waveforms except DC, the :WGEN:VOLTage:LOW command specifies the waveform's low-level voltage. Use the :WGEN:VOLTage:HIGH command to specify the high-level voltage. You can also specify the high-level and low-level voltages indirectly using the :WGEN:VOLTage and :WGEN:VOLTage:OFFSet commands. For example, a high-level voltage of 4 V and a low-level voltage of -1 V is the same as an amplitude of 5 V and an offset of 1 V.
:WGEN:VOLTage:LOW?
The :WGEN:VOLTage:LOW? query returns the currently specified waveform low-level voltage.
<low><NL>

See Also

<low> ::= low-level voltage in volts, in NR3 format
· "Introduction to :WGEN Commands" on page 691 · ":WGEN:FUNCtion" on page 693 · ":WGEN:VOLTage:LOW" on page 718 · ":WGEN:VOLTage" on page 716 · ":WGEN:VOLTage:OFFSet" on page 719

718

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WGEN Commands 30

:WGEN:VOLTage:OFFSet

(see page 818)

Command Syntax :WGEN:VOLTage:OFFSet <offset>

<offset> ::= offset in volts in NR3 format
The :WGEN:VOLTage:OFFSet command specifies the waveform's offset voltage or the DC level. Use the :WGEN:VOLTage command to specify the amplitude.

Query Syntax

You can also specify the amplitude and offset indirectly using the :WGEN:VOLTage:HIGH and :WGEN:VOLTage:LOW commands. For example, an amplitude of 5 V and an offset of 1 V is the same as a high-level voltage of 4 V and a low-level voltage of -1 V.
:WGEN:VOLTage:OFFSet?
The :WGEN:VOLTage:OFFSet? query returns the currently specified waveform offset voltage.

Return Format <offset><NL>

See Also

<offset> ::= offset in volts in NR3 format
· "Introduction to :WGEN Commands" on page 691 · ":WGEN:FUNCtion" on page 693 · ":WGEN:VOLTage" on page 716 · ":WGEN:VOLTage:HIGH" on page 717 · ":WGEN:VOLTage:LOW" on page 718

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

719

30 :WGEN Commands

720

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
31 :WMEMory<r> Commands

Control reference waveforms.

Table 89 :WMEMory<r> Commands Summary

Command

Query

:WMEMory<r>:CLEar

n/a

(see page 723)

:WMEMory<r>:DISPlay
{{0 | OFF} | {1 | ON}} (see page 724)

:WMEMory<r>:DISPlay? (see page 724)

:WMEMory<r>:LABel
<string> (see page 725)

:WMEMory<r>:LABel? (see page 725)

:WMEMory<r>:SAVE

n/a

<source> (see page 726)

:WMEMory<r>:SKEW

:WMEMory<r>:SKEW?

<skew> (see page 727) (see page 727)

:WMEMory<r>:YOFFset
<offset>[suffix] (see page 728)

:WMEMory<r>:YOFFset? (see page 728)

Options and Query Returns <r> ::= 1-2 in NR1 format
<r> ::= 1-2 in NR1 format {0 | 1}
<r> ::= 1-2 in NR1 format <string> ::= any series of 10 or less ASCII characters enclosed in quotation marks
<r> ::= 1-2 in NR1 format <source> ::= {CHANnel<n> | FUNCtion | MATH} <n> ::= 1 to (# analog channels) in NR1 format NOTE: Only ADD or SUBtract math operations can be saved as reference waveforms.
<r> ::= 1-2 in NR1 format <skew> ::= time in seconds in NR3 format
<r> ::= 1-2 in NR1 format <offset> ::= vertical offset value in NR3 format [suffix] ::= {V | mV}

721

31 :WMEMory<r> Commands

Table 89 :WMEMory<r> Commands Summary (continued)

Command

Query

:WMEMory<r>:YRANge
<range>[suffix] (see page 729)

:WMEMory<r>:YRANge? (see page 729)

:WMEMory<r>:YSCale
<scale>[suffix] (see page 730)

:WMEMory<r>:YSCale? (see page 730)

Options and Query Returns
<r> ::= 1-2 in NR1 format <range> ::= vertical full-scale range value in NR3 format [suffix] ::= {V | mV}
<r> ::= 1-2 in NR1 format <scale> ::= vertical units per division value in NR3 format [suffix] ::= {V | mV}

722

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WMEMory<r> Commands 31

:WMEMory<r>:CLEar

(see page 818)

Command Syntax :WMEMory<r>:CLEar

<r> ::= 1-2 in NR1 format
The :WMEMory<r>:CLEar command clears the specified reference waveform location.

See Also

· Chapter 31, ":WMEMory<r> Commands," starting on page 721 · ":WMEMory<r>:SAVE" on page 726 · ":WMEMory<r>:DISPlay" on page 724

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

723

31 :WMEMory<r> Commands

:WMEMory<r>:DISPlay

(see page 818)

Command Syntax :WMEMory<r>:DISPlay <on_off>

<r> ::= 1-2 in NR1 format

Query Syntax Return Format

<on_off> ::= {{1 | ON} | {0 | OFF}}
The :WMEMory<r>:DISPlay command turns the display of the specified reference waveform on or off. There are two reference waveform locations, but only one reference waveform can be displayed at a time. That means, if :WMEMory1:DISPlay is ON, sending the :WMEMory2:DISPlay ON command will automatically set :WMEMory1:DISPlay OFF.
:WMEMory<r>:DISPlay?
The :WMEMory<r>:DISPlay? query returns the current display setting for the reference waveform.
<on_off><NL>

See Also

<on_off> ::= {1 | 0}
· Chapter 31, ":WMEMory<r> Commands," starting on page 721 · ":WMEMory<r>:CLEar" on page 723 · ":WMEMory<r>:LABel" on page 725

724

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WMEMory<r> Commands 31

:WMEMory<r>:LABel

(see page 818) Command Syntax :WMEMory<r>:LABel <string>
<r> ::= 1-2 in NR1 format <string> ::= quoted ASCII string

NOTE

Label strings are 10 characters or less, and may contain any commonly used ASCII characters. Labels with more than 10 characters are truncated to 10 characters. Lower case characters are converted to upper case.

Query Syntax Return Format

The :WMEMory<r>:LABel command sets the reference waveform label to the string that follows. Setting a label for a reference waveform also adds the name to the label list in non-volatile memory (replacing the oldest label in the list).
:WMEMory<r>:LABel?
The :WMEMory<r>:LABel? query returns the label associated with a particular reference waveform.
<string><NL>

See Also

<string> ::= quoted ASCII string
· Chapter 31, ":WMEMory<r> Commands," starting on page 721 · ":WMEMory<r>:DISPlay" on page 724

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

725

31 :WMEMory<r> Commands

:WMEMory<r>:SAVE

(see page 818) Command Syntax :WMEMory<r>:SAVE <source>
<r> ::= 1-2 in NR1 format <source> ::= {CHANnel<n> | FUNCtion | MATH} <n> ::= 1 to (# analog channels) in NR1 format
The :WMEMory<r>:SAVE command copies the analog channel or math function waveform to the specified reference waveform location.

NOTE

Only ADD or SUBtract math operations can be saved as reference waveforms.

See Also · Chapter 31, ":WMEMory<r> Commands," starting on page 721 · ":WMEMory<r>:DISPlay" on page 724

726

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WMEMory<r> Commands 31

:WMEMory<r>:SKEW

(see page 818)

Command Syntax :WMEMory<r>:SKEW <skew>

<r> ::= 1-2 in NR1 format

Query Syntax Return Format

<skew> ::= time in seconds in NR3 format
The :WMEMory<r>:SKEW command sets the skew factor for the specified reference waveform.
:WMEMory<r>:SKEW?
The :WMEMory<r>:SKEW? query returns the current skew setting for the selected reference waveform.
<skew><NL>

See Also

<skew> ::= time in seconds in NR3 format
· Chapter 31, ":WMEMory<r> Commands," starting on page 721 · ":WMEMory<r>:DISPlay" on page 724 · ":WMEMory<r>:YOFFset" on page 728 · ":WMEMory<r>:YRANge" on page 729 · ":WMEMory<r>:YSCale" on page 730

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

727

31 :WMEMory<r> Commands

:WMEMory<r>:YOFFset

(see page 818)

Command Syntax :WMEMory<r>:YOFFset <offset> [<suffix>]

<r> ::= 1-2 in NR1 format

<offset> ::= vertical offset value in NR3 format

Query Syntax Return Format

<suffix> ::= {V | mV}
The :WMEMory<r>:YOFFset command sets the value that is represented at center screen for the selected reference waveform. The range of legal values varies with the value set by the :WMEMory<r>:YRANge or :WMEMory<r>:YSCale commands. If you set the offset to a value outside of the legal range, the offset value is automatically set to the nearest legal value. Legal values are affected by the probe attenuation setting.
:WMEMory<r>:YOFFset?
The :WMEMory<r>:YOFFset? query returns the current offset value for the selected reference waveform.
<offset><NL>

See Also

<offset> ::= vertical offset value in NR3 format
· Chapter 31, ":WMEMory<r> Commands," starting on page 721 · ":WMEMory<r>:DISPlay" on page 724 · ":WMEMory<r>:YRANge" on page 729 · ":WMEMory<r>:YSCale" on page 730 · ":WMEMory<r>:SKEW" on page 727

728

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

:WMEMory<r> Commands 31

:WMEMory<r>:YRANge

(see page 818)

Command Syntax :WMEMory<r>:YRANge <range>[<suffix>]

<r> ::= 1-2 in NR1 format

<range> ::= vertical full-scale range value in NR3 format

Query Syntax Return Format

<suffix> ::= {V | mV}
The :WMEMory<r>:YRANge command defines the full-scale vertical axis of the selected reference waveform. Legal values for the range are copied from the original source waveform (that is, the analog channel or math function waveform that was originally saved as a reference waveform).
:WMEMory<r>:YRANge?
The :WMEMory<r>:YRANge? query returns the current full-scale range setting for the specified reference waveform.
<range><NL>

See Also

<range> ::= vertical full-scale range value in NR3 format
· Chapter 31, ":WMEMory<r> Commands," starting on page 721 · ":WMEMory<r>:DISPlay" on page 724 · ":WMEMory<r>:YOFFset" on page 728 · ":WMEMory<r>:SKEW" on page 727 · ":WMEMory<r>:YSCale" on page 730

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

729

31 :WMEMory<r> Commands

:WMEMory<r>:YSCale

(see page 818)

Command Syntax :WMEMory<r>:YSCale <scale>[<suffix>]

<r> ::= 1-2 in NR1 format

<scale> ::= vertical units per division in NR3 format

Query Syntax Return Format

<suffix> ::= {V | mV}
The :WMEMory<r>:YSCale command sets the vertical scale, or units per division, of the selected reference waveform. Legal values for the scale are copied from the original source waveform (that is, the analog channel or math function waveform that was originally saved as a reference waveform).
:WMEMory<r>:YSCale?
The :WMEMory<r>:YSCale? query returns the current scale setting for the specified reference waveform.
<scale><NL>

See Also

<scale> ::= vertical units per division in NR3 format
· Chapter 31, ":WMEMory<r> Commands," starting on page 721 · ":WMEMory<r>:DISPlay" on page 724 · ":WMEMory<r>:YOFFset" on page 728 · ":WMEMory<r>:YRANge" on page 729 · ":WMEMory<r>:SKEW" on page 727

730

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
32 Obsolete and Discontinued Commands

Obsolete commands are older forms of commands that are provided to reduce customer rework for existing systems and programs (see"Obsolete Commands" on page 818).

Obsolete Command ANALog<n>:BWLimit
ANALog<n>:COUPling
ANALog<n>:INVert
ANALog<n>:LABel
ANALog<n>:OFFSet
ANALog<n>:PROBe
ANALog<n>:PMODe ANALog<n>:RANGe
:CHANnel:LABel (see page 736) :CHANnel2:SKEW (see page 737) :CHANnel<n>:INPut (see page 738) :CHANnel<n>:PMODe (see page 739)

Current Command Equivalent :CHANnel<n>:BWLimit (see page 213) :CHANnel<n>:COUPling (see page 214) :CHANnel<n>:INVert (see page 217) :CHANnel<n>:LABel (see page 218) :CHANnel<n>:OFFSet (see page 219) :CHANnel<n>:PROBe (see page 220) none :CHANnel<n>:RANGe (see page 226) :CHANnel<n>:LABel (see page 218) :CHANnel<n>:PROBe:SKEW (see page 223) :CHANnel<n>:IMPedance (see page 216) none

Behavior Differences use CHANnel<n>:LABel for analog channels

731

32 Obsolete and Discontinued Commands

Obsolete Command :DISPlay:CONNect (see page 740) :ERASe (see page 741) :EXTernal:PMODe (see page 742) :FRANalysis:PPDecade (see page 743)
FUNCtion1, FUNCtion2
:FUNCtion:SOURce (see page 744)
:FUNCtion:VIEW (see page 745) :HARDcopy:DESTination (see page 746) :HARDcopy:FILename (see page 747)
:HARDcopy:GRAYscale (see page 748) :HARDcopy:IGColors (see page 749) :HARDcopy:PDRiver (see page 750) :MEASure:LOWer (see page 751)
:MEASure:SCRatch (see page 752) :MEASure:TDELta (see page 753) :MEASure:THResholds (see page 754)

Current Command Equivalent Behavior Differences :DISPlay:VECTors (see page 249) :DISplay:CLEar (see page 241) none

:FRANalysis:SWEep:POINts (see page 294)
:FUNCtion Commands (see page 299) :FUNCtion:SOURce1 (see page 318)
:FUNCtion:DISPlay (see page 302) :HARDcopy:FILename (see page 747) :RECall:FILename (see page 449) :SAVE:FILename (see page 449) :HARDcopy:PALette (see page 332) :HARDcopy:INKSaver (see page 327) :HARDcopy:APRinter (see page 324) :MEASure:DEFine:THResholds (see page 370)
:MEASure:CLEar (see page 368) :MARKer:XDELta (see page 347) :MEASure:DEFine:THResholds (see page 370)

Instead of points-per-decade, the :FRANalysis:SWEep:POINts command lets you specify the total number of points in the frequency response analysis. ADD not included Obsolete command has ADD, SUBTract, and MULTiply parameters; current command has GOFT parameter.
MEASure:DEFine:THResholds can define absolute values or percentage MEASure:DEFine:THResholds can define absolute values or percentage

732

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

Obsolete Command :MEASure:TMAX (see page 755) :MEASure:TMIN (see page 756) :MEASure:TSTArt (see page 757) :MEASure:TSTOp (see page 758) :MEASure:TVOLt (see page 759) :MEASure:UPPer (see page 760)
:MEASure:VDELta (see page 761) :MEASure:VSTArt (see page 762) :MEASure:VSTOp (see page 763) :MTESt:AMASk:{SAVE | STORe} (see page 764) :MTESt:AVERage (see page 765) :MTESt:AVERage:COUNt (see page 766) :MTESt:LOAD (see page 767)
:MTESt:RUMode (see page 768) :MTESt:RUMode:SOFailure (see page 769) :MTESt:{STARt | STOP} (see page 770) :MTESt:TRIGger:SOURce (see page 771)
:PRINt? (see page 772)

Current Command Equivalent :MEASure:XMAX (see page 410) :MEASure:XMIN (see page 411) :MARKer:X1Position (see page 343) :MARKer:X2Position (see page 345) :MEASure:TVALue (see page 398) :MEASure:DEFine:THResholds (see page 370)
:MARKer:YDELta (see page 352) :MARKer:Y1Position (see page 350) :MARKer:Y2Position (see page 351) :SAVE:MASK[:STARt] (see page 465) :ACQuire:TYPE AVERage (see page 197) :ACQuire:COUNt (see page 188) :RECall:MASK[:STARt] (see page 450) :MTESt:RMODe (see page 432) :MTESt:RMODe:FACTion:STOP (see page 436) :RUN (see page 168) or :STOP (see page 172) :TRIGger Commands (see page 605)
:DISPlay:DATA? (see page 242)

Behavior Differences TVALue measures additional values such as db, Vs, etc. MEASure:DEFine:THResholds can define absolute values or percentage
There are various commands for setting the source with different types of triggers.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

733

32 Obsolete and Discontinued Commands

Obsolete Command :SAVE:IMAGe:AREA (see page 774) :TIMebase:DELay (see page 775)
:TRIGger:TV:TVMode (see page 776)

Current Command Equivalent none

Behavior Differences

:TIMebase:POSition (see page 596) or :TIMebase:WINDow:POSition (see page 601) :TRIGger:TV:MODE (see page 649)

TIMebase:POSition is position value of main time base; TIMebase:WINDow:POSition is position value of zoomed (delayed) time base window.

Discontinued Commands

Discontinued commands are commands that were used by previous oscilloscopes, but are not supported by the InfiniiVision 1200 X-Series and EDUX11052A/G oscilloscopes. Listed below are the Discontinued commands and the nearest equivalent command available (if any).

Discontinued Command ASTore
CHANnel:MATH
CHANnel<n>:PROTect
DISPlay:INVerse DISPlay:COLumn DISPlay:FREeze DISPlay:GRID DISPLay:LINE DISPlay:PIXel DISPlay:POSition DISPlay:ROW DISPlay:TEXT FUNCtion:MOVE FUNCtion:PEAKs

Current Command Equivalent :DISPlay:PERSistence INFinite (see page 247) :FUNCtion:OPERation (see page 313) :CHANnel<n>:PROTection (see page 225)
none none none none none none none none none none none

Comments
ADD not included Previous form of this command was used to enable/disable 50 protection. The new command resets a tripped protect and the query returns the status of TRIPed or NORMal.

734

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

Discontinued Command HARDcopy:ADDRess
MASK SYSTem:KEY TEST:ALL TRACE subsystem TRIGger:ADVanced subsystem TRIGger:TV:FIELd TRIGger:TV:TVHFrej TRIGger:TV:VIR VAUToscale

Current Command Equivalent none
none none *TST (Self Test) (see page 138) none
:TRIGger:TV:MODE (see page 649)
none none

Comments Only parallel printer port is supported. GPIB printing not supported All commands discontinued, feature not available
All commands discontinued, feature not available Use new GLITch, PATTern, or TV trigger modes

Discontinued Parameters

Some previous oscilloscope queries returned control setting values of OFF and ON. The InfiniiVision 1200 X-Series and EDUX11052A/G oscilloscopes only return the enumerated values 0 (for off) and 1 (for on).

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

735

32 Obsolete and Discontinued Commands

:CHANnel:LABel

(see page 818) Command Syntax :CHANnel:LABel <source_text><string>
<source_text> ::= {CHANnel1 | CHANnel2} <string> ::= quoted ASCII string
The :CHANnel:LABel command sets the source text to the string that follows. Setting a channel will also result in the name being added to the label list.

NOTE

The :CHANnel:LABel command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :CHANnel<n>:LABel command (see page 218).

Query Syntax Return Format

:CHANnel:LABel?
The :CHANnel:LABel? query returns the label associated with a particular analog channel.
<string><NL>

<string> ::= quoted ASCII string

736

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:CHANnel2:SKEW

(see page 818) Command Syntax :CHANnel2:SKEW <skew value>
<skew value> ::= skew time in NR3 format <skew value> ::= -100 ns to +100 ns
The :CHANnel2:SKEW command sets the skew between channels 1 and 2. The maximum skew is +/-100 ns. You can use the oscilloscope's analog probe skew control to remove cable delay errors between channel 1 and channel 2.

NOTE

The :CHANnel2:SKEW command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :CHANnel<n>:PROBe:SKEW command (see page 223) instead.

NOTE

This command is only valid for the two channel oscilloscope models.

Query Syntax Return Format

:CHANnel2:SKEW?
The :CHANnel2:SKEW? query returns the current probe skew setting for the selected channel.
<skew value><NL>

<skew value> ::= skew value in NR3 format
See Also · "Introduction to :CHANnel<n> Commands" on page 211

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

737

32 Obsolete and Discontinued Commands

:CHANnel<n>:INPut

(see page 818) Command Syntax :CHANnel<n>:INPut <impedance>
<impedance> ::= {ONEMeg | FIFTy} <n> ::= 1 to (# analog channels) in NR1 format
The :CHANnel<n>:INPut command selects the input impedance setting for the specified channel. The legal values for this command are ONEMeg (1 M) and FIFTy (50).

NOTE

The :CHANnel<n>:INPut command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :CHANnel<n>:IMPedance command (see page 216) instead.

Query Syntax

:CHANnel<n>:INPut?
The :CHANnel<n>:INPut? query returns the current input impedance setting for the specified channel.

Return Format <impedance value><NL>

<impedance value> ::= {ONEM | FIFT}

738

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:CHANnel<n>:PMODe

(see page 818) Command Syntax :CHANnel<n>:PMODe <pmode value>
<pmode value> ::= {AUTo | MANual}
<n> ::= 1 to (# analog channels) in NR1 format
The probe sense mode is controlled internally and cannot be set. If a probe with sense is connected to the specified channel, auto sensing is enabled; otherwise, the mode is manual. If the PMODe sent matches the oscilloscope's setting, the command will be accepted. Otherwise, a setting conflict error is generated.

NOTE

The :CHANnel<n>:PMODe command is an obsolete command provided for compatibility to previous oscilloscopes.

Query Syntax Return Format

:CHANnel<n>:PMODe?
The :CHANnel<n>:PMODe? query returns AUT if an autosense probe is attached and MAN otherwise.
<pmode value><NL>

<pmode value> ::= {AUT | MAN}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

739

32 Obsolete and Discontinued Commands

:DISPlay:CONNect

(see page 818) Command Syntax :DISPlay:CONNect <connect>
<connect> ::= {{ 1 | ON} | {0 | OFF}}
The :DISPlay:CONNect command turns vectors on and off. When vectors are turned on, the oscilloscope displays lines connecting sampled data points. When vectors are turned off, only the sampled data is displayed.

NOTE

The :DISPlay:CONNEct command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :DISPlay:VECTors command (see page 249) instead.

Query Syntax Return Format

:DISPlay:CONNect?
The :DISPlay:CONNect? query returns the current state of the vectors setting.
<connect><NL>

<connect> ::= {1 | 0}
See Also · ":DISPlay:VECTors" on page 249

740

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:ERASe

Command Syntax

(see page 818)
:ERASe
The :ERASe command erases the screen.

NOTE

The :ERASe command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :DISplay:CLEar command (see page 241) instead.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

741

32 Obsolete and Discontinued Commands

:EXTernal:PMODe

(see page 818) Command Syntax :EXTernal:PMODe <pmode value>
<pmode value> ::= {AUTo | MANual}
The probe sense mode is controlled internally and cannot be set. If a probe with sense is connected to the specified channel, auto sensing is enabled; otherwise, the mode is manual. If the pmode sent matches the oscilloscope's setting, the command will be accepted. Otherwise, a setting conflict error is generated.

NOTE

The :EXTernal:PMODe command is an obsolete command provided for compatibility to previous oscilloscopes.

Query Syntax Return Format

:EXTernal:PMODe?
The :EXTernal:PMODe? query returns AUT if an autosense probe is attached and MAN otherwise.
<pmode value><NL>

<pmode value> ::= {AUT | MAN}

742

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:FRANalysis:PPDecade

(see page 818) Command Syntax :FRANalysis:PPDecade <value>
<value> ::= {10 | 20 | 30 | 40 | 50}
The :FRANalysis:PPDecade command specifies the number of points per decade in the frequency response analysis.

NOTE

This command is deprecated. You should now use the :FRANalysis:SWEep:POINts command instead, which lets you specify the total number of points in the entire frequency sweep. If you use this command, it will set the :FRANalysis:SWEep:POINts setting to a roughly equivalent value.

Query Syntax
Return Format See Also

:FRANalysis:PPDecade?
The :FRANalysis:PPDecade? query returns the points per decade setting.
<value><NL>
· ":FRANalysis:SWEep:POINts" on page 294 · ":FRANalysis:FREQuency:STARt" on page 289 · ":FRANalysis:FREQuency:STOP" on page 290

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

743

32 Obsolete and Discontinued Commands

:FUNCtion:SOURce

(see page 818) Command Syntax :FUNCtion:SOURce <value>
<value> ::= {CHANnel<n> | ADD | SUBTract | MULTiply} <n> ::= 1 to (# analog channels) in NR1 format
The :FUNCtion:SOURce command is only used when an FFT (Fast Fourier Transform) operation is selected (see the:FUNCtion:OPERation command for more information about selecting an operation). The :FUNCtion:SOURce command selects the source for function operations. Choose CHANnel<n>, or ADD, SUBT, or MULT to specify the desired source for FFT operations specified by the :FUNCtion:OPERation command.

NOTE

The :FUNCtion:SOURce command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :FUNCtion:SOURce1 command (see page 318) instead.

Query Syntax Return Format

:FUNCtion:SOURce?
The :FUNCtion:SOURce? query returns the current source for function operations.
<value><NL>

<value> ::= {CHAN<n> | ADD | SUBT | MULT}

See Also

<n> ::= 1 to (# analog channels) in NR1 format
· "Introduction to :FUNCtion Commands" on page 301 · ":FUNCtion:OPERation" on page 313

744

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:FUNCtion:VIEW

(see page 818) Command Syntax :FUNCtion:VIEW <view>
<view> ::= {{1 | ON} | (0 | OFF}}
The :FUNCtion:VIEW command turns the selected function on or off. When ON is selected, the function performs as specified using the other FUNCtion commands. When OFF is selected, function is neither calculated nor displayed.

NOTE

The :FUNCtion:VIEW command is provided for backward compatibility to previous oscilloscopes. Use the :FUNCtion:DISPlay command (see page 302) instead.

Query Syntax Return Format

:FUNCtion:VIEW?
The :FUNCtion:VIEW? query returns the current state of the selected function.
<view><NL>

<view> ::= {1 | 0}

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

745

32 Obsolete and Discontinued Commands

:HARDcopy:DESTination

(see page 818) Command Syntax :HARDcopy:DESTination <destination>
<destination> ::= {CENTronics | FLOPpy}
The :HARDcopy:DESTination command sets the hardcopy destination.

NOTE

The :HARDcopy:DESTination command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :HARDcopy:FILename command (see page 747) instead.

Query Syntax Return Format

:HARDcopy:DESTination?
The :HARDcopy:DESTination? query returns the selected hardcopy destination.
<destination><NL>

<destination> ::= {CENT | FLOP}
See Also · "Introduction to :HARDcopy Commands" on page 322

746

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:HARDcopy:FILename

(see page 818) Command Syntax :HARDcopy:FILename <string>
<string> ::= quoted ASCII string
The HARDcopy:FILename command sets the output filename for those print formats whose output is a file.

NOTE

The :HARDcopy:FILename command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :SAVE:FILename command (see page 458) and :RECall:FILename command (see page 449) instead.

Query Syntax Return Format

:HARDcopy:FILename?
The :HARDcopy:FILename? query returns the current hardcopy output filename.
<string><NL>

<string> ::= quoted ASCII string
See Also · "Introduction to :HARDcopy Commands" on page 322

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

747

32 Obsolete and Discontinued Commands

:HARDcopy:GRAYscale

(see page 818) Command Syntax :HARDcopy:GRAYscale <gray>
<gray> ::= {{OFF | 0} | {ON | 1}}
The :HARDcopy:GRAYscale command controls whether grayscaling is performed in the hardcopy dump.

NOTE

The :HARDcopy:GRAYscale command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :HARDcopy:PALette command (see page 332) instead. (":HARDcopy:GRAYscale ON" is the same as ":HARDcopy:PALette GRAYscale" and ":HARDcopy:GRAYscale OFF" is the same as ":HARDcopy:PALette COLor".)

Query Syntax Return Format

:HARDcopy:GRAYscale?
The :HARDcopy:GRAYscale? query returns a flag indicating whether grayscaling is performed in the hardcopy dump.
<gray><NL>

<gray> ::= {0 | 1}
See Also · "Introduction to :HARDcopy Commands" on page 322

748

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:HARDcopy:IGColors

(see page 818) Command Syntax :HARDcopy:IGColors <value>
<value> ::= {{OFF | 0} | {ON | 1}}
The HARDcopy:IGColors command controls whether the graticule colors are inverted or not.

NOTE

The :HARDcopy:IGColors command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :HARDcopy:INKSaver (see page 327) command instead.

Query Syntax Return Format

:HARDcopy:IGColors?
The :HARDcopy:IGColors? query returns a flag indicating whether graticule colors are inverted or not.
<value><NL>

<value> ::= {0 | 1}
See Also · "Introduction to :HARDcopy Commands" on page 322

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

749

32 Obsolete and Discontinued Commands

:HARDcopy:PDRiver

(see page 818) Command Syntax :HARDcopy:PDRiver <driver>
<driver> ::= {AP2Xxx | AP21xx | {AP2560 | AP25} | {DJ350 | DJ35} | DJ6xx | {DJ630 | DJ63} | DJ6Special | DJ6Photo | DJ8Special | DJ8xx | DJ9Vip | OJPRokx50 | DJ9xx | GVIP | DJ55xx | {PS470 | PS47} {PS100 | PS10} | CLASer | MLASer | LJFastraster | POSTscript}
The HARDcopy:PDRiver command sets the hardcopy printer driver used for the selected printer. If the correct driver for the selected printer can be identified, it will be selected and cannot be changed.

NOTE

The :HARDcopy:PDRiver command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :HARDcopy:APRinter (see page 324) command instead.

Query Syntax Return Format

:HARDcopy:PDRiver?
The :HARDcopy:PDRiver? query returns the selected hardcopy printer driver.
<driver><NL>

See Also

<driver> ::= {AP2X | AP21 | AP25 | DJ35 | DJ6 | DJ63 | DJ6S | DJ6P | DJ8S | DJ8 | DJ9V | OJPR | DJ9 | GVIP | DJ55 | PS10 | PS47 | CLAS | MLAS | LJF | POST}
· "Introduction to :HARDcopy Commands" on page 322

750

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:MEASure:LOWer

Command Syntax

(see page 818)
:MEASure:LOWer <voltage>
The :MEASure:LOWer command sets the lower measurement threshold value. This value and the UPPer value represent absolute values when the thresholds are ABSolute and percentage when the thresholds are PERCent as defined by the :MEASure:DEFine THResholds command.

NOTE

The :MEASure:LOWer command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:DEFine THResholds command (see page 370) instead.

Query Syntax Return Format

:MEASure:LOWer?
The :MEASure:LOWer? query returns the current lower threshold level.
<voltage><NL>

See Also

<voltage> ::= the user-defined lower threshold in volts in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:THResholds" on page 754 · ":MEASure:UPPer" on page 760

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

751

32 Obsolete and Discontinued Commands

:MEASure:SCRatch

Command Syntax

(see page 818)
:MEASure:SCRatch
The :MEASure:SCRatch command clears all selected measurements and markers from the screen.

NOTE

The :MEASure:SCRatch command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:CLEar command (see page 368) instead.

752

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:MEASure:TDELta

Query Syntax

(see page 818)
:MEASure:TDELta?
The :MEASure:TDELta? query returns the time difference between the Tstop marker (X2 cursor) and the Tstart marker (X1 cursor). Tdelta = Tstop - Tstart Tstart is the time at the start marker (X1 cursor) and Tstop is the time at the stop marker (X2 cursor). No measurement is made when the :MEASure:TDELta? query is received by the oscilloscope. The delta time value that is output is the current value. This is the same value as the front-panel cursors delta X value.

NOTE

The :MEASure:TDELta command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :MARKer:XDELta command (see page 347) instead.

Return Format <value><NL>

See Also

<value> ::= time difference between start and stop markers in NR3 format
· "Introduction to :MARKer Commands" on page 340 · "Introduction to :MEASure Commands" on page 364 · ":MARKer:X1Position" on page 343 · ":MARKer:X2Position" on page 345 · ":MARKer:XDELta" on page 347 · ":MEASure:TSTArt" on page 757 · ":MEASure:TSTOp" on page 758

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

753

32 Obsolete and Discontinued Commands

:MEASure:THResholds

Command Syntax

(see page 818)
:MEASure:THResholds {T1090 | T2080 | VOLTage}
The :MEASure:THResholds command selects the thresholds used when making time measurements.

NOTE

The :MEASure:THResholds command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:DEFine THResholds command (see page 370) instead.

Query Syntax Return Format

:MEASure:THResholds?
The :MEASure:THResholds? query returns the current thresholds selected when making time measurements.
{T1090 | T2080 | VOLTage}<NL>

{T1090} uses the 10% and 90% levels of the selected waveform.

{T2080} uses the 20% and 80% levels of the selected waveform.

See Also

{VOLTage} uses the upper and lower voltage thresholds set by the UPPer and LOWer commands on the selected waveform.
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:LOWer" on page 751 · ":MEASure:UPPer" on page 760

754

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:MEASure:TMAX

(see page 818) Command Syntax :MEASure:TMAX [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH} <n> ::= 1 to (# analog channels) in NR1 format
The :MEASure:TMAX command installs a screen measurement and starts an X-at-Max-Y measurement on the selected waveform. If the optional source is specified, the current source is modified.

NOTE

The :MEASure:TMAX command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:XMAX command (see page 410) instead.

Query Syntax Return Format

:MEASure:TMAX? [<source>]
The :MEASure:TMAX? query returns the horizontal axis value at which the maximum vertical value occurs on the current source. If the optional source is specified, the current source is modified. If all channels are off, the query returns 9.9E+37.
<value><NL>

See Also

<value> ::= time at maximum in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:TMIN" on page 756 · ":MEASure:XMAX" on page 410 · ":MEASure:XMIN" on page 411

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

755

32 Obsolete and Discontinued Commands

:MEASure:TMIN

(see page 818) Command Syntax :MEASure:TMIN [<source>]
<source> ::= {CHANnel<n> | FUNCtion | MATH} <n> ::= 1 to (# analog channels) in NR1 format
The :MEASure:TMIN command installs a screen measurement and starts an X-at-Min-Y measurement on the selected waveform. If the optional source is specified, the current source is modified.

NOTE

The :MEASure:TMIN command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:XMIN command (see page 411) instead.

Query Syntax Return Format

:MEASure:TMIN? [<source>]
The :MEASure:TMIN? query returns the horizontal axis value at which the minimum vertical value occurs on the current source. If the optional source is specified, the current source is modified. If all channels are off, the query returns 9.9E+37.
<value><NL>

See Also

<value> ::= time at minimum in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:TMAX" on page 755 · ":MEASure:XMAX" on page 410 · ":MEASure:XMIN" on page 411

756

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:MEASure:TSTArt

(see page 818) Command Syntax :MEASure:TSTArt <value> [suffix]
<value> ::= time at the start marker in seconds [suffix] ::= {s | ms | us | ns | ps}
The :MEASure:TSTArt command moves the start marker (X1 cursor) to the specified time with respect to the trigger time.

NOTE

The short form of this command, TSTA, does not follow the defined Long Form to Short Form Truncation Rules (see page 820). The normal short form "TST" would be the same for both TSTArt and TSTOp, so sending TST for the TSTArt command produces an error.

NOTE

The :MEASure:TSTArt command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :MARKer:X1Position command (see page 343) instead.

Query Syntax Return Format

:MEASure:TSTArt?
The :MEASure:TSTArt? query returns the time at the start marker (X1 cursor).
<value><NL>

See Also

<value> ::= time at the start marker in NR3 format
· "Introduction to :MARKer Commands" on page 340 · "Introduction to :MEASure Commands" on page 364 · ":MARKer:X1Position" on page 343 · ":MARKer:X2Position" on page 345 · ":MARKer:XDELta" on page 347 · ":MEASure:TDELta" on page 753 · ":MEASure:TSTOp" on page 758

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

757

32 Obsolete and Discontinued Commands

:MEASure:TSTOp

(see page 818) Command Syntax :MEASure:TSTOp <value> [suffix]
<value> ::= time at the stop marker in seconds [suffix] ::= {s | ms | us | ns | ps}
The :MEASure:TSTOp command moves the stop marker (X2 cursor) to the specified time with respect to the trigger time.

NOTE

The short form of this command, TSTO, does not follow the defined Long Form to Short Form Truncation Rules (see page 820). The normal short form "TST" would be the same for both TSTArt and TSTOp, so sending TST for the TSTOp command produces an error.

NOTE

The :MEASure:TSTOp command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :MARKer:X2Position command (see page 345) instead.

Query Syntax Return Format

:MEASure:TSTOp?
The :MEASure:TSTOp? query returns the time at the stop marker (X2 cursor).
<value><NL>

See Also

<value> ::= time at the stop marker in NR3 format
· "Introduction to :MARKer Commands" on page 340 · "Introduction to :MEASure Commands" on page 364 · ":MARKer:X1Position" on page 343 · ":MARKer:X2Position" on page 345 · ":MARKer:XDELta" on page 347 · ":MEASure:TDELta" on page 753 · ":MEASure:TSTArt" on page 757

758

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:MEASure:TVOLt

(see page 818) Query Syntax :MEASure:TVOLt? <value>, [<slope>]<occurrence>[,<source>]
<value> ::= the voltage level that the waveform must cross.
<slope> ::= direction of the waveform. A rising slope is indicated by a plus sign (+). A falling edge is indicated by a minus sign (-).
<occurrence> ::= the transition to be reported. If the occurrence number is one, the first crossing is reported. If the number is two, the second crossing is reported, etc.
<source> ::= {CHANnel<n> | FUNCtion | MATH}
<n> ::= 1 to (# analog channels) in NR1 format
When the :MEASure:TVOLt? query is sent, the displayed signal is searched for the specified voltage level and transition. The time interval between the trigger event and this defined occurrence is returned as the response to the query. The specified voltage can be negative or positive. To specify a negative voltage, use a minus sign (-). The sign of the slope selects a rising (+) or falling (-) edge. If no sign is specified for the slope, it is assumed to be the rising edge. The magnitude of the occurrence defines the occurrence to be reported. For example, +3 returns the time for the third time the waveform crosses the specified voltage level in the positive direction. Once this voltage crossing is found, the oscilloscope reports the time at that crossing in seconds, with the trigger point (time zero) as the reference. If the specified crossing cannot be found, the oscilloscope reports +9.9E+37. This value is returned if the waveform does not cross the specified voltage, or if the waveform does not cross the specified voltage for the specified number of times in the direction specified. If the optional source parameter is specified, the current source is modified.

NOTE

The :MEASure:TVOLt command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:TVALue command (see page 398).

Return Format

<value><NL>
<value> ::= time in seconds of the specified voltage crossing in NR3 format

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

759

32 Obsolete and Discontinued Commands

:MEASure:UPPer

Command Syntax

(see page 818)
:MEASure:UPPer <value>
The :MEASure:UPPer command sets the upper measurement threshold value. This value and the LOWer value represent absolute values when the thresholds are ABSolute and percentage when the thresholds are PERCent as defined by the :MEASure:DEFine THResholds command.

NOTE

The :MEASure:UPPer command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:DEFine THResholds command (see page 370) instead.

Query Syntax Return Format

:MEASure:UPPer?
The :MEASure:UPPer? query returns the current upper threshold level.
<value><NL>

See Also

<value> ::= the user-defined upper threshold in NR3 format
· "Introduction to :MEASure Commands" on page 364 · ":MEASure:LOWer" on page 751 · ":MEASure:THResholds" on page 754

760

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:MEASure:VDELta

Query Syntax

(see page 818)
:MEASure:VDELta?
The :MEASure:VDELta? query returns the voltage difference between vertical marker 1 (Y1 cursor) and vertical marker 2 (Y2 cursor). No measurement is made when the :MEASure:VDELta? query is received by the oscilloscope. The delta value that is returned is the current value. This is the same value as the front-panel cursors delta Y value. VDELta = value at marker 2 - value at marker 1

NOTE

The :MEASure:VDELta command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :MARKer:YDELta command (see page 352) instead.

Return Format <value><NL>

See Also

<value> ::= delta V value in NR1 format
· "Introduction to :MARKer Commands" on page 340 · "Introduction to :MEASure Commands" on page 364 · ":MARKer:Y1Position" on page 350 · ":MARKer:Y2Position" on page 351 · ":MARKer:YDELta" on page 352 · ":MEASure:TDELta" on page 753 · ":MEASure:TSTArt" on page 757

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

761

32 Obsolete and Discontinued Commands

:MEASure:VSTArt

(see page 818) Command Syntax :MEASure:VSTArt <vstart_argument>
<vstart_argument> ::= value for vertical marker 1
The :MEASure:VSTArt command moves the vertical marker (Y1 cursor) to the specified value corresponding to the selected source. The source can be selected by the MARKer:X1Y1source command.

NOTE

The short form of this command, VSTA, does not follow the defined Long Form to Short Form Truncation Rules (see page 820). The normal short form, VST, would be the same for both VSTArt and VSTOp, so sending VST for the VSTArt command produces an error.

NOTE

The :MEASure:VSTArt command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :MARKer:Y1Position command (see page 350) instead.

Query Syntax Return Format

:MEASure:VSTArt?
The :MEASure:VSTArt? query returns the current value of the Y1 cursor.
<value><NL>

See Also

<value> ::= voltage at voltage marker 1 in NR3 format
· "Introduction to :MARKer Commands" on page 340 · "Introduction to :MEASure Commands" on page 364 · ":MARKer:Y1Position" on page 350 · ":MARKer:Y2Position" on page 351 · ":MARKer:YDELta" on page 352 · ":MARKer:X1Y1source" on page 344 · ":MEASure:SOURce" on page 394 · ":MEASure:TDELta" on page 753 · ":MEASure:TSTArt" on page 757

762

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:MEASure:VSTOp

(see page 818) Command Syntax :MEASure:VSTOp <vstop_argument>
<vstop_argument> ::= value for Y2 cursor
The :MEASure:VSTOp command moves the vertical marker 2 (Y2 cursor) to the specified value corresponding to the selected source. The source can be selected by the MARKer:X2Y2source command.

NOTE

The short form of this command, VSTO, does not follow the defined Long Form to Short Form Truncation Rules (see page 820). The normal short form, VST, would be the same for both VSTArt and VSTOp, so sending VST for the VSTOp command produces an error.

NOTE

The :MEASure:VSTOp command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :MARKer:Y2Position command (see page 351) instead.

Query Syntax Return Format

:MEASure:VSTOp?
The :MEASure:VSTOp? query returns the current value of the Y2 cursor.
<value><NL>

See Also

<value> ::= value of the Y2 cursor in NR3 format
· "Introduction to :MARKer Commands" on page 340 · "Introduction to :MEASure Commands" on page 364 · ":MARKer:Y1Position" on page 350 · ":MARKer:Y2Position" on page 351 · ":MARKer:YDELta" on page 352 · ":MARKer:X2Y2source" on page 346 · ":MEASure:SOURce" on page 394 · ":MEASure:TDELta" on page 753 · ":MEASure:TSTArt" on page 757

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

763

32 Obsolete and Discontinued Commands

:MTESt:AMASk:{SAVE | STORe}

Command Syntax

(see page 818)
:MTESt:AMASk:{SAVE | STORe} "<filename>"
The :MTESt:AMASk:SAVE command saves the automask generated mask to a file. If an automask has not been generated, an error occurs. The <filename> parameter is an MS-DOS compatible name of the file, a maximum of 254 characters long (including the path name, if used). The filename assumes the present working directory if a path does not precede the file name.

NOTE

The :MTESt:AMASk:{SAVE | STORe} command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :SAVE:MASK[:STARt] command (see page 465) instead.

See Also · "Introduction to :MTESt Commands" on page 415

764

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:MTESt:AVERage

(see page 818) Command Syntax :MTESt:AVERage <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}
The :MTESt: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 :MTESt:AVERage:COUNt command described next.

NOTE

The :MTESt:AVERage command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :ACQuire:TYPE AVERage command (see page 197) instead.

Query Syntax Return Format

:MTESt:AVERage?
The :MTESt:AVERage? query returns the current setting for averaging.
<on_off><NL>

See Also

<on_off> ::= {1 | 0}
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:AVERage:COUNt" on page 766

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

765

32 Obsolete and Discontinued Commands

:MTESt:AVERage:COUNt

(see page 818) Command Syntax :MTESt:AVERage:COUNt <count>
<count> ::= an integer from 2 to 65536 in NR1 format
The :MTESt:AVERage:COUNt command sets the number of averages for the waveforms. With the AVERage acquisition type, the :MTESt: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.

NOTE

The :MTESt:AVERage:COUNt command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :ACQuire:COUNt command (see page 188) instead.

Query Syntax Return Format

:MTESt:AVERage:COUNt?
The :MTESt:AVERage:COUNt? query returns the currently selected count value.
<count><NL>

See Also

<count> ::= an integer from 2 to 65536 in NR1 format
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:AVERage" on page 765

766

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:MTESt:LOAD

Command Syntax

(see page 818)
:MTESt:LOAD "<filename>"
The :MTESt:LOAD command loads the specified mask file. The <filename> parameter is an MS-DOS compatible name of the file, a maximum of 254 characters long (including the path name, if used).

NOTE

The :MTESt:LOAD command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :RECall:MASK[:STARt] command (see page 450) instead.

See Also · "Introduction to :MTESt Commands" on page 415 · ":MTESt:AMASk:{SAVE | STORe}" on page 764

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

767

32 Obsolete and Discontinued Commands

:MTESt:RUMode

(see page 818) Command Syntax :MTESt:RUMode {FORever | TIME,<seconds> | {WAVeforms,<wfm_count>}}
<seconds> ::= from 1 to 86400 in NR3 format
<wfm_count> ::= number of waveforms in NR1 format from 1 to 1,000,000,000
The :MTESt:RUMode command determines the termination conditions for the mask test. The choices are FORever, TIME, or WAVeforms. · FORever -- runs the Mask Test until the test is turned off. · TIME -- sets the amount of time in seconds that a mask test will run before it
terminates. The <seconds> parameter is a real number from 1 to 86400 seconds. · WAVeforms -- sets the maximum number of waveforms that are required before the mask test terminates. The <wfm_count> parameter indicates the number of waveforms that are to be acquired; it is an integer from 1 to 1,000,000,000.

NOTE

The :MTESt:RUMode command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MTESt:RMODe command (see page 432) instead.

Query Syntax Return Format

:MTESt:RUMode?
The :MTESt:RUMode? query returns the currently selected termination condition and value.
{FOR | TIME,<seconds> | {WAV,<wfm_count>}}<NL>

<seconds> ::= from 1 to 86400 in NR3 format

See Also

<wfm_count> ::= number of waveforms in NR1 format from 1 to 1,000,000,000
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:RUMode:SOFailure" on page 769

768

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:MTESt:RUMode:SOFailure

(see page 818) Command Syntax :MTESt:RUMode:SOFailure <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}
The :MTESt:RUMode:SOFailure command enables or disables the Stop On Failure run until criteria. When a mask test is run and a mask violation is detected, the mask test is stopped and the acquisition system is stopped.

NOTE

The :MTESt:RUMode:SOFailure command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MTESt:RMODe:FACTion:STOP command (see page 436) instead.

Query Syntax Return Format

:MTESt:RUMode:SOFailure?
The :MTESt:RUMode:SOFailure? query returns the current state of the Stop on Failure control.
<on_off><NL>

See Also

<on_off> ::= {1 | 0}
· "Introduction to :MTESt Commands" on page 415 · ":MTESt:RUMode" on page 768

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

769

32 Obsolete and Discontinued Commands

:MTESt:{STARt | STOP}

Command Syntax

(see page 818)
:MTESt:{STARt | STOP}
The :MTESt:{STARt | STOP} command starts or stops the acquisition system.

NOTE

The :MTESt:STARt and :MTESt:STOP commands are obsolete and are provided for backward compatibility to previous oscilloscopes. Use the :RUN command (see page 168) and :STOP command (see page 172) instead.

See Also · "Introduction to :MTESt Commands" on page 415

770

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:MTESt:TRIGger:SOURce

(see page 818) Command Syntax :MTESt:TRIGger:SOURce <source>
<source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
The :MTESt:TRIGger:SOURce command sets the channel to use as the trigger.

NOTE

The :MTESt:TRIGger:SOURce command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the trigger source commands (see page 605) instead.

Query Syntax Return Format

:MTESt:TRIGger:SOURce?
The :MTESt:TRIGger:SOURce? query returns the currently selected trigger source.
<source> ::= CHAN<n>

<n> ::= 1 to (# analog channels) in NR1 format
See Also · "Introduction to :MTESt Commands" on page 415

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

771

32 Obsolete and Discontinued Commands

:PRINt?

(see page 818) Query Syntax :PRINt? [<options>]
<options> ::= [<print option>][,..,<print option>] <print option> ::= {COLor | GRAYscale | BMP8bit | BMP}
The :PRINt? query pulls image data back over the bus for storage.

NOTE

The :PRINT command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :DISPlay:DATA command (see page 242) instead.

Print Option COLor GRAYscale PRINter0,1
BMP8bit BMP FACTors
NOFactors

:PRINt command Sets palette=COLor Sets palette=GRAYscale Causes the USB printer #0,1 to be selected as destination (if connected) Sets print format to 8-bit BMP Sets print format to BMP Selects outputting of additional settings information for :PRINT Deselects outputting of additional settings information for :PRINT

:PRINt? query
Not used
Selects 8-bit BMP formatting for query Selects BMP formatting for query Not used Not used

Query Default palette=COLor N/A
N/A N/A N/A N/A

Old Print Option: HIRes LORes PARallel DISK PCL

Is Now: COLor GRAYscale PRINter0 invalid invalid

772

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

NOTE

The PRINt? query is not a core command.

See Also

· "Introduction to Root (:) Commands" on page 143 · "Introduction to :HARDcopy Commands" on page 322 · ":HARDcopy:FACTors" on page 325 · ":HARDcopy:GRAYscale" on page 748 · ":DISPlay:DATA" on page 242

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

773

32 Obsolete and Discontinued Commands

:SAVE:IMAGe:AREA

Query Syntax Return Format

(see page 818)
:SAVE:IMAGe:AREA?
The :SAVE:IMAGe:AREA? query returns the selected image area. When saving images, this query returns SCR (screen). When saving setups or waveform data, this query returns GRAT (graticule) even though graticule images are not saved.
<area><NL>

See Also

<area> ::= {GRAT | SCR}
· "Introduction to :SAVE Commands" on page 457 · ":SAVE:IMAGe[:STARt]" on page 459 · ":SAVE:IMAGe:FACTors" on page 460 · ":SAVE:IMAGe:FORMat" on page 461 · ":SAVE:IMAGe:INKSaver" on page 462 · ":SAVE:IMAGe:PALette" on page 463

774

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Obsolete and Discontinued Commands 32

:TIMebase:DELay

(see page 818) Command Syntax :TIMebase:DELay <delay_value>
<delay_value> ::= time in seconds from trigger to the delay reference point on the screen.
The valid range for delay settings depends on the time/division setting for the main time base.
The :TIMebase:DELay command sets the main time base delay. This delay is the time between the trigger event and the delay reference point on the screen. The delay reference point is set with the :TIMebase:REFerence command (see page 598).

NOTE

The :TIMebase:DELay command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :TIMebase:POSition command (see page 596) instead.

Query Syntax Return Format

:TIMebase:DELay?
The :TIMebase:DELay query returns the current delay value.
<delay_value><NL>

Example Code

<delay_value> ::= time from trigger to display reference in seconds in NR3 format.
' TIMEBASE_DELAY - Sets the time base delay. This delay ' is the internal time between the trigger event and the ' onscreen delay reference point.

' Set time base delay to 0.0. myScope.WriteString ":TIMEBASE:DELAY 0.0"
See complete example programs at: Chapter 37, "Programming Examples," starting on page 827

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

775

32 Obsolete and Discontinued Commands
:TRIGger:TV:TVMode
(see page 818) Command Syntax :TRIGger:TV:TVMode <mode>
<mode> ::= {FIEld1 | FIEld2 | AFIelds | ALINes | LINE | VERTical | LFIeld1 | LFIeld2 | LALTernate | LVERtical}
The :TRIGger:TV:MODE command selects the TV trigger mode and field. The LVERtical parameter is only available when :TRIGger:TV:STANdard is GENeric. The LALTernate parameter is not available when :TRIGger:TV:STANdard is GENeric (see page 652). Old forms for <mode> are accepted:

NOTE

<mode> FIEld1 FIEld2 AFIeld ALINes LFIeld1 LFIeld2 LALTernate LVERtical

Old Forms Accepted F1 F2 ALLFields, ALLFLDS ALLLines LINEF1, LINEFIELD1 LINEF2, LINEFIELD2 LINEAlt LINEVert

The :TRIGger:TV:TVMode command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :TRIGger:TV:MODE command (see page 649) instead.

Query Syntax :TRIGger:TV:TVMode? The :TRIGger:TV:TVMode? query returns the TV trigger mode.
Return Format <value><NL>
<value> ::= {FIE1 | FIE2 | AFI | ALIN | LINE | VERT | LFI1 | LFI2 | LALT | LVER}

776

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
33 Error Messages
-440, Query UNTERMINATED after indefinite response -430, Query DEADLOCKED -420, Query UNTERMINATED -410, Query INTERRUPTED -400, Query error -340, Calibration failed -330, Self-test failed -321, Out of memory -320, Storage fault
777

33 Error Messages -315, Configuration memory lost -314, Save/recall memory lost -313, Calibration memory lost -311, Memory error -310, System error -300, Device specific error -278, Macro header not found -277, Macro redefinition not allowed -276, Macro recursion error -273, Illegal macro label -272, Macro execution error -258, Media protected -257, File name error

778

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Error Messages 33
-256, File name not found -255, Directory full -254, Media full -253, Corrupt media -252, Missing media -251, Missing mass storage -250, Mass storage error -241, Hardware missing
This message can occur when a feature is unavailable or unlicensed. For example, some serial bus decode commands are only available when the serial decode options are licensed.
-240, Hardware error -231, Data questionable -230, Data corrupt or stale -224, Illegal parameter value

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

779

33 Error Messages -223, Too much data -222, Data out of range -221, Settings conflict -220, Parameter error -200, Execution error -183, Invalid inside macro definition -181, Invalid outside macro definition -178, Expression data not allowed -171, Invalid expression -170, Expression error -168, Block data not allowed -161, Invalid block data -158, String data not allowed

780

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

-151, Invalid string data -150, String data error -148, Character data not allowed -138, Suffix not allowed -134, Suffix too long -131, Invalid suffix -128, Numeric data not allowed -124, Too many digits -123, Exponent too large -121, Invalid character in number -120, Numeric data error -114, Header suffix out of range -113, Undefined header
Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Error Messages 33
781

33 Error Messages -112, Program mnemonic too long -109, Missing parameter -108, Parameter not allowed -105, GET not allowed -104, Data type error -103, Invalid separator -102, Syntax error -101, Invalid character -100, Command error +10, Software Fault Occurred +100, File Exists +101, End-Of-File Found +102, Read Error

782

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Error Messages 33 +103, Write Error +104, Illegal Operation +105, Print Canceled +106, Print Initialization Failed +107, Invalid Trace File +108, Compression Error +109, No Data For Operation
A remote operation wants some information, but there is no information available. For example, you may request a stored TIFF image using the :DISPlay:DATA? query, but there may be no image stored.
+112, Unknown File Type +113, Directory Not Supported

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

783

33 Error Messages

784

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
34 Status Reporting
Status Reporting Data Structures / 787 Status Byte Register (STB) / 790 Service Request Enable Register (SRE) / 792 Trigger Event Register (TER) / 793 Output Queue / 794 Message Queue / 795 (Standard) Event Status Register (ESR) / 796 (Standard) Event Status Enable Register (ESE) / 797 Error Queue / 798 Operation Status Event Register (:OPERegister[:EVENt]) / 799 Operation Status Condition Register (:OPERegister:CONDition) / 800 Arm Event Register (AER) / 801 Overload Event Register (:OVLRegister) / 802 Mask Test Event Event Register (:MTERegister[:EVENt]) / 803 Clearing Registers and Queues / 804 Status Reporting Decision Chart / 805
IEEE 488.2 defines data structures, commands, and common bit definitions for status reporting (for example, the Status Byte Register and the Standard Event Status Register). There are also instrument-defined structures and bits (for example, the Operation Status Event Register and the Overload Event Register). An overview of the oscilloscope's status reporting structure is shown in the following block diagram. The status reporting structure allows monitoring specified events in the oscilloscope. The ability to monitor and report these events allows determination of such things as the status of an operation, the availability and reliability of the measured data, and more.
785

34 Status Reporting

Overload Event
Register
Mask Test Event
Register

Error Queue
RUN Bit
Arm Event Register
Overload Event Enable
Register
Mask Test Event Enable
Register

Trigger Event Register

Message Queue

Standard Event Status
Register
Operation Status
Condition/ Event
Registers

Output Queue
(Mask)
Standard Event Status Enable
Register
(Mask)
Operation Status Enable Register

Status Byte Register

(Mask)
Service Request Enable Register
Service Request Generation

Service Request (SRQ)
Interrupt to Computer

· To monitor an event, first clear the event; then, enable the event. All of the events are cleared when you initialize the instrument.
· To allow a service request (SRQ) interrupt to an external controller, enable at least one bit in the Status Byte Register (by setting, or unmasking, the bit in the Service Request Enable register).
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. The bits in the status byte act as summary bits for the data structures residing behind them. In the case of queues, the summary bit is set if the queue is not empty. For registers, the summary bit is set if any enabled bit in the event register is set. The events are enabled with the corresponding event enable register. Events captured by an event register remain set until the register is read or cleared. Registers are read with their associated commands. The *CLS command clears all event registers and all queues except the output queue. If you send *CLS immediately after a program message terminator, the output queue is also cleared.

786

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Status Reporting 34

Status Reporting Data Structures
The following figure shows how the status register bits are masked and logically OR'ed to generate service requests (SRQ) on particular events.

Ext Trig Chan4 Chan3 Chan2 Chan1 Fault Fault Fault Fault Fault

Ext Trig Chan4 Chan3 Chan2 Chan1 :OVLR? OVL OVL OVL OVL OVL Overload Event Register

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 :OVL :OVL? Overload Event Enable (Mask) Register

Auto Mask

Started

Fail

Complete

:MTERegister[:EVENt]? Mask Test Event Event Register

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 :MTEenable :MTEenable? Mask Test Event Enable (MASK) Register

OR

OR



To bits in Operation Status Condition Register:

OVLR

MTE

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

787

34 Status Reporting

From Overload Event Registers

From Mask Test Event Registers

Arm Reg AER ?

Ru n bi t set if oscilloscope not stopped

OVLR

MTE

Wait

Trig

Run

:OPERation:CONDition? Operation Status Condition Register

11

9

OVLR

MTE

5

3

Wait

Trig

Run

:OPERation[:EVENt]? Operation Status Event Register

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
:OPEE :OPEE? Operation Status Enable (Mask) Register

 OR

*ESR? PON URQ CM E EXE DDE QYE RQL OPC (Standard) Event Status Register
76543210 *ESE *ESE? (Standard) Event Status Enable (Mask) Register

 OR

Ou tp u t Queue

TRG TER? Reg Trigger Event Register

RQS/ OPER MSS ESB M AV
7654

MSG USR TRG 3210

*STB? Status Byte Register
*SRE *SRE? Service Request Enable (Mask) Register

 OR
SR Q

Se rvic e Requ est

The status register bits are described in more detail in the following tables: · Table 44 · Table 42 · Table 49 · Table 50 · Table 52 · Table 47
The status registers picture above shows how the different status reporting data structures work together. To make it possible for any of the Standard Event Status Register bits to generate a summary bit, the bits must be enabled. These bits are enabled by using the *ESE common command to set the corresponding bit in the Standard Event Status Enable Register.

788

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Status Reporting 34
To generate a service request (SRQ) interrupt to an external controller, at least one bit in the Status Byte Register must be enabled. 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.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

789

34 Status Reporting

Status Byte Register (STB)
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. The Status Byte Register can be read using either the *STB? Common Command or the programming interface 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? command reads bit 6 as the Master Summary Status (MSS) and does not clear the bit or have any affect 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. No other bits in the Status Byte Register are cleared by either the *STB? query or the serial poll, except 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? command. If bit 4 (weight = 16) and bit 5 (weight = 32) are set, the program prints the sum of the two weights. Since these bits were not enabled to generate an SRQ, bit 6 (weight = 64) is not set. The following example uses the *STB? query to read the contents of the oscilloscope's Status Byte Register.
myScope.WriteString "*STB?" varQueryResult = myScope.ReadNumber MsgBox "Status Byte Register, Read: 0x" + Hex(varQueryResult)
The next program prints 0xD1 and clears bit 6 (RQS) and bit 4 (MAV) of the Status Byte Register. The difference in the output 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.

790

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Status Reporting 34

Example The following example uses the resource session object's ReadSTB method to read the contents of the oscilloscope's Status Byte Register.
varQueryResult = myScope.IO.ReadSTB MsgBox "Status Byte Register, Serial Poll: 0x" + Hex(varQueryResult)

NOTE

Use Serial Polling to Read 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.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

791

34 Status Reporting

Service Request Enable Register (SRE)

Example

Setting the Service Request Enable Register bits enable 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. 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).

792

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

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

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

793

34 Status Reporting
Output Queue
The output queue stores the oscilloscope-to-controller responses that are generated by certain instrument 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.

794

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

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

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

795

34 Status Reporting

(Standard) Event Status Register (ESR)

Example

The (Standard) Event Status Register (ESR) monitors the following oscilloscope status events: · PON - Power On · URQ - User Request · CME - Command Error · EXE - Execution Error · DDE - Device Dependent Error · QYE - Query Error · RQC - Request Control · OPC - Operation Complete
When one of these events occur, the event sets the corresponding bit in the register. If the bits are enabled in the Standard Event Status Enable Register, the bits set in this register generate a summary bit to set bit 5 (ESB) in the Status Byte Register.
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 of the bits that are set at the present time.
The following example uses the *ESR query to read the contents of the Standard Event Status Register.

myScope.WriteString "*ESR?" varQueryResult = myScope.ReadNumber MsgBox "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.

796

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Status Reporting 34

(Standard) Event Status Enable Register (ESE)

Example

To allow any of the (Standard) Event Status Register (ESR) bits to generate a summary bit, you must first enable that bit. Enable the bit by using the *ESE (Event Status Enable) common command to set the corresponding bit in the (Standard) Event Status Enable Register (ESE). Set bits are read with the *ESE? query. 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), an SRQ service request interrupt is sent to the controller PC.

NOTE

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 to the Status Byte Register.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

797

34 Status Reporting
Error Queue
As errors are detected, they are placed in an error queue. This queue is first in, first out. If the error queue overflows, the last error in the queue is replaced with error 350, Queue overflow. Any time the queue overflows, the least recent 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: · the instrument is powered up, · the instrument receives the *CLS common command, or · the last item is read from the error queue.

798

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Status Reporting 34

Operation Status Event Register (:OPERegister[:EVENt])
The Operation Status Event Register register hosts these bits:

Name RUN bit
WAIT TRIG bit
MTE bit OVLR bit

Location bit 3
bit 5
bit 9 bit 11

Description Is set whenever the instrument goes from a stop state to a single or running state. Is set by the Trigger Armed Event Register and indicates that the trigger is armed. Comes from the Mask Test Event Registers. Is set whenever a 50 input overload occurs.

If any of these bits are set, the OPER bit (bit 7) of the Status Byte Register is set. The Operation Status Event Register is read and cleared with the :OPERegister[:EVENt]? query. The register output is enabled or disabled using the mask value supplied with the OPEE command.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

799

34 Status Reporting

Operation Status Condition Register (:OPERegister:CONDition)
The Operation Status Condition Register register hosts these bits:

Name RUN bit WAIT TRIG bit
MTE bit OVLR bit

Location bit 3 bit 5
bit 9 bit 11

Description Is set whenever the instrument is not stopped. Is set by the Trigger Armed Event Register and indicates that the trigger is armed. Comes from the Mask Test Event Registers. Is set whenever a 50 input overload occurs.

The :OPERegister:CONDition? query returns the value of the Operation Status Condition Register.

800

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Status Reporting 34
Arm Event Register (AER)
This register sets bit 5 (Wait Trig bit) in the Operation Status Register and the OPER bit (bit 7) in the Status Byte Register when the instrument becomes armed. The ARM event register stays set until it is cleared by reading the register with the AER? query or using the *CLS command. If your application needs to detect multiple triggers, the ARM event register must be cleared after each one. If you are using the Service Request to interrupt a program or controller operation when the trigger bit is set, then you must clear the event register after each time it has been set.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

801

34 Status Reporting

Overload Event Register (:OVLRegister)

The Overload Event Register register hosts these bits:

Name Channel 1 Fault Channel 2 Fault Channel 3 Fault Channel 4 Fault External Trigger Fault

Location bit 6 bit 7 bit 8 bit 9 bit 10

Description Fault has occurred on Channel 1 input. Fault has occurred on Channel 2 input. Fault has occurred on Channel 3 input. Fault has occurred on Channel 4 input. Fault has occurred on External Trigger input.

802

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Status Reporting 34

Mask Test Event Event Register (:MTERegister[:EVENt])
The Mask Test Event Event Register register hosts these bits:

Name Complete Fail Started Auto Mask

Location bit 0 bit 1 bit 8 bit 10

Description Is set when the mask test is complete. Is set when there is a mask test failure. Is set when mask testing is started. Is set when auto mask creation is completed.

The :MTERegister[:EVENt]? query returns the value of, and clears, the Mask Test Event Event Register.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

803

34 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 after a program message terminator, the output queue is also cleared.

804

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Status Reporting Decision Chart

Status Reporting 34

no

Do you want

to do status

reporting?

yes

Reset the instrument and clear the status registers:
myScope.WriteString "*RST" myScope.WriteString "*CLS"

Do you want to send a Service Request (SRQ) interrupt to the
controller?
yes

no (Your programs can read the status registers instead.)

Do you want to

no

report events monitored by

the Standard Event Status

Register?

yes

Use the *ESE common command to enable the bits you want to use to generate the ESB summary bit in the Status Byte Register.

Use the *SRE common command to enable the bits you want to generate the RQS/MSS bit to set bit 6 in the Status Byte Register and send an SRQ to the computer. If events are monitored by the Standard Event Status Register, also enable ESB with the *SRE command.

Activate the instrument function that you want to monitor.
When an interrupt occurs, interrupt handler should serial poll STB with: varR = myScope.IO.ReadSTB
To read the Status Byte Register, use the following: myScope.WriteString "*STB?" varR = myScope.ReadNumber MsgBox "STB: 0x" + Hex(varR) This displays the hexadecmal value of the Status Byte Register.
Determine which bits in the Status Byte Register are set.

END

Use the following to read the Standard Event Status Register: myScope.WriteString "*ESR?" varR = myScope.ReadNumber MsgBox "ESR: 0x" + Hex(varR)
Use the following to see if an operation is complete: myScope.WriteString "*OPC?" varR = myScope.ReadNumber MsgBox "OPC: 0x" + Hex(varR)
Use the following to read the contents of the status byte: myScope.WriteString "*STB?" varR = myScope.ReadNumber MsgBox "STB: 0x" + Hex(varR)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

805

34 Status Reporting

806

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
35 Synchronizing Acquisitions
Synchronization in the Programming Flow / 808 Blocking Synchronization / 809 Polling Synchronization With Timeout / 810 Synchronizing with a Single-Shot Device Under Test (DUT) / 812 Synchronization with an Averaging Acquisition / 814 When remotely controlling an oscilloscope with programming commands, it is often necessary to know when the oscilloscope has finished the previous operation and is ready for the next command. The most common example is when an acquisition is started using the :DIGitize, :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.
807

35 Synchronizing Acquisitions

Synchronization in the Programming Flow

Most remote programming follows these three general steps: 1 Set up the oscilloscope and device under test (see page 808). 2 Acquire a waveform (see page 808). 3 Retrieve results (see page 808).

Set 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? query.

NOTE

It is not necessary to use *OPC?, hard coded waits, or status checking when setting up the oscilloscope. After the oscilloscope is configured, it is ready for an acquisition.

Acquire 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.

Use When Advantages Disadvantages
Implementation Details

Blocking Wait You know the oscilloscope will trigger based on the oscilloscope setup and device under test. No need for polling. Fastest method. Remote interface may timeout. Device clear only way to get control of oscilloscope if there is no trigger.
See "Blocking Synchronization" on page 809.

Polling Wait You know the oscilloscope may or may not trigger on the oscilloscope setup and device under test. Remote interface will not timeout No need for device clear if no trigger. Slower method. Requires polling loop. Requires known maximum wait time. See "Polling Synchronization With Timeout" on page 810.

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

808

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Synchronizing Acquisitions 35
Blocking Synchronization
Use the :DIGitize command to start the acquisition. This blocks subsequent queries until the acquisition and processing is complete. For example:
' ' Synchronizing acquisition using blocking. ' ===================================================================
Option Explicit
Public myMgr As VisaComLib.ResourceManager Public myScope As VisaComLib.FormattedIO488 Public varQueryResult As Variant Public strQueryResult As String
Sub Main()
On Error GoTo VisaComError
' Create the VISA COM I/O resource. Set myMgr = New VisaComLib.ResourceManager Set myScope = New VisaComLib.FormattedIO488 Set myScope.IO = myMgr.Open("TCPIP0::130.29.69.12::inst0::INSTR") myScope.IO.Clear ' Clear the interface.
' Set up. ' ----------------------------------------------------------------myScope.WriteString ":TRIGger:MODE EDGE" myScope.WriteString ":TRIGger:EDGE:LEVel 2" myScope.WriteString ":TIMebase:SCALe 5e-8"
' Acquire. ' ----------------------------------------------------------------myScope.WriteString ":DIGitize"
' Get results. ' ----------------------------------------------------------------myScope.WriteString ":MEASure:RISetime" myScope.WriteString ":MEASure:RISetime?" varQueryResult = myScope.ReadNumber ' Read risetime. Debug.Print "Risetime: " + _
FormatNumber(varQueryResult * 1000000000, 1) + " ns"
Exit Sub
VisaComError: MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End Sub

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

809

35 Synchronizing Acquisitions

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:
' ' Synchronizing acquisition using polling. ' ===================================================================
Option Explicit
Public myMgr As VisaComLib.ResourceManager Public myScope As VisaComLib.FormattedIO488 Public varQueryResult As Variant Public strQueryResult As String
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Main()
On Error GoTo VisaComError
' Create the VISA COM I/O resource. Set myMgr = New VisaComLib.ResourceManager Set myScope = New VisaComLib.FormattedIO488 Set myScope.IO = myMgr.Open("TCPIP0::130.29.69.12::inst0::INSTR") myScope.IO.Clear ' Clear the interface.
' Set up. ' ----------------------------------------------------------------' Set up the trigger and horizontal scale. myScope.WriteString ":TRIGger:MODE EDGE" myScope.WriteString ":TRIGger:EDGE:LEVel 2" myScope.WriteString ":TIMebase:SCALe 5e-8"
' Stop acquisitions and wait for the operation to complete. myScope.WriteString ":STOP" myScope.WriteString "*OPC?" strQueryResult = myScope.ReadString
' Acquire. ' ----------------------------------------------------------------' Start a single acquisition. myScope.WriteString ":SINGle"
' Oscilloscope is armed and ready, enable DUT here. Debug.Print "Oscilloscope is armed and ready, enable DUT."
' Look for RUN bit = stopped (acquisition complete). Dim lngTimeout As Long ' Max millisecs to wait for single-shot. Dim lngElapsed As Long lngTimeout = 10000 ' 10 seconds. lngElapsed = 0
Do While lngElapsed <= lngTimeout

810

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Synchronizing Acquisitions 35
myScope.WriteString ":OPERegister:CONDition?" varQueryResult = myScope.ReadNumber ' Mask RUN bit (bit 3, &H8). If (varQueryResult And &H8) = 0 Then
Exit Do Else
Sleep 100 ' Small wait to prevent excessive queries. lngElapsed = lngElapsed + 100 End If Loop
' Get results. ' ----------------------------------------------------------------If lngElapsed < lngTimeout Then
myScope.WriteString ":MEASure:RISetime" myScope.WriteString ":MEASure:RISetime?" varQueryResult = myScope.ReadNumber ' Read risetime. Debug.Print "Risetime: " + _
FormatNumber(varQueryResult * 1000000000, 1) + " ns" Else
Debug.Print "Timeout waiting for single-shot trigger." End If
Exit Sub
VisaComError: MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End Sub

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

811

35 Synchronizing Acquisitions

Synchronizing with a Single-Shot Device Under Test (DUT)

NOTE

The examples in "Blocking Synchronization" on page 809 and "Polling Synchronization With Timeout" on page 810 assume 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 :DIGitize command is issued, the oscilloscope is blocked from any further commands until the acquisition is complete.

This example is the same "Polling Synchronization With Timeout" on page 810 with the addition of checking for the armed event status.
' ' Synchronizing single-shot acquisition using polling. ' ===================================================================
Option Explicit
Public myMgr As VisaComLib.ResourceManager Public myScope As VisaComLib.FormattedIO488 Public varQueryResult As Variant Public strQueryResult As String
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Main()
On Error GoTo VisaComError
' Create the VISA COM I/O resource. Set myMgr = New VisaComLib.ResourceManager Set myScope = New VisaComLib.FormattedIO488 Set myScope.IO = myMgr.Open("TCPIP0::130.29.69.12::inst0::INSTR") myScope.IO.Clear ' Clear the interface.
' Set up. ' ----------------------------------------------------------------' Set up the trigger and horizontal scale. myScope.WriteString ":TRIGger:MODE EDGE" myScope.WriteString ":TRIGger:EDGE:LEVel 2" myScope.WriteString ":TIMebase:SCALe 5e-8"
' Stop acquisitions and wait for the operation to complete. myScope.WriteString ":STOP" myScope.WriteString "*OPC?" strQueryResult = myScope.ReadString
' Acquire.

812

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Synchronizing Acquisitions 35
' ----------------------------------------------------------------' Start a single acquisition. myScope.WriteString ":SINGle"
' Wait until the trigger system is armed. Do
Sleep 100 ' Small wait to prevent excessive queries. myScope.WriteString ":AER?" varQueryResult = myScope.ReadNumber Loop Until varQueryResult = 1
' Oscilloscope is armed and ready, enable DUT here. Debug.Print "Oscilloscope is armed and ready, enable DUT."
' Now, look for RUN bit = stopped (acquisition complete). Dim lngTimeout As Long ' Max millisecs to wait for single-shot. Dim lngElapsed As Long lngTimeout = 10000 ' 10 seconds. lngElapsed = 0
Do While lngElapsed <= lngTimeout myScope.WriteString ":OPERegister:CONDition?" varQueryResult = myScope.ReadNumber ' Mask RUN bit (bit 3, &H8). If (varQueryResult And &H8) = 0 Then Exit Do Else Sleep 100 ' Small wait to prevent excessive queries. lngElapsed = lngElapsed + 100 End If
Loop
' Get results. ' ----------------------------------------------------------------If lngElapsed < lngTimeout Then
myScope.WriteString ":MEASure:RISetime" myScope.WriteString ":MEASure:RISetime?" varQueryResult = myScope.ReadNumber ' Read risetime. Debug.Print "Risetime: " + _
FormatNumber(varQueryResult * 1000000000, 1) + " ns" Else
Debug.Print "Timeout waiting for single-shot trigger." End If
Exit Sub
VisaComError: MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End Sub

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

813

35 Synchronizing Acquisitions

Synchronization with an Averaging Acquisition
When averaging, it is necessary to know when the average count has been reached. The :SINGle command does not average. If it is known that a trigger will occur, a :DIGitize will acquire the complete number of averages, but if the number of averages is large, a timeout on the connection can occur. The example below polls during the :DIGitize to prevent a timeout on the connection.
' ' Synchronizing in averaging acquisition mode. ' ===================================================================
Option Explicit
Public myMgr As VisaComLib.ResourceManager Public myScope As VisaComLib.FormattedIO488 Public varQueryResult As Variant Public strQueryResult As String
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Main()
On Error GoTo VisaComError
' Create the VISA COM I/O resource. Set myMgr = New VisaComLib.ResourceManager Set myScope = New VisaComLib.FormattedIO488 Set myScope.IO = myMgr.Open("TCPIP0::130.29.69.12::inst0::INSTR") myScope.IO.Clear ' Clear the interface. myScope.IO.Timeout = 5000
' Set up. ' ----------------------------------------------------------------' Set up the trigger and horizontal scale. myScope.WriteString ":TRIGger:SWEep NORMal" myScope.WriteString ":TRIGger:MODE EDGE" myScope.WriteString ":TRIGger:EDGE:LEVel 2" myScope.WriteString ":TIMebase:SCALe 5e-8"
' Stop acquisitions and wait for the operation to complete. myScope.WriteString ":STOP" myScope.WriteString "*OPC?" strQueryResult = myScope.ReadString
' Set up average acquisition mode. Dim lngAverages As Long lngAverages = 256 myScope.WriteString ":ACQuire:COUNt " + CStr(lngAverages) myScope.WriteString ":ACQuire:TYPE AVERage"

814

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Synchronizing Acquisitions 35
' Save *ESE (Standard Event Status Enable register) mask ' (so it can be restored later). Dim varInitialESE As Variant myScope.WriteString "*ESE?" varInitialESE = myScope.ReadNumber
' Set *ESE mask to allow only OPC (Operation Complete) bit. myScope.WriteString "*ESE " + CStr(CInt("&H01"))
' Acquire using :DIGitize. Set up OPC bit to be set when the ' operation is complete. ' ----------------------------------------------------------------myScope.WriteString ":DIGitize" myScope.WriteString "*OPC"
' Assume the oscilloscope will trigger, if not put a check here.
' Wait until OPC becomes true (bit 5 of Status Byte register, STB, ' from Standard Event Status register, ESR, is set). STB can be ' read during :DIGitize without generating a timeout. Do
Sleep 4000 ' Poll more often than the timeout setting. varQueryResult = myScope.IO.ReadSTB Loop While (varQueryResult And &H20) = 0
' Clear ESR and restore previously saved *ESE mask. myScope.WriteString "*ESR?" ' Clear ESR by reading it. varQueryResult = myScope.ReadNumber myScope.WriteString "*ESE " + CStr(varInitialESE)
' Get results. ' ----------------------------------------------------------------myScope.WriteString ":WAVeform:COUNt?" varQueryResult = myScope.ReadNumber Debug.Print "Averaged waveforms: " + CStr(varQueryResult)
myScope.WriteString ":MEASure:RISetime" myScope.WriteString ":MEASure:RISetime?" varQueryResult = myScope.ReadNumber ' Read risetime. Debug.Print "Risetime: " + _
FormatNumber(varQueryResult * 1000000000, 1) + " ns"
Exit Sub
VisaComError: MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End Sub

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

815

35 Synchronizing Acquisitions

816

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
36 More About Oscilloscope Commands
Command Classifications / 818 Valid Command/Query Strings / 819 Query Return Values / 825 All Oscilloscope Commands Are Sequential / 826
817

36 More About Oscilloscope Commands
Command Classifications
To help you use existing programs with your oscilloscope, or use current programs with the next generation of Keysight InfiniiVision oscilloscopes, commands are classified by the following categories: · "Core Commands" on page 818 · "Non-Core Commands" on page 818 · "Obsolete Commands" on page 818
Core Commands
Core commands are a common set of commands that provide basic oscilloscope functionality on this oscilloscope and future Keysight InfiniiVision oscilloscopes. Core commands are unlikely to be modified in the future. If you restrict your programs to core commands, the programs should work across product offerings in the future, assuming appropriate programming methods are employed.
Non-Core Commands
Non-core commands are commands that provide specific features, but are not universal across all Keysight InfiniiVision oscilloscope models. Non-core commands may be modified or deleted in the future. With a command structure as complex as the one for your oscilloscope, some evolution over time is inevitable. Keysight's intent is to continue to expand command subsystems, such as the rich and evolving trigger feature set.
Obsolete Commands
Obsolete commands are older forms of commands that are provided to reduce customer rework for existing systems and programs. Generally, these commands are mapped onto some of the Core and Non-core commands, but may not strictly have the same behavior as the new command. None of the obsolete commands are guaranteed to remain functional in future products. New systems and programs should use the Core (and Non-core) commands. Obsolete commands are listed in: · Chapter 32, "Obsolete and Discontinued Commands," starting on page 731

818

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

More About Oscilloscope Commands 36

Valid Command/Query Strings

· "Program Message Syntax" on page 819 · "Duplicate Mnemonics" on page 823 · "Tree Traversal Rules and Multiple Commands" on page 823
Program Message Syntax
To program the instrument remotely, you must understand the command format and structure expected by the instrument. The IEEE 488.2 syntax rules govern how individual elements such as headers, separators, program data, and terminators may be grouped together to form complete instructions. Syntax definitions are also given to show how query responses are formatted. The following figure shows the main syntactical parts of a typical program statement.

1SPHSBN.FTTBHF
":DISPLAY:LABEL ON"
*OTUSVDUJPO)FBEFS 4FQBSBUPS
1SPHSBN%BUB

Instruction Header

Instructions (both commands and queries) normally appear as a string embedded in a statement of your host language, such as Visual Basic or C/C++. 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 <learn string>. There are only a few instructions that use block data. Program messages can have long or short form commands (and data in some cases -- see "Long Form to Short Form Truncation Rules" on page 820), and upper and/or lower case ASCII characters may be used. (Query responses, however, are always returned in upper case.) Instructions are composed of two main parts: · The header, which specifies the command or query to be sent. · The program data, which provide additional information needed to clarify the
meaning of the instruction. The instruction header is one or more mnemonics separated by colons (:) that represent the operation to be performed by the instrument. ":DISPlay:LABel ON" is a command. Queries are indicated by adding a question mark (?) to the end of the header, for example, ":DISPlay:LABel?". Many instructions can be used as either commands or queries, depending on whether or

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

819

36 More About Oscilloscope Commands

White Space (Separator)
Program Data
Program Message Terminator

not you have included the question mark. The command and query forms of an instruction usually have different program data. Many queries do not use any program data. There are three types of headers: · "Simple Command Headers" on page 821 · "Compound Command Headers" on page 821 · "Common Command Headers" on page 821 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. White space is defined as one or more space characters. ASCII defines a space to be character 32 (in decimal). Program data are used to clarify the meaning of the command or query. They provide 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, as well as the values they accept. "Program Data Syntax Rules" on page 822 describes all of the general rules about acceptable values. When there is more than one data parameter, they are separated by commas(,). Spaces can be added around the commas to improve readability. 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 programming 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).

NOTE

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

Long Form to Short Form Truncation Rules
To get the short form of a command/keyword: · When the command/keyword is longer than four characters, use the first four
characters of the command/keyword unless the fourth character is a vowel; when the fourth character is a vowel, use the first three characters of the command/keyword. · When the command/keyword is four or fewer characters, use all of the characters.

Long Form RANGe PATTern

Short form RANG PATT

820

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

More About Oscilloscope Commands 36

Long Form TIMebase DELay TYPE

Short form TIM DEL TYPE

In the oscilloscope programmer's documentation, the short form of a command is indicated by uppercase characters. Programs written in long form are easily read and are almost self-documenting. The short form syntax conserves the amount of controller memory needed for program storage and reduces I/O activity.
Simple Command Headers
Simple command headers contain a single mnemonic. :AUToscale and :DIGitize are examples of simple command headers typically used in the oscilloscope. The syntax is:
<program mnemonic><terminator>
Simple command headers must occur at the beginning of a program message; if not, they must be preceded by a colon. 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>
Compound Command Headers
Compound command headers are a combination of two or more 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
Common Command Headers
Common command headers control IEEE 488.2 functions within the instrument (such as clear status). Their 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.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

821

36 More About Oscilloscope Commands

Program Data Syntax Rules
Program data is used to convey a parameter information related to the command header. At least one space must separate the command header or query header from the program data.

<program mnemonic><separator><data><terminator>
When a program mnemonic or query has multiple program data, a comma separates sequential program data.

Character Program Data
Numeric Program Data

<program mnemonic><separator><data>,<data><terminator>
For example, :MEASure:DELay CHANnel1,CHANnel2 has two program data: CHANnel1 and CHANnel2. Two main types of program data are used in commands: character and numeric. Character program data is used to convey parameter information as alpha or alphanumeric strings. For example, the :TIMebase:MODE command can be set to normal, zoomed (delayed), XY, or ROLL. The character program data in this case may be MAIN, WINDow, XY, or ROLL. The command :TIMebase:MODE WINDow sets the time base mode to zoomed. The available mnemonics for character program data are always included with the command's syntax definition. When sending commands, you may either the long form or short form (if one exists). Uppercase and lowercase letters may be mixed freely. When receiving query responses, uppercase letters are used exclusively. 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 have the option of using exponential notation or using 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, that means that the number should be whole. Any fractional part will be ignored, truncating the number. Numeric data parameters accept fractional values are called real numbers. All numbers must be strings of ASCII characters. Thus, 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). This is handled automatically when you include the entire instruction in a string.

822

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

More About Oscilloscope Commands 36
Duplicate Mnemonics
Identical function mnemonics can be used in more than one subsystem. For example, the function mnemonic RANGe may be used to change the vertical range or to change the horizontal range:
:CHANnel1:RANGe .4
Sets the vertical range of channel 1 to 0.4 volts full scale.
:TIMebase:RANGe 1
Sets the horizontal time base to 1 second full scale. :CHANnel1 and :TIMebase are subsystem selectors and determine which range is being modified.
Tree Traversal Rules and Multiple Commands
Command headers are created by traversing down the command tree. A legal command header would be :TIMebase:RANGe. This is referred to as a compound header. A compound header is a header made of two or more mnemonics separated by colons. The mnemonic created contains no spaces. The following rules apply to traversing the tree: · A leading colon (<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 lets you access that subsystem until a leading colon or a program message terminator (<NL>) or EOI true is found. · In the command tree, use the last mnemonic in the compound header as the reference point (for example, RANGe). Then find the last colon above that mnemonic (TIMebase:). That is the point where the parser resides. Any command below that point can be sent within the current program message without sending the mnemonics which appear above them (for example, POSition). The output statements in the examples are written using the Keysight VISA COM library in Visual Basic. The quoted string is placed on the bus, followed by a carriage return and linefeed (CRLF). To execute more than one function within the same subsystem, separate the functions with a semicolon (;):
:<subsystem>:<function><separator><data>;<function><separator><data><ter minator>
For example:
myScope.WriteString ":TIMebase:RANGe 0.5;POSition 0"

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

823

36 More About Oscilloscope Commands

NOTE

The colon between TIMebase and RANGe is necessary because TIMebase:RANGe is a compound command. The semicolon between the RANGe command and the POSition command is the required program message unit separator. The POSition command does not need TIMebase preceding it because the TIMebase:RANGe command sets the parser to the TIMebase node in the tree.

Example 2: Program Message
Terminator Sets Parser Back to
Root

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

NOTE

In the first line of example 2, the subsystem selector is implied for the POSition command in the compound command. The POSition command must be in the same program message as the REFerence command because the program message terminator places the parser back at the root of the command tree.

Example 3: Selecting Multiple
Subsystems

A second way to send these commands is by placing TIMebase: before the POSition command as shown in the second part of example 2. The space after POSition is required. 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 enables you to enter a new subsystem. For example:

<program mnemonic><data>;:<program mnemonic><data><terminator>
For example:

myScope.WriteString ":TIMebase:REFerence CENTer;:DISPlay:VECTors ON"

NOTE

The leading colon before DISPlay:VECTors ON tells the parser to go back to the root of the command tree. The parser can then see the DISPlay:VECTors ON command. The space between REFerence and CENter is required; so is the space between VECTors and ON.

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

824

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

More About Oscilloscope Commands 36

Query Return Values

NOTE

Command headers immediately followed by a question mark (?) are queries. Queries are used to get results of measurements made by the instrument or to find out how the instrument is currently configured. After receiving a query, the instrument interrogates the requested function and places the answer in its output queue. The answer remains in the output queue until it is read or another command is issued. When read, the answer is transmitted across the bus to the designated listener (typically a controller). For example, the query :TIMebase:RANGe? places the current time base setting in the output queue. When using the Keysight VISA COM library in Visual Basic, the controller statements:
Dim strQueryResult As String myScope.WriteString ":TIMebase:RANGe?" strQueryResult = myScope.ReadString
pass the value across the bus to the controller and place it in the variable strQueryResult.
Read Query Results Before Sending Another Command. Sending another command or query before reading the result of a query clears the output buffer (the current response) and places a Query INTERRUPTED error in the error queue.

Infinity The representation of infinity is +9.9E+37. This is also the value returned when a Representation measurement cannot be made.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

825

36 More About Oscilloscope Commands
All Oscilloscope Commands Are Sequential
IEEE 488.2 makes the distinction between sequential and overlapped commands: · Sequential commands 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. All of the oscilloscope commands are sequential.

826

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide
37 Programming Examples
VISA COM Examples / 828 VISA Examples / 861 VISA.NET Examples / 908 SICL Examples / 921 SCPI.NET Examples / 941

See Also

Example programs are ASCII text files that can be cut from the help file and pasted into your favorite text editor. · You can find additional programming examples for the InfiniiVision
1200 X-Series oscilloscopes on the Keysight Technologies website at: www.keysight.com/find/1200X-Series-examples

827

37 Programming Examples

VISA COM Examples
· "VISA COM Example in Visual Basic" on page 828 · "VISA COM Example in C#" on page 837 · "VISA COM Example in Visual Basic .NET" on page 846 · "VISA COM Example in Python 3" on page 854
VISA COM Example in Visual Basic
To run this example in Visual Basic for Applications (VBA): 1 Start the application that provides Visual Basic for Applications (for example,
Microsoft Excel). 2 Press ALT+F11 to launch the Visual Basic editor. 3 Reference the Keysight VISA COM library:
a Choose Tools > References... from the main menu. b In the References dialog, check the "VISA COM 5.9 Type Library". c Click OK. 4 Choose Insert > Module. 5 Cut-and-paste the code that follows into the editor. 6 Edit the program to use the VISA address of your oscilloscope, and save the changes. 7 Run the program.
' ' Keysight VISA COM Example in Visual Basic ' ------------------------------------------------------------------' This program illustrates a few commonly-used programming ' features of your Keysight oscilloscope. ' -------------------------------------------------------------------
Option Explicit
Public myMgr As VisaComLib.ResourceManager Public myScope As VisaComLib.FormattedIO488 Public varQueryResult As Variant Public strQueryResult As String
' For Sleep subroutine. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
' ' Main Program ' -------------------------------------------------------------------
Sub Main()

828

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

On Error GoTo VisaComError
' Create the VISA COM I/O resource. Set myMgr = New VisaComLib.ResourceManager Set myScope = New VisaComLib.FormattedIO488 Set myScope.IO = _
myMgr.Open("USB0::0x0957::0x17A6::US50210029::0::INSTR") myScope.IO.Clear ' Clear the interface. myScope.IO.Timeout = 10000 ' Set I/O communication timeout.
' Initialize - start from a known state. Initialize
' Capture data. Capture
' Analyze the captured waveform. Analyze
Exit Sub
VisaComError: MsgBox "VISA COM Error:" + vbCrLf + Err.Description End
End Sub
' ' Initialize the oscilloscope to a known state. ' -------------------------------------------------------------------
Private Sub Initialize()
On Error GoTo VisaComError
' Get and display the device's *IDN? string. strQueryResult = DoQueryString("*IDN?") Debug.Print "Identification string: " + strQueryResult
' Clear status and load the default setup. DoCommand "*CLS" DoCommand "*RST"
Exit Sub
VisaComError: MsgBox "VISA COM Error:" + vbCrLf + Err.Description End
End Sub
' ' Capture the waveform. ' -------------------------------------------------------------------
Private Sub Capture()

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

829

37 Programming Examples

On Error GoTo VisaComError
' Use auto-scale to automatically configure oscilloscope. ' ----------------------------------------------------------------DoCommand ":AUToscale"
' Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. DoCommand ":TRIGger:MODE EDGE" Debug.Print "Trigger mode: " + _
DoQueryString(":TRIGger:MODE?")
' Set EDGE trigger parameters. DoCommand ":TRIGger:EDGE:SOURCe CHANnel1" Debug.Print "Trigger edge source: " + _
DoQueryString(":TRIGger:EDGE:SOURce?")
DoCommand ":TRIGger:EDGE:LEVel 1.5" Debug.Print "Trigger edge level: " + _
DoQueryString(":TRIGger:EDGE:LEVel?")
DoCommand ":TRIGger:EDGE:SLOPe POSitive" Debug.Print "Trigger edge slope: " + _
DoQueryString(":TRIGger:EDGE:SLOPe?")
' Save oscilloscope configuration. ' ----------------------------------------------------------------varQueryResult = DoQueryIEEEBlock_UI1(":SYSTem:SETup?")
' Output setup string to a file: Dim strPath As String strPath = "c:\scope\config\setup.dat" Dim hFile As Long hFile = FreeFile Open strPath For Binary Access Write Lock Write As hFile Put hFile, , varQueryResult ' Write data. Close hFile ' Close file. Debug.Print "Setup bytes saved: " + CStr(LenB(varQueryResult))
' Change settings with individual commands: ' -----------------------------------------------------------------
' Set vertical scale and offset. DoCommand ":CHANnel1:SCALe 0.05" Debug.Print "Channel 1 vertical scale: " + _
DoQueryString(":CHANnel1:SCALe?")
DoCommand ":CHANnel1:OFFSet -1.5" Debug.Print "Channel 1 vertical offset: " + _
DoQueryString(":CHANnel1:OFFSet?")
' Set horizontal scale and offset. DoCommand ":TIMebase:SCALe 0.0002" Debug.Print "Timebase scale: " + _
DoQueryString(":TIMebase:SCALe?")
DoCommand ":TIMebase:POSition 0.0" Debug.Print "Timebase position: " + _

830

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

DoQueryString(":TIMebase:POSition?")
' Set the acquisition type (NORMal, PEAK, AVERage, or HRESolution). DoCommand ":ACQuire:TYPE NORMal" Debug.Print "Acquire type: " + _
DoQueryString(":ACQuire:TYPE?")
' Or, configure by loading a previously saved setup. ' ----------------------------------------------------------------Dim varSetupString As Variant strPath = "c:\scope\config\setup.dat" Open strPath For Binary Access Read As hFile ' Open file for input. Get hFile, , varSetupString ' Read data. Close hFile ' Close file. ' Write learn string back to oscilloscope using ":SYSTem:SETup" ' command: DoCommandIEEEBlock ":SYSTem:SETup", varSetupString Debug.Print "Setup bytes restored: " + CStr(LenB(varSetupString))
' Capture an acquisition using :DIGitize. ' ----------------------------------------------------------------DoCommand ":DIGitize CHANnel1"
Exit Sub
VisaComError: MsgBox "VISA COM Error:" + vbCrLf + Err.Description End
End Sub
' ' Analyze the captured waveform. ' -------------------------------------------------------------------
Private Sub Analyze()
On Error GoTo VisaComError
' Make a couple of measurements. ' ----------------------------------------------------------------DoCommand ":MEASure:SOURce CHANnel1" Debug.Print "Measure source: " + _
DoQueryString(":MEASure:SOURce?")
DoCommand ":MEASure:FREQuency" varQueryResult = DoQueryNumber(":MEASure:FREQuency?") MsgBox "Frequency:" + vbCrLf + _
FormatNumber(varQueryResult / 1000, 4) + " kHz"
DoCommand ":MEASure:VAMPlitude" varQueryResult = DoQueryNumber(":MEASure:VAMPlitude?") MsgBox "Vertical amplitude:" + vbCrLf + _
FormatNumber(varQueryResult, 4) + " V"

' Download the screen image.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

831

37 Programming Examples

' ----------------------------------------------------------------' Get screen image. DoCommand ":HARDcopy:INKSaver OFF" Dim byteData() As Byte byteData = DoQueryIEEEBlock_UI1(":DISPlay:DATA? PNG, COLor")
' Save screen image to a file. Dim strPath As String strPath = "c:\scope\data\screen.png" If Len(Dir(strPath)) Then
Kill strPath ' Remove file if it exists. End If
Dim hFile As Long hFile = FreeFile Open strPath For Binary Access Write Lock Write As hFile Put hFile, , byteData ' Write data. Close hFile ' Close file. MsgBox "Screen image (" + CStr(UBound(byteData) + 1) + _
" bytes) written to " + strPath
' Download waveform data. ' -----------------------------------------------------------------
' Set the waveform points mode. DoCommand ":WAVeform:POINts:MODE RAW" Debug.Print "Waveform points mode: " + _
DoQueryString(":WAVeform:POINts:MODE?")
' Get the number of waveform points available. Debug.Print "Waveform points available: " + _
DoQueryString(":WAVeform:POINts?")
' Set the waveform source. DoCommand ":WAVeform:SOURce CHANnel1" Debug.Print "Waveform source: " + _
DoQueryString(":WAVeform:SOURce?")
' Choose the format of the data returned (WORD, BYTE, ASCII): DoCommand ":WAVeform:FORMat BYTE" Debug.Print "Waveform format: " + _
DoQueryString(":WAVeform:FORMat?")
' Display the waveform settings: Dim Preamble() Dim intFormat As Integer Dim intType As Integer Dim lngPoints As Long Dim lngCount As Long Dim dblXIncrement As Double Dim dblXOrigin As Double Dim lngXReference As Long Dim sngYIncrement As Single Dim sngYOrigin As Single Dim lngYReference As Long

832

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

Preamble() = DoQueryNumbers(":WAVeform:PREamble?")
intFormat = Preamble(0) intType = Preamble(1) lngPoints = Preamble(2) lngCount = Preamble(3) dblXIncrement = Preamble(4) dblXOrigin = Preamble(5) lngXReference = Preamble(6) sngYIncrement = Preamble(7) sngYOrigin = Preamble(8) lngYReference = Preamble(9)
If intFormat = 0 Then Debug.Print "Waveform format: BYTE"
ElseIf intFormat = 1 Then Debug.Print "Waveform format: WORD"
ElseIf intFormat = 4 Then Debug.Print "Waveform format: ASCii"
End If
If intType = 0 Then Debug.Print "Acquisition type: NORMal"
ElseIf intType = 1 Then Debug.Print "Acquisition type: PEAK"
ElseIf intType = 2 Then Debug.Print "Acquisition type: AVERage"
ElseIf intType = 3 Then Debug.Print "Acquisition type: HRESolution"
End If
Debug.Print "Waveform points: " + _ FormatNumber(lngPoints, 0)
Debug.Print "Waveform average count: " + _ FormatNumber(lngCount, 0)
Debug.Print "Waveform X increment: " + _ Format(dblXIncrement, "Scientific")
Debug.Print "Waveform X origin: " + _ Format(dblXOrigin, "Scientific")
Debug.Print "Waveform X reference: " + _ FormatNumber(lngXReference, 0)
Debug.Print "Waveform Y increment: " + _ Format(sngYIncrement, "Scientific")
Debug.Print "Waveform Y origin: " + _ FormatNumber(sngYOrigin, 0)
Debug.Print "Waveform Y reference: " + _ FormatNumber(lngYReference, 0)
' Get the waveform data varQueryResult = DoQueryIEEEBlock_UI1(":WAVeform:DATA?")

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

833

37 Programming Examples

Debug.Print "Number of data values: " + _ CStr(UBound(varQueryResult) + 1)
' Set up output file: strPath = "c:\scope\data\waveform_data.csv"
' Open file for output. Open strPath For Output Access Write Lock Write As hFile
' Output waveform data in CSV format. Dim lngDataValue As Long Dim lngI As Long
For lngI = 0 To UBound(varQueryResult) lngDataValue = varQueryResult(lngI)
' Write time value, voltage value. Print #hFile, _
FormatNumber(dblXOrigin + (lngI * dblXIncrement), 9) + _ ", " + _ FormatNumber(((lngDataValue - lngYReference) * _ sngYIncrement) + sngYOrigin)
Next lngI
' Close output file. Close hFile ' Close file. MsgBox "Waveform format BYTE data written to " + _
"c:\scope\data\waveform_data.csv."
Exit Sub
VisaComError: MsgBox "VISA COM Error:" + vbCrLf + Err.Description End
End Sub
Private Sub DoCommand(command As String)
On Error GoTo VisaComError
myScope.WriteString command CheckInstrumentErrors
Exit Sub
VisaComError: MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _ Err.Source + ", " + _ Err.Description, vbExclamation, "VISA COM Error" End
End Sub
Private Sub DoCommandIEEEBlock(command As String, data As Variant)

834

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

On Error GoTo VisaComError
Dim strErrors As String
myScope.WriteIEEEBlock command, data CheckInstrumentErrors
Exit Sub
VisaComError: MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _ Err.Source + ", " + _ Err.Description, vbExclamation, "VISA COM Error" End
End Sub
Private Function DoQueryString(query As String) As String
On Error GoTo VisaComError
myScope.WriteString query DoQueryString = myScope.ReadString CheckInstrumentErrors
Exit Function
VisaComError: MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _ Err.Source + ", " + _ Err.Description, vbExclamation, "VISA COM Error" End
End Function
Private Function DoQueryNumber(query As String) As Variant
On Error GoTo VisaComError
myScope.WriteString query DoQueryNumber = myScope.ReadNumber CheckInstrumentErrors
Exit Function
VisaComError: MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _ Err.Source + ", " + _ Err.Description, vbExclamation, "VISA COM Error" End
End Function
Private Function DoQueryNumbers(query As String) As Variant()
On Error GoTo VisaComError

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

835

37 Programming Examples

Dim strErrors As String

myScope.WriteString query DoQueryNumbers = myScope.ReadList CheckInstrumentErrors

Exit Function

VisaComError: MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _ Err.Source + ", " + _ Err.Description, vbExclamation, "VISA COM Error" End

End Function

Private Function DoQueryIEEEBlock_UI1(query As String) As Variant

On Error GoTo VisaComError

myScope.WriteString query DoQueryIEEEBlock_UI1 = myScope.ReadIEEEBlock(BinaryType_UI1) CheckInstrumentErrors

Exit Function

VisaComError: MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _ Err.Source + ", " + _ Err.Description, vbExclamation, "VISA COM Error" End

End Function

Private Sub CheckInstrumentErrors()

On Error GoTo VisaComError

Dim strErrVal As String Dim strOut As String

myScope.WriteString ":SYSTem:ERRor?" ' Query any errors data.

strErrVal = myScope.ReadString

' Read: Errnum,"Error String".

While Val(strErrVal) <> 0

' End if find: 0,"No Error".

strOut = strOut + "INST Error: " + strErrVal

myScope.WriteString ":SYSTem:ERRor?" ' Request error message.

strErrVal = myScope.ReadString

' Read error message.

Wend

If Not strOut = "" Then MsgBox strOut, vbExclamation, "INST Error Messages" myScope.FlushWrite (False) myScope.FlushRead

End If

Exit Sub

836

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

VisaComError: MsgBox "VISA COM Error: " + vbCrLf + Err.Description
End Sub
VISA COM Example in C#
To compile and run this example in Microsoft Visual Studio 2008: 1 Open Visual Studio. 2 Create a new Visual C#, Windows, Console Application project. 3 Cut-and-paste the code that follows into the C# source file. 4 Edit the program to use the VISA address of your oscilloscope. 5 Add a reference to the VISA COM 5.9 Type Library:
a Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment.
b Choose Add Reference.... c In the Add Reference dialog, select the COM tab. d Select VISA COM 5.9 Type Library; then click OK. 6 Build and run the program. For more information, see the VISA COM Help that comes with Keysight IO Libraries Suite.
/* * Keysight VISA COM Example in C# * ------------------------------------------------------------------* This program illustrates a few commonly used programming * features of your Keysight oscilloscope. * ------------------------------------------------------------------*/
using System; using System.IO; using System.Text; using Ivi.Visa.Interop; using System.Runtime.InteropServices;
namespace InfiniiVision {
class VisaComInstrumentApp {
private static VisaComInstrument myScope;
public static void Main(string[] args) {
try {
myScope = new

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

837

37 Programming Examples

VisaComInstrument("USB0::0x0957::0x17A6::US50210029::0::INSTR" );
myScope.SetTimeoutSeconds(10);
// Initialize - start from a known state. Initialize();
// Capture data. Capture();
// Analyze the captured waveform. Analyze(); } catch (System.ApplicationException err) { Console.WriteLine("*** VISA COM Error : " + err.Message); } catch (System.SystemException err) { Console.WriteLine("*** System Error Message : " + err.Message); } catch (System.Exception err) { System.Diagnostics.Debug.Fail("Unexpected Error"); Console.WriteLine("*** Unexpected Error : " + err.Message); } finally { myScope.Close(); } }
/* * Initialize the oscilloscope to a known state. * -------------------------------------------------------------*/
private static void Initialize() {
string strResults;
// Get and display the device's *IDN? string. strResults = myScope.DoQueryString("*IDN?"); Console.WriteLine("*IDN? result is: {0}", strResults);
// Clear status and load the default setup. myScope.DoCommand("*CLS"); myScope.DoCommand("*RST"); }
/* * Capture the waveform. * -------------------------------------------------------------*/
private static void Capture() {
// Use auto-scale to automatically configure oscilloscope. myScope.DoCommand(":AUToscale");

838

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

// Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. myScope.DoCommand(":TRIGger:MODE EDGE"); Console.WriteLine("Trigger mode: {0}",
myScope.DoQueryString(":TRIGger:MODE?"));
// Set EDGE trigger parameters. myScope.DoCommand(":TRIGger:EDGE:SOURCe CHANnel1"); Console.WriteLine("Trigger edge source: {0}",
myScope.DoQueryString(":TRIGger:EDGE:SOURce?"));
myScope.DoCommand(":TRIGger:EDGE:LEVel 1.5"); Console.WriteLine("Trigger edge level: {0}",
myScope.DoQueryString(":TRIGger:EDGE:LEVel?"));
myScope.DoCommand(":TRIGger:EDGE:SLOPe POSitive"); Console.WriteLine("Trigger edge slope: {0}",
myScope.DoQueryString(":TRIGger:EDGE:SLOPe?"));
// Save oscilloscope configuration. byte[] ResultsArray; // Results array. int nLength; // Number of bytes returned from instrument. string strPath;
// Query and read setup string. ResultsArray = myScope.DoQueryIEEEBlock(":SYSTem:SETup?"); nLength = ResultsArray.Length;
// Write setup string to file. strPath = "c:\\scope\\config\\setup.stp"; FileStream fStream = File.Open(strPath, FileMode.Create); fStream.Write(ResultsArray, 0, nLength); fStream.Close(); Console.WriteLine("Setup bytes saved: {0}", nLength);
// Change settings with individual commands:
// Set vertical scale and offset. myScope.DoCommand(":CHANnel1:SCALe 0.05"); Console.WriteLine("Channel 1 vertical scale: {0}",
myScope.DoQueryString(":CHANnel1:SCALe?"));
myScope.DoCommand(":CHANnel1:OFFSet -1.5"); Console.WriteLine("Channel 1 vertical offset: {0}",
myScope.DoQueryString(":CHANnel1:OFFSet?"));
// Set horizontal scale and offset. myScope.DoCommand(":TIMebase:SCALe 0.0002"); Console.WriteLine("Timebase scale: {0}",
myScope.DoQueryString(":TIMebase:SCALe?"));
myScope.DoCommand(":TIMebase:POSition 0.0"); Console.WriteLine("Timebase position: {0}",
myScope.DoQueryString(":TIMebase:POSition?"));
// Set the acquisition type (NORMal, PEAK, AVERage, or HRESolution ).

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

839

37 Programming Examples

myScope.DoCommand(":ACQuire:TYPE NORMal"); Console.WriteLine("Acquire type: {0}",
myScope.DoQueryString(":ACQuire:TYPE?"));
// Or, configure by loading a previously saved setup. byte[] DataArray; int nBytesWritten;
// Read setup string from file. strPath = "c:\\scope\\config\\setup.stp"; DataArray = File.ReadAllBytes(strPath); nBytesWritten = DataArray.Length;
// Restore setup string. myScope.DoCommandIEEEBlock(":SYSTem:SETup", DataArray); Console.WriteLine("Setup bytes restored: {0}", nBytesWritten);
// Capture an acquisition using :DIGitize. myScope.DoCommand(":DIGitize CHANnel1"); }
/* * Analyze the captured waveform. * -------------------------------------------------------------*/
private static void Analyze() {
byte[] ResultsArray; // Results array. int nLength; // Number of bytes returned from instrument. string strPath;
// Make a couple of measurements. // ----------------------------------------------------------myScope.DoCommand(":MEASure:SOURce CHANnel1"); Console.WriteLine("Measure source: {0}",
myScope.DoQueryString(":MEASure:SOURce?"));
double fResult; myScope.DoCommand(":MEASure:FREQuency"); fResult = myScope.DoQueryNumber(":MEASure:FREQuency?"); Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000);
myScope.DoCommand(":MEASure:VAMPlitude"); fResult = myScope.DoQueryNumber(":MEASure:VAMPlitude?"); Console.WriteLine("Vertical amplitude: {0:F2} V", fResult);
// Download the screen image. // ----------------------------------------------------------myScope.DoCommand(":HARDcopy:INKSaver OFF");
// Get the screen data. ResultsArray =
myScope.DoQueryIEEEBlock(":DISPlay:DATA? PNG, COLor"); nLength = ResultsArray.Length;
// Store the screen data to a file. strPath = "c:\\scope\\data\\screen.png";

840

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

FileStream fStream = File.Open(strPath, FileMode.Create); fStream.Write(ResultsArray, 0, nLength); fStream.Close(); Console.WriteLine("Screen image ({0} bytes) written to {1}",
nLength, strPath);
// Download waveform data. // -----------------------------------------------------------
// Set the waveform points mode. myScope.DoCommand(":WAVeform:POINts:MODE RAW"); Console.WriteLine("Waveform points mode: {0}",
myScope.DoQueryString(":WAVeform:POINts:MODE?"));
// Get the number of waveform points available. Console.WriteLine("Waveform points available: {0}",
myScope.DoQueryString(":WAVeform:POINts?"));
// Set the waveform source. myScope.DoCommand(":WAVeform:SOURce CHANnel1"); Console.WriteLine("Waveform source: {0}",
myScope.DoQueryString(":WAVeform:SOURce?"));
// Choose the format of the data returned (WORD, BYTE, ASCII): myScope.DoCommand(":WAVeform:FORMat BYTE"); Console.WriteLine("Waveform format: {0}",
myScope.DoQueryString(":WAVeform:FORMat?"));
// Display the waveform settings: double[] fResultsArray; fResultsArray = myScope.DoQueryNumbers(":WAVeform:PREamble?");
double fFormat = fResultsArray[0]; if (fFormat == 0.0) {
Console.WriteLine("Waveform format: BYTE"); } else if (fFormat == 1.0) {
Console.WriteLine("Waveform format: WORD"); } else if (fFormat == 2.0) {
Console.WriteLine("Waveform format: ASCii"); }
double fType = fResultsArray[1]; if (fType == 0.0) {
Console.WriteLine("Acquire type: NORMal"); } else if (fType == 1.0) {
Console.WriteLine("Acquire type: PEAK"); } else if (fType == 2.0) {

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

841

37 Programming Examples

Console.WriteLine("Acquire type: AVERage"); } else if (fType == 3.0) {
Console.WriteLine("Acquire type: HRESolution"); }
double fPoints = fResultsArray[2]; Console.WriteLine("Waveform points: {0:e}", fPoints);
double fCount = fResultsArray[3]; Console.WriteLine("Waveform average count: {0:e}", fCount);
double fXincrement = fResultsArray[4]; Console.WriteLine("Waveform X increment: {0:e}", fXincrement);
double fXorigin = fResultsArray[5]; Console.WriteLine("Waveform X origin: {0:e}", fXorigin);
double fXreference = fResultsArray[6]; Console.WriteLine("Waveform X reference: {0:e}", fXreference);
double fYincrement = fResultsArray[7]; Console.WriteLine("Waveform Y increment: {0:e}", fYincrement);
double fYorigin = fResultsArray[8]; Console.WriteLine("Waveform Y origin: {0:e}", fYorigin);
double fYreference = fResultsArray[9]; Console.WriteLine("Waveform Y reference: {0:e}", fYreference);
// Read waveform data. ResultsArray = myScope.DoQueryIEEEBlock(":WAVeform:DATA?"); nLength = ResultsArray.Length; Console.WriteLine("Number of data values: {0}", nLength);
// Set up output file: strPath = "c:\\scope\\data\\waveform_data.csv"; if (File.Exists(strPath)) File.Delete(strPath);
// Open file for output. StreamWriter writer = File.CreateText(strPath);
// Output waveform data in CSV format. for (int i = 0; i < nLength - 1; i++)
writer.WriteLine("{0:f9}, {1:f6}", fXorigin + ((float)i * fXincrement), (((float)ResultsArray[i] - fYreference) * fYincrement) + fYorigin);
// Close output file. writer.Close(); Console.WriteLine("Waveform format BYTE data written to {0}",
strPath); } }

842

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

class VisaComInstrument {
private ResourceManagerClass m_ResourceManager; private FormattedIO488Class m_IoObject; private string m_strVisaAddress;
// Constructor. public VisaComInstrument(string strVisaAddress) {
// Save VISA address in member variable. m_strVisaAddress = strVisaAddress;
// Open the default VISA COM IO object. OpenIo();
// Clear the interface. m_IoObject.IO.Clear(); }
public void DoCommand(string strCommand) {
// Send the command. m_IoObject.WriteString(strCommand, true);
// Check for inst errors. CheckInstrumentErrors(strCommand); }
public void DoCommandIEEEBlock(string strCommand, byte[] DataArray)
{ // Send the command to the device. m_IoObject.WriteIEEEBlock(strCommand, DataArray, true);
// Check for inst errors. CheckInstrumentErrors(strCommand); }
public string DoQueryString(string strQuery) {
// Send the query. m_IoObject.WriteString(strQuery, true);
// Get the result string. string strResults; strResults = m_IoObject.ReadString();
// Check for inst errors. CheckInstrumentErrors(strQuery);
// Return results string. return strResults; }
public double DoQueryNumber(string strQuery) {
// Send the query.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

843

37 Programming Examples

m_IoObject.WriteString(strQuery, true);
// Get the result number. double fResult; fResult = (double)m_IoObject.ReadNumber(
IEEEASCIIType.ASCIIType_R8, true);
// Check for inst errors. CheckInstrumentErrors(strQuery);
// Return result number. return fResult; }
public double[] DoQueryNumbers(string strQuery) {
// Send the query. m_IoObject.WriteString(strQuery, true);
// Get the result numbers. double[] fResultsArray; fResultsArray = (double[])m_IoObject.ReadList(
IEEEASCIIType.ASCIIType_R8, ",;");
// Check for inst errors. CheckInstrumentErrors(strQuery);
// Return result numbers. return fResultsArray; }
public byte[] DoQueryIEEEBlock(string strQuery) {
// Send the query. m_IoObject.WriteString(strQuery, true);
// Get the results array. System.Threading.Thread.Sleep(2000); // Delay before reading. byte[] ResultsArray; ResultsArray = (byte[])m_IoObject.ReadIEEEBlock(
IEEEBinaryType.BinaryType_UI1, false, true);
// Check for inst errors. CheckInstrumentErrors(strQuery);
// Return results array. return ResultsArray; }
private void CheckInstrumentErrors(string strCommand) {
// Check for instrument errors. string strInstrumentError; bool bFirstError = true;
do // While not "0,No error". {

844

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

m_IoObject.WriteString(":SYSTem:ERRor?", true); strInstrumentError = m_IoObject.ReadString();
if (!strInstrumentError.ToString().StartsWith("+0,")) {
if (bFirstError) {
Console.WriteLine("ERROR(s) for command '{0}': ", strCommand);
bFirstError = false; } Console.Write(strInstrumentError); } } while (!strInstrumentError.ToString().StartsWith("+0,")); }
private void OpenIo() {
m_ResourceManager = new ResourceManagerClass(); m_IoObject = new FormattedIO488Class();
// Open the default VISA COM IO object. try {
m_IoObject.IO = (IMessage)m_ResourceManager.Open(m_strVisaAddress, AccessMode.NO_LOCK, 0, "");
} catch (Exception e) {
Console.WriteLine("An error occurred: {0}", e.Message); } }
public void SetTimeoutSeconds(int nSeconds) {
m_IoObject.IO.Timeout = nSeconds * 1000; }
public void Close() {
try {
m_IoObject.IO.Close(); } catch { }
try {
Marshal.ReleaseComObject(m_IoObject); } catch { }
try {
Marshal.ReleaseComObject(m_ResourceManager); }

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

845

37 Programming Examples

catch { } } } }
VISA COM Example in Visual Basic .NET
To compile and run this example in Microsoft Visual Studio 2008: 1 Open Visual Studio. 2 Create a new Visual Basic, Windows, Console Application project. 3 Cut-and-paste the code that follows into the Visual Basic .NET source file. 4 Edit the program to use the VISA address of your oscilloscope. 5 Add a reference to the VISA COM 5.9 Type Library:
a Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment.
b Choose Add Reference.... c In the Add Reference dialog, select the COM tab. d Select VISA COM 5.9 Type Library; then click OK. e Right-click the project you wish to modify (not the solution) in the Solution
Explorer window of the Microsoft Visual Studio environment and choose Properties; then, select "InfiniiVision.VisaComInstrumentApp" as the Startup object. 6 Build and run the program.
For more information, see the VISA COM Help that comes with Keysight IO Libraries Suite.
' ' Keysight VISA COM Example in Visual Basic .NET ' ------------------------------------------------------------------' This program illustrates a few commonly used programming ' features of your Keysight oscilloscope. ' -------------------------------------------------------------------
Imports System Imports System.IO Imports System.Text Imports Ivi.Visa.Interop Imports System.Runtime.InteropServices
Namespace InfiniiVision Class VisaComInstrumentApp Private Shared myScope As VisaComInstrument
Public Shared Sub Main(ByVal args As String()) Try myScope = New _ VisaComInstrument("USB0::0x0957::0x17A6::US50210029::0::INSTR"

846

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

) myScope.SetTimeoutSeconds(10)
' Initialize - start from a known state. Initialize()
' Capture data. Capture()
' Analyze the captured waveform. Analyze()
Catch err As System.ApplicationException Console.WriteLine("*** VISA Error Message : " + err.Message)
Catch err As System.SystemException Console.WriteLine("*** System Error Message : " + err.Message)
Catch err As System.Exception System.Diagnostics.Debug.Fail("Unexpected Error") Console.WriteLine("*** Unexpected Error : " + err.Message)
Finally myScope.Close()
End Try End Sub
' Initialize the oscilloscope to a known state. ' --------------------------------------------------------------
Private Shared Sub Initialize() Dim strResults As String
' Get and display the device's *IDN? string. strResults = myScope.DoQueryString("*IDN?") Console.WriteLine("*IDN? result is: {0}", strResults)
' Clear status and load the default setup. myScope.DoCommand("*CLS") myScope.DoCommand("*RST")
End Sub
' Capture the waveform. ' --------------------------------------------------------------
Private Shared Sub Capture()
' Use auto-scale to automatically configure oscilloscope. myScope.DoCommand(":AUToscale")
' Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. myScope.DoCommand(":TRIGger:MODE EDGE") Console.WriteLine("Trigger mode: {0}", _
myScope.DoQueryString(":TRIGger:MODE?"))
' Set EDGE trigger parameters. myScope.DoCommand(":TRIGger:EDGE:SOURCe CHANnel1") Console.WriteLine("Trigger edge source: {0}", _
myScope.DoQueryString(":TRIGger:EDGE:SOURce?"))

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

847

37 Programming Examples

myScope.DoCommand(":TRIGger:EDGE:LEVel 1.5") Console.WriteLine("Trigger edge level: {0}", _
myScope.DoQueryString(":TRIGger:EDGE:LEVel?"))
myScope.DoCommand(":TRIGger:EDGE:SLOPe POSitive") Console.WriteLine("Trigger edge slope: {0}", _
myScope.DoQueryString(":TRIGger:EDGE:SLOPe?"))
' Save oscilloscope configuration. Dim ResultsArray As Byte() ' Results array. Dim nLength As Integer ' Number of bytes returned from inst. Dim strPath As String Dim fStream As FileStream
' Query and read setup string. ResultsArray = myScope.DoQueryIEEEBlock(":SYSTem:SETup?") nLength = ResultsArray.Length
' Write setup string to file. strPath = "c:\scope\config\setup.stp" fStream = File.Open(strPath, FileMode.Create) fStream.Write(ResultsArray, 0, nLength) fStream.Close() Console.WriteLine("Setup bytes saved: {0}", nLength)
' Change settings with individual commands:
' Set vertical scale and offset. myScope.DoCommand(":CHANnel1:SCALe 0.05") Console.WriteLine("Channel 1 vertical scale: {0}", _
myScope.DoQueryString(":CHANnel1:SCALe?"))
myScope.DoCommand(":CHANnel1:OFFSet -1.5") Console.WriteLine("Channel 1 vertical offset: {0}", _
myScope.DoQueryString(":CHANnel1:OFFSet?"))
' Set horizontal scale and offset. myScope.DoCommand(":TIMebase:SCALe 0.0002") Console.WriteLine("Timebase scale: {0}", _
myScope.DoQueryString(":TIMebase:SCALe?"))
myScope.DoCommand(":TIMebase:POSition 0.0") Console.WriteLine("Timebase position: {0}", _
myScope.DoQueryString(":TIMebase:POSition?"))
' Set the acquisition type (NORMal, PEAK, AVERage, or HRESolution) .
myScope.DoCommand(":ACQuire:TYPE NORMal") Console.WriteLine("Acquire type: {0}", _
myScope.DoQueryString(":ACQuire:TYPE?"))
' Or, configure by loading a previously saved setup. Dim DataArray As Byte() Dim nBytesWritten As Integer
' Read setup string from file.

848

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

strPath = "c:\scope\config\setup.stp" DataArray = File.ReadAllBytes(strPath) nBytesWritten = DataArray.Length
' Restore setup string. myScope.DoCommandIEEEBlock(":SYSTem:SETup", DataArray) Console.WriteLine("Setup bytes restored: {0}", nBytesWritten)
' Capture an acquisition using :DIGitize. myScope.DoCommand(":DIGitize CHANnel1")
End Sub
' Analyze the captured waveform. ' --------------------------------------------------------------
Private Shared Sub Analyze()
Dim fResult As Double Dim ResultsArray As Byte() ' Results array. Dim nLength As Integer ' Number of bytes returned from inst. Dim strPath As String
' Make a couple of measurements. ' -----------------------------------------------------------myScope.DoCommand(":MEASure:SOURce CHANnel1") Console.WriteLine("Measure source: {0}", _
myScope.DoQueryString(":MEASure:SOURce?"))
myScope.DoCommand(":MEASure:FREQuency") fResult = myScope.DoQueryNumber(":MEASure:FREQuency?") Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000)
myScope.DoCommand(":MEASure:VAMPlitude") fResult = myScope.DoQueryNumber(":MEASure:VAMPlitude?") Console.WriteLine("Vertical amplitude: {0:F2} V", fResult)
' Download the screen image. ' -----------------------------------------------------------myScope.DoCommand(":HARDcopy:INKSaver OFF")
' Get the screen data. ResultsArray = myScope.DoQueryIEEEBlock(":DISPlay:DATA? PNG, COLor ") nLength = ResultsArray.Length
' Store the screen data to a file. strPath = "c:\scope\data\screen.png" Dim fStream As FileStream fStream = File.Open(strPath, FileMode.Create) fStream.Write(ResultsArray, 0, nLength) fStream.Close() Console.WriteLine("Screen image ({0} bytes) written to {1}", _
nLength, strPath)
' Download waveform data. ' ------------------------------------------------------------

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

849

37 Programming Examples

' Set the waveform points mode. myScope.DoCommand(":WAVeform:POINts:MODE RAW") Console.WriteLine("Waveform points mode: {0}", _
myScope.DoQueryString(":WAVeform:POINts:MODE?"))
' Get the number of waveform points available. Console.WriteLine("Waveform points available: {0}", _
myScope.DoQueryString(":WAVeform:POINts?"))
' Set the waveform source. myScope.DoCommand(":WAVeform:SOURce CHANnel1") Console.WriteLine("Waveform source: {0}", _
myScope.DoQueryString(":WAVeform:SOURce?"))
' Choose the format of the data returned (WORD, BYTE, ASCII): myScope.DoCommand(":WAVeform:FORMat BYTE") Console.WriteLine("Waveform format: {0}", _
myScope.DoQueryString(":WAVeform:FORMat?"))
' Display the waveform settings: Dim fResultsArray As Double() fResultsArray = myScope.DoQueryNumbers(":WAVeform:PREamble?")
Dim fFormat As Double = fResultsArray(0) If fFormat = 0 Then
Console.WriteLine("Waveform format: BYTE") ElseIf fFormat = 1 Then
Console.WriteLine("Waveform format: WORD") ElseIf fFormat = 2 Then
Console.WriteLine("Waveform format: ASCii") End If
Dim fType As Double = fResultsArray(1) If fType = 0 Then
Console.WriteLine("Acquire type: NORMal") ElseIf fType = 1 Then
Console.WriteLine("Acquire type: PEAK") ElseIf fType = 2 Then
Console.WriteLine("Acquire type: AVERage") ElseIf fType = 3 Then
Console.WriteLine("Acquire type: HRESolution") End If
Dim fPoints As Double = fResultsArray(2) Console.WriteLine("Waveform points: {0:e}", fPoints)
Dim fCount As Double = fResultsArray(3) Console.WriteLine("Waveform average count: {0:e}", fCount)
Dim fXincrement As Double = fResultsArray(4) Console.WriteLine("Waveform X increment: {0:e}", fXincrement)
Dim fXorigin As Double = fResultsArray(5) Console.WriteLine("Waveform X origin: {0:e}", fXorigin)
Dim fXreference As Double = fResultsArray(6)

850

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

Console.WriteLine("Waveform X reference: {0:e}", fXreference)
Dim fYincrement As Double = fResultsArray(7) Console.WriteLine("Waveform Y increment: {0:e}", fYincrement)
Dim fYorigin As Double = fResultsArray(8) Console.WriteLine("Waveform Y origin: {0:e}", fYorigin)
Dim fYreference As Double = fResultsArray(9) Console.WriteLine("Waveform Y reference: {0:e}", fYreference)
' Get the waveform data. ResultsArray = myScope.DoQueryIEEEBlock(":WAVeform:DATA?") nLength = ResultsArray.Length Console.WriteLine("Number of data values: {0}", nLength)
' Set up output file: strPath = "c:\scope\data\waveform_data.csv" If File.Exists(strPath) Then
File.Delete(strPath) End If
' Open file for output. Dim writer As StreamWriter = File.CreateText(strPath)
' Output waveform data in CSV format. For index As Integer = 0 To nLength - 1
' Write time value, voltage value. writer.WriteLine("{0:f9}, {1:f6}", _
fXorigin + (CSng(index) * fXincrement), _ ((CSng(ResultsArray(index)) - fYreference) _ * fYincrement) + fYorigin) Next
' Close output file. writer.Close() Console.WriteLine("Waveform format BYTE data written to {0}", _
strPath)
End Sub
End Class
Class VisaComInstrument Private m_ResourceManager As ResourceManagerClass Private m_IoObject As FormattedIO488Class Private m_strVisaAddress As String
' Constructor. Public Sub New(ByVal strVisaAddress As String)
' Save VISA address in member variable. m_strVisaAddress = strVisaAddress
' Open the default VISA COM IO object. OpenIo()

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

851

37 Programming Examples

' Clear the interface. m_IoObject.IO.Clear()
End Sub
Public Sub DoCommand(ByVal strCommand As String)
' Send the command. m_IoObject.WriteString(strCommand, True)
' Check for inst errors. CheckInstrumentErrors(strCommand)
End Sub
Public Sub DoCommandIEEEBlock(ByVal strCommand As String, _ ByVal DataArray As Byte())
' Send the command to the device. m_IoObject.WriteIEEEBlock(strCommand, DataArray, True)
' Check for inst errors. CheckInstrumentErrors(strCommand)
End Sub
Public Function DoQueryString(ByVal strQuery As String) As String ' Send the query. m_IoObject.WriteString(strQuery, True)
' Get the result string. Dim strResults As String strResults = m_IoObject.ReadString()
' Check for inst errors. CheckInstrumentErrors(strQuery)
' Return results string. Return strResults End Function
Public Function DoQueryNumber(ByVal strQuery As String) As Double ' Send the query. m_IoObject.WriteString(strQuery, True)
' Get the result number. Dim fResult As Double fResult = _
CDbl(m_IoObject.ReadNumber(IEEEASCIIType.ASCIIType_R8, True))
' Check for inst errors. CheckInstrumentErrors(strQuery)
' Return result number. Return fResult End Function

852

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

Public Function DoQueryNumbers(ByVal strQuery As String) As _ Double()
' Send the query. m_IoObject.WriteString(strQuery, True)
' Get the result numbers. Dim fResultsArray As Double() fResultsArray = _
m_IoObject.ReadList(IEEEASCIIType.ASCIIType_R8, ",;")
' Check for inst errors. CheckInstrumentErrors(strQuery)
' Return result numbers. Return fResultsArray End Function
Public _ Function DoQueryIEEEBlock(ByVal strQuery As String) As Byte()
' Send the query. m_IoObject.WriteString(strQuery, True)
' Get the results array. System.Threading.Thread.Sleep(2000) ' Delay before reading data. Dim ResultsArray As Byte() ResultsArray = _
m_IoObject.ReadIEEEBlock(IEEEBinaryType.BinaryType_UI1, _ False, True)
' Check for inst errors. CheckInstrumentErrors(strQuery)
' Return results array. Return ResultsArray End Function
Private Sub CheckInstrumentErrors(ByVal strCommand As String) ' Check for instrument errors. Dim strInstrumentError As String Dim bFirstError As Boolean = True Do ' While not "0,No error". m_IoObject.WriteString(":SYSTem:ERRor?", True) strInstrumentError = m_IoObject.ReadString()
If Not strInstrumentError.ToString().StartsWith("+0,") Then If bFirstError Then Console.WriteLine("ERROR(s) for command '{0}': ", _ strCommand) bFirstError = False End If Console.Write(strInstrumentError)
End If Loop While Not strInstrumentError.ToString().StartsWith("+0,") End Sub
Private Sub OpenIo() m_ResourceManager = New ResourceManagerClass()

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

853

37 Programming Examples

m_IoObject = New FormattedIO488Class()
' Open the default VISA COM IO object. Try
m_IoObject.IO = _ DirectCast(m_ResourceManager.Open(m_strVisaAddress, _ AccessMode.NO_LOCK, 0, ""), IMessage)
Catch e As Exception Console.WriteLine("An error occurred: {0}", e.Message)
End Try End Sub
Public Sub SetTimeoutSeconds(ByVal nSeconds As Integer) m_IoObject.IO.Timeout = nSeconds * 1000
End Sub
Public Sub Close() Try m_IoObject.IO.Close() Catch End Try
Try Marshal.ReleaseComObject(m_IoObject)
Catch End Try
Try Marshal.ReleaseComObject(m_ResourceManager)
Catch End Try End Sub End Class End Namespace
VISA COM Example in Python 3
You can use the Python programming language with the "comtypes" package to control Keysight oscilloscopes. The Python language and "comtypes" package can be downloaded from the web at http://www.python.org/ and https://pypi.org/project/comtypes/, respectively. To run this example with Python and "comtypes": 1 Cut-and-paste the code that follows into a file named "example.py". 2 Edit the program to use the VISA address of your oscilloscope. 3 If "python.exe" can be found via your PATH environment variable, open a
Command Prompt window; then, change to the folder that contains the "example.py" file, and enter:
python example.py
#!python3 #

854

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

# Keysight VISA COM Example in Python using "comtypes" # ********************************************************* # This program illustrates a few commonly used programming # features of your Keysight oscilloscope. # *********************************************************
# Import Python modules. # --------------------------------------------------------import string import time import sys import array
from comtypes.client import GetModule from comtypes.client import CreateObject
# Run GetModule once to generate comtypes.gen.VisaComLib. if not hasattr(sys, "frozen"):
GetModule("C:\Program Files (x86)\IVI Foundation\VISA\VisaCom\ GlobMgr.dll")
import comtypes.gen.VisaComLib as VisaComLib

# Global variables (booleans: 0 = False, 1 = True). # ---------------------------------------------------------

# ========================================================= # Initialize: # ========================================================= def initialize():
# Get and display the device's *IDN? string. idn_string = do_query_string("*IDN?") print("Identification string '%s'" % idn_string)
# Clear status and load the default setup. do_command("*CLS") do_command("*RST")

# ========================================================= # Capture: # ========================================================= def capture():
# Use auto-scale to automatically set up oscilloscope. print("Autoscale.") do_command(":AUToscale")
# Set trigger mode. do_command(":TRIGger:MODE EDGE") qresult = do_query_string(":TRIGger:MODE?") print("Trigger mode: %s" % qresult)
# Set EDGE trigger parameters. do_command(":TRIGger:EDGE:SOURce CHANnel1")

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

855

37 Programming Examples

qresult = do_query_string(":TRIGger:EDGE:SOURce?") print("Trigger edge source: %s" % qresult)
do_command(":TRIGger:EDGE:LEVel 1.5") qresult = do_query_string(":TRIGger:EDGE:LEVel?") print("Trigger edge level: %s" % qresult)
do_command(":TRIGger:EDGE:SLOPe POSitive") qresult = do_query_string(":TRIGger:EDGE:SLOPe?") print("Trigger edge slope: %s" % qresult)
# Save oscilloscope setup. setup_bytes = do_query_ieee_block(":SYSTem:SETup?") nLength = len(setup_bytes) f = open("setup.stp", "wb") f.write(bytearray(setup_bytes)) f.close() print("Setup bytes saved: %d" % nLength)
# Change oscilloscope settings with individual commands:
# Set vertical scale and offset. do_command(":CHANnel1:SCALe 0.05") qresult = do_query_number(":CHANnel1:SCALe?") print("Channel 1 vertical scale: %f" % qresult)
do_command(":CHANnel1:OFFSet -1.5") qresult = do_query_number(":CHANnel1:OFFSet?") print("Channel 1 offset: %f" % qresult)
# Set horizontal scale and offset. do_command(":TIMebase:SCALe 0.0002") qresult = do_query_string(":TIMebase:SCALe?") print("Timebase scale: %s" % qresult)
do_command(":TIMebase:POSition 0.0") qresult = do_query_string(":TIMebase:POSition?") print("Timebase position: %s" % qresult)
# Set the acquisition type. do_command(":ACQuire:TYPE NORMal") qresult = do_query_string(":ACQuire:TYPE?") print("Acquire type: %s" % qresult)
# Or, configure by loading a previously saved setup. f = open("setup.stp", "rb") setup_bytes = f.read() f.close() do_command_ieee_block(":SYSTem:SETup", array.array('B', setup_bytes)) print("Setup bytes restored: %d" % len(setup_bytes))
# Capture an acquisition using :DIGitize. do_command(":DIGitize CHANnel1")

# ========================================================= # Analyze:

856

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

# ========================================================= def analyze():
# Make measurements. # -------------------------------------------------------do_command(":MEASure:SOURce CHANnel1") qresult = do_query_string(":MEASure:SOURce?") print("Measure source: %s" % qresult)
do_command(":MEASure:FREQuency") qresult = do_query_string(":MEASure:FREQuency?") print("Measured frequency on channel 1: %s" % qresult)
do_command(":MEASure:VAMPlitude") qresult = do_query_string(":MEASure:VAMPlitude?") print("Measured vertical amplitude on channel 1: %s" % qresult)
# Download the screen image. # -------------------------------------------------------do_command(":HARDcopy:INKSaver OFF")
image_bytes = do_query_ieee_block(":DISPlay:DATA? PNG, COLor") nLength = len(image_bytes) f = open("screen.png", "wb") f.write(bytearray(image_bytes)) f.close() print("Screen image written to screen.png.")
# Download waveform data. # --------------------------------------------------------
# Set the waveform points mode. do_command(":WAVeform:POINts:MODE RAW") qresult = do_query_string(":WAVeform:POINts:MODE?") print("Waveform points mode: %s" % qresult)
# Get the number of waveform points available. do_command(":WAVeform:POINts 10240") qresult = do_query_string(":WAVeform:POINts?") print("Waveform points available: %s" % qresult)
# Set the waveform source. do_command(":WAVeform:SOURce CHANnel1") qresult = do_query_string(":WAVeform:SOURce?") print("Waveform source: %s" % qresult)
# Choose the format of the data returned: do_command(":WAVeform:FORMat BYTE") print("Waveform format: %s" % do_query_string(":WAVeform:FORMat?"))
# Display the waveform settings from preamble: wav_form_dict = {
0 : "BYTE", 1 : "WORD", 4 : "ASCii", } acq_type_dict = {

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

857

37 Programming Examples
0 : "NORMal", 1 : "PEAK", 2 : "AVERage", 3 : "HRESolution", }
( wav_form, acq_type, wfmpts, avgcnt, x_increment, x_origin, x_reference, y_increment, y_origin, y_reference
) = do_query_numbers(":WAVeform:PREamble?")
print("Waveform format: %s" % wav_form_dict[wav_form]) print("Acquire type: %s" % acq_type_dict[acq_type]) print("Waveform points desired: %d" % wfmpts) print("Waveform average count: %d" % avgcnt) print("Waveform X increment: %1.12f" % x_increment) print("Waveform X origin: %1.9f" % x_origin) print("Waveform X reference: %d" % x_reference) # Always 0. print("Waveform Y increment: %f" % y_increment) print("Waveform Y origin: %f" % y_origin) print("Waveform Y reference: %d" % y_reference) # Always 125.
# Get numeric values for later calculations. x_increment = do_query_number(":WAVeform:XINCrement?") x_origin = do_query_number(":WAVeform:XORigin?") y_increment = do_query_number(":WAVeform:YINCrement?") y_origin = do_query_number(":WAVeform:YORigin?") y_reference = do_query_number(":WAVeform:YREFerence?")
# Get the waveform data. data_bytes = do_query_ieee_block(":WAVeform:DATA?") nLength = len(data_bytes) print("Number of data values: %d" % nLength)
# Open file for output. strPath = "waveform_data.csv" f = open(strPath, "w")
# Output waveform data in CSV format. for i in range(0, nLength - 1):
time_val = x_origin + (i * x_increment) voltage = (data_bytes[i] - y_reference) * y_increment + y_origin f.write("%E, %f\n" % (time_val, voltage))
# Close output file. f.close() print("Waveform format BYTE data written to %s." % strPath)

858

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37
# ========================================================= # Send a command and check for errors: # ========================================================= def do_command(command):
myScope.WriteString("%s" % command, True) check_instrument_errors(command)
# ========================================================= # Send a command and check for errors: # ========================================================= def do_command_ieee_block(command, data):
myScope.WriteIEEEBlock(command, data, True) check_instrument_errors(command)
# ========================================================= # Send a query, check for errors, return string: # ========================================================= def do_query_string(query):
myScope.WriteString("%s" % query, True) result = myScope.ReadString() check_instrument_errors(query) return result
# ========================================================= # Send a query, check for errors, return string: # ========================================================= def do_query_ieee_block(query):
myScope.WriteString("%s" % query, True) result = myScope.ReadIEEEBlock(VisaComLib.BinaryType_UI1, \
False, True) check_instrument_errors(query) return result
# ========================================================= # Send a query, check for errors, return values: # ========================================================= def do_query_number(query):
myScope.WriteString("%s" % query, True) result = myScope.ReadNumber(VisaComLib.ASCIIType_R8, True) check_instrument_errors(query) return result
# ========================================================= # Send a query, check for errors, return values: # ========================================================= def do_query_numbers(query):
myScope.WriteString("%s" % query, True) result = myScope.ReadList(VisaComLib.ASCIIType_R8, ",;") check_instrument_errors(query) return result

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

859

37 Programming Examples
# ========================================================= # Check for instrument errors: # ========================================================= def check_instrument_errors(command):
while True: myScope.WriteString(":SYSTem:ERRor?", True) error_string = myScope.ReadString() if error_string: # If there is an error string value.
if error_string.find("+0,", 0, 3) == -1: # Not "No error". print("ERROR: %s, command: '%s'" % (error_string, command)) print("Exited because of error.") sys.exit(1)
else: # "No error" break
else: # :SYSTem:ERRor? should always return string. print("ERROR: :SYSTem:ERRor? returned nothing, command: '%s'" \ % command) print("Exited because of error.") sys.exit(1)
# ========================================================= # Main program: # ========================================================= rm = CreateObject("VISA.GlobalRM", \
interface=VisaComLib.IResourceManager) myScope = CreateObject("VISA.BasicFormattedIO", \
interface=VisaComLib.IFormattedIO488) myScope.IO = \
rm.Open("TCPIP0::141.121.237.208::hislip0::INSTR")
# Clear the interface. myScope.IO.Clear() print("Interface cleared.")
# Set the Timeout to 15 seconds. myScope.IO.Timeout = 15000 # 15 seconds. print("Timeout set to 15000 milliseconds.")
# Initialize the oscilloscope, capture data, and analyze. initialize() capture() analyze()
myScope.IO.Close() print("End of program") sys.exit()

860

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

VISA Examples
· "VISA Example in C" on page 861 · "VISA Example in Visual Basic" on page 870 · "VISA Example in C#" on page 880 · "VISA Example in Visual Basic .NET" on page 891 · "VISA Example in Python 3" on page 901
VISA Example in C
To compile and run this example in Microsoft Visual Studio 2008: 1 Open Visual Studio. 2 Create a new Visual C++, Win32, Win32 Console Application project. 3 In the Win32 Application Wizard, click Next >. Then, check Empty project, and
click Finish. 4 Cut-and-paste the code that follows into a file named "example.c" in the
project directory. 5 In Visual Studio 2008, right-click the Source Files folder, choose Add > Add
Existing Item..., select the example.c file, and click Add. 6 Edit the program to use the VISA address of your oscilloscope. 7 Choose Project > Properties.... In the Property Pages dialog, update these project
settings: a Under Configuration Properties, Linker, Input, add "visa32.lib" to the
Additional Dependencies field. b Under Configuration Properties, C/C++, Code Generation, select
Multi-threaded DLL for the Runtime Library field. c Click OK to close the Property Pages dialog. 8 Add the include files and library files search paths: a Choose Tools > Options.... b In the Options dialog, under Projects and Solutions, select VC++ Directories. c Show directories for Include files, and add the include directory (for example,
Program Files (x86)\IVI Foundation\VISA\WinNT\Include). d Show directories for Library files, and add the library files directory (for
example, Program Files (x86)\IVI Foundation\VISA\WinNT\lib\msc). e Click OK to close the Options dialog. 9 Build and run the program.
/* * Keysight VISA Example in C * ------------------------------------------------------------------

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

861

37 Programming Examples

* This program illustrates a few commonly-used programming * features of your Keysight oscilloscope. */

#include <stdio.h> #include <string.h> #include <time.h> #include <visa.h>

/* For printf(). */ /* For strcpy(), strcat(). */ /* For clock(). */ /* Keysight VISA routines. */

#define VISA_ADDRESS "USB0::0x0957::0x17A6::US50210029::0::INSTR" #define IEEEBLOCK_SPACE 5000000

/* Function prototypes */ void initialize(void); void capture(void); void analyze(void);

/* Initialize to known state. */ /* Capture the waveform. */ /* Analyze the captured waveform. */

void do_command(char *command);

/* Send command. */

int do_command_ieeeblock(char *command); /* Command w/IEEE block. */

void do_query_string(char *query);

/* Query for string. */

void do_query_number(char *query);

/* Query for number. */

void do_query_numbers(char *query);

/* Query for numbers. */

int do_query_ieeeblock(char *query); /* Query for IEEE block. */

void check_instrument_errors();

/* Check for inst errors. */

void error_handler();

/* VISA error handler. */

/* Global variables */

ViSession defaultRM, vi;

/* Device session ID. */

ViStatus err;

/* VISA function return value. */

char str_result[256] = {0};

/* Result from do_query_string(). */

double num_result;

/* Result from do_query_number(). */

unsigned char ieeeblock_data[IEEEBLOCK_SPACE]; /* Result from

do_query_ieeeblock(). */

double dbl_results[10];

/* Result from do_query_numbers(). */

/* Main Program * --------------------------------------------------------------- */
void main(void) {
/* Open the default resource manager session. */ err = viOpenDefaultRM(&defaultRM); if (err != VI_SUCCESS) error_handler();

/* Open the session using the oscilloscope's VISA address. */ err = viOpen(defaultRM, VISA_ADDRESS, VI_NULL, VI_NULL, &vi); if (err != VI_SUCCESS) error_handler();

/* Set the I/O timeout to fifteen seconds. */ err = viSetAttribute(vi, VI_ATTR_TMO_VALUE, 15000);
if (err != VI_SUCCESS) error_handler();

/* Initialize - start from a known state. */ initialize();

/* Capture data. */ capture();

862

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

/* Analyze the captured waveform. */ analyze();
/* Close the vi session and the resource manager session. */ viClose(vi); viClose(defaultRM); }
/* Initialize the oscilloscope to a known state. * --------------------------------------------------------------- */
void initialize (void) {
/* Clear the interface. */ err = viClear(vi); if (err != VI_SUCCESS) error_handler();
/* Get and display the device's *IDN? string. */ do_query_string("*IDN?"); printf("Oscilloscope *IDN? string: %s\n", str_result);
/* Clear status and load the default setup. */ do_command("*CLS"); do_command("*RST"); }
/* Capture the waveform. * --------------------------------------------------------------- */
void capture (void) {
int num_bytes; FILE *fp;
/* Use auto-scale to automatically configure oscilloscope. */ do_command(":AUToscale");
/* Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. */ do_command(":TRIGger:MODE EDGE"); do_query_string(":TRIGger:MODE?"); printf("Trigger mode: %s\n", str_result);
/* Set EDGE trigger parameters. */ do_command(":TRIGger:EDGE:SOURCe CHANnel1"); do_query_string(":TRIGger:EDGE:SOURce?"); printf("Trigger edge source: %s\n", str_result);
do_command(":TRIGger:EDGE:LEVel 1.5"); do_query_string(":TRIGger:EDGE:LEVel?"); printf("Trigger edge level: %s\n", str_result);
do_command(":TRIGger:EDGE:SLOPe POSitive"); do_query_string(":TRIGger:EDGE:SLOPe?"); printf("Trigger edge slope: %s\n", str_result);
/* Save oscilloscope configuration. */
/* Read system setup. */ num_bytes = do_query_ieeeblock(":SYSTem:SETup?");

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

863

37 Programming Examples

printf("Read setup string query (%d bytes).\n", num_bytes);
/* Write setup string to file. */ fp = fopen ("c:\\scope\\config\\setup.stp", "wb"); num_bytes = fwrite(ieeeblock_data, sizeof(unsigned char), num_bytes,
fp); fclose (fp); printf("Wrote setup string (%d bytes) to ", num_bytes); printf("c:\\scope\\config\\setup.stp.\n");
/* Change settings with individual commands:
/* Set vertical scale and offset. */ do_command(":CHANnel1:SCALe 0.05"); do_query_string(":CHANnel1:SCALe?"); printf("Channel 1 vertical scale: %s\n", str_result);
do_command(":CHANnel1:OFFSet -1.5"); do_query_string(":CHANnel1:OFFSet?"); printf("Channel 1 offset: %s\n", str_result);
/* Set horizontal scale and offset. */ do_command(":TIMebase:SCALe 0.0002"); do_query_string(":TIMebase:SCALe?"); printf("Timebase scale: %s\n", str_result);
do_command(":TIMebase:POSition 0.0"); do_query_string(":TIMebase:POSition?"); printf("Timebase position: %s\n", str_result);
/* Set the acquisition type (NORMal, PEAK, AVERage, or HRESolution). * /
do_command(":ACQuire:TYPE NORMal"); do_query_string(":ACQuire:TYPE?"); printf("Acquire type: %s\n", str_result);
/* Or, configure by loading a previously saved setup. */
/* Read setup string from file. */ fp = fopen ("c:\\scope\\config\\setup.stp", "rb"); num_bytes = fread (ieeeblock_data, sizeof(unsigned char),
IEEEBLOCK_SPACE, fp); fclose (fp); printf("Read setup string (%d bytes) from file ", num_bytes); printf("c:\\scope\\config\\setup.stp.\n");
/* Restore setup string. */ num_bytes = do_command_ieeeblock(":SYSTem:SETup", num_bytes); printf("Restored setup string (%d bytes).\n", num_bytes);
/* Capture an acquisition using :DIGitize. */ do_command(":DIGitize CHANnel1"); }
/* Analyze the captured waveform. * --------------------------------------------------------------- */
void analyze (void)

864

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

{ double wav_format; double acq_type; double wav_points; double avg_count; double x_increment; double x_origin; double x_reference; double y_increment; double y_origin; double y_reference;

FILE *fp; int num_bytes; int i;

/* Number of bytes returned from instrument. */

/* Make a couple of measurements. * ------------------------------------------------------------- */
do_command(":MEASure:SOURce CHANnel1"); do_query_string(":MEASure:SOURce?"); printf("Measure source: %s\n", str_result);

do_command(":MEASure:FREQuency"); do_query_number(":MEASure:FREQuency?"); printf("Frequency: %.4f kHz\n", num_result / 1000);

do_command(":MEASure:VAMPlitude"); do_query_number(":MEASure:VAMPlitude?"); printf("Vertical amplitude: %.2f V\n", num_result);

/* Download the screen image. * ------------------------------------------------------------- */
do_command(":HARDcopy:INKSaver OFF");

/* Read screen image. */ num_bytes = do_query_ieeeblock(":DISPlay:DATA? PNG, COLor"); printf("Screen image bytes: %d\n", num_bytes);

/* Write screen image bytes to file. */ fp = fopen ("c:\\scope\\data\\screen.png", "wb"); num_bytes = fwrite(ieeeblock_data, sizeof(unsigned char), num_bytes,
fp); fclose (fp); printf("Wrote screen image (%d bytes) to ", num_bytes); printf("c:\\scope\\data\\screen.png.\n");

/* Download waveform data. * ------------------------------------------------------------- */

/* Set the waveform points mode. */ do_command(":WAVeform:POINts:MODE RAW"); do_query_string(":WAVeform:POINts:MODE?"); printf("Waveform points mode: %s\n", str_result);

/* Get the number of waveform points available. */ do_query_string(":WAVeform:POINts?"); printf("Waveform points available: %s\n", str_result);

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

865

37 Programming Examples

/* Set the waveform source. */ do_command(":WAVeform:SOURce CHANnel1"); do_query_string(":WAVeform:SOURce?"); printf("Waveform source: %s\n", str_result);
/* Choose the format of the data returned (WORD, BYTE, ASCII): */ do_command(":WAVeform:FORMat BYTE"); do_query_string(":WAVeform:FORMat?"); printf("Waveform format: %s\n", str_result);
/* Display the waveform settings: */ do_query_numbers(":WAVeform:PREamble?");
wav_format = dbl_results[0]; if (wav_format == 0.0) {
printf("Waveform format: BYTE\n"); } else if (wav_format == 1.0) {
printf("Waveform format: WORD\n"); } else if (wav_format == 2.0) {
printf("Waveform format: ASCii\n"); }
acq_type = dbl_results[1]; if (acq_type == 0.0) {
printf("Acquire type: NORMal\n"); } else if (acq_type == 1.0) {
printf("Acquire type: PEAK\n"); } else if (acq_type == 2.0) {
printf("Acquire type: AVERage\n"); } else if (acq_type == 3.0) {
printf("Acquire type: HRESolution\n"); }
wav_points = dbl_results[2]; printf("Waveform points: %e\n", wav_points);
avg_count = dbl_results[3]; printf("Waveform average count: %e\n", avg_count);
x_increment = dbl_results[4]; printf("Waveform X increment: %e\n", x_increment);
x_origin = dbl_results[5]; printf("Waveform X origin: %e\n", x_origin);

866

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

x_reference = dbl_results[6]; printf("Waveform X reference: %e\n", x_reference);
y_increment = dbl_results[7]; printf("Waveform Y increment: %e\n", y_increment);
y_origin = dbl_results[8]; printf("Waveform Y origin: %e\n", y_origin);
y_reference = dbl_results[9]; printf("Waveform Y reference: %e\n", y_reference);
/* Read waveform data. */ num_bytes = do_query_ieeeblock(":WAVeform:DATA?"); printf("Number of data values: %d\n", num_bytes);
/* Open file for output. */ fp = fopen("c:\\scope\\data\\waveform_data.csv", "wb");
/* Output waveform data in CSV format. */ for (i = 0; i < num_bytes - 1; i++) {
/* Write time value, voltage value. */ fprintf(fp, "%9f, %6f\n",
x_origin + ((float)i * x_increment), (((float)ieeeblock_data[i] - y_reference) * y_increment) + y_origin); }
/* Close output file. */ fclose(fp); printf("Waveform format BYTE data written to "); printf("c:\\scope\\data\\waveform_data.csv.\n");
}
/* Send a command to the instrument. * --------------------------------------------------------------- */
void do_command(command) char *command; {
char message[80];
strcpy(message, command); strcat(message, "\n"); err = viPrintf(vi, message); if (err != VI_SUCCESS) error_handler();
check_instrument_errors(); }
/* Command with IEEE definite-length block. * --------------------------------------------------------------- */
int do_command_ieeeblock(command, num_bytes) char *command; int num_bytes; {

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

867

37 Programming Examples

char message[80]; int data_length;
strcpy(message, command); strcat(message, " #8%08d"); err = viPrintf(vi, message, num_bytes); if (err != VI_SUCCESS) error_handler();
err = viBufWrite(vi, ieeeblock_data, num_bytes, &data_length); if (err != VI_SUCCESS) error_handler();
check_instrument_errors();
return(data_length); }
/* Query for a string result. * --------------------------------------------------------------- */
void do_query_string(query) char *query; {
char message[80];
strcpy(message, query); strcat(message, "\n");
err = viPrintf(vi, message); if (err != VI_SUCCESS) error_handler();
err = viScanf(vi, "%t", str_result); if (err != VI_SUCCESS) error_handler();
check_instrument_errors(); }
/* Query for a number result. * --------------------------------------------------------------- */
void do_query_number(query) char *query; {
char message[80];
strcpy(message, query); strcat(message, "\n");
err = viPrintf(vi, message); if (err != VI_SUCCESS) error_handler();
err = viScanf(vi, "%lf", &num_result); if (err != VI_SUCCESS) error_handler();
check_instrument_errors(); }
/* Query for numbers result. * --------------------------------------------------------------- */
void do_query_numbers(query)

868

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

char *query; {
char message[80];
strcpy(message, query); strcat(message, "\n");
err = viPrintf(vi, message); if (err != VI_SUCCESS) error_handler();
err = viScanf(vi, "%,10lf\n", dbl_results); if (err != VI_SUCCESS) error_handler();
check_instrument_errors(); }
/* Query for an IEEE definite-length block result. * --------------------------------------------------------------- */
int do_query_ieeeblock(query) char *query; {
char message[80]; int data_length;
strcpy(message, query); strcat(message, "\n"); err = viPrintf(vi, message); if (err != VI_SUCCESS) error_handler();
data_length = IEEEBLOCK_SPACE; err = viScanf(vi, "%#b\n", &data_length, ieeeblock_data); if (err != VI_SUCCESS) error_handler();
if (data_length == IEEEBLOCK_SPACE ) {
printf("IEEE block buffer full: "); printf("May not have received all data.\n"); }
check_instrument_errors();
return(data_length); }
/* Check for instrument errors. * --------------------------------------------------------------- */
void check_instrument_errors() {
char str_err_val[256] = {0}; char str_out[800] = "";
err = viQueryf(vi, ":SYSTem:ERRor?\n", "%t", str_err_val); if (err != VI_SUCCESS) error_handler(); while(strncmp(str_err_val, "+0,No error", 3) != 0 ) {
strcat(str_out, ", "); strcat(str_out, str_err_val);

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

869

37 Programming Examples

err = viQueryf(vi, ":SYSTem:ERRor?\n", "%t", str_err_val); if (err != VI_SUCCESS) error_handler(); }
if (strcmp(str_out, "") != 0) {
printf("INST Error%s\n", str_out); err = viFlush(vi, VI_READ_BUF); if (err != VI_SUCCESS) error_handler(); err = viFlush(vi, VI_WRITE_BUF); if (err != VI_SUCCESS) error_handler(); } }
/* Handle VISA errors. * --------------------------------------------------------------- */
void error_handler() {
char err_msg[1024] = {0};
viStatusDesc(vi, err, err_msg); printf("VISA Error: %s\n", err_msg); if (err < VI_SUCCESS) {
exit(1); } }
VISA Example in Visual Basic
To run this example in Visual Basic for Applications: 1 Start the application that provides Visual Basic for Applications (for example,
Microsoft Excel). 2 Press ALT+F11 to launch the Visual Basic editor. 3 Add the visa32.bas file to your project:
a Choose File > Import File.... b Navigate to the header file, visa32.bas (installed with Keysight IO Libraries
Suite and found in the Program Files (x86)\IVI Foundation\VISA\WinNT\ Include), select it, and click Open. 4 Choose Insert > Module. 5 Cut-and-paste the code that follows into the editor. 6 Edit the program to use the VISA address of your oscilloscope, and save the changes. 7 Run the program.
' ' Keysight VISA Example in Visual Basic ' ------------------------------------------------------------------' This program illustrates a few commonly-used programming

870

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

' features of your Keysight oscilloscope. ' -------------------------------------------------------------------

Option Explicit

Public err As Long Public drm As Long Public vi As Long

' Error returned by VISA function calls. ' Session to Default Resource Manager. ' Session to instrument.

' Declare variables to hold numeric values returned by ' viVScanf/viVQueryf. Public dblQueryResult As Double Public Const ByteArraySize = 5000000 Public retCount As Long Public byteArray(ByteArraySize) As Byte Public paramsArray(2) As Long Public Const DblArraySize = 20 Public dblArray(DblArraySize) As Double

' Declare fixed length string variable to hold string value returned ' by viVScanf/viVQueryf. Public strQueryResult As String * 200

' For Sleep subroutine. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

' ' Main Program ' -------------------------------------------------------------------

Sub Main()

' Open the default resource manager session. err = viOpenDefaultRM(drm) If (err <> VI_SUCCESS) Then HandleVISAError drm

' Open the session using the oscilloscope's VISA address. err = viOpen(drm, _
"USB0::0x0957::0x17A6::US50210029::0::INSTR", 0, 15000, vi) If (err <> VI_SUCCESS) Then HandleVISAError drm

' Set the I/O timeout to ten seconds. err = viSetAttribute(vi, VI_ATTR_TMO_VALUE, 10000) If (err <> VI_SUCCESS) Then HandleVISAError vi

' Initialize - start from a known state. Initialize

' Capture data. Capture

' Analyze the captured waveform. Analyze

' Close the vi session and the resource manager session. err = viClose(vi) err = viClose(drm)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

871

37 Programming Examples

End Sub
' ' Initialize the oscilloscope to a known state. ' -------------------------------------------------------------------
Private Sub Initialize()
' Clear the interface. err = viClear(vi) If Not (err = VI_SUCCESS) Then HandleVISAError vi
' Get and display the device's *IDN? string. strQueryResult = DoQueryString("*IDN?") MsgBox "*IDN? string: " + strQueryResult, vbOKOnly, "*IDN? Result"
' Clear status and load the default setup. DoCommand "*CLS" DoCommand "*RST"
End Sub
' ' Capture the waveform. ' -------------------------------------------------------------------
Private Sub Capture()
' Use auto-scale to automatically configure oscilloscope. ' ----------------------------------------------------------------DoCommand ":AUToscale"
' Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. DoCommand ":TRIGger:MODE EDGE" Debug.Print "Trigger mode: " + _
DoQueryString(":TRIGger:MODE?")
' Set EDGE trigger parameters. DoCommand ":TRIGger:EDGE:SOURCe CHANnel1" Debug.Print "Trigger edge source: " + _
DoQueryString(":TRIGger:EDGE:SOURce?")
DoCommand ":TRIGger:EDGE:LEVel 1.5" Debug.Print "Trigger edge level: " + _
DoQueryString(":TRIGger:EDGE:LEVel?")
DoCommand ":TRIGger:EDGE:SLOPe POSitive" Debug.Print "Trigger edge slope: " + _
DoQueryString(":TRIGger:EDGE:SLOPe?")
' Save oscilloscope configuration. ' ----------------------------------------------------------------Dim lngSetupStringSize As Long lngSetupStringSize = DoQueryIEEEBlock_Bytes(":SYSTem:SETup?") Debug.Print "Setup bytes saved: " + CStr(lngSetupStringSize)

872

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

' Output setup string to a file: Dim strPath As String strPath = "c:\scope\config\setup.dat" If Len(Dir(strPath)) Then
Kill strPath ' Remove file if it exists. End If
' Open file for output. Dim hFile As Long hFile = FreeFile Open strPath For Binary Access Write Lock Write As hFile Dim lngI As Long For lngI = 0 To lngSetupStringSize - 1
Put hFile, , byteArray(lngI) ' Write data. Next lngI Close hFile ' Close file.
' Change settings with individual commands: ' -----------------------------------------------------------------
' Set vertical scale and offset. DoCommand ":CHANnel1:SCALe 0.05" Debug.Print "Channel 1 vertical scale: " + _
DoQueryString(":CHANnel1:SCALe?")
DoCommand ":CHANnel1:OFFSet -1.5" Debug.Print "Channel 1 vertical offset: " + _
DoQueryString(":CHANnel1:OFFSet?")
' Set horizontal scale and position. DoCommand ":TIMebase:SCALe 0.0002" Debug.Print "Timebase scale: " + _
DoQueryString(":TIMebase:SCALe?")
DoCommand ":TIMebase:POSition 0.0" Debug.Print "Timebase position: " + _
DoQueryString(":TIMebase:POSition?")
' Set the acquisition type (NORMal, PEAK, AVERage, or HRESolution). DoCommand ":ACQuire:TYPE NORMal" Debug.Print "Acquire type: " + _
DoQueryString(":ACQuire:TYPE?")
' Or, configure by loading a previously saved setup. ' ----------------------------------------------------------------strPath = "c:\scope\config\setup.dat" Open strPath For Binary Access Read As hFile ' Open file for input. Dim lngSetupFileSize As Long lngSetupFileSize = LOF(hFile) ' Length of file. Get hFile, , byteArray ' Read data. Close hFile ' Close file. ' Write learn string back to oscilloscope using ":SYSTem:SETup" ' command: Dim lngRestored As Long lngRestored = DoCommandIEEEBlock(":SYSTem:SETup", lngSetupFileSize) Debug.Print "Setup bytes restored: " + CStr(lngRestored)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

873

37 Programming Examples

' Capture an acquisition using :DIGitize. ' ----------------------------------------------------------------DoCommand ":DIGitize CHANnel1"
End Sub
' ' Analyze the captured waveform. ' -------------------------------------------------------------------
Private Sub Analyze()
' Make a couple of measurements. ' ----------------------------------------------------------------DoCommand ":MEASure:SOURce CHANnel1" Debug.Print "Measure source: " + _
DoQueryString(":MEASure:SOURce?")
DoCommand ":MEASure:FREQuency" dblQueryResult = DoQueryNumber(":MEASure:FREQuency?") MsgBox "Frequency:" + vbCrLf + _
FormatNumber(dblQueryResult / 1000, 4) + " kHz"
DoCommand ":MEASure:VAMPlitude" dblQueryResult = DoQueryNumber(":MEASure:VAMPlitude?") MsgBox "Vertical amplitude:" + vbCrLf + _
FormatNumber(dblQueryResult, 4) + " V"

' Download the screen image. ' ----------------------------------------------------------------DoCommand ":HARDcopy:INKSaver OFF"
' Get screen image. Dim lngBlockSize As Long lngBlockSize = DoQueryIEEEBlock_Bytes(":DISPlay:DATA? PNG, COLor") Debug.Print "Screen image bytes: " + CStr(lngBlockSize)
' Save screen image to a file: Dim strPath As String strPath = "c:\scope\data\screen.png" If Len(Dir(strPath)) Then
Kill strPath ' Remove file if it exists. End If Dim hFile As Long hFile = FreeFile Open strPath For Binary Access Write Lock Write As hFile Dim lngI As Long For lngI = 0 To lngBlockSize - 1
Put hFile, , byteArray(lngI) ' Write data. Next lngI Close hFile ' Close file. MsgBox "Screen image written to " + strPath

' Download waveform data. ' -----------------------------------------------------------------

874

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

' Set the waveform points mode. DoCommand ":WAVeform:POINts:MODE RAW" Debug.Print "Waveform points mode: " + _
DoQueryString(":WAVeform:POINts:MODE?")
' Get the number of waveform points available. Debug.Print "Waveform points available: " + _
DoQueryString(":WAVeform:POINts?")
' Set the waveform source. DoCommand ":WAVeform:SOURce CHANnel1" Debug.Print "Waveform source: " + _
DoQueryString(":WAVeform:SOURce?")
' Choose the format of the data returned (WORD, BYTE, ASCII): DoCommand ":WAVeform:FORMat BYTE" Debug.Print "Waveform format: " + _
DoQueryString(":WAVeform:FORMat?")
' Display the waveform settings: Dim intFormat As Integer Dim intType As Integer Dim lngPoints As Long Dim lngCount As Long Dim dblXIncrement As Double Dim dblXOrigin As Double Dim lngXReference As Long Dim sngYIncrement As Single Dim lngYOrigin As Long Dim lngYReference As Long Dim strOutput As String
Dim lngNumNumbers As Long lngNumNumbers = DoQueryNumbers(":WAVeform:PREamble?")
intFormat = dblArray(0) intType = dblArray(1) lngPoints = dblArray(2) lngCount = dblArray(3) dblXIncrement = dblArray(4) dblXOrigin = dblArray(5) lngXReference = dblArray(6) sngYIncrement = dblArray(7) lngYOrigin = dblArray(8) lngYReference = dblArray(9)
If intFormat = 0 Then Debug.Print "Waveform format: BYTE"
ElseIf intFormat = 1 Then Debug.Print "Waveform format: WORD"
ElseIf intFormat = 2 Then Debug.Print "Waveform format: ASCii"
End If
If intType = 0 Then Debug.Print "Acquisition type: NORMal"

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

875

37 Programming Examples

ElseIf intType = 1 Then Debug.Print "Acquisition type: PEAK"
ElseIf intType = 2 Then Debug.Print "Acquisition type: AVERage"
ElseIf intType = 3 Then Debug.Print "Acquisition type: HRESolution"
End If
Debug.Print "Waveform points: " + _ FormatNumber(lngPoints, 0)
Debug.Print "Waveform average count: " + _ FormatNumber(lngCount, 0)
Debug.Print "Waveform X increment: " + _ Format(dblXIncrement, "Scientific")
Debug.Print "Waveform X origin: " + _ Format(dblXOrigin, "Scientific")
Debug.Print "Waveform X reference: " + _ FormatNumber(lngXReference, 0)
Debug.Print "Waveform Y increment: " + _ Format(sngYIncrement, "Scientific")
Debug.Print "Waveform Y origin: " + _ FormatNumber(lngYOrigin, 0)
Debug.Print "Waveform Y reference: " + _ FormatNumber(lngYReference, 0)
' Get the waveform data Dim lngNumBytes As Long lngNumBytes = DoQueryIEEEBlock_Bytes(":WAVeform:DATA?") Debug.Print "Number of data values: " + CStr(lngNumBytes)
' Set up output file: strPath = "c:\scope\data\waveform_data.csv"
' Open file for output. Open strPath For Output Access Write Lock Write As hFile
' Output waveform data in CSV format. Dim lngDataValue As Long
For lngI = 0 To lngNumBytes - 1 lngDataValue = CLng(byteArray(lngI))
' Write time value, voltage value. Print #hFile, _
FormatNumber(dblXOrigin + (lngI * dblXIncrement), 9) + _ ", " + _ FormatNumber(((lngDataValue - lngYReference) _ * sngYIncrement) + lngYOrigin)
Next lngI

876

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

' Close output file. Close hFile ' Close file. MsgBox "Waveform format BYTE data written to " + _
"c:\scope\data\waveform_data.csv."
End Sub
Private Sub DoCommand(command As String)
err = viVPrintf(vi, command + vbLf, 0) If (err <> VI_SUCCESS) Then HandleVISAError vi
CheckInstrumentErrors
End Sub
Private Function DoCommandIEEEBlock(command As String, _ lngBlockSize As Long)
retCount = lngBlockSize
Dim strCommandAndLength As String strCommandAndLength = command + " %#" + _
Format(lngBlockSize) + "b"
err = viVPrintf(vi, strCommandAndLength + vbLf, paramsArray(1)) If (err <> VI_SUCCESS) Then HandleVISAError vi
DoCommandIEEEBlock = retCount
CheckInstrumentErrors
End Function
Private Function DoQueryString(query As String) As String
Dim strResult As String * 200
err = viVPrintf(vi, query + vbLf, 0) If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viVScanf(vi, "%t", strResult) If (err <> VI_SUCCESS) Then HandleVISAError vi
DoQueryString = strResult
CheckInstrumentErrors
End Function
Private Function DoQueryNumber(query As String) As Variant
Dim dblResult As Double
err = viVPrintf(vi, query + vbLf, 0) If (err <> VI_SUCCESS) Then HandleVISAError vi

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

877

37 Programming Examples

err = viVScanf(vi, "%lf" + vbLf, VarPtr(dblResult)) If (err <> VI_SUCCESS) Then HandleVISAError vi
DoQueryNumber = dblResult
CheckInstrumentErrors
End Function
Private Function DoQueryNumbers(query As String) As Long
Dim dblResult As Double
' Send query. err = viVPrintf(vi, query + vbLf, 0) If (err <> VI_SUCCESS) Then HandleVISAError vi
' Set up paramsArray for multiple parameter query returning array. paramsArray(0) = VarPtr(retCount) paramsArray(1) = VarPtr(dblArray(0))
' Set retCount to max number of elements array can hold. retCount = DblArraySize
' Read numbers. err = viVScanf(vi, "%,#lf" + vbLf, paramsArray(0)) If (err <> VI_SUCCESS) Then HandleVISAError vi
' retCount is now actual number of values returned by query. DoQueryNumbers = retCount
CheckInstrumentErrors
End Function
Private Function DoQueryIEEEBlock_Bytes(query As String) As Long
' Send query. err = viVPrintf(vi, query + vbLf, 0) If (err <> VI_SUCCESS) Then HandleVISAError vi
' Set up paramsArray for multiple parameter query returning array. paramsArray(0) = VarPtr(retCount) paramsArray(1) = VarPtr(byteArray(0))
' Set retCount to max number of elements array can hold. retCount = ByteArraySize
' Get unsigned integer bytes. err = viVScanf(vi, "%#b" + vbLf, paramsArray(0)) If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viFlush(vi, VI_READ_BUF) If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viFlush(vi, VI_WRITE_BUF)

878

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

If (err <> VI_SUCCESS) Then HandleVISAError vi

' retCount is now actual number of bytes returned by query. DoQueryIEEEBlock_Bytes = retCount

CheckInstrumentErrors

End Function

Private Sub CheckInstrumentErrors()

On Error GoTo ErrorHandler

Dim strErrVal As String * 200 Dim strOut As String

err = viVPrintf(vi, ":SYSTem:ERRor?" + vbLf, 0) ' Query any errors. If (err <> VI_SUCCESS) Then HandleVISAError vi

err = viVScanf(vi, "%t", strErrVal) ' Read: Errnum,"Error String". If (err <> VI_SUCCESS) Then HandleVISAError vi

While Val(strErrVal) <> 0

' End if find: 0,"No Error".

strOut = strOut + "INST Error: " + strErrVal

err = viVPrintf(vi, ":SYSTem:ERRor?" + vbLf, 0) ' Request error. If (err <> VI_SUCCESS) Then HandleVISAError vi

err = viVScanf(vi, "%t", strErrVal) ' Read error message. If (err <> VI_SUCCESS) Then HandleVISAError vi

Wend

If Not strOut = "" Then MsgBox strOut, vbExclamation, "INST Error Messages"

err = viFlush(vi, VI_READ_BUF) If (err <> VI_SUCCESS) Then HandleVISAError vi

err = viFlush(vi, VI_WRITE_BUF) If (err <> VI_SUCCESS) Then HandleVISAError vi

End If

Exit Sub

ErrorHandler:

MsgBox "*** Error : " + Error, vbExclamation End

End Sub

Private Sub HandleVISAError(session As Long)

Dim strVisaErr As String * 200 Call viStatusDesc(session, err, strVisaErr)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

879

37 Programming Examples

MsgBox "*** VISA Error : " + strVisaErr, vbExclamation
' If the error is not a warning, close the session. If err < VI_SUCCESS Then
If session <> 0 Then Call viClose(session) End End If
End Sub
VISA Example in C#
To compile and run this example in Microsoft Visual Studio 2008: 1 Open Visual Studio. 2 Create a new Visual C#, Windows, Console Application project. 3 Cut-and-paste the code that follows into the C# source file. 4 Edit the program to use the VISA address of your oscilloscope. 5 Add Keysight's VISA header file to your project:
a Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment.
b Click Add and then click Add Existing Item... c Navigate to the header file, visa32.cs (installed with Keysight IO Libraries
Suite and found in the Program Files (x86)\IVI Foundation\VISA\WinNT\ Include directory), select it, but do not click the Open button. d Click the down arrow to the right of the Add button, and choose Add as Link. You should now see the file underneath your project in the Solution Explorer. It will have a little arrow icon in its lower left corner, indicating that it is a link. 6 Build and run the program. For more information, see the tutorial on using VISA in Microsoft .NET in the VISA Help that comes with Keysight IO Libraries Suite.
/* * Keysight VISA Example in C# * ------------------------------------------------------------------* This program illustrates a few commonly used programming * features of your Keysight oscilloscope. * ------------------------------------------------------------------*/
using System; using System.IO; using System.Text;
namespace InfiniiVision {
class VisaInstrumentApp

880

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

{ private static VisaInstrument myScope;
public static void Main(string[] args) {
try {
myScope = new VisaInstrument("USB0::0x0957::0x17A6::US50210029::0::INSTR");
myScope.SetTimeoutSeconds(10);
// Initialize - start from a known state. Initialize();
// Capture data. Capture();
// Analyze the captured waveform. Analyze();
} catch (System.ApplicationException err) {
Console.WriteLine("*** VISA Error Message : " + err.Message); } catch (System.SystemException err) {
Console.WriteLine("*** System Error Message : " + err.Message); } catch (System.Exception err) {
System.Diagnostics.Debug.Fail("Unexpected Error"); Console.WriteLine("*** Unexpected Error : " + err.Message); } finally { myScope.Close(); } }
/* * Initialize the oscilloscope to a known state. * -------------------------------------------------------------*/
private static void Initialize() {
StringBuilder strResults;
// Get and display the device's *IDN? string. strResults = myScope.DoQueryString("*IDN?"); Console.WriteLine("*IDN? result is: {0}", strResults);
// Clear status and load the default setup. myScope.DoCommand("*CLS"); myScope.DoCommand("*RST"); }

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

881

37 Programming Examples

/* * Capture the waveform. * -------------------------------------------------------------*/
private static void Capture() {
// Use auto-scale to automatically configure oscilloscope. myScope.DoCommand(":AUToscale");
// Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. myScope.DoCommand(":TRIGger:MODE EDGE"); Console.WriteLine("Trigger mode: {0}",
myScope.DoQueryString(":TRIGger:MODE?"));
// Set EDGE trigger parameters. myScope.DoCommand(":TRIGger:EDGE:SOURCe CHANnel1"); Console.WriteLine("Trigger edge source: {0}",
myScope.DoQueryString(":TRIGger:EDGE:SOURce?"));
myScope.DoCommand(":TRIGger:EDGE:LEVel 1.5"); Console.WriteLine("Trigger edge level: {0}",
myScope.DoQueryString(":TRIGger:EDGE:LEVel?"));
myScope.DoCommand(":TRIGger:EDGE:SLOPe POSitive"); Console.WriteLine("Trigger edge slope: {0}",
myScope.DoQueryString(":TRIGger:EDGE:SLOPe?"));
// Save oscilloscope configuration. byte[] ResultsArray; // Results array. int nLength; // Number of bytes returned from instrument. string strPath;
// Query and read setup string. nLength = myScope.DoQueryIEEEBlock(":SYSTem:SETup?",
out ResultsArray);
// Write setup string to file. strPath = "c:\\scope\\config\\setup.stp"; FileStream fStream = File.Open(strPath, FileMode.Create); fStream.Write(ResultsArray, 0, nLength); fStream.Close(); Console.WriteLine("Setup bytes saved: {0}", nLength);
// Change settings with individual commands:
// Set vertical scale and offset. myScope.DoCommand(":CHANnel1:SCALe 0.05"); Console.WriteLine("Channel 1 vertical scale: {0}",
myScope.DoQueryString(":CHANnel1:SCALe?"));
myScope.DoCommand(":CHANnel1:OFFSet -1.5"); Console.WriteLine("Channel 1 vertical offset: {0}",
myScope.DoQueryString(":CHANnel1:OFFSet?"));
// Set horizontal scale and position. myScope.DoCommand(":TIMebase:SCALe 0.0002"); Console.WriteLine("Timebase scale: {0}",

882

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

myScope.DoQueryString(":TIMebase:SCALe?"));
myScope.DoCommand(":TIMebase:POSition 0.0"); Console.WriteLine("Timebase position: {0}",
myScope.DoQueryString(":TIMebase:POSition?"));
// Set the acquisition type (NORMal, PEAK, AVERage, or HRESolution ).
myScope.DoCommand(":ACQuire:TYPE NORMal"); Console.WriteLine("Acquire type: {0}",
myScope.DoQueryString(":ACQuire:TYPE?"));
// Or, configure by loading a previously saved setup. byte[] DataArray; int nBytesWritten;
// Read setup string from file. strPath = "c:\\scope\\config\\setup.stp"; DataArray = File.ReadAllBytes(strPath);
// Restore setup string. nBytesWritten = myScope.DoCommandIEEEBlock(":SYSTem:SETup",
DataArray); Console.WriteLine("Setup bytes restored: {0}", nBytesWritten);
// Capture an acquisition using :DIGitize. myScope.DoCommand(":DIGitize CHANnel1"); }
/* * Analyze the captured waveform. * -------------------------------------------------------------*/
private static void Analyze() {
byte[] ResultsArray; // Results array. int nLength; // Number of bytes returned from instrument. string strPath;
// Make a couple of measurements. // ----------------------------------------------------------myScope.DoCommand(":MEASure:SOURce CHANnel1"); Console.WriteLine("Measure source: {0}",
myScope.DoQueryString(":MEASure:SOURce?"));
double fResult; myScope.DoCommand(":MEASure:FREQuency"); fResult = myScope.DoQueryNumber(":MEASure:FREQuency?"); Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000);
myScope.DoCommand(":MEASure:VAMPlitude"); fResult = myScope.DoQueryNumber(":MEASure:VAMPlitude?"); Console.WriteLine("Vertical amplitude: {0:F2} V", fResult);
// Download the screen image. // ----------------------------------------------------------myScope.DoCommand(":HARDcopy:INKSaver OFF");

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

883

37 Programming Examples

// Get the screen data. nLength = myScope.DoQueryIEEEBlock(":DISPlay:DATA? PNG, COLor",
out ResultsArray);
// Store the screen data to a file. strPath = "c:\\scope\\data\\screen.png"; FileStream fStream = File.Open(strPath, FileMode.Create); fStream.Write(ResultsArray, 0, nLength); fStream.Close(); Console.WriteLine("Screen image ({0} bytes) written to {1}",
nLength, strPath);
// Download waveform data. // -----------------------------------------------------------
// Set the waveform points mode. myScope.DoCommand(":WAVeform:POINts:MODE RAW"); Console.WriteLine("Waveform points mode: {0}",
myScope.DoQueryString(":WAVeform:POINts:MODE?"));
// Get the number of waveform points available. myScope.DoCommand(":WAVeform:POINts 10240"); Console.WriteLine("Waveform points available: {0}",
myScope.DoQueryString(":WAVeform:POINts?"));
// Set the waveform source. myScope.DoCommand(":WAVeform:SOURce CHANnel1"); Console.WriteLine("Waveform source: {0}",
myScope.DoQueryString(":WAVeform:SOURce?"));
// Choose the format of the data returned (WORD, BYTE, ASCII): myScope.DoCommand(":WAVeform:FORMat BYTE"); Console.WriteLine("Waveform format: {0}",
myScope.DoQueryString(":WAVeform:FORMat?"));
// Display the waveform settings: double[] fResultsArray; fResultsArray = myScope.DoQueryNumbers(":WAVeform:PREamble?");
double fFormat = fResultsArray[0]; if (fFormat == 0.0) {
Console.WriteLine("Waveform format: BYTE"); } else if (fFormat == 1.0) {
Console.WriteLine("Waveform format: WORD"); } else if (fFormat == 2.0) {
Console.WriteLine("Waveform format: ASCii"); }
double fType = fResultsArray[1]; if (fType == 0.0) {

884

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

Console.WriteLine("Acquire type: NORMal"); } else if (fType == 1.0) {
Console.WriteLine("Acquire type: PEAK"); } else if (fType == 2.0) {
Console.WriteLine("Acquire type: AVERage"); } else if (fType == 3.0) {
Console.WriteLine("Acquire type: HRESolution"); }
double fPoints = fResultsArray[2]; Console.WriteLine("Waveform points: {0:e}", fPoints);
double fCount = fResultsArray[3]; Console.WriteLine("Waveform average count: {0:e}", fCount);
double fXincrement = fResultsArray[4]; Console.WriteLine("Waveform X increment: {0:e}", fXincrement);
double fXorigin = fResultsArray[5]; Console.WriteLine("Waveform X origin: {0:e}", fXorigin);
double fXreference = fResultsArray[6]; Console.WriteLine("Waveform X reference: {0:e}", fXreference);
double fYincrement = fResultsArray[7]; Console.WriteLine("Waveform Y increment: {0:e}", fYincrement);
double fYorigin = fResultsArray[8]; Console.WriteLine("Waveform Y origin: {0:e}", fYorigin);
double fYreference = fResultsArray[9]; Console.WriteLine("Waveform Y reference: {0:e}", fYreference);
// Read waveform data. nLength = myScope.DoQueryIEEEBlock(":WAVeform:DATA?",
out ResultsArray); Console.WriteLine("Number of data values: {0}", nLength);
// Set up output file: strPath = "c:\\scope\\data\\waveform_data.csv"; if (File.Exists(strPath)) File.Delete(strPath);
// Open file for output. StreamWriter writer = File.CreateText(strPath);
// Output waveform data in CSV format. for (int i = 0; i < nLength - 1; i++)
writer.WriteLine("{0:f9}, {1:f6}", fXorigin + ((float)i * fXincrement), (((float)ResultsArray[i] - fYreference) * fYincrement) + fYorigin);

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

885

37 Programming Examples

// Close output file. writer.Close(); Console.WriteLine("Waveform format BYTE data written to {0}",
strPath); } }
class VisaInstrument {
private int m_nResourceManager; private int m_nSession; private string m_strVisaAddress;
// Constructor. public VisaInstrument(string strVisaAddress) {
// Save VISA address in member variable. m_strVisaAddress = strVisaAddress;
// Open the default VISA resource manager. OpenResourceManager();
// Open a VISA resource session. OpenSession();
// Clear the interface. int nViStatus; nViStatus = visa32.viClear(m_nSession); }
public void DoCommand(string strCommand) {
// Send the command. VisaSendCommandOrQuery(strCommand);
// Check for inst errors. CheckInstrumentErrors(strCommand); }
public int DoCommandIEEEBlock(string strCommand, byte[] DataArray)
{ // Send the command to the device. string strCommandAndLength; int nViStatus, nLength, nBytesWritten;
nLength = DataArray.Length; strCommandAndLength = String.Format("{0} #8%08d",
strCommand);
// Write first part of command to formatted I/O write buffer. nViStatus = visa32.viPrintf(m_nSession, strCommandAndLength,
nLength); CheckVisaStatus(nViStatus);
// Write the data to the formatted I/O write buffer.

886

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

nViStatus = visa32.viBufWrite(m_nSession, DataArray, nLength, out nBytesWritten);
CheckVisaStatus(nViStatus);
// Check for inst errors. CheckInstrumentErrors(strCommand);
return nBytesWritten; }
public StringBuilder DoQueryString(string strQuery) {
// Send the query. VisaSendCommandOrQuery(strQuery);
// Get the result string. StringBuilder strResults = new StringBuilder(1000); strResults = VisaGetResultString();
// Check for inst errors. CheckInstrumentErrors(strQuery);
// Return string results. return strResults; }
public double DoQueryNumber(string strQuery) {
// Send the query. VisaSendCommandOrQuery(strQuery);
// Get the result string. double fResults; fResults = VisaGetResultNumber();
// Check for inst errors. CheckInstrumentErrors(strQuery);
// Return string results. return fResults; }
public double[] DoQueryNumbers(string strQuery) {
// Send the query. VisaSendCommandOrQuery(strQuery);
// Get the result string. double[] fResultsArray; fResultsArray = VisaGetResultNumbers();
// Check for inst errors. CheckInstrumentErrors(strQuery);
// Return string results. return fResultsArray; }

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

887

37 Programming Examples

public int DoQueryIEEEBlock(string strQuery, out byte[] ResultsArray)
{ // Send the query. VisaSendCommandOrQuery(strQuery);
// Get the result string. int length; // Number of bytes returned from instrument. length = VisaGetResultIEEEBlock(out ResultsArray);
// Check for inst errors. CheckInstrumentErrors(strQuery);
// Return string results. return length; }
private void VisaSendCommandOrQuery(string strCommandOrQuery) {
// Send command or query to the device. string strWithNewline; strWithNewline = String.Format("{0}\n", strCommandOrQuery); int nViStatus; nViStatus = visa32.viPrintf(m_nSession, strWithNewline); CheckVisaStatus(nViStatus); }
private StringBuilder VisaGetResultString() {
StringBuilder strResults = new StringBuilder(1000);
// Read return value string from the device. int nViStatus; nViStatus = visa32.viScanf(m_nSession, "%1000t", strResults); CheckVisaStatus(nViStatus);
return strResults; }
private double VisaGetResultNumber() {
double fResults = 0;
// Read return value string from the device. int nViStatus; nViStatus = visa32.viScanf(m_nSession, "%lf", out fResults); CheckVisaStatus(nViStatus);
return fResults; }
private double[] VisaGetResultNumbers() {
double[] fResultsArray; fResultsArray = new double[10];

888

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

// Read return value string from the device. int nViStatus; nViStatus = visa32.viScanf(m_nSession, "%,10lf\n",
fResultsArray); CheckVisaStatus(nViStatus);
return fResultsArray; }
private int VisaGetResultIEEEBlock(out byte[] ResultsArray) {
// Results array, big enough to hold a PNG. ResultsArray = new byte[300000]; int length; // Number of bytes returned from instrument.
// Set the default number of bytes that will be contained in // the ResultsArray to 300,000 (300kB). length = 300000;
// Read return value string from the device. int nViStatus; nViStatus = visa32.viScanf(m_nSession, "%#b", ref length,
ResultsArray); CheckVisaStatus(nViStatus);
// Write and read buffers need to be flushed after IEEE block? nViStatus = visa32.viFlush(m_nSession, visa32.VI_WRITE_BUF); CheckVisaStatus(nViStatus);
nViStatus = visa32.viFlush(m_nSession, visa32.VI_READ_BUF); CheckVisaStatus(nViStatus);
return length; }
private void CheckInstrumentErrors(string strCommand) {
// Check for instrument errors. StringBuilder strInstrumentError = new StringBuilder(1000); bool bFirstError = true;
do // While not "0,No error" {
VisaSendCommandOrQuery(":SYSTem:ERRor?"); strInstrumentError = VisaGetResultString();
if (!strInstrumentError.ToString().StartsWith("+0,")) {
if (bFirstError) {
Console.WriteLine("ERROR(s) for command '{0}': ", strCommand);
bFirstError = false; } Console.Write(strInstrumentError); } } while (!strInstrumentError.ToString().StartsWith("+0,"));

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

889

37 Programming Examples
}
private void OpenResourceManager() {
int nViStatus; nViStatus =
visa32.viOpenDefaultRM(out this.m_nResourceManager); if (nViStatus < visa32.VI_SUCCESS)
throw new ApplicationException("Failed to open Resource Manager");
}
private void OpenSession() {
int nViStatus; nViStatus = visa32.viOpen(this.m_nResourceManager,
this.m_strVisaAddress, visa32.VI_NO_LOCK, visa32.VI_TMO_IMMEDIATE, out this.m_nSession); CheckVisaStatus(nViStatus); }
public void SetTimeoutSeconds(int nSeconds) {
int nViStatus; nViStatus = visa32.viSetAttribute(this.m_nSession,
visa32.VI_ATTR_TMO_VALUE, nSeconds * 1000); CheckVisaStatus(nViStatus); }
public void CheckVisaStatus(int nViStatus) {
// If VISA error, throw exception. if (nViStatus < visa32.VI_SUCCESS) {
StringBuilder strError = new StringBuilder(256); visa32.viStatusDesc(this.m_nResourceManager, nViStatus,
strError); throw new ApplicationException(strError.ToString()); } }
public void Close() {
if (m_nSession != 0) visa32.viClose(m_nSession);
if (m_nResourceManager != 0) visa32.viClose(m_nResourceManager);
} } }

890

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37
VISA Example in Visual Basic .NET
To compile and run this example in Microsoft Visual Studio 2008: 1 Open Visual Studio. 2 Create a new Visual Basic, Windows, Console Application project. 3 Cut-and-paste the code that follows into the Visual Basic .NET source file. 4 Edit the program to use the VISA address of your oscilloscope. 5 Add Keysight's VISA header file to your project:
a Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment.
b Choose Add and then choose Add Existing Item... c Navigate to the header file, visa32.vb (installed with Keysight IO Libraries
Suite and found in the Program Files (x86)\IVI Foundation\VISA\WinNT\ Include directory), select it, but do not click the Open button. d Click the down arrow to the right of the Add button, and choose Add as Link. You should now see the file underneath your project in the Solution Explorer. It will have a little arrow icon in its lower left corner, indicating that it is a link. e Right-click the project again and choose Properties; then, select "InfiniiVision.VisaInstrumentApp" as the Startup object. 6 Build and run the program. For more information, see the tutorial on using VISA in Microsoft .NET in the VISA Help that comes with Keysight IO Libraries Suite.
' ' Keysight VISA Example in Visual Basic .NET ' ------------------------------------------------------------------' This program illustrates a few commonly-used programming ' features of your Keysight oscilloscope. ' -------------------------------------------------------------------
Imports System Imports System.IO Imports System.Text
Namespace InfiniiVision Class VisaInstrumentApp Private Shared myScope As VisaInstrument
Public Shared Sub Main(ByVal args As String()) Try myScope = _ New VisaInstrument("USB0::0x0957::0x17A6::US50210029::0::INSTR
") myScope.SetTimeoutSeconds(10)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

891

37 Programming Examples

' Initialize - start from a known state. Initialize()
' Capture data. Capture()
' Analyze the captured waveform. Analyze()
Catch err As System.ApplicationException Console.WriteLine("*** VISA Error Message : " + err.Message)
Catch err As System.SystemException Console.WriteLine("*** System Error Message : " + err.Message)
Catch err As System.Exception Debug.Fail("Unexpected Error") Console.WriteLine("*** Unexpected Error : " + err.Message)
End Try End Sub
' ' Initialize the oscilloscope to a known state. ' --------------------------------------------------------------
Private Shared Sub Initialize() Dim strResults As StringBuilder
' Get and display the device's *IDN? string. strResults = myScope.DoQueryString("*IDN?") Console.WriteLine("*IDN? result is: {0}", strResults)
' Clear status and load the default setup. myScope.DoCommand("*CLS") myScope.DoCommand("*RST")
End Sub
' ' Capture the waveform. ' --------------------------------------------------------------
Private Shared Sub Capture()
' Use auto-scale to automatically configure oscilloscope. myScope.DoCommand(":AUToscale")
' Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. myScope.DoCommand(":TRIGger:MODE EDGE") Console.WriteLine("Trigger mode: {0}", _
myScope.DoQueryString(":TRIGger:MODE?"))
' Set EDGE trigger parameters. myScope.DoCommand(":TRIGger:EDGE:SOURCe CHANnel1") Console.WriteLine("Trigger edge source: {0}", _
myScope.DoQueryString(":TRIGger:EDGE:SOURce?"))
myScope.DoCommand(":TRIGger:EDGE:LEVel 1.5") Console.WriteLine("Trigger edge level: {0}", _

892

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

myScope.DoQueryString(":TRIGger:EDGE:LEVel?"))
myScope.DoCommand(":TRIGger:EDGE:SLOPe POSitive") Console.WriteLine("Trigger edge slope: {0}", _
myScope.DoQueryString(":TRIGger:EDGE:SLOPe?"))
' Save oscilloscope configuration. Dim ResultsArray As Byte() ' Results array. Dim nLength As Integer ' Number of bytes returned from inst. Dim strPath As String Dim fStream As FileStream
' Query and read setup string. nLength = myScope.DoQueryIEEEBlock(":SYSTem:SETup?", _
ResultsArray)
' Write setup string to file. strPath = "c:\scope\config\setup.stp" fStream = File.Open(strPath, FileMode.Create) fStream.Write(ResultsArray, 0, nLength) fStream.Close() Console.WriteLine("Setup bytes saved: {0}", nLength)
' Change settings with individual commands:
' Set vertical scale and offset. myScope.DoCommand(":CHANnel1:SCALe 0.05") Console.WriteLine("Channel 1 vertical scale: {0}", _
myScope.DoQueryString(":CHANnel1:SCALe?"))
myScope.DoCommand(":CHANnel1:OFFSet -1.5") Console.WriteLine("Channel 1 vertical offset: {0}", _
myScope.DoQueryString(":CHANnel1:OFFSet?"))
' Set horizontal scale and position. myScope.DoCommand(":TIMebase:SCALe 0.0002") Console.WriteLine("Timebase scale: {0}", _
myScope.DoQueryString(":TIMebase:SCALe?"))
myScope.DoCommand(":TIMebase:POSition 0.0") Console.WriteLine("Timebase position: {0}", _
myScope.DoQueryString(":TIMebase:POSition?"))
' Set the acquisition type (NORMal, PEAK, AVERage, or HRESolution) .
myScope.DoCommand(":ACQuire:TYPE NORMal") Console.WriteLine("Acquire type: {0}", _
myScope.DoQueryString(":ACQuire:TYPE?"))
' Or, configure by loading a previously saved setup. Dim DataArray As Byte() Dim nBytesWritten As Integer
' Read setup string from file. strPath = "c:\scope\config\setup.stp" DataArray = File.ReadAllBytes(strPath)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

893

37 Programming Examples

' Restore setup string. nBytesWritten = myScope.DoCommandIEEEBlock(":SYSTem:SETup", _
DataArray) Console.WriteLine("Setup bytes restored: {0}", nBytesWritten)
' Capture an acquisition using :DIGitize. myScope.DoCommand(":DIGitize CHANnel1")
End Sub
' ' Analyze the captured waveform. ' --------------------------------------------------------------
Private Shared Sub Analyze()
Dim fResult As Double Dim ResultsArray As Byte() ' Results array. Dim nLength As Integer ' Number of bytes returned from inst. Dim strPath As String
' Make a couple of measurements. ' -----------------------------------------------------------myScope.DoCommand(":MEASure:SOURce CHANnel1") Console.WriteLine("Measure source: {0}", _
myScope.DoQueryString(":MEASure:SOURce?"))
myScope.DoCommand(":MEASure:FREQuency") fResult = myScope.DoQueryNumber(":MEASure:FREQuency?") Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000)
myScope.DoCommand(":MEASure:VAMPlitude") fResult = myScope.DoQueryNumber(":MEASure:VAMPlitude?") Console.WriteLine("Vertical amplitude: {0:F2} V", fResult)
' Download the screen image. ' -----------------------------------------------------------myScope.DoCommand(":HARDcopy:INKSaver OFF")
' Get the screen data. nLength = myScope.DoQueryIEEEBlock(":DISPlay:DATA? PNG, COLor", _
ResultsArray)
' Store the screen data to a file. strPath = "c:\scope\data\screen.png" Dim fStream As FileStream fStream = File.Open(strPath, FileMode.Create) fStream.Write(ResultsArray, 0, nLength) fStream.Close() Console.WriteLine("Screen image ({0} bytes) written to {1}", _
nLength, strPath)
' Download waveform data. ' ------------------------------------------------------------
' Set the waveform points mode. myScope.DoCommand(":WAVeform:POINts:MODE RAW")

894

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

Console.WriteLine("Waveform points mode: {0}", _ myScope.DoQueryString(":WAVeform:POINts:MODE?"))
' Get the number of waveform points available. myScope.DoCommand(":WAVeform:POINts 10240") Console.WriteLine("Waveform points available: {0}", _
myScope.DoQueryString(":WAVeform:POINts?"))
' Set the waveform source. myScope.DoCommand(":WAVeform:SOURce CHANnel1") Console.WriteLine("Waveform source: {0}", _
myScope.DoQueryString(":WAVeform:SOURce?"))
' Choose the format of the data returned (WORD, BYTE, ASCII): myScope.DoCommand(":WAVeform:FORMat BYTE") Console.WriteLine("Waveform format: {0}", _
myScope.DoQueryString(":WAVeform:FORMat?"))
' Display the waveform settings: Dim fResultsArray As Double() fResultsArray = myScope.DoQueryNumbers(":WAVeform:PREamble?")
Dim fFormat As Double = fResultsArray(0) If fFormat = 0 Then
Console.WriteLine("Waveform format: BYTE") ElseIf fFormat = 1 Then
Console.WriteLine("Waveform format: WORD") ElseIf fFormat = 2 Then
Console.WriteLine("Waveform format: ASCii") End If
Dim fType As Double = fResultsArray(1) If fType = 0 Then
Console.WriteLine("Acquire type: NORMal") ElseIf fType = 1 Then
Console.WriteLine("Acquire type: PEAK") ElseIf fType = 2 Then
Console.WriteLine("Acquire type: AVERage") ElseIf fType = 3 Then
Console.WriteLine("Acquire type: HRESolution") End If
Dim fPoints As Double = fResultsArray(2) Console.WriteLine("Waveform points: {0:e}", fPoints)
Dim fCount As Double = fResultsArray(3) Console.WriteLine("Waveform average count: {0:e}", fCount)
Dim fXincrement As Double = fResultsArray(4) Console.WriteLine("Waveform X increment: {0:e}", fXincrement)
Dim fXorigin As Double = fResultsArray(5) Console.WriteLine("Waveform X origin: {0:e}", fXorigin)
Dim fXreference As Double = fResultsArray(6) Console.WriteLine("Waveform X reference: {0:e}", fXreference)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

895

37 Programming Examples

Dim fYincrement As Double = fResultsArray(7) Console.WriteLine("Waveform Y increment: {0:e}", fYincrement)
Dim fYorigin As Double = fResultsArray(8) Console.WriteLine("Waveform Y origin: {0:e}", fYorigin)
Dim fYreference As Double = fResultsArray(9) Console.WriteLine("Waveform Y reference: {0:e}", fYreference)
' Get the waveform data. nLength = myScope.DoQueryIEEEBlock(":WAVeform:DATA?", _
ResultsArray) Console.WriteLine("Number of data values: {0}", nLength)
' Set up output file: strPath = "c:\scope\data\waveform_data.csv" If File.Exists(strPath) Then
File.Delete(strPath) End If
' Open file for output. Dim writer As StreamWriter = File.CreateText(strPath)
' Output waveform data in CSV format. For index As Integer = 0 To nLength - 1
' Write time value, voltage value. writer.WriteLine("{0:f9}, {1:f6}", _
fXorigin + (CSng(index) * fXincrement), _ ((CSng(ResultsArray(index)) - fYreference) _ * fYincrement) + fYorigin) Next
' Close output file. writer.Close() Console.WriteLine("Waveform format BYTE data written to {0}", _
strPath)
End Sub
End Class
Class VisaInstrument Private m_nResourceManager As Integer Private m_nSession As Integer Private m_strVisaAddress As String
' Constructor. Public Sub New(ByVal strVisaAddress As String)
' Save VISA address in member variable. m_strVisaAddress = strVisaAddress
' Open the default VISA resource manager. OpenResourceManager()
' Open a VISA resource session. OpenSession()

896

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

' Clear the interface. Dim nViStatus As Integer nViStatus = visa32.viClear(m_nSession) End Sub
Public Sub DoCommand(ByVal strCommand As String) ' Send the command. VisaSendCommandOrQuery(strCommand)
' Check for inst errors. CheckInstrumentErrors(strCommand)
End Sub
Public Function DoCommandIEEEBlock(ByVal strCommand As String, _ ByVal DataArray As Byte()) As Integer
' Send the command to the device. Dim strCommandAndLength As String Dim nViStatus As Integer Dim nLength As Integer Dim nBytesWritten As Integer
nLength = DataArray.Length strCommandAndLength = [String].Format("{0} #8{1:D8}", _
strCommand, nLength)
' Write first part of command to formatted I/O write buffer. nViStatus = visa32.viPrintf(m_nSession, strCommandAndLength) CheckVisaStatus(nViStatus)
' Write the data to the formatted I/O write buffer. nViStatus = visa32.viBufWrite(m_nSession, DataArray, nLength, _
nBytesWritten) CheckVisaStatus(nViStatus)
' Check for inst errors. CheckInstrumentErrors(strCommand)
Return nBytesWritten End Function
Public Function DoQueryString(ByVal strQuery As String) _ As StringBuilder ' Send the query. VisaSendCommandOrQuery(strQuery)
' Get the result string. Dim strResults As New StringBuilder(1000) strResults = VisaGetResultString()
' Check for inst errors. CheckInstrumentErrors(strQuery)
' Return string results. Return strResults End Function

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

897

37 Programming Examples

Public Function DoQueryNumber(ByVal strQuery As String) As Double ' Send the query. VisaSendCommandOrQuery(strQuery)
' Get the result string. Dim fResults As Double fResults = VisaGetResultNumber()
' Check for inst errors. CheckInstrumentErrors(strQuery)
' Return string results. Return fResults End Function
Public Function DoQueryNumbers(ByVal strQuery As String) _ As Double()
' Send the query. VisaSendCommandOrQuery(strQuery)
' Get the result string. Dim fResultsArray As Double() fResultsArray = VisaGetResultNumbers()
' Check for instrument errors (another command and result). CheckInstrumentErrors(strQuery)
' Return string results. Return fResultsArray End Function
Public Function DoQueryIEEEBlock(ByVal strQuery As String, _ ByRef ResultsArray As Byte()) As Integer
' Send the query. VisaSendCommandOrQuery(strQuery)
' Get the result string. System.Threading.Thread.Sleep(2000) ' Delay before reading data. Dim length As Integer ' Number of bytes returned from instrument. length = VisaGetResultIEEEBlock(ResultsArray)
' Check for inst errors. CheckInstrumentErrors(strQuery)
' Return string results. Return length End Function
Private Sub VisaSendCommandOrQuery(ByVal strCommandOrQuery _ As String)
' Send command or query to the device. Dim strWithNewline As String strWithNewline = [String].Format("{0}" & Chr(10) & "", _
strCommandOrQuery) Dim nViStatus As Integer

898

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

nViStatus = visa32.viPrintf(m_nSession, strWithNewline) CheckVisaStatus(nViStatus) End Sub
Private Function VisaGetResultString() As StringBuilder Dim strResults As New StringBuilder(1000)
' Read return value string from the device. Dim nViStatus As Integer nViStatus = visa32.viScanf(m_nSession, "%1000t", strResults) CheckVisaStatus(nViStatus)
Return strResults End Function
Private Function VisaGetResultNumber() As Double Dim fResults As Double = 0
' Read return value string from the device. Dim nViStatus As Integer nViStatus = visa32.viScanf(m_nSession, "%lf", fResults) CheckVisaStatus(nViStatus)
Return fResults End Function
Private Function VisaGetResultNumbers() As Double() Dim fResultsArray As Double() fResultsArray = New Double(9) {}
' Read return value string from the device. Dim nViStatus As Integer nViStatus = visa32.viScanf(m_nSession, _
"%,10lf" & Chr(10) & "", fResultsArray) CheckVisaStatus(nViStatus)
Return fResultsArray End Function
Private Function VisaGetResultIEEEBlock(ByRef ResultsArray _ As Byte()) As Integer
' Results array, big enough to hold a PNG. ResultsArray = New Byte(299999) {} Dim length As Integer ' Number of bytes returned from instrument. ' Set the default number of bytes that will be contained in ' the ResultsArray to 300,000 (300kB). length = 300000
' Read return value string from the device. Dim nViStatus As Integer nViStatus = visa32.viScanf(m_nSession, "%#b", length, _
ResultsArray) CheckVisaStatus(nViStatus)
' Write and read buffers need to be flushed after IEEE block? nViStatus = visa32.viFlush(m_nSession, visa32.VI_WRITE_BUF)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

899

37 Programming Examples

CheckVisaStatus(nViStatus)
nViStatus = visa32.viFlush(m_nSession, visa32.VI_READ_BUF) CheckVisaStatus(nViStatus)
Return length End Function
Private Sub CheckInstrumentErrors(ByVal strCommand As String) ' Check for instrument errors. Dim strInstrumentError As New StringBuilder(1000) Dim bFirstError As Boolean = True Do ' While not "0,No error" VisaSendCommandOrQuery(":SYSTem:ERRor?") strInstrumentError = VisaGetResultString()
If Not strInstrumentError.ToString().StartsWith("+0,") Then If bFirstError Then Console.WriteLine("ERROR(s) for command '{0}': ", _ strCommand) bFirstError = False End If Console.Write(strInstrumentError)
End If Loop While Not strInstrumentError.ToString().StartsWith("+0,") End Sub
Private Sub OpenResourceManager() Dim nViStatus As Integer nViStatus = visa32.viOpenDefaultRM(Me.m_nResourceManager) If nViStatus < visa32.VI_SUCCESS Then Throw New _ ApplicationException("Failed to open Resource Manager") End If
End Sub
Private Sub OpenSession() Dim nViStatus As Integer nViStatus = visa32.viOpen(Me.m_nResourceManager, _ Me.m_strVisaAddress, visa32.VI_NO_LOCK, _ visa32.VI_TMO_IMMEDIATE, Me.m_nSession) CheckVisaStatus(nViStatus)
End Sub
Public Sub SetTimeoutSeconds(ByVal nSeconds As Integer) Dim nViStatus As Integer nViStatus = visa32.viSetAttribute(Me.m_nSession, _ visa32.VI_ATTR_TMO_VALUE, nSeconds * 1000) CheckVisaStatus(nViStatus)
End Sub
Public Sub CheckVisaStatus(ByVal nViStatus As Integer) ' If VISA error, throw exception. If nViStatus < visa32.VI_SUCCESS Then Dim strError As New StringBuilder(256) visa32.viStatusDesc(Me.m_nResourceManager, nViStatus, strError) Throw New ApplicationException(strError.ToString())

900

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

End If End Sub
Public Sub Close() If m_nSession <> 0 Then visa32.viClose(m_nSession) End If If m_nResourceManager <> 0 Then visa32.viClose(m_nResourceManager) End If
End Sub End Class End Namespace
VISA Example in Python 3
You can use the Python programming language with the PyVISA package to control Keysight InfiniiVision Series oscilloscopes. The Python language and PyVISA package can be downloaded from the web at http://www.python.org/ and http://pyvisa.readthedocs.io/, respectively. To run this example with Python and PyVISA: 1 Cut-and-paste the code that follows into a file named "example.py". 2 Edit the program to use the VISA address of your oscilloscope. 3 If "python.exe" can be found via your PATH environment variable, open a
Command Prompt window; then, change to the folder that contains the "example.py" file, and enter:
python example.py
#!python3
# ********************************************************* # This program illustrates a few commonly-used programming # features of your Keysight oscilloscope. # *********************************************************
# Import modules. # --------------------------------------------------------import visa import string import struct import sys
# Global variables (booleans: 0 = False, 1 = True). # --------------------------------------------------------debug = 0

# ========================================================= # Initialize: # ========================================================= def initialize():

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

901

37 Programming Examples

# Get and display the device's *IDN? string. idn_string = do_query_string("*IDN?") print("Identification string: '%s'" % idn_string)
# Clear status and load the default setup. do_command("*CLS") do_command("*RST")

# ========================================================= # Capture: # ========================================================= def capture():
# Use auto-scale to automatically set up oscilloscope. print("Autoscale.") do_command(":AUToscale")
# Set trigger mode. do_command(":TRIGger:MODE EDGE") qresult = do_query_string(":TRIGger:MODE?") print("Trigger mode: %s" % qresult)
# Set EDGE trigger parameters. do_command(":TRIGger:EDGE:SOURce CHANnel1") qresult = do_query_string(":TRIGger:EDGE:SOURce?") print("Trigger edge source: %s" % qresult)
do_command(":TRIGger:EDGE:LEVel 1.5") qresult = do_query_string(":TRIGger:EDGE:LEVel?") print("Trigger edge level: %s" % qresult)
do_command(":TRIGger:EDGE:SLOPe POSitive") qresult = do_query_string(":TRIGger:EDGE:SLOPe?") print("Trigger edge slope: %s" % qresult)
# Save oscilloscope setup. sSetup = do_query_ieee_block(":SYSTem:SETup?")
f = open("setup.stp", "wb") f.write(sSetup) f.close() print("Setup bytes saved: %d" % len(sSetup))
# Change oscilloscope settings with individual commands:
# Set vertical scale and offset. do_command(":CHANnel1:SCALe 0.05") qresult = do_query_string(":CHANnel1:SCALe?") print("Channel 1 vertical scale: %s" % qresult)
do_command(":CHANnel1:OFFSet -1.5") qresult = do_query_string(":CHANnel1:OFFSet?") print("Channel 1 offset: %s" % qresult)
# Set horizontal scale and offset.

902

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

do_command(":TIMebase:SCALe 0.0002") qresult = do_query_string(":TIMebase:SCALe?") print("Timebase scale: %s" % qresult)
do_command(":TIMebase:POSition 0.0") qresult = do_query_string(":TIMebase:POSition?") print("Timebase position: %s" % qresult)
# Set the acquisition type. do_command(":ACQuire:TYPE NORMal") qresult = do_query_string(":ACQuire:TYPE?") print("Acquire type: %s" % qresult)
# Or, set up oscilloscope by loading a previously saved setup. sSetup = "" f = open("setup.stp", "rb") sSetup = f.read() f.close() do_command_ieee_block(":SYSTem:SETup", sSetup) print("Setup bytes restored: %d" % len(sSetup))
# Capture an acquisition using :DIGitize. do_command(":DIGitize CHANnel1")

# ========================================================= # Analyze: # ========================================================= def analyze():
# Make measurements. # -------------------------------------------------------do_command(":MEASure:SOURce CHANnel1") qresult = do_query_string(":MEASure:SOURce?") print("Measure source: %s" % qresult)
do_command(":MEASure:FREQuency") qresult = do_query_string(":MEASure:FREQuency?") print("Measured frequency on channel 1: %s" % qresult)
do_command(":MEASure:VAMPlitude") qresult = do_query_string(":MEASure:VAMPlitude?") print("Measured vertical amplitude on channel 1: %s" % qresult)
# Download the screen image. # -------------------------------------------------------do_command(":HARDcopy:INKSaver OFF")
sDisplay = do_query_ieee_block(":DISPlay:DATA? PNG, COLor")
# Save display data values to file. f = open("screen_image.png", "wb") f.write(sDisplay) f.close() print("Screen image written to screen_image.png.")
# Download waveform data.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

903

37 Programming Examples

# --------------------------------------------------------
# Set the waveform points mode. do_command(":WAVeform:POINts:MODE RAW") qresult = do_query_string(":WAVeform:POINts:MODE?") print("Waveform points mode: %s" % qresult)
# Get the number of waveform points available. do_command(":WAVeform:POINts 10240") qresult = do_query_string(":WAVeform:POINts?") print("Waveform points available: %s" % qresult)
# Set the waveform source. do_command(":WAVeform:SOURce CHANnel1") qresult = do_query_string(":WAVeform:SOURce?") print("Waveform source: %s" % qresult)
# Choose the format of the data returned: do_command(":WAVeform:FORMat BYTE") print("Waveform format: %s" % do_query_string(":WAVeform:FORMat?"))
# Display the waveform settings from preamble: wav_form_dict = {
0 : "BYTE", 1 : "WORD", 4 : "ASCii", } acq_type_dict = { 0 : "NORMal", 1 : "PEAK", 2 : "AVERage", 3 : "HRESolution", }
preamble_string = do_query_string(":WAVeform:PREamble?") (
wav_form, acq_type, wfmpts, avgcnt, x_increment, x_origin, x_reference, y_increment, y_origin, y_reference ) = preamble_string.split(",")
print("Waveform format: %s" % wav_form_dict[int(wav_form)]) print("Acquire type: %s" % acq_type_dict[int(acq_type)]) print("Waveform points desired: %s" % wfmpts) print("Waveform average count: %s" % avgcnt) print("Waveform X increment: %s" % x_increment) print("Waveform X origin: %s" % x_origin) print("Waveform X reference: %s" % x_reference) # Always 0. print("Waveform Y increment: %s" % y_increment) print("Waveform Y origin: %s" % y_origin) print("Waveform Y reference: %s" % y_reference)
# Get numeric values for later calculations. x_increment = do_query_number(":WAVeform:XINCrement?") x_origin = do_query_number(":WAVeform:XORigin?") y_increment = do_query_number(":WAVeform:YINCrement?") y_origin = do_query_number(":WAVeform:YORigin?") y_reference = do_query_number(":WAVeform:YREFerence?")

904

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

# Get the waveform data. sData = do_query_ieee_block(":WAVeform:DATA?")
# Unpack unsigned byte data. values = struct.unpack("%dB" % len(sData), sData) print("Number of data values: %d" % len(values))
# Save waveform data values to CSV file. f = open("waveform_data.csv", "w")
for i in range(0, len(values) - 1): time_val = x_origin + (i * x_increment) voltage = ((values[i] - y_reference) * y_increment) + y_origin f.write("%E, %f\n" % (time_val, voltage))
f.close() print("Waveform format BYTE data written to waveform_data.csv.")

# ========================================================= # Send a command and check for errors: # ========================================================= def do_command(command, hide_params=False):
if hide_params: (header, data) = command.split(" ", 1) if debug: print("\nCmd = '%s'" % header)
else: if debug: print("\nCmd = '%s'" % command)
InfiniiVision.write("%s" % command)
if hide_params: check_instrument_errors(header)
else: check_instrument_errors(command)

# ========================================================= # Send a command and binary values and check for errors: # ========================================================= def do_command_ieee_block(command, values):
if debug: print("Cmb = '%s'" % command)
InfiniiVision.write_binary_values("%s " % command, values, datatype='B' )
check_instrument_errors(command)

# ========================================================= # Send a query, check for errors, return string: # ========================================================= def do_query_string(query):
if debug:

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

905

37 Programming Examples

print("Qys = '%s'" % query) result = InfiniiVision.query("%s" % query) check_instrument_errors(query) return result
# ========================================================= # Send a query, check for errors, return floating-point value: # ========================================================= def do_query_number(query):
if debug: print("Qyn = '%s'" % query)
results = InfiniiVision.query("%s" % query) check_instrument_errors(query) return float(results)
# ========================================================= # Send a query, check for errors, return binary values: # ========================================================= def do_query_ieee_block(query):
if debug: print("Qys = '%s'" % query)
result = InfiniiVision.query_binary_values("%s" % query, datatype='s') check_instrument_errors(query) return result[0]
# ========================================================= # Check for instrument errors: # ========================================================= def check_instrument_errors(command):
while True: error_string = InfiniiVision.query(":SYSTem:ERRor?") if error_string: # If there is an error string value.
if error_string.find("+0,", 0, 3) == -1: # Not "No error".
print("ERROR: %s, command: '%s'" % (error_string, command)) print("Exited because of error.") sys.exit(1)
else: # "No error" break
else: # :SYSTem:ERRor? should always return string. print("ERROR: :SYSTem:ERRor? returned nothing, command: '%s'" % comma
nd) print("Exited because of error.") sys.exit(1)
# ========================================================= # Main program: # =========================================================

906

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37
rm = visa.ResourceManager("C:\\Windows\\System32\\agvisa32.dll") InfiniiVision= rm.open_resource("TCPIP0::141.121.237.208::hislip0::INSTR ")
InfiniiVision.timeout = 15000 InfiniiVision.clear()
# Initialize the oscilloscope, capture data, and analyze. initialize() capture() analyze()
InfiniiVision.close() print("End of program.") sys.exit()

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

907

37 Programming Examples
VISA.NET Examples
These programming examples show how to use the VISA.NET drivers that come with Keysight IO Libraries Suite. · "VISA.NET Example in C#" on page 908 · "VISA.NET Example in Visual Basic .NET" on page 914
VISA.NET Example in C#
To compile and run this example in Microsoft Visual Studio 2013: 1 Open Visual Studio. 2 Choose FILE > New > Project.... 3 In the New Project dialog box, select .NET Framework 4.5.2. 4 Create a new Visual C#, Console Application project. 5 Cut-and-paste the code that follows into the C# source file. 6 Edit the program to use the VISA address of your oscilloscope. 7 Add a reference to the VISA.NET driver:
a Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment.
b Choose Add Reference.... c In the Reference Manager dialog box, under Assemblies, select Extensions. d In the "Targeting: .NET Framework 4.5.2" list, select the Ivi.Visa Assembly
check box; then, click OK. 8 Build and run the program. For more information, see the VISA.NET Help that comes with Keysight IO Libraries Suite.
/* * Keysight VISA.NET Example in C# * ------------------------------------------------------------------* This program illustrates a few commonly used programming * features of your Keysight InfiniiVision oscilloscope. * ------------------------------------------------------------------*/
using System; using System.IO; using System.Collections.Generic; using System.Text;
using Ivi.Visa; using Ivi.Visa.FormattedIO;

908

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

namespace Example {
class Program {
static void Main(string[] args) {
// Change this variable to the address of your instrument string VISA_ADDRESS = "USB0::0x2A8D::0x1797::CN56240004::0::INSTR" ;
// Create a connection (session) to the instrument IMessageBasedSession session; try {
session = GlobalResourceManager.Open(VISA_ADDRESS) as IMessageBasedSession;
} catch (NativeVisaException visaException) {
Console.WriteLine("Couldn't connect."); Console.WriteLine("Error is:\r\n{0}\r\n", visaException); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); return; }
// Create a formatted I/O object which will help us format the // data we want to send/receive to/from the instrument MessageBasedFormattedIO myScope =
new MessageBasedFormattedIO(session);
// For Serial and TCP/IP socket connections enable the read // Termination Character, or read's will timeout if (session.ResourceName.Contains("ASRL") ||
session.ResourceName.Contains("SOCKET")) session.TerminationCharacterEnabled = true;
session.TimeoutMilliseconds = 20000;
// Initialize - start from a known state. // ============================================================== string strResults; FileStream fStream;
// Get and display the device's *IDN? string. myScope.WriteLine("*IDN?"); strResults = myScope.ReadLine(); Console.WriteLine("*IDN? result is: {0}", strResults);
// Clear status and load the default setup. myScope.WriteLine("*CLS"); myScope.WriteLine("*RST");
// Capture data. // ============================================================== // Use auto-scale to automatically configure oscilloscope.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

909

37 Programming Examples

myScope.WriteLine(":AUToscale");
// Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. myScope.WriteLine(":TRIGger:MODE EDGE"); myScope.WriteLine(":TRIGger:MODE?"); strResults = myScope.ReadLine(); Console.WriteLine("Trigger mode: {0}", strResults);
// Set EDGE trigger parameters. myScope.WriteLine(":TRIGger:EDGE:SOURce CHANnel1"); myScope.WriteLine(":TRIGger:EDGE:SOURce?"); strResults = myScope.ReadLine(); Console.WriteLine("Trigger edge source: {0}", strResults);
myScope.WriteLine(":TRIGger:EDGE:LEVel 1.5"); myScope.WriteLine(":TRIGger:EDGE:LEVel?"); strResults = myScope.ReadLine(); Console.WriteLine("Trigger edge level: {0}", strResults);
myScope.WriteLine(":TRIGger:EDGE:SLOPe POSitive"); myScope.WriteLine(":TRIGger:EDGE:SLOPe?"); strResults = myScope.ReadLine(); Console.WriteLine("Trigger edge slope: {0}", strResults);
// Save oscilloscope configuration. byte[] ResultsArray; // Results array. int nLength; // Number of bytes returned from instrument. string strPath;
// Query and read setup string. myScope.WriteLine(":SYSTem:SETup?"); ResultsArray = myScope.ReadLineBinaryBlockOfByte(); nLength = ResultsArray.Length;
// Write setup string to file. strPath = "c:\\scope\\config\\setup.stp"; fStream = File.Open(strPath, FileMode.Create); fStream.Write(ResultsArray, 0, nLength); fStream.Close(); Console.WriteLine("Setup bytes saved: {0}", nLength);
// Change settings with individual commands:
// Set vertical scale and offset. myScope.WriteLine(":CHANnel1:SCALe 0.05"); myScope.WriteLine(":CHANnel1:SCALe?"); strResults = myScope.ReadLine(); Console.WriteLine("Channel 1 vertical scale: {0}", strResults);
myScope.WriteLine(":CHANnel1:OFFSet -1.5"); myScope.WriteLine(":CHANnel1:OFFSet?"); strResults = myScope.ReadLine(); Console.WriteLine("Channel 1 vertical offset: {0}", strResults);
// Set horizontal scale and offset. myScope.WriteLine(":TIMebase:SCALe 0.0002"); myScope.WriteLine(":TIMebase:SCALe?");

910

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

strResults = myScope.ReadLine(); Console.WriteLine("Timebase scale: {0}", strResults);
myScope.WriteLine(":TIMebase:POSition 0.0"); myScope.WriteLine(":TIMebase:POSition?"); strResults = myScope.ReadLine(); Console.WriteLine("Timebase position: {0}", strResults);
// Set the acquisition type (NORMal, PEAK, AVERage, or HRESolution ).
myScope.WriteLine(":ACQuire:TYPE NORMal"); myScope.WriteLine(":ACQuire:TYPE?"); strResults = myScope.ReadLine(); Console.WriteLine("Acquire type: {0}", strResults);
// Or, configure by loading a previously saved setup. byte[] DataArray; int nBytesWritten;
// Read setup string from file. strPath = "c:\\scope\\config\\setup.stp"; DataArray = File.ReadAllBytes(strPath); nBytesWritten = DataArray.Length;
// Restore setup string. myScope.Write(":SYSTem:SETup "); myScope.WriteBinary(DataArray); myScope.WriteLine(""); Console.WriteLine("Setup bytes restored: {0}", nBytesWritten);
// Capture an acquisition using :DIGitize. myScope.WriteLine(":DIGitize CHANnel1");
// Analyze the captured waveform. // ==============================================================
// Make a couple of measurements. // ----------------------------------------------------------myScope.WriteLine(":MEASure:SOURce CHANnel1"); myScope.WriteLine(":MEASure:SOURce?"); strResults = myScope.ReadLine(); Console.WriteLine("Measure source: {0}", strResults);
double fResult; myScope.WriteLine(":MEASure:FREQuency"); myScope.WriteLine(":MEASure:FREQuency?"); fResult = myScope.ReadLineDouble(); Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000);
myScope.WriteLine(":MEASure:VAMPlitude"); myScope.WriteLine(":MEASure:VAMPlitude?"); fResult = myScope.ReadLineDouble(); Console.WriteLine("Vertical amplitude: {0:F2} V", fResult);
// Download the screen image. // ----------------------------------------------------------myScope.WriteLine(":HARDcopy:INKSaver OFF");

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

911

37 Programming Examples

// Get the screen data. myScope.WriteLine(":DISPlay:DATA? PNG, COLor"); ResultsArray = myScope.ReadLineBinaryBlockOfByte(); nLength = ResultsArray.Length;
// Store the screen data to a file. strPath = "c:\\scope\\data\\screen.png"; fStream = File.Open(strPath, FileMode.Create); fStream.Write(ResultsArray, 0, nLength); fStream.Close(); Console.WriteLine("Screen image ({0} bytes) written to {1}",
nLength, strPath);
// Download waveform data. // -----------------------------------------------------------
// Set the waveform points mode. myScope.WriteLine(":WAVeform:POINts:MODE RAW"); myScope.WriteLine(":WAVeform:POINts:MODE?"); strResults = myScope.ReadLine(); Console.WriteLine("Waveform points mode: {0}", strResults);
// Get the number of waveform points available. myScope.WriteLine(":WAVeform:POINts?"); strResults = myScope.ReadLine(); Console.WriteLine("Waveform points available: {0}", strResults);
// Set the waveform source. myScope.WriteLine(":WAVeform:SOURce CHANnel1"); myScope.WriteLine(":WAVeform:SOURce?"); strResults = myScope.ReadLine(); Console.WriteLine("Waveform source: {0}", strResults);
// Choose the format of the data returned (WORD, BYTE, ASCII): myScope.WriteLine(":WAVeform:FORMat BYTE"); myScope.WriteLine(":WAVeform:FORMat?"); strResults = myScope.ReadLine(); Console.WriteLine("Waveform format: {0}", strResults);
// Display the waveform settings: double[] fResultsArray; myScope.WriteLine(":WAVeform:PREamble?"); fResultsArray = myScope.ReadLineListOfDouble();
double fFormat = fResultsArray[0]; if (fFormat == 0.0) {
Console.WriteLine("Waveform format: BYTE"); } else if (fFormat == 1.0) {
Console.WriteLine("Waveform format: WORD"); } else if (fFormat == 2.0) {
Console.WriteLine("Waveform format: ASCii");

912

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

}
double fType = fResultsArray[1]; if (fType == 0.0) {
Console.WriteLine("Acquire type: NORMal"); } else if (fType == 1.0) {
Console.WriteLine("Acquire type: PEAK"); } else if (fType == 2.0) {
Console.WriteLine("Acquire type: AVERage"); } else if (fType == 3.0) {
Console.WriteLine("Acquire type: HRESolution"); }
double fPoints = fResultsArray[2]; Console.WriteLine("Waveform points: {0:e}", fPoints);
double fCount = fResultsArray[3]; Console.WriteLine("Waveform average count: {0:e}", fCount);
double fXincrement = fResultsArray[4]; Console.WriteLine("Waveform X increment: {0:e}", fXincrement);
double fXorigin = fResultsArray[5]; Console.WriteLine("Waveform X origin: {0:e}", fXorigin);
double fXreference = fResultsArray[6]; Console.WriteLine("Waveform X reference: {0:e}", fXreference);
double fYincrement = fResultsArray[7]; Console.WriteLine("Waveform Y increment: {0:e}", fYincrement);
double fYorigin = fResultsArray[8]; Console.WriteLine("Waveform Y origin: {0:e}", fYorigin);
double fYreference = fResultsArray[9]; Console.WriteLine("Waveform Y reference: {0:e}", fYreference);
// Read waveform data. myScope.WriteLine(":WAVeform:DATA?"); ResultsArray = myScope.ReadLineBinaryBlockOfByte(); nLength = ResultsArray.Length; Console.WriteLine("Number of data values: {0}", nLength);
// Set up output file: strPath = "c:\\scope\\data\\waveform_data.csv"; if (File.Exists(strPath)) File.Delete(strPath);
// Open file for output. StreamWriter writer = File.CreateText(strPath);

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

913

37 Programming Examples
// Output waveform data in CSV format. for (int i = 0; i < nLength - 1; i++)
writer.WriteLine("{0:f9}, {1:f6}", fXorigin + ((float)i * fXincrement), (((float)ResultsArray[i] - fYreference) * fYincrement) + fYorigin);
// Close output file. writer.Close(); Console.WriteLine("Waveform format BYTE data written to {0}",
strPath);
// Close the connection to the instrument // -------------------------------------------------------------session.Dispose();
Console.WriteLine("Press any key to exit..."); Console.ReadKey();
} } }
VISA.NET Example in Visual Basic .NET
To compile and run this example in Microsoft Visual Studio 2013: 1 Open Visual Studio. 2 Choose FILE > New > Project.... 3 In the New Project dialog box, select .NET Framework 4.5.2. 4 Create a new Visual Basic, Console Application project. 5 Cut-and-paste the code that follows into the Visual Basic .NET source file. 6 Edit the program to use the VISA address of your oscilloscope. 7 Add a reference to the VISA.NET driver:
a Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment.
b Choose Add Reference.... c In the Reference Manager dialog box, under Assemblies, select Extensions. d In the "Targeting: .NET Framework 4.5.2" list, select the Ivi.Visa Assembly
check box; then, click OK.

914

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

8 Specify the Startup object: a Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment. b Choose Properties. c In the Properties dialog box, under Application, select the Startup object: field and choose Sub Main. d Save your change and close the Properties dialog box.
9 Build and run the program. For more information, see the VISA.NET driver help that comes with Keysight Command Expert.
' ' Keysight VISA.NET Example in VB.NET ' ------------------------------------------------------------------' This program illustrates a few commonly used programming ' features of your Keysight InfiniiVision oscilloscope. ' -------------------------------------------------------------------
Imports System Imports System.IO Imports System.Collections.Generic Imports System.Text
Imports Ivi.Visa Imports Ivi.Visa.FormattedIO
Namespace Example Class Program
Public Shared Sub Main(args As String()) ' Change this variable to the address of your instrument Dim VISA_ADDRESS As String = "USB0::0x2A8D::0x1797::CN56240004::0:
:INSTR"
' Create a connection (session) to the instrument Dim session As IMessageBasedSession Try
session = TryCast(GlobalResourceManager.Open(VISA_ADDRESS), _ IMessageBasedSession)
Catch visaException As NativeVisaException Console.WriteLine("Couldn't connect.") Console.WriteLine("Error is:" & vbCr & vbLf & "{0}" _ & vbCr & vbLf, visaException) Console.WriteLine("Press any key to exit...") Console.ReadKey() Return
End Try
' Create a formatted I/O object which will help us format the ' data we want to send/receive to/from the instrument Dim myScope As New MessageBasedFormattedIO(session)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

915

37 Programming Examples

' For Serial and TCP/IP socket connections enable the read ' Termination Character, or read's will timeout If session.ResourceName.Contains("ASRL") OrElse _
session.ResourceName.Contains("SOCKET") Then session.TerminationCharacterEnabled = True End If
session.TimeoutMilliseconds = 20000
' Initialize - start from a known state. ' ============================================================== Dim strResults As String Dim fStream As FileStream
' Get and display the device's *IDN? string. myScope.WriteLine("*IDN?") strResults = myScope.ReadLine() Console.WriteLine("*IDN? result is: {0}", strResults)
' Clear status and load the default setup. myScope.WriteLine("*CLS") myScope.WriteLine("*RST")
' Capture data. ' ============================================================== ' Use auto-scale to automatically configure oscilloscope. myScope.WriteLine(":AUToscale")
' Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. myScope.WriteLine(":TRIGger:MODE EDGE") myScope.WriteLine(":TRIGger:MODE?") strResults = myScope.ReadLine() Console.WriteLine("Trigger mode: {0}", strResults)
' Set EDGE trigger parameters. myScope.WriteLine(":TRIGger:EDGE:SOURce CHANnel1") myScope.WriteLine(":TRIGger:EDGE:SOURce?") strResults = myScope.ReadLine() Console.WriteLine("Trigger edge source: {0}", strResults)
myScope.WriteLine(":TRIGger:EDGE:LEVel 1.5") myScope.WriteLine(":TRIGger:EDGE:LEVel?") strResults = myScope.ReadLine() Console.WriteLine("Trigger edge level: {0}", strResults)
myScope.WriteLine(":TRIGger:EDGE:SLOPe POSitive") myScope.WriteLine(":TRIGger:EDGE:SLOPe?") strResults = myScope.ReadLine() Console.WriteLine("Trigger edge slope: {0}", strResults)
' Save oscilloscope configuration. Dim ResultsArray As Byte() ' Results array. Dim nLength As Integer ' Number of bytes returned from instrument. Dim strPath As String

916

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

' Query and read setup string. myScope.WriteLine(":SYSTem:SETup?") ResultsArray = myScope.ReadLineBinaryBlockOfByte() nLength = ResultsArray.Length
' Write setup string to file. strPath = "c:\scope\config\setup.stp" fStream = File.Open(strPath, FileMode.Create) fStream.Write(ResultsArray, 0, nLength) fStream.Close() Console.WriteLine("Setup bytes saved: {0}", nLength)
' Change settings with individual commands:
' Set vertical scale and offset. myScope.WriteLine(":CHANnel1:SCALe 0.05") myScope.WriteLine(":CHANnel1:SCALe?") strResults = myScope.ReadLine() Console.WriteLine("Channel 1 vertical scale: {0}", strResults)
myScope.WriteLine(":CHANnel1:OFFSet -1.5") myScope.WriteLine(":CHANnel1:OFFSet?") strResults = myScope.ReadLine() Console.WriteLine("Channel 1 vertical offset: {0}", strResults)
' Set horizontal scale and offset. myScope.WriteLine(":TIMebase:SCALe 0.0002") myScope.WriteLine(":TIMebase:SCALe?") strResults = myScope.ReadLine() Console.WriteLine("Timebase scale: {0}", strResults)
myScope.WriteLine(":TIMebase:POSition 0.0") myScope.WriteLine(":TIMebase:POSition?") strResults = myScope.ReadLine() Console.WriteLine("Timebase position: {0}", strResults)
' Set the acquisition type (NORMal, PEAK, AVERage, or HRESolution) .
myScope.WriteLine(":ACQuire:TYPE NORMal") myScope.WriteLine(":ACQuire:TYPE?") strResults = myScope.ReadLine() Console.WriteLine("Acquire type: {0}", strResults)
' Or, configure by loading a previously saved setup. Dim DataArray As Byte() Dim nBytesWritten As Integer
' Read setup string from file. strPath = "c:\scope\config\setup.stp" DataArray = File.ReadAllBytes(strPath) nBytesWritten = DataArray.Length
' Restore setup string. myScope.Write(":SYSTem:SETup ") myScope.WriteBinary(DataArray) myScope.WriteLine("")

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

917

37 Programming Examples

Console.WriteLine("Setup bytes restored: {0}", nBytesWritten)
' Capture an acquisition using :DIGitize. myScope.WriteLine(":DIGitize CHANnel1")
' Analyze the captured waveform. ' ==============================================================
' Make a couple of measurements. ' ----------------------------------------------------------myScope.WriteLine(":MEASure:SOURce CHANnel1") myScope.WriteLine(":MEASure:SOURce?") strResults = myScope.ReadLine() Console.WriteLine("Measure source: {0}", strResults)
Dim fResult As Double myScope.WriteLine(":MEASure:FREQuency") myScope.WriteLine(":MEASure:FREQuency?") fResult = myScope.ReadLineDouble() Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000)
myScope.WriteLine(":MEASure:VAMPlitude") myScope.WriteLine(":MEASure:VAMPlitude?") fResult = myScope.ReadLineDouble() Console.WriteLine("Vertical amplitude: {0:F2} V", fResult)
' Download the screen image. ' ----------------------------------------------------------myScope.WriteLine(":HARDcopy:INKSaver OFF")
' Get the screen data. myScope.WriteLine(":DISPlay:DATA? PNG, COLor") ResultsArray = myScope.ReadLineBinaryBlockOfByte() nLength = ResultsArray.Length
' Store the screen data to a file. strPath = "c:\scope\data\screen.png" fStream = File.Open(strPath, FileMode.Create) fStream.Write(ResultsArray, 0, nLength) fStream.Close() Console.WriteLine("Screen image ({0} bytes) written to {1}", _
nLength, strPath)
' Download waveform data. ' -----------------------------------------------------------
' Set the waveform points mode. myScope.WriteLine(":WAVeform:POINts:MODE RAW") myScope.WriteLine(":WAVeform:POINts:MODE?") strResults = myScope.ReadLine() Console.WriteLine("Waveform points mode: {0}", strResults)
' Get the number of waveform points available. myScope.WriteLine(":WAVeform:POINts?") strResults = myScope.ReadLine() Console.WriteLine("Waveform points available: {0}", strResults)

918

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

' Set the waveform source. myScope.WriteLine(":WAVeform:SOURce CHANnel1") myScope.WriteLine(":WAVeform:SOURce?") strResults = myScope.ReadLine() Console.WriteLine("Waveform source: {0}", strResults)
' Choose the format of the data returned (WORD, BYTE, ASCII): myScope.WriteLine(":WAVeform:FORMat BYTE") myScope.WriteLine(":WAVeform:FORMat?") strResults = myScope.ReadLine() Console.WriteLine("Waveform format: {0}", strResults)
' Display the waveform settings: Dim fResultsArray As Double() myScope.WriteLine(":WAVeform:PREamble?") fResultsArray = myScope.ReadLineListOfDouble()
Dim fFormat As Double = fResultsArray(0) If fFormat = 0.0 Then
Console.WriteLine("Waveform format: BYTE") ElseIf fFormat = 1.0 Then
Console.WriteLine("Waveform format: WORD") ElseIf fFormat = 2.0 Then
Console.WriteLine("Waveform format: ASCii") End If
Dim fType As Double = fResultsArray(1) If fType = 0.0 Then
Console.WriteLine("Acquire type: NORMal") ElseIf fType = 1.0 Then
Console.WriteLine("Acquire type: PEAK") ElseIf fType = 2.0 Then
Console.WriteLine("Acquire type: AVERage") ElseIf fType = 3.0 Then
Console.WriteLine("Acquire type: HRESolution") End If
Dim fPoints As Double = fResultsArray(2) Console.WriteLine("Waveform points: {0:e}", fPoints)
Dim fCount As Double = fResultsArray(3) Console.WriteLine("Waveform average count: {0:e}", fCount)
Dim fXincrement As Double = fResultsArray(4) Console.WriteLine("Waveform X increment: {0:e}", fXincrement)
Dim fXorigin As Double = fResultsArray(5) Console.WriteLine("Waveform X origin: {0:e}", fXorigin)
Dim fXreference As Double = fResultsArray(6) Console.WriteLine("Waveform X reference: {0:e}", fXreference)
Dim fYincrement As Double = fResultsArray(7) Console.WriteLine("Waveform Y increment: {0:e}", fYincrement)
Dim fYorigin As Double = fResultsArray(8) Console.WriteLine("Waveform Y origin: {0:e}", fYorigin)

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

919

37 Programming Examples
Dim fYreference As Double = fResultsArray(9) Console.WriteLine("Waveform Y reference: {0:e}", fYreference)
' Read waveform data. myScope.WriteLine(":WAVeform:DATA?") ResultsArray = myScope.ReadLineBinaryBlockOfByte() nLength = ResultsArray.Length Console.WriteLine("Number of data values: {0}", nLength)
' Set up output file: strPath = "c:\scope\data\waveform_data.csv" If File.Exists(strPath) Then
File.Delete(strPath) End If
' Open file for output. Dim writer As StreamWriter = File.CreateText(strPath)
' Output waveform data in CSV format. For i As Integer = 0 To nLength - 2
writer.WriteLine("{0:f9}, {1:f6}", _ fXorigin + (CSng(i) * fXincrement), _ ((CSng(ResultsArray(i)) - fYreference) _ * fYincrement) + fYorigin)
Next
' Close output file. writer.Close() Console.WriteLine("Waveform format BYTE data written to {0}", _
strPath)
' Close the connection to the instrument ' -------------------------------------------------------------session.Dispose()
Console.WriteLine("Press any key to exit...") Console.ReadKey()
End Sub End Class End Namespace

920

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

SICL Examples

· "SICL Example in C" on page 921 · "SICL Example in Visual Basic" on page 930

SICL Example in C
To compile and run this example in Microsoft Visual Studio 2008: 1 Open Visual Studio. 2 Create a new Visual C++, Win32, Win32 Console Application project. 3 In the Win32 Application Wizard, click Next >. Then, check Empty project, and
click Finish. 4 Cut-and-paste the code that follows into a file named "example.c" in the
project directory. 5 In Visual Studio 2008, right-click the Source Files folder, choose Add > Add
Existing Item..., select the example.c file, and click Add. 6 Edit the program to use the SICL address of your oscilloscope. 7 Choose Project > Properties.... In the Property Pages dialog, update these project
settings: a Under Configuration Properties, Linker, Input, add "sicl32.lib" to the
Additional Dependencies field. b Under Configuration Properties, C/C++, Code Generation, select
Multi-threaded DLL for the Runtime Library field. c Click OK to close the Property Pages dialog. 8 Add the include files and library files search paths: a Choose Tools > Options.... b In the Options dialog, select VC++ Directories under Projects and Solutions. c Show directories for Include files, and add the include directory (for example,
Program Files\Agilent\IO Libraries Suite\include). d Show directories for Library files, and add the library files directory (for
example, Program Files\Agilent\IO Libraries Suite\lib). e Click OK to close the Options dialog. 9 Build and run the program.

/* * Keysight SICL Example in C * -----------------------------------------------------------------* This program illustrates a few commonly-used programming * features of your Keysight oscilloscope. */

#include <stdio.h>

/* For printf(). */

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

921

37 Programming Examples

#include <string.h> #include <time.h> #include <sicl.h>

/* For strcpy(), strcat(). */ /* For clock(). */ /* Keysight SICL routines. */

#define SICL_ADDRESS #define TIMEOUT #define IEEEBLOCK_SPACE

"usb0[2391::6054::US50210029::0]" 5000 100000

/* Function prototypes */ void initialize(void); void capture(void); void analyze(void);

/* Initialize to known state. */ /* Capture the waveform. */ /* Analyze the captured waveform. */

void do_command(char *command);

/* Send command. */

int do_command_ieeeblock(char *command); /* Command w/IEEE block. */

void do_query_string(char *query);

/* Query for string. */

void do_query_number(char *query);

/* Query for number. */

void do_query_numbers(char *query); /* Query for numbers. */

int do_query_ieeeblock(char *query); /* Query for IEEE block. */

void check_instrument_errors();

/* Check for inst errors. */

/* Global variables */

INST id;

/* Device session ID. */

char str_result[256] = {0};

/* Result from do_query_string(). */

double num_result;

/* Result from do_query_number(). */

unsigned char ieeeblock_data[IEEEBLOCK_SPACE]; /* Result from

do_query_ieeeblock(). */

double dbl_results[10];

/* Result from do_query_numbers(). */

/* Main Program * --------------------------------------------------------------- */
void main(void) {
/* Install a default SICL error handler that logs an error message * and exits. On Windows 98SE or Windows Me, view messages with * the SICL Message Viewer. For Windows 2000 or XP, use the Event * Viewer. */
ionerror(I_ERROR_EXIT);

/* Open a device session using the SICL_ADDRESS */ id = iopen(SICL_ADDRESS);

if (id == 0) {
printf ("Oscilloscope iopen failed!\n"); } else {
printf ("Oscilloscope session opened!\n"); }

/* Initialize - start from a known state. */ initialize();

/* Capture data. */ capture();

922

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

/* Analyze the captured waveform. */ analyze();
/* Close the device session to the instrument. */ iclose(id); printf ("Program execution is complete...\n");
/* For WIN16 programs, call _siclcleanup before exiting to release * resources allocated by SICL for this application. This call is * a no-op for WIN32 programs. */
_siclcleanup(); }
/* Initialize the oscilloscope to a known state. * --------------------------------------------------------------- */
void initialize (void) {
/* Set the I/O timeout value for this session to 5 seconds. */ itimeout(id, TIMEOUT);
/* Clear the interface. */ iclear(id);
/* Get and display the device's *IDN? string. */ do_query_string("*IDN?"); printf("Oscilloscope *IDN? string: %s\n", str_result);
/* Clear status and load the default setup. */ do_command("*CLS"); do_command("*RST"); }
/* Capture the waveform. * --------------------------------------------------------------- */
void capture (void) {
int num_bytes; FILE *fp;
/* Use auto-scale to automatically configure oscilloscope. * ------------------------------------------------------------- */
do_command(":AUToscale");
/* Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. */ do_command(":TRIGger:MODE EDGE"); do_query_string(":TRIGger:MODE?"); printf("Trigger mode: %s\n", str_result);
/* Set EDGE trigger parameters. */ do_command(":TRIGger:EDGE:SOURCe CHANnel1"); do_query_string(":TRIGger:EDGE:SOURce?"); printf("Trigger edge source: %s\n", str_result);
do_command(":TRIGger:EDGE:LEVel 1.5"); do_query_string(":TRIGger:EDGE:LEVel?");

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

923

37 Programming Examples

printf("Trigger edge level: %s\n", str_result);
do_command(":TRIGger:EDGE:SLOPe POSitive"); do_query_string(":TRIGger:EDGE:SLOPe?"); printf("Trigger edge slope: %s\n", str_result);
/* Save oscilloscope configuration. * ------------------------------------------------------------- */
/* Read system setup. */ num_bytes = do_query_ieeeblock(":SYSTem:SETup?"); printf("Read setup string query (%d bytes).\n", num_bytes);
/* Write setup string to file. */ fp = fopen ("c:\\scope\\config\\setup.stp", "wb"); num_bytes = fwrite(ieeeblock_data, sizeof(unsigned char), num_bytes,
fp); fclose (fp); printf("Wrote setup string (%d bytes) to ", num_bytes); printf("c:\\scope\\config\\setup.stp.\n");
/* Change settings with individual commands: * ------------------------------------------------------------- */
/* Set vertical scale and offset. */ do_command(":CHANnel1:SCALe 0.05"); do_query_string(":CHANnel1:SCALe?"); printf("Channel 1 vertical scale: %s\n", str_result);
do_command(":CHANnel1:OFFSet -1.5"); do_query_string(":CHANnel1:OFFSet?"); printf("Channel 1 offset: %s\n", str_result);
/* Set horizontal scale and position. */ do_command(":TIMebase:SCALe 0.0002"); do_query_string(":TIMebase:SCALe?"); printf("Timebase scale: %s\n", str_result);
do_command(":TIMebase:POSition 0.0"); do_query_string(":TIMebase:POSition?"); printf("Timebase position: %s\n", str_result);
/* Set the acquisition type (NORMal, PEAK, AVERage, or HRESolution). * /
do_command(":ACQuire:TYPE NORMal"); do_query_string(":ACQuire:TYPE?"); printf("Acquire type: %s\n", str_result);
/* Or, configure by loading a previously saved setup. * ------------------------------------------------------------- */
/* Read setup string from file. */ fp = fopen ("c:\\scope\\config\\setup.stp", "rb"); num_bytes = fread (ieeeblock_data, sizeof(unsigned char),
IEEEBLOCK_SPACE, fp); fclose (fp); printf("Read setup string (%d bytes) from file ", num_bytes);

924

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

printf("c:\\scope\\config\\setup.stp.\n");

/* Restore setup string. */ num_bytes = do_command_ieeeblock(":SYSTem:SETup", num_bytes); printf("Restored setup string (%d bytes).\n", num_bytes);

/* Capture an acquisition using :DIGitize. * ------------------------------------------------------------- */
do_command(":DIGitize CHANnel1"); }

/* Analyze the captured waveform. * --------------------------------------------------------------- */
void analyze (void) {
double wav_format; double acq_type; double wav_points; double avg_count; double x_increment; double x_origin; double x_reference; double y_increment; double y_origin; double y_reference;

FILE *fp; int num_bytes; int i;

/* Number of bytes returned from instrument. */

/* Make a couple of measurements. * ------------------------------------------------------------- */
do_command(":MEASure:SOURce CHANnel1"); do_query_string(":MEASure:SOURce?"); printf("Measure source: %s\n", str_result);

do_command(":MEASure:FREQuency"); do_query_number(":MEASure:FREQuency?"); printf("Frequency: %.4f kHz\n", num_result / 1000);

do_command(":MEASure:VAMPlitude"); do_query_number(":MEASure:VAMPlitude?"); printf("Vertical amplitude: %.2f V\n", num_result);

/* Download the screen image. * ------------------------------------------------------------- */
do_command(":HARDcopy:INKSaver OFF");

/* Read screen image. */ num_bytes = do_query_ieeeblock(":DISPlay:DATA? PNG, COLor"); printf("Screen image bytes: %d\n", num_bytes);

/* Write screen image bytes to file. */ fp = fopen ("c:\\scope\\data\\screen.png", "wb"); num_bytes = fwrite(ieeeblock_data, sizeof(unsigned char), num_bytes,
fp); fclose (fp);

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

925

37 Programming Examples

printf("Wrote screen image (%d bytes) to ", num_bytes); printf("c:\\scope\\data\\screen.png.\n");
/* Download waveform data. * ------------------------------------------------------------- */
/* Set the waveform points mode. */ do_command(":WAVeform:POINts:MODE RAW"); do_query_string(":WAVeform:POINts:MODE?"); printf("Waveform points mode: %s\n", str_result);
/* Get the number of waveform points available. */ do_command(":WAVeform:POINts 10240"); do_query_string(":WAVeform:POINts?"); printf("Waveform points available: %s\n", str_result);
/* Set the waveform source. */ do_command(":WAVeform:SOURce CHANnel1"); do_query_string(":WAVeform:SOURce?"); printf("Waveform source: %s\n", str_result);
/* Choose the format of the data returned (WORD, BYTE, ASCII): */ do_command(":WAVeform:FORMat BYTE"); do_query_string(":WAVeform:FORMat?"); printf("Waveform format: %s\n", str_result);
/* Display the waveform settings: */ do_query_numbers(":WAVeform:PREamble?");
wav_format = dbl_results[0]; if (wav_format == 0.0) {
printf("Waveform format: BYTE\n"); } else if (wav_format == 1.0) {
printf("Waveform format: WORD\n"); } else if (wav_format == 2.0) {
printf("Waveform format: ASCii\n"); }
acq_type = dbl_results[1]; if (acq_type == 0.0) {
printf("Acquire type: NORMal\n"); } else if (acq_type == 1.0) {
printf("Acquire type: PEAK\n"); } else if (acq_type == 2.0) {
printf("Acquire type: AVERage\n"); } else if (acq_type == 3.0)

926

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

{ printf("Acquire type: HRESolution\n");
}
wav_points = dbl_results[2]; printf("Waveform points: %e\n", wav_points);
avg_count = dbl_results[3]; printf("Waveform average count: %e\n", avg_count);
x_increment = dbl_results[4]; printf("Waveform X increment: %e\n", x_increment);
x_origin = dbl_results[5]; printf("Waveform X origin: %e\n", x_origin);
x_reference = dbl_results[6]; printf("Waveform X reference: %e\n", x_reference);
y_increment = dbl_results[7]; printf("Waveform Y increment: %e\n", y_increment);
y_origin = dbl_results[8]; printf("Waveform Y origin: %e\n", y_origin);
y_reference = dbl_results[9]; printf("Waveform Y reference: %e\n", y_reference);
/* Read waveform data. */ num_bytes = do_query_ieeeblock(":WAVeform:DATA?"); printf("Number of data values: %d\n", num_bytes);
/* Open file for output. */ fp = fopen("c:\\scope\\data\\waveform_data.csv", "wb");
/* Output waveform data in CSV format. */ for (i = 0; i < num_bytes - 1; i++) {
/* Write time value, voltage value. */ fprintf(fp, "%9f, %6f\n",
x_origin + ((float)i * x_increment), (((float)ieeeblock_data[i] - y_reference) * y_increment) + y_origin); }
/* Close output file. */ fclose(fp); printf("Waveform format BYTE data written to "); printf("c:\\scope\\data\\waveform_data.csv.\n");
}
/* Send a command to the instrument. * --------------------------------------------------------------- */
void do_command(command) char *command; {
char message[80];

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

927

37 Programming Examples

strcpy(message, command); strcat(message, "\n"); iprintf(id, message);
check_instrument_errors(); }
/* Command with IEEE definite-length block. * --------------------------------------------------------------- */
int do_command_ieeeblock(command, num_bytes) char *command; int num_bytes; {
char message[80]; int data_length;
strcpy(message, command); strcat(message, " #8%08d"); iprintf(id, message, num_bytes); ifwrite(id, ieeeblock_data, num_bytes, 1, &data_length);
check_instrument_errors();
return(data_length); }
/* Query for a string result. * --------------------------------------------------------------- */
void do_query_string(query) char *query; {
char message[80];
strcpy(message, query); strcat(message, "\n"); iprintf(id, message);
iscanf(id, "%t\n", str_result);
check_instrument_errors(); }
/* Query for a number result. * --------------------------------------------------------------- */
void do_query_number(query) char *query; {
char message[80];
strcpy(message, query); strcat(message, "\n"); iprintf(id, message);
iscanf(id, "%lf", &num_result);
check_instrument_errors();

928

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

}
/* Query for numbers result. * --------------------------------------------------------------- */
void do_query_numbers(query) char *query; {
char message[80];
strcpy(message, query); strcat(message, "\n"); iprintf(id, message);
iscanf(id, "%,10lf\n", dbl_results);
check_instrument_errors(); }
/* Query for an IEEE definite-length block result. * --------------------------------------------------------------- */
int do_query_ieeeblock(query) char *query; {
char message[80]; int data_length;
strcpy(message, query); strcat(message, "\n"); iprintf(id, message);
data_length = IEEEBLOCK_SPACE; iscanf(id, "%#b", &data_length, ieeeblock_data);
if (data_length == IEEEBLOCK_SPACE ) {
printf("IEEE block buffer full: "); printf("May not have received all data.\n"); }
check_instrument_errors();
return(data_length); }
/* Check for instrument errors. * --------------------------------------------------------------- */
void check_instrument_errors() {
char str_err_val[256] = {0}; char str_out[800] = "";
ipromptf(id, ":SYSTem:ERRor?\n", "%t", str_err_val); while(strncmp(str_err_val, "+0,No error", 3) != 0 ) {
strcat(str_out, ", "); strcat(str_out, str_err_val); ipromptf(id, ":SYSTem:ERRor?\n", "%t", str_err_val);

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

929

37 Programming Examples

}
if (strcmp(str_out, "") != 0) {
printf("INST Error%s\n", str_out); iflush(id, I_BUF_READ | I_BUF_WRITE); } }
SICL Example in Visual Basic
To run this example in Visual Basic for Applications: 1 Start the application that provides Visual Basic for Applications (for example,
Microsoft Excel). 2 Press ALT+F11 to launch the Visual Basic editor. 3 Add the sicl32.bas file to your project:
a Choose File > Import File.... b Navigate to the header file, sicl32.bas (installed with Keysight IO Libraries
Suite and found in the Program Files\Agilent\IO Libraries Suite\include directory), select it, and click Open. 4 Choose Insert > Module. 5 Cut-and-paste the code that follows into the editor. 6 Edit the program to use the SICL address of your oscilloscope, and save the changes. 7 Run the program.
' ' Keysight SICL Example in Visual Basic ' ------------------------------------------------------------------' This program illustrates a few commonly-used programming ' features of your Keysight oscilloscope. ' -------------------------------------------------------------------
Option Explicit
Public id As Integer ' Session to instrument.
' Declare variables to hold numeric values returned by ' ivscanf/ifread. Public dblQueryResult As Double Public Const ByteArraySize = 5000000 Public retCount As Long Public byteArray(ByteArraySize) As Byte
' Declare fixed length string variable to hold string value returned ' by ivscanf. Public strQueryResult As String * 200
' For Sleep subroutine.

930

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
' ' Main Program ' -------------------------------------------------------------------
Sub Main()
On Error GoTo ErrorHandler
' Open a device session using the SICL_ADDRESS. id = iopen("usb0[2391::6054::US50210029::0]") Call itimeout(id, 5000)
' Initialize - start from a known state. Initialize
' Capture data. Capture
' Analyze the captured waveform. Analyze
' Close the vi session and the resource manager session. Call iclose(id)
Exit Sub
ErrorHandler:
MsgBox "*** Error : " + Error, vbExclamation End
End Sub
' ' Initialize the oscilloscope to a known state. ' -------------------------------------------------------------------
Private Sub Initialize()
On Error GoTo ErrorHandler
' Clear the interface. Call iclear(id)
' Get and display the device's *IDN? string. strQueryResult = DoQueryString("*IDN?") MsgBox "Result is: " + RTrim(strQueryResult), vbOKOnly, "*IDN? Result"
' Clear status and load the default setup. DoCommand "*CLS" DoCommand "*RST"
Exit Sub
ErrorHandler:

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

931

37 Programming Examples

MsgBox "*** Error : " + Error, vbExclamation End
End Sub
' ' Capture the waveform. ' -------------------------------------------------------------------
Private Sub Capture()
On Error GoTo ErrorHandler
' Use auto-scale to automatically configure oscilloscope. ' ----------------------------------------------------------------DoCommand ":AUToscale"
' Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. DoCommand ":TRIGger:MODE EDGE" Debug.Print "Trigger mode: " + _
DoQueryString(":TRIGger:MODE?")
' Set EDGE trigger parameters. DoCommand ":TRIGger:EDGE:SOURCe CHANnel1" Debug.Print "Trigger edge source: " + _
DoQueryString(":TRIGger:EDGE:SOURce?")
DoCommand ":TRIGger:EDGE:LEVel 1.5" Debug.Print "Trigger edge level: " + _
DoQueryString(":TRIGger:EDGE:LEVel?")
DoCommand ":TRIGger:EDGE:SLOPe POSitive" Debug.Print "Trigger edge slope: " + _
DoQueryString(":TRIGger:EDGE:SLOPe?")
' Save oscilloscope configuration. ' ----------------------------------------------------------------Dim lngSetupStringSize As Long lngSetupStringSize = DoQueryIEEEBlock_Bytes(":SYSTem:SETup?") Debug.Print "Setup bytes saved: " + CStr(lngSetupStringSize)
' Output setup string to a file: Dim strPath As String strPath = "c:\scope\config\setup.dat" If Len(Dir(strPath)) Then
Kill strPath ' Remove file if it exists. End If
' Open file for output. Dim hFile As Long hFile = FreeFile Open strPath For Binary Access Write Lock Write As hFile Dim lngI As Long For lngI = 0 To lngSetupStringSize - 1
Put hFile, , byteArray(lngI) ' Write data. Next lngI

932

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

Close hFile ' Close file.
' Change settings with individual commands: ' -----------------------------------------------------------------
' Set vertical scale and offset. DoCommand ":CHANnel1:SCALe 0.05" Debug.Print "Channel 1 vertical scale: " + _
DoQueryString(":CHANnel1:SCALe?")
DoCommand ":CHANnel1:OFFSet -1.5" Debug.Print "Channel 1 vertical offset: " + _
DoQueryString(":CHANnel1:OFFSet?")
' Set horizontal scale and position. DoCommand ":TIMebase:SCALe 0.0002" Debug.Print "Timebase scale: " + _
DoQueryString(":TIMebase:SCALe?")
DoCommand ":TIMebase:POSition 0.0" Debug.Print "Timebase position: " + _
DoQueryString(":TIMebase:POSition?")
' Set the acquisition type (NORMal, PEAK, AVERage, or HRESolution). DoCommand ":ACQuire:TYPE NORMal" Debug.Print "Acquire type: " + _
DoQueryString(":ACQuire:TYPE?")
' Or, configure by loading a previously saved setup. ' ----------------------------------------------------------------strPath = "c:\scope\config\setup.dat" Open strPath For Binary Access Read As hFile ' Open file for input. Dim lngSetupFileSize As Long lngSetupFileSize = LOF(hFile) ' Length of file. Get hFile, , byteArray ' Read data. Close hFile ' Close file. ' Write setup string back to oscilloscope using ":SYSTem:SETup" ' command: Dim lngRestored As Long lngRestored = DoCommandIEEEBlock(":SYSTem:SETup", lngSetupFileSize) Debug.Print "Setup bytes restored: " + CStr(lngRestored)
' Capture an acquisition using :DIGitize. ' ----------------------------------------------------------------DoCommand ":DIGitize CHANnel1"
Exit Sub
ErrorHandler:
MsgBox "*** Error : " + Error, vbExclamation End
End Sub
' ' Analyze the captured waveform.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

933

37 Programming Examples

' -------------------------------------------------------------------
Private Sub Analyze()
On Error GoTo ErrorHandler
' Make a couple of measurements. ' ----------------------------------------------------------------DoCommand ":MEASure:SOURce CHANnel1" Debug.Print "Measure source: " + _
DoQueryString(":MEASure:SOURce?")
DoCommand ":MEASure:FREQuency" dblQueryResult = DoQueryNumber(":MEASure:FREQuency?") MsgBox "Frequency:" + vbCrLf + _
FormatNumber(dblQueryResult / 1000, 4) + " kHz"
DoCommand ":MEASure:VAMPlitude" dblQueryResult = DoQueryNumber(":MEASure:VAMPlitude?") MsgBox "Vertical amplitude:" + vbCrLf + _
FormatNumber(dblQueryResult, 4) + " V"
' Download the screen image. ' ----------------------------------------------------------------DoCommand ":HARDcopy:INKSaver OFF"
' Get screen image. Dim lngBlockSize As Long lngBlockSize = DoQueryIEEEBlock_Bytes(":DISPlay:DATA? PNG, COLor") Debug.Print "Screen image bytes: " + CStr(lngBlockSize)
' Save screen image to a file: Dim strPath As String strPath = "c:\scope\data\screen.png" If Len(Dir(strPath)) Then
Kill strPath ' Remove file if it exists. End If Dim hFile As Long hFile = FreeFile Open strPath For Binary Access Write Lock Write As hFile Dim lngI As Long ' Skip past header. For lngI = CInt(Chr(byteArray(1))) + 2 To lngBlockSize - 1
Put hFile, , byteArray(lngI) ' Write data. Next lngI Close hFile ' Close file. MsgBox "Screen image written to " + strPath
' Download waveform data. ' -----------------------------------------------------------------
' Set the waveform points mode. DoCommand ":WAVeform:POINts:MODE RAW" Debug.Print "Waveform points mode: " + _
DoQueryString(":WAVeform:POINts:MODE?")
' Get the number of waveform points available.

934

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

DoCommand ":WAVeform:POINts 10240" Debug.Print "Waveform points available: " + _
DoQueryString(":WAVeform:POINts?")
' Set the waveform source. DoCommand ":WAVeform:SOURce CHANnel1" Debug.Print "Waveform source: " + _
DoQueryString(":WAVeform:SOURce?")
' Choose the format of the data returned (WORD, BYTE, ASCII): DoCommand ":WAVeform:FORMat BYTE" Debug.Print "Waveform format: " + _
DoQueryString(":WAVeform:FORMat?")
' Display the waveform settings: Dim Preamble() As Double Dim intFormat As Integer Dim intType As Integer Dim lngPoints As Long Dim lngCount As Long Dim dblXIncrement As Double Dim dblXOrigin As Double Dim lngXReference As Long Dim sngYIncrement As Single Dim sngYOrigin As Single Dim lngYReference As Long
Preamble() = DoQueryNumbers(":WAVeform:PREamble?")
intFormat = Preamble(0) intType = Preamble(1) lngPoints = Preamble(2) lngCount = Preamble(3) dblXIncrement = Preamble(4) dblXOrigin = Preamble(5) lngXReference = Preamble(6) sngYIncrement = Preamble(7) sngYOrigin = Preamble(8) lngYReference = Preamble(9)
If intFormat = 0 Then Debug.Print "Waveform format: BYTE"
ElseIf intFormat = 1 Then Debug.Print "Waveform format: WORD"
ElseIf intFormat = 2 Then Debug.Print "Waveform format: ASCii"
End If
If intType = 0 Then Debug.Print "Acquisition type: NORMal"
ElseIf intType = 1 Then Debug.Print "Acquisition type: PEAK"
ElseIf intType = 2 Then Debug.Print "Acquisition type: AVERage"
ElseIf intType = 3 Then Debug.Print "Acquisition type: HRESolution"
End If

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

935

37 Programming Examples

Debug.Print "Waveform points: " + _ FormatNumber(lngPoints, 0)
Debug.Print "Waveform average count: " + _ FormatNumber(lngCount, 0)
Debug.Print "Waveform X increment: " + _ Format(dblXIncrement, "Scientific")
Debug.Print "Waveform X origin: " + _ Format(dblXOrigin, "Scientific")
Debug.Print "Waveform X reference: " + _ FormatNumber(lngXReference, 0)
Debug.Print "Waveform Y increment: " + _ Format(sngYIncrement, "Scientific")
Debug.Print "Waveform Y origin: " + _ FormatNumber(sngYOrigin, 0)
Debug.Print "Waveform Y reference: " + _ FormatNumber(lngYReference, 0)
' Get the waveform data Dim lngNumBytes As Long lngNumBytes = DoQueryIEEEBlock_Bytes(":WAVeform:DATA?") Debug.Print "Number of data values: " + _
CStr(lngNumBytes - CInt(Chr(byteArray(1))) - 2)
' Set up output file: strPath = "c:\scope\data\waveform_data.csv"
' Open file for output. Open strPath For Output Access Write Lock Write As hFile
' Output waveform data in CSV format. Dim lngDataValue As Long
' Skip past header. For lngI = CInt(Chr(byteArray(1))) + 2 To lngNumBytes - 2
lngDataValue = CLng(byteArray(lngI))
' Write time value, voltage value. Print #hFile, _
FormatNumber(dblXOrigin + (lngI * dblXIncrement), 9) + _ ", " + _ FormatNumber(((lngDataValue - lngYReference) * _ sngYIncrement) + sngYOrigin)
Next lngI
' Close output file. Close hFile ' Close file. MsgBox "Waveform format BYTE data written to " + _
"c:\scope\data\waveform_data.csv."

936

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

Exit Sub ErrorHandler:
MsgBox "*** Error : " + Error, vbExclamation End End Sub Private Sub DoCommand(command As String) On Error GoTo ErrorHandler Call ivprintf(id, command + vbLf) CheckInstrumentErrors Exit Sub ErrorHandler: MsgBox "*** Error : " + Error, vbExclamation End End Sub Private Function DoCommandIEEEBlock(command As String, _
lngBlockSize As Long) On Error GoTo ErrorHandler ' Send command part. Call ivprintf(id, command + " ") ' Write definite-length block bytes. Call ifwrite(id, byteArray(), lngBlockSize, vbNull, retCount) ' retCount is now actual number of bytes written. DoCommandIEEEBlock = retCount CheckInstrumentErrors Exit Function ErrorHandler: MsgBox "*** Error : " + Error, vbExclamation End End Function Private Function DoQueryString(query As String) As String Dim actual As Long On Error GoTo ErrorHandler

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

937

37 Programming Examples

Dim strResult As String * 200
Call ivprintf(id, query + vbLf) Call ivscanf(id, "%200t", strResult) DoQueryString = strResult
CheckInstrumentErrors
Exit Function
ErrorHandler:
MsgBox "*** Error : " + Error, vbExclamation End
End Function
Private Function DoQueryNumber(query As String) As Double
On Error GoTo ErrorHandler
Dim dblResult As Double
Call ivprintf(id, query + vbLf) Call ivscanf(id, "%lf" + vbLf, dblResult) DoQueryNumber = dblResult
CheckInstrumentErrors
Exit Function
ErrorHandler:
MsgBox "*** Error : " + Error, vbExclamation End
End Function
Private Function DoQueryNumbers(query As String) As Double()
On Error GoTo ErrorHandler
Dim dblResults(10) As Double
Call ivprintf(id, query + vbLf) Call ivscanf(id, "%,10lf" + vbLf, dblResults) DoQueryNumbers = dblResults
CheckInstrumentErrors
Exit Function
ErrorHandler:
MsgBox "*** Error : " + Error, vbExclamation End

938

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37

End Function

Private Function DoQueryIEEEBlock_Bytes(query As String) As Long

On Error GoTo ErrorHandler

' Send query. Call ivprintf(id, query + vbLf)

' Read definite-length block bytes. Sleep 2000 ' Delay before reading data. Call ifread(id, byteArray(), ByteArraySize, vbNull, retCount)

' Get number of block length digits. Dim intLengthDigits As Integer intLengthDigits = CInt(Chr(byteArray(1)))

' Get block length from those digits. Dim strBlockLength As String strBlockLength = "" Dim i As Integer For i = 2 To intLengthDigits + 1
strBlockLength = strBlockLength + Chr(byteArray(i)) Next

' Return number of bytes in block plus header. DoQueryIEEEBlock_Bytes = CLng(strBlockLength) + intLengthDigits + 2

CheckInstrumentErrors

Exit Function

ErrorHandler:

MsgBox "*** Error : " + Error, vbExclamation End

End Function

Private Sub CheckInstrumentErrors()

On Error GoTo ErrorHandler

Dim strErrVal As String * 200 Dim strOut As String

Call ivprintf(id, ":SYSTem:ERRor?" + vbLf) ' Query any errors data.

Call ivscanf(id, "%200t", strErrVal) ' Read: Errnum,"Error String".

While Val(strErrVal) <> 0

' End if find: +0,"No Error".

strOut = strOut + "INST Error: " + strErrVal

Call ivprintf(id, ":SYSTem:ERRor?" + vbLf) ' Request error message

.

Call ivscanf(id, "%200t", strErrVal) ' Read error message.

Wend

If Not strOut = "" Then

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

939

37 Programming Examples
MsgBox strOut, vbExclamation, "INST Error Messages" Call iflush(id, I_BUF_READ Or I_BUF_WRITE) End If Exit Sub ErrorHandler: MsgBox "*** Error : " + Error, vbExclamation End End Sub

940

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Programming Examples 37
SCPI.NET Examples
You can also program the oscilloscope using the SCPI.NET drivers that come with Keysight's free Command Expert software. While you can write code manually using the SCPI.NET drivers, you can also use the Command Expert software to: · Connect to instruments and control them interactively using SCPI command
sets. · Quickly prototype and test command sequences. · Generate C#, VB.NET, or C/C++ code for command sequences. · Find, download, and install SCPI command sets. · Browse command trees, search for commands, and view command
descriptions. The Command Expert suite also comes with Add-ons for easy instrument control and measurement data retrieval in NI LabVIEW, Microsoft Excel, Keysight VEE, and Keysight SystemVue. To download the Keysight Command Expert software, see: http://www.keysight.com/find/commandexpert For more on programming with the SCPI.NET drivers, see "Using SCPI.NET Drivers" in the help that comes with Keysight Command Expert.

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

941

37 Programming Examples

942

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Index

Symbols
+9.9E+37, infinity representation, 825 +9.9E+37, measurement error, 364
Numerics
0 (zero) values in waveform data, 662 1 (one) values in waveform data, 662 1000 X-Series oscilloscopes, command
differences from, 31 82350A GPIB interface, 6
A
abus bit selection command, 177 abus bits selection commands, 178 abus clear command, 180 ABUS commands, 175, 176 abus display, 181 abus label command, 182 abus mask command, 183 AC coupling, trigger edge, 618 AC input coupling for specified
channel, 214 AC RMS measured on waveform, 406 ACQuire commands, 185 acquire data, 151, 197 acquire mode on autoscale, 147 acquire reset conditions, 129, 576 acquire sample rate, 196 ACQuire subsystem, 47 acquired data points, 190 acquisition count, 188 acquisition mode, 185, 189, 679 acquisition type, 185, 197 acquisition types, 655 active printer, 324 add function, 674 add math function, 313 add math function as g(t) source, 309 address field size, IIC serial decode, 500 address of network printer, 329 address, IIC trigger pattern, 503 Addresses softkey, 38 AER (Arm Event Register), 144, 159, 161,
801 all (snapshot) measurement, 366 ALL segments waveform save option, 473 AM demo signal, 232

AM depth, waveform generator modulation, 699
AM modulation type, waveform generator, 709
amplitude, vertical, 400 amplitude, waveform generator, 297, 716 analog channel coupling, 214 analog channel display, 215 analog channel impedance, 216 analog channel input, 738 analog channel inversion, 217 analog channel labels, 218, 245 analog channel offset, 219 analog channel protection lock, 579 analog channel range, 226 analog channel scale, 227 analog channel source for glitch, 630 analog channel units, 228 analog probe attenuation, 220 analog probe head type, 221 analog probe sensing, 739 analog probe skew, 223, 737 analyzing captured data, 43 angle brackets, 112 annotate channels, 218 annotation background, display, 238 annotation color, display, 239 annotation text, display, 240 annotation, display, 237 apply network printer connection
settings, 330 area for hardcopy print, 323 area for saved image, 774 Arm Event Register (AER), 144, 159, 161,
801 ASCII format, 664 ASCII format for data transfer, 658 ASCII string, quoted, 112 ASCiixy waveform data format, 470 assign channel names, 218 attenuation factor (external trigger)
probe, 266 attenuation for oscilloscope probe, 220 AUT option for probe sense, 739, 742 Auto Range capability for DVM, 252 auto set up, trigger level, 611 auto trigger sweep mode, 605 automask create, 419 automask source, 420 automask units, 421 automatic measurements constants, 220 automatic probe type detection, 739, 742 autoscale, 145

autoscale acquire mode, 147 autoscale channels, 148 AUToscale command, 46 average value measurement, 401 averaging acquisition type, 186, 657 averaging, synchronizing with, 814
B
bandwidth filter limits, 212, 261 bandwidth filter limits to 20 MHz, 213 base value measurement, 402 base, UART trigger, 557 basic instrument functions, 117 baud rate, 490, 513, 546 begin acquisition, 151, 168, 170 BHARris window for minimal spectral
leakage, 280, 307 binary block data, 112, 242, 587, 662 BINary waveform data format, 470 bind levels for masks, 440 bit order, 547 bit order, SPI decode, 525 bit rate measurement, 367 bit selection command, abus, 177 bit weights, 122 bitmap display, 242 bits in Service Request Enable
Register, 134 bits in Standard Event Status Enable
Register, 121 bits in Status Byte Register, 136 bits selection command, abus, 178 blank, 150 block data, 112, 125, 587 block response data, 50 blocking synchronization, 809 blocking wait, 808 BMP format screen image data, 242 braces, 111 built-in measurements, 43 burst data demo signal, 232 button disable, 572 button, calibration protect, 204 byte format for data transfer, 659, 664 BYTeorder, 660
C
C, SICL library example, 921 C, VISA library example, 861

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

943

Index

C#, VISA COM example, 837 C#, VISA example, 880 C#, VISA.NET example, 908 CAL PROTECT button, 204 CAL PROTECT switch, 200 calculating preshoot of waveform, 388 calculating the waveform overshoot, 382 calibrate, 201, 202, 204, 208 CALibrate commands, 199 calibrate date, 201 calibrate introduction, 200 calibrate label, 202 calibrate output, 203 calibrate start, 205 calibrate status, 206 calibrate switch, 204 calibrate temperature, 207 calibrate time, 208 CAN acknowledge, 489 CAN baud rate, 490 CAN demo signal, 233 CAN frame counters, reset, 486 CAN serial bus commands, 482 CAN signal definition, 491 CAN source, 492 CAN trigger, 493, 496 CAN trigger data pattern, 495 CAN trigger ID pattern, 497 CAN trigger pattern id mode, 498 CAN triggering, 477 capture data, 151 capturing data, 42 center frequency set, 271, 301, 303, 313 center of screen, 687 center reference, 598 center screen, FFT vertical value at, 273,
275 center screen, vertical value at, 312, 316 channel, 174, 218 channel coupling, 214 channel display, 215 channel input impedance, 216 channel inversion, 217 channel label, 218, 736 channel labels, 244, 245 channel overload, 225 channel protection, 225 channel reset conditions, 129, 576 channel selected to produce trigger, 630,
651 channel signal type, 224 channel skew for oscilloscope probe, 223,
737 channel status, 171 channel vernier, 229 channel, stop displaying, 150 CHANnel<n> commands, 209, 211 channels to autoscale, 148 channels, how autoscale affects, 145 characters to display, 570 classes of input signals, 280, 307 classifications, command, 818

clear, 241 clear abus command, 180 clear markers, 368, 752 clear measurement, 368, 752 clear message queue, 119 Clear method, 45 clear reference waveforms, 723 clear screen, 741 clear status, 119 clear waveform area, 236 clipped high waveform data value, 662 clipped low waveform data value, 662 clock, 501, 526, 529 clock source, setup and hold trigger, 638 clock timeout, SPI, 527 clock with infrequent glitch demo
signal, 232 CLS (Clear Status), 119 CME (Command Error) status bit, 121, 123 code, :ACQuire:COMPlete, 187 code, :ACQuire:SEGMented, 193 code, :ACQuire:TYPE, 198 code, :AUToscale, 146 code, :CHANnel<n>:LABel, 218 code, :CHANnel<n>:PROBe, 220 code, :CHANnel<n>:RANGe, 226 code, :DIGitize, 152 code, :DISPlay:DATA, 242 code, :DISPlay:LABel, 244 code, :MEASure:PERiod, 394 code, :MEASure:TEDGe, 397 code, :MTESt, 415 code, :RUN/:STOP, 168 code, :SYSTem:SETup, 587 code, :TIMebase:DELay, 775 code, :TIMebase:MODE, 595 code, :TIMebase:RANGe, 597 code, :TIMebase:REFerence, 598 code, :TRIGger:MODE, 614 code, :TRIGger:SLOPe, 621 code, :TRIGger:SOURce, 622 code, :VIEW and :BLANk, 174 code, :WAVeform, 674 code, :WAVeform:DATA, 662 code, :WAVeform:POINts, 666 code, :WAVeform:PREamble, 670 code, :WAVeform:SEGMented, 193 code, *RST, 131 code, SICL library example in C, 921 code, SICL library example in Visual
Basic, 930 code, VISA COM library example in C#, 837 code, VISA COM library example in
Python, 854 code, VISA COM library example in Visual
Basic, 828 code, VISA COM library example in Visual
Basic .NET, 846 code, VISA library example in C, 861 code, VISA library example in C#, 880 code, VISA library example in Python, 901

code, VISA library example in Visual Basic, 870
code, VISA library example in Visual Basic .NET, 891
code, VISA.NET library example in C#, 908 code, VISA.NET library example in Visual
Basic .NET, 914 colon, root commands prefixed by, 143 color palette for hardcopy, 332 color palette for image, 463 Comma Separated Values (CSV) waveform
data format, 470 command classifications, 818 command differences from 1000 X-Series
oscilloscopes, 31 command errors detected in Standard Event
Status, 123 Command Expert, 908, 941 command header, 819 command headers, common, 821 command headers, compound, 821 command headers, simple, 821 command strings, valid, 819 commands quick reference, 55 commands sent over interface, 118 commands, more about, 817 commands, obsolete and
discontinued, 731 common (*) commands, 3, 115, 117 common command headers, 821 completion criteria for an acquisition, 187,
188 compound command headers, 821 compound header, 823 computer control examples, 827 conditions for external trigger, 260 conditions, reset, 129, 576 Config softkey, 38 configurations, oscilloscope, 125, 128,
132, 587 Configure softkey, 38 connect oscilloscope, 37 connect sampled data points, 740 Connection Expert, 39 constants for making automatic
measurements, 220 constants for scaling display factors, 220 constants for setting trigger levels, 220 controller initialization, 42 copy display, 167 copyright, 2 core commands, 818 count, 661 count values, 188 counter, 369 coupling, 618 COUPling demo signal, 232 coupling for channels, 214 create automask, 419 CSV (Comma Separated Values) waveform
data format, 470

944

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Index

current oscilloscope configuration, 125, 128, 132, 587
current probe, 228, 268 CURRent segment waveform save
option, 473 cursor mode, 342 cursor position, 343, 345, 347, 350, 352 cursor readout, 753, 757, 758 cursor reset conditions, 129, 576 cursor source, 344, 346 cursor time, 753, 757, 758 cursor units, X, 348, 349 cursor units, Y, 353, 354 cursors track measurements, 393 cursors, how autoscale affects, 145 cursors, X1, X2, Y1, Y2, 340 cycle measured, 375, 378 cycle time, 385
D
data, 502, 504, 662 data (waveform) maximum length, 472 data 2, 505 data acquisition types, 655 data conversion, 657 data format for transfer, 658 data output order, 660 data pattern length, 496, 521 data pattern width, 539 data pattern, CAN trigger, 495 data pattern, SPI trigger, 534 data point index, 684 data points, 190 data record, measurement, 667 data record, raw acquisition, 667 data required to fill time buckets, 187 data source, setup and hold trigger, 639 data source, SPI trigger, 530 data structures, status reporting, 787 data, saving and recalling, 236 date, calibration, 201 date, system, 568 dB versus frequency, 301 DC coupling for edge trigger, 618 DC input coupling for specified
channel, 214 DC RMS measured on waveform, 406 DC waveform generator output, 694 DDE (Device Dependent Error) status
bit, 121, 123 decision chart, status reporting, 805 default conditions, 129, 576 define channel labels, 218 define glitch trigger, 628 define measurement, 371 define measurement source, 394 define trigger, 629 defined as, 111 definite-length block query response, 50 definite-length block response data, 112

delay measured to calculate phase, 386 delay measurement, 371 delay measurements, 396 delay parameters for measurement, 373 delay, how autoscale affects, 145 delayed time base, 595 delayed window horizontal scale, 603 delete mask, 429 delta time, 753 delta voltage measurement, 761 delta X cursor, 340 delta Y cursor, 340 demo, 231 DEMO commands, 231 demo signal, 232 demo signal function, 232 demo signals output control, 234 destination, remote command logging, 581 detecting probe types, 739, 742 device-defined error queue clear, 119 differences from 1000 X-Series oscilloscope
commands, 31 differential probe heads, 221 differential signal type, 224 digital channel source for glitch
trigger, 630 digitize channels, 151 DIGitize command, 42, 47, 656 digits, 112 disable front panel, 572 disable function, 745 disabling calibration, 204 disabling channel display, 215 disabling status register bits, 120, 133 discontinued and obsolete commands, 731 display annotation, 237 display annotation background, 238 display annotation color, 239 display annotation text, 240 display channel labels, 244 display clear, 241 DISPlay commands, 235 display commands introduction, 236 display connect, 740 display date, 568 display factors scaling, 220 display for channels, 215 display frequency span, 278, 305 display measurements, 364, 393 display persistence, 247 display reference, 596, 598 display reference waveforms, 724 display reset conditions, 130, 577 display serial number, 169 display transparent, 248 display vectors, 249 display, FFT function, 272 display, lister, 337 display, oscilloscope, 247, 302, 570 display, serial decode bus, 480 displaying a baseline, 616 displaying unsynchronized signal, 616

divide math function, 313 DNS IP, 38 domain, 38 driver, printer, 750 duplicate mnemonics, 823 duration for glitch trigger, 624, 625, 629 duration triggering, 606 duty cycle measurement, 43, 364, 375,
378 DVM commands, 251 DVM displayed value, 253 DVM enable/disable, 254 DVM frequency value, 255 DVM input source, 257 DVM mode, 256
E
edge coupling, 618 edge fall time, 376 edge parameter for delay
measurement, 373 edge preshoot measured, 388 edge rise time, 391 edge slope, 621 edge source, 622 EDGE trigger commands, 617 edge triggering, 605 edges in measurement, 371 eject USB storage devices, 591 elapsed time in mask test, 426 ellipsis, 112 enable channel labels, 244 enabling calibration, 204 enabling channel display, 215 enabling status register bits, 120, 133 end of string (EOS) terminator, 820 end of text (EOT) terminator, 820 end or identify (EOI), 820 EOI (end or identify), 820 EOS (end of string) terminator, 820 EOT (end of text) terminator, 820 erase data, 241 erase measurements, 752 erase screen, 741 error frame count (CAN), 484 error frame count (UART), 548 error messages, 571, 777 error number, 571 error queue, 571, 798 error, measurement, 364 ESB (Event Status Bit), 134, 136 ESE (Standard Event Status Enable
Register), 120, 797 ESR (Standard Event Status Register), 122,
796 event status conditions occurred, 136 Event Status Enable Register (ESE), 120,
797 Event Status Register (ESR), 122, 173, 796 example code, :ACQuire:COMPlete, 187

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

945

Index

example code, :ACQuire:SEGMented, 193 example code, :ACQuire:TYPE, 198 example code, :AUToscale, 146 example code, :CHANnel<n>:LABel, 218 example code, :CHANnel<n>:PROBe, 220 example code, :CHANnel<n>:RANGe, 226 example code, :DIGitize, 152 example code, :DISPlay:DATA, 242 example code, :DISPlay:LABel, 244 example code, :MEASure:PERiod, 394 example code, :MEASure:TEDGe, 397 example code, :MTESt, 415 example code, :RUN/:STOP, 168 example code, :SYSTem:SETup, 587 example code, :TIMebase:DELay, 775 example code, :TIMebase:MODE, 595 example code, :TIMebase:RANGe, 597 example code, :TIMebase:REFerence, 598 example code, :TRIGger:MODE, 614 example code, :TRIGger:SLOPe, 621 example code, :TRIGger:SOURce, 622 example code, :VIEW and :BLANk, 174 example code, :WAVeform, 674 example code, :WAVeform:DATA, 662 example code, :WAVeform:POINts, 666 example code, :WAVeform:PREamble, 670 example code,
:WAVeform:SEGMented, 193 example code, *RST, 131 example programs, 5, 827 examples on the website, 827 EXE (Execution Error) status bit, 121, 123 execution error detected in Standard Event
Status, 123 exponential notation, 111 external glitch trigger source, 630 external range, 267 external trigger, 260, 266, 622 EXTernal trigger commands, 259 external trigger input waveform, vertical
position, 265 external trigger input, display setting, 262 external trigger input, trigger level, 264 EXTernal trigger level, 619 external trigger probe attenuation
factor, 266 external trigger probe sensing, 742 EXTernal trigger source, 622 external trigger units, 268 external waveform label, 263
F
failed waveforms in mask test, 424 failure, self test, 138 fall time measurement, 364, 376 falling edge count measurement, 379 falling pulse count measurement, 380 Fast Fourier Transform (FFT)
functions, 271, 278, 280, 301, 303, 305, 307, 313, 319, 744

FF values in waveform data, 662 FFT (Fast Fourier Transform) functions, 271,
278, 280, 301, 303, 305, 307, 313, 319, 744 FFT (Fast Fourier Transform) operation, 674 FFT commands, 269 FFT function display, 272 FFT function, source input, 277 FFT vertical units, 279, 306 FFTPhase (Fast Fourier Transform) functions, 313 fifty ohm impedance, disable setting, 579 filename for hardcopy, 747 filename for recall, 449, 692 filename for save, 458 filter for frequency reject, 620 filter for high frequency reject, 609 filter for noise reject, 615 filter used to limit bandwidth, 213, 261 filters to Fast Fourier Transforms, 280, 307 fine horizontal adjustment (vernier), 600 fine vertical adjustment (vernier), 229 finish pending device operations, 126 first point displayed, 684 FLATtop window for amplitude measurements, 280, 307 FM burst demo signal, 232 FM modulation type, waveform generator, 709 force trigger, 608 format, 664, 669 format for block data, 125 format for hardcopy, 746 format for image, 461 format for waveform data, 470 FormattedIO488 object, 45 formfeed for hardcopy, 322, 326 formulas for data conversion, 657 frame, 531 frame counters (CAN), error, 484 frame counters (CAN), overload, 485 frame counters (CAN), reset, 486 frame counters (CAN), total, 487 frame counters (UART), error, 548 frame counters (UART), reset, 549 frame counters (UART), Rx frames, 550 frame counters (UART), Tx frames, 551 framing, 528 FRANalysis commands, 283 frequency deviation, waveform generator FM modulation, 701 frequency measurement, 43, 364, 377 frequency measurements with X cursors, 348 frequency resolution, 280, 307 frequency response analysis, data, 285 frequency response analysis, enable, 286 frequency response analysis, run, 291 frequency response analysis, single frequency, 288 frequency response analysis, sweep start frequency, 289

frequency response analysis, sweep stop frequency, 290
frequency span of display, 278, 305 frequency versus dB, 301 front panel mode, 616 front panel Single key, 170 front panel Stop key, 172 front-panel lock, 572 FSK modulation type, waveform
generator, 709 FSK rate, waveform generator
modulation, 704 full-scale horizontal time, 597, 602 full-scale vertical axis defined, 274, 315 function, 174, 271, 278, 280, 302, 303,
305, 307, 312, 313, 315, 316, 317, 744, 745 FUNCtion commands, 299 function memory, 171 function turned on or off, 745 function, demo signal, 232 function, waveform generator, 693 functions, 674
G
g(t) source, first input channel, 310 g(t) source, math operation, 309 g(t) source, second input channel, 311 gain data, including in FRA results, 295 gateway IP, 38 Gen Out BNC, 203 general SBUS<n> commands, 479 general trigger commands, 607 glitch demo signal, 232 glitch duration, 629 glitch qualifier, 628 glitch source, 630 GLITch trigger commands, 623 glitch trigger duration, 624 glitch trigger polarity, 627 glitch trigger source, 624 graticule area for hardcopy print, 323 graticule colors, invert for hardcopy, 327,
749 graticule colors, invert for image, 462 grayscale palette for hardcopy, 332 grayscale palette for image, 463 grayscaling on hardcopy, 748 greater than qualifier, 628 greater than time, 624, 629
H
HANNing window for frequency resolution, 280, 307
hardcopy, 167, 322 HARDcopy commands, 321 hardcopy factors, 325, 460 hardcopy filename, 747

946

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Index

hardcopy format, 746 hardcopy formfeed, 326 hardcopy grayscale, 748 hardcopy invert graticule colors, 327, 749 hardcopy layout, 328 hardcopy palette, 332 hardcopy print, area, 323 hardcopy printer driver, 750 HARMonics demo signal, 232 head type, probe, 221 header, 819 high resolution acquisition type, 657 high trigger level, 612 high-frequency reject filter, 609, 620 high-level voltage, waveform
generator, 717 high-resolution acquisition type, 186 hold time, setup and hold trigger, 640 hold until operation complete, 126 holdoff time, 610 holes in waveform data, 662 hop frequency, waveform generator FSK
modulation, 703 horizontal adjustment, fine (vernier), 600 horizontal position, 601 horizontal scale, 599, 603 horizontal scaling, 669 horizontal time, 597, 602, 753 Host ID of oscilloscope, 569 Host name softkey, 38 hostname, 38
I
id mode, 498 ID pattern, CAN trigger, 497 identification number, 124 identification of options, 127 identifier, LIN, 518 idle until operation complete, 126 IDN (Identification Number), 124 IEEE 488.2 standard, 117 IIC address, 503 IIC clock, 501 IIC data, 502, 504 IIC data 2, 505 IIC serial decode address field size, 500 IIC trigger commands, 499 IIC trigger qualifier, 506 IIC trigger type, 507 IIC triggering, 477 image format, 461 image invert graticule colors, 462 image memory, 171 image palette, 463 image, save, 459 image, save with inksaver, 462 impedance, 216 infinity representation, 825 initialization, 42, 45 initialize, 129, 576

initialize label list, 245 initiate acquisition, 151 inksaver, save image with, 462 input coupling for channels, 214 input impedance for channels, 216, 738 input inversion for specified channel, 217 insert label, 218 installed options identified, 127 instruction header, 819 instrument number, 124 instrument options identified, 127 instrument requests service, 136 instrument serial number, 169 instrument settings, 322 instrument status, 52 instrument type, 124 intensity, waveform, 243 internal low-pass filter, 212, 213, 261 introduction to :ABUS commands, 176 introduction to :ACQuire commands, 185 introduction to :CALibrate commands, 200 introduction to :CHANnel<n>
commands, 211 introduction to :DEMO commands, 231 introduction to :DISPlay commands, 236 introduction to :EXTernal commands, 260 introduction to :FFT commands, 270 introduction to :FRANalysis
commands, 284 introduction to :FUNCtion commands, 301 introduction to :HARDcopy
commands, 322 introduction to :LISTer commands, 335 introduction to :MARKer commands, 340 introduction to :MEASure commands, 364 introduction to :RECall commands, 447 introduction to :SAVE commands, 457 introduction to :SBUS commands, 477 introduction to :SYSTem commands, 567 introduction to :TIMebase commands, 594 introduction to :TRIGger commands, 605 introduction to :WAVeform
commands, 655 introduction to :WGEN commands, 691 introduction to :WMEMory<r>
commands, 721 introduction to common (*)
commands, 117 introduction to root (:) commands, 143 invert graticule colors for hardcopy, 327,
749 invert graticule colors for image, 462 inverted masks, bind levels, 440 inverting input for channels, 217 IO library, referencing, 44 IP address, 38
K
key disable, 572

key press detected in Standard Event Status Register, 123
Keysight Interactive IO application, 40 Keysight IO Control icon, 39 Keysight IO Libraries Suite, 6, 35, 44, 46 Keysight IO Libraries Suite, installing, 36 knob disable, 572 known state, 129, 576
L
label, 736 label command, abus, 182 label list, 218, 245 label reference waveforms, 725 labels, 218, 244, 245 labels to store calibration information, 202 labels, specifying, 236 LAN interface, 37 LAN Settings softkey, 38 landscape layout for hardcopy, 328 language for program examples, 41 layout for hardcopy, 328 leakage into peak spectrum, 280, 307 learn string, 125, 587 least significant byte first, 660 left reference, 598 legal values for channel offset, 219 legal values for frequency span, 278, 305 legal values for offset, 312, 316 length for waveform data, 471 less than qualifier, 628 less than time, 625, 629 level for trigger voltage, 619, 626 LF coupling, 618 license information, 127 limit bandwidth, 212 limits for line number, 648 LIN acknowledge, 512 LIN baud rate, 513 LIN demo signal, 233 LIN identifier, 518 LIN pattern data, 519 LIN pattern format, 522 LIN serial decode bus parity bits, 511 LIN source, 514 LIN standard, 515 LIN sync break, 516 LIN trigger, 517, 521 LIN trigger commands, 509 LIN triggering, 477 line glitch trigger source, 630 line number for TV trigger, 648 line terminator, 111 LINE trigger level, 619 LINE trigger source, 622 list of channel labels, 245 LISTer commands, 335 lister display, 337 lister time reference, 338 load utilization (CAN), 488

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

947

Index

local lockout, 572 lock, 572 lock mask to signal, 431 lock, analog channel protection, 579 lockout message, 572 log file name, remote command
logging, 580, 583 long form, 820 low frequency sine with glitch demo
signal, 232 low pass filter math function, 313 low trigger level, 613 lower threshold, 385 lower threshold voltage for
measurement, 751 lowercase characters in commands, 819 low-frequency reject filter, 620 low-level voltage, waveform
generator, 718 low-pass filter cutoff frequency, 308 low-pass filter used to limit
bandwidth, 212, 213, 261 LRN (Learn Device Setup), 125 lsbfirst, 660
M
magnitude of occurrence, 398 main sweep range, 601 main time base, 775 main time base mode, 595 making measurements, 364 MAN option for probe sense, 739, 742 manual cursor mode, 342 manufacturer string, 574, 575 MARKer commands, 339 marker mode, 350 marker position, 351 marker readout, 757, 758 marker set for voltage measurement, 762,
763 marker sets start time, 754 marker time, 753 markers for delta voltage
measurement, 761 markers track measurements, 393 markers, command overview, 340 markers, mode, 342 markers, time at start, 758 markers, time at stop, 757 markers, X delta, 347 markers, X1 position, 343 markers, X1Y1 source, 344 markers, X2 position, 345 markers, X2Y2 source, 346 markers, Y delta, 352 markers, Y1 position, 350 markers, Y2 position, 351 mask, 120, 133 mask command, abus, 183 mask statistics, reset, 425

mask test commands, 413 Mask Test Event Enable Register
(MTEenable), 153 mask test event event register, 155 Mask Test Event Event Register
(:MTERegister[:EVENt]), 155, 803 mask test run mode, 432 mask test termination conditions, 432 mask test, all channels, 418 mask test, enable/disable, 430 mask, delete, 429 mask, get as binary block data, 428 mask, load from binary block data, 428 mask, lock to signal, 431 mask, recall, 450 mask, save, 464, 465 masks, bind levels, 440 master summary status bit, 136 math function, stop displaying, 150 math operations, 301 MAV (Message Available), 119, 134, 136 maximum duration, 625 maximum position, 596 maximum range for zoomed window, 602 maximum scale for zoomed window, 603 maximum vertical value measurement, 403 maximum vertical value, time of, 410, 755 maximum waveform data length, 472 MEASure commands, 355 measure mask test failures, 433 measure overshoot, 382 measure period, 385 measure phase between channels, 386 measure preshoot, 388 measure start voltage, 762 measure stop voltage, 763 measure value at a specified time, 407 measure value at top of waveform, 408 measurement error, 364 measurement record, 667 measurement results, 390 measurement setup, 364, 394 measurement source, 394 measurement window, 409 measurements, AC RMS, 406 measurements, average value, 401 measurements, base value, 402 measurements, built-in, 43 measurements, clear, 368, 752 measurements, command overview, 364 measurements, counter, 369 measurements, DC RMS, 406 measurements, definition setup, 371 measurements, delay, 373 measurements, duty cycle, 375 measurements, fall time, 376 measurements, falling edge count, 379 measurements, falling pulse count, 380 measurements, frequency, 377 measurements, how autoscale affects, 145 measurements, lower threshold level, 751

measurements, maximum vertical value, 403
measurements, maximum vertical value, time of, 410, 755
measurements, minimum vertical value, 404
measurements, minimum vertical value, time of, 411, 756
measurements, negative duty cycle, 378 measurements, overshoot, 382 measurements, period, 385 measurements, phase, 386 measurements, preshoot, 388 measurements, pulse width, negative, 381 measurements, pulse width, positive, 389 measurements, rise time, 391 measurements, rising edge count, 384 measurements, rising pulse count, 387 measurements, show, 393 measurements, snapshot all, 366 measurements, source channel, 394 measurements, standard deviation, 392 measurements, start marker time, 757 measurements, stop marker time, 758 measurements, thresholds, 754 measurements, time between start and stop
markers, 753 measurements, time between trigger and
edge, 396 measurements, time between trigger and
vertical value, 398 measurements, time between trigger and
voltage level, 759 measurements, upper threshold value, 760 measurements, vertical amplitude, 400 measurements, vertical peak-to-peak, 405 measurements, voltage difference, 761 memory setup, 132, 587 menu timeout, 246 menu, system, 573 message available bit, 136 message available bit clear, 119 message displayed, 136 message error, 777 message queue, 795 messages ready, 136 midpoint of thresholds, 385 minimum duration, 624 minimum vertical value measurement, 404 minimum vertical value, time of, 411, 756 MISO data pattern width, 536 MISO data pattern, SPI trigger, 535 MISO data source, SPI trigger, 532 MISO data, SPI, 678 mnemonics, duplicate, 823 mode, 342, 595 mode, serial decode, 481 model number, 124 models, oscilloscope, 3 modes for triggering, 614 Modify softkey, 38

948

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Index

modulating signal frequency, waveform generator, 700, 702
modulation (waveform generator), enabling/disabling, 708
modulation type, waveform generator, 709 MOSI data pattern width, 538 MOSI data pattern, SPI trigger, 537 MOSI data source, SPI trigger, 533 most significant byte first, 660 move cursors, 757, 758 msbfirst, 660 MSG (Message), 134, 136 MSS (Master Summary Status), 136 MTEenable (Mask Test Event Enable
Register), 153 MTERegister[:EVENt] (Mask Test Event Event
Register), 155, 803 MTESt commands, 413 multi-channel waveform data, save, 466 multiple commands, 823 multiple queries, 51 multiply math function, 301, 313, 674 multiply math function as g(t) source, 309
N
N8900A InfiniiView oscilloscope analysis software, 466
name channels, 218 name list, 245 negative glitch trigger polarity, 627 negative pulse width, 381 negative pulse width measurement, 43 negative slope, 526, 621 negative TV trigger polarity, 650 network printer address, 329 network printer slot, 331 network printer, apply connection
settings, 330 new line (NL) terminator, 111, 820 NL (new line) terminator, 111, 820 noise reject filter, 615 noise waveform generator output, 694 noise, adding to waveform generator
output, 707 noisy sine waveform demo signal, 232 non-core commands, 818 non-volatile memory, label list, 245 normal acquisition type, 185, 656 normal trigger sweep mode, 605 notices, 2 NR1 number format, 111 NR3 number format, 111 NTSC, 648, 652 NULL string, 570 number format, 111 number of points, 190, 665, 667 number of time buckets, 665, 667 numeric variables, 50 numeric variables, reading query results into
multiple, 52

nwidth, 381
O
obsolete and discontinued commands, 731 obsolete commands, 818 occurrence reported by magnitude, 759 offset value for channel voltage, 219 offset value for FFT function, 273, 275 offset value for selected function, 312, 316 offset, waveform generator, 719 one values in waveform data, 662 OPC (Operation Complete) command, 126 OPC (Operation Complete) status bit, 121,
123 OPEE (Operation Status Enable
Register), 157 Open method, 45 operating configuration, 125, 587 operating state, 132 operation complete, 126 operation status condition register, 159 Operation Status Condition Register
(:OPERegister:CONDition), 159, 800 operation status conditions occurred, 136 Operation Status Enable Register
(OPEE), 157 operation status event register, 161 Operation Status Event Register
(:OPERegister[:EVENt]), 161, 799 operation, math, 301 operations for function, 313 OPERegister:CONDition (Operation Status
Condition Register), 159, 800 OPERegister[:EVENt] (Operation Status
Event Register), 161, 799 OPT (Option Identification), 127 optional syntax terms, 111 options, 127 order of output, 660 oscilloscope connection, opening, 45 oscilloscope connection, verifying, 39 oscilloscope external trigger, 260 oscilloscope models, 3 oscilloscope rate, 196 oscilloscope, connecting, 37 oscilloscope, initialization, 42 oscilloscope, operation, 6 oscilloscope, program structure, 42 oscilloscope, setting up, 37 oscilloscope, setup, 46 output control, demo signals, 234 output control, waveform generator, 711 output load impedance, waveform
generator, 296, 712 output messages ready, 136 output polarity, waveform generator, 713 output queue, 126, 794 output queue clear, 119 output sequence, 660 overlapped commands, 826

overload, 225 Overload Event Enable Register (OVL), 163 Overload Event Register
(:OVLRegister), 802 Overload Event Register (OVLR), 165 overload frame count (CAN), 485 overload protection, 163, 165 overshoot of waveform, 382 overvoltage, 225 OVL (Overload Event Enable Register), 163 OVLR (Overload Event Register), 165 OVLR bit, 159, 161 OVLRegister (Overload Event Register), 802
P
PAL, 648, 652 palette for hardcopy, 332 palette for image, 463 PAL-M, 648, 652 parameters for delay measurement, 373 parametric measurements, 364 parity, 553 parity bits, LIN serial decode bus, 511 parser, 143, 823 pass, self test, 138 path information, recall, 451 path information, save, 467 pattern, 503, 504, 505 pattern data, LIN, 519 pattern duration, 624, 625 pattern for pattern trigger, 632 pattern format, LIN, 522 pattern length, 496, 521 PATTern trigger commands, 631 pattern trigger format, 634 pattern trigger qualifier, 635 pattern triggering, 606 pattern width, 536, 538, 539 peak data, 657 peak detect, 197 peak detect acquisition type, 186, 657 peak-to-peak vertical value
measurement, 405 pending operations, 126 percent of waveform overshoot, 382 percent thresholds, 371 period measured to calculate phase, 386 period measurement, 43, 364, 385 period, waveform generator, 714 persistence, waveform, 236, 247 phase data, including in FRA results, 295 phase measured between channels, 386 phase measurements, 396 phase measurements with X cursors, 348 PNG format screen image data, 242 pod, stop displaying, 150 points, 190, 665, 667 points in waveform data, 656 points per decade, frequency response
analysis, 743

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

949

Index

points, frequency response analysis, 294 polarity, 554, 650 polarity for glitch trigger, 627 polling synchronization with timeout, 810 polling wait, 808 PON (Power On) status bit, 121, 123 portrait layout for hardcopy, 328 position, 345, 596, 601 position cursors, 757, 758 position in zoomed view, 601 positive glitch trigger polarity, 627 positive pulse width, 389 positive pulse width measurement, 43 positive slope, 526, 621 positive TV trigger polarity, 650 positive width, 389 preamble data, 669 preamble metadata, 655 present working directory, recall
operations, 451 present working directory, save
operations, 467 preset conditions, 576 preshoot measured on waveform, 388 previously stored configuration, 128 print command, 167 print job, start, 334 print mask test failures, 434 print query, 772 printer driver for hardcopy, 750 printer, active, 324 printing, 322 printing in grayscale, 748 probe, 619 probe attenuation affects channel voltage
range, 226 probe attenuation factor (external
trigger), 266 probe attenuation factor for selected
channel, 220 probe head type, 221 probe ID, 222 probe sense for oscilloscope, 739, 742 probe skew value, 223, 737 process sigma, mask test run, 437 program data, 820 program data syntax rules, 822 program initialization, 42 program message, 45, 118 program message syntax, 819 program message terminator, 820 program structure, 42 programming examples, 5, 827 protecting against calibration, 204 protection, 163, 165, 225 protection lock, 579 pulse waveform generator output, 694 pulse width, 381, 389 pulse width duration trigger, 624, 625,
629 pulse width measurement, 43, 364 pulse width trigger, 615

pulse width trigger level, 626 pulse width triggering, 606 pulse width, waveform generator, 696 pwidth, 389 Python, VISA COM example, 854 Python, VISA example, 901 PyVISA package, 901
Q
qualifier, 629 qualifier, transition trigger, 643 qualifier, trigger pattern, 635 queries, multiple, 51 query error detected in Standard Event
Status, 123 query responses, block data, 50 query responses, reading, 49 query results, reading into numeric
variables, 50 query results, reading into string
variables, 50 query return values, 825 query setup, 322, 340, 364, 587 querying setup, 211 querying the subsystem, 606 queues, clearing, 804 quick reference, commands, 55 quoted ASCII string, 112 QYE (Query Error) status bit, 121, 123
R
ramp symmetry, waveform generator, 697 ramp symmetry, waveform generator
modulating signal, 706 ramp waveform generator output, 694 range, 602 range for channels, 226 range for external trigger, 267 range for full-scale vertical axis, 274, 315 range for glitch trigger, 629 range for time base, 597 range of offset values, 219 range qualifier, 628 ranges, value, 112 rate, 196 ratio measurements with X cursors, 348 ratio measurements with Y cursors, 353 raw acquisition record, 667 RCL (Recall), 128 read configuration, 125 ReadIEEEBlock method, 45, 49, 51 ReadList method, 45, 49 ReadNumber method, 45, 49 readout, 753 ReadString method, 45, 49 real-time acquisition mode, 189 recall, 128, 447, 587 RECall commands, 447

recall filename, 449, 692 recall mask, 450 recall path information, 451 recall reference waveform, 453 recall setup, 452 recalling and saving data, 236 RECTangular window for transient
signals, 280, 307 reference, 598 reference for time base, 775 reference point, FFT Phase, 304 reference waveform save source, 474 reference waveform, recall, 453 reference waveform, save, 475 reference waveforms, clear, 723 reference waveforms, display, 724 reference waveforms, label, 725 reference waveforms, save to, 726 reference waveforms, skew, 727 reference waveforms, Y offset, 728 reference waveforms, Y range, 729 reference waveforms, Y scale, 730 reference, lister, 338 registers, 122, 128, 132, 144, 153, 155,
157, 159, 161, 163, 165 registers, clearing, 804 reject filter, 620 reject high frequency, 609 reject noise, 615 remote command logging,
enable/disable, 580, 584 remote control examples, 827 remove cursor information, 342 remove labels, 244 remove message from display, 570 reorder channels, 145 repetitive acquisitions, 168 report errors, 571 report transition, 396, 398 reporting status, 785 reporting the setup, 606 request service, 136 Request-for-OPC flag clear, 119 reset, 129 reset conditions, 129 reset defauts, waveform generator, 715 reset mask statistics, 425 reset measurements, 241 resolution of printed copy, 748 resource session object, 45 ResourceManager object, 45 restore configurations, 125, 128, 132, 587 restore labels, 244 restore setup, 128 results, measurement, 390 return values, query, 825 returning acquisition type, 197 returning number of data points, 190 RF burst demo signal, 232 right reference, 598 ringing pulse demo signal, 232 rise time measurement, 364

950

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Index

rise time of positive edge, 391 rising edge count measurement, 384 rising pulse count measurement, 387 RMS value measurement, 406 roll time base mode, 595 root (:) commands, 141, 143 root level commands, 3 root path for USB storage devices, 592 RQL (Request Control) status bit, 121, 123 RQS (Request Service), 136 RS-232/UART triggering, 478 RST (Reset), 129 rules, tree traversal, 823 rules, truncation, 820 run, 137, 168 Run bit, 159, 161 run mode, mask test, 432 running configuration, 132, 587 Rx frame count (UART), 550 Rx source, 555
S
sample rate, 3, 196 sampled data, 740 sampled data points, 662 SAV (Save), 132 save, 132, 457 SAVE commands, 455 save filename, 458 save image, 459 save image with inksaver, 462 save mask, 464, 465 save mask test failures, 435 save path information, 467 save reference waveform, 475 save setup, 468 save to reference waveform location, 726 save waveform data, 469 saved image, area, 774 saving and recalling data, 236 SBUS CAN commands, 482 SBUS commands, 477 SBUS<n> commands, general, 479 scale, 276, 317, 599, 603 scale factors output on hardcopy, 325, 460 scale for channels, 227 scale units for channels, 228 scale units for external trigger, 268 scaling display factors, 220 SCPI commands, 53 SCPI.NET examples, 941 scratch measurements, 752 screen area for hardcopy print, 323 screen area for saved image, 774 screen display of logged remote commands,
enable/disable, 582 screen image data, 242 SECAM, 648, 652 seconds per division, 599 segmented waveform save option, 473

segments, analyze, 191 segments, count of waveform, 672 segments, setting number of memory, 192 segments, setting the index, 193 segments, time tag, 673 select measurement channel, 394 self-test, 138 sensing a channel probe, 739 sensing a external trigger probe, 742 sensitivity of oscilloscope input, 220 sequential commands, 826 serial clock, 501, 529 serial data, 502 serial decode bus, 477 serial decode bus display, 480 serial decode mode, 481 serial frame, 531 serial number, 169 service request, 136 Service Request Enable Register
(SRE), 134, 792 set center frequency, 271, 303 set cursors, 757, 758 set date, 568 set time, 589 set up oscilloscope, 37 setting display, 302 setting external trigger level, 260 setting impedance for channels, 216 setting inversion for channels, 217 settings, 128, 132 settings, instrument, 322 setup, 186, 211, 236, 322, 587 setup and hold trigger clock source, 638 setup and hold trigger data source, 639 setup and hold trigger hold time, 640 setup and hold trigger setup time, 641 setup and hold trigger slope, 637 setup configuration, 128, 132, 587 setup defaults, 129, 576 setup memory, 128 setup reported, 606 setup time, setup and hold trigger, 641 setup, recall, 452 setup, save, 468 shape of modulation signal, waveform
generator, 705 SHOLd trigger commands, 636 short form, 5, 820 show channel labels, 244 show measurements, 364, 393 SICL example in C, 921 SICL example in Visual Basic, 930 SICL examples, 921 sigma, mask test run, 437 signal type, 224 signed data, 658 simple command headers, 821 sine waveform demo signal, 232 sine waveform generator output, 693 single acquisition, 170

single frequency, frequency response analysis, 287
single-ended probe heads, 221 single-ended signal type, 224 single-shot demo signal, 232 single-shot DUT, synchronizing with, 812 skew, 223, 737 skew reference waveform, 727 slope, 526, 621 slope (direction) of waveform, 759 slope not valid in TV trigger mode, 621 slope parameter for delay
measurement, 373 slope, setup and hold trigger, 637 slope, transition trigger, 644 slot, network printer, 331 smoothing acquisition type, 657 snapshot all measurement, 366 softkey menu timeout, 246 software version, 124 source, 394, 492, 514 source for function, 318, 319, 744 source for trigger, 622 source for TV trigger, 651 source input for FFT function, 277 source, automask, 420 source, mask test, 445 source, save reference waveform, 474 source, transition trigger, 645 source, waveform, 674 span, 301, 313 span of frequency on display, 278, 305 specify measurement, 394 SPI, 526 SPI clock timeout, 527 SPI decode bit order, 525 SPI decode word width, 541 SPI MISO data, 678 SPI trigger, 528, 536, 538, 539 SPI trigger clock, 529 SPI trigger commands, 523 SPI trigger data pattern, 534 SPI trigger frame, 531 SPI trigger MISO data pattern, 535 SPI trigger MOSI data pattern, 537 SPI trigger type, 540 SPI trigger, data source, 530 SPI trigger, MISO data source, 532 SPI trigger, MOSI data source, 533 SPI triggering, 478 square wave duty cycle, waveform
generator, 698 square waveform generator output, 693 SRE (Service Request Enable
Register), 134, 792 SRQ (Service Request interrupt), 153, 157 standard deviation measured on
waveform, 392 Standard Event Status Enable Register
(ESE), 120, 797 Standard Event Status Register (ESR), 122,
796

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

951

Index

standard for video, 652 standard, LIN, 515 start acquisition, 137, 151, 168, 170 start and stop edges, 371 start cursor, 757 start measurement, 364 start print job, 334 start time, 629, 757 start time marker, 754 state memory, 132 state of instrument, 125, 587 status, 135, 171, 173 Status Byte Register (STB), 133, 135, 136,
790 status data structure clear, 119 status registers, 52 status reporting, 785 STB (Status Byte Register), 133, 135, 136,
790 step size for frequency span, 278, 305 stop, 151, 172 stop acquisition, 172 stop cursor, 758 stop displaying channel, 150 stop displaying math function, 150 stop displaying pod, 150 stop on mask test failure, 436 stop time, 629, 758 storage, 132 store instrument setup, 125, 132 store setup, 132 storing calibration information, 202 string variables, 50 string variables, reading multiple query
results into, 51 string variables, reading query results into
multiple, 51 string, quoted ASCII, 112 subnet mask, 38 subsource, waveform source, 678 subsystem commands, 3, 823 subtract math function, 301, 313, 674 subtract math function as g(t) source, 309 sweep mode, trigger, 605, 616 sweep speed set to fast to measure fall
time, 376 sweep speed set to fast to measure rise
time, 391 switch disable, 572 sync break, LIN, 516 syntax elements, 111 syntax rules, program data, 822 syntax, optional terms, 111 syntax, program message, 819 SYSTem commands, 565 system commands, 568, 570, 571, 572,
587, 589 system commands introduction, 567

T
tdelta, 753 tedge, 396 telnet ports 5024 and 5025, 662 Telnet sockets, 53 temporary message, 570 TER (Trigger Event Register), 173, 793 termination conditions, mask test, 432 test sigma, mask test run, 437 test, self, 138 text, writing to display, 570 threshold voltage (lower) for
measurement, 751 threshold voltage (upper) for
measurement, 760 thresholds, 371, 754 thresholds used to measure period, 385 thresholds, how autoscale affects, 145 time base, 595, 596, 597, 598, 599, 775 time base commands introduction, 594 time base reset conditions, 130, 577 time base window, 601, 602, 603 time between points, 753 time buckets, 187, 188 time delay, 775 time delta, 753 time difference between data points, 682 time duration, 629 time holdoff for trigger, 610 time interval, 396, 398, 753 time interval between trigger and
occurrence, 759 time marker sets start time, 754 time measurements with X cursors, 348 time per division, 597 time record, 280, 307 time reference, lister, 338 time specified, 407 time, calibration, 208 time, mask test run, 438 time, start marker, 757 time, stop marker, 758 time, system, 589 time, transition trigger, 646 time/div, how autoscale affects, 145 time-at-max measurement, 755 time-at-min measurement, 756 TIMebase commands, 593 timebase vernier, 600 TIMebase:MODE, 48 time-ordered label list, 245 timeout, SPI clock, 527 timezone, 590 timing measurement, 364 title channels, 218 title, mask test, 446 tolerance, automask, 422, 423 top of waveform value measured, 408 total frame count (CAN), 487 total waveforms in mask test, 427 trace memory, 171

track measurements, 393 transfer instrument state, 125, 587 transition trigger qualifier, 643 transition trigger slope, 644 transition trigger source, 645 transition trigger time, 646 transparent screen background, remote
command logging, 585 transparent, display, 248 tree traversal rules, 823 TRG (Trigger), 134, 136, 137 trigger armed event register, 159, 161 trigger burst, UART, 558 trigger channel source, 630, 651 TRIGger commands, 605 TRIGger commands, general, 607 trigger data, UART, 559 TRIGger EDGE commands, 617 trigger edge coupling, 618 trigger edge slope, 621 trigger event bit, 173 Trigger Event Register (TER), 793 TRIGger GLITch commands, 623 trigger holdoff, 610 trigger idle, UART, 560 TRIGger IIC commands, 499 trigger level auto set up, 611 trigger level constants, 220 trigger level voltage, 619 trigger level, high, 612 trigger level, low, 613 TRIGger LIN commands, 509 trigger occurred, 136 TRIGger PATTern commands, 631 trigger pattern qualifier, 635 trigger qualifier, UART, 561 trigger reset conditions, 130, 577 TRIGger SHOLd commands, 636 trigger SPI clock slope, 526 TRIGger SPI commands, 523 trigger status bit, 173 trigger sweep mode, 605 TRIGger TV commands, 642, 647 trigger type, SPI, 540 trigger type, UART, 562 TRIGger UART commands, 542 trigger, CAN, 493 trigger, CAN pattern data length, 496 trigger, CAN pattern ID mode, 498 trigger, CAN sample point, 489 trigger, CAN signal baudrate, 490 trigger, CAN signal definition, 491 trigger, CAN source, 492 trigger, edge coupling, 618 trigger, edge level, 619 trigger, edge reject, 620 trigger, edge slope, 621 trigger, edge source, 622 trigger, force a, 608 trigger, glitch greater than, 624 trigger, glitch less than, 625 trigger, glitch level, 626

952

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

Index

trigger, glitch polarity, 627 trigger, glitch qualifier, 628 trigger, glitch range, 629 trigger, glitch source, 630 trigger, high frequency reject filter, 609 trigger, holdoff, 610 trigger, IIC clock source, 501 trigger, IIC data source, 502 trigger, IIC pattern address, 503 trigger, IIC pattern data, 504 trigger, IIC pattern data 2, 505 trigger, IIC qualifier, 506 trigger, IIC signal baudrate, 513 trigger, IIC type, 507 trigger, LIN, 517 trigger, LIN pattern data, 519 trigger, LIN pattern data length, 521 trigger, LIN pattern format, 522 trigger, LIN sample point, 512 trigger, LIN source, 514 trigger, mode, 614 trigger, noise reject filter, 615 trigger, SPI clock slope, 526 trigger, SPI clock source, 529 trigger, SPI clock timeout, 527 trigger, SPI frame source, 531 trigger, SPI framing, 528 trigger, SPI pattern MISO width, 536 trigger, SPI pattern MOSI width, 538 trigger, SPI pattern width, 539 trigger, sweep, 616 trigger, TV line, 648 trigger, TV mode, 649, 776 trigger, TV polarity, 650 trigger, TV source, 651 trigger, TV standard, 652 trigger, UART base, 557 trigger, UART baudrate, 546 trigger, UART bit order, 547 trigger, UART parity, 553 trigger, UART polarity, 554 trigger, UART Rx source, 555 trigger, UART Tx source, 556 trigger, UART width, 563 truncation rules, 820 TST (Self Test), 138 tstart, 757 tstop, 758 turn function on or off, 745 turn off channel, 150 turn off channel labels, 244 turn off math function, 150 turn on channel labels, 244 turning channel display on and off, 215 turning off/on function calculation, 302 turning vectors on or off, 740 TV mode, 649, 776 TV trigger commands, 642, 647 TV trigger line number setting, 648 TV trigger mode, 651 TV trigger polarity, 650 TV trigger standard setting, 652

TV triggering, 606 tvmode, 776 Tx data, UART, 678 Tx frame count (UART), 551 Tx source, 556 type, 679
U
UART base, 557 UART baud rate, 546 UART bit order, 547 UART frame counters, reset, 549 UART parity, 553 UART polarity, 554 UART Rx source, 555 UART trigger burst, 558 UART trigger commands, 542 UART trigger data, 559 UART trigger idle, 560 UART trigger qualifier, 561 UART trigger type, 562 UART Tx data, 678 UART Tx source, 556 UART width, 563 UART/RS-232 triggering, 478 units (vertical) for FFT, 279, 306 units per division, 227, 228, 268, 599 units per division (vertical) for FFT
function, 276 units per division (vertical) for
function, 227, 317 units, automask, 421 units, X cursor, 348, 349 units, Y cursor, 353, 354 unsigned data, 658 unsigned mode, 680 upper threshold, 385 upper threshold voltage for
measurement, 760 uppercase characters in commands, 819 URQ (User Request) status bit, 121, 123 USB (Device) interface, 37 user defined channel labels, 218 user event conditions occurred, 136 User's Guide, 6 USR (User Event bit), 134, 136 utilization, CAN bus, 488
V
valid command strings, 819 value, 398 value measured at base of waveform, 402 value measured at specified time, 407 value measured at top of waveform, 408 value ranges, 112 values required to fill time buckets, 188 VBA, 44, 828 vectors turned on or off, 740

vectors, display, 249 vectors, turning on or off, 236 vernier, channel, 229 vernier, horizontal, 600 vertical adjustment, fine (vernier), 229 vertical amplitude measurement, 400 vertical axis defined by RANGe, 274, 315 vertical axis range for channels, 226 vertical offset for channels, 219 vertical peak-to-peak measured on
waveform, 405 vertical scale, 227, 276, 317 vertical scaling, 669 vertical units for FFT, 279, 306 vertical value at center screen, 273, 275,
312, 316 vertical value maximum measured on
waveform, 403 vertical value measurements to calculate
overshoot, 382 vertical value minimum measured on
waveform, 404 video line to trigger on, 648 video standard selection, 652 view, 174, 301, 681 view turns function on or off, 745 VISA COM example in C#, 837 VISA COM example in Python, 854 VISA COM example in Visual Basic, 828 VISA COM example in Visual Basic
.NET, 846 VISA example in C, 861 VISA example in C#, 880 VISA example in Python, 901 VISA example in Visual Basic, 870 VISA example in Visual Basic .NET, 891 VISA examples, 828, 861 VISA.NET example in C#, 908 VISA.NET example in Visual Basic
.NET, 914 VISA.NET examples, 908 Visual Basic .NET, VISA COM example, 846 Visual Basic .NET, VISA example, 891 Visual Basic .NET, VISA.NET example, 914 Visual Basic 6.0, 45 Visual Basic for Applications, 44, 828 Visual Basic, SICL library example, 930 Visual Basic, VISA COM example, 828 Visual Basic, VISA example, 870 voltage crossing reported or not found, 759 voltage difference between data
points, 685 voltage difference measured, 761 voltage in, frequency response
analysis, 292, 293 voltage level for active trigger, 619 voltage marker used to measure
waveform, 762, 763 voltage offset value for channels, 219 voltage probe, 228, 268 voltage ranges for channels, 226 voltage ranges for external trigger, 267

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide

953

Index

voltage threshold, 371
W
WAI (Wait To Continue), 139 wait, 139 wait for operation complete, 126 Wait Trig bit, 159, 161 warranty, 2 waveform base value measured, 402 WAVeform command, 43 WAVeform commands, 653 waveform data, 655 waveform data format, 470 waveform data length, 471 waveform data length, maximum, 472 waveform data, save, 469 waveform generator, 691 waveform generator amplitude, 297, 716 waveform generator function, 693 waveform generator high-level
voltage, 717 waveform generator low-level voltage, 718 waveform generator offset, 719 waveform generator output control, 711 waveform generator output load
impedance, 296, 712 waveform generator output polarity, 713 waveform generator period, 714 waveform generator pulse width, 696 waveform generator ramp symmetry, 697 waveform generator reset defaults, 715 waveform generator square wave duty
cycle, 698 waveform introduction, 655 waveform maximum vertical value
measured, 403 waveform minimum vertical value
measured, 404 waveform must cross voltage level to be an
occurrence, 759 WAVeform parameters, 48 waveform peak-to-peak vertical value
measured, 405 waveform period, 385 waveform persistence, 236 waveform RMS value measured, 406 waveform save option for segments, 473 waveform source, 674 waveform source subsource, 678 waveform standard deviation value
measured, 392 waveform vertical amplitude, 400 waveform voltage measured at
marker, 762, 763 waveform, byte order, 660 waveform, count, 661 waveform, data, 662 waveform, format, 664 waveform, points, 665, 667 waveform, preamble, 669

waveform, type, 679 waveform, unsigned, 680 waveform, view, 681 waveform, X increment, 682 waveform, X origin, 683 waveform, X reference, 684 waveform, Y increment, 685 waveform, Y origin, 686 waveform, Y reference, 687 WAVeform:FORMat, 48 waveforms, mask test run, 439 Web control, 53 website, examples on, 827 WGEN commands, 689 WGEN trigger source, 622 what's new, 25 width, 563, 629 window, 601, 602, 603 window time, 597 window time base mode, 595 window, measurement, 409 windows, 280, 307 windows as filters to Fast Fourier
Transforms, 280, 307 windows for Fast Fourier Transform
functions, 280, 307 WMEMory commands, 721 word format, 664 word format for data transfer, 658 word width, SPI decode, 541 write mode, remote command
logging, 580, 586 write text to display, 570 WriteIEEEBlock method, 45, 51 WriteList method, 45 WriteNumber method, 45 WriteString method, 45
X
X axis markers, 340 X cursor units, 348, 349 X delta, 347 X delta, mask scaling, 442 X1 and X2 cursor value difference, 347 X1 cursor, 340, 343, 344 X1, mask scaling, 441 X2 cursor, 340, 345, 346 X-axis functions, 594 X-increment, 682 X-of-max measurement, 410 X-of-min measurement, 411 X-origin, 683 X-reference, 684 X-Y mode, 594, 595
Y
Y axis markers, 340 Y cursor units, 353, 354

Y offset, reference waveform, 728 Y range, reference waveform, 729 Y scale, reference waveform, 730 Y1 and Y2 cursor value difference, 352 Y1 cursor, 340, 344, 350, 352 Y1, mask scaling, 443 Y2 cursor, 340, 346, 351, 352 Y2, mask scaling, 444 Y-axis value, 686 Y-increment, 685 Y-origin, 686, 687 Y-reference, 687
Z
zero values in waveform data, 662 zoomed time base, 595 zoomed time base measurement
window, 409 zoomed time base mode, how autoscale
affects, 145 zoomed window horizontal scale, 603

954

Keysight InfiniiVision 1200 X-Series and EDUX1052A/G Oscilloscopes Programmer's Guide


Acrobat Distiller 10.1.16 (Windows)