Programming Guide Keysight 9018-07141
Programming Guide Keysight 9018-07141
PROGRAMMER'S GUIDE
Notices
© Keysight Technologies, Inc. 2007-2024 any information contained herein. Should shall be under no obligation to update,
Keysight and the user have a separate revise or otherwise modify the Software.
No part of this manual may be reproduced in
written agreement with warranty terms With respect to any technical data as
any form or by any means (including
covering the material in this document that defined by FAR 2.101, pursuant to FAR
electronic storage and retrieval or
conflict with these terms, the warranty 12.211 and 27.404.2 and DFARS 227.7102,
translation into a foreign language) without
terms in the separate agreement shall the U.S. government acquires no greater
prior agreement and written consent from
control. than Limited Rights as defined in FAR 27.401
Keysight Technologies, Inc. as governed by
or DFAR 227.7103-5 (c), as applicable in any
United States and international copyright
Technology License technical data.
laws.
The hardware and/or software described in Safety Notices
Revision this document are furnished under a license
and may be used or copied only in
Version 06.74.00702
accordance with the terms of such license. CAUTION
Edition U.S. Government Rights A CAUTION notice denotes a hazard.
January 2024 It calls attention to an operating
The Software is "commercial computer
Available in electronic format only software," as defined by Federal Acquisition procedure, practice, or the like that,
Regulation ("FAR") 2.101. Pursuant to FAR if not correctly performed or
Published by: 12.212 and 27.405-3 and Department of adhered to, could result in damage
Keysight Technologies, Inc. Defense FAR Supplement ("DFARS")
1900 Garden of the Gods Road
to the product or loss of important
227.7202, the U.S. government acquires data. Do not proceed beyond a
Colorado Springs, CO 80907 USA commercial computer software under the
same terms by which the software is
CAUTION notice until the indicated
Trademarks customarily provided to the public. conditions are fully understood and
Accordingly, Keysight provides the Software met.
Infineon is a registered trademark of Infineon
to U.S. government customers under its
Technologies AG. The Infiniium mark is used
standard commercial license, which is
with the kind approval of Infineon
embodied in its End User License Agreement
Technologies, AG.
(EULA), a copy of which can be found at
WARNING
MIPI® service marks and logo marks are www.keysight.com/find/sweula. The
license set forth in the EULA represents the
A WARNING notice denotes a
owned by MIPI Alliance, Inc. and any use of
such marks by Keysight Technologies is exclusive authority by which the U.S. hazard. It calls attention to an
under license. Other service marks and trade government may use, modify, distribute, or operating procedure, practice, or
names are those of their respective owners. disclose the Software. The EULA and the the like that, if not correctly
license set forth therein, does not require or performed or adhered to, could
PCI-SIG®, PCIe®, and the PCI Express® are permit, among other things, that Keysight:
US registered trademarks and/or service result in personal injury or death.
(1) Furnish technical information related to
marks of PCI-SIG. commercial computer software or Do not proceed beyond a WARNING
commercial computer software notice until the indicated
Warranty documentation that is not customarily conditions are fully understood and
The material contained in this document is
provided to the public; or (2) Relinquish to, met.
or otherwise provide, the government rights
provided "as is," and is subject to being
in excess of these rights customarily
changed, without notice, in future editions.
provided to the public to use, modify,
Further, to the maximum extent permitted
reproduce, release, perform, display, or
by applicable law, Keysight disclaims all
disclose commercial computer software or
warranties, either express or implied, with
commercial computer software
regard to this manual and any information
documentation. No additional government
contained herein, including but not limited
requirements beyond those set forth in the
to the implied warranties of
EULA shall apply, except to the extent that
merchantability and fitness for a particular
those terms, rights, or licenses are explicitly
purpose. Keysight shall not be liable for
required from all providers of commercial
errors or for incidental or consequential
computer software pursuant to the FAR and
damages in connection with the furnishing,
the DFARS and are set forth specifically in
use, or performance of this document or of
writing elsewhere in the EULA. Keysight
1 What's New
What's New in Version 6.74 / 49
What's New in Version 6.73 / 50
What's New in Version 6.72 / 51
What's New in Version 6.71 / 52
What's New in Version 6.70 / 54
What's New in Version 6.60 / 56
What's New in Version 6.55 / 58
What's New in Version 6.50 / 59
What's New in Version 6.40 / 61
What's New in Version 6.30 / 67
What's New in Version 6.20 / 71
What's New in Version 6.10 / 74
What's New in Version 6.00 / 76
What's New in Version 5.75 / 80
What's New in Version 5.70 / 81
What's New in Version 5.60 / 84
What's New in Version 5.52 / 87
What's New in Version 5.51 / 88
What's New in Version 5.50 / 89
What's New in Version 5.30 / 95
What's New in Version 5.20 / 97
What's New in Version 5.10 / 99
What's New in Version 5.00 / 100
What's New in Version 4.60 / 104
What's New in Version 4.50 / 105
2 Setting Up
Step 1. Install Keysight IO Libraries Suite software / 118
Step 2. Connect and set up the oscilloscope / 119
Using the USB (Device) Interface / 119
Using the LAN Interface / 119
Step 3. Verify the oscilloscope connection / 120
3 Introduction to Programming
Communicating with the Oscilloscope / 127
Instructions / 128
Instruction Header / 129
White Space (Separator) / 130
Braces / 131
Ellipsis / 132
Square Brackets / 133
Command and Query Sources / 134
Program Data / 135
Header Types / 136
Simple Command Header / 136
Compound Command Header / 136
Combining Commands in the Same Subsystem / 137
Common Command Header / 137
Duplicate Mnemonics / 137
Query Headers / 138
Program Header Options / 139
4 Programming Conventions
Truncation Rule / 162
The Command Tree / 163
Command Types / 163
Tree Traversal Rules / 163
Tree Traversal Examples / 164
Infinity Representation / 166
Response Generation / 167
EOI / 168
7 Status Reporting
Status Reporting Data Structures / 188
Status Byte Register / 190
Service Request Enable Register / 192
Message Event Register / 193
Trigger Event Register / 194
Standard Event Status Register / 195
Standard Event Status Enable Register / 196
Operation Status Register / 197
Operation Status Enable Register / 198
Mask Test Event Register / 199
Mask Test Event Enable Register / 200
11 Acquire Commands
:ACQuire:AVERage / 239
:ACQuire[:AVERage]:COUNt / 240
:ACQuire:BANDwidth / 241
:ACQuire:BANDwidth:FRAMe? / 243
:ACQuire:BANDwidth:TESTLIMITS? / 244
:ACQuire:COMPlete / 245
:ACQuire:COMPlete:STATe / 247
:ACQuire:HRESolution / 248
:ACQuire:INTerpolate / 250
:ACQuire:MODE / 251
12 Analyze Commands
:ANALyze:AEDGes / 273
:ANALyze:CLOCk / 274
:ANALyze:CLOCk:METHod / 275
:ANALyze:CLOCk:METHod:ALIGn / 279
:ANALyze:CLOCk:METHod:DEEMphasis / 280
:ANALyze:CLOCk:METHod:EDGE / 281
:ANALyze:CLOCk:METHod:IDLe / 283
:ANALyze:CLOCk:METHod:JTF / 284
:ANALyze:CLOCk:METHod:OJTF / 286
:ANALyze:CLOCk:METHod:PLLadvanced / 288
:ANALyze:CLOCk:METHod:PLLTrack / 289
:ANALyze:CLOCk:METHod:SKEW / 290
:ANALyze:CLOCk:METHod:SKEW:AUTomatic / 291
:ANALyze:CLOCk:METHod:SOURce / 292
:ANALyze:CLOCk:TIME / 293
:ANALyze:CLOCk:VERTical / 295
:ANALyze:CLOCk:VERTical:OFFSet / 296
:ANALyze:CLOCk:VERTical:RANGe / 297
:ANALyze:SIGNal:DATarate / 298
:ANALyze:SIGNal:MIXer:CABLeloss / 300
:ANALyze:SIGNal:MMWave:CALibrate / 301
:ANALyze:SIGNal:MMWave:CFRequency / 302
13 Bus Commands
:BUS:B<N>:TYPE / 318
:BUS<B>:BIT<M> / 320
:BUS<B>:BITS / 321
:BUS<B>:CLEar / 322
:BUS<B>:CLOCk / 323
:BUS<B>:CLOCk:SLOPe / 324
:BUS<B>:DISPlay / 325
:BUS<B>:LABel / 326
:BUS<B>:READout / 327
14 Calibration Commands
:CALibrate:DATE? / 331
:CALibrate:OUTPut / 332
:CALibrate:OUTPut:AUX / 334
:CALibrate:OUTPut:AUX:RTIMe / 335
:CALibrate:OUTPut:CAL / 336
:CALibrate:SKEW / 337
:CALibrate:STATus? / 338
:CALibrate:TEMP? / 339
15 Channel Commands
:CHANnel<N>:BWLimit (9000 Series, 9000H Series, S-Series) / 344
:CHANnel<N>:COMMonmode / 345
:CHANnel<N>:DIFFerential / 346
:CHANnel<N>:DIFFerential:SKEW / 347
:CHANnel<N>:DISPlay / 348
:CHANnel<N>:DISPlay:AUTO / 349
:CHANnel<N>:DISPlay:OFFSet / 351
:CHANnel<N>:DISPlay:RANGe / 353
17 Digital Commands
:DIGital<N>:DISPlay / 482
:DIGital<N>:LABel / 483
:DIGital<N>:POSition / 484
:DIGital<N>:SIZE / 485
:DIGital<N>:THReshold / 486
18 Disk Commands
:DISK:CDIRectory / 491
:DISK:COPY / 492
:DISK:DELete / 493
:DISK:DIRectory? / 494
:DISK:GETFILE / 495
:DISK:LOAD / 496
:DISK:MDIRectory / 498
:DISK:PUTFILE / 499
:DISK:PWD? / 500
:DISK:SAVE:COMPosite / 501
:DISK:SAVE:IMAGe / 502
:DISK:SAVE:JITTer / 503
:DISK:SAVE:LISTing / 504
:DISK:SAVE:MEASurements / 505
:DISK:SAVE:MREPort / 506
19 Display Commands
:DISPlay:BOOKmark:DELete:ALL / 515
:DISPlay:BOOKmark<N>:DELete / 516
:DISPlay:BOOKmark<N>:SET / 517
:DISPlay:BOOKmark<N>:VERTical? / 519
:DISPlay:BOOKmark<N>:XPOSition / 520
:DISPlay:BOOKmark<N>:YPOSition / 521
:DISPlay:CGRade / 522
:DISPlay:CGRade:LEGend / 524
:DISPlay:CGRade:LEVels? / 525
:DISPlay:CGRade:SCHeme / 527
:DISPlay:CONNect / 529
:DISPlay:DATA? / 530
:DISPlay:GRATicule / 531
:DISPlay:GRATicule:AREA<N>:HSCale / 532
:DISPlay:GRATicule:AREA<N>:STATe / 533
:DISPlay:GRATicule:AREA<N>:VSCale / 534
:DISPlay:GRATicule:GLAYout / 535
:DISPlay:GRATicule:INTensity / 536
:DISPlay:GRATicule:NUMBer / 537
:DISPlay:GRATicule:SETGrat / 538
:DISPlay:ISIM:GCOunt / 539
:DISPlay:ISIM:SELectgraph / 540
:DISPlay:ISIM:SOURce / 541
:DISPlay:JITTer:GCOunt / 542
:DISPlay:JITTer:SELectgraph / 543
:DISPlay:JITTer:THReshold / 545
:DISPlay:LABel / 546
:DISPlay:LAYout / 547
:DISPlay:MAIN / 548
:DISPlay:NOISe:LEVel / 550
:DISPlay:PAM:GRAPh / 551
:DISPlay:PAM:SOURce / 552
:DISPlay:PAM:TABLe / 553
:DISPlay:PERSistence / 554
20 Function Commands
:FUNCtion<F>? / 573
:FUNCtion<F>:ABSolute / 574
:FUNCtion<F>:ADD / 575
:FUNCtion<F>:ADEMod / 576
:FUNCtion<F>:AVERage / 577
:FUNCtion<F>:COMMonmode / 578
:FUNCtion<F>:DELay — Delay / 579
:FUNCtion<F>:DIFF — Differentiate / 580
:FUNCtion<F>:DISPlay / 581
:FUNCtion<F>:DIVide / 582
:FUNCtion<F>:FFT:DETector:POINts / 583
:FUNCtion<F>:FFT:DETector:TYPE / 584
:FUNCtion<F>:FFT:FREQuency / 585
:FUNCtion<F>:FFT:HSCale / 586
:FUNCtion<F>:FFT:IMPedance / 587
:FUNCtion:FFT:PEAK:SORT / 589
:FUNCtion<F>:FFT:PEAK:COUNt / 590
:FUNCtion<F>:FFT:PEAK:FREQuency / 591
:FUNCtion<F>:FFT:PEAK:LEVel / 592
:FUNCtion<F>:FFT:PEAK:MAGNitude / 593
:FUNCtion<F>:FFT:PEAK:STATe / 594
:FUNCtion<F>:FFT:REFerence / 595
:FUNCtion<F>:FFT:RESolution / 596
:FUNCtion<F>:FFT:SPAN / 598
:FUNCtion<F>:FFT:STARt / 599
:FUNCtion<F>:FFT:STOP / 600
:FUNCtion<F>:FFT:TDELay / 601
:FUNCtion<F>:FFT:VUNits / 602
21 Hardcopy Commands
:HARDcopy:AREA / 646
:HARDcopy:DPRinter / 647
22 Histogram Commands
:HISTogram:AXIS / 653
:HISTogram:HORizontal:BINS / 654
:HISTogram:MEASurement:BINS / 655
:HISTogram:MEASurement:MAX / 656
:HISTogram:MEASurement:MIN / 657
:HISTogram:MODE / 658
:HISTogram:SCALe:SIZE / 659
:HISTogram:VERTical:BINS / 660
:HISTogram:WINDow:DEFault / 661
:HISTogram:WINDow:SOURce / 662
:HISTogram:WINDow:LLIMit / 663
:HISTogram:WINDow:RLIMit / 664
:HISTogram:WINDow:BLIMit / 665
:HISTogram:WINDow:TLIMit / 666
23 Hosted Commands
:HOSTed:CALibrate:CALibrate / 669
:HOSTed:CALibrate:CHANnel / 670
:HOSTed:CALibrate:DESKew:CHANnels / 671
:HOSTed:CALibrate:DESKew:FRAMes / 672
:HOSTed:CALibrate:DESKew:SIGNals / 673
:HOSTed:CALibrate:DESKew:ZERO / 674
:HOSTed:CALibrate:LEVel / 675
:HOSTed:CALibrate:PROMpt / 677
:HOSTed:CALibrate:STATus:CHANnels? / 678
:HOSTed:CALibrate:STATus:FRAMes? / 679
:HOSTed:CALibrate:STATus:LEVel? / 680
:HOSTed:CALibrate:STATus:SIGNals? / 681
:HOSTed:CALibrate:TREF:DETect / 682
:HOSTed:FOLLower<N>:ACHannels? / 683
:HOSTed:FOLLower<N>:CONFigure / 684
:HOSTed:FOLLower<N>:CONNect / 685
:HOSTed:FOLLower<N>:DISConnect / 686
:HOSTed:LEADer:ACHannels? / 687
:HOSTed:LEADer:CONFigure / 688
:HOSTed:LEADer:CONNect / 689
27 Lister Commands
:LISTer:DATA? / 778
:LISTer:DISPlay / 779
28 :LXI Commands
:LXI:IDENtify[:STATe] / 782
29 Marker Commands
:MARKer:CURSor? / 785
:MARKer:DELTa / 786
:MARKer:MEASurement:MEASurement / 787
:MARKer:MODE / 789
:MARKer:TSTArt / 790
:MARKer:TSTOp / 791
:MARKer:VSTArt / 792
:MARKer:VSTOp / 793
:MARKer:X1Position / 794
:MARKer:X2Position / 795
:MARKer:X1Y1source / 796
:MARKer:X2Y2source / 798
:MARKer:XDELta? / 800
:MARKer:Y1Position / 801
:MARKer:Y2Position / 802
:MARKer:YDELta? / 803
:MARKer<K>:CMODe / 804
:MARKer<K>:COLor / 805
:MARKer<K>:DELTa / 808
:MARKer<K>:ENABle / 809
:MARKer<K>:NAME / 810
:MARKer<K>:SOURce / 811
:MARKer<K>:TYPE / 813
:MARKer<K>:X:POSition / 815
:MARKer<K>:Y:POSition / 816
31 Measure Commands
:MEASure:AREA / 894
:MEASure:BER / 896
:MEASure:BERPeracq / 897
:MEASure:BINTerval / 898
:MEASure:BPERiod / 899
:MEASure:BWIDth / 900
:MEASure:CDRRate / 901
:MEASure:CGRade:CROSsing / 902
:MEASure:CGRade:DCDistortion / 903
:MEASure:CGRade:EHEight / 904
:MEASure:CGRade:ELOCation / 906
:MEASure:CGRade:EWIDth / 907
:MEASure:CGRade:EWIDth:THReshold / 909
:MEASure:CGRade:EWINdow / 910
:MEASure:CGRade:JITTer / 912
:MEASure:CGRade:OLEVel / 914
:MEASure:CGRade:QFACtor / 915
:MEASure:CGRade:ZLEVel / 916
:MEASure:CHARge (9000 Series, 9000H Series, S-Series) / 917
:MEASure:CLEar / 918
:MEASure:CROSsing / 919
:MEASure:CTCDutycycle / 920
:MEASure:CTCJitter / 922
:MEASure:CTCNwidth / 924
:MEASure:CTCPwidth / 926
:MEASure:DATarate / 928
32 Pod Commands
:POD<N>:DISPlay / 1212
:POD<N>:PSKew / 1213
:POD<N>:THReshold / 1214
35 Self-Test Commands
:SELFtest:CANCel / 1346
:SELFtest:SCOPETEST / 1347
36 System Commands
:SYSTem:DATE / 1350
:SYSTem:DEBug / 1351
:SYSTem:DIMPedance — (9000 Series, 9000H Series, S-Series) / 1353
:SYSTem:DONTtabmeas / 1354
:SYSTem:DSP / 1355
:SYSTem:ERRor? / 1356
:SYSTem:GUI / 1357
:SYSTem:HEADer / 1358
:SYSTem:HLED (90000 Q-Series, S-Series, V-Series, Z-Series) / 1359
:SYSTem:LOCK / 1360
:SYSTem:LONGform / 1361
:SYSTem:MENU? / 1362
:SYSTem:PERSona / 1363
:SYSTem:PRESet / 1364
:SYSTem:SETup / 1366
:SYSTem:TIME / 1368
38 Trigger Commands
General Trigger Commands / 1385
:TRIGger:AND:ENABle / 1386
:TRIGger:AND:SOURce / 1387
:TRIGger:FORCe / 1388
:TRIGger:HOLDoff / 1389
:TRIGger:HOLDoff:MAX / 1390
:TRIGger:HOLDoff:MIN / 1391
:TRIGger:HOLDoff:MODE / 1392
:TRIGger:HTHReshold / 1393
:TRIGger:HYSTeresis / 1394
:TRIGger:LEVel / 1395
:TRIGger:LEVel:FIFTy / 1396
:TRIGger:LTHReshold / 1397
:TRIGger:MODE / 1398
:TRIGger:SWEep / 1400
Comm Trigger Commands / 1401
:TRIGger:COMM:BWIDth / 1402
:TRIGger:COMM:ENCode / 1403
:TRIGger:COMM:PATTern / 1404
:TRIGger:COMM:POLarity / 1405
:TRIGger:COMM:SOURce / 1406
Delay Trigger Commands / 1407
:TRIGger:DELay:ARM:SOURce / 1408
:TRIGger:DELay:ARM:SLOPe / 1409
:TRIGger:DELay:EDELay:COUNt / 1410
:TRIGger:DELay:EDELay:SOURce / 1411
:TRIGger:DELay:EDELay:SLOPe / 1412
:TRIGger:DELay:MODE / 1413
:TRIGger:DELay:TDELay:TIME / 1414
39 Waveform Commands
:WAVeform:BANDpass? / 1586
:WAVeform:BYTeorder / 1587
:WAVeform:CGRade:HEIGht? / 1588
:WAVeform:CGRade:WIDTh? / 1589
:WAVeform:COMPlete? / 1590
:WAVeform:COUNt? / 1591
:WAVeform:COUPling? / 1592
:WAVeform:DATA / 1593
:WAVeform:FORMat / 1616
:WAVeform:PNOise:FREQuency / 1619
:WAVeform:POINts? / 1620
:WAVeform:PREamble? / 1621
:WAVeform:SEGMented:ALL / 1625
:WAVeform:SEGMented:COUNt? / 1627
:WAVeform:SEGMented:TTAG? / 1628
:WAVeform:SEGMented:XLISt? / 1629
:WAVeform:SOURce / 1630
:WAVeform:STReaming / 1632
:WAVeform:TYPE? / 1633
:WAVeform:VIEW / 1634
:WAVeform:XDISplay? / 1637
:WAVeform:XINCrement? / 1638
:WAVeform:XORigin? / 1639
:WAVeform:XRANge? / 1640
:WAVeform:XREFerence? / 1641
:WAVeform:XUNits? / 1642
:WAVeform:YDISplay? / 1643
:WAVeform:YINCrement? / 1644
:WAVeform:YORigin? / 1645
:WAVeform:YRANge? / 1646
:WAVeform:YREFerence? / 1647
43 Error Messages
Error Queue / 1800
Error Numbers / 1801
Command Errors / 1802
Execution Errors / 1803
Device- or Oscilloscope-Specific Errors / 1804
Query Errors / 1805
List of Error Messages / 1806
44 Example Programs
VISA COM Examples / 1814
VISA COM Example in Visual Basic / 1814
VISA COM Example in C# / 1825
VISA COM Example in Visual Basic .NET / 1835
VISA COM Example in Python 3 / 1844
VISA Examples / 1853
VISA Example in C / 1853
VISA Example in Visual Basic / 1862
VISA Example in C# / 1872
VISA Example in Visual Basic .NET / 1884
VISA Example in Python 3 / 1896
VISA.NET Examples / 1903
VISA.NET Example in C# / 1903
VISA.NET Example in Visual Basic .NET / 1910
VISA.NET Example in Python 3 / 1917
SICL Examples / 1925
SICL Example in C / 1925
SICL Example in Visual Basic / 1934
SCPI.NET Examples / 1944
Index
1 What's New
What's New in Version 6.74 / 49
What's New in Version 6.73 / 50
What's New in Version 6.72 / 51
What's New in Version 6.71 / 52
What's New in Version 6.70 / 54
What's New in Version 6.60 / 56
What's New in Version 6.55 / 58
What's New in Version 6.50 / 59
What's New in Version 6.40 / 61
What's New in Version 6.30 / 67
What's New in Version 6.20 / 71
What's New in Version 6.10 / 74
What's New in Version 6.00 / 76
What's New in Version 5.75 / 80
What's New in Version 5.70 / 81
What's New in Version 5.60 / 84
What's New in Version 5.52 / 87
What's New in Version 5.51 / 88
What's New in Version 5.50 / 89
What's New in Version 5.30 / 95
What's New in Version 5.20 / 97
What's New in Version 5.10 / 99
What's New in Version 5.00 / 100
What's New in Version 4.60 / 104
What's New in Version 4.50 / 105
What's New in Version 4.30 / 106
What's New in Version 4.20 / 107
What's New in Version 4.10 / 108
What's New in Version 4.00 / 109
What's New in Version 3.50 / 110
What's New in Version 3.20 / 112
What's New in Version 3.11 / 113
47
1 What's New
Changed
Commands Command Description
:ANALyze:CLOCk:METHod (see Added the "PCIE4,PCIE8" and "PCIE4,PCIE16" PCIe 4 Behavioral
page 275) SRIS clock recovery methods for 8 Gb/s and 16 Gb/s data rates,
respectively.
:DISPlay:GRATicule:GLAYout The query now returns the short form of the command options.
(see page 535)
Discontinued
Commands Discontinued Command Current Command Equivalent Comments
:MTESt:HAMPlitude None This command is no longer
supported.
:MTESt:LAMPlitude None This command is no longer
supported.
Changed
Commands Command Description
:DISPlay:BOOKmark<N>:SET The <grid> option has been added to specify the grid in which the
(see page 517) bookmark appears (when the source is NONE).
Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
CHANnel<N>:PROBe (see CHANnel<N>:PROBe:USER The current command lets you
page 1716) (see page 409) specify the N7019A Type-C
active link fixture in addition to
voltage probes.
Changed
Commands Command Description
:MARKer:MEASurement:MEASu Parameters have been added to support multiple measurement
rement (see page 787) tracking markers.
Changed
Commands Command Description
:LTESt:MEASurement (see The maximum number of measurements has increased from 20 to
page 772) 40, so wherever <N> is used to define a measurement number (for
example, in the :MEASurement<N> commands or in MEAS<N>
:LTESt:RESults (see page 773)
command parameters), it can now be an integer from 1 to 40.
:MARKer:MEASurement:MEASu
rement (see page 787)
:MEASure:JITTer:MEASuremen
t (see page 980)
:MEASure:WINDow (see
page 1201)
:MEASure:ZTMAX (see
page 1203)
:MEASure:ZTMIN (see
page 1204)
:MEASurement<N>:CLEar (see
page 1205)
:MEASurement<N>:NAME (see
page 1206)
:MEASurement<N>:POSition
(see page 1207)
:MEASurement<N>:SOURce
(see page 1208)
:MEASurement<N>:ZTMAX (see
page 1209)
:MEASurement<N>:ZTMIN (see
page 1210)
Command Description
:MEASure:PAM:PRBS13q:PATT Specifies the edge definition for the 12-edge jitter measurements'
ern (see page 1044) data pattern (either PRBS13Q, PCIE6 (52 symbols), or a custom
data pattern).
:MEASure:PAM:PRBS13q:PFILe When a custom data pattern is being used, this command
(see page 1045) specifies the full-path location of the edge definition file for that
pattern.
:MEASure:PN:DESKew (see When two channels are used, this command will automatically
page 1057) remove time skew due to different length cables connecting the
device under test (DUT) to the oscilloscope.
:WMEMory<R>:LABel (see Sets the waveform memory label to the quoted string.
page 1654)
Changed
Commands Command Description
:ANALyze:CLOCk:METHod (see Added the "PCIE6,PCIE8", "PCIE6,PCIE16", "PCIE6,PCIE32", and
page 275) "PCIE6,PCIE64" PCIe 6 CXL Behavioral SRIS CC clock recovery
methods for 8 Gb/s, 16 Gb/s, 32 Gb/s, and 64 Gb/s data rates,
respectively.
:BUS:B<N>:TYPE (see Added support for new E1000BASET1 (Automotive Ethernet
page 318) 1000BaseT1), DPAUX (DisplayPort Aux), and CPHY2 (MIPI C-PHY
2.0) protocols.
:CHANnel<N>:PROBe:MODE The SEST (source estimate differential) mode has been added for
(see page 397) the MX0020A/21A/22A/24A/25A probe amplifiers.
:CHANnel<N>:PROBe:HEAD:VT Supports the MX0020A/21A/22A/24A/25A probe amplifiers.
ERm (see page 394)
:LISTer:DATA? (see page 778) Added the BUS parameter for returning Digital Listing data.
Command Description
:SBUS<N>:UART:IDLE (see Selects LOW or HIGH to match the device under test's state when
page 1339) at idle.
:SBUS<N>:UART:PARity (see Specifies the type of parity being used.
page 1340)
:SBUS<N>:UART:SOURce:RX Specifies the receiver signal source.
(see page 1341)
:SBUS<N>:UART:SOURce:TX Specifies the transmitter signal source.
(see page 1342)
:SBUS<N>:UART:WIDTh (see Sets the number of bits in the RS-232/UART words to match your
page 1343) device under test.
Changed
Commands Command Description
:ANALyze:CLOCk:METHod (see Added the "PCIE5,PCIE8", "PCIE5,PCIE16", and "PCIE5,PCIE32"
page 275) PCIe 5 CXL Behavioral SRIS CC clock recovery methods for
8 Gb/s, 16 Gb/s, and 32 Gb/s data rates, respectively.
:BUS:B<N>:TYPE (see Added support for new PCI5 (PCI Express Gen 1-5), USB4TUSB32
page 318) (USB4 Tunnel USB 3.2), USB4TPCI31 (USB4 Tunnel PCI Express
3.1), and MDIO protocols.
:MEASure:CGRade:EWIDth (see Added the ability to select units in UNITinterval or SECond (which
page 907) was the default before).
:MEASure:CGRade:JITTer (see Added the ability to select units in UNITinterval or SECond (which
page 912) was the default before).
:MEASure:PAM:ESKew (see Added the ability to select units in UNITinterval or SECond. This
page 1024) control has been in the graphical user interface and is now
available in the remote SCPI command.
:MEASure:THResholds:RFALl:M The T1090 (10% and 90% of levels) and T2080 (20% and 80% of
ETHod (see page 1143) levels) settings for rise/fall measurement thresholds now work for
NRZ and UNSPecified signal types as well as PAM signal types.
:SBUS<N>:MODE (see Added the UART mode option.
page 1258)
:WAVeform:DATA (see With Infiniium Offline only, this command copies the waveform
page 1593) points in an IEEE data block to the channel source specified by the
:WAVeform:SOURce command.
Changed
Commands Command Description
:ANALyze:CLOCk:METHod (see Added the TOPLL (Third Order PLL), EXPTOPLL (Explicit Third
page 275) Order PLL), and EQTOPLL (Equalized Third Order PLL) clock
recovery methods.
:BUS:B<N>:TYPE (see Added support for new USB4 and USB4LS protocols.
page 318)
:MEASure:TIEFilter:SHAPe (see Added the FIRSt and SECond options for the new First Order and
page 1169) Second Order TIE filter shapes.
Command Description
:MEASure:ZTMAX (see When "Measure All Edges" is enabled and the measurement
page 1203) supports "Zoom To Max", this command adjusts the horizontal
scale and position to zoom in on the maximum measured value.
:MEASure:ZTMIN (see When "Measure All Edges" is enabled and the measurement
page 1204) supports "Zoom To Min", this command adjusts the horizontal
scale and position to zoom in on the minimum measured value.
:MEASurement<N>:CLEar (see Clears a single measurement.
page 1205)
:MEASurement<N>:ZTMAX (see When "Measure All Edges" is enabled and the measurement
page 1209) supports "Zoom To Max", this command adjusts the horizontal
scale and position to zoom in on the maximum measured value.
:MEASurement<N>:ZTMIN (see When "Measure All Edges" is enabled and the measurement
page 1210) supports "Zoom To Min", this command adjusts the horizontal
scale and position to zoom in on the minimum measured value.
Changed
Commands Command Description
:DISPlay:PROPortion (see The query portion of this command has been deprecated. The
page 556) P4Jitter (PAM4 Jitter) pane option has been added.
:DISPlay:PROPortion:RESults The query portion of this command has been deprecated.
(see page 557)
:DISPlay:WINDow:MAXimize The P4Jitter (PAM4 Jitter) window option has been added.
(see page 567)
:MEASure:PJITter (see Added the SRMS or DBC option for specifying the measurement
page 1054) units in s(rms) or dBc, respectively.
Discontinued
Commands Discontinued Command Current Command Equivalent Comments
:MEASure:PAM:EOJ :MEASure:PAM:PRBS13q:EDGE The discontinued command
:EOJ? (see page 1038) installed the measurement in
the Results pane and the query
:MEASure:PAM:J3U :MEASure:PAM:PRBS13q:EDGE
returned a composite
:J3U? (see page 1039)
measurement value. The
:MEASure:PAM:J4U :MEASure:PAM:PRBS13q:EDGE current query returns a
:J4U? (see page 1040) composite measurement value
as well as values for individual
:MEASure:PAM:JRMS :MEASure:PAM:PRBS13q:EDGE rising and falling edges (R13,
:JRMS? (see page 1042) F21, F30, R03, F10, R02, R12,
R23, R01, F20, F32, and F31).
Command Description
:LANE<N>:EQUalizer:DFE:TAP: Specifies a delay of the DFE equalized waveform relative to an
DELay (see page 735) explicit recovered clock in order to center the DFE eye, post
equalization.
:LANE<N>:EQUalizer:DFE:TAP: Computes a DFE delay value to center a DFE eye on the screen
DELay:AUTomatic (see horizontally.
page 736)
:LANE<N>:EQUalizer:DFE:TAP: Applies a gain factor to compensate for DFE attenuation.
GAIN (see page 737)
:LANE<N>:EQUalizer:DFE:TAP:L Dictates the logical low value used in the DFE algorithm.
TARget (see page 738)
:LANE<N>:EQUalizer:DFE:TAP: Sets the upper limit on taps determined through optimization.
MAX (see page 739)
:LANE<N>:EQUalizer:DFE:TAP: Sets the maximum tap value for DFE auto tap setup in volts.
MAXV (see page 740)
:LANE<N>:EQUalizer:DFE:TAP: Sets the lower limit on taps determined through optimization.
MIN (see page 741)
:LANE<N>:EQUalizer:DFE:TAP: Sets the minimum tap value for DFE auto tap setup in volts.
MINV (see page 742)
:LANE<N>:EQUalizer:DFE:TAP: Specifies whether the Normalize DC Gain setting is ON or OFF.
NORMalize (see page 743)
:LANE<N>:EQUalizer:DFE:TAP: Dictates the logical high value used in the DFE algorithm.
UTARget (see page 744)
:LANE<N>:EQUalizer:DFE:TAP: Sets the Eye Width field for the DFE tap optimization.
WIDTh (see page 745)
:LANE<N>:EQUalizer:DFE:THRe When the DFE threshold bandwidth mode is CUSTom, this
shold:BANDwidth (see command specifies the threshold bandwidth value.
page 746)
:LANE<N>:EQUalizer:DFE:THRe When lane equalization is being displayed as a function
shold:BWMode (see (:LANE<N>:EQUalizer:LOCation FUNCtion), this command sets the
page 747) threshold bandwidth mode for the DFE.
:LANE<N>:EQUalizer:DFE:THRe Sets a delay to move the decision threshold relative to the original
shold:DELay (see page 748) waveform when creating the DFE equalized waveform.
:LANE<N>:EQUalizer:FFE:BAND When BWMode is CUSTom, this command sets the bandwidth at
width (see page 749) which the response generated by equalization rolls off.
:LANE<N>:EQUalizer:FFE:BWM Sets the bandwidth at which the response generated by
ode (see page 750) equalization is rolled off.
:LANE<N>:EQUalizer:FFE:NPRe Sets the number of precursor taps to be used in the FFE algorithm.
cursor (see page 751)
:LANE<N>:EQUalizer:FFE:NTAP Sets the number of taps to be used in the FFE algorithm.
s (see page 752)
Command Description
:LANE<N>:EQUalizer:FFE:RATE Sets the data rate for the FFE equalizer.
(see page 753)
:LANE<N>:EQUalizer:FFE:STATe Turns the FFE on or off.
(see page 754)
:LANE<N>:EQUalizer:FFE:TAP Sets the tap value for each FFE tap.
(see page 755)
:LANE<N>:EQUalizer:FFE:TAP:A Starts the FFE tap optimization.
UTomatic (see page 756)
:LANE<N>:EQUalizer:FFE:TAP:D Specifies the amount of drift the equalized eye diagram has
ELay (see page 757) relative to the unequalized one.
:LANE<N>:EQUalizer:FFE:TAP: Sets the Eye Width field for the FFE tap optimization.
WIDTh (see page 758)
:LANE<N>:EQUalizer:FFE:TDEL When TDMode is set to CUSTom, this command sets the tap delay
ay (see page 759) value.
:LANE<N>:EQUalizer:FFE:TDMo Sets Tap Delay field to either Track Data Rate or Custom.
de (see page 760)
:LANE<N>:EQUalizer:LOCation Tells the equalization lane whether to equalize in-place
(see page 761) (modifying the source waveform itself) or display as a function
(creating a separate equalized waveform).
:LANE<N>:SOURce (see Sets the source for the equalization lane.
page 762)
:LANE<N>:STATe (see Turns the equalization lane on or off.
page 763)
:LANE<N>:VERTical (see Sets the equalization lane's vertical scale mode to automatic or
page 764) manual.
:LANE<N>:VERTical:OFFSet When the vertical scale mode is manual, this command sets the
(see page 765) equalization lane's vertical offset.
:LANE<N>:VERTical:RANGe When the vertical scale mode is manual, this command command
(see page 766) sets the equalization lane's vertical range.
:MEASure:CGRade:EWIDth:THR Specifies the threshold voltage level used in measuring the eye
eshold (see page 909) width.
:MTESt:SCALe:DRAW (see Specifies whether the mask bounding region is displayed.
page 871)
Changed All commands that accepted "EQUalized" or returned "EQU" as a waveform source
Commands prior to Version 6.40 now accept "EQUalized1", "EQUalized2", "EQUalized3", or
"EQUalized4", or return "EQU1", "EQU2", "EQU3", or "EQU4". "EQUalized" is now
equivalent to "EQUalized1".
Command Description
:FUNCtion<F>:FFT:DETector:TY The RMS detector type is no longer available.
PE (see page 584)
Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:SPRocessing:CTLequalizer:AC :LANE1:EQUalizer:CTLE:ACGain All :SPRocessing:CTLequalizer
Gain (see page 1752) (see page 718) commands apply to Lane 1.
:SPRocessing:CTLequalizer:DC :LANE1:EQUalizer:CTLE:DCGain
Gain (see page 1753) (see page 719)
:SPRocessing:CTLequalizer:DIS :LANE1:EQUalizer:CTLE:STATe The
Play (see page 1754) (see page 728) ":SPRocessing:CTLequalizer:DI
SPlay ON" command now: (1)
turns CTLE on in Lane 1, (2)
turns FFE off in Lane 1, and (3)
turns on Lane 1.
:SPRocessing:CTLequalizer:NU :LANE1:EQUalizer:CTLE:NUMP All :SPRocessing:CTLequalizer
MPoles (see page 1755) oles (see page 720) commands apply to Lane 1.
:SPRocessing:CTLequalizer:P1 :LANE1:EQUalizer:CTLE:P1 (see
(see page 1756) page 721)
:SPRocessing:CTLequalizer:P2 :LANE1:EQUalizer:CTLE:P2 (see
(see page 1757) page 722)
:SPRocessing:CTLequalizer:P3 :LANE1:EQUalizer:CTLE:P3 (see
(see page 1758) page 723)
:SPRocessing:CTLequalizer:RA :LANE1:EQUalizer:CTLE:RATE
Te (see page 1760) (see page 727)
:SPRocessing:CTLequalizer:SO :LANE1:SOURce (see Selected source applies to the
URce (see page 1761) page 762) entire lane.
:SPRocessing:CTLequalizer:VE :LANE1:VERTical (see All :SPRocessing:CTLequalizer
RTical (see page 1762) page 764) commands apply to Lane 1.
:SPRocessing:CTLequalizer:VE :LANE1:VERTical:OFFSet (see
RTical:OFFSet (see page 765)
page 1763)
:SPRocessing:CTLequalizer:VE :LANE1:VERTical:RANGe (see
RTical:RANGe (see page 766)
page 1764)
:SPRocessing:CTLequalizer:Z1 :LANE1:EQUalizer:CTLE:Z1 (see
(see page 1765) page 729)
:SPRocessing:CTLequalizer:Z2 :LANE1:EQUalizer:CTLE:Z2 (see
(see page 1766) page 730)
Command Description
:MEASure:PJITter (see Measures Phase Jitter on the phase noise single-sideband (SSB)
page 1054) frequency offset FFT plot.
:MEASure:PLENgth (see The command installs a Pattern Length measurement into the
page 1055) user interface's measurement Results pane. The query returns the
measured pattern length.
:MEASure:PN:CORRelations When two clock sources permit the two-channel
(see page 1056) cross-correlation technique to be used, this command specifies
the number of correlations that will be accumulated between
phase noise analysis plot averages.
:MEASure:PN:EDGE (see Specifies the clock edge direction to measure.
page 1058)
:MEASure:PN:HORizontal:STAR For the phase noise analysis single-sideband (SSB) frequency
t (see page 1059) offset plot, this command specifies the left side of the horizontal
log frequency scale.
:MEASure:PN:HORizontal:STOP For the phase noise analysis single-sideband (SSB) frequency
(see page 1060) offset plot, this command specifies the right side of the horizontal
log frequency scale.
:MEASure:PN:RSSC (see If your clock source uses spread-spectrum clocking (SSC) and the
page 1061) FLATtop FFT windowing function is selected, you can use this
command to enable or disable the removal of the SSC effects
from the phase noise analysis results.
:MEASure:PN:SOURce (see Specifies the clock source(s) on which the phase noise analysis is
page 1062) performed.
:MEASure:PN:SPURs (see Specifies how to display spurs in the phase noise analysis
page 1064) single-sideband (SSB) frequency offset plot.
:MEASure:PN:SSENsitivity (see When omitting spurs from the phase noise analysis
page 1065) single-sideband (SSB) frequency offset plot, or when displaying
them in power (dBc) instead of the default normalized (dBc/Hz)
scale, this command specifies the sensitivity used in identifying
spurs.
:MEASure:PN:STATe (see Turns the phase noise analysis feature on or off.
page 1066)
:MEASure:PN:VERTical:REFere Specifies the dBc/Hz value at the top of the phase noise analysis
nce (see page 1067) single-sideband (SSB) frequency offset plot.
:MEASure:PN:VERTical:SCALe Specifies the height in dBc/Hz of each vertical division in the
(see page 1068) phase noise analysis single-sideband (SSB) frequency offset plot.
:MEASure:PN:WINDow (see Specifies the FFT windowing function used in the phase noise
page 1069) analysis.
:MEASure:RJDJ:CREFerence Specifies the number of UI away from the data edge at which to
(see page 1092) measure jitter.
Command Description
:MEASure:XCORtie (see Measures cross-correlated TIE using the same two-channel
page 1202) cross-correlation technique that is used when measuring phase
noise.
:SPRocessing:DFEQualizer:TAP: Computes a DFE delay value to center a DFE eye on the screen
DELay:AUTomatic (see horizontally.
page 1774)
:TRIGger:FORCe (see Causes an acquisition to be captured even though the trigger
page 1388) condition has not been met.
:WMEMory<R>:FFT:HSCale For a FFT waveform memory, this command specifies whether the
(see page 1653) horizontal scale is linear or logarithmic.
Changed
Commands Command Description
:ANALyze:CLOCk:METHod (see Added the BMC (USB PD bi-phase mark coding) and LFPS (USB 3
page 275) low frequency periodic signaling) methods.
:ANALyze:SIGNal:TYPE (see PAM3 has been added as a signal type.
page 312)
:BUS:B<N>:TYPE (see Added support for new QSPI (Quad SPI) and USB32 (USB 3.2)
page 318) protocols.
:CHANnel<N>:ISIM:BWLimit:TY The BANDpass option has been added to support the Phase Noise
PE (see page 364) analysis application.
:DISPlay:LAYout (see The obsolete CUSTom option has been replaced with the new TAB
page 547) option.
:FUNCtion<F>:MHIStogram Added <min> and <max> parameters for specifying the
(see page 627) histogram's measurement minimum and measurement maximum.
:MEASure:STATistics (see The COUNt option has been added to allow the
page 1117) :MEASure:RESults? query to return the measurement count value.
:MEASure:THResholds:GENeral Modified to work with the PAM-3 signal type.
:PAMCustom (see page 1128)
:MEASurement<N>:NAME (see Now supports up to 20 measurements.
page 1206)
:SPRocessing:CTLequalizer:NU The new option names P2Z1 and P2ACG replace the old option
MPoles (see page 1755) names POLE2 and USB31, respectively (but operations are the
same).
Discontinued
Commands Discontinued Command Current Command Equivalent Comments
:MTESt:AlignFIT None This command is no longer
supported.
:TRIGger:ADVanced:PATTern:T :DIGital<N>:THReshold (see
HReshold:POD<N> page 486)
Changed
Commands Command Description
:ACQuire:HRESolution (see On S-Series oscilloscopes only, the BITF11, BITF12, BITF13,
page 248) BITF14, BITF15, and BITF16 options have been added to force the
specified number of bits of vertical resolution.
:ANALyze:SIGNal:TYPE (see NRZ has been added as a signal type. With this selection, you are
page 312) able to specify pattern lengths and patterns so that you can make
BER measurements on NRZ signals (:MEASure:BER and
:MEASure:BERPeracq).
:BUS:B<N>:TYPE (see Added support for new PCI4 (PCI Express Gen4) and SENT (Single
page 318) Edge Nibble Transmission) protocols.
:DISK:LOAD (see page 496) The <interp> option has been added.
:MARKer:MODE (see Now returns ICON when Track RF markers are used.
page 789)
:MEASure:BER (see page 896) Now works with the NRZ signal type (as well as the PAM signal
type). Pattern length parameters have been removed from this
command because pattern lengths and patterns are now specified
using the :ANALyze:SIGNal:PATTern:* commands.
:MEASure:BERPeracq (see Now works with the NRZ signal type (as well as the PAM signal
page 897) type). Pattern length parameters have been removed from this
command because pattern lengths and patterns are now specified
using the :ANALyze:SIGNal:PATTern:* commands.
:MEASure:FFT:DFRequency The command and query now include peak number and level
(see page 949) parameters.
:MEASure:FFT:DMAGnitude The command and query now include peak number and level
(see page 951) parameters.
:MEASure:FFT:FREQuency (see The command and query now include peak number and level
page 953) parameters.
:MEASure:FFT:MAGNitude (see The command and query now include peak number and level
page 955) parameters.
:MEASure:RESults? (see There is now an AORDered option for returning the results
page 1079) according to the order in which measurements were added
(ignoring any front panel graphical user interface (GUI) reordering)
or a GORDered option for returning the results according to the
order they appear on the display (even after front panel GUI
reordering). Not specifying any option is the same as using the
AORDered option.
:MEASure:SER (see Pattern length parameters have been removed from this
page 1110) command because pattern lengths and patterns are now specified
using the :ANALyze:SIGNal:PATTern:* commands.
:MEASure:SERPeracq (see Pattern length parameters have been removed from this
page 1111) command because pattern lengths and patterns are now specified
using the :ANALyze:SIGNal:PATTern:* commands.
Command Description
:SBUS<N>:MODE (see Added the GENRaw mode option.
page 1258)
:SYSTem:GUI (see page 1357) The LOCK parameter has been added and the query return value is
now a string (ON, OFF, or LOCK) instead of the previous 1 or 0
return values.
:TRIGger:ADVanced:PATTern:C The OR parameter has been added.
ONDition (see page 1505)
:TRIGger:PATTern:CONDition The OR parameter has been added.
(see page 1437)
:WAVeform:SEGMented:COUNt The signal that is queried for the count is the signal set by the
? (see page 1627) :WAVeform:SOURce command. If you query the COUNt while the
segmented acquisition is occurring, it will return the number of
segments acquired so far.
:WAVeform:SEGMented:TTAG? The signal that is queried for the time tag is the signal set by the
(see page 1627) :WAVeform:SOURce command.
Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:MEASure:FFT:PEAK1 (see :MEASure:FFT:DFRequency Peak numbers and threshold
page 1744) (see page 949) levels are now specified in the
:MEASure:FFT:DMAGnitude :MEASure:FFT:DFRequency and
:MEASure:FFT:PEAK2 (see
(see page 951) :MEASure:FFT:DMAGnitude
page 1745)
command/query parameters.
:MEASure:FFT:THReshold (see
page 1746)
Discontinued
Commands Discontinued Command Current Command Equivalent Comments
:SPRocessing:FFEQualizer:TAP: :ANALyze:SIGNal:PATTern:* Pattern lengths and patterns
PLENgth are now specified using the
:ANALyze:SIGNal:PATTern:*
commands.
Changed
Commands Command Description
:ANALyze:SIGNal:TYPE (see CPHY has been added as a signal type.
page 312)
:BUS:B<N>:TYPE (see Added support for new CPHY (MIPI C-PHY), BRR (BroadR-Reach),
page 318) SPW (SpaceWire), and MAN (Manchester) protocols.
:CALibrate:OUTPut (see Added the PRBS7, PRBS15, and PRBS31 options for the Infiniium
page 332) 90000 X-Series, V-Series, 90000 Q-Series, and Z-Series
oscilloscopes.
:CHANnel<N>:PROBe:EADapter Added the CUR0002VA and CUR002VA options for use with the
(see page 382) E2697A or N5449A high impedance adapters.
:DISK:SAVE:WAVeform (see Added the MATlab format for saving waveforms to MATLAB (.mat)
page 510) data format files.
:MEASure:RJDJ:ALL? (see Jitter analysis is supported on PAM-4 signals. When the
page 1085) ":MEASure:RJDJ:PAMThreshold ALL" command setting has been
made, the query results include values for multiple threshold
levels; otherwise, the query results are for the specific threshold
level specified in the :MEASure:RJDJ:PAMThreshold command.
:MEASure:RJDJ:TJRJDJ? (see Jitter analysis is supported on PAM-4 signals. When the
page 1105) ":MEASure:RJDJ:PAMThreshold ALL" command setting has been
made, the query results include values for multiple threshold
levels; otherwise, the query results are for the specific threshold
level specified in the :MEASure:RJDJ:PAMThreshold command.
:MEASure:THResholds:GENeral Added an optional <hysteresis> value at the end of the command
:PAMCustom (see page 1128) parameters.
Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:ANALyze:CLOCk:METHod:PAM: None The command works and as
B03 (see page 1710) before, but changing its default
(ON) is not necessary.
:ANALyze:CLOCk:METHod:PAM: None The command works and as
B12 (see page 1712) before, but changing its default
(ON) is not necessary.
:ANALyze:CLOCk:METHod:PAM: None The command works and as
NONSymmetric (see before, but changing its default
page 1714) (OFF) is not necessary.
Command Description
:CHANnel<N>:SIMulation:FLOa Specifies whether the simulated waveform should repeat from the
d:LOOP (see page 425) beginning of the file when reaching the end of the file (for the FILE
simulated waveform type).
:CHANnel<N>:SIMulation:FREQ Specifies the frequency of the simulated waveform (for the CLOCk
uency (see page 426) or FUNCtion simulated waveform types).
:CHANnel<N>:SIMulation:FUN Specifies the simulated waveform function type (for the FUNCtion
Ction:SELection (see simulated waveform type).
page 427)
:CHANnel<N>:SIMulation:FUN Specifies the square wave's duty cycle high time percent value
Ction:SQUare:DCYCle (see (when the FUNCtion simulated waveform type is selected and the
page 428) SQUare function is selected).
:CHANnel<N>:SIMulation:FUN Specifies the square wave's high-to-low transition time (when the
Ction:SQUare:FTIMe (see FUNCtion simulated waveform type is selected and the SQUare
page 429) function is selected).
:CHANnel<N>:SIMulation:FUN Specifies the square wave's low-to-high transition time (when the
Ction:SQUare:RTIMe (see FUNCtion simulated waveform type is selected and the SQUare
page 430) function is selected).
:CHANnel<N>:SIMulation:JITTe Turns all simulated waveform jitter off or on while saving the
r (see page 431) values.
:CHANnel<N>:SIMulation:JITTe Specifies the amount of Aperiodic Bounded Uniform Jitter (ABUJ)
r:ABUJ (see page 432) to apply to the simulated waveform.
:CHANnel<N>:SIMulation:JITTe Turns the periodic jitter for the simulated waveform on or off.
r:PERiodic<M>:ENABle (see
page 433)
:CHANnel<N>:SIMulation:JITTe Specifies the frequency of the periodic jitter applied to the
r:PERiodic<M>:FREQuency simulated waveform.
(see page 434)
:CHANnel<N>:SIMulation:JITTe Specifies the magnitude of the periodic jitter applied to the
r:PERiodic<M>:MAGNitude simulated waveform.
(see page 435)
:CHANnel<N>:SIMulation:JITTe Specifies the shape of the periodic jitter applied to the simulated
r:PERiodic<M>:SHAPe (see waveform.
page 436)
:CHANnel<N>:SIMulation:JITTe Specifies the standard deviation of random jitter to apply.
r:RANDom (see page 437)
:CHANnel<N>:SIMulation:NOIS Turns all simulated waveform noise off or on while saving the
e (see page 438) values.
:CHANnel<N>:SIMulation:NOIS Turns the noise filter on or off.
e:BWLimit (see page 439)
Command Description
:CHANnel<N>:SIMulation:NOIS Turns the periodic noise for the simulated waveform on or off.
e:PERiodic<M>:ENABle (see
page 440)
:CHANnel<N>:SIMulation:NOIS Specifies the frequency of the periodic noise applied to the
e:PERiodic<M>:FREQuency simulated waveform.
(see page 441)
:CHANnel<N>:SIMulation:NOIS Specifies the magnitude of the periodic noise applied to the
e:PERiodic<M>:MAGNitude simulated waveform.
(see page 442)
:CHANnel<N>:SIMulation:NOIS Specifies the shape of the periodic noise applied to the simulated
e:PERiodic<M>:SHAPe (see waveform.
page 443)
:CHANnel<N>:SIMulation:NOIS Specifies the standard deviation of random noise to apply.
e:RANDom (see page 444)
:CHANnel<N>:SIMulation:OFFS Specifies the offset of the simulated waveform.
et (see page 445)
:CHANnel<N>:SIMulation:WAV Sets the simulated waveform type.
eform (see page 446)
:FUNCtion<F>:MLOG (see Adds a function waveform that is a scrolling record of
page 630) measurement values over time.
:MEASure:THResholds:GENAU Automatically sets the general "Custom: thresholds +/-
TO (see page 1121) hysteresis" when thresholds apply to individual waveforms.
:MTESt:COUNt:SUI? (see Returns the total number of samples that have been mask tested
page 834) in the UI bit time.
:SYSTem:HLED (see On Infiniium 90000 Q-Series, S-Series, V-Series, and Z-Series
page 1359) oscilloscopes, this command turns the Turn off Front Panel LEDs
user preference on or off.
:WAVeform:CGRade:HEIGht? Returns the color grade (pixel) database data height (when the
(see page 1588) CGRade waveform view is selected).
:WAVeform:CGRade:WIDTh? Returns the color grade (pixel) database data width (when the
(see page 1589) CGRade waveform view is selected).
:WMEMory<R>:SEGMented:CO When segmented memory acquisitions are saved to waveform
UNt? (see page 1657) memory, this query returns the number of segments in the
waveform memory.
:WMEMory<R>:SEGMented:IN When segmented memory acquisitions are saved to waveform
Dex (see page 1658) memory, this command command sets the index number for the
segment that you want to display on screen.
:WMEMory<R>:SEGMented:PL When segmented memory acquisitions are saved to waveform
AY (see page 1659) memory, this command command plays (or stops) the segments.
Changed
Commands Command Description
:BUS:B<N>:TYPE (see Added support for new SPMI and GENRaw protocols.
page 318)
:FUNCtion<F>:FFT:DETector:TY The RMS detector type has been added.
PE (see page 584)
:FUNCtion<F>:HORizontal:POSi For functions where the horizontal position cannot be adjusted,
tion (see page 613) this command now gives a -221,"Settings conflict" instead of
being accepted without effect.
:FUNCtion<F>:HORizontal:RAN For functions where the horizontal position cannot be adjusted,
Ge (see page 615) this command now gives a -221,"Settings conflict" instead of
being accepted without effect.
:HOSTed:FOLLower<N>:CONFi Added the ability to configure a "Simulated Instrument" to set up
gure (see page 684) simulated waveforms.
:MTESt:SOURce (see Waveform memories can now be used as a source for mask
page 876) testing.
:WAVeform:FORMat (see There is now a FLOat option for getting color grade (pixel)
page 1616) database data in single-precision floating-point format (when the
CGRade waveform view is selected).
:WAVeform:VIEW (see There is now a CGRade option for getting color grade (pixel)
page 1634) database data.
Discontinued
Commands Discontinued Command Current Command Equivalent Comments
:MEASure:THResholds:RFALl:H None Rise/fall thresholds are no
YSTeresis longer set using hysteresis and
level values.
Changed
Commands Command Description
:SPRocessing:CTLequalizer:NU Now that you can specify up to two zeros for a 3-pole CTLE, the
MPoles (see page 1755) previous POLE3 option has been replaced by P3Z1 and P3Z2.
:MEASure:RJDJ:BER (see You can now set J4 and J5 jitter BER levels.
page 1089)
Command Description
:MEASure:ERATio (see The command installs an Extinction Ratio measurement into the
page 942) user interface's measurement Results pane. The query returns the
measured Extinction Ratio.
:MEASure:FFT:CPOWer (see The command installs a channel power measurement into the
page 948) user interface's measurement Results pane. The query returns the
measured channel power.
:MEASure:FFT:OBW (see The command installs an occupied bandwidth measurement into
page 957) the user interface's measurement Results pane. The query returns
the measured occupied bandwidth.
:MEASure:FFT:PSD (see The command installs a power spectral density measurement into
page 958) the user interface's measurement Results pane. The query returns
the measured power spectral density.
:MEASure:OMAMplitude (see The command installs an Optical Modulation Amplitude (OMA)
page 1018) measurement into the user interface's measurement Results
pane. The query returns the measured Optical Modulation
Amplitude (OMA).
:MEASure:OPOWer (see The command installs an Optical Average Power measurement
page 1019) into the user interface's measurement Results pane. The query
returns the measured Optical Average Power.
:MTESt:COUNt:MARGin:FAILure Returns the margin failure count for a specified region.
s? (see page 833)
:MTESt:MARGin:AUTO:HITS When the automatic margin method is selected, and the hit ratio
(see page 860) method is selected, this command specifies the hit count.
:MTESt:MARGin:AUTO:HRATio When the automatic margin method is selected, and the hit ratio
(see page 861) method is selected, this command specifies the hit ratio.
:MTESt:MARGin:AUTO:METHod When the automatic margin method is selected, this command
(see page 862) selects between the hit count and hit ratio and automatic margin
methods.
:MTESt:MARGin:METHod (see Selects between the manual and automatic margin types.
page 863)
:MTESt:MARGin:PERCent (see When the manual margin method is selected, this command
page 864) specifies the margin percent.
:MTESt:MARGin:STATe (see Enables or disables mask margin testing.
page 865)
:XTALk Commands (see The commands in the XTALk subsystem are used to control the
page 1665) Crosstalk Analysis application.
Changed
Commands Command Description
:BUS:B<N>:TYPE (see Added support for new A429, M1553, and I3C protocols.
page 318)
:DISPlay:SCOLor (see Added the ability to set colors for MMPolygons.
page 562)
:FUNCtion<F>:FFT:RESolution The command form now lets you set the FFT resolution.
(see page 596)
:MARKer:MODE (see Added XONLy and YONLy options for for the "Manual (X only)" and
page 789) "Manual (Y only)" marker modes.
:MEASure:AREA (see Added a RISing or FALLing edge parameter when "Measure All
page 894) Edges" is set and measuring a single cycle of the waveform.
Command Description
:MEASure:SER (see When the signal type is PAM, this command installs a cumulative
page 1110) SER (symbol error rate) measurement of the specified PAM signal
into the user interface's measurement Results pane. The query
returns the measured cumulative SER value.
:MEASure:SERPeracq (see When the signal type is PAM, this command installs a SER
page 1111) (symbol error rate) per acquisition measurement of the specified
PAM signal into the user interface's measurement Results pane.
The query returns the measured SER per acquisition value.
:SBUS<N>:CAN:TYPE (see Selects between standard CAN or Flexible Data Rate CAN
page 1276) (CAN FD) decode types.
:SBUS<N>:CAN:FDSPoint (see Sets the point during the bit time where the bit level is sampled to
page 1262) determine whether the bit is dominant or recessive.
:SBUS<N>:CAN:SIGNal:FDBau Sets the CAN FD baud rate in the range from 1 Mb/s to 10 Mb/s.
drate (see page 1266)
:SYSTem:DONTtabmeas (see Turns the Never tab Measurement Results user preference on or
page 1354) off.
Changed
Commands Command Description
:ANALyze:CLOCk:METHod (see They CPHY and PWM methods have been added.
page 275)
:ANALyze:SIGNal:TYPE (see MMWave has been added as a signal type.
page 312)
:DISPlay:SCOLor (see Removed the ability to set colors for MEASurements, STEXt,
page 562) TSCale, and WBACkgrnd.
:FUNCtion<F>:MATLab:CONTro Up to 6 user-defined controls supported.
l<N> (see page 623)
:SBUS<N>:CAN:TRIGger (see Additional trigger condition options for CAN FD have been added.
page 1268)
:SBUS<N>:CAN:TRIGger:PATTe Length can be from 1 to 15 bytes for CAN FD.
rn:DATA:LENGth (see
page 1272)
Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:DISPlay:TAB (see page 1721) None This command is not supported
in version 5.00 or higher. The
query now returns only NONE.
:HOSTed:CALibrate:ALIGn (see None Acquired data is now always
page 1723) aligned, and this command has
no effect.
Command Description
:HOSTed:CALibrate:ALIGn (see Lets you align acquired data in the MultiScope system.
page 1723)
:HOSTed:CALibrate:CALibrate Performs the MultiScope system time-correlation calibration at
(see page 669) the level selected by :HOSTed:CALibrate:LEVel.
:HOSTed:CALibrate:CHANnel Selects the calibration channel or synchronization input where the
(see page 670) MultiScope system time-correlation procedures expect to find the
calibration signal.
:HOSTed:CALibrate:DESKew:FR Deskews frames in the MultiScope system by measuring only one
AMes (see page 672) input channel from each oscilloscope frame.
:HOSTed:CALibrate:DESKew:C Deskews all channels in the MultiScope system.
HANnels (see page 671)
:HOSTed:CALibrate:DESKew:SI Aligns the horizontal positions of the closest rising edges of all
GNals (see page 673) input signals in the MultiScope system.
:HOSTed:CALibrate:DESKew:ZE Resets MultiScope system signal skew values to zero.
RO (see page 674)
:HOSTed:CALibrate:LEVel (see Selects the MultiScope system calibration level.
page 675)
:HOSTed:CALibrate:PROMpt Specifies whether the user interface software prompts you to
(see page 677) make the proper connections while the MultiScope system
calibration runs.
:HOSTed:CALibrate:STATus:CH Returns the MultiScope system calibration status of "Deskew
ANnels? (see page 678) Channels".
:HOSTed:CALibrate:STATus:FRA Returns the MultiScope system calibration status of "Deskew
Mes? (see page 679) Frames".
:HOSTed:CALibrate:STATus:LEV Returns the MultiScope system calibration status of the currently
el? (see page 680) selected calibration level.
:HOSTed:CALibrate:STATus:SIG Returns the MultiScope system calibration status of "Deskew
Nals? (see page 681) Signals".
:HOSTed:CALibrate:TREF:DETe Automatically detects the reference clock connection between
ct (see page 682) oscilloscopes in a MultiScope system.
:HOSTed:FOLLower<N>:ACHan Returns the channel numbers assigned to a Follower oscilloscope
nels? (see page 683) in a MultiScope system.
:HOSTed:FOLLower<N>:CONFi Identifies the Follower oscilloscope in a MultiScope system by its
gure (see page 684) VISA address.
:HOSTed:FOLLower<N>:CONNe Opens the connection to a Follower oscilloscope in a MultiScope
ct (see page 685) system.
:HOSTed:FOLLower<N>:DISCo Closes the connection to a Follower oscilloscope in a MultiScope
nnect (see page 686) system.
Command Description
:HOSTed:LEADer:ACHannels? Returns the channel numbers assigned to the Leader oscilloscope
(see page 687) in a MultiScope system.
:HOSTed:LEADer:CONFigure Identifies the Leader oscilloscope in a MultiScope system by its
(see page 688) VISA address.
:HOSTed:LEADer:CONNect (see Opens the connection to the Leader oscilloscope in a MultiScope
page 689) system.
:HOSTed:LEADer:DISConnect Closes the connection to the Leader oscilloscope in a MultiScope
(see page 690) system.
:MEASure:PAM:ELEVel (see When the signal type is PAM-4, this command installs a vertical
page 1022) center measurement of the specified PAM-4 eye into the user
interface's measurement Results pane. The query returns the
measured vertical center value.
:MEASure:PAM:ESKew (see When the signal type is PAM-4, this command installs a horizontal
page 1024) center skew measurement of the specified PAM-4 eye into the
user interface's measurement Results pane. The query returns the
measured horizontal center skew value.
:MEASure:PAM:LEVel (see When the signal type is PAM-4, this command installs a mean
page 1031) voltage measurement of the specified PAM-4 level into the user
interface's measurement Results pane. The query returns the
measured mean voltage value.
:MEASure:PAM:LRMS (see When the signal type is PAM-4, this command installs a RMS
page 1033) voltage measurement of the specified PAM-4 level into the user
interface's measurement Results pane. The query returns the
measured RMS voltage value.
:MEASure:PAM:LTHickness (see When the signal type is PAM-4, this command installs an eye
page 1035) diagram level thickness measurement of the specified PAM-4
level into the user interface's measurement Results pane. The
query returns the measured thickness value.
:MEASure:THResholds:GENeral When the signal type is PAM-4 and
:PAMCustom (see page 1128) :MEASure:THResholds:GENeral:METHod is set to PAMCustom,
this command sets the PAM threshold levels for general
measurements to the values you specify.
:MEASure:THResholds:GENeral When the signal type is PAM-4 and
:PAMAutomatic (see :MEASure:THResholds:GENeral:METHod is set to PAMAutomatic,
page 1130) this command specifies whether the PAM threshold levels for
general measurements are determined automatically or using the
PAM-4 levels you specify.
:MEASure:THResholds:RFALl:P When the signal type is PAM-4, this command specifies whether
AMAutomatic (see the PAM threshold levels for rise/fall measurements are
page 1145) determined automatically or using the PAM-4 levels you specify.
:MEASure:TIEData2 (see Measures data time interval error.
page 1167)
Command Description
:MTESt:FOLDing:COUNt:UI? Returns the number of unit intervals in the real time eye.
(see page 843)
:MTESt:FOLDing:COUNt:WAVef Returns the number of waveforms in the real time eye.
orms? (see page 843)
:SYSTem:GUI (see page 1357) Disables or enables the front panel user interface. When disabled,
the Remote Operations In Progress dialog box appears on the
oscilloscope's screen.
NOTE: The :SYSTem:GUI OFF command lets Infiniium
oscilloscopes behave like other Keysight instruments by locking
out the GUI (graphical user interface) and the front panel while
remote scripts are running. On Infiniium oscilloscopes, the GUI
and front panel do not lock automatically during remote operation
(as most other instruments do) to preserve the integrity and
timing of legacy customer scripts. The recommendation is,
however, that all scripts begin with :SYSTem:GUI OFF when
convenient and possible to run more like other Keysight
instruments and likely improve performance.
:SYSTem:MENU? (see Returns front panel graphical user interface menu strings.
page 1362)
:TRIGger:GBSerial:CLOCk (see Specifies whether an INTernal or EXTernal reference clock (and
page 1422) internal multipliers) are used to support the selected data rate.
External reference clock signals are supplied to a BNC connector
on the oscilloscope's hardware serial trigger I/O panel.
:TRIGger:GBSerial:CLOCk:FREQ When an external reference clock is used, this command specifies
uency (see page 1423) its frequency.
:TRIGger:GBSerial:DRATe (see Specifies the data rate of the serial signal. Common data rates are
page 1425) supported.
:TRIGger:GBSerial:MODE (see Selects the hardware serial trigger mode ("generic" sequences,
page 1427) 8b/10b sequences, or PRBS errors).
:TRIGger:GBSerial:PATTern (see When triggering on "generic" sequences or 8b/10b sequences,
page 1428) this command specifies the bit pattern to trigger on.
:TRIGger:GBSerial:POLarity When triggering on PRBS errors, this command specifies the
(see page 1429) polarity of the selected PRBS pattern.
:TRIGger:GBSerial:PRBS (see When triggering on PRBS errors, this command specifies the
page 1430) pattern to check when looking for errors. You can select PRBS 7,
15, 23, or 31 patterns.
:TRIGger:GBSerial:SOURce Specifies the oscilloscope input channel on which the hardware
(see page 1431) serial trigger operates. This is always CHANnel1.
Changed
Commands Command Description
:ANALyze:CLOCk:METHod (see When the signal type is PAM-4, a symbol rate (baud) is specified
page 275) instead of a data rate (b/s).
:ANALyze:CLOCk:METHod:JTF When the signal type is PAM-4, a symbol rate (baud) is specified
(see page 284) instead of a data rate (b/s).
:ANALyze:CLOCk:METHod:OJTF When the signal type is PAM-4, a symbol rate (baud) is specified
(see page 286) instead of a data rate (b/s).
:CHANnel<N>:PROBe:HEAD:VT Supports the N7010A active termination adapter (regardless of
ERm (see page 394) the attachment/head) as well as the N5444A probe head.
:DISPlay:CGRade (see When the <source> parameter is not provided, enabling color
page 522) grade will turn off the main waveform view, and disabling color
grade will turn on the main waveform view.
:DISK:SAVE:MEASurements Added the <legacy_save_mode> option to save measurement
(see page 505) results in the format used prior to Infiniium version 5.00.
:MEASure:CGRade:EHEight When the signal type is PAM-4, an additional <threshold>
(see page 904) parameter is used to specify which eye, and the <algorithm>
parameter is ignored.
:MEASure:CGRade:EWIDth (see When the signal type is PAM-4, an additional <threshold>
page 907) parameter is used to specify which eye, and the <algorithm>
parameter is ignored.
:MEASure:FALLtime (see With PAM signal types, additional <start_level> and <stop_level>
page 946) parameters are used to identify the edge to measure.
:MEASure:NOISe:ALL? (see The parameters TWO and THRee are available for PAM-4 signals.
page 1003)
:MEASure:RISetime (see With PAM signal types, additional <start_level> and <stop_level>
page 1083) parameters are used to identify the edge to measure.
:MEASure:THResholds:GENeral When the signal type is PAM-4, you can choose between
:METHod (see page 1126) PAMCustom and PAMautomatic methods for setting the general
measurement thresholds.
:MEASure:THResholds:RFALl:M When the signal type is PAM-4, you can choose between T1090
ETHod (see page 1143) (10% and 90% of levels) and T2080 (20% and 80% of levels) when
setting the rise/fall measurement thresholds.
:MTESt:FOLDing (see When the <source> parameter is not provided, enabling the
page 839) real-time eye will turn off the main waveform view, and disabling
the real-time eye will turn on the main waveform view.
:MTESt:FOLDing:BITS (see The <pattern> string can contain characters "2" and "3" when
page 841) specified for PAM-4 signals.
:SPRocessing:CTLequalizer:RA When the signal type is PAM-4, a symbol rate (baud) is specified
Te (see page 1760) instead of a data rate (b/s).
:SPRocessing:FFEQualizer:RAT When the signal type is PAM-4, a symbol rate (baud) is specified
e (see page 1787) instead of a data rate (b/s).
Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:MEASure:TIEData (see :MEASure:TIEData2 (see Clock recovery options have
page 1748) page 1167) been removed (clock recovery
as specified with the
:ANALyze:CLOCk:METHod is
used).
When the signal type is PAM-4,
an additional <threshold>
parameter is used to specify
the threshold at which to make
the TIE measurements.
:MTESt:FOLDing:COUNt? (see :MTESt:FOLDing:COUNt:UI? The :MTESt:FOLDing:COUNt?
page 1750) (see page 843) query returns two values for UI
:MTESt:FOLDing:COUNt:WAVef count and waveform count.
orms? (see page 845) Now, there are separate
queries that return those
values individually.
The UI count returned by
:MTESt:FOLDing:COUNt? is
now a floating-point value
instead of an integer value.
Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:MEASure:CLOCk (see :ANALyze:CLOCk (see There are no differences in
page 1724) page 274) behavior. This is just a
remapping of commands into a
:MEASure:CLOCk:METHod (see :ANALyze:CLOCk:METHod (see
new subsystem.
page 1725) page 275)
:MEASure:CLOCk:METHod:ALIG :ANALyze:CLOCk:METHod:ALIG
n (see page 1729) n (see page 279)
:MEASure:CLOCk:METHod:DEE :ANALyze:CLOCk:METHod:DEE
Mphasis (see page 1730) Mphasis (see page 280)
:MEASure:CLOCk:METHod:EDG :ANALyze:CLOCk:METHod:EDG
E (see page 1731) E (see page 281)
:MEASure:CLOCk:METHod:JTF :ANALyze:CLOCk:METHod:JTF
(see page 1733) (see page 284)
:MEASure:CLOCk:METHod:OJT :ANALyze:CLOCk:METHod:OJTF
F (see page 1735) (see page 286)
:MEASure:CLOCk:METHod:PLLT :ANALyze:CLOCk:METHod:PLLT
rack (see page 1737) rack (see page 289)
:MEASure:CLOCk:METHod:SOU :ANALyze:CLOCk:METHod:SOU
Rce (see page 1738) Rce (see page 292)
:MEASure:CLOCk:VERTical (see :ANALyze:CLOCk:VERTical (see
page 1739) page 295)
:MEASure:CLOCk:VERTical:OFF :ANALyze:CLOCk:VERTical:OFF
Set (see page 1740) Set (see page 296)
:MEASure:CLOCk:VERTical:RAN :ANALyze:CLOCk:VERTical:RAN
Ge (see page 1741) Ge (see page 297)
:MEASure:JITTer:STATistics :ANALyze:AEDGes (see The :ANALyze:AEDGes
(see page 1747) page 273) command maps to the
"Measure All Edges" control in
the user interface's
Measurement Setup dialog box
only. It does not affect jitter
modes or statistics.
Changed
Commands Command Description
:CHANnel<N>:PROBe:EADapter Added the DIV1000, CUR001VA, CUR01VA, CUR1VA, CUR10VA,
(see page 382) CURN2893, CUR1147, HIVOLTN2790 options for use with the
E2697A or N5449A high impedance adapters.
:FUNCtion<F>:MHIStogram Lets you specify the maximum number of histogram bins along
(see page 627) with the measurement source.
:SBUS<N>:MODE (see Added the FLEXray and LIN mode options.
page 1258)
Command Description
:SBUS<N>:CAN:SOURce (see Added the NONE parameter to make the previously selected
page 1267) channel, waveform memory, or math function available for other
decodes (same as selecting "None" for the source in the user
:SBUS<N>:IIC:SOURce:CLOCk
interface).
(see page 1297)
:SBUS<N>:IIC:SOURce:DATA
(see page 1298)
:SBUS<N>:SPI:SOURce:CLOCk
(see page 1318)
:SBUS<N>:SPI:SOURce:DATA
(see page 1320)
:SBUS<N>:SPI:SOURce:FRAMe
(see page 1322)
:SBUS<N>:SPI:SOURce:MISO
(see page 1323)
:SBUS<N>:SPI:SOURce:MOSI
(see page 1324)
Changed
Commands Command Description
:MEASure:CLOCk:METHod (see The PCIE clock recovery method has been removed.
page 1725)
Command Description
:MTESt:FOLDing:POSition (see Sets the real-time eye horizontal center position in unit intervals.
page 849)
:MTESt:FOLDing:SCALe (see Sets the real-time eye horizontal scale, that is, the number of unit
page 851) intervals (UIs) shown on screen.
:SBUS<N>:HS:DESCramble Turns high-speed descrambling on or off if supported by the
(see page 1291) protocol type.
:SBUS<N>:HS:FORMat (see Specifies the high-speed symbol display format.
page 1292)
:SBUS<N>:HS:IDLE (see Specifies whether electrical idles are present in the signal.
page 1293)
:SBUS<N>:HS:SOURce<S> Specifies the signal that is the high-speed data source.
(see page 1294)
:TIMebase:REFerence:PERCent Sets the timebase reference (trigger) position as a percent of
(see page 1374) screen value.
Changed
Commands Command Description
:BUS:B<N>:TYPE (see Added support for new protocols.
page 318)
:DISK:SAVE:LISTing (see Added the <type> parameter for specifying which display window
page 504) to save.
:DISPlay:CGRade (see Added the optional <source> parameter for specifying the
page 522) waveform on which color grade should be turned on or off.
:DISPlay:CGRade:LEVels (see This query is unchanged but results are returned only when a
page 525) single color grade view is on.
:DISPlay:CONNect (see Added the optional <source> parameter for specifying the
page 529) waveform on which the setting should be made.
:DISPlay:GRATicule:NUMBer Number of grids can be any number between 1 and 16 (not just 1,
(see page 537) 2, 4, 8, or 16). You can also specify which waveform area the
number of grids setting is for.
:DISPlay:GRATicule:SETGrat In addition to assigning a waveform to a grid, you can now
(see page 538) optionally specify which waveform area the grid is in. Also, you
can specify whether the MAIN or CGRade (color grade) view of the
waveform will be placed.
:DISPlay:PERSistence (see Added the optional <source> parameter for specifying the
page 554) waveform on which the persistence setting should be made.
:LISTer:DATA (see page 778) Added the <type> parameter for specifying which display window
to save.
Command Description
:MEASure:CGRade:CROSsing Added the optional <source> parameter for specifying the
(see page 902) waveform on which the color grade crossing level percent is
measured.
:MEASure:CGRade:DCDistortio Added the optional <source> parameter for specifying the
n (see page 903) waveform on which the color grade duty cycle distortion is
measured.
:MEASure:CGRade:EHEight Added the optional <source> parameter for specifying the
(see page 904) waveform on which the color grade eye height is measured.
:MEASure:CGRade:EWIDth (see Added the optional <source> parameter for specifying the
page 907) waveform on which the color grade eye width is measured.
:MEASure:CGRade:EWINdow Added the optional <source> parameter for specifying the
(see page 910) waveform on which the color grade eye window is applied.
:MEASure:CGRade:JITTer (see Added the optional <source> parameter for specifying the
page 912) waveform on which the color grade jitter is measured.
:MEASure:CGRade:QFACtor Added the optional <source> parameter for specifying the
(see page 915) waveform on which the color grade Q factor is measured.
:MEASure:WINDow (see Added the CGRade (color grade) view as a measurement window
page 1201) option.
:MTESt:FOLDing (see Added the optional <source> parameter for specifying the
page 839) waveform on which to enable/disable the real-time eye.
:MTESt:FOLDing:BITS (see Added the required <source> parameter to specify the waveform
page 841) on which to set the real-time eye bit qualification.
:MTESt:FOLDing:FAST (see Added the optional <source> parameter for specifying the
page 847) waveform on which to set the fast worst-case option.
:TIMebase:REFerence (see Query can now return PERC when a reference position percent
page 1373) value is being used.
Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:DISPlay:COLumn (see :DISPlay:BOOKmark<N>:XPOSi Bookmarks are now the
page 1717) tion (see page 520) method used to place text
strings or annotations on
:DISPlay:LINE (see :DISPlay:BOOKmark<N>:SET
screen.
page 1718) (see page 517)
:DISPlay:ROW (see :DISPlay:BOOKmark<N>:YPOSi
page 1719) tion (see page 521)
:DISPlay:STRing (see :DISPlay:BOOKmark<N>:SET
page 1720) (see page 517)
:DISPlay:TEXT (see :DISPlay:BOOKmark<N>:DELet
page 1722) e (see page 516)
Discontinued
Commands Discontinued Command Current Command Equivalent Comments
:DISPlay:GRATicule:SIZE None Graticule sizing is different in
the next-generation Infiniium
user interface software.
Changed
Commands Command Description
:SBUS<N>:MODE (see Added CAN mode option.
page 1258)
Changed
Commands Command Description
:DIGital<N>:THReshold (see There is now the DIFFerential parameter for specifying the
page 486) threshold voltage.
:DISK:SAVE:WAVeform (see There is now the H5INt format parameter which saves waveform
page 510) data as integers within the H5 file.
:POD<N>:THReshold (see There is now the DIFFerential parameter for specifying the
page 1214) threshold voltage.
Changed
Commands Command Description
Function Commands (see You can now define up to 16 functions.
page 569)
Changed
Commands Command Description
:MEASure:CLOCk:METHod (see The command options for specifying clock recovery PLL options
page 1725) have been moved to the new commands
:MEASure:CLOCk:METHod:JTF and
:MEASure:CLOCk:METHod:OJTF.
Obsolete
Commands Obsolete Command Current Command Description
Equivalent
:MEASure:DDPWS :MEASure:RJDJ:ALL? The :MEASure:RJDJ:ALL? query returns all of the
(see page 1085) RJDJ jitter measurements.
Changed
Commands Command Description
:MEASure:NOISe:ALL (see New results can be returned depending on the
page 1003) :MEASure:NOISe:METHod and :MEASure:NOISe:REPort settings.
:MEASure:RJDJ:ALL (see New results can be returned depending on the
page 1085) :MEASure:RJDJ:METHod and :MEASure:RJDJ:REPort settings.
Changed
Commands Command Description
:ACQuire:BANDwidth (see There is now a MAX option for selecting the maximum bandwidth.
page 241)
:MTESt:FOLDing:BITS (see There is now a PATTern option for specifying bit pattern
page 841) qualification for the real-time eye display.
Command Description
:MEASure:RJDJ:SCOPe:RJ (see Specifies the removal of the oscilloscope's calibrated random
page 1101) jitter from the reported RJ.
:SBUS<N> Commands (see For setting up IIC and SPI serial decode and triggering.
page 1255)
Changed
Commands Command Description
:CHANnel<N>:PROBe:HEAD:SE Now lets you select probe heads by the labels given with the
Lect (see page 393) :CHANnel<N>:PROBe:HEAD:ADD command.
:MEASure:HISTogram:HITS Can now use this command with Meas Histogram math functions.
(see page 962)
:MEASure:HISTogram:M1S (see Can now use this command with Meas Histogram math functions.
page 963)
:MEASure:HISTogram:M2S (see Can now use this command with Meas Histogram math functions.
page 964)
:MEASure:HISTogram:M3S (see Can now use this command with Meas Histogram math functions.
page 965)
:MEASure:HISTogram:MAX (see Can now use this command with Meas Histogram math functions.
page 966)
:MEASure:HISTogram:MEAN Can now use this command with Meas Histogram math functions.
(see page 967)
:MEASure:HISTogram:MEDian Can now use this command with Meas Histogram math functions.
(see page 968)
:MEASure:HISTogram:MIN (see Can now use this command with Meas Histogram math functions.
page 969)
:MEASure:HISTogram:MODE Can now use this command with Meas Histogram math functions.
(see page 972)
:MEASure:HISTogram:PEAK Can now use this command with Meas Histogram math functions.
(see page 973)
:MEASure:HISTogram:PP (see Can now use this command with Meas Histogram math functions.
page 974)
:MEASure:HISTogram:STDDev Can now use this command with Meas Histogram math functions.
(see page 976)
:MEASure:RJDJ:ALL (see There are two possible additional measurement results, Scope
page 1085) RN(rms) and DDPWS.
:TRIGger:MODE (see Added the SBUS1, SBUS2, SBUS3, and SBUS4 selections for
page 1398) triggering on serial buses.
Changed
Commands Command Description
:BUS:B<N>:TYPE (see The MPHY protocol type has been added for the MIPI M-PHY
page 318) serial decode selection.
:FUNCtion<F>:FFT:WINDow The HAMMing window mode is now a valid selection.
(see page 603)
:MEASure:JITTer:SPECtrum:WI The HAMMing window mode is now a valid selection.
NDow (see page 990)
Command Description
:MEASure:THResholds:GENeral Sets the upper level, middle level, and lower level voltages as a
:PERCent (see page 1132) percentage of the top and base voltages for everything except
rise/fall measurements and protocol decode.
:MEASure:THResholds:GENeral Sets the top level and base level voltages for everything except
:TOPBase:ABSolute (see rise/fall measurements and protocol decode.
page 1134)
:MEASure:THResholds:GENeral Determines the way that the top and base of a waveform are
:TOPBase:METHod (see derived for everything except rise/fall measurements and protocol
page 1134) decode.
:MEASure:THResholds:RFALl:A Sets the upper level, middle level, and lower level voltages for
BSolute (see page 1141) rise/fall measurements.
:MEASure:THResholds:RFALl:H Sets the hysteresis range and level level voltages for rise/fall
YSTeresis measurements.
:MEASure:THResholds:RFALl:M Specifies the way that the top and base of a waveform are
ETHod (see page 1143) calculated for rise/fall measurements.
:MEASure:THResholds:RFALl:P Sets the upper level, middle level, and lower level voltages as a
ERCent (see page 1147) percentage of the top and base voltages for rise/fall
measurements.
:MEASure:THResholds:RFALl:T Sets the top level and base level voltages for rise/fall
OPBase:ABSolute (see measurements.
page 1149)
:MEASure:THResholds:RFALl:T Determines the way that the top and base of a waveform are
OPBase:METHod (see derived for rise/fall measurements.
page 1149)
:MEASure:THResholds:SERial:A Sets the upper level, middle level, and lower level voltages for
BSolute (see page 1153) protocol decode.
:MEASure:THResholds:SERial: Sets the hysteresis range and level level voltages for protocol
HYSTeresis (see page 1155) decode.
:MEASure:THResholds:SERial: Specifies the way that the top and base of a waveform are
METHod (see page 1157) calculated for protocol decode.
:MEASure:THResholds:SERial:P Sets the upper level, middle level, and lower level voltages as a
ERCent (see page 1158) percentage of the top and base voltages for protocol decode.
:MEASure:THResholds:SERial:T Sets the top level and base level voltages for protocol decode.
OPBase:ABSolute (see
page 1160)
:MEASure:THResholds:SERial:T Determines the way that the top and base of a waveform are
OPBase:METHod (see derived for protocol decode.
page 1160)
Command Description
:SPRocessing:CTLequalizer:NU Selects either a 2 Pole or 3 Pole Continuous Time Linear
MPoles (see page 1755) Equalization.
:SPRocessing:CTLequalizer:P3 Sets the Pole 3 frequency for the Continuous Time Linear
(see page 1758) Equalization.
Changed
Commands Command Description
:ACQuire:INTerpolate (see The INT1, INT2, INT4, INT8, INT16 options have been added for
page 250) specifying the 1, 2, 4, 8, or 16 point Sin(x)/x interpolation ratios.
:MEASure:RJDJ:BER (see You can now set J2 and J9 jitter BER levels.
page 1089)
:MEASure:VRMS (see The VOLT and DBM parameters have been added for specifying
page 1195) the measurement units.
:MEASure:WINDow (see The short form of the command was changed from :MEAS:WIN to
page 1201) :MEAS:WIND.
2 Setting Up
Step 1. Install Keysight IO Libraries Suite software / 118
Step 2. Connect and set up the oscilloscope / 119
Step 3. Verify the oscilloscope connection / 120
This chapter explains how to install the Keysight IO Libraries Suite software on a
controller PC, connect the oscilloscope to the controller PC, set up the
oscilloscope, and verify the oscilloscope connection.
Note that Keysight IO Libraries Suite software comes installed on Infiniium
oscilloscopes, and it is possible to control the oscilloscope from programs running
on the instrument.
117
2 Setting Up
Make sure the Keysight Infiniium software is running on the oscilloscope. It must be running
N OT E
before you can make a connection.
1 On the controller PC, click on the Keysight IO Control icon in the taskbar and
choose Connection Expert from the popup menu.
3 If your instrument does not appear, you can add it using the Manual
Configuration tab.
If the connection test is not successful, go back and verify the LAN
connections and the oscilloscope setup.
4 Test some commands on the instrument:
a In the Details for the selected instrument, click Send Commands To This
Instrument.
c Choose Connect > Exit from the menu to exit the Keysight Interactive IO
application.
5 In the Keysight Connection Expert application, choose File > Exit from the menu
to exit the application.
3 Introduction to Programming
Communicating with the Oscilloscope / 127
Instructions / 128
Instruction Header / 129
White Space (Separator) / 130
Braces / 131
Ellipsis / 132
Square Brackets / 133
Command and Query Sources / 134
Program Data / 135
Header Types / 136
Query Headers / 138
Program Header Options / 139
Character Program Data / 140
Numeric Program Data / 141
Embedded Strings / 142
Program Message Terminator / 143
Common Commands within a Subsystem / 144
Selecting Multiple Subsystems / 145
Programming Getting Started / 146
Referencing the IO Library / 147
Opening the Oscilloscope Connection via the IO Library / 148
Initializing the Interface and the Oscilloscope / 149
Example Program / 151
Using the DIGitize Command / 152
Receiving Information from the Oscilloscope / 154
String Variable Example / 155
Numeric Variable Example / 156
Definite-Length Block Response Data / 157
Multiple Queries / 158
Oscilloscope Status / 159
125
3 Introduction to Programming
This chapter introduces the basics for remote programming of an oscilloscope. The
programming commands in this manual conform to the IEEE 488.2 Standard
Digital Interface for Programmable Instrumentation. The programming commands
provide the means of remote control.
Basic operations that you can do with a computer and an oscilloscope include:
• Set up the oscilloscope.
• Make measurements.
• Get data (waveform, measurements, and configuration) from the oscilloscope.
• Send information, such as waveforms and configurations, to the oscilloscope.
You can accomplish other tasks by combining these functions.
N OT E Example Programs are Written in Visual Basic for Applications (VBA) and C
The programming examples for individual commands in this manual are written in Visual Basic
for Applications (VBA) and C.
Instructions
Instructions, both commands and queries, normally appear as strings embedded
in a statement of your host language, such as Visual Basic for Applications (VBA),
Visual Basic .NET, C#, C, etc.
The only time a parameter is not meant to be expressed as a string is when the
instruction's syntax definition specifies <block data>, such as with the
:SYSTem:SETup command. There are only a few instructions that use block data.
Instructions are composed of two main parts:
• The header, which specifies the command or query to be sent.
• The program data, which provides additional information to clarify the meaning
of the instruction.
Instruction Header
The instruction header is one or more command mnemonics separated by colons
(:). They represent the operation to be performed by the oscilloscope. See
Chapter 4, “Programming Conventions,” starting on page 161 for more
information.
Queries are formed by adding a question mark (?) to the end of the header. Many
instructions can be used as either commands or queries, depending on whether or
not you include the question mark. The command and query forms of an
instruction usually have different program data. Many queries do not use any
program data.
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.
Ellipsis
... An ellipsis (trailing dots) indicates that the preceding element may be repeated
one or more times.
Square Brackets
Items enclosed in square brackets, [ ], are optional.
Program Data
Program data is used to clarify the meaning of the command or query. It provides
necessary information, such as whether a function should be on or off, or which
waveform is to be displayed. Each instruction's syntax definition shows the
program data and the values they accept.
When there is more than one data parameter, they are separated by commas (,).
You can add spaces around the commas to improve readability.
Header Types
There are three types of headers:
• "Simple Command Header" on page 136
• "Compound Command Header" on page 136
• "Common Command Header" on page 137
See Also • "Combining Commands in the Same Subsystem" on page 137
• "Duplicate Mnemonics" on page 137
For example:
":AUToscale"
When program data must be included with the simple command header (for
example, :DIGitize CHANnel1), white space is added to separate the data from the
header. The syntax is:
<program mnemonic><separator><program data><terminator>
For example:
":DIGitize CHANnel1,FUNCtion2"
For example:
":CHANnel1:BWLimit ON"
For example:
:CHANnel1:INPut DC;BWLimit ON
No space or separator is allowed between the asterisk (*) and the command
header. *CLS is an example of a common command header.
Duplicate Mnemonics
Identical function mnemonics can be used for more than one subsystem. For
example, you can use the function mnemonic RANGE to change both the vertical
range and horizontal range:
To set the vertical range of channel 1 to 0.4 volts full scale:
:CHANnel1:RANGe .4
Query Headers
A command header immediately followed by a question mark (?) is a query. After
receiving a query, the oscilloscope interrogates the requested subsystem and
places the answer in its output queue. The answer remains in the output queue
until it is read or until another command is issued. When read, the answer is
transmitted across the bus to the designated listener (typically a computer).
For example, with VISA COM library and Visual Basic for Applications (VBA)
language, the query:
myScope.WriteString ":TIMebase:RANGe?"
passes the value across the bus to the computer and places it in the variable
varRange.
You can use queries to find out how the oscilloscope is currently configured and to
get results of measurements made by the oscilloscope. For example, the query:
:MEASure:RISetime?
tells the oscilloscope to measure the rise time of your waveform and place the
result in the output queue.
The output queue must be read before the next program message is sent. For
example, when you send the query :MEASure:RISetime?, you must follow it with an
input statement.
With the VISA COM library and Visual Basic for Applications (VBA) language, this
is usually done with a ReadString() or ReadNumber() method. These methods read
the result of the query and place the result in a specified variable.
The rules for the short form syntax are described in Chapter 4, “Programming
Conventions,” starting on page 161.
Embedded Strings
Embedded strings contain groups of alphanumeric characters which are treated as
a unit of data by the oscilloscope. An example of this is the line of text written to
the advisory line of the oscilloscope with the :SYSTem:DSP command:
:SYSTem:DSP ""This is a message.""
You may delimit embedded strings with either single (') or double (") quotation
marks. These strings are case-sensitive, and spaces are also legal characters.
is received by the oscilloscope, the oscilloscope turns averaging on, then clears
the status information without leaving the selected subsystem.
If some other type of command is received within a program message, you must
re-enter the original subsystem after the command. For example, the program
message
":ACQuire:AVERage ON;:AUToscale;:ACQuire:AVERage:COUNt 1024"
turns averaging on, completes the autoscale operation, then sets the acquire
average count. Here, :ACQuire must be sent again after AUToscale to re-enter the
ACQuire subsystem and set the count.
:CHANnel1:RANGe 0.4;:TIMebase:RANGe 1
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.11 Type Library".
3 Click OK.
' 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>")
' 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"
Autoscale
The AUToscale feature of Keysight Technologies digitizing oscilloscopes performs
a very useful function on unknown waveforms by automatically setting up the
vertical channel, time base, and trigger level of the oscilloscope.
The syntax for the autoscale function is:
:AUToscale<terminator>
:SYSTem:HEADer OFF<terminator>
This example sets the time base at 1 ms full-scale (100 μs/div), with delay of
100 μs. Vertical is set to 16 V full-scale (2 V/div), with center of screen at 1 V, and
probe attenuation of 10.
Example Program
This program demonstrates the basic command structure used to program the
oscilloscope.
' Initialize the instrument interface to a known state.
myScope.IO.Clear
myScope.IO.Timeout = 15000 ' Set interface timeout to 15 seconds.
' Set the time base mode to normal with the horizontal time at
' 50 ms/div with 0 s of delay referenced at the center of the
' graticule.
myScope.WriteString ":TIMebase:RANGe 5E-4" ' Time base to 500 us/div.
myScope.WriteString ":TIMebase:DELay 0" ' Delay to zero.
myScope.WriteString ":TIMebase:REFerence CENTer" ' Display ref. at
' center.
' Set the vertical range to 1.6 volts full scale with center screen
' at -0.4 volts with 10:1 probe attenuation and DC coupling.
myScope.WriteString ":CHANnel1:PROBe 1.0" ' Probe attenuation
' to 1:1.
myScope.WriteString ":CHANnel1:RANGe 1.6" ' Vertical range
' 1.6 V full scale.
myScope.WriteString ":CHANnel1:OFFSet -0.4" ' Offset to -0.4.
myScope.WriteString ":CHANnel1:INPut DC" ' Coupling to DC.
This setup places the oscilloscope into the real time sampling mode using eight
averages. This means that when the DIGitize command is received, the command
will execute until the waveform has been averaged at least eight times.
After receiving the :WAVeform:DATA? query, the oscilloscope will start
downloading the waveform information.
Digitized waveforms are passed from the oscilloscope to the computer by sending
a numerical representation of each digitized point. The format of the numerical
representation is controlled by using the :WAVeform:FORMat command and may
be selected as BYTE, WORD, or ASCII.
This would enter the current setting for the channel 1 coupling in the string
variable strSetting.
All results for queries sent in a program message must be read before another
program message is sent. For example, when you send the query
:MEASure:RISETIME?, you must follow that query with an input statement.
The format specification for handling response messages depends on both the
computer and the programming language.
The "4" following the pound sign represents the number of digits in the number of
bytes, and "4000" represents the number of bytes to be transmitted.
Multiple Queries
You can send multiple queries to the instrument within a single command string,
but you must also read them back as a single query result. This can be
accomplished by reading them back into a single string variable, multiple string
variables, or multiple numeric variables.
For example, to read the :TIMebase:RANGe?;DELay? query result into a single
string variable, you could use the commands:
myScope.WriteString ":TIMebase:RANGe?;DELay?"
Dim strQueryResult As String
strQueryResult = myScope.ReadString
MsgBox "Timebase range; delay:" + strQueryResult
When you read the result of multiple queries into a single string variable, each
response is separated by a semicolon. For example, the output of the previous
example would be:
Timebase range; delay: <range_value>;<delay_value>
Oscilloscope Status
Status registers track the current status of the oscilloscope. By checking the
oscilloscope status, you can find out whether an operation has completed and is
receiving triggers. Chapter 7, “Status Reporting,” starting on page 185 explains
how to check the status of the oscilloscope.
4 Programming Conventions
Truncation Rule / 162
The Command Tree / 163
Infinity Representation / 166
Response Generation / 167
EOI / 168
161
4 Programming Conventions
Truncation Rule
The truncation rule is used to produce the short form (abbreviated spelling) for the
mnemonics used in the programming headers and parameter arguments.
This document's command descriptions shows how the truncation rule is applied
to commands.
Command Types
The commands in this oscilloscope can be viewed as three types: common
commands, root level commands, and subsystem commands.
• Common commands are commands defined by IEEE 488.2 and control some
functions that are common to all IEEE 488.2 instruments. These commands are
independent of the tree and do not affect the position of the parser within the
tree. *RST is an example of a common command.
• Root level commands control many of the basic functions of the oscilloscope.
These commands reside at the root of the command tree. They can always be
parsed if they occur at the beginning of a program message or are preceded by
a colon. Unlike common commands, root level commands place the parser
back at the root of the command tree. AUToscale is an example of a root level
command.
• Subsystem commands are grouped together under a common node of the
command tree, such as the TIMebase commands. You may select only one
subsystem at a given time. When you turn on the oscilloscope initially, the
command parser is set to the root of the command tree and no subsystem is
selected.
In the command tree, use the last mnemonic in the compound header as a
reference point (for example, RANGe). Then find the last colon above that
mnemonic (TIMebase:). That is the point where the parser resides. You can send
any command below this point within the current program message without
sending the mnemonics which appear above them (for example, REFerence).
or
myScope.WriteString ":TIMebase:REFerence CENTer"
myScope.WriteString ":TIMebase:POSition 0.00001"
In the first line of example 2, the "subsystem selector" is implied for the POSITION
command in the compound command.
A second way to send these commands is shown in the second part of the
example. Because the program message terminator places the parser back at the
root of the command tree, you must reselect TIMEBASE to re-enter the TIMEBASE
node before sending the POSITION command.
Example 3 Consider the following command:
myScope.WriteString ":TIMebase:REFerence CENTer;:CHANnel1:OFFSet 0"
In this example, the leading colon before CHANnel1 tells the parser to go back to
the root of the command tree. The parser can then recognize the
:CHANnel1:OFFSet command and enter the correct node.
Infinity Representation
The representation for infinity for this oscilloscope is 9.99999E+37. This is also the
value returned when a measurement cannot be made.
Response Generation
As defined by IEEE 488.2, query responses may be buffered for these reasons:
• When the query is parsed by the oscilloscope.
• When the computer addresses the oscilloscope to talk so that it may read the
response.
This oscilloscope buffers responses to a query when the query is parsed.
EOI
The EOI bus control line follows the IEEE 488.2 standard without exception.
There are several types of interfaces that can be used to remotely program the
Infiniium oscilloscope including Local Area Network (LAN) interface and GPIB
interface. Telnet and sockets can also be used to connect to the oscilloscope.
169
5 LAN, USB, and GPIB Interfaces
Interface Capabilities
The interface capabilities of this oscilloscope, as defined by IEEE 488.1 and IEEE
488.2, are listed in the following table.
Oscilloscope Address
Each oscilloscope on the GPIB must have a unique oscilloscope address between
decimal 0 and 30. This oscilloscope address is used by the computer to direct
commands and communications to the proper oscilloscope on an interface. The
default is typically "7" for this oscilloscope. You can change the oscilloscope
address in the Utilities, Remote Interface dialog box.
main()
{
INST Bus;
int reason;
unsigned long actualcnt;
char buffer[ BUFFER_SIZE ];
Telnet
To open a connection to the oscilloscope via a telnet connection, use the following
syntax in a command prompt:
telnet Oscilloscope_IP_Address 5024
5024 is the port number and the name of the oscilloscope can be used in place of
the IP address if desired.
After typing the above command line, press enter and a SCPI command line
interface will open. You can then use this as you typically would use a command
line.
Sockets
Sockets can be used to connect to your oscilloscope on either a Windows or Unix
machine.
The sockets are located on port 5025 on your oscilloscope. Between ports 5024
and 5025, only six socket ports can be opened simultaneously. It is, therefore,
important that you use a proper close routine to close the connection to the
oscilloscope. If you forget this, the connection will remain open and you may end
up exceeding the limit of six socket ports.
Some basic commands used in communicating to your oscilloscope include:
• The receive command is: recv
• The send command is: send
Below is a programming example (for a Windows-based machine) for opening and
closing a connection to your oscilloscope via sockets.
#include <winsock2.h>
void main ()
{
WSADATA wsaData;
SOCKET mysocket = NULL;
char* ipAddress = "130.29.70.70";
const int ipPort = 5025;
//Initialize Winsock
int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if(iResult != NO_ERROR)
{
printf("Error at WSAStartup()\\n");
return NULL;
}
sockaddr_in clientService;
clientService.sin_family = AF_INET;
clientService.sin.addr.s_addr = inet_addr(ipAddress);
clientService.sin_port = htons(ipPort);
Bus Commands
The following commands are IEEE 488.1 bus commands (ATN true). IEEE 488.2
defines many of the actions that are taken when these commands are received by
the oscilloscope.
Device Clear
The device clear (DCL) and selected device clear (SDC) commands clear the input
buffer and output queue, reset the parser, and clear any pending commands. If
either of these commands is sent during a digitize operation, the digitize operation
is aborted.
Interface Clear
The interface clear (IFC) command halts all bus activity. This includes
unaddressing all listeners and the talker, disabling serial poll on all devices, and
returning control to the system computer.
181
6 Message Communication and System Functions
Protocols
The message exchange protocols of IEEE 488.2 define the overall scheme used by
the computer and the oscilloscope to communicate. This includes defining when it
is appropriate for devices to talk or listen, and what happens when the protocol is
not followed.
• "Functional Elements" on page 182
• "Protocol Overview" on page 182
• "Protocol Operation" on page 183
• "Protocol Exceptions" on page 183
• "Suffix Multiplier" on page 183
• "Suffix Unit" on page 184
Functional Elements
Before proceeding with the description of the protocol, you should understand a
few system components, as described here.
Input Buffer The input buffer of the oscilloscope is the memory area where commands and
queries are stored prior to being parsed and executed. It allows a computer to
send a string of commands, which could take some time to execute, to the
oscilloscope, then proceed to talk to another oscilloscope while the first
oscilloscope is parsing and executing commands.
Output Queue The output queue of the oscilloscope is the memory area where all output data or
response messages are stored until read by the computer.
Parser The oscilloscope's parser is the component that interprets the commands sent to
the oscilloscope and decides what actions should be taken. "Parsing" refers to the
action taken by the parser to achieve this goal. Parsing and execution of
commands begins when either the oscilloscope recognizes a program message
terminator, or the input buffer becomes full. If you want to send a long sequence
of commands to be executed, then talk to another oscilloscope while they are
executing, you should send all of the commands before sending the program
message terminator.
Protocol Overview
The oscilloscope and computer communicate using program messages and
response messages. These messages serve as the containers into which sets of
program commands or oscilloscope responses are placed.
A program message is sent by the computer to the oscilloscope, and a response
message is sent from the oscilloscope to the computer in response to a query
message. A query message is defined as being a program message that contains
one or more queries. The oscilloscope will only talk when it has received a valid
query message, and therefore has something to say. The computer should only
attempt to read a response after sending a complete query message, but before
sending another program message.
Protocol Operation
When you turn the oscilloscope on, the input buffer and output queue are cleared,
and the parser is reset to the root level of the command tree.
The oscilloscope and the computer communicate by exchanging complete
program messages and response messages. This means that the computer should
always terminate a program message before attempting to read a response. The
oscilloscope will terminate response messages except during a hard copy output.
After you send a query message, the next message should be the response
message. The computer should always read the complete response message
associated with a query message before sending another program message to the
same oscilloscope.
The oscilloscope allows the computer to send multiple queries in one query
message. This is called sending a "compound query". Multiple queries in a query
message are separated by semicolons. The responses to each of the queries in a
compound query will also be separated by semicolons.
Commands are executed in the order they are received.
Protocol Exceptions
If an error occurs during the information exchange, the exchange may not be
completed in a normal manner.
Suffix Multiplier
The suffix multipliers that the oscilloscope will accept are shown in the following
table.
Suffix Unit
The suffix units that the oscilloscope will accept are shown in the following table.
7 Status Reporting
Status Reporting Data Structures / 188
Status Byte Register / 190
Service Request Enable Register / 192
Message Event Register / 193
Trigger Event Register / 194
Standard Event Status Register / 195
Standard Event Status Enable Register / 196
Operation Status Register / 197
Operation Status Enable Register / 198
Mask Test Event Register / 199
Mask Test Event Enable Register / 200
Acquisition Done Event Register / 201
Process Done Event Register / 202
Trigger Armed Event Register / 203
Auto Trigger Event Register / 204
Error Queue / 1800
Output Queue / 206
Message Queue / 207
Clearing Registers and Queues / 208
Example: Checking for Armed Status / 210
185
7 Status Reporting
The Status Byte Register, the Standard Event Status Register group, and the
Output Queue are defined as the Standard Status Data Structure Model in IEEE
488.2-1987. IEEE 488.2 defines data structures, commands, and common bit
definitions for status reporting. There are also oscilloscope-defined structures and
bits.
The next program prints "0x84" and clears bit 6 (RQS) of the Status Byte Register.
The difference in the decimal value between this example and the previous one is
the value of bit 6 (weight = 64). Bit 6 is set when the first enabled summary bit is
set, and is cleared when the Status Byte Register is read by the serial poll
command.
Example 2 The following example uses the resource session object's ReadSTB method to read
the contents of the oscilloscope's Status Byte Register.
varStbValue = myScope.IO.ReadSTB
Debug.Print "Status Byte Register, Serial Poll: 0x" + Hex(varStbValue)
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).
If bit 4 (weight = 16) and bit 5 (weight = 32) are set, the program prints the sum of
the two weights.
Whenever an error occurs, it sets one of these bits in the (Standard) Event Status
Register. Because all the error related bits are enabled, a summary bit is generated
to set bit 5 (ESB) in the Status Byte Register.
If bit 5 (ESB) in the Status Byte Register is enabled (via the *SRE command), a
service request interrupt (SRQ) is sent to the controller PC.
N OT E Disabled Standard Event Status Register Bits Respond, but Do Not Generate a
Summary Bit
Standard Event Status Register bits that are not enabled still respond to their corresponding
conditions (that is, they are set if the corresponding event occurs). However, because they are
not enabled, they do not generate a summary bit in the Status Byte Register.
Whenever an error occurs, the oscilloscope sets this bit in the Mask Test Event
Register. Because this bit is enabled, a summary bit is generated to set bit 9
(OPER) in the Operation Status Register.
If bit 7 (OPER) in the Status Byte Register is enabled (via the *SRE command), a
service request interrupt (SRQ) is sent to the external computer.
N OT E Disabled Operation Status Register Bits Respond, but Do Not Generate a Summary
Bit
Operation Status Register bits that are not enabled still respond to their corresponding
conditions (that is, they are set if the corresponding event occurs). However, because they are
not enabled, they do not generate a summary bit in the Status Byte Register.
Whenever an error occurs, the oscilloscope sets the MASK bit in the Operation
Status Register. Because the bits in the Operation Status Enable Register are all
enabled, a summary bit is generated to set bit 7 (OPER) in the Status Byte
Register.
If bit 7 (OPER) in the Status Byte Register is enabled (via the *SRE command), a
service request interrupt (SRQ) is sent to the external computer.
N OT E Disabled Mask Test Event Register Bits Respond, but Do Not Generate a Summary
Bit
Mask Test Event Register bits that are not enabled still respond to their corresponding
conditions (that is, they are set if the corresponding event occurs). However, because they are
not enabled, they do not generate a summary bit in the Operation Status Register.
Error Queue
As errors are detected, they are placed in an error queue. This queue is a first-in,
first-out queue. If the error queue overflows, the last error in the queue is replaced
with error -350, "Queue overflow." Any time the queue overflows, the oldest errors
remain in the queue, and the most recent error is discarded. The length of the
oscilloscope's error queue is 30 (29 positions for the error messages, and 1
position for the "Queue overflow" message).
The error queue is read with the :SYSTem:ERRor? query. Executing this query
reads and removes the oldest error from the head of the queue, which opens a
position at the tail of the queue for a new error. When all the errors have been read
from the queue, subsequent error queries return 0, "No error."
The error queue is cleared when any of these events occur:
• When the oscilloscope is powered up.
• When the oscilloscope receives the *CLS common command.
• When the last item is read from the error queue.
For more information on reading the error queue, refer to the :SYSTem:ERRor?
query in the System Commands chapter. For a complete list of error messages,
refer to the chapter, "Error Messages."
Output Queue
The output queue stores the oscilloscope-to-controller responses that are
generated by certain oscilloscope commands and queries. The output queue
generates the Message Available summary bit when the output queue contains
one or more bytes. This summary bit sets the MAV bit (bit 4) in the Status Byte
Register.
When using the Keysight VISA COM library, the output queue may be read with
the FormattedIO488 object's ReadString, ReadNumber, ReadList, or
ReadIEEEBlock methods.
Message Queue
The message queue contains the text of the last message written to the advisory
line on the screen of the oscilloscope. The queue is read with the :SYSTem:DSP?
query. Note that messages sent with the :SYSTem:DSP command do not set the
MSG status bit in the Status Byte Register.
no Do you want
to do status
reporting?
yes
myScope.WriteString "*RST"
myScope.WriteString "*CLS"
Do you want to no (Your programs can read the status registers instead.)
send a Service Request
(SRQ) interrupt to the
controller?
yes
Use the following to read the
Standard Event Status Register:
Activate the instrument function
Do you want to no that you want to monitor. myScope.WriteString "*ESR?"
report events monitored by varR = myScope.ReadNumber
the Standard Event Status MsgBox "ESR: 0x" + Hex(varR)
Register?
yes When an interrupt occurs, interrupt
handler should serial poll STB with:
Use the *ESE common command varR = myScope.IO.ReadSTB Use the following to see if an
to enable the bits you want to operation is complete:
use to generate the ESB summary
bit in the Status Byte Register. To read the Status Byte Register, myScope.WriteString "*OPC?"
use the following: varR = myScope.ReadNumber
MsgBox "OPC: 0x" + Hex(varR)
myScope.WriteString "*STB?"
Use the *ESE common command varR = myScope.ReadNumber
to enable the bits you want to MsgBox "STB: 0x" + Hex(varR)
generate the RQS/MSS bit to set
bit 6 in the Status Byte Register This displays the hexadecmal value
Use the following to read the
and send SRQ to the computer. of the Status Byte Register.
contents of the status byte:
If events are monitored by the
Standard Event Status Register, myScope.WriteString "*STB?"
also enable ESB with the *SRE varR = myScope.ReadNumber
Determine which bits in the
command. MsgBox "STB: 0x" + Hex(varR)
Status Byte Register are set.
END
# ********************************************************************
# This script using the Python language (http://www.python.org/) and
# the PyVISA package (http://pyvisa.readthedocs.org/) shows three
# methods to tell whether a Keysight Infiniium oscilloscope is armed.
# ********************************************************************
# Import modules
# --------------------------------------------------------------------
import sys
import visa
import time
# Initialization constants
# --------------------------------------------------------------------
# Get VISA address from Keysight IO Libraries Connection Expert
VISA_ADDRESS = "TCPIP0::141.121.231.13::hislip0::INSTR"
GLOBAL_TOUT = 10000 # IO timeout in milliseconds
# ====================================================================
# Method 1: Query the Armed Event Register with :AER?
# --------------------------------------------------------------------
# This method reads the 1-bit Armed Event Register using the :AER?
# query.
#
# The Armed Event Register bit goes low (0) when it is read using
# :AER? or when a *CLS command is issued.
# ====================================================================
# Because the :AER? query will not work with :DIGitize (which is
# blocking), use the :SINGle command to start the acquisition.
KsInfiniiumScope.write(":SINGle")
# ====================================================================
# Method 2: Read the Status Byte
# --------------------------------------------------------------------
# This method reads the Status Byte register's OPER bit (bit 7) using
# the "read status byte" function in VISA, which works during blocking
# commands and can therefore be used with the :DIGitize command.
#
# The Status Byte bits do NOT go low (0) when the register is read.
#
# The *CLS command will clear the Status Byte bits.
# ====================================================================
now = time.perf_counter()
# Mask out all bits in the Operation Status Register except for
# the ARM bit.
KsInfiniiumScope.write(":OPEE 32") # "Unmask" only the arm bit
# ====================================================================
# Method 3: Query the Operation Status Register with :OPER?
# --------------------------------------------------------------------
# This method reads the Operation Status Register's Wait Trig bit
# (bit 5) using the :OPER? query.
#
# The Operation Status Register bits do NOT go low (0) when the
# register is read.
#
# Also, the Wait Trig bit does NOT go low (0) when the oscilloscope
# becomes unarmed by starting or stopping another acquisition (before
# the first one finishes) or by changing the time scale.
#
# The Wait Trig bit is cleared by a *CLS command, or by reading the
# Armed Event Register register with the :AER? query.
# ====================================================================
# Because the :OPER? query will not work with :DIGitize (which is
# blocking), use the :SINGle command to start the acquisition.
KsInfiniiumScope.write(":SINGle")
# End of Script
# --------------------------------------------------------------------
KsInfiniiumScope.clear() # Clear communications interface
KsInfiniiumScope.close() # Close communications interface
print("All done.")
IEEE 488.2 makes the distinction between sequential and overlapped commands
(and queries):
• Sequential commands, also known as blocking commands, must finish their
task before the execution of the next command starts.
• Overlapped commands run concurrently. Commands following an overlapped
command may be started before the overlapped command is completed.
With sequential (blocking) commands and queries, the oscilloscope is expected to
stop processing inputs, including additional remote commands and queries as
well as front panel knobs, until completed.
In the Infiniium oscilloscopes, commands and queries operate differently:
• All commands are overlapped (non-blocking) except for :DIGitize and
:DISK:SAVE.
• All queries are sequential (blocking) except for measurement results queries
(for example, :MEASure:RESults?, :MEASure:RJDJ:TJRJDJ?, and others) which
can potentially return before tasks complete. Because of this possibility, all
measurement results queries should follow a wait for commands to complete.
Waiting for With overlapped (or non-blocking) commands, you can use the :PDER? query to
Overlapped prevent any more commands from being executed until the overlapped command
Commands to is complete. This may be necessary when a command that follows an overlapped
Complete command interferes with the overlapped command's processing or analysis. For
example:
:WMEMory1:SAVE CHAN1
while (PDER == 0)
pause (to prevent excessive queries)
read PDER
:WMEMory2:SAVE CHAN2
215
8 Sequential (Blocking) vs. Overlapped Commands
Using Device Clear When sequential (blocking) commands take too long or fail to complete for some
to Abort a reason, you can send a Device Clear over the bus to clear the input buffer and
Sequential output queue, reset the parser, and clear any pending commands.
(Blocking)
Command
See Also • Chapter 9, “Using :PDER? Instead of *OPC?,” starting on page 217
• "*OPC — Operation Complete" on page 458
• "*ESR? — Event Status Register" on page 454
• Chapter 10, “Remote Acquisition Synchronization,” starting on page 219
217
9 Using :PDER? Instead of *OPC?
The :PDER? query provides an alternate way for remote applications to ensure all
previous commands are complete before continuing. However, it is not a blocking
query like the *OPC? query, and it does not solve all remote application problems
because existing applications need to be re-written to use the new :PDER? query
sequence.
See Also • Chapter 8, “Sequential (Blocking) vs. Overlapped Commands,” starting on page
215
• ":PDER? — Processing Done Event Register" on page 1240
• "*OPC — Operation Complete" on page 458
10 Remote Acquisition
Synchronization
Programming Flow / 220
Setting Up the Oscilloscope / 221
Acquiring a Waveform / 222
Retrieving Results / 223
Acquisition Synchronization / 224
Single Shot Device Under Test (DUT) / 234
Averaging Acquisition Synchronization / 235
219
10 Remote Acquisition Synchronization
Programming Flow
Most remote programming follows these three general steps:
1 Setup the oscilloscope and device under test
2 Acquire a waveform
3 Retrieve results
It is not necessary to use the *OPC? command, hard coded waits, or status checking when
N OT E
setting up the oscilloscope.
Acquiring a Waveform
When acquiring a waveform, there are two possible methods used to wait for the
acquisition to complete. These methods are blocking and polling. The table below
details when each method should be chosen and why.
Retrieving Results
Once the acquisition is complete, it is safe to retrieve measurements and statistics.
Acquisition Synchronization
• "Blocking Synchronization" on page 224
• "Polling Synchronization With Timeout" on page 224
• "Example: Blocking and Polling Synchronization" on page 225
Blocking Synchronization
Use the :DIGitize command to start the acquisition. This blocks subsequent
queries until the acquisition and processing is complete.
Example // Setup
:TRIGger:MODE EDGE
:TIMebase:SCALE 5e-9
//Acquire
:DIG
//Get results
:MEASure:RISetime?
// Setup
:STOP; *OPC? // if not stopped
:ADER? // clear ADER event
// Acquire
:SINGle
//Get results
# ********************************************************************
# This script using the Python language (http://www.python.org/) and
# the PyVISA package (http://pyvisa.readthedocs.org/) shows the two
# best synchronization methods for Infiniium real-time oscilloscopes.
# Benefits and drawbacks of each method are described. No error
# handling is provided except in the actual synchronization methods.
# ********************************************************************
# Import modules
# --------------------------------------------------------------------
import sys
import visa
import time
# Initialization constants
# --------------------------------------------------------------------
# Get VISA address from Keysight IO Libraries Connection Expert
VISA_ADDRESS = "TCPIP0::141.121.231.13::hislip0::INSTR"
GLOBAL_TOUT = 10000 # IO time out in milliseconds
# TIME_BETWEEN_TRIGGERS.
#
# The default in this sample script is 0.025 seconds. This is to make
# the sample work for the LINE trigger used in this script when the
# oscilloscope is in Average, Segmented, and Equivalent Time modes to
# force a trigger off of the AC input line (:TRIGger:EDGE:SOURce LINE)
# which runs at 50 or 60 Hz in most of the world (1/50 Hz -> 20 ms, so
# use 25 ms to be conservative).
#
# The SCOPE_ACQUISITION_TIME_OUT calculation pads this by 1.1.
# --------------------------------------------------------------------
# ====================================================================
# Define a simple and fast function utilizing the blocking :DIGitize
# command in conjunction with *OPC?.
# --------------------------------------------------------------------
#
# Benefits of this method:
#
# - Fastest, compact, simple
# - Works for ALL modes including averaging.
# - Don't have to deal with the status registers, which can be
# confusing.
#
# Drawbacks of this method:
#
# - Requires a well-chosen, hard-set timeout that will cover the
# time to arm, trigger, finish acquisition AND any processing
# that is already enabled, for example FFTs, math functions,
# measurements, jitter separation... The script calculates this
# timeout.
#
# Please note that for segmented memory mode, any processing
# would happen only for the final segment.
#
# Please note that for average acquisition mode, any processing
# would happen only for the final averaged waveform.
#
# - Requires Exception handling and a device clear for a possible
# timeout (no trigger event)
#
# How it works:
#
# - The :DIGitize command is a blocking command, and thus, no
# other SCPI commands will *execute* until :DIGitize is completely
# done. This includes any subsequent processing that is already
# set up, such as math, jitter separation, measurements.
#
# KEY POINT: However, :DIGitize does not prevent additional
# commands from being sent to the queue or cause the remote
# program to wait. For example, if your program does something
# like:
#
# KsInfiniiumScope.write(":DIGitize")
# sys.stdout.write("Signal acquired.\n")
#
# The "Signal acquired" message will be written immediately
# after the :DIGitize is sent, not after the acquisition and
# processing is complete.
#
# To pause the program until the :DIGitize is complete, you must
KsInfiniiumScope.timeout = SCOPE_ACQUISITION_TIME_OUT
# Time in milliseconds (PyVisa uses ms) to wait for the
# oscilloscope to arm, trigger, finish acquisition, and finish
# any processing.
#
# Note that this is a property of the device interface,
# KsInfiniiumScope
#
# If doing repeated acquisitions, this should be done BEFORE the
# loop, and changed again after the loop if the goal is to
# achieve the best throughput.
sys.stdout.write("Acquiring signal(s)...\n")
# Set up a try/except block to catch a possible timeout and exit.
try:
KsInfiniiumScope.query(":DIGitize;*OPC?")
# Acquire the signal(s) with :DIGitize (blocking) and wait
# until *OPC? comes back with a one.
sys.stdout.write("Signal acquired.\n")
# Catch a possible timeout and exit.
except Exception:
print("The acquisition timed out, most likely due to no " \
"trigger or improper setup causing no trigger. " \
"Properly closing the oscilloscope connection and " \
"exiting script.\n")
KsInfiniiumScope.clear() # Clear communications interface;
# A device clear also aborts digitize.
KsInfiniiumScope.close() # Close communications interface
sys.exit("Exiting script.")
# ====================================================================
# Define a function using the non-blocking :SINGle command and polling
# on the Processing Done Event Register
# --------------------------------------------------------------------
#
# Benefits of this method:
#
# - Don't have to worry about interface timeouts.
# - Easy to expand to know when the oscilloscope is armed.
#
# Drawbacks of this method:
#
# - Slow, as you don't want to poll the oscilloscope too fast.
#
# - Still need some maximum timeout (here MAX_TIME_TO_WAIT),
# ideally, or the script will sit in the while loop forever if
# there is no trigger event.
#
# If using :PDER? max time out (here MAX_TIME_TO_WAIT) must also
# account for any processing done (PROCESSING_TIME).
#
# Max time out (here MAX_TIME_TO_WAIT) must also account for time
# to arm the oscilloscope and finish the acquisition.
#
# The script calculates this MAX_TIME_TO_WAIT as
# SCOPE_ACQUISITION_TIME_OUT.
#
# - DOES NOT work for Equivalent time mode. MUST use the blocking
# method.
#
# How it works:
#
# - Basically, clear the status registers with *CLS. Initiate the
# acquisition with the non-blocking :SINGle. Poll the
# oscilloscope until the Processing Done Event Register comes
# back with a 1, meaning that both the acquisition and any
# enabled processing (FFTs, Math, jitter...) are done.
#
# Other Notes:
#
# - Instead of using the Processing Done Event Register, you could
# use the Acquisition Done Event Register (see :ADER?). The
# benefit here is that one could potentially determine WHEN a
# trigger occurred, but only within 100 ms (the poll wait time -
# also need to know how much time acquired after the trigger....)
# You could also do :ADER? and then, when that comes back with a
# 1, do :PDER? possibly enabling processing in between...
#
# Please note that for segmented memory mode, any processing would
# happen only for the final segment.
#
# Please note that for average acquisition mode, any processing
# would happen only for the final averaged waveform.
# ====================================================================
def polling_method():
MAX_TIME_TO_WAIT = SCOPE_ACQUISITION_TIME_OUT
# Time in seconds to wait for the oscilloscope to arm, trigger,
# finish acquisition, and finish any processing.
#
# Note that this is NOT a property of the device interface,
# KsInfiniiumScope, but rather some constant in the script to be
# used later with the Python module "time", and will be used with
# time.perf_counter().
#
# If using ADER (below), set PROCESSING_TIME = 0.
sys.stdout.write("Acquiring signal(s)...\n")
# Clear all status registers (set them to 0). This could be
# concatenated with the :SINGle command two lines below to speed
# things up a little, like this ->
# KsInfiniiumScope.write("*CLS;:SINGle")
KsInfiniiumScope.write("*CLS")
# instead.
# ----------------------------------------------------------------
# For Average mode, MUST use :ADER? (and then PDER if needed) -
# see "Other Notes" at bottom of this section.
#
# This needs to be changed in two places, one above here, and one
# below....
# ----------------------------------------------------------------
# ====================================================================
# Do Something with data... save, export, additional analysis...
# ====================================================================
def do_something_with_data():
# ====================================================================
# Main code
# ====================================================================
# Clear the display (so you can see the waveform being acquired -
# otherwise, there is no need for this).
KsInfiniiumScope.write(":CDISplay")
if AVERAGE_MODE_STATE == "1":
N_AVERAGES = \
float(KsInfiniiumScope.query(":ACQuire:AVERage:COUNt?"))
else:
N_AVERAGES = 1
# Acquire Signal
# --------------------------------------------------------------------
# Choose blocking_method or polling_method. These were defined as
# functions in case you want to use them repeatedly.
blocking_method()
do_something_with_data()
polling_method()
do_something_with_data()
# End of Script
# --------------------------------------------------------------------
KsInfiniiumScope.clear() # Clear communications interface
KsInfiniiumScope.close() # Close communications interface
print("All done.")
The blocking :DIGitize command cannot be used for a single shot DUT because once the
N OT E
:DIGitize command is issued, the oscilloscope is blocked from any further commands until the
acquisition is complete.
This example is the same as the previous example with the addition of checking for
the armed event status.
Example TIMEOUT = 1000ms
currentTime = 0ms
// Setup
:STOP; *OPC? // if not stopped
:ADER? // clear ADER event
// Acquire
:SINGle
while(AER? == 0)
{
wait(100ms)
}
//Get results
if (currentTime < TIMEOUT)
{
:MEASure:RISetime?
}
:STOP;*OPC?
:TER?
:ACQ:AVERage:COUNt AVERAGE_COUNT
:ACQ:AVERage ON
:RUN
:STOP;*OPC?
// Get results
11 Acquire Commands
:ACQuire:AVERage / 239
:ACQuire[:AVERage]:COUNt / 240
:ACQuire:BANDwidth / 241
:ACQuire:BANDwidth:FRAMe? / 243
:ACQuire:BANDwidth:TESTLIMITS? / 244
:ACQuire:COMPlete / 245
:ACQuire:COMPlete:STATe / 247
:ACQuire:HRESolution / 248
:ACQuire:INTerpolate / 250
:ACQuire:MODE / 251
:ACQuire:POINts[:ANALog] — Memory depth / 253
:ACQuire:POINts:AUTO / 255
:ACQuire:POINts:DIGital? / 256
:ACQuire:POINts:TESTLIMITS? / 257
:ACQuire:REDGe — RealEdge Channel Inputs (90000 Q-Series, Z-Series) / 258
:ACQuire:RESPonse (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series,
Z-Series) / 259
:ACQuire:SEGMented:AUToplay / 260
:ACQuire:SEGMented:COUNt / 261
:ACQuire:SEGMented:INDex / 262
:ACQuire:SEGMented:PLAY / 263
:ACQuire:SEGMented:PRATe / 264
:ACQuire:SEGMented:TTAGs / 265
:ACQuire:SRATe[:ANALog] — Analog Sample Rate / 266
:ACQuire:SRATe[:ANALog]:AUTO / 267
:ACQuire:SRATe:DIGital — Digital Channels Sample Rate / 268
:ACQuire:SRATe:DIGital:AUTO / 269
:ACQuire:SRATe:TESTLIMITS? / 270
237
11 Acquire Commands
The ACQuire subsystem commands set up conditions for executing a :DIGitize root
level command to acquire waveform data. The commands in this subsystem select
the type of data, the number of averages, and the number of data points.
:ACQuire:AVERage
Command :ACQuire:AVERage {{ON|1} | {OFF|0}}
Query :ACQuire:AVERage?
Example This example places the current settings for averaging into the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":ACQuire:AVERage?"
strSetting = myScope.ReadString
Debug.Print strSetting
:ACQuire[:AVERage]:COUNt
Command :ACQuire[:AVERage]:COUNt <count_value>
Query :ACQuire[:AVERage]:COUNt?
:ACQuire:BANDwidth
Command :ACQuire:BANDwidth {AUTO | MAX | <bandwidth>}
The DSO/MSO 9000 Series oscilloscopes do not have AUTO and MAX modes. Sending the
N OT E
:ACQuire:BANDwidth command with these parameters disables the global bandwidth limit.
Sending the :ACQuire:BANDwidth command with specific bandwidth values enables the
global bandwidth limit.
Query :ACQuire:BANDwidth?
:ACQuire:BANDwidth:FRAMe?
Query :ACQuire:BANDwidth:FRAMe?
:ACQuire:BANDwidth:TESTLIMITS?
Query :ACQuire:BANDwidth:TESTLIMITS?
:ACQuire:COMPlete
Command :ACQuire:COMPlete <percent>
Query :ACQuire:COMPlete?
<percent> An integer, 0 to 100, representing the percentage of time buckets that must be full
before an acquisition is considered complete.
Example This example reads the completion criteria and places the result in the variable,
varPercent. Then, it prints the content of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:COMPlete?"
varPercent = myScope.ReadNumber
Debug.Print FormatNumber(varPercent, 0)
:ACQuire:COMPlete:STATe
Command :ACQuire:COMPlete:STATe {{ON | 1} | {OFF | 0}}
The :ACQuire:COMPlete:STATe command is used only when the oscilloscope is running and a
N OT E
digitize operation is not being performed. The :DIGitize command temporarily overrides the
setting of this mode and forces it to ON.
ON When ON, the oscilloscope waits for an acquisition average to complete before
measurements are taken. If you have averaging enabled (using the
:ACQuire:AVERage command), setting :ACQuire:COMPlete:STATe ON forces the
measurement calculations to wait until the average is computed. This lets you
filter out noise in your waveform before measurements are made.
OFF When OFF, the oscilloscope makes measurements without waiting for an
acquisition average to complete.
Query :ACQuire:COMPlete:STATe?
:ACQuire:HRESolution
Command :ACQuire:HRESolution {AUTO | BITS9 | BITS10 | BITS11 | BITS12
| BITF11 | BITF12 | BITF13 | BITF14 | BITF15 | BITF16}
Some of the BITS settings may not be valid in certain 9000H Series models.
N OT E
Example This example sets the bit resolution setting to a minimum of 11 bits.
myScope.WriteString ":ACQuire:HRESolution BITS11"
Query :ACQuire:HRESolution?
Example This example places the current bit resolution setting in the string variable,
strBitRes, then prints the contents of the variable to the computer's screen.
Dim strBitRes As String ' Dimension variable.
myScope.WriteString ":ACQuire:HRESolution?"
strBitRes = myScope.ReadString
Debug.Print strBitRes
:ACQuire:INTerpolate
Command :ACQuire:INTerpolate {{ON | 1} | {OFF | 0} | INT1 | INT2 | INT4 | INT8
| INT16}
:ACQuire:MODE
Command :ACQuire:MODE {ETIMe | RTIMe | PDETect | HRESolution | SEGMented
| SEGPdetect | SEGHres}
In the 9000H Series oscilloscopes, HRESolution and SEGHres are the only valid options.
N OT E
ETIMe In Equivalent Time mode, the data record is acquired over multiple trigger events.
RTIMe In Real Time Normal mode, the complete data record is acquired on a single
trigger event.
PDETect In Real Time Peak Detect mode, the oscilloscope acquires all of the waveform data
points during one trigger event. The data is acquired at the fastest sample rate of
the oscilloscope regardless of the horizontal scale setting. The sampling rate
control then shows the storage rate into the channel memory rather than the
sampling rate. The storage rate determines the number of data points per data
region. From each data region, four sample points are chosen to be displayed for
each time column. The four sample points chosen from each data region are:
• the minimum voltage value sample
• the maximum voltage value sample
• a randomly selected sample
• an equally spaced sample
The number of samples per data region is calculated using the equation:
Sampling Rate
Number of Samples = Storage Rate
The remainder of the samples are not used for display purposes.
HRESolution In Real Time High Resolution mode, the oscilloscope acquires all the waveform
data points during one trigger event and averages them thus reducing noise and
improving voltage resolution. The data is acquired at the fastest sample rate of the
oscilloscope regardless of the horizontal scale setting. The sampling rate control
then shows the storage rate into the channel memory rather than the sampling
rate. The number of samples that are averaged together per data region is
calculated using the equation
Sampling Rate
Number of Samples = Storage Rate
This number determines how many samples are averaged together to form the
16-bit samples that are stored into the channel memories.
To set the desired bits of vertical resolution, see ":ACQuire:HRESolution" on
page 248.
SEGMented In this sampling mode you can view waveform events that are separated by long
periods of time without capturing waveform events that are not of interest to you.
SEGPdetect Enables Peak Detect Segmented mode.
SEGHres Enables High Resolution Segmented mode.
To set the desired bits of vertical resolution, see ":ACQuire:HRESolution" on
page 248.
Example This example sets the acquisition mode to Real Time Normal.
myScope.WriteString ":ACQuire:MODE RTIMe"
Query :ACQuire:MODE?
Example This example places the current acquisition mode in the string variable, strMode,
then prints the contents of the variable to the computer's screen.
Dim strMode As String ' Dimension variable.
myScope.WriteString ":ACQuire:MODE?"
strMode = myScope.ReadString
Debug.Print strMode
Query :ACQuire:POINts[:ANALog]?
Example This example checks the current setting for memory depth and places the result in
the variable, varLength. Then the program prints the contents of the variable to
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:POINts:ANALog?"
varLength = myScope.ReadNumber
Debug.Print FormatNumber(varLength, 0)
:ACQuire:POINts:AUTO
Command :ACQuire:POINts:AUTO {{ON | 1} |{OFF | 0}}
Query :ACQuire:POINts:AUTO?
Example This example checks the current setting for automatic memory depth control and
places the result in the variable, varState. Then the program prints the contents of
the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:POINts:AUTO?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)
:ACQuire:POINts:DIGital?
Query :ACQuire:POINts:DIGital?
The :ACQuire:POINts:DIGital query returns the current memory depth for the
digital channels (MSO models only).
History Legacy command (existed before version 3.10).
:ACQuire:POINts:TESTLIMITS?
Query :ACQuire:POINts:TESTLIMITS?
Query :ACQuire:REDGe?
The :ACQuire:REDGe? query returns the current setting for RealEdge channel
inputs.
Returned Format [:ACQuire:REDGe] {1 | 0}<NL>
Example This example places the current setting for RealEdge channel inputs in the string
variable, strRealEdge, then prints the contents of the variable to the computer's
screen.
Dim strRealEdge As String ' Dimension variable.
myScope.WriteString ":ACQuire:REDGe?"
strSample = myScope.ReadString
Debug.Print strRealEdge
The Flat Magnitude filter is the default one and is the filter typically used on
Infiniium oscilloscopes. The Gaussian Magnitude filter eliminates all ringing
(preshoot or overshoot) caused by the oscilloscope's response. Therefore, any
ringing you see in the displayed signal is actually in your signal and is not caused
by the oscilloscope. The main drawback to using the Gaussian Magnitude Filter is
the decrease in bandwidth. Please consult the Flat Magnitude / Magnitude
Magnitude Filters topic in the help system for specific information regarding the
decrease in bandwidth.
Example This example turns on the Gaussian Magnitude filter.
myScope.WriteString ":ACQuire:RESPonse GAUSsianmag"
Query :ACQuire:RESPonse?
Example This example checks the current filter setting and places the result in the variable,
state. Then the program prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:RESPonse?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)
:ACQuire:SEGMented:AUToplay
Command :ACQuire:SEGMented:AUToplay {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:ACQuire:SEGMented:COUNt
Command :ACQuire:SEGMented:COUNt <#segments>
Query :ACQuire:SEGMented:COUNt?
Example This example checks the current setting for segmented memory count control and
places the result in the variable, varSegments. Then the program prints the
contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SEGMented:COUNt?"
varSegments = myScope.ReadNumber
Debug.Print FormatNumber(varSegments, 0)
:ACQuire:SEGMented:INDex
Command :ACQuire:SEGMented:INDex <index#>
The :ACQuire:SEGMented:INDex command sets the index number for the segment
that you want to display on screen in the segmented memory mode. If an index
value larger than the total number of acquired segments is sent, an error occurs
indicating that the data is out of range and the segment index is set to the
maximum segment number.
<index#> An integer representing the index number of the segment that you want to display.
Example This example sets the segmented memory index number control to 1000.
myScope.WriteString ":ACQuire:SEGMented:INDex 1000"
Query :ACQuire:SEGMented:INDex?
Example This example checks the current setting for segmented memory index number
control and places the result in the variable, varIndex. Then the program prints the
contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SEGMented:INDex?"
varIndex = myScope.ReadNumber
Debug.Print FormatNumber(varIndex, 0)
:ACQuire:SEGMented:PLAY
Command :ACQuire:SEGMented:PLAY {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:ACQuire:SEGMented:PRATe
Command :ACQuire:SEGMented:PRATe <time_per_seg>
:ACQuire:SEGMented:TTAGs
Command :ACQuire:SEGMented:TTAGs {{ON | 1} | {OFF | 0}}
The :ACQuire:SEGMented:TTAGs command turns the time tags feature on or off for
the segmented memory sampling mode.
Example This example turns the time tags on for segmented memory.
myScope.WriteString ":ACQuire:SEGMented:TTAGs ON"
Query :ACQuire:SEGMented:TTAGs?
Example This example checks the current setting for segmented memory time tags control
and places the result in the variable, varTimeTags. Then the program prints the
contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SEGMented:TTAGs?"
varTimeTags = myScope.ReadNumber
Debug.Print FormatNumber(varTimeTags, 0)
Query :ACQuire:SRATe[:ANALog]?
Example This example places the current sample rate in the string variable, strSample, then
prints the contents of the variable to the computer's screen.
Dim strSample As String ' Dimension variable.
myScope.WriteString ":ACQuire:SRATe:ANALog?"
strSample = myScope.ReadString
Debug.Print strSample
:ACQuire:SRATe[:ANALog]:AUTO
Command :ACQuire:SRATe[:ANALog]:AUTO {{ON | 1} | {OFF | 0}}
Query :ACQuire:SRATe[:ANALog]:AUTO?
Example This example places the current analog sample rate in the variable, varSample,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SRATe:ANALog:AUTO?"
varSample = myScope.ReadNumber
Debug.Print FormatNumber(varSample, 0)
Example This example places the current digital channel sample rate in the string variable,
strSample, then prints the contents of the variable to the computer's screen.
Dim strSample As String ' Dimension variable.
myScope.WriteString ":ACQuire:SRATe:DIGital?"
strSample = myScope.ReadString
Debug.Print strSample
:ACQuire:SRATe:DIGital:AUTO
Command :ACQuire:SRATe:DIGital:AUTO {{ON | 1} | {OFF | 0}}
Query :ACQuire:SRATe:DIGital:AUTO?
Example This example places the current digital channel sample rate in the variable,
varSample, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SRATe:DIGital:AUTO?"
varSample = myScope.ReadNumber
Debug.Print FormatNumber(varSample, 0)
:ACQuire:SRATe:TESTLIMITS?
Query :ACQuire:SRATe:TESTLIMITS?
12 Analyze Commands
:ANALyze:AEDGes / 273
:ANALyze:CLOCk / 274
:ANALyze:CLOCk:METHod / 275
:ANALyze:CLOCk:METHod:ALIGn / 279
:ANALyze:CLOCk:METHod:DEEMphasis / 280
:ANALyze:CLOCk:METHod:EDGE / 281
:ANALyze:CLOCk:METHod:IDLe / 283
:ANALyze:CLOCk:METHod:JTF / 284
:ANALyze:CLOCk:METHod:OJTF / 286
:ANALyze:CLOCk:METHod:PLLadvanced / 288
:ANALyze:CLOCk:METHod:PLLTrack / 289
:ANALyze:CLOCk:METHod:SKEW / 290
:ANALyze:CLOCk:METHod:SKEW:AUTomatic / 291
:ANALyze:CLOCk:METHod:SOURce / 292
:ANALyze:CLOCk:TIME / 293
:ANALyze:CLOCk:VERTical / 295
:ANALyze:CLOCk:VERTical:OFFSet / 296
:ANALyze:CLOCk:VERTical:RANGe / 297
:ANALyze:SIGNal:DATarate / 298
:ANALyze:SIGNal:MIXer:CABLeloss / 300
:ANALyze:SIGNal:MMWave:CALibrate / 301
:ANALyze:SIGNal:MMWave:CFRequency / 302
:ANALyze:SIGNal:MMWave:CONNect / 303
:ANALyze:SIGNal:MMWave:LOADdress / 304
:ANALyze:SIGNal:MMWave:MBANdwidth / 305
:ANALyze:SIGNal:PATTern:CLEar / 306
:ANALyze:SIGNal:PATTern:LOAD / 307
:ANALyze:SIGNal:PATTern:PLENgth / 308
:ANALyze:SIGNal:PATTern:SMAP / 309
:ANALyze:SIGNal:SYMBolrate / 310
:ANALyze:SIGNal:TYPE / 312
:ANALyze:VIEW / 315
271
12 Analyze Commands
where:
:ANALyze:AEDGes
Command :ANALyze:AEDGes {{0 | OFF} | {1 | ON}}
:ANALyze:CLOCk
Command :ANALyze:CLOCk {{{ON|1},<source>} | {OFF|0}}
The :ANALyze:CLOCk command turns the recovered clock display on or off and
sets the clock recovery channel source.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Sources for Analyze
Commands" on page 272.
Example This example turns the recovered clock display on for channel 1.
myScope.WriteString ":ANALyze:CLOCk ON,CHANnel1"
Query :ANALyze:CLOCk?
The :ANALyze :CLOCk? query returns the state of the recovered clock display.
Returned Format [:ANALyze:CLOCk] {1 | 0}<NL>
Example This example places the current setting of the recovered clock display in the
variable varSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:ANALyze:CLOCk:METHod
Command :ANALyze:CLOCk:METHod
{FIXed,{AUTO | {SEMI[,<data_rate>]} | <data_rate>}}
| {TOPLL[,<data_rate>[,<natural_frequency>[,<pole_frequency>[,
<damping_factor>[,<PLL_settling_time>]]]]]}
| {EXPlicit,<source>,{RISing | FALLing | BOTH}[,<multiplier>]}
| {EXPTOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_frequency>,<natural_frequency>,
<pole_frequency>,<damping_factor>}
| {EQTOPLL[,<data_rate>[,<natural_frequency>[,<pole_frequency>[,
<damping_factor>[,<PLL_settling_time>]]]]]}
| {FC,{FC1063 | FC2125 | FC425}}
| {FLEXR,<baud_rate>}
| {FLEXT,<baud_rate>}
| {PWM}
| {CPHY[,<symbol_rate>[,<setup_UI>]]}
| {BMC}
| {LFPS}
| {PCIE4,{PCIE8 | PCIE16}
| {PCIE5,{PCIE8 | PCIE16 | PCIE32}
| {PCIE6,{PCIE8 | PCIE16 | PCIE32 | PCIE64}}
For setting first order and second order phase-locked loop (PLL) clock recovery
methods in terms of the Observed Jitter Transfer Function (OJTF), see
":ANALyze:CLOCk:METHod:OJTF" on page 286.
For setting first order and second order phase-locked loop (PLL) clock recovery
methods in terms of the Jitter Transfer Function (JTF), see
":ANALyze:CLOCk:METHod:JTF" on page 284.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R> | EQUalized<L> | XT<X>}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
<L> An integer, 1-4.
<X> An integer, 1-4, identifying the crosstalk waveform.
<data_rate> A real number for the base data rate in Hertz.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), a symbol rate (baud)
is specified instead of a data rate (b/s).
<natural_frequenc A real number for the natural frequency of the PLL.
y>
<pole_frequency> A real number for the pole frequency of the PLL.
<damping_ factor> A real number for the damping factor of the PLL.
<PLL_settling_tim A real number for the PLL settling time.
e>
<multiplier> An integer used as the multiplication factor.
<clock_freq> A real number used for the clock frequency of the PLL.
<baud_rate> A real number used for the baud rate.
<symbol_rate> When the signal type is CPHY (see :ANALyze:SIGNal:TYPE), CPHY is automatically
selected as the clock recovery method, but you can use the
:ANALyze:CLOCk:METHod CPHY command to specify the nominal a symbol rate in
baud.
<setup_UI> When the signal type is CPHY (see :ANALyze:SIGNal:TYPE), CPHY is automatically
selected as the clock recovery method, but you can use the
:ANALyze:CLOCk:METHod CPHY command to specify the time (in Unit Intervals)
used to cluster edges for clock recovery.
Example This example sets the explicit clock recovery method on channel 1, rising edge,
with a multiplier of 2.
myScope.WriteString ":ANALyze:CLOCk:METHod EXPlicit,CHANnel1,RISing,2"
Query :ANALyze:CLOCk:METHod?
You can use the :ANALyze:CLOCk:METHod? query when phase-locked loop (PLL) clock
N OT E
recovery methods are set up. The format returned will be that of the
:ANALyze:CLOCk:METHod:OJTF? query. See ":ANALyze:CLOCk:METHod:OJTF" on
page 286.
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod?"
strSetting = myScope.ReadString
Debug.Print strSetting
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod" on page 1725.
Version 5.50: When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).
Version 5.60: Added the PWM and CPHY methods.
Version 6.30: Added the BMC (USB PD bi-phase mark coding) and LFPS (USB 3
low frequency periodic signaling) methods.
Version 6.55: Added the TOPLL (Third Order PLL), EXPTOPLL (Explicit Third Order
PLL), and EQTOPLL (Equalized Third Order PLL) clock recovery methods.
Version 6.60: Added the "PCIE5,PCIE8", "PCIE5,PCIE16", and "PCIE5,PCIE32" PCIe
5 CXL Behavioral SRIS CC clock recovery methods for 8 Gb/s, 16 Gb/s, and
32 Gb/s data rates, respectively.
Version 6.70: Added the "PCIE6,PCIE8", "PCIE6,PCIE16", "PCIE6,PCIE32", and
"PCIE6,PCIE64" PCIe 6 CXL Behavioral SRIS CC clock recovery methods for
8 Gb/s, 16 Gb/s, 32 Gb/s, and 64 Gb/s data rates, respectively.
Version 6.74: Added the "PCIE4,PCIE8" and "PCIE4,PCIE16" PCIe 4 Behavioral
SRIS clock recovery methods for 8 Gb/s and 16 Gb/s data rates, respectively.
:ANALyze:CLOCk:METHod:ALIGn
Command :ANALyze:CLOCk:METHod:ALIGn {CENTer | EDGE}
Query :ANALyze:CLOCK:METHod:ALIGn?
Example This example places the current edge alignment setting of the clock recovery
method in the variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:ALIGn?"
strSetting = myScope.ReadString
Debug.Print strSetting
:ANALyze:CLOCk:METHod:DEEMphasis
Command :ANALyze:CLOCk:METHod:DEEMphasis {OFF | ON}
Query :ANALyze:CLOCk:METHod:DEEMphasis?
Example This example places the current setting of the de-emphasis mode in the string
variable strDeemph, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:DEEMphasis?"
strDeemph = myScope.ReadString
Debug.Print strDeemph
:ANALyze:CLOCk:METHod:EDGE
Command :ANALyze:CLOCk:METHod:EDGE {RISing | FALLing | BOTH}
Query :ANALyze:CLOCK:METHod:EDGE?
Example This example places the current edge setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:EDGE?"
strSetting = myScope.ReadString
Debug.Print strSetting
:ANALyze:CLOCk:METHod:IDLe
Command :ANALyze:CLOCk:METHod:IDLe <#_idle_clocks>
:ANALyze:CLOCk:METHod:JTF
Command :ANALyze:CLOCk:METHod:JTF
{FOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<jtf_loop_bandwidth>, <peaking>}
| {EXPFOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>}
| {EXPSOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>,<peaking>}
| {EQFOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {EQSOPLL,<data_rate>,<jtf_loop_bandwidth>, <peaking>}
<jtf_loop_ A real number for the cutoff frequency for the PLL to track.
bandwidth>
<peaking> The peaking value in dB.
<multiplier> An integer used as the multiplication factor.
<clock_freq> A real number used for the clock frequency of the PLL.
Example This example sets the clock recovery method to Second Order PLL, a nominal data
rate of 4 Gb/s, and a peaking value of 1.25 dB.
myScope.WriteString ":ANALyze:CLOCk:METHod:JTF SOPLL,4E9,3.822E6,1.25"
Query :ANALyze:CLOCk:METHod:JTF?
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:JTF?"
strSetting = myScope.ReadString
Debug.Print strSetting
:ANALyze:CLOCk:METHod:OJTF
Command :ANALyze:CLOCk:METHod:OJTF
{FOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<ojtf_loop_bandwidth>, <damping_factor>}
| {EXPFOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>}
| {EXPSOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>,<damping_factor>}
| {EQFOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {EQSOPLL,<data_rate>,<ojtf_loop_bandwidth>, <damping_factor>}
<ojtf_loop_ A real number for the cutoff frequency for the PLL to track.
bandwidth>
<damping_ factor> A real number for the damping factor of the PLL.
<multiplier> An integer used as the multiplication factor.
<clock_freq> A real number used for the clock frequency of the PLL.
Example This example sets the clock recovery method to Second Order PLL, a nominal data
rate of 4 Gb/s, and a damping factor of 1.0.
myScope.WriteString ":ANALyze:CLOCk:METHod:OJTF SOPLL,4E9,2.4E6,1.0"
Query :ANALyze:CLOCk:METHod:OJTF?
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:OJTF?"
strSetting = myScope.ReadString
Debug.Print strSetting
:ANALyze:CLOCk:METHod:PLLadvanced
Command :ANALyze:CLOCk:METHod:PLLadvanced {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:ANALyze:CLOCk:METHod:PLLTrack
Command :ANALyze:CLOCk:METHod:PLLTrack {OFF | ON}
Query :ANALyze:CLOCk:METHod:PLLTrack?
Example This example places the current setting of the Transition Density Dependent
setting in the string variable strTDD, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:PLLTrack?"
strTDD = myScope.ReadString
Debug.Print strTDD
:ANALyze:CLOCk:METHod:SKEW
Command :ANALyze:CLOCk:METHod:SKEW <time>
:ANALyze:CLOCk:METHod:SKEW:AUTomatic
Command :ANALyze:CLOCk:METHod:SKEW:AUTomatic
:ANALyze:CLOCk:METHod:SOURce
Command :ANALyze:CLOCk:METHod:SOURce {ALL | <source>}
:ANALyze:CLOCk:TIME
Query :ANALyze:CLOCk:TIME? <source>
:ANALyze:CLOCk:VERTical
Command :ANALyze:CLOCk:VERTical {AUTO | MANual}
Query :ANALyze:CLOCk:VERTical?
Example This example places the current setting of the recovered clock vertical scale mode
in the string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:VERTical?"
strSetting = myScope.ReadString
Debug.Print strSetting
:ANALyze:CLOCk:VERTical:OFFSet
Command :ANALyze:CLOCk:VERTical:OFFSet <offset>
Query :ANALyze:CLOCk:VERTical:OFFSet?
:ANALyze:CLOCk:VERTical:RANGe
Command :ANALyze:CLOCk:VERTical:RANGe <range>
Query :ANALyze:CLOCk:VERTical:RANGe?
:ANALyze:SIGNal:DATarate
Command :ANALyze:SIGNal:DATarate <source>,<data_rate>
The :ANALyze:SIGNal:DATarate? query returns the data rate of the source signal.
Returned Format [:ANALyze:SIGNal:DATarate] <data_rate><NL>
:ANALyze:SIGNal:MIXer:CABLeloss
Command :ANALyze:SIGNal:MIXer:CABLeloss <source>,<loss>
:ANALyze:SIGNal:MMWave:CALibrate
Command :ANALyze:SIGNal:MMWave:CALibrate
:ANALyze:SIGNal:MMWave:CFRequency
Command :ANALyze:SIGNal:MMWave:CFRequency <center_freq>
:ANALyze:SIGNal:MMWave:CONNect
Command :ANALyze:SIGNal:MMWave:CONNect <source>,{{0 | OFF} | {1 | ON}}
<status> ::= {0 | 1}
:ANALyze:SIGNal:MMWave:LOADdress
Command :ANALyze:SIGNal:MMWave:LOADdress <string>
:ANALyze:SIGNal:MMWave:MBANdwidth
Command :ANALyze:SIGNal:MMWave:MBANdwidth <meas_bandwidth>
:ANALyze:SIGNal:PATTern:CLEar
Command :ANALyze:SIGNal:PATTern:CLEar <source>
:ANALyze:SIGNal:PATTern:LOAD
Command :ANALyze:SIGNal:PATTern:LOAD <source>,"<pattern_file_path>"
:ANALyze:SIGNal:PATTern:PLENgth
Command :ANALyze:SIGNal:PATTern:PLENgth <source>,{AUTO | <pattern_length>}
:ANALyze:SIGNal:PATTern:SMAP
Command :ANALyze:SIGNal:PATTern:SMAP <source>,{UNCoded | GRAYcoded}
:ANALyze:SIGNal:SYMBolrate
Command :ANALyze:SIGNal:SYMBolrate <source>,<symbol_rate>
When the source signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), this command
specifies the edge rate of the signal. The inverse of this rate is the unit interval (UI).
With PAM-4, the data rate is twice the symbol rate because each voltage level
represents two bits of data. Changing the symbol rate also changes the data rate
(see :ANALyze:SIGNal:DATarate) and vice-versa.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<X> An integer, 1-4, identifying the crosstalk waveform.
<symbol_rate> Baud in NR3 format.
Query :ANALyze:SIGNal:SYMBolrate? <source>
The :ANALyze:SIGNal:SYMBolrate? query returns the symbol rate for the specified
source signal.
Returned Format [:ANALyze:SIGNal:SYMBolrate] <symbol_rate><NL>
:ANALyze:SIGNal:TYPE
Command :ANALyze:SIGNal:TYPE <source>,{UNSPecified | NRZ | PAM4 | PAM3
| MMWave | CPHY, <source_B-C>, <source_C-A>}
:ANALyze:VIEW
Command :ANALyze:VIEW <data>
The :ANALyze:VIEW command specify whether to use the data on screen or the
entire acquisition for measurements, functions, and analysis.
This command maps to the "Window All Data" control in the user interface's
Measurement Setup dialog box.
When all edges in an acquisition are used for horizontal measurements (see
:ANALyze:AEDGes), this command's setting becomes "ALL" and the entire
acquisition is used for measurements, functions, and analysis.
Query :ANALyze:VIEW?
13 Bus Commands
:BUS:B<N>:TYPE / 318
:BUS<B>:BIT<M> / 320
:BUS<B>:BITS / 321
:BUS<B>:CLEar / 322
:BUS<B>:CLOCk / 323
:BUS<B>:CLOCk:SLOPe / 324
:BUS<B>:DISPlay / 325
:BUS<B>:LABel / 326
:BUS<B>:READout / 327
317
13 Bus Commands
:BUS:B<N>:TYPE
Command :BUS:B<N>:TYPE {<protocol> | <hs_protocol>}
This BUS command only applies to oscilloscopes with protocol decode licenses installed.
N OT E
The :BUS:B<N>:TYPE command sets the type of protocol being analyzed for a
serial bus waveform.
<protocol> {A429 | CAN | CPHY | CPHY2 | DDR | E10BASET | E10GBASEKR | E100GBASEKRCR
| EPSI | FLEXray | GENRaw | I3C | IIC | JTAG | LIN | MAN | M1553 | MIPI | RFFE | SENT
| SPI | SPMI | SPW | SVID | UART | USB2}
<hs_protocol> {BRR | CSI3 | DIGRf | DPAUX | DVI | E100BASETX | E1000BASET1 | FIBRechannel |
{GEN8B10B | GENeric} | INFiniband | JESD204B | LLI | MDIO | PCI3 | PCI4 | PCI5 |
PCIExpress | QSPI | SAS | SATA | SSIC | UFS | UNIPro | USB3 | USB31 | USB32 |
USB4 | USB4LS | USB4TUSB32 | USB4TPCI31 | USBPD | XAUI}
<N> An integer, 1-4.
Example This example sets the serial bus waveform number one protocol type to FLEXray.
myScope.WriteString ":BUS:B1:TYPE FLEXray"
Query :BUS:B<N>:TYPE?
The :BUS:B<N>:TYPE? query returns the name of the protocol being used for the
serial bus.
Returned Format [:BUS:B<N>:TYPE] {<protocol> | <hs_protocol>}<NL>
Version 6.00: Added support for new GENRaw and SPMI protocols.
Version 6.10: Added support for new CPHY (MIPI C-PHY), BRR (BroadR-Reach),
SPW (SpaceWire), and MAN (Manchester) protocols.
Version 6.20: Added support for new PCI4 (PCI Express Gen4) and SENT (Single
Edge Nibble Transmission) protocols.
Version 6.30: Added support for new QSPI (Quad SPI) and USB32 (USB 3.2)
protocols.
Version 6.55: Added support for new USB4 and USB4LS protocols.
Version 6.60: Added support for new PCI5 (PCI Express Gen 1-5), USB4TUSB32
(USB4 Tunnel USB 3.2), USB4TPCI31 (USB4 Tunnel PCI Express 3.1), and MDIO
protocols.
Version 6.70: Added support for new E1000BASET1 (Automotive Ethernet
1000BaseT1), DPAUX (DisplayPort Aux), and CPHY2 (MIPI C-PHY 2.0) protocols.
:BUS<B>:BIT<M>
Command :BUS<B>:BIT<M> {ON | OFF | 1 | 0}
Query :BUS<B>:BIT<M>?
The :BUS<B>:BIT<M>? query returns the value indicating whether the specified bit
is included or excluded from the specified bus definition.
Returned Format [:BUS<B>:BIT<M>] {1 | 0}<NL>
:BUS<B>:BITS
Command :BUS<B>:BITS <channel_list>,{ON | OFF| 1 | 0}
The :BUS<B>:BITS command includes or excludes the selected bits in the channel
list in the definition of the selected bus. If the parameter is a 1 (ON) then the bits in
the channel list are included as part of the selected bus definition. If the parameter
is a 0 (OFF) then the bits in the channel list are excluded from the definition of the
selected bus. The digital subsystem must be enabled for this command will work.
See ENABle command in the root subsystem.
<N> An integer, 1- 4.
<channel_list> The channel range is from 0 to 15 in the following format.
Example This example includes bits 1, 2, 4, 5, 6, 7, 8, and 9 as part of the bus 1 definition.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1:BITS (@1,2,4:9),ON"
Query :BUS<B>:BITS?
The :BUS<B>:BITS? query returns the definition for the specified bus.
Returned Format [:BUS<B>:BITS] <channel_list>,{1 | 0}<NL>
:BUS<B>:CLEar
Command :BUS<B>:CLEar
The :BUS<B>:CLEar command excludes all of the digital channels from the
selected bus definition.
<N> An integer, 1-4.
Example This example excludes all the digital channels from the bus 1 definition.
myScope.WriteString ":BUS1:CLEar"
:BUS<B>:CLOCk
Command :BUS<B>:CLOCk {CHANnel<N> | DIGital<M> | NONE}
The :BUS<B>:CLOCk command sets the digital or analog channel used as the
clock for decoding the bus values.
<M> An integer, 0-15.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<O> An integer, 1-4.
Example This example sets the clock to channel 1 for bus 1.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1:CLOCk CHANnel1"
Query :BUS<B>:CLOCK?
The :BUS<B>:CLOCk query returns the channel being used for the specified bus.
Returned Format [:BUS<B>:CLOCk] {CHANnel<O> | DIGital<M> | NONE}<NL>
:BUS<B>:CLOCk:SLOPe
Command :BUS<B>:CLOCk:SLOPe {RISing | FALLing | EITHer}
The :BUS<B>:CLOCk:SLOPe command sets the clock edge used for decoding the
bus values.
<O> An integer, 1-4.
Example This example sets the clock edge to falling for bus 1.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1:CLOCk:SLOPE FALLING"
Query :BUS<B>:CLOCK:SLOPe?
The :BUS<B>:CLOCk:SLOPe query returns the clock edge being used for the
specified bus.
Returned Format [:BUS<B>:CLOCk:SLOPe] {RISing | FALLing | EITHer}<NL>
:BUS<B>:DISPlay
Command :BUS<B>[:DISPlay] {ON | OFF | 1 | 0}
The :BUS<B>:DISPlay command enables or disables the view of the selected bus.
The digital subsystem must be enabled before this command will work. See the
ENABle command in the root subsystem.
<N> An integer, 1- 4.
Example This example enables the viewing of bus 1.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1 ON"
Query :BUS<B>[:DISPlay]?
The :BUS<B>[:DISPlay]? query returns the display value of the selected bus.
Returned Format [:BUS<B>] {1 | 0}<NL>
:BUS<B>:LABel
Command :BUS<B>:LABel <quoted_string>
The :BUS<B>:LABel command sets the bus label to the quoted string. Setting a
label for a bus will also result in the name being added to the label list.
Label strings are 16 characters or less, and may contain any commonly used ASCII characters.
N OT E
Labels with more than 16 characters are truncated to 16 characters.
<N> An integer, 1- 4.
<quoted_string> A series of 6 or less characters as a quoted ASCII string.
Example This example sets the bus 1 label to Data.
myScope.WriteString ":BUS1:LABel ""Data"""
Query :BUS<B>:LABel?
:BUS<B>:READout
Command :BUS<B>:READout {DECimal | HEX | SIGNed | SYMBol}
Query :BUS<B>:READout?
14 Calibration Commands
:CALibrate:DATE? / 331
:CALibrate:OUTPut / 332
:CALibrate:OUTPut:AUX / 334
:CALibrate:OUTPut:AUX:RTIMe / 335
:CALibrate:OUTPut:CAL / 336
:CALibrate:SKEW / 337
:CALibrate:STATus? / 338
:CALibrate:TEMP? / 339
329
14 Calibration Commands
Probe Calibration Probe calibration establishes the gain and offset of a probe that is connected to a
channel of the oscilloscope, and applies these factors to the calibration of that
channel.
• Initiate probe calibration from the "Setup > Channel > Probes > Calibrate Probe"
menu.
To achieve the specified accuracy (±2%) with a probe connected to a channel,
make sure the oscilloscope is calibrated.
• For probes that the oscilloscope can identify through the probe power
connector, like the 1158A, the oscilloscope automatically adjusts the
vertical scale factors for that channel even if a probe calibration is not
performed.
• For nonidentified probes, the oscilloscope adjusts the vertical scale factors
only if a probe calibration is performed.
• If you do not perform a probe calibration but want to use an unidentified probe,
enter the attenuation factor in the "Setup > Channel > Probes > Configure
Probing System > User Defined Probe" menu.
• If the probe being calibrated has an attenuation factor that allows the
oscilloscope to adjust the gain (in hardware) to produce even steps in the
vertical scale factors, the oscilloscope will do so.
• If the probe being calibrated has an unusual attenuation, like 3.75, the
oscilloscope may have to adjust the vertical scale factors to an unusual
number, like 3.75 V/div.
Typically, probes have standard attenuation factors such as divide by 10, divide
by 20, or divide by 100.
:CALibrate:DATE?
Query :CALibrate:DATE?
:CALibrate:OUTPut
Command :CALibrate:OUTPut {AC | TRIGOUT | DC,<dc_value> | ZERO | ONE | DPULse
| SOSC | HFOSC | PRBS7 | PRBS15 | PRBS31}
Query :CALibrate:OUTPut?
Example This example places the current selection for the DC calibration to be printed in
the string variable, strSelection, then prints the contents of the variable to the
computer's screen.
Dim strSelection As String 'Dimension variable
myScope.WriteString ":CALibrate:OUTPut?"
strSelection = myScope.ReadString
Debug.Print strSelection
:CALibrate:OUTPut:AUX
Command :CALibrate:OUTPut:AUX {{0 | OFF} | {1 | ON}}
On the Infiniium S-Series, 9000 Series, or 90000A Series oscilloscopes, the only valid setting
N OT E
for this command is ON or 1.
Query :CALibrate:OUTPut:AUX?
<setting> ::= {0 | 1}
:CALibrate:OUTPut:AUX:RTIMe
Command :CALibrate:OUTPut:AUX:RTIMe <risetime>
The RFAST option is available with the 9000 Series oscilloscopes only.
N OT E
Query :CALibrate:OUTPut:AUX:RTIMe?
The :CALibrate:OUTPut:AUX:RTIMe? query returns the Aux Out rise time setting.
Returned Format <risetime><NL>
:CALibrate:OUTPut:CAL
Command :CALibrate:OUTPut:CAL {{0 | OFF} | {1 | ON}}
On the Infiniium S-Series, 9000 Series, or 90000A Series oscilloscopes, the only valid setting
N OT E
for this command is OFF or 0 because there is no Cal Out connector.
Query :CALibrate:OUTPut:CAL?
<setting> ::= {0 | 1}
:CALibrate:SKEW
Command :CALibrate:SKEW <source>,<skew_value>
:CALibrate:STATus?
Query :CALibrate:STATus?
:CALibrate:TEMP?
Query :CALibrate:TEMP?
For example, the string returned could be "-1,0". A difference in the two delta
values of one degree is not uncommon.
History Legacy command (existed before version 3.10).
15 Channel Commands
:CHANnel<N>:BWLimit (9000 Series, 9000H Series, S-Series) / 344
:CHANnel<N>:COMMonmode / 345
:CHANnel<N>:DIFFerential / 346
:CHANnel<N>:DIFFerential:SKEW / 347
:CHANnel<N>:DISPlay / 348
:CHANnel<N>:DISPlay:AUTO / 349
:CHANnel<N>:DISPlay:OFFSet / 351
:CHANnel<N>:DISPlay:RANGe / 353
:CHANnel<N>:DISPlay:SCALe / 355
:CHANnel<N>:INPut / 357
:CHANnel<N>:INVert / 358
:CHANnel<N>:ISIM:APPLy / 359
:CHANnel<N>:ISIM:BANDwidth / 360
:CHANnel<N>:ISIM:BWLimit / 362
:CHANnel<N>:ISIM:BWLimit:TYPE / 364
:CHANnel<N>:ISIM:CONVolve / 365
:CHANnel<N>:ISIM:CORRection / 366
:CHANnel<N>:ISIM:DEConvolve / 368
:CHANnel<N>:ISIM:DELay / 369
:CHANnel<N>:ISIM:NORMalize / 370
:CHANnel<N>:ISIM:PEXTraction / 371
:CHANnel<N>:ISIM:SPAN / 373
:CHANnel<N>:ISIM:STATe / 374
:CHANnel<N>:LABel / 375
:CHANnel<N>:OFFSet / 376
:CHANnel<N>:PROBe:ACCAL / 377
:CHANnel<N>:PROBe:ATTenuation / 379
:CHANnel<N>:PROBe:AUTozero / 380
:CHANnel<N>:PROBe:COUPling / 381
:CHANnel<N>:PROBe:EADapter / 382
:CHANnel<N>:PROBe:ECOupling / 385
:CHANnel<N>:PROBe:EXTernal / 386
341
15 Channel Commands
:CHANnel<N>:PROBe:EXTernal:GAIN / 387
:CHANnel<N>:PROBe:EXTernal:OFFSet / 388
:CHANnel<N>:PROBe:EXTernal:UNITs / 389
:CHANnel<N>:PROBe:GAIN / 390
:CHANnel<N>:PROBe:HEAD:ADD / 391
:CHANnel<N>:PROBe:HEAD:DELete ALL / 392
:CHANnel<N>:PROBe:HEAD:SELect / 393
:CHANnel<N>:PROBe:HEAD:VTERm / 394
:CHANnel<N>:PROBe:ID? / 395
:CHANnel<N>:PROBe:INFO? / 396
:CHANnel<N>:PROBe:MODE / 397
:CHANnel<N>:PROBe:PRECprobe:BANDwidth / 398
:CHANnel<N>:PROBe:PRECprobe:CALibration / 399
:CHANnel<N>:PROBe:PRECprobe:DELay / 400
:CHANnel<N>:PROBe:PRECprobe:MODE / 401
:CHANnel<N>:PROBe:PRECprobe:ZSRC / 402
:CHANnel<N>:PROBe:PRIMary (9000 Series, 9000H Series, S-Series) / 404
:CHANnel<N>:PROBe:RESPonsivity / 405
:CHANnel<N>:PROBe:SKEW / 406
:CHANnel<N>:PROBe:SKEW:AUTO / 407
:CHANnel<N>:PROBe:STYPe / 408
:CHANnel<N>:PROBe:USER / 409
:CHANnel<N>:PROBe:WAVelength / 411
:CHANnel<N>:RANGe / 412
:CHANnel<N>:SCALe / 413
:CHANnel<N>:SIMulation:AMPLitude / 414
:CHANnel<N>:SIMulation:DATA:LENGth / 415
:CHANnel<N>:SIMulation:DATA:ODD / 416
:CHANnel<N>:SIMulation:DATA:PAM / 417
:CHANnel<N>:SIMulation:DATA:RESeed / 418
:CHANnel<N>:SIMulation:DATA:SELection / 419
:CHANnel<N>:SIMulation:DRATe / 420
:CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess / 421
:CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction / 422
:CHANnel<N>:SIMulation:FILTer:SELection / 423
:CHANnel<N>:SIMulation:FLOad:ADDRess / 424
:CHANnel<N>:SIMulation:FLOad:LOOP / 425
:CHANnel<N>:SIMulation:FREQuency / 426
:CHANnel<N>:SIMulation:FUNCtion:SELection / 427
:CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle / 428
:CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe / 429
:CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe / 430
:CHANnel<N>:SIMulation:JITTer / 431
:CHANnel<N>:SIMulation:JITTer:ABUJ / 432
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle / 433
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency / 434
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude / 435
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe / 436
:CHANnel<N>:SIMulation:JITTer:RANDom / 437
:CHANnel<N>:SIMulation:NOISe / 438
:CHANnel<N>:SIMulation:NOISe:BWLimit / 439
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle / 440
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency / 441
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude / 442
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe / 443
:CHANnel<N>:SIMulation:NOISe:RANDom / 444
:CHANnel<N>:SIMulation:OFFSet / 445
:CHANnel<N>:SIMulation:WAVeform / 446
:CHANnel<N>:UNITs / 447
The CHANnel subsystem commands control all vertical (Y axis) functions of the
oscilloscope. You may toggle the channel displays on and off with the root level
commands :VIEW and :BLANk, or with :CHANnel:DISPlay.
In this section, you can specify differential and/or common mode channels using the following
N OT E
convention. If you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Query :CHANnel<N>:BWLimit?
The :CHANnel<N>:BWLimit? query returns the current state of the low-pass filter
for the specified channel.
Returned Format [:CHANnel<N>:BWLimit] {1 | 0}<NL> for 9000, 9000H Series
Example This example places the current setting of the low-pass filter in the variable
varLimit, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:BWLimit?"
varLimit = myScope.ReadNumber
Debug.Print FormatNumber(varLimit, 0)
:CHANnel<N>:COMMonmode
Command :CHANnel<N>:COMMonmode {{ON | 1} | {OFF | 0}}
Query :CHANnel<N>:COMMonmode?
Example This example places the current common mode setting of the channel 1 display in
the variable varComm, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:COMMonmode?"
varComm = myScope.ReadNumber
Debug.Print FormatNumber(varComm, 0)
:CHANnel<N>:DIFFerential
Command :CHANnel<N>:DIFFerential {{ON | 1} | {OFF | 0}}
Query :CHANnel<N>:DIFFerential?
Example This example places the current differential setting of the channel 1 display in the
variable varDiff, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DIFFerential?"
varDiff = myScope.ReadNumber
Debug.Print FormatNumber(varDiff, 0)
:CHANnel<N>:DIFFerential:SKEW
Command :CHANnel<N>:DIFFerential:SKEW <skew>
Query :CHANnel<N>:DIFFerential:SKEW?
Example This example places the current skew setting of the channel 1 - channel 3
differential channel in the variable varSkew, then prints the contents of the
variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DIFFerential:SKEW?"
varSkew = myScope.ReadNumber
Debug.Print FormatNumber(varSkew, 0)
:CHANnel<N>:DISPlay
Command :CHANnel<N>:DISPlay {{ON | 1} | {OFF | 0}}
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Query :CHANnel<N>:DISPlay?
The :CHANnel<N>:DISPlay? query returns the current display condition for the
specified channel.
Returned Format [:CHANnel<N>:DISPlay] {1 | 0}<NL>
Example This example places the current setting of the channel 1 display in the variable
varDisplay, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay?"
varDisplay = myScope.ReadNumber
Debug.Print FormatNumber(varDisplay, 0)
:CHANnel<N>:DISPlay:AUTO
Command :CHANnel<N>:DISPlay:AUTO {{ON | 1} | {OFF | 0}}
This command only works when differential channel modes are turned on (using the
N OT E
:CHANnel<N>:DIFFerential command).
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Example This example sets the channel 1 - channel 3 differential channel display scale and
offset to track the acquisition scale and offset.
myScope.WriteString ":CHANnel1:DISPlay:AUTO ON"
Query :CHANnel<N>:DISPlay:AUTO?
Example This example places whether or not the channel 1 - channel 3 differential channel
display scale and offset is tracking the acquisition scale and offset in the variable
varAuto, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay:AUTO?"
varAuto = myScope.ReadNumber
Debug.Print FormatNumber(varAuto, 0)
:CHANnel<N>:DISPlay:OFFSet
Command :CHANnel<N>:DISPlay:OFFSet <value>
This command only works when differential channel modes are turned on (using the
N OT E
:CHANnel<N>:DIFFerential command).
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Query :CHANnel<N>:DISPlay:OFFSet?
Example This example places the displayed offset of channel 1 in the variable varOffset,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay:OFFSet?"
varOffset = myScope.ReadNumber
Debug.Print FormatNumber(varOffset, 0)
:CHANnel<N>:DISPlay:RANGe
Command :CHANnel<N>:DISPlay:RANGe <range>
This command only works when differential channel modes are turned on (using the
N OT E
:CHANnel<N>:DIFFerential command).
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Example This example sets the display range of the display of channel 1 to
myScope.WriteString ":CHANnel1:DISPlay:RANGe 10e-6"
Query :CHANnel<N>:DISPlay:RANGe?
Example This example places the range of channel 1 in the variable varRange, then prints
the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay:RANGe?"
varRange = myScope.ReadNumber
Debug.Print FormatNumber(varRange, 0)
:CHANnel<N>:DISPlay:SCALe
Command :CHANnel<N>:DISPlay:SCALe <scale>
This command only works when differential channel modes are turned on (using the
N OT E
:CHANnel<N>:DIFFerential command).
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Example This example sets the display scale of channel 1 per division to
myScope.WriteString ":CHANnel1:DISPlay:SCALe 10e-6"
Query :CHANnel<N>:DISPlay:SCALe?
Example This example places the display scale of channel 1 in the variable varScale, then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay:SCALe?"
varScale = myScope.ReadNumber
Debug.Print FormatNumber(varScale, 0)
:CHANnel<N>:INPut
Command :CHANnel<N>:INPut <parameter>
Query :CHANnel<N>:INPut?
Example This example puts the current input for channel 1 in the string variable, strInput.
The program then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:INPut?"
strInput = myScope.ReadString
Debug.Print strInput
:CHANnel<N>:INVert
Command :CHANnel<N>:INVert {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:CHANnel<N>:ISIM:APPLy
Command :CHANnel<N>:ISIM:APPLy "<transfer_funct_file>"
This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Query :CHANnel<N>:ISIM:APPLy?
Example This example puts the current transfer function file name in the variable strFile. The
program then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:APPLy?"
strFile = myScope.ReadString
Debug.Print strFile
:CHANnel<N>:ISIM:BANDwidth
Command :CHANnel<N>:ISIM:BANDwidth <bw_value>
• On Infiniium 9000 Series oscilloscopes, you can use the :CHANnel<N>:BWLimit command to enable
N OT E or disable a 20 MHz low-pass filter on the input channel.
• On Infiniium S-Series oscilloscopes, you can use the :CHANnel<N>:BWLimit command to enable or
disable a 20 MHz or 200 MHz low-pass filter on the input channel.
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Query :CHANnel<N>:ISIM:BANDwidth?
Example This example puts the current input for channel 1 in the string variable,
varBwLimit. The program then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:BANDwidth?"
varBwLimit = myScope.ReadNumber
Debug.Print FormatNumber(varBwLimit, 0)
:CHANnel<N>:ISIM:BWLimit
Command :CHANnel<N>:ISIM:BWLimit {{ON | 1} | {OFF | 0}}
• On Infiniium 9000 Series oscilloscopes, you can use the :CHANnel<N>:BWLimit command to enable
N OT E or disable a 20 MHz low-pass filter on the input channel.
• On Infiniium S-Series oscilloscopes, you can use the :CHANnel<N>:BWLimit command to enable or
disable a 20 MHz or 200 MHz low-pass filter on the input channel.
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Query :CHANnel<N>:ISIM:BWLimit?
Example This example puts the current bandwidth limit state for channel 1 in the string
variable, varLimit. The program then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:BWLimit?"
varLimit = myScope.ReadNumber
Debug.Print FormatNumber(varLimit, 0)
:CHANnel<N>:ISIM:BWLimit:TYPE
Command :CHANnel<N>:ISIM:BWLimit:TYPE <filter_type>
To achieve the 4th Order Bessel response, the maximum bandwidth you can specify is about
N OT E
2/3 of the maximum bandwidth you could specify with the Brick-Wall filter. Also with the 4th
Order Bessel filter, the brick-wall response takes over at what would be the brick-wall filter's
maximum bandwidth. Therefore, you can have a combination of roll-off responses with this
selection.
• BANDpass — This option is for use with the Phase Noise analysis application
(see ":MEASure:PN:STATe" on page 1066) and is not intended as a
general-purpose bandpass filter.
Query :CHANnel<N>:ISIM:BWLimit:TYPE?
:CHANnel<N>:ISIM:CONVolve
Command :CHANnel<N>:ISIM:CONVolve "<s_parameter_file>", {OFF | ON}
This CHANnel command is available when you have purchased the InfiniiSim software
N OT E
application.
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
:CHANnel<N>:ISIM:CORRection
Command :CHANnel<N>:ISIM:CORRection <percent>
This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
<percent> If you are making averaged mode measurements or applying a transfer function
that does not magnify the noise, use the full correction by setting this field to
100%.
However, if you are working with eye diagrams or making jitter measurements and
the transfer function is magnifying the noise, you may want to limit the correction
by selecting a lower percentage.
Example This example sets the channel 1 InfiniiSim correction factor to 80%.
myScope.WriteString ":CHANnel1:ISIM:CORRection 80"
Query :CHANnel<N>:ISIM:CORRection?
Example This example gets the current channel 1 InfiniiSim correction percentage and
places it in the numeric variable, varIsimCorrection. The program then prints the
contents of the variable to the computer's screen.
:CHANnel<N>:ISIM:DEConvolve
Command :CHANnel<N>:ISIM:DEConvolve "<s_parameter_file>", {OFF | ON}
This CHANnel command is available when you have purchased the InfiniiSim software
N OT E
application.
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
:CHANnel<N>:ISIM:DELay
Command :CHANnel<N>:ISIM:DElay {OFF | ON | TRIG}
This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Query :CHANnel<N>:ISIM:DELay?
Example This example puts whether or not the transfer function delay is included in the
resultant waveform for channel 1 in the string variable, strDelay. The program then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:DELay?"
strDelay = myScope.ReadString
Debug.Print strDelay
:CHANnel<N>:ISIM:NORMalize
Command :CHANnel<N>:ISIM:NORMalize {{ON | 1} | {OFF | 0}}
This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Query :CHANnel<N>:ISIM:NORMalize?
Example This example puts the current InfiniiSim normalize gain state for channel 1 in the
string variable, varNormalizeGain. The program then prints the contents of the
variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:NORMalize?"
varNormalizeGain = myScope.ReadNumber
Debug.Print FormatNumber(varLimit, 0)
:CHANnel<N>:ISIM:PEXTraction
Command :CHANnel<N>:ISIM:PEXTraction {P12 | P32 | P34 | P14 | DIFFerential
| COMMonmode}
This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Query :CHANnel<N>:ISIM:PEXTraction?
Example This example puts the current InfiniiSim port extraction selection for channel 1 in
the string variable, strMode. The program then prints the contents of the variable
to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:PEXTraction?"
strMode = myScope.ReadString
Debug.Print strMode
:CHANnel<N>:ISIM:SPAN
Command :CHANnel<N>:ISIM:SPAN <max_time_span>
This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Query :CHANnel<N>:ISIM:SPAN?
Example This example puts the InfiniiSim filter's maximum time span value in the variable
varTspan. The program then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:SPAN?"
varTspan = myScope.ReadNumber
Debug.Print FormatNumber(varTspan, 0)
:CHANnel<N>:ISIM:STATe
Command :CHANnel<N>:ISIM:STATe {OFF | PORT2 | PORT4 | PORT41}
This CHANnel command only applies if you have purchased the InfiniiSim software
N OT E
application.
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Query :CHANnel<N>:ISIM:STATe?
Example This example puts the current InfiniiSim state for channel 1 in the string variable,
strMode. The program then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:STATe?"
strMode = myScope.ReadString
Debug.Print strMode
:CHANnel<N>:LABel
Command :CHANnel<N>:LABel <string>
The :CHANnel<N>:LABel command sets the channel label to the quoted string.
Labels can be enabled with the :DISPlay:LABel command.
You can specify differential and/or common mode channels using the following convention. If
N OT E
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
• :CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
• :CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
• :CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
• :CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Query :CHANnel<N>:LABel?
:CHANnel<N>:OFFSet
Command :CHANnel<N>:OFFSet <offset_value>
Query :CHANnel<N>:OFFSet?
The :CHANnel<N>:OFFSet? query returns the current offset value for the specified
channel.
Returned Format [CHANnel<N>:OFFSet] <offset_value><NL>
Example This example places the offset value of the specified channel in the variable,
varOffset, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:OFFSet?"
varOffset = myScope.ReadNumber
Debug.Print FormatNumber(varOffset, "Scientific")
:CHANnel<N>:PROBe:ACCAL
Command :CHANnel<N>:PROBe:ACCAL {AUTO | OFF | PRECprobe}
You are not able to start a PrecisionProbe or PrecisionCable calibration using remote SCPI
N OT E
commands. However, you can enter SCPI commands to use the results of calibrations
performed using the front panel wizards.
Query :CHANnel<N>:PROBe:ACCAL?
:CHANnel<N>:PROBe:ATTenuation
Command :CHANnel<N>:PROBe:ATTenuation {DIV1 | DIV10}
Query :CHANnel<N>:PROBe:ATTenuation?
:CHANnel<N>:PROBe:AUTozero
Command :CHANnel<N>:PROBe:AUTozero
:CHANnel<N>:PROBe:COUPling
Command :CHANnel<N>:PROBe:COUPling {DC | AC}
This command is for probes only. To set the input channel coupling, see :CHANnel<N>:INPut.
N OT E
Query :CHANnel<N>:PROBe:COUPling?
:CHANnel<N>:PROBe:EADapter
Command :CHANnel<N>:PROBe:EADapter {NONE | DIV10 | DIV20 | DIV100 | DIV1000
| CUR0002VA | CUR001VA | CUR002VA | CUR01VA | CUR1VA | CUR10VA
| CURN2893 | CUR1147 | HIVOLTN2790}
This command is valid only for the 1153A, 1154A, and 1159A probes and the E2697A and
N OT E
N5449A high impedance adapters.
With the E2697A When the :CHANnel<N>:PROBe:EADapter command is used with either the
and N5449A high E2697A or N5449A high impedance adapter, the behavior is the same as with the
impedance 115x probes; however, there are more parameters available to choose from. The
adapters: following table describes which probes are available with which adapters and what
the parameter string is:
Lastly, the N5449A adapter has the ability to automatically detect supported
probes. If a supported probe (most passive probes) is attached to the N5449A
adapter, the :CHANnel<N>:PROBe:EADapter command will not have any effect
until the attached probe is removed. If, on the other hand, an unsupported probe
(BNC cable, etc.) is attached to the N5449A adapter, the
:CHANnel<N>:PROBe:EADapter command will work as normal. The
:CHANnel<N>:PROBe:EADapter? query will work in either case.
<N> An integer, 1-4.
Example This example sets the external adapter for channel 1 to divide by 10:
myScope.WriteString ":CHANnel1:PROBe:EADapter DIV10"
Query :CHANnel<N>:PROBe:EADapter?
Example This example places the external adapter value of the specified channel in the
string variable, strAdapter, then prints the contents of the variable to the
computer's screen.
Dim strAdapter As String 'Dimension variable
myScope.WriteString ":CHANnel1:PROBe:EADapter?"
strAdapter = myScope.ReadString
Debug.Print strAdapter
:CHANnel<N>:PROBe:ECOupling
Command :CHANnel<N>:PROBe:ECOupling {NONE | AC}
This command is valid only for the 1153A, 1154A, and 1159A probes.
N OT E
Parameter Description
NONE Use this setting when there is no adapter connected to the end of your
probe.
AC Use this setting when you have an ac coupling adapter connected to the
end of your probe.
If an 1153A, 1154A, or 1159A probe is not connected to the channel you will get a
settings conflict error.
<N> An integer, 1-4.
Example This example sets the external coupling adapter for channel 1 to ac:
myScope.WriteString ":CHANnel1:PROBe:ECOupling AC"
Query :CHANnel<N>:PROBe:ECOupling?
Example This example places the external coupling adapter value of the specified channel
in the string variable, strAdapter, then prints the contents of the variable to the
computer's screen.
Dim strAdapter As String ' Dimension variable.
myScope.WriteString ":CHANnel1:PROBe:ECOupling?"
strAdapter = myScope.ReadString
Debug.Print strAdapter
:CHANnel<N>:PROBe:EXTernal
Command :CHANnel<N>:PROBe:EXTernal {{ON | 1} | {OFF | 0}}
Query :CHANnel<N>:PROBe:EXTernal?
Example This example places the current setting of the external probe mode on channel 1 in
the variable varMode, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:PROBe:EXTernal?"
varMode = myScope.ReadNumber
Debug.Print FormatNumber(varMode, 0)
:CHANnel<N>:PROBe:EXTernal:GAIN
Command :CHANnel<N>:PROBe:EXTernal:GAIN <gain_factor>[,{RATio | DECibel}]
Query :CHANnel<N>:PROBe:EXTernal:GAIN?
Example This example places the external gain value of the probe on the specified channel
in the variable, varGain, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:GAIN?"
varGain = myScope.ReadString
Debug.Print varGain
:CHANnel<N>:PROBe:EXTernal:OFFSet
Command :CHANnel<N>:PROBe:EXTernal:OFFSet <offset_value>
Query :CHANnel<N>:EXTernal:PROBe:OFFSet?
Example This example places the external offset value of the probe on the specified channel
in the variable, Offset, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:OFFSet?"
varOffset = myScope.ReadNumber
Debug.Print FormatNumber(varOffset, 0)
:CHANnel<N>:PROBe:EXTernal:UNITs
Command :CHANnel<N>:PROBe:EXTernal:UNITs {VOLT | AMPere | WATT | UNKNown}
Query :CHANnel<N>:PROBe:EXTernal:UNITs?
Example This example places the external vertical units for the probe on the specified
channel in the string variable, strUnits, then prints the contents of the variable to
the computer's screen.
Dim strUnits As String
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:UNITs?"
strUnits = myScope.ReadString
Debug.Print strUnits
:CHANnel<N>:PROBe:GAIN
Command :CHANnel<N>:PROBe:GAIN {X1 | X10}
Query :CHANnel<N>:PROBe:GAIN?
The :CHANnel<N>:PROBe:GAIN? query returns the current probe gain setting for
the selected channel.
Returned Format [:CHANnel<N>:PROBe:GAIN] {X1 | X10}<NL>
:CHANnel<N>:PROBe:HEAD:ADD
Command :CHANnel<N>:PROBe:HEAD:ADD "head", ["label"]
:CHANnel<N>:PROBe:HEAD:DELete ALL
Command :CHANnel<N>:PROBe:HEAD:DELete ALL
:CHANnel<N>:PROBe:HEAD:SELect
Command :CHANnel<N>:PROBe:HEAD:SELect {<int> | <quoted_label_string>}
:CHANnel<N>:PROBe:HEAD:VTERm
Command :CHANnel<N>:PROBe:HEAD:VTERm {FLOating | EXTernal
| {INTernal,<voltage>}}
Query :CHANnel<N>:PROBe:HEAD:VTERm?
:CHANnel<N>:PROBe:ID?
Query :CHANnel<N>:PROBe:ID?
Example This example reports the probe type connected to channel 1, if one is connected.
myScope.WriteString ":CHANnel1:PROBe:ID?"
:CHANnel<N>:PROBe:INFO?
Query :CHANnel<N>:PROBe:INFO?
:CHANnel<N>:PROBe:MODE
Command :CHANnel<N>:PROBe:MODE {DIFF | SEA | SEB | CM | SEST}
Query :CHANnel<N>:PROBe:MODE?
:CHANnel<N>:PROBe:PRECprobe:BANDwidth
Command :CHANnel<N>:PROBe:PRECprobe:BANDwidth {AUTO | {MANual, <bandwidth>}
| {BOOSt, <boost_dB>}}
Query :CHANnel<N>:PROBe:PRECprobe:BANDwidth?
:CHANnel<N>:PROBe:PRECprobe:CALibration
Command :CHANnel<N>:PROBe:PRECprobe:CALibration <cal_string>[,<cal_string2]
Query :CHANnel<N>:PROBe:PRECprobe:CALibration?
:CHANnel<N>:PROBe:PRECprobe:DELay
Command :CHANnel<N>:PROBe:PRECprobe:DELay {{ON | 1} | {OFF | 0}}
Query :CHANnel<N>:PROBe:PRECprobe:DELay?
:CHANnel<N>:PROBe:PRECprobe:MODE
Command :CHANnel<N>:PROBe:PRECprobe:MODE {PROBe | CABLe}
Query :CHANnel<N>:PROBe:PRECprobe:MODE?
:CHANnel<N>:PROBe:PRECprobe:ZSRC
Command :CHANnel<N>:PROBe:PRECprobe:ZSRC {VIN | {VSRC, <impedance>}
| {VSRC, <file_string>}}
Query :CHANnel<N>:PROBe:PRECprobe:ZSRC?
See Also • ":MEASure:CHARge (9000 Series, 9000H Series, S-Series)" on page 917
History New in version 5.60.
:CHANnel<N>:PROBe:RESPonsivity
Command :CHANnel<N>:PROBe:RESPonsivity <value>
This command is valid only for the N7004A Optical-to-Electrical Converter probe.
N OT E
:CHANnel<N>:PROBe:SKEW
Command :CHANnel<N>:PROBe:SKEW <skew_value>
Query :CHANnel<N>:PROBe:SKEW?
The :CHANnel<N>:PROBe:SKEW? query returns the current probe skew setting for
the selected channel.
Returned Format [:CHANnel<N>:PROBe:SKEW] <skew_value><NL>
:CHANnel<N>:PROBe:SKEW:AUTO
Command :CHANnel<N>:PROBe:SKEW:AUTO
:CHANnel<N>:PROBe:STYPe
Command :CHANnel<N>:PROBe:STYPe {DIFFerential | SINGle}
This command is valid only for the 113xA series probes, 1168A probe, and 1169A probe.
N OT E
Query :CHANnel<N>:PROBe:STYPe?
:CHANnel<N>:PROBe:USER
Command :CHANnel<N>:PROBe:USER {NONE | N7019A
| VOLTage, {RATio | DECibel}, <attenuation>
| CURRent, {VA2M | VA10M | VA20M | VA100M | VA1 | VA10}}
Query :CHANnel<N>:PROBe:USER?
Example This example places the currently specified probe type and attenuation setting for
channel 1 in the string variable, strAtten, then the program prints the contents.
Dim strAtten As String ' Dimension variable.
myScope.WriteString ":CHANnel1:PROBe:USER?"
strAtten = myScope.ReadString
Debug.Print strAtten
:CHANnel<N>:PROBe:WAVelength
Command :CHANnel<N>:PROBe:WAVelength <wavelength>
This command is valid only for the N7004A Optical-to-Electrical Converter probe.
N OT E
:CHANnel<N>:RANGe
Command :CHANnel<N>:RANGe <range_value>
Query :CHANnel<N>:RANGe?
The :CHANnel<N>:RANGe? query returns the current full-scale vertical axis setting
for the selected channel.
Returned Format [:CHANnel<N>:RANGe]<range_value><NL>
Example This example places the current range value in the number variable, varSetting,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":CHANnel1:RANGe?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:CHANnel<N>:SCALe
Command :CHANnel<N>:SCALe <scale_value>
The :CHANnel<N>:SCALe command sets the vertical scale, or units per division, of
the selected channel. This command is the same as the front-panel channel scale.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<scale_value> A real number for the vertical scale of the channel in units per division.
Example This example sets the scale value for channel 1 to 500 mV/div.
myScope.WriteString ":CHANnel1:SCALe 500E-3"
Query :CHANnel<N>:SCALe?
The :CHANnel<N>:SCALe? query returns the current scale setting for the specified
channel.
Returned Format [:CHANnel<N>:SCALe] <scale_value><NL>
Example This example places the current scale value in the number variable, varSetting,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":CHANnel1:SCALe?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:CHANnel<N>:SIMulation:AMPLitude
Command :CHANnel<N>:SIMulation:AMPLitude <value>
:CHANnel<N>:SIMulation:DATA:LENGth
Command :CHANnel<N>:SIMulation:DATA:LENGth <length_exp>
:CHANnel<N>:SIMulation:DATA:ODD
Command :CHANnel<N>:SIMulation:DATA:ODD {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:CHANnel<N>:SIMulation:DATA:PAM
Command :CHANnel<N>:SIMulation:DATA:PAM <num_of_symbols>
:CHANnel<N>:SIMulation:DATA:RESeed
Command :CHANnel<N>:SIMulation:DATA:RESeed {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:CHANnel<N>:SIMulation:DATA:SELection
Command :CHANnel<N>:SIMulation:DATA:SELection <type>
:CHANnel<N>:SIMulation:DRATe
Command :CHANnel<N>:SIMulation:DRATe <data_rate>
:CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess
Command :CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess <file_path>
:CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction
Command :CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction <port_extraction>
:CHANnel<N>:SIMulation:FILTer:SELection
Command :CHANnel<N>:SIMulation:FILTer:SELection <filter_type>
Query :CHANnel<N>:SIMulation:FILTer:SELection?
:CHANnel<N>:SIMulation:FLOad:ADDRess
Command :CHANnel<N>:SIMulation:FLOad:ADDRess <load_file_path>
:CHANnel<N>:SIMulation:FLOad:LOOP
Command :CHANnel<N>:SIMulation:FLOad:LOOP {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:CHANnel<N>:SIMulation:FREQuency
Command :CHANnel<N>:SIMulation:FREQuency <freq>
:CHANnel<N>:SIMulation:FUNCtion:SELection
Command :CHANnel<N>:SIMulation:FUNCtion:SELection <type>
:CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle
Command :CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle <duty_cycle>
:CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe
Command :CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe <fall_time>
:CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe
Command :CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe <rise_time>
:CHANnel<N>:SIMulation:JITTer
Command :CHANnel<N>:SIMulation:JITTer {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:CHANnel<N>:SIMulation:JITTer:ABUJ
Command :CHANnel<N>:SIMulation:JITTer:ABUJ <magnitude>
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle
Command :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency
Command :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency <freq>
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude
Command :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude <magnitude>
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe
Command :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe <shape>
:CHANnel<N>:SIMulation:JITTer:RANDom
Command :CHANnel<N>:SIMulation:JITTer:RANDom <standard_deviation>
:CHANnel<N>:SIMulation:NOISe
Command :CHANnel<N>:SIMulation:NOISe {{0 | OFF} | {1 | ON}}
<setting ::= {0 | 1}
:CHANnel<N>:SIMulation:NOISe:BWLimit
Command :CHANnel<N>:SIMulation:NOISe:BWLimit {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle
Command :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency
Command :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency <freq>
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude
Command :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude <magnitude>
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe
Command :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe <shape>
:CHANnel<N>:SIMulation:NOISe:RANDom
Command :CHANnel<N>:SIMulation:NOISe:RANDom <standard_deviation>
:CHANnel<N>:SIMulation:OFFSet
Command :CHANnel<N>:SIMulation:OFFSet <offset_value>
:CHANnel<N>:SIMulation:WAVeform
Command :CHANnel<N>:SIMulation:WAVeform <type>
:CHANnel<N>:UNITs
Command :CHANnel<N>:UNITs {VOLT | AMPere | WATT | UNKNown}
The :CHANnel<N>:UNITs command sets the vertical units. You can specify Y-axis
units of VOLTs, AMPs, WATTs, or UNKNown. The units are implied for other
pertinent channel commands (such as :CHANnel<N>:RANGe and
:CHANnel<N>:OFFSet). See the Probe Setup dialog box for more information.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example sets the units for channel 1 to amperes.
myScope.WriteString ":CHANnel1:UNITs AMPere"
Query :CHANnel<N>:UNITs?
The :CHANnel<N>:UNITs? query returns the current units setting for the specified
channel.
Returned Format [:CHANnel<N>:UNITs] {VOLT | AMPere | WATT | UNKNown}<NL>
Example This example places the vertical units for the specified channel in the string
variable, strUnits, then prints the contents of the variable to the computer's
screen.
Dim strUnits As String
myScope.WriteString ":CHANnel1:UNITs?"
strUnits = myScope.ReadString
Debug.Print strUnits
16 Common Commands
*CLS — Clear Status / 451
*ESE — Event Status Enable / 452
*ESR? — Event Status Register / 454
*IDN? — Identification Number / 455
*LRN? — Learn / 456
*OPC — Operation Complete / 458
*OPT? — Option / 460
*PSC — Power-on Status Clear / 469
*RCL — Recall / 470
*RST — Reset / 471
*SAV — Save / 472
*SRE — Service Request Enable / 473
*STB? — Status Byte / 475
*TRG — Trigger / 477
*TST? — Test / 478
*WAI — Wait / 479
Common commands are defined by the IEEE 488.2 standard. They control generic
device functions that are common to many different types of instruments.
Common commands can be received and processed by the oscilloscope, whether
they are sent over the remote interface as separate program messages or within
other program messages.
Receiving Common commands can be received and processed by the oscilloscope, whether
Common they are sent over the remote interface as separate program messages or within
Commands other program messages. If a subsystem is currently selected and a common
command is received by the oscilloscope, the oscilloscope remains in the selected
subsystem. For example, if the program message
"ACQUIRE:AVERAGE ON;*CLS;COUNT 1024"
is received by the oscilloscope, the oscilloscope sets the acquire type, clears the
status information, then sets the number of averages without leaving the selected
subsystem.
449
16 Common Commands
Status Registers The following two status registers used by common commands have an enable
(mask) register. By setting bits in the enable register, you can select the status
information for use. Refer to the chapter, "Status Reporting," for a complete
discussion of status.
See Also • Chapter 7, “Status Reporting,” starting on page 185 for a complete discussion
of status.
• "Example: Blocking and Polling Synchronization" on page 225
• "Example: Checking for Armed Status" on page 210
History Legacy command (existed before version 3.10).
The *ESE command sets the Standard Event Status Enable Register bits.
<mask> An integer, 0 to 255, representing a mask value for the bits to be enabled in the
Standard Event Status Register as shown in Table 7.
Example This example enables the User Request (URQ) bit of the Standard Event Status
Enable Register. When this bit is enabled and a front-panel key is pressed, the
Event Summary bit (ESB) in the Status Byte Register is also set.
myScope.WriteString "*ESE 64"
Query *ESE?
The *ESE? query returns the current contents of the Standard Event Status Enable
Register.
Returned Format <mask><NL>
<mask> An integer, +0 to +255 (the plus sign is also returned), representing a mask value
for the bits enabled in the Standard Event Status Register as shown in Table 7.
Example This example places the current contents of the Standard Event Status Enable
Register in the numeric variable, varEvent. The value of the variable is printed on
the computer's screen.
myScope.WriteString "*ESE?"
varEvent = myScope.ReadNumber
Debug.Print FormatNumber(varEvent, 0)
The Standard Event Status Enable Register contains a mask value for the bits to be
enabled in the Standard Event Status Register. A "1" in the Standard Event Status
Enable Register enables the corresponding bit in the Standard Event Status
Register. A "0" in the enable register disables the corresponding bit.
See Also Refer to Chapter 7, “Status Reporting,” starting on page 185 for a complete
discussion of status.
History Legacy command (existed before version 3.10).
The *ESR? query returns the contents of the Standard Event Status Register.
Reading this register clears the Standard Event Status Register, as does a *CLS.
Returned Format <status><NL>
<status> An integer, 0 to 255, representing the total bit weights of all bits that are high at
the time you read the register.
Example This example places the current contents of the Standard Event Status Register in
the numeric variable, varEvent, then prints the value of the variable to the
computer's screen.
myScope.WriteString "*ESR?"
varEvent = myScope.ReadNumber
Debug.Print FormatNumber(varEvent, 0)
Table 8 lists each bit in the Event Status Register and the corresponding bit
weights.
The *IDN? query returns the company name, oscilloscope model number, serial
number, and software version by returning this string:
Keysight Technologies,<Model #>,<USXXXXXXXX>,<Rev #>[,<Options>]
Example This example places the oscilloscope's identification information in the string
variable, strIdentify, then prints the identification information to the computer's
screen.
Dim strIdentify As String ' Dimension variable.
myScope.WriteString "*IDN?"
strIdentify = myScope.ReadString
Debug.Print strIdentify
*LRN? — Learn
Query *LRN?
The *LRN? query returns a block of data that contains the oscilloscope's current
setup. You can store the oscilloscope's setup and send it back to the oscilloscope
at a later time. This block of setup data should be sent to the oscilloscope just as it
is. It works because of its embedded ":SYST:SET" header.
Returned Format :SYST:SET <setup><NL>
# Import modules.
# ---------------------------------------------------------
import visa
import sys
import time
# ====================================================================
# Check for instrument errors:
# ====================================================================
def check_instrument_errors():
while True:
error_string = Infiniium.query(":SYSTem:ERRor? STRing")
if error_string: # If there is an error string value.
sys.exit(1)
# ====================================================================
# Main program:
# ====================================================================
rm = visa.ResourceManager()
Infiniium = rm.open_resource("TCPIP0::141.121.231.13::hislip0::INSTR")
Infiniium.timeout = 20000
Infiniium.clear()
Infiniium.close()
The *OPC command sets the operation complete bit in the Standard Event Status
Register when all pending device operations have finished.
You can use the *ESR? query to look at the OPC bit (bit 0) in the Standard Event
Status Register to determine when an operation is complete.
In the Infiniium 9000 Series, S-Series, 90000A Series, 90000 X-Series, V-Series,
N OT E
90000 Q-Series, and Z-Series oscilloscopes, the implementation of the *OPC? query does not
honor the definition in the SCPI standard. Instead it returns from the *OPC? query after parsing
the previous commands, not after the effects of the previous commands are completed. See
Chapter 9, “Using :PDER? Instead of *OPC?,” starting on page 217.
Example This example sets the operation complete bit in the Standard Event Status
Register when the :SINGle operation is complete.
myScope.WriteString "*CLS"
myScope.WriteString ":SINGle;*OPC"
Do
Sleep 100 ' To prevent excessive queries.
myScope.WriteString "*ESR?"
varQueryResult = myScope.ReadNumber
Debug.Print "Event Status Register: 0x" + Hex(varQueryResult)
If varQueryResult And (2 ^ 0) Then
Debug.Print "Bit 0 is True"
End If
Loop While Not varQueryResult And (2 ^ 0)
Debug.Print "Operation complete."
Query *OPC?
The *OPC? query places an ASCII character "1" in the oscilloscope's output queue
when all pending selected device operations have finished.
Returned Format 1<NL>
Example This example places an ASCII character "1" in the oscilloscope's output queue
when the AUToscale operation is complete. Then the value in the output queue is
placed in the numeric variable "varComplete".
myScope.WriteString ":AUToscale;*OPC?"
varComplete = myScope.ReadNumber
Debug.Print FormatNumber(varComplete, 0)
The *OPC? query allows synchronization between the computer and the
oscilloscope by using the message available (MAV) bit in the Status Byte or by
reading the output queue.
Unlike the *OPC command, the *OPC? query does not affect the OPC Event bit in
the Standard Event Status Register.
See Also • Chapter 9, “Using :PDER? Instead of *OPC?,” starting on page 217
History Legacy command (existed before version 3.10).
*OPT? — Option
Query *OPT?
The *OPT? query returns a string with a list of installed options. If no options are
installed, the string will have a 0 as the first character.
The length of the returned string may increase as options become available in the
future. Once implemented, an option name will be appended to the end of the
returned string, delimited by a comma.
Returned Format [002,EZP,EZJ,SDA,LSS,ABD,ABC,ABB,NRD,ERC,AIP,PCI1,ETH,DVI,HDM,B30,CAN,
SA1,DDR]<NL>
Example This example places all options into the string variable, strOptions, then prints the
option name to the computer's screen.
Dim strOptions As String
myScope.WriteString "*OPT?"
strOptions = myScope.ReadString
Debug.Print strOptions
The *PSC command determines whether or not the SRQ line is set upon the
completion of the oscilloscope's boot process. When the *PSC flag is set to 1, the
Power On (PON) bit of the Standard Event Status Register is 0 during the boot
process. When the *PSC flag is set to 0, the PON bit is set to a 1 during the boot
process.
When the *PSC flag is set to 0, the Standard Event Status Enable Register must be
set to 128 decimal and the Service Request Enable Register must be set to 32
decimal. This allows the Power On (PON) bit to set the SRQ line when the
oscilloscope is ready to receive commands.
If you are using a LAN interface rather than a GPIB interface, it is not possible to receive the
N OT E
SRQ during the boot process.
Example This example sets the *PSC flag to 0 which sets the SRQ line during the boot
process.
myScope.WriteString "*PSC 0;*SRE 32;*ESE 128"
Query The *PSC? query returns the value of the *PSC flag.
Returned Format 1<NL>
Example This example places the *PSC flag into the integer variable varPscflag.
myScope.WriteString "*PSC?"
varPscflag = myScope.ReadNumber
Debug.Print FormatNumber(varPscflag, 0)
*RCL — Recall
Command *RCL <register>
The *RCL command restores the state of the oscilloscope to a setup previously
stored in the specified save/recall register. An oscilloscope setup must have been
stored previously in the specified register. Registers 0 through 9 are
general-purpose registers and can be used by the *RCL command.
<register> An integer, 0 through 9, specifying the save/recall register that contains the
oscilloscope setup you want to recall.
Example This example restores the oscilloscope to the oscilloscope setup stored in register
3.
myScope.WriteString "*RCL 3"
See Also *SAV (Save). An error message appears on the oscilloscope's display if nothing has
been previously saved in the specified register.
History Legacy command (existed before version 3.10).
*RST — Reset
Command *RST
The *RST command performs a default setup which is the same as pressing the
oscilloscope front panel [Default Setup] key.
Example This example resets the oscilloscope to a known state.
myScope.WriteString "*RST"
See Also • ":SYSTem:PRESet" on page 1364 (where the default values for Infiniium
oscilloscope controls are described)
History Legacy command (existed before version 3.10).
*SAV — Save
Command *SAV <register>
The *SAV command stores the current state of the oscilloscope in a save register.
<register> An integer, 0 through 9, specifying the register used to save the current
oscilloscope setup.
Example This example stores the current oscilloscope setup to register 3.
myScope.WriteString "*SAV 3"
The *SRE command sets the Service Request Enable Register bits. By setting the
*SRE, when the event happens, you have enabled the oscilloscope's interrupt
capability. The oscilloscope will then do an SRQ (service request), which is an
interrupt.
<mask> An integer, 0 to 255, representing a mask value for the bits to be enabled in the
Service Request Enable Register as shown in Table 10.
Example This example enables a service request to be generated when a message is
available in the output queue. When a message is available, the MAV bit is high.
myScope.WriteString "*SRE 16"
Query *SRE?
The *SRE? query returns the current contents of the Service Request Enable
Register.
Returned Format <mask><NL>
<mask> An integer, 0 to 255, representing a mask value for the bits enabled in the Service
Request Enable Register.
Example This example places the current contents of the Service Request Enable Register
in the numeric variable, varValue, then prints the value of the variable to the
computer's screen.
myScope.WriteString "*SRE?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
The Service Request Enable Register contains a mask value for the bits to be
enabled in the Status Byte Register. A "1" in the Service Request Enable Register
enables the corresponding bit in the Status Byte Register. A "0" disables the bit.
The *STB? query returns the current contents of the Status Byte, including the
Master Summary Status (MSS) bit. See Table 11 for Status Byte Register bit
definitions.
Returned Format <value><NL>
<value> An integer, 0 to 255, representing a mask value for the bits enabled in the Status
Byte.
Example This example reads the contents of the Status Byte into the numeric variable,
varValue, then prints the value of the variable to the computer's screen.
myScope.WriteString "*STB?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
*TRG — Trigger
Command *TRG
The *TRG command has the same effect as the Group Execute Trigger message
(GET) or RUN command. It acquires data for the active waveform display, if the
trigger conditions are met, according to the current settings.
Example This example starts the data acquisition for the active waveform display according
to the current settings.
myScope.WriteString "*TRG"
*TST? — Test
Query *TST?
The *TST? query causes the oscilloscope to perform a self-test, and places a
response in the output queue indicating whether or not the self-test completed
without any detected errors. Use the :SYSTem:ERRor command to check for
errors. A zero indicates that the test passed and a non-zero indicates the self-test
failed.
*WAI — Wait
Command *WAI
The *WAI command has no function in the oscilloscope, but is parsed for
compatibility with other instruments.
Example myScope.WriteString "*WAI"
17 Digital Commands
:DIGital<N>:DISPlay / 482
:DIGital<N>:LABel / 483
:DIGital<N>:POSition / 484
:DIGital<N>:SIZE / 485
:DIGital<N>:THReshold / 486
481
17 Digital Commands
:DIGital<N>:DISPlay
Command
The DIGital commands only apply to the MSO oscilloscopes.
N OT E
The :DIGital<N>:DISPlay command enables or disables the view for the selected
digital channel.
<N> An integer, 0-15.
Example This example turns on the display of bit 5 for the digital channels.
myScope.WriteString ":DIGital5:DISPlay ON"
Query :DIGital<N>[:DISPlay]?
The :DIGital<N>:DISPlay? query returns the value of the display setting for the
selected digital channel.
Returned Format [:DIGital<N>:DISPlay] {1 | 0}<NL>
:DIGital<N>:LABel
Command
The DIGital commands only apply to the MSO oscilloscopes.
N OT E
:DIGital<N>:LABel <quoted_string>
The :DIGital<N>:LABel command sets the digital channel label to the quoted
string. Setting a label for a digital channel will also result in the name being added
to the label list.
Label strings are 16 characters or less, and may contain any commonly used ASCII characters.
N OT E
Labels with more than 16 characters are truncated to 16 characters.
Query :DIGital<N>:LABel?
The :DIGital<N>:LABel? query returns the name of the specified digital channel.
Returned Format [:DIGital<N>:LABel] <quoted_string><NL>
:DIGital<N>:POSition
Command :DIGital<N>:POSition <position>
:DIGital<N>:SIZE
Command
The DIGital commands only apply to the MSO oscilloscopes.
N OT E
The :DIGital<N>:SIZE command changes the vertical size of all the displayed
digital channels. The digital subsystem must be enabled before this command will
work. See ENABle command in the root subsystem.
<N> An integer, 0-15.
Example This example changes the size to medium for all displayed digital channels or
buses.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":DIGital5:SIZE MEDium"
Query :DIGital<N>:SIZE?
:DIGital<N>:THReshold
Command
The DIGital commands only apply to the MSO oscilloscopes.
N OT E
The :DIGital<N>:THReshold command sets the logic threshold value for a pod.
Setting the threshold for digital channels 0 through 7 sets the threshold for pod 1
while setting the threshold for digital channels 8 through 15 sets the threshold for
pod 2. This command is equivalent to the POD<N>:THReshold command.
The threshold is used for triggering purposes and for displaying the digital data as
high (above the threshold) or low (below the threshold). The voltage values for the
predefined thresholds are:
• CMOS50 = 2.5 V
• CMOS33 = 1.65 V
• CMOS25 = 1.25 V
• ECL = -1.3 V
• PECL = 3.7 V
• TTL = 1.4 V
• DIFFerential = 0 V
<N> An integer, 0-15.
<value> A real number representing the voltage value which distinguishes a 1 logic level
from a 0 logic level. Waveform voltages greater than the threshold are 1 logic
levels while waveform voltages less than the threshold are 0 logic levels.
On 9000 Series, 9000H Series, and S-Series mixed-signal oscilloscopes, the range
of the threshold voltage is from -8 volts to 8 volts.
On 90000 X-Series and V-Series mixed-signal oscilloscopes, the range of the
threshold voltage is from -3.75 volts to 3.75 volts.
Example This example sets the threshold to 1.8 volts for bits D15 through D8.
myScope.WriteString ":DIGital8:THReshold 1.8"
Query :DIGital<N>:THReshold?
The :DIGital<N>:THReshold? query returns the threshold value for the specified
pod.
Returned Format [:DIGital<N>:THReshold] {CMOS50 | CMOS33 | CMOS25 | ECL | PECL | TTL
| DIFF | <value>}<NL>
18 Disk Commands
:DISK:CDIRectory / 491
:DISK:COPY / 492
:DISK:DELete / 493
:DISK:DIRectory? / 494
:DISK:GETFILE / 495
:DISK:LOAD / 496
:DISK:MDIRectory / 498
:DISK:PUTFILE / 499
:DISK:PWD? / 500
:DISK:SAVE:COMPosite / 501
:DISK:SAVE:IMAGe / 502
:DISK:SAVE:JITTer / 503
:DISK:SAVE:LISTing / 504
:DISK:SAVE:MEASurements / 505
:DISK:SAVE:MREPort / 506
:DISK:SAVE:NOISe / 507
:DISK:SAVE:PRECprobe / 508
:DISK:SAVE:SETup / 509
:DISK:SAVE:WAVeform / 510
:DISK:SEGMented / 512
The DISK subsystem commands perform the disk operations as defined in the File
menu. This allows saving and loading of waveforms and setups, as well as saving
screen images to bitmap files.
489
18 Disk Commands
:DISK:CDIRectory
Command :DISK:CDIRectory "<directory>"
:DISK:COPY
Command :DISK:COPY "<source_file>","<dest_file>"
The :DISK:COPY command copies a source file from the disk to a destination file on
the disk. An error is displayed on the oscilloscope screen if the requested file does
not exist. Use full directory paths for the source and destination files.
<source_file> A character-quoted ASCII string which can include subdirectories with the name of
<dest_file> the file.
Example This example copies C:\Users\Public\Documents\Infiniium\File1.wfm to C:\Temp\
File1b.wfm on the disk.
myScope.WriteString ":DISK:COPY ""C:\Users\Public\Documents\Infiniium\
File1.wfm"",""C:\Temp\File1b.wfm""
:DISK:DELete
Command :DISK:DELete "<file_name>"
The :DISK:DELete command deletes a file from the disk. An error is displayed on
the oscilloscope screen if the requested file does not exist. The default path is C:\
Users\Public\Documents\Infiniium.
<file_name> A character-quoted ASCII string which can include subdirectories with the name of
the file.
Example This example deletes FILE1.SET from the disk.
myScope.WriteString ":DISK:DELete ""FILE1.SET"""
:DISK:DIRectory?
Query :DISK:DIRectory? ["<directory>"]
The :DISK:DIRectory? query returns the requested directory listing. Each entry is
63 bytes long, including a carriage return and line feed. The default path is C:\
Users\Public\Documents\Infiniium.
<directory> The list of filenames and directories.
Returned Format [:DISK:DIRectory]<n><NL><directory>
<n> The specifier that is returned before the directory listing, indicating the number of
lines in the listing.
<directory> The list of filenames and directories. Each line is separated by a <NL>.
Example This example displays a number, then displays a list of files and directories in the
current directory. The number indicates the number of lines in the listing.
Dim varResults As Variant
Dim lngI As Long
myScope.WriteString ":DISK:DIR?"
varResults = myScope.ReadList(ASCIIType_BSTR, vbLf)
Debug.Print FormatNumber(varResults(0), 0)
:DISK:GETFILE
Query :DISK:GETFILE? "<file_name>"
The :DISK:GETFILE? query returns a binary block of bytes that contains the
contents of a file on the oscilloscope.
<file_name> A quoted ASCII full path name of the file to be read.
Returned Format <binary_block><NL>
<binary_block> A binary block of data, consisting of the bytes of the file that were read.
This is the same binary block format used when reading display data from the
oscilloscope. For examples of reading binary blocks from the oscilloscope, see the
:DISPlay:DATA? query examples.
See Also • ":DISK:CDIRectory" on page 491
• ":DISK:PUTFILE" on page 499
• ":DISPlay:DATA?" on page 530
• "Definite-Length Block Response Data" on page 157
History Version 6.72: This is not a new command but its description is now being included.
:DISK:LOAD
Command :DISK:LOAD "<file_name>"[,<destination>,<interp>]
The :DISK:LOAD command restores from the disk a setup file, composite file, or a
waveform file into a waveform memory destination. The type of file is determined
by the filename suffix if one is present, or by the destination field if one is not
present. You can load .WFM, .CSV, .TSV, .TXT, .BIN, .H5, .SET, and .OSC file types.
The destination is only used when loading a waveform memory.
CAUTION Setups saved from Infiniium software versions prior to 2.00 may not load correctly in
software versions 4.30 and greater.
You can remedy this by re-saving any pre-2.00 setups using any version of software
from version 2.00 to version 4.20.
Setups saved from software versions between 2.00 and 4.20 should load correctly into
version 4.30 and greater.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used. You can use either .WFM, .CSV, .TSV, .TXT, .BIN, .H5, .SET, or .OSC
as a suffix after the filename. If no file suffix is specified, the default is .wfm.
The present working directory is assumed, or you can specify the entire path. For
example, you can load the standard setup file "SETUP0.SET" using the command:
:DISK:LOAD "C:\Users\Public\Documents\Infiniium\Setups\SETUP0.SET"
Or, you can use :DISK:CDIRectory to change the present working directory to C:\
Users\Public\Documents\Infiniium\Setups, then just use the file name
("SETUP0.SET", for example). The default path is C:\Users\Public\Documents\
Infiniium\Setups.
When setup files are loaded, touch screen settings are ignored.
<destination> WMEMory<R>.
Where <R> is an integer from 1-4.
If a destination is not specified, waveform memory 1 is used.
<interp> {OFF | INT1 | INT2 | INT4 | INT8 | INT16}
When loading waveform data into a waveform memory, you can specify the
Sin(x)/x interpolation ratio that is used. OFF means no interpolation. You can also
specify the 1, 2, 4, 8, or 16 point Sin(x)/x interpolation ratios using INT1, INT2,
INT4, INT8, or INT16.
Example This example restores the waveform in FILE1.WFM to waveform memory 1 with no
Sin(x)/x interpolation.
myScope.WriteString ":DISK:LOAD ""FILE1.WFM"",WMEM1,OFF"
:DISK:MDIRectory
Command :DISK:MDIRectory "<directory>"
Example 2 This example creates the directory CPROGRAMS in the present working directory
set by the :DISK:CDIRectory command.
myScope.WriteString ":DISK:MDIRectory ""CPROGRAMS"""
:DISK:PUTFILE
Command :DISK:PUTFILE "<file_name>",<binary_block>
:DISK:PWD?
Query :DISK:PWD?
The :DISK:PWD? query returns the name of the present working directory
(including the full path). If the default path (C:\Users\Public\Documents\Infiniium)
has not been changed by the :DISK:CDIRectory command, the :DISK:PWD? query
will return an empty string.
Returned Format :DISK:PWD? <present_working_directory><NL>
Example This example places the present working directory in the string variable strWdir,
then prints the contents of the variable to the computer's screen.
Dim strWdir As String
myScope.WriteString ":DISK:PWD?"
str Wdir = myScope.ReadString
Debug.Print strWdir
:DISK:SAVE:COMPosite
Command :DISK:SAVE:COMPosite "<file_name>"
:DISK:SAVE:IMAGe
Command :DISK:SAVE:IMAGe "<file_name>" [,<format>
[,{SCReen | GRATicule}
[,{ON | 1} | {OFF | 0}
[,{NORMal | INVert}
[,{ON | 1} | {OFF | 0}]]]]]
The DISK:SAVE:IMAGe command saves a screen image. The default path is C:\
Users\Public\Documents\Infiniium.
<format> The image format can be: BMP, GIF, TIF, PNG, or JPEG. The extension is supplied
by the oscilloscope depending on the selected file format.
If you do not include the format in the command, the file is saved in the format
shown in the Save Screen dialog box.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
(First) ON | OFF ON means that compression is on for the bitmap format (BMP). OFF means
compression is off.
(Second) ON | OFF The second ON/OFF selection indicates to save the setup information in the image
or not.
<format> {BMP | GIF | TIF | JPEG | PNG}
Error 273 can occur after this command to warn you about a known issue when Remote
N OT E
Desktop is being used to control the oscilloscope. See "List of Error Messages" on
page 1806.
or:
myScope.WriteString ":DISK:SAVE:IMAGe ""FILE1"",TIF,GRAT,ON"
or:
myScope.WriteString ":DISK:SAVE:IMAGe ""FILE1"""
:DISK:SAVE:JITTer
Command :DISK:SAVE:JITTer "<file_name>"
The DISK:SAVE:JITTer command saves the jitter measurements shown in the RJDJ
tab at the bottom of the oscilloscope screen along with the RJDJ graph data in a
comma separated variables (CSV) file format. The csv extension is supplied by the
oscilloscope. The default path is C:\Users\Public\Documents\Infiniium.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
Example myScope.WriteString ":DISK:SAVE:JITTer ""FILE1"""
:DISK:SAVE:LISTing
Command :DISK:SAVE:LISTing [<source>,] "<file_name>" [,<format>[,<type>]]
The DISK:SAVE:LISTing command saves the contents of the bus listing window to
a file in either a .csv or .txt format. The default path is C:\Users\Public\
Documents\Infiniium.
<source> {SERial<N>} — The default serial bus is the one currently displayed in the listing
window.
<N> An integer 1 - 4.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
<format> {CSV | TXT}
<type> {PACKets | SYMBols}
Specifies which display window to save.
Example myScope.WriteString ":DISK:SAVE:LISTing SERial3, ""FILE1"", CSV"
:DISK:SAVE:MEASurements
Command :DISK:SAVE:MEASurements "<file_name>"[,<legacy_save_mode>]
:DISK:SAVE:MREPort
Command :DISK:SAVE:MREPort "<filename>"
:DISK:SAVE:NOISe
Command :DISK:SAVE:NOISe "<filename>"
:DISK:SAVE:PRECprobe
Command :DISK:SAVE:PRECprobe "<file_name>.csv", {CHAN1 | CHAN2 | CHAN3 | CHAN4}
:DISK:SAVE:SETup
Command :DISK:SAVE:SETup "<file_name>"
:DISK:SAVE:WAVeform
Command :DISK:SAVE:WAVeform <source>,"<file_name>" [,<format>[,<header>]]
See the ":WAVeform:VIEW" on page 1634 command to determine how much data is saved.
N OT E
When an acquisition is made on multiple channels, the data for each channel has the same
N OT E
X origin and the same number of points.
:DISK:SEGMented
Command :DISK:SEGMented {ALL | CURRent}
The :DISK:SEGMented command sets whether all segments or just the current
segment are saved to a file when the :DISK:SAVE:WAVeform command is issued
and the source is a channel but not a waveform memory or function. Before
segments can be saved, the :ACQuire:MODE must be set to the SEGMented mode
and segments must be acquired.
Example This example sets the disk segmented memory store method to CURRent.
myScope.WriteString ":DISK:SEGMented CURRent"
Query :DISK:SEGMented?
Example This example places the disk store method in the string variable strMethod, then
prints the contents of the variable to the computer's screen.
Dim strMethod As String
myScope.WriteString ":DISK:SEGMented?"
strMethod = myScope.ReadString
Debug.Print strMethod
19 Display Commands
:DISPlay:BOOKmark:DELete:ALL / 515
:DISPlay:BOOKmark<N>:DELete / 516
:DISPlay:BOOKmark<N>:SET / 517
:DISPlay:BOOKmark<N>:VERTical? / 519
:DISPlay:BOOKmark<N>:XPOSition / 520
:DISPlay:BOOKmark<N>:YPOSition / 521
:DISPlay:CGRade / 522
:DISPlay:CGRade:LEGend / 524
:DISPlay:CGRade:LEVels? / 525
:DISPlay:CGRade:SCHeme / 527
:DISPlay:CONNect / 529
:DISPlay:DATA? / 530
:DISPlay:GRATicule / 531
:DISPlay:GRATicule:AREA<N>:HSCale / 532
:DISPlay:GRATicule:AREA<N>:STATe / 533
:DISPlay:GRATicule:AREA<N>:VSCale / 534
:DISPlay:GRATicule:GLAYout / 535
:DISPlay:GRATicule:INTensity / 536
:DISPlay:GRATicule:NUMBer / 537
:DISPlay:GRATicule:SETGrat / 538
:DISPlay:ISIM:GCOunt / 539
:DISPlay:ISIM:SELectgraph / 540
:DISPlay:ISIM:SOURce / 541
:DISPlay:JITTer:GCOunt / 542
:DISPlay:JITTer:SELectgraph / 543
:DISPlay:JITTer:THReshold / 545
:DISPlay:LABel / 546
:DISPlay:LAYout / 547
:DISPlay:MAIN / 548
:DISPlay:NOISe:LEVel / 550
:DISPlay:PAM:GRAPh / 551
:DISPlay:PAM:SOURce / 552
513
19 Display Commands
:DISPlay:PAM:TABLe / 553
:DISPlay:PERSistence / 554
:DISPlay:PRECprobe:GCOunt / 558
:DISPlay:PRECprobe:SELectgraph / 559
:DISPlay:PRECprobe:SOURce / 560
:DISPlay:PROPortion / 556
:DISPlay:PROPortion:RESults / 557
:DISPlay:RESults:LAYout / 561
:DISPlay:SCOLor / 562
:DISPlay:STATus:COLumn / 564
:DISPlay:STATus:ROW / 565
:DISPlay:THEMe / 566
:DISPlay:WINDow:MAXimize / 567
The DISPlay subsystem controls the display of data, text, and graticules, and the
use of color.
:DISPlay:BOOKmark:DELete:ALL
Command :DISPlay:BOOKmark:DELete:ALL
:DISPlay:BOOKmark<N>:DELete
Command :DISPlay:BOOKmark<N>:DELete
:DISPlay:BOOKmark<N>:SET
Command :DISPlay:BOOKmark<N>:SET NONE,"label"[,<color>[,"content"[,<grid>]]]
:DISPlay:BOOKmark<N>:SET <source>,"label"[,<color>[,"content"[,<time>]]]
:DISPlay:BOOKmark<N>:VERTical?
Query :DISPlay:BOOKmark<N>:VERTical?
:DISPlay:BOOKmark<N>:XPOSition
Command :DISPlay:BOOKmark<N>:XPOSition <x_pos>
:DISPlay:BOOKmark<N>:YPOSition
Command :DISPlay:BOOKmark<N>:YPOSition <y_pos>
:DISPlay:CGRade
Command :DISPlay:CGRade {{ON | 1} | {OFF | 0}}[,<source>]
:DISPlay:CGRade:LEGend
Command :DISPlay:CGRade:LEGend {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:DISPlay:CGRade:LEVels?
Query :DISPlay:CGRade:LEVels?
In the CLASsic color grade scheme, colors start at green minimum, maximum,
then blue, pink, red, orange, yellow, white. The format is a string where commas
separate minimum and maximum values. The largest number in the string can be
9,007,199,254,740,991
An example of a possible returned string is as follows:
1,414,415,829,830,1658,1659,3316,3317,6633,6634,13267,13268,26535
See Also • ":DISPlay:CGRade" on page 522
• ":DISPlay:CGRade:SCHeme" on page 527
:DISPlay:CGRade:SCHeme
Command :DISPlay:CGRade:SCHeme {CLASsic | TEMP}
Query :DISPlay:CGRade:SCHeme?
Example This example gets the specified color scheme and prints it on the computer
screen:
Dim strCgradeScheme As String ' Dimension variable.
myScope.WriteString ":DISPlay:CGRade:SCHeme?"
strCgradeScheme = myScope.ReadString
Debug.Print strCgradeScheme
:DISPlay:CONNect
Command :DISPlay:CONNect {{ON | 1} | {OFF | 0}}[,<source>]
:DISPlay:DATA?
Query :DISPlay:DATA? [<type>[,<screen_mode>[,<compression> [,<inversion>]]]]
Error 273 can occur after this query to warn you about a known issue when Remote Desktop is
N OT E
being used to control the oscilloscope. See "List of Error Messages" on page 1806.
:DISPlay:GRATicule
Command :DISPlay:GRATicule {GRID | FRAMe}
Query :DISPlay:GRATicule?
Example This example places the current display graticule setting in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:GRATicule?"
strSetting = myScope.ReadString
Debug.Print strSetting
:DISPlay:GRATicule:AREA<N>:HSCale
Command :DISPlay:GRATicule:AREA<N>:HSCale {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:DISPlay:GRATicule:AREA<N>:STATe
Command :DISPlay:GRATicule:AREA<N>:STATe {{ON | 1} | {OFF | 0}}
Query :DISPlay:GRATicule:AREA<N>:STATe?
Example This example places the status of waveform area 2 in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:GRATicule:AREA2:STATe?"
strSetting = myScope.ReadString
Debug.Print strSetting
:DISPlay:GRATicule:AREA<N>:VSCale
Command :DISPlay:GRATicule:AREA<N>:VSCale {OFF | AUTO | MANual}
:DISPlay:GRATicule:GLAYout
Command :DISPlay:GRATicule:GLAYout <layout>[,<area>]
The :DISPlay:GRATicule:GLAYout? query returns the layout format for the specified
area or area 1 if the area is not specified.
Returned Format <layout><NL>
:DISPlay:GRATicule:INTensity
Command :DISPlay:GRATicule:INTensity <intensity_value>
You can dim the grid's intensity or turn the grid off to better view waveforms that
might be obscured by the graticule lines using the :DISPlay:GRATicule:INTensity
command. Otherwise, you can use the grid to estimate waveform measurements
such as amplitude and period.
When printing, the grid intensity control does not affect the hard copy. To remove
the grid from a printed hard copy, you must turn off the grid before printing.
<intensity _value> A integer from 0 to 100, indicating the percentage of grid intensity.
Example This example sets the graticule intensity to 50%.
myScope.WriteString ":DISPlay:GRATicule:INTensity 50"
Query :DISPlay:GRATicule:INTensity?
Example This example places the current graticule intensity setting in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:GRATicule:INTensity?"
strSetting = myScope.ReadString
Debug.Print strSetting
:DISPlay:GRATicule:NUMBer
Command :DISPlay:GRATicule:NUMBer <grids>[,<area>]
Example This example places the current number of grids in the string variable, strSetting,
then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:GRATicule:NUMBer?"
strSetting = myScope.ReadString
Debug.Print strSetting
:DISPlay:GRATicule:SETGrat
Command :DISPlay:GRATicule:SETGrat
<DispGratChan>,<grid>[,<area>][,{MAIN | CGRade}]
:DISPlay:ISIM:GCOunt
Command :DISPlay:ISIM:GCOunt <count>
:DISPlay:ISIM:SELectgraph
Command :DISPlay:ISIM:SELectgraph <graph>
Selecting ALL graphs results in all allowed graphs being displayed for the source (see
N OT E
:DISPlay:ISIM:SOURce). If the source is ALL, all graphs will be displayed for all sources. The
graph count may change.
:DISPlay:ISIM:SOURce
Command :DISPlay:ISIM:SOURce <source>
The :DISPlay:ISIM:SOURce command sets the source for the InfiniiSim plots
graph(s).
Selecting ALL sources causes the selected graph to be applied to all graph sources. If ALL is
N OT E
the selected graph type, all sources are applied to all graphs. The graph count may change.
:DISPlay:JITTer:GCOunt
Command :DISPlay:JITTer:GCOunt <count>
:DISPlay:JITTer:SELectgraph
Command :DISPlay:JITTer:SELectgraph <graph>
Selecting ALL graphs results in all allowed graphs being displayed. The graph count may
N OT E
change.
:DISPlay:JITTer:THReshold
Command :DISPlay:JITTer:THReshold <level>
:DISPlay:LABel
Command :DISPlay:LABel {{ON | 1} | {OFF | 0}}
The :DISPlay:LABel command turns on or off the display of analog channel labels.
Label names can be up to 6 characters long. The label name is assigned by using
the CHANnel<n>:LABel command:
Example This example turns on the display of all labels.
myScope.WriteString ":DISPlay:LABel ON"
Query :DISPlay:LABel?
Example This example places the current label state into the string variable, strSetting, then
prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:LABel?"
strSetting = myScope.ReadString
Debug.Print strSetting
:DISPlay:LAYout
Command :DISPlay:LAYout <layout>
:DISPlay:MAIN
Command :DISPlay:MAIN {{ON | 1} | {OFF | 0}}[,<source>]
The :DISPlay:MAIN command turns on or off the main window view for the
indicated source.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized<L> | MTRend | MSPectrum | XT<X>}
If <source> is omitted, the main window view is enabled/disabled for all sources
that are currently on, except for digital channel sources.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<L> An integer, 1-4.
<X> An integer, 1-4, identifying the crosstalk waveform.
Example This example sets the main view on.
myScope.WriteString ":DISPlay:MAIN ON"
The DISPlay:MAIN? returns whether the main window view for the indicated source
is on or off.
If <source> is omitted, the query returns ON (1) if any main window view is
enabled.
Returned Format [:DISPlay:MAIN] {1 | 0}<NL>
:DISPlay:NOISe:LEVel
Command :DISPlay:NOISe:LEVel <level>
:DISPlay:PAM:GRAPh
Command :DISPlay:PAM:GRAPh <string_of_choices>
Specifying "AllItemsChecked" for the string of choices will select all graphs.
Specifying an empty string ("") will select none of the graphs.
See Also • ":MEASure:PAM:PRBS13q:STATe" on page 1046
• ":DISPlay:PAM:SOURce" on page 552
• ":DISPlay:PAM:TABLe" on page 553
History New in version 6.72.
:DISPlay:PAM:SOURce
Command :DISPlay:PAM:SOURce <source_string>
Specifying "AllItemsChecked" for the string of choices will select all available
sources (that have PAM-4 12-Edge Jitter enabled).
Specifying an empty string ("") will select the lowest available source (one must
remain selected).
See Also • ":MEASure:PAM:PRBS13q:STATe" on page 1046
• ":DISPlay:PAM:GRAPh" on page 551
• ":DISPlay:PAM:TABLe" on page 553
History New in version 6.72.
:DISPlay:PAM:TABLe
Command :DISPlay:PAM:TABLe <string_of_choices>
Specifying "AllItemsChecked" for the string of choices will select all tables.
Specifying an empty string ("") will select none of the tables.
See Also • ":MEASure:PAM:PRBS13q:STATe" on page 1046
• ":DISPlay:PAM:GRAPh" on page 551
• ":DISPlay:PAM:SOURce" on page 552
History New in version 6.72.
:DISPlay:PERSistence
Command :DISPlay:PERSistence {MINimum | INFinite | <time>}[,<source>]
Example This example places the current persistence setting in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:PERSistence?"
strSetting = myScope.ReadString
Debug.Print strSetting
:DISPlay:PROPortion
Command :DISPlay:PROPortion <pane>, <float>
The :DISPlay:PROPortion command specifies the size of the waveform and plot
areas.
If the :DISPlay:LAYout is VERTical, this command sets an area's height.
If the :DISPlay:LAYout is HORizontal, this command sets an area's width.
If the :DISPlay:LAYout is CUSTom, this command is not supported.
<pane> {AREA<N> | SERial<M> | {JITTer | NOISe} | ISIM | PRECprobe | BUS | P4Jitter}
<N> An integer, 1-8.
<M> An integer, 1-4.
<float> A value from 0.0 to 100.0.
Example You should set the proportion of all areas that are displayed such that the sum of
the proportions is 100. For example, if you have three areas on: Waveform Area1,
Waveform Area 2, and Jitter graphs, you may want to size them as follows:
:DISPlay:PROPortion AREA1, 20.0
:DISPlay:PROPortion AREA2, 20.0
:DISPlay:PROPortion JITTer, 60.0
If you set the size of one area only, it may not have the intended effect.
See Also • ":DISPlay:PROPortion:RESults" on page 557
• ":DISPlay:LAYout" on page 547
History New in version 5.00.
Version 6.50: The query portion of this command has been deprecated. The
P4Jitter (PAM4 Jitter) pane option has been added.
:DISPlay:PROPortion:RESults
Command :DISPlay:PROPortion:RESults <float>
:DISPlay:PRECprobe:GCOunt
Command :DISPlay:PRECprobe:GCOunt <count>
:DISPlay:PRECprobe:SELectgraph
Command :DISPlay:PRECprobe:SELectgraph <graph>
Selecting ALL graphs results in all allowed graphs being displayed for the source (see
N OT E
:DISPlay:PRECprobe:SOURce). If the source is ALL, all graphs will be displayed for all sources.
The graph count may change.
:DISPlay:PRECprobe:SOURce
Command :DISPlay:PRECprobe:SOURce <source>
Selecting ALL sources causes the selected graph to be applied to all graph sources. If ALL is
N OT E
the selected graph type, all sources are applied to all graphs. The graph count may change.
:DISPlay:RESults:LAYout
Command :DISPlay:RESults:LAYout <layout>
:DISPlay:SCOLor
Command :DISPlay:SCOLor <color_name>, <hue>, <saturation>, <luminosity>
The :DISPlay:SCOLor command sets the color of the specified display element.
The display elements are described in Table 12.
<color_name> {BUS | CGLevel1 - CGLevel7 | CHANnel1 - CHANnel4 | DCHannel | DMEMory
| FUNCtion1 - FUNCtion16 | GRID | HISTogram | MARKers | MTPolygons
| MMPolygons | TINPuts | WMEMories | WMEMory1 - WMEMory4}
<hue> An integer from 0 to 100. The hue control sets the color of the chosen display
element. As hue is increased from 0%, the color changes from red, to yellow, to
green, to blue, to purple, then back to red again at 100% hue. For color examples,
see the sample color settings table in the Infiniium Oscilloscope online help file.
Pure red is 100%, pure blue is 67%, and pure green is 33%.
<saturation> An integer from 0 to 100. The saturation control sets the color purity of the chosen
display element. The saturation of a color is the purity of a color, or the absence of
white. A 100% saturated color has no white component. A 0% saturated color is
pure white.
<luminosity> An integer from 0 to 100. The luminosity control sets the color brightness of the
chosen display element. A 100% luminosity is the maximum color brightness. A
0% luminosity is pure black.
Example This example sets the hue to 50, the saturation to 70, and the luminosity to 90 for
the markers.
myScope.WriteString ":DISPlay:SCOLor MARKers,50,70,90"
The :DISPlay:SCOLor? query returns the hue, saturation, and luminosity for the
specified color.
Returned Format [:DISPlay:SCOLor] <color_name>, <hue>, <saturation>, <luminosity><NL>
Example This example places the current settings for the graticule color in the string
variable, strSetting, then prints the contents of the variable to the computer's
screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:SCOLor? GRID"
strSetting = myScope.ReadString
Debug.Print strSetting
:DISPlay:STATus:COLumn
Command :DISPlay:STATus:COLumn <column>
The :DISPlay:STATus:COLumn command is used to position the real time eye and
InfiniiScan Zone Trigger status labels.
This and the :DISPlay:STATus:ROW commands specify the upper left corner of the
box relative to the screen.
<column> A value of 0 to 1 may be given for the column where 0 is the far left and 1 the far
right.
Example For example, a column of 0.5 will place the upper left of the status label at the
center screen.
myScope.WriteString ":DISPlay:STATus:COLumn 0.5"
Query :DISPlay:STATus:COLumn?
The :DISPlay:STATus:COLumn? query returns the current value of the status label
column location.
Returned Format [:DISPlay:STATus:COLumn] <column><NL>
Example This example places the current value for the status label column location in the
string variable, strSetting, then prints the contents of the variable to the
computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:STATus:COLumn?"
strSetting = myScope.ReadString
Debug.Print strSetting
:DISPlay:STATus:ROW
Command :DISPlay:STATus:ROW <row>
The :DISPlay:STATus:ROW command is used to position the real time eye and
InfiniiScan Zone Trigger status labels.
This and the :DISPlay:STATus:COL commands specify the upper left corner of the
box relative to the screen.
<row> A value of 0 to 1 may be given for the row where 0 is the far top and 1 the far
bottom.
Example For example, a row and column of 0.5 will place the upper left of the status label at
the center screen.
myScope.WriteString ":DISPlay:STATus:ROW 0.5"
Query :DISPlay:STATus:ROW?
The :DISPlay:STATus:ROW? query returns the current value of the status label row
location.
Returned Format [:DISPlay:STATus:ROW] <row><NL>
Example This example places the current value for the status label row location in the string
variable, strSetting, then prints the contents of the variable to the computer's
screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:STATus:ROW?"
strSetting = myScope.ReadString
Debug.Print strSetting
:DISPlay:THEMe
Command :DISPlay:THEMe {"Midnight" | "Platinum"}
The :DISPlay:THEMe command lets you select the graphical user inerface's
"Midnight" or "Platinum" theme.
Query :DISPlay:THEMe?
:DISPlay:WINDow:MAXimize
Command :DISPlay:WINDow:MAXimize <window>
20 Function Commands
:FUNCtion<F>? / 573
:FUNCtion<F>:ABSolute / 574
:FUNCtion<F>:ADD / 575
:FUNCtion<F>:ADEMod / 576
:FUNCtion<F>:AVERage / 577
:FUNCtion<F>:COMMonmode / 578
:FUNCtion<F>:DELay — Delay / 579
:FUNCtion<F>:DIFF — Differentiate / 580
:FUNCtion<F>:DISPlay / 581
:FUNCtion<F>:DIVide / 582
:FUNCtion<F>:FFT:DETector:POINts / 583
:FUNCtion<F>:FFT:DETector:TYPE / 584
:FUNCtion<F>:FFT:FREQuency / 585
:FUNCtion<F>:FFT:HSCale / 586
:FUNCtion<F>:FFT:IMPedance / 587
:FUNCtion:FFT:PEAK:SORT / 589
:FUNCtion<F>:FFT:PEAK:COUNt / 590
:FUNCtion<F>:FFT:PEAK:FREQuency / 591
:FUNCtion<F>:FFT:PEAK:LEVel / 592
:FUNCtion<F>:FFT:PEAK:MAGNitude / 593
:FUNCtion<F>:FFT:PEAK:STATe / 594
:FUNCtion<F>:FFT:REFerence / 595
:FUNCtion<F>:FFT:RESolution / 596
:FUNCtion<F>:FFT:SPAN / 598
:FUNCtion<F>:FFT:STARt / 599
:FUNCtion<F>:FFT:STOP / 600
:FUNCtion<F>:FFT:TDELay / 601
:FUNCtion<F>:FFT:VUNits / 602
:FUNCtion<F>:FFT:WINDow / 603
:FUNCtion<F>:FFTMagnitude / 605
:FUNCtion<F>:FFTPhase / 606
:FUNCtion<F>:GATing — Gating / 607
569
20 Function Commands
:FUNCtion<F>:GATing:GLOBal / 608
:FUNCtion<F>:GATing:STARt — Gating window start time / 609
:FUNCtion<F>:GATing:STOP — Gating window stop time / 610
:FUNCtion<F>:HIGHpass / 611
:FUNCtion<F>:HORizontal / 612
:FUNCtion<F>:HORizontal:POSition / 613
:FUNCtion<F>:HORizontal:RANGe / 615
:FUNCtion<F>:INTegrate / 617
:FUNCtion<F>:INVert / 618
:FUNCtion<F>:LABel / 619
:FUNCtion<F>:LOWPass / 620
:FUNCtion<F>:MAGNify / 621
:FUNCtion<F>:MATLab / 622
:FUNCtion<F>:MATLab:CONTrol<N> / 623
:FUNCtion<F>:MATLab:OPERator / 625
:FUNCtion<F>:MAXimum / 626
:FUNCtion<F>:MHIStogram / 627
:FUNCtion<F>:MINimum / 629
:FUNCtion<F>:MLOG / 630
:FUNCtion<F>:MTRend / 631
:FUNCtion<F>:MULTiply / 632
:FUNCtion<F>:OFFSet / 633
:FUNCtion<F>:PAVerage / 634
:FUNCtion<F>:RANGe / 635
:FUNCtion<F>:SMOoth / 636
:FUNCtion<F>:SQRT / 637
:FUNCtion<F>:SQUare / 638
:FUNCtion<F>:SUBTract / 639
:FUNCtion<F>:VERSus / 640
:FUNCtion<F>:VERTical / 641
:FUNCtion<F>:VERTical:OFFSet / 642
:FUNCtion<F>:VERTical:RANGe / 643
:FUNCtion<F>:VERTical:SIZE / 644
The FUNCtion subsystem defines functions 1-16. The operands of these functions
can be:
• Any of the installed channels in the oscilloscope (see page 571)
:FUNCtion<F>?
Query :FUNCtion<F>?
The :FUNCtion<F>? query returns the currently defined source(s) for the function.
Returned Format [:FUNCtion<F>:<operator>] {<operand>[,<operand>]}<NL>
If the headers are off (see :SYSTem:HEADer), the query returns only the operands,
not the operator.
myScope.WriteString ":SYST:HEAD ON"
myScope.WriteString ":FUNC1:ADD CHAN1,CHAN2"
myScope.WriteString ":FUNC1?"
strSettings = myScope.ReadString ' Returns ":FUNC1:ADD CHAN1,CHAN2".
myScope.WriteString ":SYST:HEAD OFF"
myScope.WriteString ":FUNC1?"
strSettings = myScope.ReadString ' Returns "CHAN1,CHAN2".
:FUNCtion<F>:ABSolute
Command :FUNCtion<F>:ABSolute <operand>
:FUNCtion<F>:ADD
Command :FUNCtion<F>:ADD <operand>,<operand>
The :FUNCtion<F>:ADD command defines a function that takes the algebraic sum
of the two operands.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | EQUalized<L> |
WMEMory<n> | <float_value> | MTRend | MSPectrum | XT<X> | PNOise}
See the discussion of possible operands in the introduction to Chapter 20,
“Function Commands,” starting on page 569.
Example This example sets up function 1 to add channel 1 to channel 2.
myScope.WriteString ":FUNCtion1:ADD CHANnel1,CHANnel2"
:FUNCtion<F>:ADEMod
Command :FUNCtion<F>:ADEMod <source>
:FUNCtion<F>:AVERage
Command :FUNCtion<F>:AVERage <operand>[,<averages>]
:FUNCtion<F>:COMMonmode
Command :FUNCtion<F>:COMMonmode <operand>,<operand>
:FUNCtion<F>:DELay — Delay
Command :FUNCtion<F>:DELay <operand>,<delay_time>
The :FUNCtion<F>:DELay command adds the provided time to the X origin of the
source waveform, effectively shifting the function waveform in time.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | EQUalized<L> |
WMEMory<n> | MTRend | MSPectrum | XT<X> | PNOise}
See the discussion of possible operands in the introduction to Chapter 20,
“Function Commands,” starting on page 569.
<delay_time> Time, in seconds, set for the delay.
Example This example sets function 2 to be the waveform from channel1, delayed by
100 ps.
myScope.WriteString ":FUNCtion2:DELay CHANnel1,100E-12"
:FUNCtion<F>:DIFF — Differentiate
Command :FUNCtion<F>:DIFF <operand>[,<low_pass_phase_align>]
:FUNCtion<F>:DISPlay
Command :FUNCtion<F>:DISPlay {{ON|1} | {OFF|0}}
Query :FUNCtion<F>:DISPlay?
Example This example places the current state of function 1 in the variable, strSetting, then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":FUNCtion1:DISPlay?"
strSetting = myScope.ReadString
Debug.Print strSetting
:FUNCtion<F>:DIVide
Command :FUNCtion<F>:DIVide <operand>,<operand>
:FUNCtion<F>:FFT:DETector:POINts
Command :FUNCtion<F>:FFT:DETector:POINts <number_of_buckets>
:FUNCtion<F>:FFT:DETector:TYPE
Command :FUNCtion<F>:FFT:DETector:TYPE <type>
:FUNCtion<F>:FFT:FREQuency
Command :FUNCtion<F>:FFT:FREQuency <center_frequency_value>
:FUNCtion<F>:FFT:HSCale
Command :FUNCtion<F>:FFT:HSCale {LINear | LOG}
:FUNCtion<F>:FFT:IMPedance
Command :FUNCtion<F>:FFT:IMPedance {AUTO | <impedance>}
When the FFT vertical units are displayed (and measured) as power (that is, dBm
or Watt — see :FUNCtion<F>:FFT:VUNits), the :FUNCtion<F>:FFT:IMPedance
command lets you specify the reference impedance of the waveform source so that
power is calculated correctly. You can select automatically determined or
manually entered values.
AUTO When AUTO is selected, analog input channel reference impedances can be
automatically determined by the type of probe detected (differential, common
mode, single-ended) or by whether two channels are set up as Differential
Channels or Common Mode Channels using the :CHANnel<N>:DIFFerential
command.
All other sources (math functions, waveform memories, etc.) are assumed to be
50 Ω. If this is not correct, for example, when a waveform memory or math function
source comes from a differential or common mode signal, you must manually
enter the appropriate reference impedance.
<impedance> Reference impedance from 20 Ω to 200 Ω. in NR3 format.
Query :FUNCtion<F>:FFT:IMPedance?
:FUNCtion:FFT:PEAK:SORT
Command :FUNCtion:FFT:PEAK:SORT {DMAGnitude | DFRequency | IMAGnitude
| IFRequency}
:FUNCtion<F>:FFT:PEAK:COUNt
Command :FUNCtion<F>:FFT:PEAK:COUNt <max_peaks_to_find>
:FUNCtion<F>:FFT:PEAK:FREQuency
Query :FUNCtion<F>:FFT:PEAK:FREQuency?
:FUNCtion<F>:FFT:PEAK:LEVel
Command :FUNCtion<F>:FFT:PEAK:LEVel <peak_search_level>
:FUNCtion<F>:FFT:PEAK:MAGNitude
Query :FUNCtion<F>:FFT:PEAK:MAGNitude?
:FUNCtion<F>:FFT:PEAK:STATe
Command :FUNCtion<F>:FFT:PEAK:STATe {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:FUNCtion<F>:FFT:REFerence
Command :FUNCtion<F>:FFT:REFerence {DISPlay | TRIGger}
Query :FUNCtion<F>:FFT:REFerence?
Example This example places the current state of the function 1 FFT reference point in the
string variable, strREF, then prints the contents of the variable to the computer's
screen.
Dim strREF As String
myScope.WriteString ":FUNCtion1:FFT:REFerence?"
strREF = myScope.ReadString
Debug.Print strREF
:FUNCtion<F>:FFT:RESolution
Command :FUNCtion<F>:FFT:RESolution <resolution_value>
Sample Rate
FFT Resolution = Effective Memory Depth
The effective memory depth is the highest power of 2 less than or equal to the
number of sample points across the display. The memory bar in the status area at
the top of the display indicates how much of the actual memory depth is across
the display.
Query :FUNCtion<F>:FFT:RESolution?
:FUNCtion<F>:FFT:SPAN
Command :FUNCtion<F>:FFT:SPAN <frequency_span>
The :FUNCtion<F>:FFT:SPAN command sets the frequency span for the FFT
function.
<F> An integer, 1-16, representing the selected function.
<frequency_span> Frequency value in NR3 format.
Query :FUNCtion<F>:FFT:SPAN?
:FUNCtion<F>:FFT:STARt
Command :FUNCtion<F>:FFT:STARt <start_frequency>
The :FUNCtion<F>:FFT:STARt command sets the start frequency for the FFT
function.
<F> An integer, 1-16, representing the selected function.
<start_frequency> Frequency value in NR3 format.
Query :FUNCtion<F>:FFT:STARt?
:FUNCtion<F>:FFT:STOP
Command :FUNCtion<F>:FFT:STOP <stop_frequency>
The :FUNCtion<F>:FFT:STOP command sets the stop frequency for the FFT
function.
<F> An integer, 1-16, representing the selected function.
<stop_frequency> Frequency value in NR3 format.
Query :FUNCtion<F>:FFT:STOP?
:FUNCtion<F>:FFT:TDELay
Command :FUNCtion<F>:FFT:TDELay <time_delay>
The :FUNCtion<F>:FFT:TDELay command sets the time delay for the FFT phase
function.
<time_delay> Time, in seconds, set for the time delay.
Example This example sets the time delay to one millisecond.
myScope.WriteString ":FUNCtion1:FFT:TDELay 1E-3"
Query :FUNCtion<F>:FFT:TDELay?
The :FUNCtion<F>:FFT:TDELay? query returns the time delay for the FFT phase
function.
Returned Format [:FUNCtion<F>:FFT:TDELay] <time_delay><NL>
Example This example places the FFT phase function's time delay value in the variable,
varFftPhaseTimeDelay, then prints the contents of the variable to the computer's
screen.
Dim varFftPhaseTimeDelay As Variant
myScope.WriteString ":FUNCtion1:FFT:TDELay?""
varFftPhaseTimeDelay = myScope.ReadNumber
Debug.Print FormatNumber(varFftPhaseTimeDelay, 0)
:FUNCtion<F>:FFT:VUNits
Command :FUNCtion<F>:FFT:VUNits <units>
The :FUNCtion<F>:FFT:VUNits command specifies the vertical units for the FFT
magnitude function.
Query :FUNCtion<F>:FFT:VUNits?
:FUNCtion<F>:FFT:WINDow
Command :FUNCtion<F>:FFT:WINDow {RECTangular | HANNing | FLATtop
| BHARris | HAMMing}
The :FUNCtion<F>:FFT:WINDow command sets the window type for the FFT
function.
The FFT function assumes that the time record repeats. Unless there is an integral
number of cycles of the sampled waveform in the record, a discontinuity is created
at the beginning of the record. This introduces additional frequency components
into the spectrum about the actual peaks, which is referred to as spectral leakage.
To minimize spectral leakage, windows that approach zero smoothly at the
beginning and end of the record are employed as filters to the FFTs. Each window
is useful for certain classes of input waveforms.
• RECTangular — is essentially no window, and all points are multiplied by 1. This
window is useful for transient waveforms and waveforms where there are an
integral number of cycles in the time record.
• HANNing — is useful for frequency resolution and general purpose use. It is
good for resolving two frequencies that are close together, or for making
frequency measurements.
• FLATtop — is best for making accurate amplitude measurements of frequency
peaks.
• BHARris — (Blackman-Harris) is best used when you want to looks at signals
with a strong interference component that is fairly distant from the frequency
you want to see. It can be used as a general purpose window as its main lobe is
not too wide (decent frequency discrimination) and the side lobes drop off by
90 dB.
• HAMMing —is a "raised cosine" function like the HANNing window but with
different coefficients. It has slightly better frequency resolution than the
HANNing window.
<F> An integer, 1-16, representing the selected function. This command presently
selects all functions, regardless of which integer (1-16) is passed.
Example This example sets the window type for the FFT function to RECTangular.
myScope.WriteString ":FUNCtion1:FFT:WINDow RECTangular"
Query :FUNCtion<F>:FFT:WINDow?
Example This example places the current state of the function 1 FFT window in the string
variable, strWND, then prints the contents of the variable to the computer's
screen.
:FUNCtion<F>:FFTMagnitude
Command :FUNCtion<F>:FFTMagnitude <operand>
:FUNCtion<F>:FFTPhase
Command :FUNCtion<F>:FFTPhase <source>
:FUNCtion<F>:GATing — Gating
Command :FUNCtion<F>:GATing <operand>[,<gating_start>,<gating_stop>]
:FUNCtion<F>:GATing:GLOBal
Command :FUNCtion<F>:GATing:GLOBal <state>[, {GG1 | GG2 | GG3 | GG4}]
:FUNCtion<F>:HIGHpass
Command :FUNCtion<F>:HIGHpass <source>,<bandwidth>
:FUNCtion<F>:HORizontal
Command :FUNCtion<F>:HORizontal {AUTO | MANual}
Example This example places the current state of the function 1 horizontal tracking in the
string variable, strSetting, then prints the contents of the variable to the
computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":FUNCtion1:HORizontal?"
strSetting = myScope.ReadString
Debug.Print strSetting
:FUNCtion<F>:HORizontal:POSition
Command :FUNCtion<F>:HORizontal:POSition <position_value>
Example This example places the current horizontal position setting for function 2 in the
numeric variable, varValue, then prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":FUNCtion2:HORizontal:POSition?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
Version 6.00: For functions where the horizontal position cannot be adjusted, this
command now gives a -221,"Settings conflict" instead of being accepted without
effect.
:FUNCtion<F>:HORizontal:RANGe
Command :FUNCtion<F>:HORizontal:RANGe <range_value>
Example This example places the current horizontal range setting of function 2 in the
numeric variable, varValue, then prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":FUNCtion2:HORizontal:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
Version 6.00: For functions where the horizontal position cannot be adjusted, this
command now gives a -221,"Settings conflict" instead of being accepted without
effect.
:FUNCtion<F>:INTegrate
Command :FUNCtion<F>:INTegrate <operand>
:FUNCtion<F>:INVert
Command :FUNCtion<F>:INVert <operand>
:FUNCtion<F>:LABel
Command :FUNCtion<F>:LABel <quoted_string>
The :FUNCtion<F>:LABel command sets the math function waveform label to the
quoted string.
Labels can be enabled with the :DISPlay:LABel command.
<F> An integer, 1-16, representing the selected function.
<quoted_string> A series of 16 or fewer characters as a quoted ASCII string.
Query :FUNCtion<F>:LABel?
The :FUNCtion<F>:LABel? query returns the label of the specified math function
waveform.
Returned Format [:FUNCtion<F>:LABel] <quoted_string><NL>
:FUNCtion<F>:LOWPass
Command :FUNCtion<F>:LOWPass <source>,<bandwidth>
:FUNCtion<F>:MAGNify
Command :FUNCtion<F>:MAGNify <operand>
:FUNCtion<F>:MATLab
Command :FUNCtion<F>:MATLab <operand>[,<operand>]
:FUNCtion<F>:MATLab:CONTrol<N>
Command :FUNCtion<F>:MATLab:CONTrol<N> {<value> | <string>}
Query :FUNCtion<F>:MATLab:CONTrol<N>?
Example This example places the current returned value for function 1 control 1 in the string
variable, strSelection, then prints the contents of the variable to the computer's
screen.
:FUNCtion<F>:MATLab:OPERator
Command :FUNCtion<F>:MATLab:OPERator <string>
Query :FUNCtion<F>:MATLab:OPERator?
Example This example places the current operator string for function 1 in the string variable,
strSelection, then prints the contents of the variable to the computer's screen.
Dim strSelection As String ' Dimension variable.
myScope.WriteString ":FUNCtion1:MATLab:OPERator?"
strSelection = myScope.ReadString
Debug.Print strSelection
:FUNCtion<F>:MAXimum
Command :FUNCtion<F>:MAXimum <operand>
:FUNCtion<F>:MHIStogram
Command :FUNCtion<F>:MHIStogram {MEAS1 | MEAS2 | MEAS3 | ...
| MEAS20}[, <max_bins>[, {MIN | <min>}[, {MAX | <max>}]]]
Version 6.30: Added <min> and <max> parameters for specifying the histogram's
measurement minimum and measurement maximum.
:FUNCtion<F>:MINimum
Command :FUNCtion<F>:MINimum <operand>
:FUNCtion<F>:MLOG
Command :FUNCtion<F>:MLOG {MEAS1 | MEAS2 | MEAS3 | ... | MEAS20}
:FUNCtion<F>:MTRend
Command :FUNCtion<F>:MTRend {MEAS1 | MEAS2 | MEAS3 | ... | MEAS20}
:FUNCtion<F>:MULTiply
Command :FUNCtion<F>:MULTiply <operand>,<operand>
:FUNCtion<F>:OFFSet
Command :FUNCtion<F>:OFFSet <offset_value>
Query :FUNCtion<F>:OFFSet?
The :FUNCtion<F>:OFFSet? query returns the current offset value for the selected
function.
Returned Format [:FUNCtion<F>:OFFSet] <offset_value><NL>
Example This example places the current setting for offset on function 2 in the numeric
variable, varValue, then prints the result to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":FUNCtion2:OFFSet?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:FUNCtion<F>:PAVerage
Command :FUNCtion<F>:PAVerage <source>[, <num_averages>[, <pts_per_UI>]]
:FUNCtion<F>:RANGe
Command :FUNCtion<F>:RANGe <full_scale_range>
Query :FUNCtion<F>:RANGe?
The :FUNCtion<F>:RANGe? query returns the current full-scale range setting for
the specified function.
Returned Format [:FUNCtion<F>:RANGe] <full_scale_range><NL>
Example This example places the current range setting for function 2 in the numeric
variable "varValue", then prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":FUNCtion2:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:FUNCtion<F>:SMOoth
Command :FUNCtion<F>:SMOoth <operand>[,<points>]
:FUNCtion<F>:SQRT
Command :FUNCtion<F>:SQRT <operand>
:FUNCtion<F>:SQUare
Command :FUNCtion<F>:SQUare <operand>
:FUNCtion<F>:SUBTract
Command :FUNCtion<F>:SUBTract <operand>,<operand>
:FUNCtion<F>:VERSus
Command :FUNCtion<F>:VERSus <operand>,<operand>
:FUNCtion<F>:VERTical
Command :FUNCtion<F>:VERTical {AUTO | MANual}
Example This example places the current state of the vertical tracking of function 1 in the
string variable, strSetting, then prints the contents of the variable to the
computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":FUNCtion1:VERTical?"
strSetting = myScope.ReadString
Debug.Print strSetting
:FUNCtion<F>:VERTical:OFFSet
Command :FUNCtion<F>:VERTical:OFFSet <offset_value>
Example This example places the current offset setting for function 2 in the numeric
variable, varValue, then prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":FUNCtion2:VERTical:OFFSet?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:FUNCtion<F>:VERTical:RANGe
Command :FUNCtion<F>:VERTical:RANGe <full_scale_range>
Example This example places the current vertical range setting of function 2 in the numeric
variable, varValue, then prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":FUNCtion2:VERTical:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:FUNCtion<F>:VERTical:SIZE
Command :FUNCtion<F>:VERTical:SIZE <size>
21 Hardcopy Commands
:HARDcopy:AREA / 646
:HARDcopy:DPRinter / 647
:HARDcopy:FACTors / 648
:HARDcopy:IMAGe / 649
:HARDcopy:PRINters? / 650
The HARDcopy subsystem commands set various parameters for printing the
screen. The print sequence is activated when the root level command :PRINt is
sent.
645
21 Hardcopy Commands
:HARDcopy:AREA
Command :HARDcopy:AREA {GRATicule | SCReen}
Query :HARDcopy:AREA?
The :HARDcopy:AREA? query returns the current setting for the area of the screen
to be printed.
Returned Format [:HARDcopy:AREA] {GRATicule | SCReen}<NL>
Example This example places the current selection for the area to be printed in the string
variable, strSelection, then prints the contents of the variable to the computer's
screen.
Dim strSelection As String ' Dimension variable.
myScope.WriteString ":HARDcopy:AREA?"
strSelection = myScope.ReadString
Debug.Print strSelection
:HARDcopy:DPRinter
Command :HARDcopy:DPRinter {<printer_number> | <printer_string>}
This example sets the default printer to the installed printer with the name
"HP Laser".
myScope.WriteString ":HARDcopy:DPRinter ""HP Laser"""
Query :HARDcopy:DPRinter?
The :HARDcopy:DPRinter? query returns the current printer number and string.
Returned Format [:HARDcopy:DPRinter?] {<printer_number>,<printer_string>,DEFAULT}<NL>
Or, if there is no default printer (no printers are installed), only a <NL> is returned.
Example This example places the current setting for the hard copy printer in the string
variable, strSetting, then prints the contents of the variable to the computer's
screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":HARDcopy:DPRinter?"
strSetting = myScope.ReadString
Debug.Print strSetting
It takes several seconds to change the default printer. Any programs that try to set the default
N OT E
printer must wait (10 seconds is a safe amount of time) for the change to complete before
sending other commands. Otherwise, the oscilloscope will become unresponsive.
:HARDcopy:FACTors
Command :HARDcopy:FACTors {{ON | 1} | {OFF | 0}}
Query :HARDcopy:FACTors?
Example This example places the current setting for the setup factors in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":HARDcopy:FACTors?"
strSetting = myScope.ReadString
Debug.Print strSetting
:HARDcopy:IMAGe
Command :HARDcopy:IMAGe {NORMal | INVert}
Query :HARDcopy:IMAGe?
Example This example places the current setting for the hard copy image in the string
variable, strSetting, then prints the contents of the variable to the computer's
screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":HARDcopy:IMAGe?"
strSetting = myScope.ReadString
Debug.Print strSetting
:HARDcopy:PRINters?
Query :HARDcopy:PRINters?
myScope.WriteString ":HARDcopy:PRINters?"
varResults = myScope.ReadList(ASCIIType_BSTR, vbLf)
Debug.Print FormatNumber(varResults(0), 0)
22 Histogram Commands
:HISTogram:AXIS / 653
:HISTogram:HORizontal:BINS / 654
:HISTogram:MEASurement:BINS / 655
:HISTogram:MEASurement:MAX / 656
:HISTogram:MEASurement:MIN / 657
:HISTogram:MODE / 658
:HISTogram:SCALe:SIZE / 659
:HISTogram:VERTical:BINS / 660
:HISTogram:WINDow:DEFault / 661
:HISTogram:WINDow:SOURce / 662
:HISTogram:WINDow:LLIMit / 663
:HISTogram:WINDow:RLIMit / 664
:HISTogram:WINDow:BLIMit / 665
:HISTogram:WINDow:TLIMit / 666
651
22 Histogram Commands
pixel. The maximum count (saturation) for each counter is 2,097,151. You can use
the DISPlay:CGRade:LEVels command to see if any of the counters are close to
saturation.
The database continues to build until the oscilloscope stops acquiring data or all
both features (color grade persistence and histograms) are turned off. You can
clear the database by turning off all three features that use the database.
The database does not differentiate waveforms from different channels or
functions. If three channels are on and the waveform from each channel happens
to light the same pixel at the same time, the counter is incremented by three.
However, it is not possible to tell how many hits came from each waveform. To
separate waveforms, you can position the waveforms vertically with the channel
offset. By separating the waveforms, you can avoid overlapping data in the
database caused by multiple waveforms. Even if the display is set to show only the
most recent acquisition, the database keeps track of all pixel hits while the
database is building.
Remember that color grade persistence, mask testing, and histograms all use the
same database. Suppose that the database is building because color grade
persistence is ON; when mask testing or histograms are turned on, they can use
the information already established in the database as though they had been
turned on the entire time.
To avoid erroneous data, clear the display after you change oscilloscope setup
conditions or DUT conditions and acquire new data before extracting
measurement results.
:HISTogram:AXIS
Command :HISTogram:AXIS {VERTical | HORizontal}
Query :HISTogram:AXIS?
Example This example returns the histogram type and prints it to the computer's screen.
Dim strAxis As String
myScope.WriteString ":HISTogram:AXIS?"
strAxis = myScope.ReadString
Debug.Print strAxis
:HISTogram:HORizontal:BINS
Command :HISTogram:HORizontal:BINS <max_bins>
:HISTogram:MEASurement:BINS
Command :HISTogram:MEASurement:BINS <max_bins>
:HISTogram:MEASurement:MAX
Command :HISTogram:MEASurement:MAX {MAX | <max>)
:HISTogram:MEASurement:MIN
Command :HISTogram:MEASurement:MIN {MIN | <min>}
:HISTogram:MODE
Command :HISTogram:MODE {OFF | MEASurement | WAVeforms}
The MEASurement parameter is available only when the Jitter Analysis Software license is
N OT E
installed.
The :HISTogram:MODE command selects the histogram mode. The histogram may
be off, set to track the waveforms, or set to track the measurement when the Jitter
Analysis Software license is installed. When the Jitter Analysis Software license is
installed, sending the :MEASure:JITTer:HISTogram ON command will
automatically set :HISTOgram:MODE to MEASurement.
Example This example sets the histogram mode to track the waveform.
myScope.WriteString ":HISTogram:MODE WAVeform"
Query :HISTogram:MODE?
Example This example returns the result of the mode query and prints it to the computer's
screen.
Dim strMode As String
myScope.WriteString ":HISTogram:MODE?"
strMode = myScope.ReadString
Debug.Print strMode
:HISTogram:SCALe:SIZE
Command :HISTogram:SCALe:SIZE <size>
Query :HISTogram:SCALe:SIZE?
Example This example returns the result of the size query and prints it to the computer's
screen.
Dim strSize As String
myScope.WriteString ":HISTogram:SCALe:SIZE?"
strSize = myScope.ReadString
Debug.Print strSize
:HISTogram:VERTical:BINS
Command :HISTogram:VERTical:BINS <max_bins>
:HISTogram:WINDow:DEFault
Command :HISTogram:WINDow:DEFault
:HISTogram:WINDow:SOURce
Command :HISTogram:WINDow:SOURce {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R> | CLOCk | EQUalized<L> | MTRend
| MSPectrum | XT<X>}
Query :HISTogram:WINDow:SOURce?
Example This example returns the result of the window source query and prints it to the
computer's screen.
Dim strWinsour As String
myScope.WriteString ":HISTogram:WINDow:SOURce?"
strWinsour = myScope.ReadString
Debug.Print strWinsour
:HISTogram:WINDow:LLIMit
Command :HISTogram:WINDow:LLIMit <left_limit>
Query :HISTogram:WINDow:LLIMit?
Example This example returns the result of the left limit position query and prints it to the
computer's screen.
Dim strLL As String
myScope.WriteString ":HISTogram:WINDow:LLIMit?"
strLL = myScope.ReadString
Debug.Print strLL
:HISTogram:WINDow:RLIMit
Command :HISTogram:WINDow:RLIMit <right_limit>
Query :HISTogram:WINDow:RLIMit?
Example This example returns the result of the Bx position query and prints it to the
computer's screen.
Dim strRL As String
myScope.WriteString ":HISTogram:WINDow:RLIMit?"
strRL = myScope.ReadString
Debug.Print strRL
:HISTogram:WINDow:BLIMit
Command :HISTogram:WINDow:BLIMit <bottom_limit>
Query :HISTogram:WINDow:BLIMit?
Example This example returns the result of the Ay position query and prints it to the
computer's screen.
Dim strBL As String
myScope.WriteString ":HISTogram:WINDow:BLIMit?"
strBL = myScope.ReadString
Debug.Print strBL
:HISTogram:WINDow:TLIMit
Command :HISTogram:WINDow:TLIMit <top_limit>
Query :HISTogram:WINDow:TLIMit?
Example This example returns the result of the By position query and prints it to the
computer's screen.
Dim strTL As String
myScope.WriteString ":HISTogram:WINDow:TLIMit?"
strTL = myScope.ReadString
Debug.Print strTL
23 Hosted Commands
:HOSTed:CALibrate:CALibrate / 669
:HOSTed:CALibrate:CHANnel / 670
:HOSTed:CALibrate:DESKew:CHANnels / 671
:HOSTed:CALibrate:DESKew:FRAMes / 672
:HOSTed:CALibrate:DESKew:SIGNals / 673
:HOSTed:CALibrate:DESKew:ZERO / 674
:HOSTed:CALibrate:LEVel / 675
:HOSTed:CALibrate:PROMpt / 677
:HOSTed:CALibrate:STATus:CHANnels? / 678
:HOSTed:CALibrate:STATus:FRAMes? / 679
:HOSTed:CALibrate:STATus:LEVel? / 680
:HOSTed:CALibrate:STATus:SIGNals? / 681
:HOSTed:CALibrate:TREF:DETect / 682
:HOSTed:FOLLower<N>:ACHannels? / 683
:HOSTed:FOLLower<N>:CONFigure / 684
:HOSTed:FOLLower<N>:CONNect / 685
:HOSTed:FOLLower<N>:DISConnect / 686
:HOSTed:LEADer:ACHannels? / 687
:HOSTed:LEADer:CONFigure / 688
:HOSTed:LEADer:CONNect / 689
:HOSTed:LEADer:DISConnect / 690
:HOSTed:NCONnected? / 691
:HOSTed:PERiodic / 692
The commands in the HOSTed subsystem are used to configure and manage the
list of oscilloscopes in a MultiScope system.
MultiScope systems can combine up to 10 Infiniium oscilloscopes to create an
oscilloscope system with up to 40 time-synchronized channels.
667
23 Hosted Commands
:HOSTed:CALibrate:CALibrate
Command :HOSTed:CALibrate:CALibrate
:HOSTed:CALibrate:CHANnel
Command :HOSTed:CALibrate:CHANnel <source>
:HOSTed:CALibrate:DESKew:CHANnels
Command :HOSTed:CALibrate:DESKew:CHANnels
:HOSTed:CALibrate:DESKew:FRAMes
Command :HOSTed:CALibrate:DESKew:FRAMes
:HOSTed:CALibrate:DESKew:SIGNals
Command :HOSTed:CALibrate:DESKew:SIGNals
Given a common edge on configured channels in the MultiScope system, send the
:HOSTed:CALibrate:DESKew:SIGNals command to align the horizontal positions of
the closest rising edges of all input signals.
This is typically used for demonstration or quick verification purposes, but can also
be a quick alternative to the system deskew process if your SUT (signals under
test) are already connected and have the necessary rising edges.
To get the status of the calibration, use the :HOSTed:CALibrate:STATus:SIGNals?
query.
See Also • ":HOSTed:CALibrate:CALibrate" on page 669
• ":HOSTed:CALibrate:CHANnel" on page 670
• ":HOSTed:CALibrate:DESKew:FRAMes" on page 672
• ":HOSTed:CALibrate:DESKew:CHANnels" on page 671
• ":HOSTed:CALibrate:DESKew:ZERO" on page 674
• ":HOSTed:CALibrate:LEVel" on page 675
• ":HOSTed:CALibrate:PROMpt" on page 677
• ":HOSTed:CALibrate:STATus:CHANnels?" on page 678
• ":HOSTed:CALibrate:STATus:FRAMes?" on page 679
• ":HOSTed:CALibrate:STATus:LEVel?" on page 680
• ":HOSTed:CALibrate:STATus:SIGNals?" on page 681
• ":HOSTed:CALibrate:TREF:DETect" on page 682
History New in version 5.50.
:HOSTed:CALibrate:DESKew:ZERO
Command :HOSTed:CALibrate:DESKew:ZERO
:HOSTed:CALibrate:LEVel
Command :HOSTed:CALibrate:LEVel <level>
:HOSTed:CALibrate:PROMpt
Command :HOSTed:CALibrate:PROMpt {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:HOSTed:CALibrate:STATus:CHANnels?
Query :HOSTed:CALibrate:STATus:CHANnels?
:HOSTed:CALibrate:STATus:FRAMes?
Query :HOSTed:CALibrate:STATus:FRAMes?
:HOSTed:CALibrate:STATus:LEVel?
Query :HOSTed:CALibrate:STATus:LEVel?
:HOSTed:CALibrate:STATus:SIGNals?
Query :HOSTed:CALibrate:STATus:SIGNals?
:HOSTed:CALibrate:TREF:DETect
Command :HOSTed:CALibrate:TREF:DETect
:HOSTed:FOLLower<N>:ACHannels?
Query :HOSTed:FOLLower<N>:ACHannels?
:HOSTed:FOLLower<N>:CONFigure
Command :HOSTed:FOLLower<N>:CONFigure {"<instrument_VISA_string>"
| "Simulated Instrument"}
:HOSTed:FOLLower<N>:CONNect
Command :HOSTed:FOLLower<N>:CONNect
:HOSTed:FOLLower<N>:DISConnect
Command :HOSTed:FOLLower<N>:DISConnect
:HOSTed:LEADer:ACHannels?
Query :HOSTed:LEADer:ACHannels?
:HOSTed:LEADer:CONFigure
Command :HOSTed:LEADer:CONFigure "<instrument_VISA_string>"
:HOSTed:LEADer:CONNect
Command :HOSTed:LEADer:CONNect
:HOSTed:LEADer:DISConnect
Command :HOSTed:LEADer:DISConnect
:HOSTed:NCONnected?
Query :HOSTed:NCONnected?
:HOSTed:PERiodic
Command :HOSTed:PERiodic <drift_corr>
24 InfiniiScan (ISCan)
Commands
:ISCan:DELay / 694
:ISCan:MEASurement:FAIL / 695
:ISCan:MEASurement:LLIMit / 696
:ISCan:MEASurement / 697
:ISCan:MEASurement:ULIMit / 698
:ISCan:MODE / 699
:ISCan:NONMonotonic:EDGE / 700
:ISCan:NONMonotonic:HYSTeresis / 701
:ISCan:NONMonotonic:SOURce / 702
:ISCan:RUNT:HYSTeresis / 703
:ISCan:RUNT:LLEVel / 704
:ISCan:RUNT:SOURce / 705
:ISCan:RUNT:ULEVel / 706
:ISCan:SERial:PATTern / 707
:ISCan:SERial:SOURce / 708
:ISCan:ZONE:HIDE / 709
:ISCan:ZONE:SOURce / 710
:ISCan:ZONE<Z>:MODE / 711
:ISCan:ZONE<Z>:PLACement / 712
:ISCan:ZONE<Z>:SOURce / 713
:ISCan:ZONE<Z>:STATe / 714
The ISCan commands and queries control the InfiniiScan feature of the
oscilloscope. InfiniiScan provides several ways of searching through the waveform
data to find unique events.
693
24 InfiniiScan (ISCan) Commands
:ISCan:DELay
Command :ISCan:DELay {OFF | <delay_time>}
The :ISCan:DELay command sets the delay time from when the hardware trigger
occurs and when InfiniiScan tries to find the waveform event that has been
defined.
OFF Turns off the delay from the hardware trigger.
<delay_time> Sets the amount of time that the InfiniiScan trigger is delayed from the hardware
trigger.
Example The following example causes the oscilloscope to delay by 1 ms.
myScope.WriteString ":ISCan:DELay 1E-06"
Query :ISCan:DELay?
Example The following example returns the current delay value and prints the result to the
controller's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:DELay?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:ISCan:MEASurement:FAIL
Command :ISCan:MEASurement:FAIL {INSide | OUTSide}
Query :ISCan:MEASurement:FAIL?
Example The following example returns the current fail condition and prints the result to the
controller's screen.
Dim strFAIL As String
myScope.WriteString ":ISCan:MEASurement:FAIL?"
strFAIL = myScope.ReadString
Debug.Print strFAIL
:ISCan:MEASurement:LLIMit
Command :ISCan:MEASurement:LLIMit <lower_value>
The :ISCan:MEASurement:LLIMit (lower limit) command sets the lower test limit
for the currently selected measurement. The :ISCan:MEASurement command
selects the measurement used.
<lower_value> A real number.
Example The following example sets the lower test limit to 1.0.
myScope.WriteString ":ISCan:MEASurement:LLIMit 1.0"
If, for example, you chose to measure volts peak-peak and want the smallest
acceptable signal swing to be one volt, you could use the above command, then
set the measurement limit to trigger when the signal is outside the specified limit.
Query :ISCan:MEASurement:LLIMit?
Example The following example returns the current lower test limit and prints the result to
the controller's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:MEASurement:LLIMit?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:ISCan:MEASurement
Command :ISCan:MEASurement {MEAS1 | MEAS2 | MEAS3 | ... | MEAS20}
Query :ISCan:MEASurement?
Example The following example returns the currently selected measurement source for the
limit testing commands.
Dim strSOURCE As String
myScope.WriteString ":ISCan:MEASurement?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
See Also Measurements are started by the commands in the Measurement Subsystem.
History Legacy command (existed before version 3.10).
Version 5.00: Now 20 measurements to choose from.
:ISCan:MEASurement:ULIMit
Command :ISCan:MEASurement:ULIMit <upper_value>
The :ISCan:MEASurement:ULIMit (upper limit) command sets the upper test limit
for the active measurement currently selected by the :ISCan:MEASurement
command.
<upper_value> A real number.
Example The following example sets the upper limit of the currently selected measurement
to 500 mV.
myScope.WriteString ":ISCan:MEASurement:ULIMit 500E-3"
Suppose you are measuring the maximum voltage of a signal with Vmax, and that
voltage should not exceed 500 mV. You can use the above program and set the
:ISCan:MEASurement:FAIL OUTside command to specify that the oscilloscope will
trigger when the voltage exceeds 500 mV.
Query :ISCan:MEASurement:ULIMit?
The query returns the current upper limit of the limit test.
Returned Format [:ISCan:MEASurement:ULIMit] <upper_value><NL>
Example The following example returns the current upper limit of the limit test and prints
the result to the controller's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:MEASurement:ULIMit?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:ISCan:MODE
Command :ISCan:MODE {OFF | MEASurement | NONMonotonic | RUNT | SERial | ZONE}
Query :ISCan:MODE?
Example The following example returns the currently selected InfiniiScan trigger mode.
Dim strMODE As String
myScope.WriteString ":ISCan:MODE?"
strMODE = myScope.ReadString
Debug.Print strMODE
:ISCan:NONMonotonic:EDGE
Command :ISCan:NONMonotonic:EDGE {EITHer | FALLing | RISing}
Query :ISCan:NONMonotonic:EDGE?
The query returns the currently selected edge type for the Non-Monotonic Edge
trigger.
Returned Format [:ISCan:NONMonotonic:EDGE]{EITHer | FALLing | RISing}<NL>
Example The following example returns the currently selected edge type used for the
Non-monotonic Edge trigger mode.
Dim strSOURCE As String
myScope.WriteString ":ISCan:NONMonotonic:EDGE?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
:ISCan:NONMonotonic:HYSTeresis
Command :ISCan:NONMonotonic:HYSTeresis <value>
Query :ISCan:NONMonotonic:HYSTersis?
The query returns the hysteresis value used by the Non-monotonic Edge trigger
mode.
Returned Format [:ISCan:NONMonotonic:HYSTeresis]<value><NL>
Example The following example returns and prints the value of the hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:NONMonotonic:HYSTeresis?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:ISCan:NONMonotonic:SOURce
Command :ISCan:NONMonotonic:SOURce CHANnel<N>
Query :ISCan:NONMonotonic:SOURce?
The query returns the source used by the Non-monotonic Edge trigger mode.
Returned Format [:ISCan:NONMonotonic:SOURce] CHANnel<N><NL>
Example The following example returns the currently selected source for the
Non-monotonic Edge trigger mode.
Dim strSOURCE As String
myScope.WriteString ":ISCan:NONMonotonic:SOURce?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
:ISCan:RUNT:HYSTeresis
Command :ISCan:RUNT:HYSTeresis <value>
The :ISCan:RUNT:HYSTeresis command sets the hysteresis value used for the Runt
trigger.
<value> is a real number for the hysteresis.
Example The following example sets the hysteresis value used by the Runt trigger mode to
10 mV.
myScope.WriteString ":ISCan:RUNT:HYSTeresis 1E-2"
Query :ISCan:RUNT:HYSTersis?
The query returns the hysteresis value used by the Runt trigger mode.
Returned Format [:ISCan:RUNT:HYSTeresis]<value><NL>
Example The following example returns and prints the value of the hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:RUNT:HYSTeresis?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:ISCan:RUNT:LLEVel
Command ISCan:RUNT:LLEVel <lower_level>
The :ISCan:RUNT:LLEVel (lower level) command sets the lower level limit for the
Runt trigger mode.
<lower_level> A real number.
Example The following example sets the lower level limit to 1.0 V.
myScope.WriteString ":ISCan:RUNT:LLEVel 1.0"
Query :ISCan:RUNT:LLEVel?
The query returns the lower level limit set by the command.
Returned Format [:ISCan:RUNT:LLEVel] <lower_level><NL>
Example The following example returns the current lower level used by the Runt trigger and
prints the result to the controller's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:RUNT:LLEVel?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:ISCan:RUNT:SOURce
Command :ISCan:RUNT:SOURce CHANnel<N>
The :ISCan:RUNT:SOURce command sets the source used for the Runt trigger.
<N> is an integer from 1-4.
Example The following example sets the source used by the Runt trigger mode to channel
1.
myScope.WriteString ":ISCan:RUNT:SOURce CHANnel1"
Query :ISCan:RUNT:SOURce?
The query returns the source used by the Runt trigger mode.
Returned Format [:ISCan:RUNT:SOURce] CHANnel<N><NL>
Example The following example returns the currently selected source for the Runt trigger
mode.
Dim strSOURCE As String
myScope.WriteString ":ISCan:RUNT:SOURce?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
:ISCan:RUNT:ULEVel
Command :ISCan:RUNT:ULEVel <upper_level>
The :ISCan:RUNT:ULEVel (upper level) command sets the upper level limit for the
Runt trigger mode.
<upper_level> A real number.
Example The following example sets the upper level value used by the Runt trigger mode to
500 mV.
myScope.WriteString ":ISCan:RUNT:ULEVel 500E-3"
Query :ISCan:RUNT:ULEVel?
The query returns the current upper level value used by the Runt trigger.
Returned Format [:ISCan:RUNT:ULEVel] <upper_level><NL>
Example The following example returns the current upper level used by the Runt trigger and
prints the result to the controller's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:RUNT:ULEVel?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:ISCan:SERial:PATTern
Command :ISCan:SERial:PATTern "<pattern>"
The :ISCan:SERial:PATTern command sets the pattern used for the Serial trigger.
<pattern> is a 1, 0, or X binary character string of up to 80 characters. The pattern can only
be expressed in the binary format.
Example The following example sets the pattern used by the Serial trigger to 101100.
myScope.WriteString ":ISCan:SERial:PATTern ""101100"""
Query :ISCan:SERial:PATTern?
The query returns the pattern used by the Serial trigger mode.
Returned Format [:ISCan:SERial:PATTern] <pattern><NL>
Example The following example returns the currently selected pattern for the Serial trigger
mode.
Dim strPATTERN As String
myScope.WriteString ":ISCan:SERial:PATTern?"
strPATTERN = myScope.ReadString
Debug.Print strPATTERN
:ISCan:SERial:SOURce
Command :ISCan:SERial:SOURce CHANnel<N>
The :ISCan:SERial:SOURce command sets the source used for the Serial trigger.
<N> is an integer from 1-4.
Example The following example sets the source used by the Serial trigger mode to channel
1.
myScope.WriteString ":ISCan:SERial:SOURce CHANnel1"
Query :ISCan:SERial:SOURce?
The query returns the source used by the Serial trigger mode.
Returned Format [:ISCan:SERial:SOURce]CHANnel<N><NL>
Example The following example returns the currently selected source for the Serial trigger
mode.
Dim strSOURCE As String
myScope.WriteString ":ISCan:SERial:SOURce?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
:ISCan:ZONE:HIDE
Command :ISCan:ZONE:HIDE {{ON | 1} | {OFF | 0}}
The :ISCan:ZONE:HIDE command lets you hide or show all InfiniiScan zones on the
display.
Example The following example hides all InfiniiScan zones on the display.
myScope.WriteString ":ISCan:ZONE:HIDE ON"
Query :ISCan:ZONE:HIDE?
Example The following example returns the current zone hide setting.
Dim strHide As String
myScope.WriteString ":ISCan:ZONE:HIDE?"
strHide = myScope.ReadString
Debug.Print strHide
:ISCan:ZONE:SOURce
Command :ISCan:ZONE:SOURce CHANnel<N>
The :ISCan:ZONE:SOURce command sets the source for all zones used in the zone
qualify trigger.
<N> An integer from 1-4.
Example The following example sets the source used by all zones in the zone qualify trigger
to channel 1.
myScope.WriteString ":ISCan:ZONE:SOURce CHANnel1"
Query :ISCan:ZONE:SOURce?
The query returns the source used for all zones in the zone qualify trigger.
Returned Format [:ISCan:ZONE:SOURce] CHANnel<N><NL>
Example The following example returns the currently selected source for all zones in the
zone qualify trigger.
Dim strSOURCE As String
myScope.WriteString ":ISCan:ZONE:SOURce?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
:ISCan:ZONE<Z>:MODE
Command :ISCan:ZONE<Z>:MODE {INTersect | NOTintersect | OINTersect | ONOT}
The :ISCan:ZONE<Z>:MODE command sets the Zone Qualify trigger mode. For the
INTersect mode, the waveform must enter the zone region to qualify as a valid
waveform. For NOTintersect mode, the waveform cannot enter a zone region to
qualify as a valid waveform.
<Z> An integer from 1-8.
Example The following example sets the mode to intersect for zone 1.
myScope.WriteString ":ISCan:ZONE1:MODE INTersect"
Query :ISCan:ZONE<Z>:MODE?
Example The following example returns the currently selected mode for zone 1.
Dim strMODE As String
myScope.WriteString ":ISCan:ZONE1:MODE?"
strMODE = myScope.ReadString
Debug.Print strMODE
:ISCan:ZONE<Z>:PLACement
Command :ISCan:ZONE<Z>:PLACement <width>,<height>,<x_center>,<y_center>
Query :ISCan:ZONE<Z>:PLACement?
Example The following example returns the current placement values for zone 1.
Dim strPLACEMENT As String
myScope.WriteString ":ISCan:ZONE1:PLACement?"
strPLACEMENT = myScope.ReadString
Debug.Print strPLACEMENT
:ISCan:ZONE<Z>:SOURce
Command :ISCan:ZONE<Z>:SOURce CHANnel<N>
The :ISCan:ZONE<Z>:SOURce command sets the source used for a particular zone
in the zone qualify trigger.
<Z> An integer from 1-8.
<N> An integer from 1-4.
Example The following example sets the source used by zone 1 to channel 1.
myScope.WriteString ":ISCan:ZONE1:SOURce CHANnel1"
Query :ISCan:ZONE<Z>:SOURce?
Example The following example returns the currently selected source for zone 1.
Dim strSOURCE As String
myScope.WriteString ":ISCan:ZONE1:SOURce?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
:ISCan:ZONE<Z>:STATe
Command :ISCan:ZONE<Z>:STATe {{ON | 1} | {OFF | 0}}
The :ISCan:ZONE<Z>:STATe command turns a zone off or on for the zone qualify
trigger.
<Z> An integer from 1-8.
Example The following example turns on zone 2.
myScope.WriteString ":ISCan:ZONE2:STATe ON"
Query :ISCan:ZONE<Z>:STATe?
Example The following example returns the current state value for zone 2.
Dim strSTATE As String
myScope.WriteString ":ISCan:ZONE2:STATe?"
strSTATE = myScope.ReadString
Debug.Print strSTATE
25 Lane (Equalization)
Commands
:LANE<N>:COPYto / 717
:LANE<N>:EQUalizer:CTLE:ACGain / 718
:LANE<N>:EQUalizer:CTLE:DCGain / 719
:LANE<N>:EQUalizer:CTLE:NUMPoles / 720
:LANE<N>:EQUalizer:CTLE:P1 / 721
:LANE<N>:EQUalizer:CTLE:P2 / 722
:LANE<N>:EQUalizer:CTLE:P3 / 723
:LANE<N>:EQUalizer:CTLE:P4 / 724
:LANE<N>:EQUalizer:CTLE:P5 / 725
:LANE<N>:EQUalizer:CTLE:P6 / 726
:LANE<N>:EQUalizer:CTLE:RATE / 727
:LANE<N>:EQUalizer:CTLE:STATe / 728
:LANE<N>:EQUalizer:CTLE:Z1 / 729
:LANE<N>:EQUalizer:CTLE:Z2 / 730
:LANE<N>:EQUalizer:DFE:NTAPs / 731
:LANE<N>:EQUalizer:DFE:STATe / 732
:LANE<N>:EQUalizer:DFE:TAP / 733
:LANE<N>:EQUalizer:DFE:TAP:AUTomatic / 734
:LANE<N>:EQUalizer:DFE:TAP:DELay / 735
:LANE<N>:EQUalizer:DFE:TAP:DELay:AUTomatic / 736
:LANE<N>:EQUalizer:DFE:TAP:GAIN / 737
:LANE<N>:EQUalizer:DFE:TAP:LTARget / 738
:LANE<N>:EQUalizer:DFE:TAP:MAX / 739
:LANE<N>:EQUalizer:DFE:TAP:MAXV / 740
:LANE<N>:EQUalizer:DFE:TAP:MIN / 741
:LANE<N>:EQUalizer:DFE:TAP:MINV / 742
:LANE<N>:EQUalizer:DFE:TAP:NORMalize / 743
:LANE<N>:EQUalizer:DFE:TAP:UTARget / 744
:LANE<N>:EQUalizer:DFE:TAP:WIDTh / 745
:LANE<N>:EQUalizer:DFE:THReshold:BANDwidth / 746
715
25 Lane (Equalization) Commands
:LANE<N>:EQUalizer:DFE:THReshold:BWMode / 747
:LANE<N>:EQUalizer:DFE:THReshold:DELay / 748
:LANE<N>:EQUalizer:FFE:BANDwidth / 749
:LANE<N>:EQUalizer:FFE:BWMode / 750
:LANE<N>:EQUalizer:FFE:NPRecursor / 751
:LANE<N>:EQUalizer:FFE:NTAPs / 752
:LANE<N>:EQUalizer:FFE:RATE / 753
:LANE<N>:EQUalizer:FFE:STATe / 754
:LANE<N>:EQUalizer:FFE:TAP / 755
:LANE<N>:EQUalizer:FFE:TAP:AUTomatic / 756
:LANE<N>:EQUalizer:FFE:TAP:DELay / 757
:LANE<N>:EQUalizer:FFE:TAP:WIDTh / 758
:LANE<N>:EQUalizer:FFE:TDELay / 759
:LANE<N>:EQUalizer:FFE:TDMode / 760
:LANE<N>:EQUalizer:LOCation / 761
:LANE<N>:SOURce / 762
:LANE<N>:STATe / 763
:LANE<N>:VERTical / 764
:LANE<N>:VERTical:OFFSet / 765
:LANE<N>:VERTical:RANGe / 766
:LANE<N>:COPYto
Command :LANE<N>:COPYto LANE<L>
:LANE<N>:EQUalizer:CTLE:ACGain
Command :LANE<N>:EQUalizer:CTLE:ACGain <ac_gain>
Query :LANE<N>:EQUalizer:CTLE:ACGain?
:LANE<N>:EQUalizer:CTLE:DCGain
Command :LANE<N>:EQUalizer:CTLE:DCGain <dc_gain>
Query :LANE<N>:EQUalizer:CTLE:DCGain?
:LANE<N>:EQUalizer:CTLE:NUMPoles
Command :LANE<N>:EQUalizer:CTLE:NUMPoles {{P2Z1 | POLE2} | {P3Z1 | POLE3}
| P3Z2 | P4Z1 | {P2ACG | USB31}}
Query :LANE<N>:EQUalizer:CTLE:NUMPoles?
:LANE<N>:EQUalizer:CTLE:P1
Command :LANE<N>:EQUalizer:CTLE:P1 <pole1_freq>
Query :LANE<N>:EQUalizer:CTLE:P1?
:LANE<N>:EQUalizer:CTLE:P2
Command :LANE<N>:EQUalizer:CTLE:P2 <pole2_freq>
Query :LANE<N>:EQUalizer:CTLE:P2?
:LANE<N>:EQUalizer:CTLE:P3
Command :LANE<N>:EQUalizer:CTLE:P3 <pole3_freq>
Query :LANE<N>:EQUalizer:CTLE:P3?
:LANE<N>:EQUalizer:CTLE:P4
Command :LANE<N>:EQUalizer:CTLE:P4 <pole4_freq>
Query :LANE<N>:EQUalizer:CTLE:P4?
:LANE<N>:EQUalizer:CTLE:P5
Command :LANE<N>:EQUalizer:CTLE:P5 <pole5_freq>
Query :LANE<N>:EQUalizer:CTLE:P5?
:LANE<N>:EQUalizer:CTLE:P6
Command :LANE<N>:EQUalizer:CTLE:P6 <pole6_freq>
Query :LANE<N>:EQUalizer:CTLE:P6?
:LANE<N>:EQUalizer:CTLE:RATE
Command :LANE<N>:EQUalizer:CTLE:RATE <data_rate>
The :LANE<N>:EQUalizer:CTLE:RATE command sets the data rate for the CTLE
equalizer.
<data_rate> A real number.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), a symbol rate (baud)
is specified instead of a data rate (b/s).
Example This example sets the CTLE data rate to 3e9.
myScope.WriteString ":LANE1:EQUalizer:CTLE:RATE 3e9"
Query :LANE<N>:EQUalizer:CTLE:RATE?
:LANE<N>:EQUalizer:CTLE:STATe
Command :LANE<N>:EQUalizer:CTLE:STATe {(OFF | 0) | (ON | 1)}
Query :LANE<N>:EQUalizer:CTLE:STATe?
:LANE<N>:EQUalizer:CTLE:Z1
Command :LANE<N>:EQUalizer:CTLE:Z1 <zero_freq_1>
The :LANE<N>:EQUalizer:CTLE:Z1 command sets the first zero frequency for the
3-pole Continuous Time Linear Equalization.
<zero_freq_1> A real number in NR3 format.
Example This example sets the 3-pole CTLE's first zero frequency to 900 MHz.
myScope.WriteString ":LANE1:EQUalizer:CTLE:Z1 650e6"
Query :LANE<N>:EQUalizer:CTLE:Z1?
:LANE<N>:EQUalizer:CTLE:Z2
Command :LANE<N>:EQUalizer:CTLE:Z2 <zero_freq_2>
Query :LANE<N>:EQUalizer:CTLE:Z2?
:LANE<N>:EQUalizer:DFE:NTAPs
Command :LANE<N>:EQUalizer:DFE:NTAPs <number>
Query :LANE<N>:EQUalizer:DFE:NTAPs?
:LANE<N>:EQUalizer:DFE:STATe
Command :LANE<N>:EQUalizer:DFE:STATe {(OFF | 0) | (ON | 1)}
Query :LANE<N>:EQUalizer:DFE:STATe?
:LANE<N>:EQUalizer:DFE:TAP
Command :LANE<N>:EQUalizer:DFE:TAP <tap>, <value>
The :LANE<N>:EQUalizer:DFE:TAP command sets the tap value for each DFE tap.
For example, when <tap> is equal to 1 then the 1st tap is set to <value>.
DFE tap indices always start at 1 and extend to the number of taps.
<tap> The tap number.
<value> The tap value
Example This example sets the DFE Tap 1 to 0.432.
myScope.WriteString ":LANE1:EQUalizer:DFE:TAP 1,0.432"
:LANE<N>:EQUalizer:DFE:TAP:AUTomatic
Command :LANE<N>:EQUalizer:DFE:TAP:AUTomatic
:LANE<N>:EQUalizer:DFE:TAP:DELay
Command :LANE<N>:EQUalizer:DFE:TAP:DELay <delay>
:LANE<N>:EQUalizer:DFE:TAP:DELay:AUTomatic
Command :LANE<N>:EQUalizer:DFE:TAP:DELay:AUTomatic
:LANE<N>:EQUalizer:DFE:TAP:GAIN
Command :LANE<N>:EQUalizer:DFE:TAP:GAIN <gain>
The eye diagram drawn after DFE is applied is attenuated. To amplify the eye back
to its original size (so you can directly compare the eye at the receiver to the eye at
the transmitter), a gain factor needs to be applied. The
:LANE<N>:EQUalizer:DFE:TAP:GAIN command allows you to set this gain. For
more information on this parameter, refer to the Infiniium Serial Data Equalization
User's Guide.
<gain> A real number
Example This example sets the gain to 3.23.
myScope.WriteString ":LANE1:EQUalizer:DFE:TAP:GAIN 3.23"
Query :LANE<N>:EQUalizer:DFE:TAP:GAIN?
:LANE<N>:EQUalizer:DFE:TAP:LTARget
Command :LANE<N>:EQUalizer:DFE:TAP:LTARget <lower_target>
The Lower Target field dictates the logical low value used in the DFE algorithm. For
example, in DFE, when a bit is determined to be a logical low, its value will be
equal to Lower Target. The :LANE<N>:EQUalizer:DFE:TAP:LTARget command
allows you to set this value.
<lower_target> A real number
Example This example sets the Lower Target to 1.0.
myScope.WriteString ":LANE1:EQUalizer:DFE:TAP:LTARget 1.0"
Query :LANE<N>:EQUalizer:DFE:TAP:LTARget?
:LANE<N>:EQUalizer:DFE:TAP:MAX
Command :LANE<N>:EQUalizer:DFE:TAP:MAX <max_tap_value>
Some standards have upper and lower limits on the tap values. The
:LANE<N>:EQUalizer:DFE:TAP:MAX command sets the upper limit on taps
determined through optimization.
<max_tap_value> A real number
Example This example sets the Upper Limit field to 3.23.
myScope.WriteString ":LANE1:EQUalizer:DFE:TAP:MAX 3.23"
Query :LANE<N>:EQUalizer:DFE:TAP:MAX?
:LANE<N>:EQUalizer:DFE:TAP:MAXV
Command :LANE<N>:EQUalizer:DFE:TAP:MAXV <max_tap_value_in_volts>
:LANE<N>:EQUalizer:DFE:TAP:MIN
Command :LANE<N>:EQUalizer:DFE:TAP:MIN <min_tap_value>
Some standards have upper and lower limits on the tap values. The
:LANE<N>:EQUalizer:DFE:TAP:MIN command sets the lower limit on taps
determined through optimization.
<min_tap_value> A real number
Example This example sets the Lower Limit field to 3.23.
myScope.WriteString ":LANE1:EQUalizer:DFE:TAP:MIN 3.23"
Query :LANE<N>:EQUalizer:DFE:TAP:MIN?
:LANE<N>:EQUalizer:DFE:TAP:MINV
Command :LANE<N>:EQUalizer:DFE:TAP:MINV <min_tap_value_in_volts>
:LANE<N>:EQUalizer:DFE:TAP:NORMalize
Command :LANE<N>:EQUalizer:DFE:TAP:NORMalize {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:LANE<N>:EQUalizer:DFE:TAP:UTARget
Command :LANE<N>:EQUalizer:DFE:TAP:UTARget <upper_target>
The Upper Target field dictates the logical high value used in the DFE algorithm.
For example, in DFE, when a bit is determined to be a logical high, its value will be
equal to Upper Target. The :LANE<N>:EQUalizer:DFE:TAP:UTARget command
allows you to set this value.
<upper_target> A real number
Example This example sets the Upper Target to 1.0.
myScope.WriteString ":LANE1:EQUalizer:DFE:TAP:UTARget 1.0"
Query :LANE<N>:EQUalizer:DFE:TAP:UTARget?
:LANE<N>:EQUalizer:DFE:TAP:WIDTh
Command :LANE<N>:EQUalizer:DFE:TAP:WIDTh <width>
Query :LANE<N>:EQUalizer:DFE:TAP:WIDTh?
The :LANE<N>:EQUalizer:DFE:TAP? query returns the eye width used in the DFE
tap optimization.
History New in version 6.40.
:LANE<N>:EQUalizer:DFE:THReshold:BANDwidth
Command :LANE<N>:EQUalizer:DFE:THReshold:BANDwidth <bw_value>
When the DFE threshold bandwidth mode is set to CUSTom (by the
:LANE<N>:EQUalizer:DFE:THReshold:BWMode command), the
:LANE<N>:EQUalizer:DFE:THReshold:BANDwidth command specifies the
threshold bandwidth value.
<bw_value> A real number.
Query :LANE<N>:EQUalizer:DFE:THReshold:BANDwidth?
:LANE<N>:EQUalizer:DFE:THReshold:BWMode
Command :LANE<N>:EQUalizer:DFE:THReshold:BWMode {OFF | CUSTom | TSBandwidth}
:LANE<N>:EQUalizer:DFE:THReshold:DELay
Command :LANE<N>:EQUalizer:DFE:THReshold:DELay <threshold_delay>
:LANE<N>:EQUalizer:FFE:BANDwidth
Command :LANE<N>:EQUalizer:FFE:BANDwidth <bandwidth>
:LANE<N>:EQUalizer:FFE:BWMode
Command :LANE<N>:EQUalizer:FFE:BWMode {TSBandwidth | TTDelay | CUSTom}
Query :LANE<N>:EQUalizer:FFE:BWMode?
:LANE<N>:EQUalizer:FFE:NPRecursor
Command :LANE<N>:EQUalizer:FFE:NPRecursor <number>
Query :LANE<N>:EQUalizer:FFE:NPRecursor?
:LANE<N>:EQUalizer:FFE:NTAPs
Command :LANE<N>:EQUalizer:FFE:NTAPs <number>
Query :LANE<N>:EQUalizer:FFE:NTAPs?
:LANE<N>:EQUalizer:FFE:RATE
Command :LANE<N>:EQUalizer:FFE:RATE <data_rate>
The :LANE<N>:EQUalizer:FFE:RATE command sets the data rate for the FFE
equalizer.
<data_rate> A real number.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), a symbol rate (baud)
is specified instead of a data rate (b/s).
Example This example sets the FFE data rate to 3e9.
myScope.WriteString ":LANE1:EQUalizer:FFE:RATE 3e9"
Query :LANE<N>:EQUalizer:FFE:RATE?
:LANE<N>:EQUalizer:FFE:STATe
Command :LANE<N>:EQUalizer:FFE:STATe {(OFF | 0) | (ON | 1)}
Query :LANE<N>:EQUalizer:FFE:STATe?
:LANE<N>:EQUalizer:FFE:TAP
Command :LANE<N>:EQUalizer:FFE:TAP <tap>, <value>
The :LANE<N>:EQUalizer:FFE:TAP command sets the tap value for each FFE tap.
For example, when <tap> is equal to 0 then the 0th tap is set to <value>.
The indices of your FFE taps depend on the number of precursor taps being used.
For example, if you are using zero precursor taps then your FFE tap indices would
range from 0 to (NTAPs - 1). If you are using two precursor taps then your FFE tap
indices would range from -2 to (NTAPs - 1 - 2).
<tap> The tap number; when <tap> == 0, Tap 0 is set
<value> The tap value
Example This example sets the second FFE tap to -1.432.
myScope.WriteString ":LANE1:EQUalizer:FFE:TAP 2,-1.432"
:LANE<N>:EQUalizer:FFE:TAP:AUTomatic
Command :LANE<N>:EQUalizer:FFE:TAP:AUTomatic
:LANE<N>:EQUalizer:FFE:TAP:DELay
Command :LANE<N>:EQUalizer:FFE:TAP:DELay <delay>
:LANE<N>:EQUalizer:FFE:TAP:WIDTh
Command :LANE<N>:EQUalizer:FFE:TAP:WIDTh <width>
Query :LANE<N>:EQUalizer:FFE:TAP:WIDTh?
:LANE<N>:EQUalizer:FFE:TDELay
Command :LANE<N>:EQUalizer:FFE:TDELay <delay_value>
The :LANE<N>:EQUalizer:FFE:TDELay? query returns the current value for the tap
delay.
History New in version 6.40.
:LANE<N>:EQUalizer:FFE:TDMode
Command :LANE<N>:EQUalizer:FFE:TDMode {TBITrate | CUSTom}
Query :LANE<N>:EQUalizer:FFE:TDMode?
:LANE<N>:EQUalizer:LOCation
Command :LANE<N>:EQUalizer:LOCation {INPLace | FUNCtion}
Query :LANE<N>:EQUalizer:LOCation?
:LANE<N>:SOURce
Command :LANE<N>:SOURce {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | XT<X> | EQUalized<L>}
The :LANE<N>:SOURce command sets the source for the equalization lane.
<N> In LANE<N>, N is and integer 1-4. In CHANnel<N>, N is an integer, 1-4 in a single
oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<X> An integer, 1-4, identifying the crosstalk waveform.
<L>, Chaining An integer, 1-3. LANE<N> can use as its source the equalization of the previous
Equalization Lanes lane, EQUalized<N-1>, provided that the result of that eqalization is displayed as a
function. This lets you chain equalization lanes from one to the next. In other
words, LANE<N> can be the source for LANE<N+1>.
If the LANE<N> equallization is "in-place", its source (for example, CHANnel1) can
also be the source for LANE<N+1> but no other lanes, and LANE<N+1> cannot be
done "in-place".
Example This example sets the first equalization lane source to Channel 1.
myScope.WriteString ":LANE1:SOURce CHANnel1"
Query :LANE<N>:SOURce?
:LANE<N>:STATe
Command :LANE<N>::STATe {(OFF | 0) | (ON | 1)}
Query :LANE<N>:STATe?
The :LANE<N>:STATe? query returns whether or not the eqalization lane is turned
on.
History New in version 6.40.
:LANE<N>:VERTical
Command :LANE<N>:VERTical {AUTO | MANual}
The :LANE<N>:VERTical command sets the equalization lane's vertical scale mode
to automatic or manual. In automatic mode, the oscilloscope automatically selects
the vertical scaling and offset. In manual mode, you can set your own scaling and
offset values.
Example This example sets the first equalization lane's vertical scale mode to automatic.
myScope.WriteString ":LANE1:VERTical AUTO"
Query :LANE<N>:VERTical?
:LANE<N>:VERTical:OFFSet
Command :LANE<N>:VERTical:OFFSet <offset>
Query :LANE<N>:VERTical:OFFSet?
:LANE<N>:VERTical:RANGe
Command :LANE<N>:VERTical:RANGe <range>
Query :LANE<N>:VERTical:RANGe?
The Limit Test commands and queries control the limit test features of the
oscilloscope. Limit testing automatically compares measurement results with pass
or fail limits. The limit test tracks up to 20 measurements. The action taken when
the test fails is also controlled with commands in this subsystem.
767
26 Limit Test Commands
:LTESt:ADDStats
Command :LTESt:ADDStats {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:LTESt:FAIL
Command :LTESt:FAIL {{INSide | OUTSide} | {COUNt | RANGe}}
Query :LTESt:FAIL?
Example The following example returns the current fail condition and prints the result to the
controller's screen.
Dim strFAIL As String
myScope.WriteString ":LTESt:FAIL?"
strFAIL = myScope.ReadString
Debug.Print strFAIL
If, for example, you chose to measure volts peak-peak and want the smallest
acceptable signal swing to be one volt, you could use the above command, then
set the limit test to fail when the signal is outside the specified limit.
Query :LTESt:LLIMit?
Example The following example returns the current lower test limit and prints the result to
the controller's screen.
Dim strLLIM As String
myScope.WriteString ":LTESt:LLIMit?"
strLLIM = myScope.ReadString
Debug.Print strLLIM
:LTESt:MEASurement
Command :LTESt:MEASurement {MEAS<N>}
The :LTESt:MEASurement command selects the measurement source for the FAIL,
LLIMit, ULIMit, and TEST commands. It selects one of the active measurements by
its number, where MEAS1 is the most recently added measurement.
<N> An integer, 1-40.
Example The following example selects the first measurement as the source for the limit
testing commands.
myScope.WriteString ":LTESt:MEASurement MEAS1"
Query :LTESt:MEASurement?
Example The following example returns the currently selected measurement source for the
limit testing commands.
Dim strSOURCE As String
myScope.WriteString ":LTESt:MEASurement?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
:LTESt:RESults?
Query :LTESt:RESults? {MEAS<N>}
<fail_min> A real number representing the total number of measurements that have failed the
minimum limit.
<fail_max> A real number representing the total number of measurements that have failed the
maximum limit.
<num_meas> A real number representing the total number of measurements that have been
made.
Example The following example returns the values for the limit test of measurement 1.
Dim strRESULTS As String
myScope.WriteString ":LTESt:RESults? MEAS1"
strRESULTS = myScope.ReadString
Debug.Print strRESULTS
:LTESt:RUMode:SOFailure
Command :LTESt:RUMode:SOFailure {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:LTESt:TEST
Command :LTESt:TEST {{ON | 1} {OFF | 0}}
Query :LTESt:TEST?
The query returns the state of the TEST control for the active measurement
currently selected by the :LTESt:MEASurement command.
Returned Format [:LTESt:TEST] {1 | 0} <NL>
Example The following example returns the current state of the limit test and prints the
result to the controller's screen.
Dim strTEST As String
myScope.WriteString ":LTESt:TEST?"
strTEST = myScope.ReadString
Debug.Print strTEST
Suppose you are measuring the maximum voltage of a signal with Vmax, and that
voltage should not exceed 500 mV. You can use the above program and set the
LTESt:FAIL OUTside command to specify that the limit subsystem will fail a
measurement when the voltage exceeds 500 mV.
Query :LTESt:ULIMit?
The query returns the current upper limit of the limit test.
Returned Format [:LTESt:ULIMit] <upper_value><NL>
Example The following example returns the current upper limit of the limit test and prints
the result to the controller's screen.
Dim strULIM As String
myScope.WriteString ":LTESt:ULIMit?"
strULIM = myScope.ReadString
Debug.Print strULIM
27 Lister Commands
:LISTer:DATA? / 778
:LISTer:DISPlay / 779
The LISTer subsystem is used to turn on/off the serial decode Lister display and
return data from the Lister display.
777
27 Lister Commands
:LISTer:DATA?
Query :LISTer:DATA? [{{SBUS1 | SBUS2 | SBUS3 | SBUS4} [,<type>] | BUS}]
The :LISTer:DATA? query returns the lister data (SBUS1, SBUS2, SBUS3, or
SBUS4) or the Digital Listing data (BUS).
To turn on the Digital Listing, you need to enable one or more of the digital buses
(see :BUS<B>:DISPlay).
<type> {PACKets | SYMBols | PAYLoad}
Specifies which display window to save.
Returned Format <binary_block><NL>
:LISTer:DISPlay
Command :LISTer:DISPlay <value>
28 :LXI Commands
:LXI:IDENtify[:STATe] / 782
The :LXI commands and queries are common for instruments that support the LAN
eXtensions for Instrumentation (LXI) standard.
781
28 :LXI Commands
:LXI:IDENtify[:STATe]
Command :LXI:IDENtify[:STATe] {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
29 Marker Commands
:MARKer:CURSor? / 785
:MARKer:DELTa / 786
:MARKer:MEASurement:MEASurement / 787
:MARKer:MODE / 789
:MARKer:TSTArt / 790
:MARKer:TSTOp / 791
:MARKer:VSTArt / 792
:MARKer:VSTOp / 793
:MARKer:X1Position / 794
:MARKer:X2Position / 795
:MARKer:X1Y1source / 796
:MARKer:X2Y2source / 798
:MARKer:XDELta? / 800
:MARKer:Y1Position / 801
:MARKer:Y2Position / 802
:MARKer:YDELta? / 803
:MARKer<K>:CMODe / 804
:MARKer<K>:COLor / 805
:MARKer<K>:DELTa / 808
:MARKer<K>:ENABle / 809
:MARKer<K>:NAME / 810
:MARKer<K>:SOURce / 811
:MARKer<K>:TYPE / 813
:MARKer<K>:X:POSition / 815
:MARKer<K>:Y:POSition / 816
The commands in the MARKer subsystem specify and query the settings of the
time markers (X axis) and current measurement unit markers (volts, amps, and
watts for the Y axis). You typically set the Y-axis measurement units using the
:CHANnel:UNITs command.
783
29 Marker Commands
:MARKer:CURSor?
Query :MARKer:CURSor? {DELTa | STARt | STOP}
The :MARKer:CURSor? query returns the time and current measurement unit
values of the specified marker (if markers are in Track Waveforms mode) as an
ordered pair of time and measurement unit values.
• If DELTA is specified, the value of delta Y and delta X are returned.
• If START is specified, marker A's x-to-y positions are returned.
• If STOP is specified, marker B's x-to-y positions are returned.
CAUTION The :MARKer:CURSor? query may change marker mode and results.
In Track Waveforms mode, use :MARKer:CURSor? to track the position of the
waveform. In Manual Markers and Track Measurements Markers modes, use other
marker queries, such as the X1Position? and X2Position?, and VSTArt? and VSTOp?
queries.
If you use :MARKer:CURSor? when the oscilloscope is in either Manual Markers or
Track Measurements Markers modes, it will put the oscilloscope in Track Waveforms
mode, regardless of the mode previously selected. In addition, measurement results
may not be what you expected. In addition, measurement results may not be what you
expected.
Example This example returns the current position of the X cursor and measurement unit
marker 1 to the string variable, strPosition. The program then prints the contents
of the variable to the computer's screen.
Dim strPosition As String ' Dimension variable.
myScope.WriteString ":MARKer:CURSor? STARt"
strPosition = myScope.ReadString
Debug.Print strPosition
:MARKer:DELTa
Command :MARKer:DELTa {{0 | OFF} | {1 | ON}}
The :MARKer:DELTa command turns on or off the graphical user interface's Delta
Markers check box setting to display deltas on the screen (as opposed to the deltas
in the results area and remote queries).
Query :MARKer:DELTa?
The :MARKer:DELTa? query returns the graphical user interface's Delta Markers
check box setting (in the Markers dialog box).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
:MARKer:MEASurement:MEASurement
Command :MARKer:MEASurement:MEASurement {MEASurement<N>}[, {{1 | ON}
| {0 | OFF}}]
When <N> is 10-40, the long form of the mnemonic, MEASurement<N>, is too long. In this
N OT E
case, you must use the short form, MEAS<N>.
Example This example deletes all markers and adds measurement tracking markers for the
fourth measurement.
myScope.WriteString ":MARKer:MEASurement:MEASurement MEASurement4"
Example This example places the status of the measurement tracking marker in the string
variable, strTrackMeasStatus, then prints the contents of the variable to the
computer's screen.
Dim strTrackMeas As String ' Dimension variable.
myScope.WriteString ":MARKer:MEASurement:MEASurement?"
strTrackMeasStatus = myScope.ReadString
Debug.Print strTrackMeasStatus
:MARKer:MODE
Command :MARKer:MODE {OFF | MANual | WAVeform | MEASurement | XONLy | YONLy}
Query :MARKer:MODE?
Example This example places the current marker mode in the string variable, strSelection,
then prints the contents of the variable to the computer's screen.
Dim strSelection As String ' Dimension variable.
myScope.WriteString ":MARKer:MODE?"
strSelection = myScope.ReadString
Debug.Print strSelection
:MARKer:TSTArt
Command :MARKer:TSTArt <Ax_position>
Query :MARKer:TSTArt?
Example This example places the current setting of the Ax marker in the numeric variable,
varSetting, then prints the contents of the variable to the computer's screen.
Notice that this example uses the :MARKer:X1Position? query instead of the
:MARKer:TSTArt? query.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:X1Position?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:MARKer:TSTOp
Command :MARKer:TSTOp <Bx_position>
Query :MARKer:TSTOp?
Example This example places the current setting of the Bx marker in the numeric variable,
varSetting, then prints the contents of the variable to the computer's screen.
Notice that this example uses the :MARKer:X2Position? query instead of the
:MARKer:TSTOp? query.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:X2Position?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:MARKer:VSTArt
Command :MARKer:VSTArt <Ay_position>
The :MARKer:VSTArt command sets the Ay marker position and moves the
Ay marker to the specified measurement unit value on the specified source. The
:MARKer:Y1Position command described in this chapter does also.
<Ay_position> A real number for the current measurement unit value at Ay (volts, amps, or watts).
Example This example sets Ay to -10 mV. Notice that this example uses the Y1Position
command instead of VSTArt.
myScope.WriteString ":MARKer:Y1Position -10E-3"
Query :MARKer:VSTArt?
The :MARKer:VSTArt? query returns the current measurement unit level of Ay.
Returned Format [:MARKer:VSTArt] <Ay_position><NL>
:MARKer:VSTOp
Command :MARKer:VSTOp <By_position>
Query :MARKer:VSTOp?
Example This example places the current setting of the By marker in the numeric variable,
varSetting, then prints the contents of the variable to the computer's screen.
Notice that this example uses the :MARKer:Y2? query instead of the
:MARKer:VSTOp? query.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:Y2Position?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:MARKer:X1Position
Command :MARKer:X1Position <Ax_position>
The :MARKer:X1Position command sets the Ax marker position, and moves the Ax
marker to the specified time with respect to the trigger time.
<Ax_position> A real number for the time at the Ax marker in seconds.
Example This example sets the Ax marker to 90 ns.
myScope.WriteString ":MARKer:X1Position 90E-9"
Query :MARKer:X1Position?
Example This example returns the current setting of the Ax marker to the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:X1Position?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MARKer:X2Position
Command :MARKer:X2Position <Bx_position>
The :MARKer:X2Position command sets the Bx marker position and moves the Bx
marker to the specified time with respect to the trigger time.
<Bx_position> A real number for the time at the Bx marker in seconds.
Example This example sets the Bx marker to 90 ns.
myScope.WriteString ":MARKer:X2Position 90E-9"
Query :MARKer:X2Position?
Example This example returns the current position of the Bx marker to the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:X2Position?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MARKer:X1Y1source
Command :MARKer:X1Y1source {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum
| EQUalized<L> | XT<X> | HISTogram | PNOise | DIGital<M> | BUS<B>}
The :MARKer:X1Y1source command sets the source for the Ax and Ay markers.
The channel you specify must be enabled for markers to be displayed. If the
channel, function, or waveform memory that you specify is not on, an error
message is issued and the query will return channel 1.
The MTRend and MSPectrum sources are available when the Jitter Analysis
Software license is installed and the features are enabled.
The CLOCk source is available when the recovered clock is displayed.
The EQUalized<L> source is available when the Advanced Signal Integrity
Software license is installed and the equalized waveform is displayed as a
function.
The PNOise source is available when the Jitter and Vertical Noise Analysis
Software license is installed and the Phase Noise analysis feature is enabled.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
<L> An integer, 1-4.
<X> An integer, 1-4, identifying the crosstalk waveform.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
<B> An integer, 1-4. Buses are available on mixed-signal oscilloscopes.
Example This example selects channel 1 as the source for markers Ax and Ay.
myScope.WriteString ":MARKer:X1Y1source CHANnel1"
Query :MARKer:X1Y1source?
The :MARKer:X1Y1source? query returns the current source for markers Ax and Ay.
Example This example returns the current source selection for the Ax and Ay markers to the
string variable, strSelection, then prints the contents of the variable to the
computer's screen.
Dim strSelection As String ' Dimension variable.
myScope.WriteString ":MARKer:X1Y1source?"
strSelection = myScope.ReadString
Debug.Print strSelection
:MARKer:X2Y2source
Command :MARKer:X2Y2source {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum
| EQUalized<L> | XT<X> | HISTogram | PNOise | DIGital<M> | BUS<B>}
The :MARKer:X2Y2source command sets the source for the Bx and By markers.
The channel you specify must be enabled for markers to be displayed. If the
channel, function, or waveform memory that you specify is not on, an error
message is issued and the query will return channel 1.
The MTRend and MSPectrum sources are available when the Jitter Analysis
Software license is installed and the features are enabled.
The CLOCk source is available when the recovered clock is displayed.
The EQUalized<L> source is available when the Advanced Signal Integrity
Software license is installed and the equalized waveform is displayed as a
function.
The PNOise source is available when the Jitter and Vertical Noise Analysis
Software license is installed and the Phase Noise analysis feature is enabled.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<L> An integer, 1-4.
<X> An integer, 1-4, identifying the crosstalk waveform.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
<B> An integer, 1-4. Buses are available on mixed-signal oscilloscopes.
Example This example selects channel 1 as the source for markers Bx and By.
myScope.WriteString ":MARKer:X2Y2source CHANnel1"
Query :MARKer:X2Y2source?
The :MARKer:X2Y2source? query returns the current source for markers Bx and By.
Example This example returns the current source selection for the Bx and By markers to the
string variable, strSelection, then prints the contents of the variable to the
computer's screen.
Dim strSelection As String ' Dimension variable.
myScope.WriteString ":MARKer:X2Y2source?"
strSelection = myScope.ReadString
Debug.Print strSelection
:MARKer:XDELta?
Query :MARKer:XDELta?
The :MARKer:XDELta? query returns the time difference between Ax and Bx time
markers.
Xdelta = time at Bx - time at Ax
Returned Format [:MARKer:XDELta] <time><NL>
:MARKer:Y1Position
Command :MARKer:Y1Position <Ay_position>
Query :MARKer:Y1Position?
The :MARKer:Y1Position? query returns the current measurement unit level at the
Ay marker position.
Returned Format [:MARKer:Y1Position] <Ay_position><NL>
Example This example returns the current setting of the Ay marker to the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:Y1Position?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MARKer:Y2Position
Command :MARKer:Y2Position <By_position>
Query :MARKer:Y2Position?
The :MARKer:Y2Position? query returns the current measurement unit level at the
By marker position.
Returned Format [:MARKer:Y2Position] <By_position><NL>
Example This example returns the current setting of the By marker to the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:Y2Position?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MARKer:YDELta?
Query :MARKer:YDELta?
:MARKer<K>:CMODe
Command :MARKer<K>:CMODe {CUSTom | SOURce}
:MARKer<K>:COLor
Command :MARKer<K>:COLor <color>
The :MARKer<K>:COLor command gives the marker a custom color when the color
mode is set to CUSTom (see :MARKer<K>:CMODe).
<K> An integer, 1-60.
<color> A quoted string where the color is specified as "#HHHHHHHH" where Eight-digit
hex notation consists of a hash symbol (#), followed by eight characters. The first
two represent the alpha chanel of the color. The remaining six characters represent
the RGB (red, green, blue) value of the color. Additionally, a named color from the
following list can be specified (strings are not case-sensitive):
Query :MARKer<K>:COLor?
:MARKer<K>:DELTa
Command :MARKer<K>:DELTa MARKer<L>,{{0 | OFF} | {1 | ON}}
The :MARKer<K>:DELTa? query returns a particular marker's "delta to" state and
delta values if the state is 1 (ON).
Returned Format <marker_delta_results><NL>
<delta-to_state> ::= {0 | 1}
If the delta measurement does not apply or cannot be made or if the "delta to"
relationship is 0 (OFF), the infinity representation value (9.99999E+37) is returned.
See Also • ":MARKer<K>:ENABle" on page 809
• ":MARKer<K>:NAME" on page 810
• ":MARKer<K>:SOURce" on page 811
• ":MARKer<K>:TYPE" on page 813
• ":MARKer<K>:X:POSition" on page 815
• ":MARKer<K>:Y:POSition" on page 816
History New in version 6.30.
:MARKer<K>:ENABle
Command :MARKer<K>:ENABle {{0 | OFF} | {1 | ON}}
<setting> ::={0 | 1}
:MARKer<K>:NAME
Command :MARKer<K>:NAME <name>
:MARKer<K>:SOURce
Command :MARKer<K>:SOURce {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized<L>
| HISTogram | DIGital<M> | BUS<B> | XT<X> | PNOise}
Query :MARKer<K>:SOURce?
:MARKer<K>:TYPE
Command :MARKer<K>:TYPE {XMANual | YMANual | TRACk | RF}
You cannot change a marker's type when it is enabled. Use the ":MARKer<K>:ENABle OFF" to
N OT E
disable a marker before changing its type.
:MARKer<K>:X:POSition
Command :MARKer<K>:X:POSition <X_position>
If a horizontal position value is not appropriate for the type of marker (see
:MARKer<K>:TYPE), for example querying the X position of a manual Y only vertical
marker, the infinity representation value (9.99999E+37) is returned.
See Also • ":MARKer<K>:DELTa" on page 808
• ":MARKer<K>:ENABle" on page 809
• ":MARKer<K>:NAME" on page 810
• ":MARKer<K>:SOURce" on page 811
• ":MARKer<K>:TYPE" on page 813
• ":MARKer<K>:Y:POSition" on page 816
History New in version 6.30.
:MARKer<K>:Y:POSition
Command :MARKer<K>:Y:POSition <Y_position>
If a vertical position value is not appropriate for the type of marker (see
:MARKer<K>:TYPE), for example querying the Y position of a manual X only
horizontal marker, the infinity representation value (9.99999E+37) is returned.
See Also • ":MARKer<K>:DELTa" on page 808
• ":MARKer<K>:ENABle" on page 809
• ":MARKer<K>:NAME" on page 810
• ":MARKer<K>:SOURce" on page 811
• ":MARKer<K>:TYPE" on page 813
• ":MARKer<K>:X:POSition" on page 815
History New in version 6.30.
817
30 Mask Test Commands
:MTESt:MARGin:AUTO:HRATio / 861
:MTESt:MARGin:AUTO:METHod / 862
:MTESt:MARGin:METHod / 863
:MTESt:MARGin:PERCent / 864
:MTESt:MARGin:STATe / 865
:MTESt:NREGions? / 866
:MTESt:PROBe:IMPedance? / 867
:MTESt:RUMode / 868
:MTESt:RUMode:SOFailure / 869
:MTESt:SCALe:BIND / 870
:MTESt:SCALe:DRAW / 871
:MTESt:SCALe:X1 / 872
:MTESt:SCALe:XDELta / 873
:MTESt:SCALe:Y1 / 874
:MTESt:SCALe:Y2 / 875
:MTESt:SOURce / 876
:MTESt:STARt / 877
:MTESt:STOP / 878
:MTESt:STIMe / 879
:MTESt:TITLe? / 880
:MTESt:TRIGger:SOURce / 881
The MTESt subsystem commands and queries control the mask test features.
Mask Testing automatically compares measurement results 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.
:MTESt:ALIGn
Command :MTESt:ALIGn
The :MTESt:ALIGn command automatically aligns and scales the mask to the
current waveform on the display. The type of mask alignment performed depends
on the current setting of the Use File Setup When Aligning control. See the
:MTESt:AUTO command for more information.
Example This example aligns the current mask to the current waveform.
myScope.WriteString ":MTESt:ALIGn"
:MTESt:AMASk:CREate
Command :MTESt:AMASk:CREate
:MTESt:AMASk:SOURce
Command :MTESt:AMASk:SOURce {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R> | CLOCk | EQUalized<L> | MTRend
| MSPectrum | XT<X>}
Query :MTESt:AMASk:SOURce?
Example This example gets the source setting for automask and prints the result on the
computer display.
Dim strAmask_source As String
myScope.WriteString ":MTESt:AMASk:SOURce?"
strAmask_source = myScope.ReadString
Debug.Print strAmask_source
:MTESt:AMASk:SAVE
Command :MTESt:AMASk:{SAVE | STORe} "<filename>"
:MTESt:AMASk:UNITs
Command :MTESt:AMASk:UNITs {CURRent | DIVisions}
The :MTESt:AMASk:UNITs command alters the way the mask test subsystem
interprets the tolerance parameters for automasking as defined by AMASk:XDELta
and AMASk:YDELta commands.
CURRent When set to CURRent, the mask test subsystem uses the units as set by the
:CHANnel:UNITs command, usually time for ΔX and voltage for ΔY.
DIVisions When set to 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.
Example This example sets the measurement units for automasking to the current
:CHANnel:UNITs setting.
myScope.WriteString ":MTESt:AMASk:UNITs CURRent"
Query :MTESt:AMASk:UNITs?
The AMASk:UNITs query returns the current measurement units setting for the
mask test automask feature.
Returned Format [:MTESt:AMASk:UNITs] {CURRent | DIVision}<NL>
Example This example gets the automask units setting, then prints the setting on the screen
of the computer.
Dim strAutomask_units As String
myScope.WriteString ":MTESt:AMASk:UNITs?"
strAutomask_units = myScope.ReadString
Debug.Print strAutomask_units
:MTESt:AMASk:XDELta
Command :MTESt:AMASk:XDELta <xdelta_value>
Query :MTESt:AMASk:XDELta?
The 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 AMASk:UNITs query.
Returned Format [:MTESt:AMASk:XDELta] <xdelta_value><NL>
Example This example gets the measurement system units and ΔX settings for automasking
from the oscilloscope and prints the results on the computer screen.
Dim strAutomask_units As String
Dim strAutomask_xdelta As String
myScope.WriteString ":MTESt:AMASk:UNITs?"
strAutomask_units = myScope.ReadString
myScope.WriteString ":MTESt:AMASk:XDELta?"
strAutomask_xdelta = myScope.ReadString
Debug.Print strAutomask_units
Debug.Print strAutomask_xdelta
:MTESt:AMASk:YDELta
Command :MTESt:AMASk:YDELta <ydelta_value>
Query :MTESt:AMASk:YDELta?
The 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 AMASk:UNITs query.
Returned Format [:MTESt:AMASk:YDELta] <ydelta_value><NL>
Example This example gets the measurement system units and ΔY settings for automasking
from the oscilloscope and prints the results on the computer screen.
Dim strAutomask_units As String
Dim strAutomask_ydelta As String
myScope.WriteString ":MTESt:AMASk:UNITs?"
strAutomask_units = myScope.ReadString
myScope.WriteString ":MTESt:AMASk:YDELta?"
strAutomask_ydelta = myScope.ReadString
Debug.Print strAutomask_units
Debug.Print strAutomask_ydelta
:MTESt:AUTO
Command :MTESt:AUTO {{ON | 1} | {OFF | 0}}
The :MTESt:AUTO command enables (ON) or disables (OFF) the Use File Setup
When Aligning control. This determines which type of mask alignment is
performed when the :MTESt:ALIGn command is sent. When enabled, the
oscilloscope controls are changed to the values which are determined by the
loaded mask file. This alignment guarantees that the aligned mask and any
subsequent mask tests meet the requirements of the standard.
When disabled, the alignment is performed using the current oscilloscope
settings. This may be useful when troubleshooting problems during the design
phase of a project.
Example This example enables the Use File Settings When Aligning control.
myScope.WriteString ":MTESt:AUTO ON"
Query :MTESt:AUTO?
The :MTESt:AUTO? query returns the current value of the Use File Setup When
Aligning control.
Returned Format [:MTESt:AUTO] {1 | 0} <NL>
:MTESt:AVERage
Command :MTESt:AVERage {{ON | 1} | {OFF | 0}}
Query :MTESt:AVERage?
Example This example places the current settings for averaging into the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":MTESt:AVERage?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MTESt:AVERage:COUNt
Command :MTESt:AVERage:COUNt <count_value>
Query :MTESt:AVERage:COUNt?
:MTESt:COUNt:FAILures?
Query :MTESt:COUNt:FAILures? REGion<number>
<number_of_ The number of failures that have occurred for the designated region.
failures>
Example This example determines the current failure count for region 3 and prints it on the
computer screen.
Dim strMask_failures As String
myScope.WriteString ":MTESt:COUNt:FAILures? REGion3"
strMask_failures = myScope.ReadString
Debug.Print strMask_failures
:MTESt:COUNt:FUI?
Query :MTESt:COUNt:FUI?
The MTESt:COUNt:FUI? query returns the number of unit interval failures that have
occurred.
Returned Format [:MTESt:COUNt:FUI?] <unit_interval_failures> <NL>
:MTESt:COUNt:FWAVeforms?
Query :MTESt:COUNt:FWAVeforms?
<number_ The total number of failed waveforms for the current test run.
of_failed_
waveforms>
Example This example determines the number of failed waveforms and prints the result on
the computer screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MTESt:COUNt:FWAVeforms?"
strMask_fwaveforms = myScope.ReadString
Debug.Print strMask_fwaveforms
:MTESt:COUNt:MARGin:FAILures?
Query :MTESt:COUNt:MARGin:FAILures? REGion<number>
:MTESt:COUNt:SUI?
Query :MTESt:COUNt:SUI?
The :MTESt:COUNt:SUI? query returns the total number of samples that have been
mask tested in the UI bit time.
This count is valid only when mask testing a real-time eye.
Returned Format [:MTESt:COUNt:SUI?] <samples_tested><NL>
<samples_tested> The total number of samples that have been mask tested in the UI bit time.
See Also • ":MTESt:COUNt:UI?" on page 835
• ":MTESt:COUNt:FUI?" on page 831
• ":MTESt:COUNt:WAVeforms?" on page 836
• ":MTESt:COUNt:FWAVeforms?" on page 832
History New in version 6.00.
:MTESt:COUNt:UI?
Query :MTESt:COUNt:UI?
The MTESt:COUNt:UI? query returns the number of unit intervals that have been
mask tested.
Returned Format [:MTESt:COUNt:UI?] <unit_intervals_tested> <NL>
:MTESt:COUNt:WAVeforms?
Query :MTESt:COUNt:WAVeforms?
<number_of_ The total number of waveforms for the current test run.
waveforms>
Example This example determines the number of waveforms acquired in the current test run
and prints the result on the computer screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MTESt:COUNt:WAVeforms?"
varMask_waveforms = myScope.ReadNumber
Debug.Print FormatNumber(varMask_waveforms, 0)
:MTESt:DELete
Command :MTESt:DELete
:MTESt:ENABle
Command :MTESt:ENABle {{ON | 1} | {OFF | 0}}
Query :MTESt:ENABle?
The :MTESt:ENABle? query returns the current state of mask test features.
Returned Format [MTESt:ENABle] {1 | 0}<NL>
Example This example places the current value of the mask test state in the numeric
variable varValue, then prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MTESt:ENABle?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
The :MTESt:FOLDing command enables (ON) or disables (OFF) the display of the
real-time eye.
Color grade must be enabled before enabling the real-time eye.
Refer to the :MEASure:CLOCk commands for clock recovery.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized<L> | XT<X>}
If <source> is omitted:
• The real-time eye is enabled for all sources which currently have a color grade
view on.
• When enabling real-time eye, the main waveform view is turned off.
• When disabling real-time eye, the main waveform view is turned on.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<L> An integer, 1-4.
<X> An integer, 1-4, identifying the crosstalk waveform.
Example This example enables the display of the real-time eye.
myScope.WriteString ":MTESt:FOLDing ON"
The :MTESt:FOLDing? query returns the current state of clock recovery folding.
If <source> is omitted, the query returns ON (1) if any source has real-time eye
enabled.
Returned Format [:MTESt:FOLDing] {1 | 0} <NL>
:MTESt:FOLDing:BITS
Command :MTESt:FOLDing:BITS <source>,{BOTH | DEEMphasis | TRANsition
| PATTern, "<pattern>", <cursor>}
The :MTESt:FOLDing:BITS? query returns the current setting of the real time eye
bits.
Returned Format [:MTESt:FOLDing:BITS] {BOTH | DEEMphasis | TRANsition
| PATT,<pattern>,<cursor>} <NL>
:MTESt:FOLDing:COUNt:UI?
Query :MTESt:FOLDing:COUNt:UI? [<source>]
History New in version 5.50. This query replaces part of the now deprecated query
":MTESt:FOLDing:COUNt?" on page 1750.
Version 5.52: The <source> parameter is now optional.
:MTESt:FOLDing:COUNt:WAVeforms?
Query :MTESt:FOLDing:COUNt:WAVeforms? [<source>]
History New in version 5.50. This query replaces part of the now deprecated query
":MTESt:FOLDing:COUNt?" on page 1750.
Version 5.52: The <source> parameter is now optional.
:MTESt:FOLDing:FAST
Command :MTESt:FOLDing:FAST {{ON | 1} | {OFF | 0}}[,<source>]
The :MTESt:FOLDing:FAST command turns the "Fast, Worst Case Only" real-time
eye display option ON or OFF.
When ON, the oscilloscope performs a fast real-time eye display by showing only
the worst case bits and other bits that surround them.
This option can be used to speed up the real-time eye display when the
oscilloscope is using deep memory.
Worst case bits are evaluated using these 8 points inside the eye:
• Left and right of the eye at the threshold level.
• Left and right of the eye at the threshold + hysteresis level.
• Left and right of the eye at the threshold - hysteresis level.
• Top and bottom of the eye at the center.
For each bit that represents the worst case at one of the evaluated points, the
1,000 bits that surround that bit are also displayed. So, up to 8,000 bits per
acquisition can contribute to the real-time eye display. Keep in mind that one bit
can represent the worst case at multiple points or that the 1,000 bits surrounding
the worst case bits can overlap, so there can be fewer than 8,000 bits displayed
per acquisition.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized<L> | XT<X>}
If <source> is omitted, fast worst-case real-time eye is enabled for all sources
which currently have a color grade view on.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<L> An integer, 1-4.
<X> An integer, 1-4, identifying the crosstalk waveform.
Example This example turns on the "Fast, Worst Case Only" real-time eye display option.
myScope.WriteString ":MTESt:FOLDing:FAST ON"
:MTESt:FOLDing:POSition
Command :MTESt:FOLDing:POSition <UI_position> [,<source>]
:MTESt:FOLDing:SCALe
Command :MTESt:FOLDing:SCALe <UI_scale> [,<source>]
The :MTESt:FOLDing:SCALe command sets the real-time eye horizontal scale, that
is, the number of unit intervals (UIs) shown on screen.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized<L> | XT<X>}
If <source> is omitted, this command sets the number of unit intervals for all
sources.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<L> An integer, 1-4.
<X> An integer, 1-4, identifying the crosstalk waveform.
Example This example sets the real-time eye horizontal scale to 2.0 UI.
myScope.WriteString ":MTESt:FOLDing:SCALe 2.0"
:MTESt:FOLDing:TPOSition
Command :MTESt:FOLDing:TPOSition <position> [,<source>]
:MTESt:FOLDing:TSCale
Command :MTESt:FOLDing:TSCale <scale> [,<source>]
The :MTESt:FOLDing:TSCale command sets the real-time eye horizontal scale per
division in time.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized<L> | XT<X>}
If <source> is omitted, this command sets the number of unit intervals for all
sources.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<L> An integer, 1-4.
<X> An integer, 1-4, identifying the crosstalk waveform.
Example This example sets the real-time eye horizontal scale to 2.0 microseconds.
myScope.WriteString ":MTESt:FOLDing:TSCale 2.0E-06"
:MTESt:IMPedance
Command :MTESt:IMPedance {NONE | IMP75 | IMP100 | IMP110 | IMP120}
Query :MTESt:IMPedance?
The :MTESt:IMPedance? query returns the current value of the mask test
impedance.
Returned Format [:MTESt:IMPedance] {NONE | IMP75 | IMP100 | IMP110 | IMP120}<NL>
Example This example returns the current value of the mask test impedance and prints the
result to the computer screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MTESt:IMPedance?"
strImpedance = myScope.ReadString
Debug.Print strImpedance
:MTESt:INVert
Command :MTESt:INVert {{ON | 1} | {OFF | 0}}
The :MTESt:INVert command inverts the mask for testing negative-going pulses.
The trigger level and mask offset are also adjusted. Not all masks support
negative-going pulse testing, and for these masks, the command is ignored.
Example This example inverts the mask for testing negative-going pulses.
myScope.WriteString ":MTESt:INVert ON"
Query :MTESt:INVert?
:MTESt:LOAD
Command :MTESt:LOAD "<filename>"
The :MTESt:LOAD command loads the specified mask file. The default path for
mask files is C:\Users\Public\Documents\Infiniium\masks. To use a different path,
specify the complete path and file name.
<filename> An MS-DOS compatible name of the file, a maximum of 254 characters long
(including the path name, if used).
Example This example loads the mask file named "140md_itu_1.msk".
myScope.WriteString _
":MTESt:LOAD ""C:\Users\Public\Documents\Infiniium\masks\
140md_itu_1.msk"""
:MTESt:MARGin:AUTO:HITS
Command :MTESt:MARGin:AUTO:HITS <hit_count>
When the automatic margin method is selected, and the hit ratio method is
selected, the :MTESt:MARGin:AUTO:HITS command specifies the hit count.
Query :MTESt:MARGin:AUTO:HITS?
:MTESt:MARGin:AUTO:HRATio
Command :MTESt:MARGin:AUTO:HRATio <hit_ratio>
When the automatic margin method is selected, and the hit ratio method is
selected, the :MTESt:MARGin:AUTO:HRATio command specifies the hit ratio.
Query :MTESt:MARGin:AUTO:HRATio?
:MTESt:MARGin:AUTO:METHod
Command :MTESt:MARGin:AUTO:METHod <method>
:MTESt:MARGin:METHod
Command :MTESt:MARGin:METHod <method>
:MTESt:MARGin:PERCent
Command :MTESt:MARGin:PERCent <percent>
:MTESt:MARGin:STATe
Command :MTESt:MARGin:STATe {{0 | OFF} | {1 | ON}}
<setting ::= {0 | 1}
:MTESt:NREGions?
Query :MTESt:NREGions?
The :MTESt:NREGions? query returns the number of regions that define the mask.
Returned Format [:MTESt:NREGions] <regions><NL>
:MTESt:PROBe:IMPedance?
Query :MTESt:PROBe:IMPedance?
Example This example returns the impedance setting for the probe.
Dim strImpedance As String
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MTESt:PROBe:IMPedance?"
strImpedance = myScope.ReadString
Debug.Print strImpedance
:MTESt:RUMode
Command :MTESt:RUMode {FORever | TIME, <time> | {WAVeforms, <number_of_waveforms
>}}
Query :MTESt:RUMode?
The query returns the currently selected termination condition and value.
Returned Format [:MTESt:RUMode] {FORever | TIME,<time> | {WAVeforms, <number_of_waveform
s>}}<NL>
Example This example gets the current setting of the mask test run until mode from the
oscilloscope and prints it on the computer screen.
Dim strMTEST_Runmode As String
myScope.WriteString ":MTESt:RUMode?"
strMTEST_Runmode = myScope.ReadString
Debug.Print strMTEST_Runmode
:MTESt:RUMode:SOFailure
Command :MTESt:RUMode:SOFailure {{ON | 1} | {OFF | 0}}
Query :MTESt:RUMode:SOFailure?
:MTESt:SCALe:BIND
Command :MTESt:SCALe:BIND {{ON | 1} | {OFF | 0}}
Query :MTESt:SCALe:BIND?
The :MTESt:SCALe:BIND? query returns the value of the Bind 1&0 control (Bind
-1&0 for inverted masks).
Returned Format [:MTESt:SCALe:BIND?] {1 | 0}<NL>
:MTESt:SCALe:DRAW
Command :MTESt:SCALe:DRAW {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:MTESt:SCALe:X1
Command :MTESt:SCALe:X1 <x1_value>
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 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:
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.
<x1_value> A time value specifying the location of the X1 coordinate, which will then be
treated as X=0 for mask regions coordinates.
Example This example sets the X1 coordinate at 150 ms.
myScope.WriteString ":MTESt:SCALe:X1 150E-3"
Query :MTESt:SCALe:X1?
Example This example gets the current setting of the X1 coordinate from the oscilloscope
and prints it on the computer screen.
Dim strScale_x1 As String
myScope.WriteString ":MTESt:SCALe:X1?"
strScale_x1 = myScope.ReadString
Debug.Print strScale_x1
:MTESt:SCALe:XDELta
Command :MTESt:SCALe:XDELta <xdelta_value>
X = (X × ΔX) + X1
<xdelta_value> A time value specifying the distance of the X2 marker with respect to the X1
marker.
Example Assume that the period of the waveform you wish to test is 1 ms. Then the
following example will set ΔX to 1 ms, ensuring that the waveform's period is
between the X1 and X2 markers.
myScope.WriteString ":MTESt:SCALe:XDELta 1E-6:
Query :MTESt:SCALe:XDELta?
Example This example gets the value of ΔX from the oscilloscope and prints it on the
computer screen.
Dim strScale_xdelta As String
myScope.WriteString ":MTESt:SCALe:XDELta?""
strScale_xdelta = myScope.ReadString
Debug.Print strScale_xdelta
:MTESt:SCALe:Y1
Command :MTESt:SCALe:Y1 <y_value>
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:
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.
<y1_value> A voltage value specifying the point at which Y=0.
Example This example sets the Y1 marker to -150 mV.
myScope.WriteString ":MTESt:SCALe:Y1 -150E-3"
Query :MTESt:SCALe:Y1?
Example This example gets the setting of the Y1 marker from the oscilloscope and prints it
on the computer screen.
Dim strScale_y1 As String
myScope.WriteString ":MTESt:SCALe:Y1?"
strScale_y1 = myScope.ReadString
Debug.Print strScale_y1
:MTESt:SCALe:Y2
Command :MTESt:SCALe:Y2 <y2_value>
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.
<y2_value> A voltage value specifying the location of the Y2 marker.
Example This example sets the Y2 marker to 2.5 V.
myScope.WriteString ":MTESt:SCALe:Y2 2.5"
Query :MTESt:SCALe:Y2?
Example This example gets the setting of the Y2 marker from the oscilloscope and prints it
on the computer screen.
Dim strScale_y2 As String
myScope.WriteString ":MTESt:SCALe:Y2?"
strScale_y2 = myScope.ReadString
Debug.Print strScale_y2
:MTESt:SOURce
Command :MTESt:SOURce {CHANnel<N> | FUNCtion<F> | EQUalized<L> | WMEMory<R>
| XT<X>}
Query :MTESt:SOURce?
Example This example gets the mask test source setting and prints the result on the
computer display.
Dim strAmask_source As String
myScope.WriteString ":MTESt:SOURce?"
strAmask_source = myScope.ReadString
Debug.Print strAmask_source
:MTESt:STARt
Command :MTESt:STARt
The :MTESt:STARt command starts the mask test. The :MTESt:STARt command
also starts the oscilloscope acquisition system.
Example This example starts the mask test and acquisition system.
myScope.WriteString ":MTESt:STARt"
:MTESt:STOP
Command :MTESt:STOP
The :MTESt:STOP command stops the mask test. The :MTESt:STOP command
does not stop the acquisition system.
Example This example stops the mask test.
myScope.WriteString ":MTESt:STOP"
:MTESt:STIMe
Command :MTESt:STIMe <timeout>
The :MTESt:STIMe command sets the timeout value for the Autoalign feature. If
the oscilloscope is unable to align the mask to your waveform within the specified
timeout value, it will stop trying to align and will report an alignment failure.
<timeout> An integer from 1 to 120 seconds representing the time between triggers (not the
time that it takes to finish the alignment.)
Example This example sets the timeout value for the Autoalign feature to 10 seconds.
myScope.WriteString ":MTESt:STIMe 10"
Query :MTESt:STIMe?
Example This example gets the timeout setting and prints the result on the computer
display.
myScope.WriteString ":MTESt:STIMe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MTESt:TITLe?
Query :MTESt:TITLe?
:MTESt:TRIGger:SOURce
Command :MTESt:TRIGger:SOURce CHANnel<N>
Query :MTESt:TRIGger:SOURce?
The query returns the currently selected mask test trigger source.
Returned Format [:MTESt:TRIGger:SOURce] CHANnel<N><NL>
Example This example gets the trigger source setting and prints the result on the computer
display.
Dim strAmask_source As String
myScope.WriteString ":MTESt:TRIGger:SOURce?"
strAmask_source = myScope.ReadString
Debug.Print strAmask_source
31 Measure Commands
:MEASure:AREA / 894
:MEASure:BER / 896
:MEASure:BERPeracq / 897
:MEASure:BINTerval / 898
:MEASure:BPERiod / 899
:MEASure:BWIDth / 900
:MEASure:CDRRate / 901
:MEASure:CGRade:CROSsing / 902
:MEASure:CGRade:DCDistortion / 903
:MEASure:CGRade:EHEight / 904
:MEASure:CGRade:ELOCation / 906
:MEASure:CGRade:EWIDth / 907
:MEASure:CGRade:EWIDth:THReshold / 909
:MEASure:CGRade:EWINdow / 910
:MEASure:CGRade:JITTer / 912
:MEASure:CGRade:OLEVel / 914
:MEASure:CGRade:QFACtor / 915
:MEASure:CGRade:ZLEVel / 916
:MEASure:CHARge (9000 Series, 9000H Series, S-Series) / 917
:MEASure:CLEar / 918
:MEASure:CROSsing / 919
:MEASure:CTCDutycycle / 920
:MEASure:CTCJitter / 922
:MEASure:CTCNwidth / 924
:MEASure:CTCPwidth / 926
:MEASure:DATarate / 928
:MEASure:DCAI / 930
:MEASure:DCAQ / 931
:MEASure:DCIPrime / 932
:MEASure:DCQPrime / 933
:MEASure:DEEMphasis / 934
:MEASure:DELTatime / 936
883
31 Measure Commands
:MEASure:DELTatime:DEFine / 938
:MEASure:DUTYcycle / 940
:MEASure:EDGE / 941
:MEASure:ERATio / 942
:MEASure:ETAEdges / 943
:MEASure:ETOedge / 944
:MEASure:FALLtime / 946
:MEASure:FFT:CPOWer / 948
:MEASure:FFT:DFRequency / 949
:MEASure:FFT:DMAGnitude / 951
:MEASure:FFT:FREQuency / 953
:MEASure:FFT:MAGNitude / 955
:MEASure:FFT:OBW / 957
:MEASure:FFT:PSD / 958
:MEASure:FREQuency / 959
:MEASure:HISTogram:FWHM / 961
:MEASure:HISTogram:HITS / 962
:MEASure:HISTogram:M1S / 963
:MEASure:HISTogram:M2S / 964
:MEASure:HISTogram:M3S / 965
:MEASure:HISTogram:MAX / 966
:MEASure:HISTogram:MEAN / 967
:MEASure:HISTogram:MEDian / 968
:MEASure:HISTogram:MIN / 969
:MEASure:HISTogram:MM3S / 970
:MEASure:HISTogram:MP3S / 971
:MEASure:HISTogram:MODE / 972
:MEASure:HISTogram:PEAK / 973
:MEASure:HISTogram:PP / 974
:MEASure:HISTogram:RESolution / 975
:MEASure:HISTogram:STDDev / 976
:MEASure:HOLDtime / 977
:MEASure:JITTer:HISTogram / 979
:MEASure:JITTer:MEASurement / 980
:MEASure:JITTer:SPECtrum / 981
:MEASure:JITTer:SPECtrum:HORizontal / 982
:MEASure:JITTer:SPECtrum:HORizontal:POSition / 983
:MEASure:JITTer:SPECtrum:HORizontal:RANGe / 984
:MEASure:JITTer:SPECtrum:RESolution / 985
:MEASure:JITTer:SPECtrum:VERTical / 986
:MEASure:JITTer:SPECtrum:VERTical:OFFSet / 987
:MEASure:JITTer:SPECtrum:VERTical:RANGe / 988
:MEASure:JITTer:SPECtrum:VERTical:TYPE / 989
:MEASure:JITTer:SPECtrum:WINDow / 990
:MEASure:JITTer:TRENd / 991
:MEASure:JITTer:TRENd:SMOoth / 992
:MEASure:JITTer:TRENd:SMOoth:POINts / 993
:MEASure:JITTer:TRENd:VERTical / 994
:MEASure:JITTer:TRENd:VERTical:OFFSet / 995
:MEASure:JITTer:TRENd:VERTical:RANGe / 996
:MEASure:MARK / 997
:MEASure:NAME / 998
:MEASure:NCJitter / 999
:MEASure:NOISe / 1001
:MEASure:NOISe:ALL? / 1003
:MEASure:NOISe:BANDwidth / 1005
:MEASure:NOISe:LOCation / 1006
:MEASure:NOISe:METHod / 1007
:MEASure:NOISe:REPort / 1008
:MEASure:NOISe:RN / 1009
:MEASure:NOISe:SCOPe:RN / 1010
:MEASure:NOISe:STATe / 1011
:MEASure:NOISe:UNITs / 1012
:MEASure:NPERiod / 1013
:MEASure:NPULses / 1014
:MEASure:NSIGma / 1015
:MEASure:NUI / 1016
:MEASure:NWIDth / 1017
:MEASure:OMAMplitude / 1018
:MEASure:OPOWer / 1019
:MEASure:OVERshoot / 1020
:MEASure:PAM:ELEVel / 1022
:MEASure:PAM:ESKew / 1024
:MEASure:PAM:EYE:ELMethod / 1026
:MEASure:PAM:EYE:ESTiming / 1027
:MEASure:PAM:EYE:PPERcent / 1028
:MEASure:PAM:EYE:PROBability / 1029
:MEASure:PAM:EYE:TIME:LTDefinition / 1030
:MEASure:PAM:LEVel / 1031
:MEASure:PAM:LRMS / 1033
:MEASure:PAM:LTHickness / 1035
:MEASure:PAM:PRBS13q:COUNt / 1037
:MEASure:PAM:PRBS13q:EDGE:EOJ / 1038
:MEASure:PAM:PRBS13q:EDGE:J3U / 1039
:MEASure:PAM:PRBS13q:EDGE:J4U / 1040
:MEASure:PAM:PRBS13q:EDGE:J6U / 1041
:MEASure:PAM:PRBS13q:EDGE:JRMS / 1042
:MEASure:PAM:PRBS13q:HUNits / 1043
:MEASure:PAM:PRBS13q:PATTern / 1044
:MEASure:PAM:PRBS13q:PFILe / 1045
:MEASure:PAM:PRBS13q:STATe / 1046
:MEASure:PAM:PRBS13q:UNITs / 1047
:MEASure:PAMPlitude / 1048
:MEASure:PBASe / 1049
:MEASure:PERiod / 1050
:MEASure:PHASe / 1052
:MEASure:PJITter / 1054
:MEASure:PLENgth / 1055
:MEASure:PN:CORRelations / 1056
:MEASure:PN:DESKew / 1057
:MEASure:PN:EDGE / 1058
:MEASure:PN:HORizontal:STARt / 1059
:MEASure:PN:HORizontal:STOP / 1060
:MEASure:PN:RSSC / 1061
:MEASure:PN:SOURce / 1062
:MEASure:PN:SPURs / 1064
:MEASure:PN:SSENsitivity / 1065
:MEASure:PN:STATe / 1066
:MEASure:PN:VERTical:REFerence / 1067
:MEASure:PN:VERTical:SCALe / 1068
:MEASure:PN:WINDow / 1069
:MEASure:PPContrast / 1070
:MEASure:PPULses / 1071
:MEASure:PREShoot / 1072
:MEASure:PTOP / 1074
:MEASure:PWIDth / 1075
:MEASure:QUALifier<M>:CONDition / 1076
:MEASure:QUALifier<M>:SOURce / 1077
:MEASure:QUALifier<M>:STATe / 1078
:MEASure:RESults? / 1079
:MEASure:RISetime / 1083
:MEASure:RJDJ:ALL? / 1085
:MEASure:RJDJ:APLength? / 1087
:MEASure:RJDJ:BANDwidth / 1088
:MEASure:RJDJ:BER / 1089
:MEASure:RJDJ:CLOCk / 1091
:MEASure:RJDJ:EDGE / 1093
:MEASure:RJDJ:INTerpolate / 1094
:MEASure:RJDJ:METHod / 1095
:MEASure:RJDJ:MODE / 1096
:MEASure:RJDJ:PAMThreshold / 1097
:MEASure:RJDJ:PLENgth / 1098
:MEASure:RJDJ:REPort / 1099
:MEASure:RJDJ:RJ / 1100
:MEASure:RJDJ:SCOPe:RJ / 1101
:MEASure:RJDJ:SCOPe:RJ:CALibrate / 1102
:MEASure:RJDJ:SOURce / 1103
:MEASure:RJDJ:STATe / 1104
:MEASure:RJDJ:TJRJDJ? / 1105
:MEASure:RJDJ:UNITs / 1107
:MEASure:SCRatch / 1108
:MEASure:SENDvalid / 1109
:MEASure:SER / 1110
:MEASure:SERPeracq / 1111
:MEASure:SETuptime / 1112
:MEASure:SLEWrate / 1114
:MEASure:SOURce / 1116
:MEASure:STATistics / 1117
:MEASure:TEDGe / 1118
:MEASure:THResholds:ABSolute / 1119
:MEASure:THResholds:DISPlay / 1120
:MEASure:THResholds:GENAUTO / 1121
:MEASure:THResholds:GENeral:ABSolute / 1122
:MEASure:THResholds:GENeral:HYSTeresis / 1124
:MEASure:THResholds:GENeral:METHod / 1126
:MEASure:THResholds:GENeral:PAMCustom / 1128
:MEASure:THResholds:GENeral:PAMAutomatic / 1130
:MEASure:THResholds:GENeral:PERCent / 1132
:MEASure:THResholds:GENeral:TOPBase:ABSolute / 1134
:MEASure:THResholds:GENeral:TOPBase:METHod / 1136
:MEASure:THResholds:HYSTeresis / 1137
:MEASure:THResholds:METHod / 1139
:MEASure:THResholds:PERCent / 1140
:MEASure:THResholds:RFALl:ABSolute / 1141
:MEASure:THResholds:RFALl:METHod / 1143
:MEASure:THResholds:RFALl:PAMAutomatic / 1145
:MEASure:THResholds:RFALl:PERCent / 1147
:MEASure:THResholds:RFALl:TOPBase:ABSolute / 1149
:MEASure:THResholds:RFALl:TOPBase:METHod / 1151
:MEASure:THResholds:SERauto / 1152
:MEASure:THResholds:SERial:ABSolute / 1153
:MEASure:THResholds:SERial:HYSTeresis / 1155
:MEASure:THResholds:SERial:METHod / 1157
:MEASure:THResholds:SERial:PERCent / 1158
:MEASure:THResholds:SERial:TOPBase:ABSolute / 1160
:MEASure:THResholds:SERial:TOPBase:METHod / 1162
:MEASure:THResholds:TOPBase:ABSolute / 1163
:MEASure:THResholds:TOPBase:METHod / 1164
:MEASure:TIEClock2 / 1165
:MEASure:TIEData2 / 1167
:MEASure:TIEFilter:DAMPing / 1168
:MEASure:TIEFilter:SHAPe / 1169
:MEASure:TIEFilter:STARt / 1170
:MEASure:TIEFilter:STATe / 1171
:MEASure:TIEFilter:STOP / 1172
:MEASure:TIEFilter:TYPE / 1173
:MEASure:TMAX / 1174
:MEASure:TMIN / 1175
:MEASure:TVOLt / 1176
:MEASure:UITouijitter / 1178
:MEASure:UNDershoot / 1179
:MEASure:UNITinterval / 1183
:MEASure:VAMPlitude / 1185
:MEASure:VAVerage / 1186
:MEASure:VBASe / 1187
:MEASure:VLOWer / 1188
:MEASure:VMAX / 1189
:MEASure:VMIDdle / 1190
:MEASure:VMIN / 1191
:MEASure:VOVershoot / 1192
:MEASure:VPP / 1193
:MEASure:VPReshoot / 1194
:MEASure:VRMS / 1195
:MEASure:VTIMe / 1197
:MEASure:VTOP / 1198
:MEASure:VUNDershoot / 1199
:MEASure:VUPPer / 1200
:MEASure:WINDow / 1201
:MEASure:XCORtie / 1202
:MEASure:ZTMAX / 1203
:MEASure:ZTMIN / 1204
:MEASurement<N>:CLEar / 1205
:MEASurement<N>:NAME / 1206
:MEASurement<N>:POSition / 1207
:MEASurement<N>:SOURce / 1208
:MEASurement<N>:ZTMAX / 1209
:MEASurement<N>:ZTMIN / 1210
where:
Measurement To make a measurement, the portion of the waveform required for that
Setup measurement must be displayed on the oscilloscope.
• For a period or frequency measurement, at least one and a half complete cycles
must be displayed.
• For a pulse width measurement, the entire pulse must be displayed.
• For a rise time measurement, the leading (positive-going) edge of the
waveform must be displayed.
• For a fall time measurement, the trailing (negative-going) edge of the waveform
must be displayed.
In jitter mode with jitter statistics enabled, measurements are made on all data
regardless of what is on screen.
User-Defined If you choose to set user-defined thresholds, they must be set before actually
Thresholds sending the measurement command or query.
Measurement If a measurement cannot be made because of a lack of data, because the source
Error waveform is not displayed, the requested measurement is not possible (for
example, a period measurement on an FFT waveform), or for some other reason,
the following results are returned:
• 9.99999E+37 is returned as the measurement result.
• If SENDvalid is ON, the error code is also returned as well as the questionable
value.
Making If more than one period, edge, or pulse is displayed, time measurements are made
Measurements on the first, left-most portion of the displayed waveform.
When any of the defined measurements are requested, the oscilloscope first
determines the top (100%) and base (0%) voltages of the waveform. From this
information, the oscilloscope determines the other important voltage values (10%,
90%, and 50% voltage values) for making measurements.
The 10% and 90% voltage values are used in the rise time and fall time
measurements when standard thresholds are selected. The 50% voltage value is
used for measuring frequency, period, pulse width, and duty cycle with standard
thresholds selected.
You can also make measurements using user-defined thresholds instead of the
standard thresholds.
When the command form of a measurement is used, the oscilloscope is placed in
the continuous measurement mode. The measurement result will be displayed on
the front panel. There may be a maximum of 20 measurements running
continuously. Use the :MEASure:CLEar command to turn off the measurements.
When the query form of the measurement is used, the measurement is made one
time, and the measurement result is returned.
• If the current acquisition is complete, the current acquisition is measured and
the result is returned.
• If the current acquisition is incomplete and the oscilloscope is running,
acquisitions will continue to occur until the acquisition is complete. The
acquisition will then be measured and the result returned.
• If the current acquisition is incomplete and the oscilloscope is stopped, the
measurement result will be 9.99999e+37 and the incomplete result state will be
returned if SENDvalid is ON.
Because measurement results queries can potentially return before tasks complete
(see Chapter 8, “Sequential (Blocking) vs. Overlapped Commands,” starting on
page 215), these queries should always follow a wait for commands to complete
(see Chapter 9, “Using :PDER? Instead of *OPC?,” starting on page 217).
All measurements are made using the entire display, except for VAVerage and
VRMS which allow measurements on a single cycle. Therefore, if you want to make
measurements on a particular cycle, display only that cycle on the screen.
If the waveform is clipped, the measurement result may be questionable. In this
case, the value returned is the most accurate value that can be made using the
current scaling. You might be able to obtain a more accurate measurement by
adjusting the vertical scale to prevent the waveform from being clipped.
Note that you can concatenate measurement queries for much faster throughput.
For example:
:MEASure:VPP? CHANnel1;:MEASure:FREQuency? CHANnel2
When you do this, however, values are returned as a single query result, separated
by semicolons.
:MEASure:AREA
Command :MEASure:AREA [CYCLe[,<source>[,<direction>]]]
:MEASure:AREA [DISPlay[,<source>]]
:MEASure:AREA? [DISPlay[,<source>]]
Example This example places the current selection for the area to be measured in the string
variable, strSelection, then prints the contents of the variable to the computer's
screen.
Dim strSelection As String
myScope.WriteString ":MEASure:AREA?"
strSelection = myScope.ReadString
Debug.Print strSelection
Version 5.70: Added a RISing or FALLing edge parameter when measuring a single
cycle of the waveform.
:MEASure:BER
Command :MEASure:BER <source>
The :MEASure:BER? query returns the measured cumulative bit error rate value.
Returned Format [:MEASure:BER] <value><NL>
:MEASure:BERPeracq
Command :MEASure:BERPeracq <source>
The :MEASure:BERPeracq? query returns the measured bit error rate per
acquisition value.
Returned Format [:MEASure:BERPeracq] <value><NL>
:MEASure:BINTerval
Command :MEASure:BINTerval <source>, <idle time>
The :MEASure:BINTerval command measures the amount of time between the end
of a burst and beginning of the next burst. The idle time is the minimum time
between bursts.
The Burst Interval measurement builds on top of the Burst Width measurement.
Two Burst Widths must be identified in order to measure the interval between
bursts. To measure a Burst Width, idles are required before and after the burst.
Therefore, to measure a Burst Interval, an idle-burst-idle-burst-idle sequence
must be captured by the oscilloscope.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
<idle time> Minimum amount of idle time between bursts.
Example This example measures the burst interval between two bursts on channel 4 (and
with an idle time of 5 microseconds)
myScope.WriteString ":MEASure:BINTerval CHAN4, 5e-6"
:MEASure:BPERiod
Command :MEASure:BPERiod <source>, <idle time>
:MEASure:BWIDth
Command :MEASure:BWIDth <source>,<idle_time>
The :MEASure:BWIDth? query returns the width of the burst being measured.
Returned Format [:MEASure:BWIDth ]<burst_width><NL>
Example This example returns the width of the burst being measured, in the string variable,
strBurstwidth, then prints the contents of the variable to the computer's screen.
Dim strBurstwidth As String
myScope.WriteString ":MEASure:BWIDth? CHANnel1,1E-6"
strBurstwidth = myScope.ReadString
Debug.Print strBurstwidth
:MEASure:CDRRate
Command :MEASure:CDRRate <source>
The :MEASure:CDRRate command determines the data rate (clock recovery rate)
from the clock recovery method being used. It yields one data point per acquisition
so trending cannot be performed on this measurement.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MSPectrum | MTRend | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
Example This example measures the clock recovery rate of channel 1.
myScope.WriteString ":MEASure:CDRRate CHANnel1"
The :MEASure:CDRRate? query returns the data rate (clock recovery rate) for the
source waveform.
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
N OT E
• Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
• Sending the ":ANALyze:AEDGes ON" command.
Example This example places the current data rate of the channel 1 waveform in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CDRRate? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MEASure:CGRade:CROSsing
Command :MEASure:CGRade:CROSsing [<source>]
:MEASure:CGRade:DCDistortion
Command :MEASure:CGRade:DCDistortion <format> [,<source>]
:MEASure:CGRade:EHEight
Command :MEASure:CGRade:EHEight <algorithm>[,<source>[,<threshold>]]
Example This example places the current eye height in the numeric variable, varValue, then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CGRade:EHEight?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MEASure:CGRade:ELOCation
Command :MEASure:CGRade:ELOCation {FIND | CLOCk}[, <source>]
:MEASure:CGRade:EWIDth
Command :MEASure:CGRade:EWIDth <algorithm>[,<source>[,<threshold>[,<units>]]]
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example places the current eye width in the numeric variable, varValue, then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CGRade:EWIDth?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MEASure:CGRade:EWIDth:THReshold
Command :MEASure:CGRade:EWIDth:THReshold {AUTomatic | SPECified}[, <source>]
:MEASure:CGRade:EWINdow
Command :MEASure:CGRade:EWINdow <start>,<stop>[,<start_after>][,<source>]
The following example returns the values for the eye window.
Example myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CGRade:EWINdow?"
varStart,Stop,Startafter = myScope.ReadNumber
Debug.Print FormatNumber(varStart,Stop,Startafter, 0)
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which the color grade eye window is applied.
:MEASure:CGRade:JITTer
Command :MEASure:CGRade:JITTer <format>[,<source>[,<units>]]
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which the color grade jitter is measured.
Version 6.60: Added the ability to select units in UNITinterval or SECond (which
was the default before).
:MEASure:CGRade:OLEVel
Command :MEASure:CGRade:OLEVel [<source>]
:MEASure:CGRade:QFACtor
Command :MEASure:CGRade:QFACtor [<source>]
:MEASure:CGRade:ZLEVel
Command :MEASure:CGRade:ZLEVel [<source>]
Query :MEASure:CHARge?
Example This example places the measured Charge value in the string variable, strCharge,
then prints the contents of the variable to the computer's screen.
Dim strCharge As String
myScope.WriteString ":MEASure:CHARge?"
strCharge = myScope.ReadString
Debug.Print strCharge
:MEASure:CLEar
Command :MEASure:{CLEar | SCRatch}
The :MEASure:CLEar command clears the measurement results from the screen
and disables all previously enabled measurements.
Example This example clears the current measurement results from the screen.
myScope.WriteString ":MEASure:CLEar"
:MEASure:CROSsing
Command :MEASure:CROSsing <source1>,<source2>
:MEASure:CTCDutycycle
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:CTCDutycycle <source>,<direction>
The :MEASure:CTCDutycycle? query returns the cycle-to-cycle duty cycle jitter (%)
measurement.
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
N OT E
• Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
• Sending the ":ANALyze:AEDGes ON" command.
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MEASure:CTCJitter
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:CTCJitter <source>,<direction>
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
N OT E
• Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
• Sending the ":ANALyze:AEDGes ON" command.
:MEASure:CTCNwidth
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:CTCNwidth [<source>]
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
N OT E
• Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
• Sending the ":ANALyze:AEDGes ON" command.
:MEASure:CTCPwidth
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:CTCPwidth [<source>]
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
N OT E
• Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
• Sending the ":ANALyze:AEDGes ON" command.
:MEASure:DATarate
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
The :MEASure:DATarate command measures the data rate in bits per second for
the selected source. Use the :MEASure:UNITinterval command/query to measure
the unit interval of the source
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
<data_rate> A real number specifying the data rate.
Example This example measures the data rate of channel 1.
myScope.WriteString ":MEASure:DATarate CHANnel1"
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
N OT E
• Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
• Sending the ":ANALyze:AEDGes ON" command.
<value> Data rate frequency in bits per second for the selected source.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current data rate of the channel 1 waveform in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:DATarate? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MEASure:DCAI
Command :MEASure:DCAI [<source>]
The :MEASure:DCAI? query returns the measured duty cycle adjustment value for
the I phase of a DDR5 DQS (strobe) signal.
Returned Format [:MEASure:DCAI] <value>[,<result_state>]<NL>
:MEASure:DCAQ
Command :MEASure:DCAQ [<source>]
The :MEASure:DCAQ? query returns the measured duty cycle adjustment value for
the Q phase of a DDR5 DQS (strobe) signal.
Returned Format [:MEASure:DCAQ] <value>[,<result_state>]<NL>
:MEASure:DCIPrime
Command :MEASure:DCIPrime [<source>]
The :MEASure:DCIPrime? query returns the measured duty cycle adjustment value
for the I' (I prime) phase of a DDR5 DQS (strobe) signal.
Returned Format [:MEASure:DCIPrime] <value>[,<result_state>]<NL>
<value> The duty cycle adjustment for I' value in NR3 format.
<result_state> If :MEASure:SENDvalid is ON, the result state is returned with the measurement
result. See the :MEASure:RESults table in this chapter for a list of the result states.
See Also • ":MEASure:DCAI" on page 930
• ":MEASure:DCAQ" on page 931
• ":MEASure:DCQPrime" on page 933
History New in version 6.71.
:MEASure:DCQPrime
Command :MEASure:DCQPrime [<source>]
<value> The duty cycle adjustment for Q' value in NR3 format.
<result_state> If :MEASure:SENDvalid is ON, the result state is returned with the measurement
result. See the :MEASure:RESults table in this chapter for a list of the result states.
See Also • ":MEASure:DCAI" on page 930
• ":MEASure:DCAQ" on page 931
• ":MEASure:DCIPrime" on page 932
History New in version 6.71.
:MEASure:DEEMphasis
Command :MEASure:DEEMphasis [<source>]
When the Jitter and Vertical Noise Analysis Software is licensed, the Deemphasis
serial data measurement becomes available.
The :MEASure:DEEMphasis command adds the deemphasis measurement.
The de-emphasis measurement relies on the clock recovery to recover a clock for
each bit in the data waveform. You need to configure clock recovery appropriately
for your signal.
Sources are specified with the :MEASure:SOURce command or with the optional
parameter following the :MEASure:DEEMphasis command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
Example This example adds the deemphasis measurement on the channel 1 source.
myScope.WriteString ":MEASure:DEEMphasis CHANnel1"
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
N OT E
• Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
• Sending the ":ANALyze:AEDGes ON" command.
<value> For every de-emphasis bit in the waveform, a value is computed using:
20 * log10(de-emphasis voltage / transition voltage)
Where:
• Transition voltage is the voltage at the clock location of the preceding
transition bit.
• De-emphasis voltage is the voltage at the clock location of de-emphasis bits
following a transition bit.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value for deemphasis in the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:DEEMphasis? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MEASure:DELTatime
Command :MEASure:DELTatime [<source>[,<source>]]
The :MEASure:DELTatime command measures the delta time between two edges.
If one source is specified, the delta time from the leading edge of the specified
source to the trailing edge of the specified source is measured. If two sources are
specified, the delta time from the leading edge on the first source to the trailing
edge on the second source is measured.
Sources are specified with the :MEASure:SOURce command or with the optional
parameter following the :MEASure:DELTatime command. The rest of the
parameters for this command are specified with the :MEASure:DEFine command.
The necessary waveform edges must be present on the display. The query will
return 9.99999E+37 if the necessary edges are not displayed.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
Example This example measures the delta time between channel 1 and channel 2.
myScope.WriteString ":MEASure:DELTatime CHANnel1,CHANnel2"
<value> Delta time from the first specified edge on one source to the next specified edge
on another source.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value of delta time in the numeric variable,
varValue, then prints the contents of the variable to the computer's screen. This
example assumes the source was set using :MEASure:SOURce.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:DELTatime?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MEASure:DELTatime:DEFine
Command :MEASure:DELTatime:DEFine <start_edge_direction>,<start_edge_number>,
<start_edge_position>,<stop_edge_direction>,<stop_edge_number>,
<stop_edge_position>
Query :MEASure:DELTatime:DEFine?
Example This example places the current value of delta time definition in the string variable,
strValue, then prints the contents of the variable to the computer's screen. This
example assumes the source was set using :MEASure:SOURce.
Dim strValue As String ' Dimension variable.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:DELTatime:DEFine?"
strValue = myScope.ReadString
Debug.Print strValue
:MEASure:DUTYcycle
Command :MEASure:DUTYcycle [<source>[,<direction>]]
The :MEASure:DUTYcycle command measures the ratio (%) of the positive pulse
width to the period.
Sources are specified with the :MEASure:SOURce command or with the optional
<source> parameter following the :MEASure:DUTYcycle command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
<direction> {RISing | FALLing}
Specifies whether the duty cycle is measured from rising edge to rising edge or
from falling edge to falling edge. When <direction> is specified, the <source>
parameter is required.
When the "Measure All Edges" mode is OFF (see ":ANALyze:AEDGes" on
page 273), the RISing and FALLing options specify whether the first rising or falling
edge from the left side of the display grid is used.
When the "Measure All Edges" mode is ON, the RISing and FALLing options
specify whether whether the duty cycle is measured from rising edge to rising
edge or from falling edge to falling edge throughout the acquisition.
Example This example measures the duty cycle of the channel 1 waveform.
myScope.WriteString ":MEASure:DUTYcycle CHANnel1"
The :MEASure:DUTYcycle? query returns the measured duty cycle (%) of the
specified source.
Returned Format [:MEASure:DUTYcycle] <value>[,<result_state>]<NL>
<value> The ratio (%) of the positive pulse width to the period.
<result_state> If :MEASure:SENDvalid is ON, the result state is returned with the measurement
result. See the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current duty cycle of the channel 1 waveform in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:DUTYcycle? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MEASure:EDGE
Command :MEASure:EDGE [<source>[,<direction>]]
The :MEASure:EDGE? query returns the measured edge time of the specified
source.
Returned Format [:MEASure:DUTYcycle] <value>[,<result_state>]<NL>
:MEASure:ERATio
Command :MEASure:ERATio [<source>[,{RATio | DB | PERCent}]]
The :MEASure:ERATio command measures the ratio of the one level and the zero
level of an eye diagram of an optical signal.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
{RATio | DB | Specifies the extinction-ratio correction factor units in Ratio, Decibel, or
PERCent} percentage.
Query :MEASure:ERATio? [<source>[,{RATio | DB | PERCent}]]
The Extinction Ratio measurement will give a question mark ("?") result if:
N OT E
• The dark calibration has not been performed at all.
• The vertical sensitivity, offset, or sample rate has changed since the dark calibration was run.
• The probe temperature has changed by > 2 degrees C.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
See Also • ":MEASure:OMAMplitude" on page 1018
• ":MEASure:OPOWer" on page 1019
• ":MEASure:CGRade:OLEVel" on page 914
• ":MEASure:CGRade:ZLEVel" on page 916
History New in version 5.70.
:MEASure:ETAEdges
Command :MEASure:ETAEdges <source>[, <n-pulses>[, <direction>]]
:MEASure:ETOedge
Command :MEASure:ETOedge <source_1>,<direction_1>,<position_1>,<next_prev>,
<relative_edge_number>,<source_2>,<direction_2>,<position_2>
The :MEASure:ETOedge command measures the delta time between two edges. It
is similar to the delta time measurement, but can be applied to the measurement
trend. It also enables you to set whether the measurement is between an edge
before or after a specific edge and the number of edges to move forward or
backwards.
The necessary waveform edges must be present on the display. The query will
return 9.99999E+37 if the necessary edges are not displayed.
The Edge-Edge measurement requires all edges. When you add it, the "Measure
All Edges" mode (see ":ANALyze:AEDGes" on page 273) is automatically set to
ON. When the "Measure All Edges" mode is set to OFF, this measurement cannot
be made, and there are no measurement results.
When this measurement is tracked with markers, markers are displayed at the
measurement nearest to the timebase reference location.
<source_1>, {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
<source_2> CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
<direction_1>, May be RISing, FALLing, or BOTH
<direction_2>
<position_1>, May be UPPer, MIDDle, or LOWer
<position_2>
<next_prev> May be NEXT or PREVious
<relative_edge_nu An integer that is the relative number of the second edge.
mber>
Query :MEASure:ETOedge? <source_1>,<direction_1>,<position_1>,<next_prev>,
<relative_edge_number>,<source_2>,<direction_2>,<position_2>
The :MEASure:ETOedge? query returns the delta time between the two specified
edges.
Returned Format [:MEASure:ETOedge] <value>[,<result_state>]<NL>
:MEASure:FALLtime
Command :MEASure:FALLtime [<source>[,<start_level>,<stop_level>]]
The :MEASure:FALLtime? query returns the fall time of the specified source.
Returned Format [:MEASure:FALLtime] <value>[,<result_state>]<NL>
:MEASure:FFT:CPOWer
Command :MEASure:FFT:CPOWer <source>,<center_freq>,<meas_bw>
:MEASure:FFT:DFRequency
Command :MEASure:FFT:DFRequency <source>,<peak1_number>,<peak2_number>,<level>
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example sets up an FFT Magnitude math function on channel 4 and measures
the delta frequency between FFT peaks 2 and 4 using a threshold level of -47.0
dBm.
' Response headers off:
myScope.WriteString ":SYSTem:HEADer OFF"
' Install the FFT delta frequency measurement between peaks 2 and 4
' using a peak threshold level of -47 dBm:
myScope.WriteString ":MEASure:FFT:DFRequency FUNCtion4,2,4,-47.0"
:MEASure:FFT:DMAGnitude
Command :MEASure:FFT:DMAGnitude <source>,<peak1_number>,<peak2_number>,<level>
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example sets up an FFT Magnitude math function on channel 4 and measures
the delta magnitude between FFT peaks 2 and 4 using a threshold level of
-47.0 dBm.
' Response headers off:
myScope.WriteString ":SYSTem:HEADer OFF"
' Install the FFT delta magnitude measurement between peaks 2 and 4
' using a peak threshold level of -47 dBm:
myScope.WriteString ":MEASure:FFT:DMAGnitude FUNCtion4,2,4,-47.0"
:MEASure:FFT:FREQuency
Command :MEASure:FFT:FREQuency <source>,<peak_number>,<level>
The :MEASure:FFT:FREQuency? query returns the frequency value of the FFT peak.
Returned Format [:MEASure:FFT:FREQuency] <frequency>[,<result_state>]<NL>
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example sets up an FFT Magnitude math function on channel 4 and measures
the frequency of FFT peak 2 using a threshold level of -47.0 dBm.
' Response headers off:
myScope.WriteString ":SYSTem:HEADer OFF"
' Install the FFT frequency measurement on peak number 2 using a peak
' threshold level of -47 dBm:
myScope.WriteString ":MEASure:FFT:FREQuency FUNCtion4,2,-47.0"
Version 6.20: The command and query now include peak number and level
parameters.
:MEASure:FFT:MAGNitude
Command :MEASure:FFT:MAGNitude <source>,<peak_number>,<level>
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example sets up an FFT Magnitude math function on channel 4 and measures
the magnitude of FFT peak 2 using a threshold level of -47.0 dBm.
' Response headers off:
myScope.WriteString ":SYSTem:HEADer OFF"
' Install the FFT magnitude measurement on peak number 2 using a peak
' threshold level of -47 dBm:
myScope.WriteString ":MEASure:FFT:MAGNitude FUNCtion4,2,-47.0"
:MEASure:FFT:OBW
Command :MEASure:FFT:OBW <source>,<occupied_bw_pct>
:MEASure:FFT:PSD
Command :MEASure:FFT:PSD <source>,<center_freq>,<meas_bw>
:MEASure:FREQuency
Command :MEASure:FREQuency [<source>[,<direction>]]
<value> The frequency value in Hertz of the first complete cycle on the screen using the
mid-threshold levels of the waveform.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current frequency of the waveform in the numeric
variable, varFreq, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:FREQuency? CHANnel1"
varFreq = myScope.ReadNumber
Debug.Print FormatNumber(varFreq, 0)
:MEASure:HISTogram:FWHM
Command :MEASure:HISTogram:FWHM
:MEASure:HISTogram:HITS
Command :MEASure:HISTogram:HITS [<source>]
:MEASure:HISTogram:M1S
Command :MEASure:HISTogram:M1S [<source>]
<value> The percentage of points within one standard deviation of the mean of the
histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the percentage of points within one standard deviation of the
mean of the current histogram and prints the result to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:M1S? WMEMory1"
varHistm1s = myScope.ReadNumber
Debug.Print FormatNumber(varHistm1s, 0)
:MEASure:HISTogram:M2S
Command :MEASure:HISTogram:M2S [<source>]
<value> The percentage of points within two standard deviations of the mean of the
histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the percentage of points within two standard deviations of
the mean of the current histogram and prints the result to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:M2S? WMEMory1"
varHistm2s = myScope.ReadNumber
Debug.Print FormatNumber(varHistm2s, 0)
:MEASure:HISTogram:M3S
Command :MEASure:HISTogram:M3S [<source>]
<value> The percentage of points within three standard deviations of the mean of the
histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result. For
a list of the result states, refer to the MEASure:RESults command.
Example This example returns the percentage of points within three standard deviations of
the mean of the current histogram and prints the result to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:M3S? WMEMory1"
varHistm3s = myScope.ReadNumber
Debug.Print FormatNumber(varHistm3s, 0)
:MEASure:HISTogram:MAX
Command :MEASure:HISTogram:MAX [<source>]
:MEASure:HISTogram:MEAN
Command :MEASure:HISTogram:MEAN [<source>]
:MEASure:HISTogram:MEDian
Command :MEASure:HISTogram:MEDian [<source>]
:MEASure:HISTogram:MIN
Command :MEASure:HISTogram:MIN [<source>]
:MEASure:HISTogram:MM3S
Command :MEASure:HISTogram:MM3S [<source>]
<value> The mean minus three standard deviations value in NR3 format.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result. For
a list of the result states, refer to the :MEASure:RESults command.
See Also • ":MEASure:SOURce" on page 1116
• ":MEASure:HISTogram:MP3S" on page 971
• ":FUNCtion<F>:MHIStogram" on page 627
• ":HISTogram:MODE" on page 658
• ":MEASure:RESults?" on page 1079
History New in version 6.55.
:MEASure:HISTogram:MP3S
Command :MEASure:HISTogram:MP3S [<source>]
<value> The mean plus three standard deviations value in NR3 format.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result. For
a list of the result states, refer to the :MEASure:RESults command.
See Also • ":MEASure:SOURce" on page 1116
• ":MEASure:HISTogram:MM3S" on page 970
• ":FUNCtion<F>:MHIStogram" on page 627
• ":HISTogram:MODE" on page 658
• ":MEASure:RESults?" on page 1079
History New in version 6.55.
:MEASure:HISTogram:MODE
Command :MEASure:HISTogram:MODE [<source>]
:MEASure:HISTogram:PEAK
Command :MEASure:HISTogram:PEAK [<source>]
:MEASure:HISTogram:PP
Command :MEASure:HISTogram:PP [<source>]
:MEASure:HISTogram:RESolution
Command :MEASure:HISTogram:RESolution [<source>]
:MEASure:HISTogram:STDDev
Command :MEASure:HISTogram:STDDev [<source>]
:MEASure:HOLDtime
Command :MEASure:HOLDtime
[<data_source>,<data_source_dir>,<clock_source>,<clock_ source_dir>]
The :MEASure:HOLDtime command measures the hold time between the specified
clock and data sources.
This measurement requires all edges. When you add it, the "Measure All Edges"
mode (see ":ANALyze:AEDGes" on page 273) is automatically set to ON. When the
"Measure All Edges" mode is set to OFF, this measurement cannot be made, and
there are no measurement results.
<data_source>, {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
<clock_source> CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
<data_source {RISing | FALLing | BOTH}
_dir>
Selects the direction of the data source edge.
<clock_source {RISing | FALLing}
_dir>
Selects the direction of the clock source edge.
Example This example measures the hold time from the rising edge of channel 1 to the
rising edge of channel 2.
myScope.WriteString ":MEASure:HOLDtime CHAN1,RIS,CHAN2,RIS"
Query :MEASure:HOLDtime?
[<data_source>,<data_source_dir>,<clock_source>,<clock_ source_dir>]
The :MEASure:HOLDtime? query returns the measured hold time between the
specified clock and data source.
The necessary waveform edges must be present on the display. Also, the "Measure
All Edges" mode must be set (use the :ANALyze:AEDGes command or
:MEASure:HOLDtime command before the query).
The query will return 9.99999E+37 if the necessary edges are not displayed or if
the "Measure All Edges" mode is not currently set.
Returned Format {:MEASure:SETuptime] <value><NL>
See Also Refer to the :MEASure:RESults? query for information on the results returned and
how they are affected by the SENDvalid command. Refer to the individual
measurements for information on how the result state is returned.
See Also • ":ANALyze:AEDGes" on page 273
History Legacy command (existed before version 3.10).
:MEASure:JITTer:HISTogram
Command
This command is available only when the Jitter Analysis Software license is installed. Note,
N OT E
however, that you can also use the :FUNCtion<F>:MHIStogram command to display a
measurement histogram.
Query :MEASure:JITTer:HISTogram?
Example This example places the current setting of the jitter spectrum mode in the variable
varSetting, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:HISTogram?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:MEASure:JITTer:MEASurement
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:JITTer:MEASurement {MEASurement<N>}
When <N> is 10-40, the long form of the mnemonic, MEASurement<N>, is too long. In this
N OT E
case, you must use the short form, MEAS<N>.
Query :MEASure:JITTer:MEASurement?
Example This example places the current measurement number that you are performing
jitter analysis on in the string variable strSetting, then prints the contents of the
variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:MEASurement?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:JITTer:SPECtrum
Command
This command is available only when the Jitter Analysis Software license is installed. Note,
N OT E
however, that you can also use the :FUNCtion<F>:MTRend command to display a
measurement trend waveform and then the :FUNCtion<F>:FFTMagnitude command to display
the spectrum of the measurement trend waveform.
Query :MEASure:JITTer:SPECtrum?
Example This example places the current setting of the jitter spectrum mode in the variable
varSetting, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:SPECtrum?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:MEASure:JITTer:SPECtrum:HORizontal
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:JITTer:SPECtrum:HORizontal {MANual}
Query :MEASure:JITTer:SPECtrum:HORizontal?
Example This example places the current setting of the jitter trend horizontal mode in the
string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:SPECtrum:HORizontal?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:JITTer:SPECtrum:HORizontal:POSition
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:JITTer:SPECtrum:HORizontal:POSition <position>
Query :MEASure:JITTer:SPECtrum:HORizontal:POSition?
:MEASure:JITTer:SPECtrum:HORizontal:RANGe
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:JITTer:SPECtrum:HORizontal:RANGe <range>
Query :MEASure:JITTer:SPECtrum:HORizontal:RANGe?
:MEASure:JITTer:SPECtrum:RESolution
Query :MEASure:JITTer:SPECtrum:RESolution?
:MEASure:JITTer:SPECtrum:VERTical
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:JITTer:SPECtrum:VERTical {MANual}
Query :MEASure:JITTer:SPECtrum:VERTical?
Example This example places the current setting of the jitter spectrum vertical mode in the
string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:SPECtrum:VERTical?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:JITTer:SPECtrum:VERTical:OFFSet
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:JITTer:SPECtrum:VERTical:OFFSet <offset>
Query :MEASure:JITTer:SPECtrum:VERTical:OFFSet?
:MEASure:JITTer:SPECtrum:VERTical:RANGe
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:JITTer:SPECtrum:VERTical:RANGe <range>
Query :MEASure:JITTer:SPECtrum:VERTical:RANGe?
:MEASure:JITTer:SPECtrum:VERTical:TYPE
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
Query :MEASure:JITTer:SPECtrum:VERTical:TYPE?
Example This example places the current jitter spectrum plot vertical scale setting in the
string variable strType, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:SPECtrum:VERTical:TYPE?"
strType = myScope.ReadString
Debug.Print strType
:MEASure:JITTer:SPECtrum:WINDow
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
Query :MEASure:JITTer:SPECtrum:WINDow?
Example This example places the current setting of the jitter spectrum window mode in the
string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:SPECtrum:WINDow?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:JITTer:TRENd
Command
This command is available only when the Jitter Analysis Software license is installed. Note,
N OT E
however, that you can also use the :FUNCtion<F>:MTRend command to display a
measurement trend waveform.
Query :MEASure:JITTer:TRENd?
The :MEASure :JITTer:TRENd? query returns the state of jitter trend display.
Returned Format [:MEASure:JITTer:TRENd] {1 | 0}
Example This example places the current setting of the jitter trend mode in the string
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:TRENd?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:JITTer:TRENd:SMOoth
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
Query :MEASure:JITTer:TRENd:SMOoth?
Example This example places the current setting of the jitter trend smoothing mode in the
string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:TRENd:SMOoth?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:JITTer:TRENd:SMOoth:POINts
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:JITTer:TRENd:SMOoth:POINts <points>
Query :MEASure:JITTer:TRENd:SMOoth:POINts?
:MEASure:JITTer:TRENd:VERTical
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
Query :MEASure:JITTer:TRENd:VERTical?
Example This example places the current setting of the jitter trend vertical mode in the
string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:TRENd:VERTical?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:JITTer:TRENd:VERTical:OFFSet
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:JITTer:TRENd:VERTical:OFFSet <offset>
Query :MEASure:JITTer:TRENd:VERTical:OFFSet?
:MEASure:JITTer:TRENd:VERTical:RANGe
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:JITTer:TRENd:VERTical:RANGe <range>
Query :MEASure:JITTer:TRENd:VERTical:RANGe?
:MEASure:MARK
Command :MEASure:MARK <meas_name>,{{0 | OFF} | {1 | ON}}
<marker_state> ::= {0 | 1}
If the marker measurement does not apply or cannot be made or if the marker
state is 0 (OFF), the infinity representation value (9.99999E+37) is returned.
See Also • ":MEASurement<N>:NAME" on page 1206
• ":MEASure:RESults?" on page 1079
History New in version 6.30.
:MEASure:NAME
Command :MEASure:NAME {MEAS1 | MEAS2 | MEAS3 | ... | MEAS20},<name>
:MEASure:NCJitter
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:NCJitter <source>,<direction>,<n>,<start>
The :MEASure:NCJitter? query returns the measured N cycle jitter time of the
waveform.
Returned Format [:MEASure:NCJitter] <value>[,<result_state>]<NL>
:MEASure:NOISe
Command
This command is available only when the Jitter and Vertical Noise Analysis Software license is
N OT E
installed.
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
N OT E
• Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
• Sending the ":ANALyze:AEDGes ON" command.
<measured_value> The measured "zeros", "ones", or both noise value in volts or unit amplitude.
Example This example places the measurement result in the varMeasuredNoise variable.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe? CHANnel1,VOLT,ONE"
varMeasuredNoise = myScope.ReadNumber
Debug.Print FormatNumber(varMeasuredNoise, 0)
:MEASure:NOISe:ALL?
Query
This command is available only when the Jitter and Vertical Noise Analysis Software license is
N OT E
installed.
The :MEASure:NOISe:ALL? query returns the NOISe measurement results for the
specified level. The parameters TWO and THRee are available for PAM-4 signals.
These values are returned as comma separated values using the following format:
Returned Format [:MEASure:NOISe:ALL<space>]
TI(<format>),<result>,<state>,
RN(<format>),<result>,<state>,
DI(<format>),<result>,<state>,
PI(<format>),<result>,<state>,
ABUI(<format>),<result>,<state>,
BUI(<format>),<result>,<state>,
ISI(<format>),<result>,<state>,
Count,<number_of_bits>,<state>,
Level,<nominal_level>,<state>,
Eye Height(<format>),<result>,<state>,<NL>
Whether some of these values are included or not depends on the setting of
N OT E
:MEASure:NOISe:METHod and :MEASure:NOISe:REPort.
For example, when :MEASure:NOISe:REPort or :MEASure:NOISe:METHod is SPECtral, the BUI
and ABUI values are not returned, and there are two PI values (one "rms" and one "dd").
Example This example places the noise measurement result for "ones" in the strResults
variable and displays it on the computer's screen.
Dim strResult As String ' Dimension variable.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:ALL? ONE"
strResults = myScope.ReadString
Debug.Print strResults
:MEASure:NOISe:BANDwidth
Command
This command is available only when the Jitter and Vertical Noise Analysis Software license is
N OT E
installed.
Query :MEASure:NOISe:BANDwidth?
Example This example places the RN filter setting the strFilter variable and displays it on
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:BANDwidth?"
strFilter = myScope.ReadString
Debug.Print strFilter
:MEASure:NOISe:LOCation
Command
This command is available only when the Jitter and Vertical Noise Analysis Software license is
N OT E
installed.
:MEASure:NOISe:LOCation <location>
Query :MEASure:NOISe:LOCation?
Example This example places the measurement location setting the varLocation variable
and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:LOCation?"
varLocation = myScope.ReadNumber
Debug.Print FormatNumber(varLocation, 0)
:MEASure:NOISe:METHod
Command
This command is available only when the Jitter and Vertical Noise Analysis Software license is
N OT E
installed.
The :MEASure:NOISe:METHod command lets you select the method for random
noise (RN) analysis, either the SPECtral method or BOTH the spectral and tail fit
methods.
When analyzing noise with crosstalk or ground bounce effects present in your
signal, select BOTH. When this option is selected, the deterministic interference
(DI) that is uncorrelated to the data pattern, also known as bounded uncorrelated
interference (BUI), is separated into periodic interference (PI) and aperiodic
bounded uncorrelated interference (ABUi). ABUi is caused by crosstalk and ground
bounce effects.
When there are no crosstalk or ground bounce effects present in your signal, you
can select the SPECtral method in order to run faster. When this option is
selected, the deterministic interference (DI) that is uncorrelated to the data pattern
is all reported as periodic interference (PI).
Example This example sets NOISe method to BOTH the spectral and tail fit analysis.
myScope.WriteString ":MEASure:NOISe:METHod BOTH"
Query :MEASure:NOISe:METHod?
Example This example places the NOISe method setting the strNoiseMethod variable and
displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:METHod?"
strNoiseMethod = myScope.ReadString
Debug.Print strNoiseMethod
:MEASure:NOISe:REPort
Command
This command is available only when the Jitter and Vertical Noise Analysis Software license is
N OT E
installed.
Query :MEASure:NOISe:REPort?
Example This example places the report setting in the strReportSetting variable and
displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:REPort?"
strReportSetting = myScope.ReadString
Debug.Print strReportSetting
:MEASure:NOISe:RN
Command
This command is available only when the Jitter and Vertical Noise Analysis Software license is
N OT E
installed.
Query :MEASure:NOISe:RN?
:MEASure:NOISe:SCOPe:RN
Command
This command is available only when the Jitter and Vertical Noise Analysis Software license is
N OT E
installed.
Query :MEASure:NOISe:SCOPe:RN?
:MEASure:NOISe:STATe
Command
This command is available only when the Jitter and Vertical Noise Analysis Software license is
N OT E
installed.
Query :MEASure:NOISe:STATe?
Example This example places the current state of the NOISe measurements in the varState
variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:STATe?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)
:MEASure:NOISe:UNITs
Command
This command is available only when the Jitter and Vertical Noise Analysis Software license is
N OT E
installed.
Query :MEASure:NOISe:UNITs?
The :MEASure:NOISe:UNITs? query returns the units of measure being used for the
NOISe measurements.
Returned Format [:MEASure:NOISe:UNITs] {VOLT | UNIT}<NL>
Example This example places the current units of measure for the NOISe measurements in
the strUnits variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:UNITs?"
strUnits = myScope.ReadString
Debug.Print strUnits
:MEASure:NPERiod
Command :MEASure:NPERiod <source>, <slope>, <N>
Query :MEASure:NPERiod?
:MEASure:NPULses
Command :MEASure:NPULses <source>
Query :MEASure:NPULses?
This query returns the result for the NPULses measurement.
History Legacy command (existed before version 3.10).
:MEASure:NSIGma
Command :MEASure:NSIGma [<source>[, {PCIE | IEEE}]]
The PRBS13Q pattern provides runs of at least six consecutive identical PAM-4
symbols at each of the PAM-4 levels.
See the oscilloscope's online help for more information on the Sigma-n PAM-4
measurement.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | WMEMory<R> | FUNCtion<F> |
EQUalized<L>}
Query :MEASure:NSIGma? <source>
:MEASure:NUI
Command :MEASure:NUI <source>, <N>
Query :MEASure:NUI?
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
N OT E
• Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
• Sending the ":ANALyze:AEDGes ON" command.
:MEASure:NWIDth
Command :MEASure:NWIDth [<source>]
The :MEASure:NWIDth command measures the width of the first negative pulse on
the screen using the mid-threshold levels of the waveform (50% levels with
standard threshold selected). Sources are specified with the :MEASure:SOURce
command or with the optional parameter following the :MEASure:NWIDth
command.
The algorithm is:
If the first edge on the screen is rising,
then
nwidth = time at the second rising edge - time at the first
falling edge
else
nwidth = time at the first rising edge - time at the first
falling edge
The :MEASure:NWIDth? query returns the measured width of the first negative
pulse of the specified source.
Returned Format [:MEASure:NWIDth] <value>[,<result_state>]<NL>
<value> The width of the first negative pulse on the screen using the mid-threshold levels
of the waveform.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current width of the first negative pulse on the screen in
the numeric variable, varWidth, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NWIDth? CHANnel1"
varWidth = myScope.ReadNumber
Debug.Print FormatNumber(varWidth, 0)
:MEASure:OMAMplitude
Command :MEASure:OMAMplitude [<source>][,{WATT | DBM}]
:MEASure:OPOWer
Command :MEASure:OPOWer [<source>][,{WATT | DBM}]
:MEASure:OVERshoot
Command :MEASure:OVERshoot [<source>[,<direction>]]
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MEASure:PAM:ELEVel
Command :MEASure:PAM:ELEVel [<source>[,<threshold>]]
<value> ::= the vertical center value of the specified PAM-4 eye in NR3
format.
:MEASure:PAM:ESKew
Command :MEASure:PAM:ESKew [<source>[,<threshold>[,<units>]]]
<value> The horizontal center skew value of the specified PAM-4 eye in NR3 format.
See Also • ":ANALyze:CLOCk:METHod:SKEW" on page 290
• ":ANALyze:SIGNal:DATarate" on page 298
• ":ANALyze:SIGNal:SYMBolrate" on page 310
• ":ANALyze:SIGNal:TYPE" on page 312
• ":MEASure:CGRade:EWIDth" on page 907
• ":MEASure:CGRade:EHEight" on page 904
• ":MEASure:PAM:EYE:PROBability" on page 1029
• ":MEASure:FALLtime" on page 946
• ":MEASure:PAM:ELEVel" on page 1022
• ":MEASure:PAM:LEVel" on page 1031
• ":MEASure:PAM:LRMS" on page 1033
• ":MEASure:PAM:LTHickness" on page 1035
• ":MEASure:RISetime" on page 1083
• ":MEASure:THResholds:DISPlay" on page 1120
• ":MEASure:THResholds:GENeral:METHod" on page 1126
• ":MEASure:THResholds:GENeral:PAMCustom" on page 1128
:MEASure:PAM:EYE:ELMethod
Command :MEASure:PAM:EYE:ELMethod <method>
:MEASure:PAM:EYE:ESTiming
Command :MEASure:PAM:EYE:ESTiming <timing>
:MEASure:PAM:EYE:PPERcent
Command :MEASure:PAM:EYE:PPERcent <percentage>
:MEASure:PAM:EYE:PROBability
Command :MEASure:PAM:EYE:PROBability {ZHITs | PROBability,<probability>}
:MEASure:PAM:EYE:TIME:LTDefinition
Command :MEASure:PAM:EYE:TIME:LTDefinition <method>
:MEASure:PAM:LEVel
Command :MEASure:PAM:LEVel [<source>[,<level>]]
The :MEASure:PAM:LEVel? query returns the measured mean voltage value of the
specified PAM-4 level.
Returned Format [:MEASure:PAM:LEVel] <value><NL>
<value> ::= the mean voltage value of the specified PAM-4 level in NR3 f
ormat.
:MEASure:PAM:LRMS
Command :MEASure:PAM:LRMS [<source>[,<level>]]
The :MEASure:PAM:LRMS? query returns the measured RMS voltage value of the
specified PAM-4 level.
Returned Format [:MEASure:PAM:LRMS] <value><NL>
<value> ::= the RMS voltage value of the specified PAM-4 level in NR3 fo
rmat.
:MEASure:PAM:LTHickness
Command :MEASure:PAM:LTHickness [<source>[,<level>]]
<value> ::= the thickness value of the specified PAM-4 level in NR3 form
at.
:MEASure:PAM:PRBS13q:COUNt
Command :MEASure:PAM:PRBS13q:COUNt <report_count>
:MEASure:PAM:PRBS13q:EDGE:EOJ
Query :MEASure:PAM:PRBS13q:EDGE:EOJ?
When the signal type is PAM-4 and PRBS13Q edge (12-edge) jitter measurements
are enabled (by the :MEASure:PAM:PRBS13q:STATe command), the
:MEASure:PAM:PRBS13q:EDGE:EOJ? query returns the measured
PRBS13Q even-odd jitter (EOJ) values.
Returned Format <comma-separated_values><NL>
:MEASure:PAM:PRBS13q:EDGE:J3U
Query :MEASure:PAM:PRBS13q:EDGE:J3U?
When the signal type is PAM-4 and PRBS13Q edge (12-edge) jitter measurements
are enabled (by the :MEASure:PAM:PRBS13q:STATe command), the
:MEASure:PAM:PRBS13q:EDGE:J3U? query returns the measured PRBS13Q J3u
values.
Returned Format <comma-separated_values><NL>
:MEASure:PAM:PRBS13q:EDGE:J4U
Query :MEASure:PAM:PRBS13q:EDGE:J4U?
When the signal type is PAM-4 and PRBS13Q edge (12-edge) jitter measurements
are enabled (by the :MEASure:PAM:PRBS13q:STATe command), the
:MEASure:PAM:PRBS13q:EDGE:J4U? query returns the measured PRBS13Q J4u
values.
Returned Format <comma-separated_values><NL>
:MEASure:PAM:PRBS13q:EDGE:J6U
Query :MEASure:PAM:PRBS13q:EDGE:J6U?
When the signal type is PAM-4 and PRBS13Q edge (12-edge) jitter measurements
are enabled (by the :MEASure:PAM:PRBS13q:STATe command), the
:MEASure:PAM:PRBS13q:EDGE:J6U? query returns the measured PRBS13Q J6U
values.
Returned Format <comma-separated_values><NL>
:MEASure:PAM:PRBS13q:EDGE:JRMS
Query :MEASure:PAM:PRBS13q:EDGE:JRMS?
When the signal type is PAM-4 and PRBS13Q edge (12-edge) jitter measurements
are enabled (by the :MEASure:PAM:PRBS13q:STATe command), the
:MEASure:PAM:PRBS13q:EDGE:JRMS? query returns the measured
PRBS13Q Jrms values.
Returned Format <comma-separated_values><NL>
:MEASure:PAM:PRBS13q:HUNits
Command :MEASure:PAM:PRBS13q:HUNits <graph_scale>
:MEASure:PAM:PRBS13q:PATTern
Command :MEASure:PAM:PRBS13q:PATTern {P13Q | PCI6 | FILE}
:MEASure:PAM:PRBS13q:PFILe
Command :MEASure:PAM:PRBS13q:PFILe <full-path_string>
:MEASure:PAM:PRBS13q:STATe
Command :MEASure:PAM:PRBS13q:STATe <source>, {{ON | 1} | {OFF | 0}}
<setting> ::= {1 | 0}
:MEASure:PAM:PRBS13q:UNITs
Command :MEASure:PAM:PRBS13q:UNITs <units>
:MEASure:PAMPlitude
Command :MEASure:PAMPlitude [<source>, <width>, <direction>]
:MEASure:PBASe
Command :MEASure:PBASe <source>, <pulse width percent>
The :MEASure:PBASe? query returns the average pulse base of the data of a
negative pulse within the specified pulse window.
History Legacy command (existed before version 3.10).
:MEASure:PERiod
Command :MEASure:PERiod [<source>[,<direction>]]
The :MEASure:PERiod command measures the period of the first complete cycle
on the screen using the mid-threshold levels of the waveform (50% levels with
standard measurements selected).
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the :MEASure:PERiod command.
The algorithm is:
If the first edge on the screen is rising,
then
period = second rising edge time - first rising edge time
else
period = second falling edge time - first falling edge time
The :MEASure:PERiod? query returns the measured period of the specified source.
Returned Format [:MEASure:PERiod] <value>[,<result_state>]<NL>
:MEASure:PHASe
Command :MEASure:PHASe [<source>[,<source>[,<direction>]]]
<value> Phase angle from the first edge on the first source to the first edge on the second
source.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current phase angle value between channel 1 and
channel 2 in the variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:PHASe? CHANnel1,CHANnel2"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MEASure:PJITter
Command :MEASure:PJITter PNOise, <start_freq>, <stop_freq>[, {SRMS | DBC}]
:MEASure:PLENgth
Command :MEASure:PLENgth <source>
:MEASure:PN:CORRelations
Command :MEASure:PN:CORRelations <number>
:MEASure:PN:DESKew
Command :MEASure:PN:DESKew
:MEASure:PN:EDGE
Command :MEASure:PN:EDGE {RISing | FALLing | EITHer}
:MEASure:PN:HORizontal:STARt
Command :MEASure:PN:HORizontal:STARt <start_offset>
For the phase noise analysis single-sideband (SSB) frequency offset plot, the
:MEASure:PN:HORizontal:STARt command specifies the left side of the horizontal
log frequency scale.
<start_offset> Start offset frequency in Hz in NR3 format.
Query :MEASure:PN:HORizontal:STARt?
:MEASure:PN:HORizontal:STOP
Command :MEASure:PN:HORizontal:STOP <stop_offset>
For the phase noise analysis single-sideband (SSB) frequency offset plot, the
:MEASure:PN:HORizontal:STOP command specifies the right side of the horizontal
log frequency scale.
<stop_offset> Stop offset frequency in Hz in NR3 format.
Query :MEASure:PN:HORizontal:STOP?
:MEASure:PN:RSSC
Command :MEASure:PN:RSSC {{0 | OFF} | {1 | ON}}
If your clock source uses spread-spectrum clocking (SSC) and the FLATtop FFT
windowing function is selected, you can use the :MEASure:PN:RSSC command to
enable or disable the removal of the SSC effects from the phase noise analysis
results.
Query :MEASure:PN:RSSC?
<setting> ::= {0 | 1}
:MEASure:PN:SOURce
Command :MEASure:PN:SOURce <source1>[, <source2>]
The :MEASure:PN:SOURce? query returns the phase noise analysis clock source
setup.
Returned Format [:MEASure:PN:SOURce] <options><NL>
:MEASure:PN:SPURs
Command :MEASure:PN:SPURs {NORMalized | OMIT | POWer}
:MEASure:PN:SSENsitivity
Command :MEASure:PN:SSENsitivity <spur_sensitivity>
When omitting spurs from the phase noise analysis single-sideband (SSB)
frequency offset plot, or when displaying them in power (dBc) instead of the
default normalized (dBc/Hz) scale, the :MEASure:PN:SSENsitivity command
specifies the sensitivity used in identifying spurs.
<spur_sensitivity> 0.1 to 10.0 in NR3 format.
Query :MEASure:PN:SSENsitivity?
:MEASure:PN:STATe
Command :MEASure:PN:STATe {{0 | OFF} | {1 | ON}}
The :MEASure:PN:STATe? query returns the phase noise analysis state setting.
Returned Format [:MEASure:PN:STATe] <setting><NL>
<setting> ::= {0 | 1}
:MEASure:PN:VERTical:REFerence
Command :MEASure:PN:VERTical:REFerence <level>
:MEASure:PN:VERTical:SCALe
Command :MEASure:PN:VERTical:SCALe <scale_value>
:MEASure:PN:WINDow
Command :MEASure:PN:WINDow <window_type>
:MEASure:PPContrast
Command :MEASure:PPContrast [<source>]
:MEASure:PPULses
Command :MEASure:PPULses <source>
Query :MEASure:PPULses?
This query returns the result for the PPULses measurement.
History Legacy command (existed before version 3.10).
:MEASure:PREShoot
Command :MEASure:PREShoot [<source>][,<direction>]
The :MEASure:PREShoot command measures the preshoot of the first edge on the
screen. Sources are specified with the :MEASure:SOURce command or with the
optional parameter following the :MEASure:PREShoot command.
The algorithm is:
If the first edge on the screen is rising,
then
preshoot = (Vbase - Local Vmin) / Vamplitude
else
preshoot = (Local Vmax - Vtop) / Vamplitude
varPreshoot = myScope.ReadNumber
Debug.Print FormatNumber(varPreshoot, 0)
:MEASure:PTOP
Command :MEASure:PTOP <source>, <pulse width percent>
The :MEASure:PTOP? query returns the average of the data of a positive pulse
within the specified pulse window.
History Legacy command (existed before version 3.10).
:MEASure:PWIDth
Command :MEASure:PWIDth [<source>]
The :MEASure:PWIDth command measures the width of the first positive pulse on
the screen using the mid-threshold levels of the waveform (50% levels with
standard measurements selected). Sources are specified with the
:MEASure:SOURce command or with the optional parameter following the
:MEASure:PWIDth command.
The algorithm is:
If the first edge on the screen is rising,
then
pwidth = time at the first falling edge - time at the
first rising edge
else
pwidth = time at the second falling edge - time at the
first rising edge
Query :MEASure:PWIDth?[<source>]
The :MEASure:PWIDth? query returns the measured width of the first positive
pulse of the specified source.
Returned Format [:MEASure:PWIDth] <value>[,<result_state>]<NL>
:MEASure:QUALifier<M>:CONDition
Command :MEASure:QUALifier<M>:CONDition {HIGH | LOW |
INSide | OUTSide}
Query :MEASure:QUALifier<M>:CONDition?
Example This example places the current condition of level qualifier for timing
measurements in the source variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:QUALifier2:CONDition?"
varSource = myScope.ReadNumber
Debug.Print FormatNumber(varSource, 0)
:MEASure:QUALifier<M>:SOURce
Command
The channel being selected must not be used to make a timing measurement and must be
N OT E
turned on.
:MEASure:QUALifier<M>:SOURce <source>
Query :MEASure:QUALifier<M>:SOURce?
Example This example places the current source of level qualifier for timing measurements
in the source variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:QUALifier2:SOURce?"
varSource = myScope.ReadNumber
Debug.Print FormatNumber(varSource, 0)
:MEASure:QUALifier<M>:STATe
Command :MEASure:QUALifier<M>:STATe {{ON | 1} | {OFF | 0}}
Query :MEASure:QUALifier<M>:STATe?
Example This example places the current state of the level qualifier for timing
measurements in the state variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:QUALifier2:STATe?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)
:MEASure:RESults?
Query :MEASure:RESults? [AORDered | GORDered]
<result_list> A list of the measurement results separated with commas. The following shows the
order of values received for a single measurement if :MEASure:STATistics is set to
ON.
Min, max, mean, std dev, and # of meas are returned only if :MEASure:STATistics is
ON. The result state is returned only if :MEASure:SENDvalid is ON. See Table 14
for the meaning of the result state codes.
If the :MEASure:STATistics is set to CURRENT, MAX, MEAN, MIN, or STDDEV only
that particular statistic value is returned for each displayed measurement.
Example This example places the current results of the measurements in the string variable,
strResult, then prints the contents of the variable to the computer's screen.
Dim strResult As String ' Dimension variable.
myScope.WriteString ":MEASure:RESults?"
strResult = myScope.ReadString
Debug.Print strResult
Code Description
0 Result correct. No problem found.
1 Result questionable but could be measured.
2 Result less than or equal to value returned.
3 Result greater than or equal to value returned.
4 Result returned is invalid.
5 Result invalid. Required edge not found.
6 Result invalid. Max not found.
7 Result invalid. Min not found.
8 Result invalid. Requested time not found.
9 Result invalid. Requested voltage not found.
10 Result invalid. Top and base are equal.
11 Result invalid. Measurement zone too small.
12 Result invalid. Lower threshold not on waveform.
13 Result invalid. Upper threshold not on waveform.
14 Result invalid. Upper and lower thresholds are too close.
15 Result invalid. Top not on waveform.
16 Result invalid. Base not on waveform.
17 Result invalid. Completion criteria not reached.
18 Result invalid. Measurement invalid for this type of waveform.
19 Result invalid. Waveform is not displayed.
20 Result invalid. Waveform is clipped high.
21 Result invalid. Waveform is clipped low.
22 Result invalid. Waveform is clipped high and low.
23 Result invalid. Data contains all holes.
24 Result invalid. No data on screen.
29 Result invalid. FFT peak not found.
30 Result invalid. Eye pattern not found.
31 Result invalid. No NRZ eye pattern found.
Code Description
32 Result invalid. The Extinction Ratio measurement will display a question
mark ("?") result if:
• The dark calibration has not been performed at all.
• The vertical sensitivity, offset, or sample rate has changed since the
dark calibration was run.
• The probe temperature has changed by > 2 °C.
For more information on the extinction ratio measurement, see
":MEASure:ERATio" on page 942.
33 Result invalid. There is more than one source on creating the database.
35 Signal may be too small to evaluate.
36 Result invalid. Awaiting completion of averaging.
38 A clock signal waveform or an alternating ones and zeros data signal
waveform is expected.
39 Result invalid. Need jitter package to make this measurement or must be
in jitter mode to make this measurement.
40 Current measurement is not on screen.
41 Not enough points available to recover the clock.
42 The loop bandwidth of the PLL is too high to recover the clock.
43 RJDJ pattern not found in data.
45 Clock recovery mode is not permitted.
46 Too much jitter to make a RJDJ separation.
52 Signals have a different X-increment or sample rate.
53 Signals do not cross.
54 The signal has too many periodic characteristics for arbitrary analyisis.
55 Ran out of memory computing measurement.
56 Lower threshold not on waveform, but noise is okay.
57 Upper threshold not on waveform, but noise is okay.
59 Too much noise to do noise separation.
60 Measurement is not valid for the specified signal type.
61 Measurement requires an open eye and there is no open eye. Applying
equalization may be able to open the eye.
62 Measurement does not apply for this configuration.
63 Measurement will not work for this responsivity. See
":CHANnel<N>:PROBe:RESPonsivity" on page 405.
Code Description
64 The cross-correlation time range is too big. Lower the memory depth.
65 Invalid edge polarity.
66 Carrier frequency is not available.
:MEASure:RISetime
Command :MEASure:RISetime [<source>[,<start_level>,<stop_level>]]
The :MEASure:RISetime command measures the rise time of the first displayed
edge by measuring the time at the lower threshold of the rising edge, measuring
the time at the upper threshold of the rising edge, then calculating the rise time
with the following algorithm:
Rise time = time at upper threshold point - time at lower threshold point.
Sources are specified with the :MEASure:SOURce command or with the optional
parameter following the RISetime command.
Four or more sample points on the rising edge of the waveform are required to
make this measurement (one above the upper threshold, one below the lower
threshold, and two between the thresholds).
With standard thresholds selected, the lower threshold is at the 10% point and the
upper threshold is at the 90% point on the rising edge.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
<start_level>, When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the <start_level> and
<stop_level> <stop_level> parameters are integers that identify the edge to measure. For
PAM-4, the levels may be from 0-3.
For PAM rise time measurements, "Measure All Edges" must be turned on (see
:ANALyze:AEDGes).
Example This example measures the rise time of the channel 1 waveform.
myScope.WriteString ":MEASure:RISEtime CHANnel1"
The :MEASure:RISetime? query returns the rise time of the specified source.
Returned Format [:MEASure:RISetime] <value>[,<result_state>]<NL>
Example This example places the current value of rise time in the numeric variable, varRise,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RISEtime? CHANnel1"
varRise = myScope.ReadNumber
Debug.Print FormatNumber(varRise, 0)
:MEASure:RJDJ:ALL?
Query
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:RJDJ:ALL?
The :MEASure:RJDJ:ALL? query returns all of the RJDJ jitter measurements. These
values are returned as comma separated triples of values using the following
format:
Returned Format [:MEASure:RJDJ:ALL<space>]
TJ(<format>),<result>,<state>,
RJ(<format>),<result>,<state>,
DJ(<format>),<result>,<state>,
PJ(<format>),<result>,<state>,
BUJ(<format>),<result>,<state>,
DDJ(<format>),<result>,<state>,
DCD,<result>,<state>,
ISI(<format>),<result>,<state>,
Transitions,<number_of_transitions>,<transitions_state>,
Scope RJ(<format>),<result>,<state>,
DDPWS,<result>,<state>,
F/2,<result>,<state>,
ABUJ(<format>),<result>,<state><NL>
Whether some of these values are included or not depends on the setting of
N OT E
:MEASure:RJDJ:METHod and :MEASure:RJDJ:REPort.
For example, when :MEASure:RJDJ:REPort or :MEASure:RJDJ:METHod is SPECtral, the BUJ
and ABUJ values are not returned, and there are two PJ values (one "rms" and one "dd").
Otherwise, the query results are for the specific threshold level specified in the
:MEASure:RJDJ:PAMThreshold command.
<space> White space (ASCII 32) character.
<format> The format value tells you something about how the measurement is made. For
instance, TJ(1E-12) means that the TJ measurement was derived using a bit error
rate of 1E-12. A format of (rms) means the measurement is a root-mean-square
measurement. A format of (dd) means the measurement uses a dual-Dirac delta
model to derive the measurement. A format of (pp) means the measurement is a
peak-to-peak measurement.
<result> The measured results for the RJDJ measurements. A value of 9.99999E+37 means
that the oscilloscope was unable to make the measurement.
<state> The measurement result state. See Table 14 for a list of values and descriptions of
the result state value.
<number_of_ The number of waveform transitions that have been measured.
transitions>
Example This example places the jitter measures in the strResults variable and displays it on
the computer's screen.
Dim strResult As String ' Dimension variable.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:ALL?"
strResults = myScope.ReadString
Debug.Print strResults
:MEASure:RJDJ:APLength?
Query
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:RJDJ:APLength?
:MEASure:RJDJ:BANDwidth
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
Query :MEASure:RJDJ:BANDwidth?
Example This example places the RJ filter setting the varFilter variable and displays it on
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:BANDwidth?"
varFilter = myScope.ReadNumber
Debug.Print FormatNumber(varFilter, 0)
:MEASure:RJDJ:BER
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
The :MEASure:RJDJ:BER command sets the bit error rate for the Total Jitter (TJ)
measurement. The E and J parameters have the following bit error rate meanings:
• E6 = 1E-6
• E7 = 1E-7
• E8 = 1E-8
• E9 = 1E-9
• E10 = 1E-10
• E11 = 1E-11
• E12 = 1E-12
• E13 = 1E-13
• E14 = 1E-14
• E15 = 1E-15
• E16 = 1E-16
• E17 = 1E-17
• E18 = 1E-18
• J2 = 2.5E-3
• J4 = 2.5E-5
• J5 = 2.5E-6
• J9 = 2.5E-10
Example This example sets the bit error rate to E16.
myScope.WriteString ":MEASure:RJDJ:BER E16"
Query :MEASure:RJDJ:BER?
Example This example places the bit error rate in the varRate variable and displays it on the
computer's screen.
:MEASure:RJDJ:CLOCk
Command
This command is available when the Jitter Analysis Software license is installed.
N OT E
Query :MEASure:RJDJ:CLOCk?
Example This example places the current RJDJ clock setting in the strSetting variable and
displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:CLOCk?"
strSetting = myScope.ReadNumber
Debug.Print strSetting
:MEASure:RJDJ:CREFerence
Command :MEASure:RJDJ:CREFerence {0 | 1 | 2 | 3}
<ui_from_edge> ::= {0 | 1 | 2 | 3}
:MEASure:RJDJ:EDGE
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
The :MEASure:RJDJ:EDGE command sets the edge used for the RJDJ
measurements.
Example This example sets the RJDJ edge to use both edges.
myScope.WriteString ":MEASure:RJDJ:EDGE BOTH"
Query :MEASure:RJDJ:EDGE?
The :MEASure:RJDJ:EDGE? query returns the edge being used for the RJDJ
measurements.
Returned Format [:MEASure:RJDJ:EDGE] {RIS | FALL | BOTH}<NL>
Example This example places the current edge being used for RJDJ measurements in the
varEdge variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:EDGE?"
varEdge = myScope.ReadNumber
Debug.Print FormatNumber(varEdge, 0)
:MEASure:RJDJ:INTerpolate
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
Query :MEASure:RJDJ:INTerpolate?
Example This example places the current interpolation mode being used for RJDJ
measurements in the interpolate variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:INTerpolate?"
varInterpolate = myScope.ReadNumber
Debug.Print FormatNumber(varInterpolate, 0)
:MEASure:RJDJ:METHod
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
The :MEASure:RJDJ:METHod command lets you select the method for random
jitter (RJ) analysis, either the SPECtral method or BOTH the spectral and tail fit
methods.
When analyzing jitter with crosstalk or ground bounce effects present in your
signal, select BOTH. When this option is selected, the deterministic jitter (DJ) that
is uncorrelated to the data pattern, also known as bounded uncorrelated jitter
(BUJ), is separated into periodic jitter (PJ) and aperiodic bounded uncorrelated
jitter (ABUJ). ABUJ is caused by crosstalk and ground bounce effects.
When there are no crosstalk or ground bounce effects present in your signal, you
can select the SPECtral method in order to run faster. When this option is
selected, the deterministic jitter (DJ) that is uncorrelated to the data pattern is all
reported as periodic jitter (PJ).
Example This example sets the RJDJ method to BOTH the spectral and tail fit analysis.
myScope.WriteString ":MEASure:RJDJ:METHod BOTH"
Query :MEASure:RJDJ:METHod?
Example This example places the RJDJ method setting the strJitterMethod variable and
displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:METHod?"
strJitterMethod = myScope.ReadString
Debug.Print strJitterMethod
:MEASure:RJDJ:MODE
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
Query :MEASure:RJDJ:MODE?
:MEASure:RJDJ:PAMThreshold
Command :MEASure:RJDJ:PAMThreshold <level>
:MEASure:RJDJ:PLENgth
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:RJDJ:PLENgth {AUTO
| {ARBitrary,<isi_filter_lead>,<isi_filter_lag>}
| <number_of_bits>}
Query :MEASure:RJDJ:PLENgth?
The :MEASure:RJDJ:PLENgth? query returns the number of bits being used for the
RJDJ measurements when Periodic pattern length is set. For Arbitrary pattern
length, the ISI filter lead and filter lag numbers are returned.
Returned Format [MEASure:RJDJ:PLENgth] {AUTO
| ARBitrary,<isi_filter_lead>,<isi_filter_lag>
| <number_of_bits>}<NL>
Example This example places the current number of bits for RJDJ measurements in the
varBits variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:PLENgth?"
varBits = myScope.ReadNumber
Debug.Print FormatNumber(varBits, 0)
:MEASure:RJDJ:REPort
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
When the :MEASure:RJDJ:METHod BOTH command selects both the spectral and
tail fit methods for random jitter analysis, the :MEASure:RJDJ:REPort command
specifies which method is used for the reports in the jitter graphs/histograms and
Jitter tab measurements.
Example This example specifies that the RJDJ report include measurements from both the
spectral and tail fit analysis (including aperiodic bounded uncorrelated jitter ABUJ
measurements).
myScope.WriteString ":MEASure:RJDJ:REPort TAILfit"
Query :MEASure:RJDJ:REPort?
Example This example places the report setting in the strReportSetting variable and
displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:REPort?"
strReportSetting = myScope.ReadString
Debug.Print strReportSetting
:MEASure:RJDJ:RJ
Command
This command is available when the EZJIT Plus software is installed.
N OT E
Query :MEASure:RJDJ:RJ?
:MEASure:RJDJ:SCOPe:RJ
Command
This command is available when the EZJIT Plus software is installed.
N OT E
Query :MEASure:RJDJ:SCOPe:RJ?
:MEASure:RJDJ:SCOPe:RJ:CALibrate
Command :MEASure:RJDJ:SCOPe:RJ:CALibrate
:MEASure:RJDJ:SOURce
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:RJDJ:SOURce <source>
Query :MEASure:RJDJ:SOURce?
The :MEASure:RJDJ:SOURce? query returns the source being used for the RJDJ
measurements.
Returned Format [:MEASure:RJDJ:SOURce] <source><NL>
Example This example places the current source for RJDJ measurements in the varSource
variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:SOURce?"
varSource = myScope.ReadNumber
Debug.Print FormatNumber(varSource, 0)
:MEASure:RJDJ:STATe
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
Query :MEASure:RJDJ:STATe?
Example This example places the current state of the RJDJ measurements in the varState
variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:STATe?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)
:MEASure:RJDJ:TJRJDJ?
Query
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:RJDJ:TJRJDJ?
The :MEASure:RJDJ:TJRJDJ? query returns the Total Jitter (TJ), Random Jitter
(RJ), and the Deterministic Jitter (DJ) measurements. These values are returned as
comma separated triples of values using the following format:
Returned Format [:MEASure:RJDJ:TJRJDJ] TJ(<tj_format>),<tj_result>,<tj_state>,
RJ(<rj_format>),<rj_result>,<rj_state>,
DJ(<dj_format>),<dj_result>,<dj_state><NL>
Otherwise, the query results are for the specific threshold level specified in the
:MEASure:RJDJ:PAMThreshold command.
<tj_format> The format value tells you something about how the measurement is made. For
<rj_format> instance, TJ(1E-12) means that the TJ measurement was derived using a bit error
<dj_format> rate of 1E-12. A format of (rms) means the measurement is a root-mean-square
measurement. A format of (d-d) means the measurement uses from a dual-Dirac
delta model used to derive the measurement. A format of (p-p) means the
measurement is a peak-to-peak measurement.
<tj_result> The measured results for the RJDJ measurements. A value of 9.99999E+37 means
<rj_result> that the oscilloscope was unable to make the measurement.
<dj_result>
<tj_state> The measurement result state. See Table 14 for a list of values and descriptions of
<rj_state> the result state value.
<dj_state>
Example This example places the Total Jitter (TJ), Random Jitter (RJ), and the Deterministic
Jitter (DJ) measurements in the strResults variable and displays it on the
computer's screen.
:MEASure:RJDJ:UNITs
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
Query :MEASure:RJDJ:UNITs?
The :MEASure:RJDJ:UNITs? query returns the units of measure being used for the
RJDJ measurements.
Returned Format [:MEASure:RJDJ:UNITs] {SECond | UNITinterval}<NL>
Example This example places the current units of measure for the RJDJ measurements in
the varUnits variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:UNITs?"
varUnits = myScope.ReadNumber
Debug.Print FormatNumber(varUnits, 0)
:MEASure:SCRatch
Command :MEASure:{SCRatch | CLEar}
:MEASure:SENDvalid
Command :MEASure:SENDvalid {{OFF|0} | {ON|1}}
Query :MEASure:SENDvalid?
The :MEASure:SENDvalid? query returns the state of the send valid control.
Returned Format {:MEASure:SENDvalid] {0 | 1}<NL>
Example This example places the current mode for SENDvalid in the string variable,
strMode, then prints the contents of the variable to the computer's screen.
Dim strMode As String ' Dimension variable.
myScope.WriteString ":MEASure:SENDvalid?"
strMode = myScope.ReadString
Debug.Print strMode
See Also Refer to the :MEASure:RESults? query for information on the results returned and
how they are affected by the SENDvalid command. Refer to the individual
measurements for information on how the result state is returned.
History Legacy command (existed before version 3.10).
:MEASure:SER
Command :MEASure:SER <source>
The :MEASure:SER? query returns the measured cumulative symbol error rate
value.
Returned Format [:MEASure:SER] <value><NL>
:MEASure:SERPeracq
Command :MEASure:SERPeracq <source>
The :MEASure:SERPeracq? query returns the measured symbol error rate per
acquisition value.
Returned Format [:MEASure:SERPeracq] <value><NL>
:MEASure:SETuptime
Command :MEASure:SETuptime [<data_source>,<data_source_dir>,
<clock_source>,<clock_source_dir>]
The :MEASure:SETuptime query returns the measured setup time between the
specified clock and data source.
The necessary waveform edges must be present on the display. Also, the "Measure
All Edges" mode must be set (use the :ANALyze:AEDGes command or
:MEASure:SETuptime command before the query).
The query will return 9.99999E+37 if the necessary edges are not displayed or if
the "Measure All Edges" mode is not currently set.
Returned Format {:MEASure:SETuptime] <value><NL>
:MEASure:SLEWrate
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:SLEWrate [<source>[,<direction>]]
The :MEASure:SLEWrate command measures the slew rate of the specified data
source.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum |
EQUalized<L> | XT<X>}
The MTRend and MSPectrum sources are available when the Jitter Analysis
Software license is installed and the features are enabled.
The CLOCk source is available when the recovered clock is displayed.
The EQUalized<L> source is available when the Advanced Signal Integrity
Software license is installed and the equalized waveform is displayed as a
function.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
<direction> {RISing | FALLing | BOTH}
Specifies whether slew rate is measured on rising, falling, or either rising or falling
edge(s). When <direction> is specified, the <source> parameter is required.
The BOTH option is valid only when the "Measure All Edges" mode is OFF (see
":ANALyze:AEDGes" on page 273). In this case, the first edge from the left side of
the display grid is used (whether the edge is rising or falling).
When the "Measure All Edges" mode is OFF, the RISing and FALLing options
specify whether the first rising or falling edge from the left side of the display grid
is used.
When the "Measure All Edges" mode is ON, the RISing and FALLing options
specify whether slew rate is measured on rising or falling edges throughout the
acquisition.
Example This example measures the slew rate of channel 1.
myScope.WriteString ":MEASure:SLEWrate CHANnel1,RISing"
The :MEASure:SLEWrate? query returns the measured slew rate for the specified
source.
:MEASure:SOURce
Command :MEASure:SOURce {<source>[,<source>]}
The :MEASure:SOURce command selects the source for measurements. You can
specify one or two sources with this command. All measurements except
:MEASure:HOLDtime, :MEASure:SETUPtime, and :MEASure:DELTatime are made
on the first specified source. The delta time measurement uses two sources if two
are specified.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X> | PNOise}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
Example This example selects channel 1 as the source for measurements.
myScope.WriteString ":MEASure:SOURce CHANnel1"
Query :MEASure:SOURce?
Example This example places the currently specified sources in the string variable,
strSource, then prints the contents of the variable to the computer's screen.
Dim strSource As String ' Dimension variable.
myScope.WriteString ":MEASure:SOURce?"
strSource = myScope.ReadString
Debug.Print strSource
:MEASure:STATistics
Command :MEASure:STATistics {{ON | 1} | CURRent | MAXimum | MEAN | MINimum
| STDDev | COUNt}
Query :MEASure:STATistics?
Example This example places the current mode for statistics in the string variable, strMode,
then prints the contents of the variable to the computer's screen.
Dim strMode As String ' Dimension variable.
myScope.WriteString ":MEASure:STATistics?"
strMode = myScope.ReadString
Debug.Print strMode
See Also • ":MEASure:RESults?" on page 1079 for information on the result returned and
how it is affected by the STATistics command.
• ":MEASure:SENDvalid" on page 1109
History Legacy command (existed before version 3.10).
Version 6.30: The COUNt option has been added to allow the :MEASure:RESults?
query to return the measurement count value.
:MEASure:TEDGe
Command :MEASure:TEDGe <meas_thres_txt>,[<slope>]<occurrence>[,<source>]
The :MEASure:TEDGe command measures the time interval between the trigger
event and the specified edge (threshold level, slope, and transition). Sources are
specified with the :MEASure:SOURce command or with the optional parameter
following the :MEASure:TEDGe command.
<meas_thres _txt> UPPer, MIDDle, or LOWer to identify the threshold.
<slope> { - (minus) for falling | + (plus) for rising | <none> (the slope is optional; if no slope
is specified, + (plus) is assumed) }
<occurrence> An integer value representing the edge of the occurrence. The desired edge must
be present on the display. Edges are counted with 1 being the first edge from the
left on the display, and a maximum value of 65534.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized<L>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
Query :MEASure:TEDGe? <meas_thres_txt>,<slope><occurrence> [,<source>]
The :MEASure:TEDGe? query returns the time interval between the trigger event
and the specified edge (threshold level, slope, and transition).
Returned Format [:MEASure:TEDGe] <time>[,<result_state>]<NL>
<time> The time interval between the trigger event and the specified voltage level and
transition.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example returns the time interval between the trigger event and the 90%
threshold on the second rising edge of the source waveform to the numeric
variable, varTime. The contents of the variable are then printed to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:TEDGe? UPPer,+2,CHANnel1"
varTime = myScope.ReadNumber
Debug.Print FormatNumber(varTime, 0)
:MEASure:THResholds:ABSolute
Command :MEASure:THResholds:ABSolute <source>,
<upper_volts>,<middle_volts>,<lower_volts>
Example This example returns the upper level, middle level, and lower level voltages used to
calculate the measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:ABSolute? CHANnel1"
strThresholds = myScope.ReadString
Debug.Print strThresholds
:MEASure:THResholds:DISPlay
Command :MEASure:THResholds:DISPlay <source>,{{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:MEASure:THResholds:GENAUTO
Command :MEASure:THResholds:GENAUTO <source>
:MEASure:THResholds:GENeral:ABSolute
Command :MEASure:THResholds:GENeral:ABSolute <source>,
<upper_volts>,<middle_volts>,<lower_volts>
These general-purpose threshold settings are used for everything except rise/fall
N OT E
measurements and protocol decode.
Example This example returns the upper level, middle level, and lower level voltages used to
calculate the measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:ABSolute? CHANnel1"
strThresholds = myScope.ReadString
Debug.Print strThresholds
:MEASure:THResholds:GENeral:HYSTeresis
Command :MEASure:THResholds:GENeral:HYSTeresis <source>,<range>,<level>
These general-purpose threshold settings are used for everything except rise/fall
N OT E
measurements and protocol decode.
Example This example returns the range and level voltages used to calculate the
measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:HYSTeresis? CHANnel1"
strRangeLevel = myScope.ReadString
Debug.Print strRangeLevel
:MEASure:THResholds:GENeral:METHod
Command :MEASure:THResholds:GENeral:METHod <source>,{ABSolute | PERCent
| HYSTeresis | PAMCustom | PAMAutomatic}
These general-purpose threshold settings are used for everything except rise/fall
N OT E
measurements and protocol decode.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), you can choose
between these methods for setting the general measurement thresholds:
• PAMCustom — Then, use the :MEASure:THResholds:GENeral:PAMCustom
command to set the PAM threshold levels for general measurements to the
values you specify.
• PAMAutomatic — Then, use the :MEASure:THResholds:GENeral:PAMAutomatic
command to specify whether the PAM threshold levels for general
measurements are determined automatically or using the PAM-4 levels you
specify.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized<L> | XT<X> | PNOise}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 890.
Example This example sets the method used to calculate the top and base of a waveform to
hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:METHod CHANnel1,HYSTere
sis"
Example This example returns the method used to calculate the top and base of a waveform
to hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:METHod?"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
:MEASure:THResholds:GENeral:PAMCustom
Command When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE) and
:MEASure:THResholds:GENeral:METHod is set to PAMCustom:
:MEASure:THResholds:GENeral:PAMCustom
<source>,<01_threshold>,<12_threshold>,<23_threshold>[,<hysteresis>]
:MEASure:THResholds:GENeral:PAMAutomatic
Command :MEASure:THResholds:GENeral:PAMAutomatic
<source>,{AUTomatic | <0_level>,<1_level>,<2_level>,<3_level>}
:MEASure:THResholds:GENeral:PERCent
Command :MEASure:THResholds:GENeral:PERCent <source>,<upper_pct>,<middle_pct>,<l
ower_pct>
These general-purpose threshold settings are used for everything except rise/fall
N OT E
measurements and protocol decode.
Example This example returns the upper level, middle level, and lower level percentages
used to calculate the measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:PERCent? CHANnel1"
strThresholdsPct = myScope.ReadString
Debug.Print strThresholdsPct
:MEASure:THResholds:GENeral:TOPBase:ABSolute
Command :MEASure:TOPBase:THResholds:GENeral:ABSolute <source>,<top_volts>,<base_
volts>
These general-purpose threshold settings are used for everything except rise/fall
N OT E
measurements and protocol decode.
Example This example returns the top level and base level voltages used to calculate the
measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:TOPBase:ABSolute? CHANn
el1"
strTopBase = myScope.ReadString
Debug.Print strTopBase
:MEASure:THResholds:GENeral:TOPBase:METHod
Command :MEASure:THResholds:GENeral:TOPBase:METHod <source>,{ABSolute | HISTONLY
| MINmax | STANdard}
These general-purpose threshold settings are used for everything except rise/fall
N OT E
measurements and protocol decode.
Example This example returns the method used to derive the top and base of a waveform
for channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:TOPBase:METHod CHANnel1
"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
:MEASure:THResholds:HYSTeresis
Command :MEASure:THResholds:HYSTeresis <source>,<range>,<level>
Example This example returns the range and level voltages used to calculate the
measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:HYSTeresis? CHANnel1"
strRangeLevel = myScope.ReadString
Debug.Print strRangeLevel
:MEASure:THResholds:METHod
Command :MEASure:THResholds:METHod <source>,{ABSolute | PERCent | HYSTeresis}
This command changes the threshold settings used for rise/fall time measurements, protocol
N OT E
decode, and all other general-purpose measurements that use thresholds. To change the
settings used for these types of measurements individually, see:
• ":MEASure:THResholds:GENeral:METHod" on page 1126
• ":MEASure:THResholds:RFALl:METHod" on page 1143
• ":MEASure:THResholds:SERial:METHod" on page 1157
Example This example returns the method used to calculate the top and base of a waveform
to hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:METHod?"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
:MEASure:THResholds:PERCent
Command :MEASure:THResholds:PERCent <source>,<upper_pct>,<middle_pct>,<lower_pct
>
Example This example returns the upper level, middle level, and lower level percentages
used to calculate the measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:PERCent? CHANnel1"
strThresholdsPct = myScope.ReadString
Debug.Print strThresholdsPct
:MEASure:THResholds:RFALl:ABSolute
Command :MEASure:THResholds:RFALl:ABSolute <source>,
<upper_volts>,<middle_volts>,<lower_volts>
Example This example returns the upper level, middle level, and lower level voltages used to
calculate the rise/fall measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:ABSolute? CHANnel1"
strThresholds = myScope.ReadString
Debug.Print strThresholds
:MEASure:THResholds:RFALl:METHod
Command :MEASure:THResholds:RFALl:METHod <source>,{ABSolute | PERCent | T1090
| T2080}
Example This example returns the method used to calculate the top and base of a waveform
to hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:METHod?"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
:MEASure:THResholds:RFALl:PAMAutomatic
Command :MEASure:THResholds:RFALl:PAMAutomatic
<source>,{AUTomatic | <0_level>,<1_level>,<2_level>,<3_level>}
:MEASure:THResholds:RFALl:PERCent
Command :MEASure:THResholds:RFALl:PERCent <source>,<upper_pct>,<middle_pct>,<low
er_pct>
Example This example returns the upper level, middle level, and lower level percentages
used to calculate the rise/fall measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:PERCent? CHANnel1"
strThresholdsPct = myScope.ReadString
Debug.Print strThresholdsPct
:MEASure:THResholds:RFALl:TOPBase:ABSolute
Command :MEASure:TOPBase:THResholds:RFALl:ABSolute <source>,<top_volts>,<base_vo
lts>
Example This example returns the top level and base level voltages used to calculate the
rise/fall measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:TOPBase:ABSolute? CHANnel
1"
strTopBase = myScope.ReadString
Debug.Print strTopBase
:MEASure:THResholds:RFALl:TOPBase:METHod
Command :MEASure:THResholds:RFALl:TOPBase:METHod <source>,{ABSolute | HISTONLY
| MINmax | STANdard}
Example This example returns the method used to derive the top and base of a waveform
for channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:TOPBase:METHod CHANnel1"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
:MEASure:THResholds:SERauto
Command :MEASure:THResholds:SERauto <source>
:MEASure:THResholds:SERial:ABSolute
Command :MEASure:THResholds:SERial:ABSolute <source>,
<upper_volts>,<middle_volts>,<lower_volts>
Example This example returns the upper level, middle level, and lower level voltages used
for protocol decode on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:ABSolute? CHANnel1"
strThresholds = myScope.ReadString
Debug.Print strThresholds
:MEASure:THResholds:SERial:HYSTeresis
Command :MEASure:THResholds:SERial:HYSTeresis <source>,<range>,<level>
Example This example returns the range and level voltages used for protocol decode on
channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:HYSTeresis? CHANnel1"
strRangeLevel = myScope.ReadString
Debug.Print strRangeLevel
:MEASure:THResholds:SERial:METHod
Command :MEASure:THResholds:SERial:METHod <source>,{ABSolute | PERCent | HYSTere
sis}
Example This example returns the method used to calculate the top and base of a waveform
to hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:METHod?"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
:MEASure:THResholds:SERial:PERCent
Command :MEASure:THResholds:SERial:PERCent <source>,<upper_pct>,<middle_pct>,<lo
wer_pct>
Example This example returns the upper level, middle level, and lower level percentages
used for protocol decode on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:PERCent? CHANnel1"
strThresholdsPct = myScope.ReadString
Debug.Print strThresholdsPct
:MEASure:THResholds:SERial:TOPBase:ABSolute
Command :MEASure:TOPBase:THResholds:SERial:ABSolute <source>,<top_volts>,<base_v
olts>
Example This example returns the top level and base level voltages used for protocol
decode on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:TOPBase:ABSolute? CHANne
l1"
strTopBase = myScope.ReadString
Debug.Print strTopBase
:MEASure:THResholds:SERial:TOPBase:METHod
Command :MEASure:THResholds:SERial:TOPBase:METHod <source>,{ABSolute | HISTONLY
| MINmax | STANdard}
Example This example returns the method used to derive the top and base of a waveform
for channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:TOPBase:METHod CHANnel1"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
:MEASure:THResholds:TOPBase:ABSolute
Command :MEASure:TOPBase:THResholds:ABSolute <source>,<top_volts>,<base_volts>
Example This example returns the top level and base level voltages used to calculate the
measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:TOPBase:ABSolute? CHANnel1"
strTopBase = myScope.ReadString
Debug.Print strTopBase
:MEASure:THResholds:TOPBase:METHod
Command :MEASure:THResholds:TOPBase:METHod <source>,{ABSolute | HISTONLY
| MINmax | STANdard}
Example This example returns the method used to derive the top and base of a waveform
for channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:TOPBase:METHod CHANnel1"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
:MEASure:TIEClock2
Command
N OT E Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
This command is available only when the Jitter Analysis Software license is installed.
N OT E
The :MEASure:TIEClock2? query returns the current value of the clock time interval
error.
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
N OT E
• Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
• Sending the ":ANALyze:AEDGes ON" command.
:MEASure:TIEData2
Command :MEASure:TIEData2 <source>,{SECond | UNITinterval}[,<threshold>]
The :MEASure:TIEData2 command measures data time interval error. You can set
the units of the measurement by selecting SECond (seconds) or UNITinterval.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
<threshold> When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the <threshold>
parameter is an integer that specifies which PAM threshold to measure. For
PAM-4, the <threshold> may be from 0-2.
Example This example measures the data time interval error on channel 1, ideal data rate
set to automatic, units set to seconds.
myScope.WriteString ":MEASure:TIEData2 CHANnel1,SECond"
The :MEASure:TIEData2? query returns the current value of the data time interval
error.
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
N OT E
• Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
• Sending the ":ANALyze:AEDGes ON" command.
:MEASure:TIEFilter:DAMPing
Command :MEASure:TIEFilter:DAMPing <damping_factor>
:MEASure:TIEFilter:SHAPe
Command :MEASure:TIEFilter:SHAPe {RECTangular | DB20 | DB40 | FIRSt | SECond}
Query :MEASure:TIEFilter:SHAPe?
The :MEASure:TIEFilter:SHAPe? query returns the specified shape of the TIE filter
edge(s).
Returned Format [:MEASure:TIEFilter:SHAPe] {RECTangular | DB20 | DB40 | FIRS | SEC}<NL>
Example This example places the specified shape of the TIE filter edge(s) in the string
variable, strShape, then prints the contents of the variable to the computer's
screen.
Dim strShape As String ' Dimension variable.
myScope.WriteString ":MEASure:TIEFilter:SHAPe?"
strShape = myScope.ReadString
Debug.Print strShape
:MEASure:TIEFilter:STARt
Command :MEASure:TIEFilter:STARt <start_frequency>
The :MEASure:TIEFilter:STARt command sets the starting frequency for the TIE
filter.
<start_ frequency> A real number.
Query :MEASure:TIEFilter:STARt?
:MEASure:TIEFilter:STATe
Command :MEASure:TIEFilter:STATe {{ON | 1} | {OFF | 0}}
The :MEASure:TIEFilter:STATe command enables the TIE filter for TIE data
measurements.
Query :MEASure:TIEFilter:STATe?
The :MEASure:TIEFilter:STATe? query returns the current state of the TIE data
filter.
Returned Format [:MEASure:TIEFilter:STATe] {0 | 1}<NL>
Example This example returns the current state of the TIE data filter then prints the contents
of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:TIEFilter:STATe?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)
:MEASure:TIEFilter:STOP
Command :MEASure:TIEFilter:STOP <stop_frequency>
The :MEASure:TIEFilter:STOP command sets the stopping frequency for the TIE
filter.
<stop_ frequency> A real number.
Query :MEASure:TIEFilter:STOP?
:MEASure:TIEFilter:TYPE
Command :MEASure:TIEFilter:TYPE {BANDpass | LOWPass | HIGHpass}
Query :MEASure:TIEFilter:TYPE?
The :MEASure:TIEFilter:TYPE? query returns the current type of TIE filter being
used.
Returned Format [:MEASure:TIEFilter:TYPE] {BANDpass | LOWPass | HIGHpass}<NL>
Example This example places the current mode for TIEFilter:TYPE in the string variable,
strMode, then prints the contents of the variable to the computer's screen.
Dim strMode As String ' Dimension variable.
myScope.WriteString ":MEASure:TIEFilter:TYPE?"
strMode = myScope.ReadString
Debug.Print strMode
:MEASure:TMAX
Command :MEASure:TMAX [<source>]
The :MEASure:TMAX command measures the first time at which the maximum
voltage of the source waveform occurred. Sources are specified with the
:MEASure:SOURce command or with the optional parameter following the
:MEASure:TMAX command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
Query :MEASure:TMAX? [<source>]
The :MEASure:TMAX? query returns the time at which the first maximum voltage
occurred.
Returned Format [:MEASure:TMAX] <time>[,<result_state>]<NL>
<time> Time at which the first maximum voltage occurred or frequency where the
maximum FFT amplitude occurred.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example returns the time at which the first maximum voltage occurred to the
numeric variable, varTime, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:TMAX? CHANnel1"
varTime = myScope.ReadNumber
Debug.Print FormatNumber(varTime, 0)
:MEASure:TMIN
Command :MEASure:TMIN [<source>]
The :MEASure:TMIN command measures the time at which the first minimum
voltage occurred. Sources are specified with the :MEASure:SOURce command or
with the optional parameter following the :MEASure:TMIN command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
Query :MEASure:TMIN? [<source>]
The :MEASure:TMIN? query returns the time at which the first minimum voltage
occurred or the frequency where the minimum FFT amplitude occurred.
Returned Format [:MEASure:TMIN] <time>[,<result_state>]<NL>
:MEASure:TVOLt
Command :MEASure:TVOLt <voltage>,[<slope>]<occurrence> [,<source>]
The :MEASure:TVOLt command measures the time interval between the trigger
event and the defined voltage level and transition. Sources are specified with the
:MEASure:SOURce command or with the optional parameter following the
:MEASure:TVOLt command.
The TEDGe command can be used to get the time of edges.
When the "Measure All Edges" mode is on (see ":ANALyze:AEDGes" on page 273),
the first edge from the beginning of the acquisition is used.
When the "Measure All Edges" mode is off, the first edge from the left side of the
display grid is used.
<voltage> Voltage level at which time will be measured.
<slope> The direction of the waveform change when the specified voltage is crossed -
rising (+) or falling (-). If no +/- sign is present, + is assumed.
<occurrence> The number of the crossing to be reported (if one, the first crossing is reported; if
two, the second crossing is reported, etc.). The desired crossing must be present
on the display. Occurrences are counted with 1 being the first occurrence from the
left of the display, and a maximum value of 65534.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
Query :MEASure:TVOLt? <voltage>,<slope><occurrence> [,<source>]
The :MEASure:TVOLt? query returns the time interval between the trigger event
and the specified voltage level and transition.
Returned Format [:MEASure:TVOLt] <time>[,<result_state>]<NL>
<time> The time interval between the trigger event and the specified voltage level and
transition.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example returns the time interval between the trigger event and the transition
through -0.250 Volts on the third rising occurrence of the source waveform to the
numeric variable, varTime. The contents of the variable are then printed to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:TVOLt? -0.250,+3,CHANnel1"
varTime = myScope.ReadNumber
Debug.Print FormatNumber(varTime, 0)
:MEASure:UITouijitter
Command :MEASure:UITouijitter <source>, <N>
Query :MEASure:UITouijitter?
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
N OT E
• Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
• Sending the ":ANALyze:AEDGes ON" command.
:MEASure:UNDershoot
Command :MEASure:UNDershoot [<source>[,<direction>]]
If more than one such waveform aberration exists, the one with the largest magnitude is the
N OT E
undershoot unless otherwise specified.
Undershoot, unlike Overshoot and Preshoot is measurement in respect of pulse polarity and
N OT E
not rising or falling edge only. Consequently, a minimum of two (2) edges must be in the
viewing window for the measurement to occur.
By definition, undershoot is measured only after the waveform reaches a level greater than or
N OT E
equal to (≥) the Top voltage for positive pulse undershoot measurements or less than equal to
(≤) the Base voltage for negative pulse undershoot measurements.
Where localMaximum is achieved between falling edge mesial (lower) and rising
edge mesial (lower) points on the waveform. After the waveform has reached a
level less than or equal to (≤) the Base voltage.
Where localMinimum is achieved between rising edge distal (upper) and falling
edge distal (upper) points on the waveform. After the waveform has reached a
level greater than or equal to (≥) the Top voltage.
:MEASure:UNITinterval
Command
This command is available only when the Jitter Analysis Software license is installed.
N OT E
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
N OT E
• Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
• Sending the ":ANALyze:AEDGes ON" command.
:MEASure:VAMPlitude
Command :MEASure:VAMPlitude [<source>]
:MEASure:VAVerage
Command :MEASure:VAVerage {CYCLe | DISPlay}[,<source>]
:MEASure:VBASe
Command :MEASure:VBASe [<source>]
The :MEASure:VBASe? query returns the measured voltage value at the base of
the specified source.
Returned Format [:MEASure:VBASe] <value>[,<result_state>]<NL>
:MEASure:VLOWer
Command :MEASure:VLOWer [<source>]
:MEASure:VMAX
Command :MEASure:VMAX [<source>]
:MEASure:VMIDdle
Command :MEASure:VMIDdle [<source>]
The :MEASure:VMIDdle? query returns the voltage value at the middle threshold of
the waveform.
Returned Format [MEASure:VMIDdle] <value>[,<result_state>]<NL>
:MEASure:VMIN
Command :MEASure:VMIN [<source>]
:MEASure:VOVershoot
Command :MEASure:VOVershoot [<source>[,<direction>]]
:MEASure:VPP
Command :MEASure:VPP [<source>]
:MEASure:VPReshoot
Command :MEASure:VPReshoot <source>[,<direction>]
:MEASure:VRMS
Command :MEASure:VRMS {CYCLe | DISPlay},{AC | DC} [,<source> [,{VOLT | DBM}]]
The :MEASure:VRMS? query returns the RMS voltage of the specified source.
Returned Format [:MEASure:VRMS] <value>[,<result_state>]<NL>
varVoltage = myScope.ReadNumber
Debug.Print FormatNumber(varVoltage, 0)
:MEASure:VTIMe
Command :MEASure:VTIMe <time>[,<source>]
The :MEASure:VTIMe command measures the voltage at the specified time. The
time is referenced to the trigger event and must be on the screen. When an FFT
function is the specified source, the amplitude at the specified frequency is
measured. Sources are specified with the :MEASure:SOURce command or with the
optional parameter following the :MEASure:VTIMe command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X> | PNOise}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
<time> A real number for time from trigger in seconds, or frequency in Hertz for an FFT
(when a function is set to FFT or a waveform memory contains an FFT).
Query :MEASure:VTIMe? <time>[,<source>]
<value> Voltage at the specified time. When the source is an FFT function, the returned
value is the vertical value at the horizontal setting passed in the VTIMe <time>
parameter. The time parameter is in Hertz when an FFT function is the source.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the voltage at 500 ms in the numeric variable, varValue, then
prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:VTIMe? 500E-3,CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MEASure:VTOP
Command :MEASure:VTOP [<source>]
The :MEASure:VTOP command measures the statistical top of the selected source
waveform. Sources are specified with the :MEASure:SOURce command or with the
optional parameter following the :MEASure:VTOP command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized<L> | XT<X>}
For more information on <source> parameters, see "Measurement Sources" on
page 890.
Example This example measures the voltage at the top of the waveform.
myScope.WriteString ":MEASure:VTOP CHANnel1"
The :MEASure:VTOP? query returns the measured voltage at the top of the
specified source.
Returned Format [:MEASure:VTOP] <value>[,<result_state>]<NL>
:MEASure:VUNDershoot
Command :MEASure:VUNDershoot [<source>[,<direction>]]
<value> The local Minimum V undershoot value for positive pulses or the local Maximum V
undershoot value for negative pulses.
<result_state> If :MEASure:SENDvalid is ON, the result state is returned with the measurement
result. See the :MEASure:RESults table in this chapter for a list of the result states.
See Also • ":MEASure:UNDershoot" on page 1179
• ":MEASure:VOVershoot" on page 1192
• ":MEASure:VPReshoot" on page 1194
History New in version 6.72.
:MEASure:VUPPer
Command :MEASure:VUPPer [<source>]
The :MEASure:VUPPer? query returns the measured upper threshold value of the
selected source.
Returned Format [:MEASure:VUPPer] <value>[,<result_state>]<NL>
:MEASure:WINDow
Command :MEASure:WINDow {ZOOM | CGRade | {MAIN | ALL}}, {MEAS<N>}
:MEASure:XCORtie
Command :MEASure:XCORtie <source1>, <source2>, <edge_dir>, <xcor_time_range>
:MEASure:ZTMAX
Command :MEASure:ZTMAX {MEASurement<N>}
When "Measure All Edges" is enabled and the measurement supports "Zoom To
Max", the :MEASure:ZTMAX command adjusts the horizontal scale and position to
zoom in on the maximum measured value.
Check the front panel user interface to see if a measurement supports "Zoom To
Max" by right-clicking the measurement results. Typically, measurements that
involve a time period support "Zoom To Max".
This command is the same as :MEASurement<N>:ZTMAX.
<N> An integer, 1-40.
When <N> is 10-40, the long form of the mnemonic, MEASurement<N>, is too long. In this
N OT E
case, you must use the short form, MEAS<N>.
:MEASure:ZTMIN
Command :MEASure:ZTMIN {MEASurement<N>}
When "Measure All Edges" is enabled and the measurement supports "Zoom To
Min", the :MEASure:ZTMIN command adjusts the horizontal scale and position to
zoom in on the minimum measured value.
Check the front panel user interface to see if a measurement supports "Zoom To
Min" by right-clicking the measurement results. Typically, measurements that
involve a time period support "Zoom To Min".
This command is the same as :MEASurement<N>:ZTMIN.
<N> An integer, 1-40.
When <N> is 10-40, the long form of the mnemonic, MEASurement<N>, is too long. In this
N OT E
case, you must use the short form, MEAS<N>.
:MEASurement<N>:CLEar
Command :MEASurement<N>:CLEar
When <N> is 10-40, the long form of the mnemonic, MEASurement<N>, is too long. In this
N OT E
case, you must use the short form, MEAS<N>.
:MEASurement<N>:NAME
Command :MEASurement<N>:NAME <name>
When <N> is 10-40, the long form of the mnemonic, MEASurement<N>, is too long. In this
N OT E
case, you must use the short form, MEAS<N>.
:MEASurement<N>:POSition
Command :MEASurement<N>:POSition <new_position>
When <N> is 10-40, the long form of the mnemonic, MEASurement<N>, is too long. In this
N OT E
case, you must use the short form, MEAS<N>.
:MEASurement<N>:SOURce
Command :MEASurement<N>:SOURce <source>[,<source>]
When <N> is 10-40, the long form of the mnemonic, MEASurement<N>, is too long. In this
N OT E
case, you must use the short form, MEAS<N>.
Example This example places the currently specified measurement 1 source(s) in the string
variable, strSource, then prints the contents of the variable to the computer's
screen.
Dim strSource As String ' Dimension variable.
myScope.WriteString ":MEASurement1:SOURce?"
strSource = myScope.ReadString
Debug.Print strSource
:MEASurement<N>:ZTMAX
Command :MEASurement<N>:ZTMAX
When "Measure All Edges" is enabled and the measurement supports "Zoom To
Max", the :MEASurement<N>:ZTMAX command adjusts the horizontal scale and
position to zoom in on the maximum measured value.
Check the front panel user interface to see if a measurement supports "Zoom To
Max" by right-clicking the measurement results. Typically, measurements that
involve a time period support "Zoom To Max".
This command is the same as :MEASure:ZTMAX.
<N> An integer, 1-40.
When <N> is 10-40, the long form of the mnemonic, MEASurement<N>, is too long. In this
N OT E
case, you must use the short form, MEAS<N>.
:MEASurement<N>:ZTMIN
Command :MEASurement<N>:ZTMIN
When "Measure All Edges" is enabled and the measurement supports "Zoom To
Min", the :MEASurement<N>:ZTMIN command adjusts the horizontal scale and
position to zoom in on the minimum measured value.
Check the front panel user interface to see if a measurement supports "Zoom To
Min" by right-clicking the measurement results. Typically, measurements that
involve a time period support "Zoom To Min".
This command is the same as :MEASure:ZTMIN.
<N> An integer, 1-40.
When <N> is 10-40, the long form of the mnemonic, MEASurement<N>, is too long. In this
N OT E
case, you must use the short form, MEAS<N>.
32 Pod Commands
:POD<N>:DISPlay / 1212
:POD<N>:PSKew / 1213
:POD<N>:THReshold / 1214
1211
32 Pod Commands
:POD<N>:DISPlay
Command
The POD commands only apply to the MSO oscilloscopes.
N OT E
The :POD<N>:DISPlay command enables or disables the view for the selected
digital channel pod. Pod 1 has the digital channels 0 through 7, and pod 2 has the
digital channels 8 through 15.
Displaying a pod automatically enables digital channels. See ENABle command in
the root subsystem.
<N> An integer, 1-2.
Example This example turns on the display of bit 5 for the digital channels.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":POD2:DISPlay ON"
Query :POD<N>[:DISPlay]?
The :POD<N>:DISPlay? query returns the value of the display setting for the pod.
Returned Format [:POD<N>:DISPlay] {1 | 0}<NL>
:POD<N>:PSKew
Command :POD<N>:PSKew <skew_value>
The :POD<N>:PSKew command lets you adjust the digital channels with respect to
the analog channels when there is a time delay between the analog and digital
channels. This can occur when different length cables are used.
<N> An integer, 1-2.
<skew_value> A real number for the skew value, in the range -1 ms to +1 ms.
Example This example sets the probe skew for all digital channels to 10 μs.
myScope.WriteString ":POD1:PSKew 10E-6"
Query :POD<N>:PSKew?
The :POD<N>:PSKew? query returns the current probe skew setting for all digital
channels.
Returned Format [:POD<N>:PSKew] <skew_value><NL>
:POD<N>:THReshold
Command
The POD commands only apply to the MSO oscilloscopes.
N OT E
The :POD<N>:THReshold command sets the logic threshold value for a pod. Pod 1
has the digital channels 0 through 7, and pod 2 has the digital channels 8 through
15. This command is equivalent to the :DIGital<N>:THReshold command.
The threshold is used for triggering purposes and for displaying the digital data as
high (above the threshold) or low (below the threshold). The voltage values for the
predefined thresholds are:
• CMOS50 = 2.5 V
• CMOS33 = 1.65 V
• CMOS25 = 1.25 V
• ECL = -1.3 V
• PECL = 3.7 V
• TTL = 1.4 V
• DIFFerential = 0 V
<N> An integer, 1-2.
<value> A real number representing the voltage value which distinguishes a 1 logic level
from a 0 logic level. Waveform voltages greater than the threshold are 1 logic
levels while waveform voltages less than the threshold are 0 logic levels.
On 9000 Series, 9000H Series, and S-Series mixed-signal oscilloscopes, the range
of the threshold voltage is from -8 volts to 8 volts.
On 90000 X-Series and V-Series mixed-signal oscilloscopes, the range of the
threshold voltage is from -3.75 volts to 3.75 volts.
Example This example sets the threshold to 1.8 volts for pod 2 (digital channels D15
through D8).
myScope.WriteString ":POD2:THReshold 1.8"
Query :POD<N>:THReshold?
The :POD<N>:THReshold? query returns the threshold value for the specified pod.
Returned Format [:POD<N>:THReshold] {CMOS50 | CMOS33 | CMOS25 | ECL | PECL | TTL
| DIFF | <value>}<NL>
1217
33 Root Level Commands
Root level commands control many of the basic operations of the oscilloscope that
you can select by pressing the labeled keys on the front panel. These commands
are always recognized by the parser if they are prefixed with a colon, regardless of
the current tree position. After executing a root level command, the parser is
positioned at the root of the command tree.
The :ADER? query reads the Acquisition Done Event Register and returns 1 or 0.
After the Acquisition Done Event Register is read, the register is cleared. The
returned value 1 indicates an acquisition completed event has occurred and 0
indicates an acquisition completed event has not occurred.
Once the Done bit is set, it is cleared only by doing :ADER? or by sending a *CLS
command.
Returned Format {1 | 0}<NL>
The :AER? query reads the Arm Event Register and returns 1 or 0. After the Arm
Event Register is read, the register is cleared. The returned value 1 indicates a
trigger armed event has occurred and 0 indicates a trigger armed has not
occurred.
Once the AER bit is set, it is cleared only by doing :AER? or by sending a *CLS
command.
Returned Format {1 | 0}<NL>
:ASTate?
Query :ASTate?
The :ATER? query reads the Auto Trigger Event Register and returns 1 or 0. After
the Auto Trigger Event Register is read, the register is cleared. The returned value
1 indicates an auto trigger event has occurred and 0 indicates an auto trigger
event has not occurred.
Returned Format {1 | 0}<NL>
:AUToscale
Command :AUToscale
The :AUToscale command causes the oscilloscope to evaluate all input waveforms
and find the optimum conditions for displaying the waveform. It searches each of
the channels for input waveforms and shuts off channels where no waveform is
found. It adjusts the vertical gain and offset for each channel that has a waveform
and sets the time base on the lowest numbered input channel that has a
waveform.
The trigger is found by searching each channel, starting with channel 4, then
channel 3, channel 2, and channel 1, until a trigger waveform is detected. If
waveforms cannot be found on any vertical input, the oscilloscope is returned to
its former state.
Autoscale sets the following:
• Channel Display, Scale, and Offset
• Trigger Sweep, Mode, Edge, Source, Level, Slope, Hysteresis, and Holdoff
• Acquisition Sampling Rate and Memory Depth
• Time Base Scale and Position
• Marker Mode Set to Measurement
• Resets Acquisition Completion Criteria to 90%
Autoscale turns off the following:
• Measurements on sources that are turned off
• Functions
• Windows
• Memories
• InfiniiSim
Autoscale does not turn off:
• PrecisionProbe/PrecisionCable
No other controls are affected by Autoscale.
Example This example automatically scales the oscilloscope for the input waveform.
myScope.WriteString ":AUToscale"
:AUToscale:CHANnels
Command :AUToscale:CHANnels {ALL | DISPlayed}
Query :AUToscale:CHANnels?
:AUToscale:PLACement
Command :AUToscale:PLACement {STACk | SEParate | OVERlay}
Query :AUToscale:PLACement?
:AUToscale:VERTical
Command :AUToscale:VERTical <source>
The :AUToscale:VERTical command autoscales the vertical position and scaling for
the corresponding channel without changing anything else (for example, trigger or
timebase settings).
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C>}
<N> An integer, 1-4.
<R> An integer, 1-4.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
Example This example automatically autoscales the vertical position and scale for the
waveform on Channel 1.
myScope.WriteString ":AUToscale:VERTical CHAN1"
If you are using software 2.10 or earlier, the command syntax is (lower-case "t" in "vertical"):
N OT E
AUToscale:VERTical <CHANnel 1 | CHANnel 2 | CHANnel 3 | CHANnel 4>
:BEEP
Command :BEEP <frequency>,<duration>
The :BEEP command makes the oscilloscope beep at a defined frequency and
duration.
<frequency> A real number representing frequency of beep in Hertz.
<duration> A real number representing duration of beep in milliseconds.
Example This example will create a beep at 1000 Hz for 500 ms.
myScope.WriteString ":BEEP 1000,500"
:BLANk
Command :BLANk {CHANnel<N> | BUS<B> | DIFF<D> | COMMonmode<C>
| DIGital<M> | FUNCtion<F> | HISTogram | WMEMory<R>
| MTRend | MSPectrum | EQUalize<L> | POD<P> | ALL}
The :BLANk command turns off an active channel, function, histogram, waveform
memory, measurement trend, measurement spectrum, or Feed-Forward Equalized
waveform. The :VIEW command turns them on.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<M> An integer, 0-15.
<F> An integer, 1-16.
<R> An integer, 1-4.
<L> An integer, 1-4.
<P> An integer, 1-2.
Example This example turns off channel 1.
myScope.WriteString ":BLANk CHANnel1"
:CDISplay
Command :CDISplay
The :CDISplay 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 in active channels and
functions is erased; however, new data is displayed on the next acquisition.
Waveform memories are not erased.
Example This example clears the oscilloscope display.
myScope.WriteString ":CDISplay"
:DIGitize
Command :DIGitize [CHANnel<N> | DIGital<M> | DIFF<D> | COMMonmode<C>
| POD<P>][,...]
The :DIGitize command invokes a special mode of data acquisition that is more
efficient than using the :RUN command. This command initializes the selected
channels or functions, then acquires them according to the current oscilloscope
settings. When all waveforms are completely acquired, the oscilloscope is
stopped. The waveform completion criteria is set with the ":ACQuire:COMPlete"
command.
If you specify channel parameters, then these are the only waveforms acquired and
the display waveforms of the specified channels are turned off.
Channel parameters are not supported in a MultiScope system because acquisitions require at
N OT E
least one channel per connected frame. Only the parameterless version of :DIGitize is
supported in a MultiScope system.
If you use the :DIGitize command with no parameters, the digitize operation is
performed on the channels that are being displayed in the Infiniium waveform
viewing area. In this case, the display state of the acquired waveforms is not
changed after the :DIGitize command is completed. Because the command
executes more quickly without parameters, this form of the command is useful for
repetitive measurement sequences. You can also use this mode if you want to view
the digitize results because the display state of the digitized waveforms is not
affected.
<N> An integer, 1-4.
<M> An integer, 0-15.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
Example This example acquires data on channel 1.
The ACQuire subsystem commands set up conditions such as COUNt for the next
:DIGitize command. The WAVeform subsystem commands determine how the data
is transferred out of the oscilloscope, and how to interpret the data.
See Also • "Example: Blocking and Polling Synchronization" on page 225
• "Example: Checking for Armed Status" on page 210
• See the Chapter 44, “Example Programs,” starting on page 1813 for examples
of how to use :DIGitize and its related commands.
History Legacy command (existed before version 3.10).
:DISable DIGital
Command :DISable DIGital
:ENABle DIGital
Command :ENABle DIGital
:MODel?
Query :MODel?
The :MODel? query returns the model number for the oscilloscope.
Returned Format A six-character alphanumeric model number in quotation marks. Output is
determined by header and longform status as in Table 15.
Example This example places the model number in a string variable, strModel, then prints
the contents of the variable on the computer's screen.
Dim strModel As String ' Dimension variable.
myScope.WriteString ":MODel?"
strModel = myScope.ReadString
Debug.Print strModel
The :MTEEnable command is used to set bits in the Mask Test Enable Register.
<enable_mask> The <enable_mask> is a 16-bit signed decimal value that enables the following
bits of the Mask Test Event Register:
Query :MTEEnable?
The :MTEEnable? query returns the value stored in the Mask Test Enable Register.
Returned Format [:MTEEnable] <enable_mask>
Example Suppose your application requires an interrupt whenever a Mask Test Fail occurs
in the mask test register. You can enable this bit to generate the summary bit by
sending:
myScope.WriteString "MTEEnable 2"
Whenever an error occurs, the oscilloscope sets the MASK bit in the Operation
Status Register. Because the bits in the Operation Status Enable Register are all
enabled, a summary bit is generated to set bit 7 (OPER) in the Status Byte
Register.
If bit 7 (OPER) in the Status Byte Register is enabled (via the *SRE command), a
service request interrupt (SRQ) is sent to the external computer.
History Legacy command (existed before version 3.10).
The :MTERegister? query returns the value stored in the Mask Test Event Register.
The bits stored in the register have the following meanings:
Bit 0 Mask Test Complete bit is set whenever the mask test is complete.
Bit 1 Mask Test Fail bit is set whenever the mask test failed.
Bit 2 Mask Low Amplitude bit is set whenever the signal is below the mask
amplitude.
Bit 3 Mask High Amplitude bit is set whenever the signal is above the mask
amplitude.
Bit 4 Mask Align Complete bit is set whenever the mask align is complete.
Bit 5 Mask Align Fail bit is set whenever the mask align failed.
The Mask Test Event Register is read and cleared by the MTERegister? query. The
register output is enabled or disabled using the mask value supplied with the
MTEEnable command.
Returned Format 0-63 decimal value.
N OT E Disabled Mask Test Event Register Bits Respond, but Do Not Generate a Summary
Bit
Mask Test Event Register bits that are not enabled still respond to their corresponding
conditions (that is, they are set if the corresponding event occurs). However, because they are
not enabled, they do not generate a summary bit in the Operation Status Register.
The query returns the current value contained in the Operation Status Enable
register as a decimal number.
Returned Format [OPEEnable] <value><NL>
The :OPERegister? query returns the value contained in the Operation Status
Register as a decimal number. This register contains the WAIT TRIG bit (bit 5) and
the OVLR bit (bit 11).
The WAIT TRIG bit is set by the Trigger Armed Event Register and indicates that
the trigger is armed. The OVLR bit is set by the Overload Event Register.
Returned Format <value><NL>
:OVLRegister?
Query :OVLRegister?
The :OVLRegister? query returns the value stored in the Overload Event Register.
The integer value returned by this query represents the channels as follows:
• Bit 0 - Channel 1
• Bit 1 - Channel 2
• Bit 2 - Channel 3
• Bit 3 - Channel 4
• Bits 7-4 are not used and are set to zero (0)
Returned Format <value><NL>
The :PDER? query reads the Processing Done Event Register and returns 1 or 0.
After the Processing Done Event Register is read, the register is cleared. The
returned value 1 indicates indicates that all math and measurements are complete
and 0 indicates they are not complete. :PDER? is non-blocking.
:PDER? can be used in place of :ADER?.
Returned Format {1 | 0}<NL>
See Also • Chapter 9, “Using :PDER? Instead of *OPC?,” starting on page 217
• Chapter 8, “Sequential (Blocking) vs. Overlapped Commands,” starting on page
215
• "Example: Blocking and Polling Synchronization" on page 225
History Legacy command (existed before version 3.10).
:PRINt
Command :PRINt
The :PRINt command outputs a copy of the screen to a printer or other device
destination specified in the HARDcopy subsystem. You can specify the selection of
the output and the printer using the HARDcopy subsystem commands.
Example This example outputs a copy of the screen to a printer or a disk file.
myScope.WriteString ":PRINt"
:RECall:SETup
Command :RECall:SETup <setup_memory_num>
:RSTate?
Query :RSTate?
:RUN
Command :RUN
The :RUN command starts the oscilloscope running. When the oscilloscope is
running, it acquires waveform data according to its current settings. Acquisition
runs repetitively until the oscilloscope receives a :STOP command, or until there is
only one acquisition if Trigger Sweep is set to Single. However, the
:TRIGger:SWEep SINGle should not be used in new programs. The :SINGle
command should be used instead to acquire a single acquisition.
Example This example causes the oscilloscope to acquire data repetitively.
myScope.WriteString ":RUN"
The :SERial command sets the serial number of the oscilloscope. A serial number
was entered in your oscilloscope by Keysight Technologies before it was shipped
to you. Therefore, setting the serial number is not normally required unless the
oscilloscope is serialized for a different application.
The oscilloscope's serial number is part of the string returned for the *IDN? query
described in the Common Commands chapter.
<serial _number> A ten-character alphanumeric serial number enclosed with quotation marks.
Example This example sets the serial number for the oscilloscope to "US12345678".
myScope.WriteString ":SERial ""US12345678"""
Query :SERial?
The query returns the current serial number string for the oscilloscope.
Returned Format [:SERial] US12345678
Example This example places the serial number for the oscilloscope in the string variable
strSerial, then prints the contents of the variable to the computer's screen.
Dim strSerial As String ' Dimension variable.
myScope.WriteString ":SERial?"
strSerial = myScope.ReadString
Debug.Print strSerial
:SINGle
Command :SINGle
The :SINGle command causes the oscilloscope to make a single acquisition when
the next trigger event occurs. However, this command does not set the
:TRIGger:SWEep to SINGle.
Example This example sets up the oscilloscope to make a single acquisition when the next
trigger event occurs.
myScope.WriteString ":SINGle"
:STATus?
Query :STATus? {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| HISTogram | WMEMory<R> | CLOCk | MTRend | MSPectrum
| EQUalized<L> | XT<X> | BUS<B> | DIGital<M> | POD<L>}
The :STATus? query shows whether the specified channel, function, wmemory,
histogram, measurement trend, measurement spectrum, or equalized waveform is
on or off. A return value of 1 means on and a return value of 0 means off.
The MTRend and MSPectrum sources are available when the Jitter Analysis
Software license is installed and the features are enabled.
The CLOCk source is available when the recovered clock is displayed.
The EQUalized<L> source is available when the Advanced Signal Integrity
Software license is installed and the equalized waveform is displayed as a
function.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<L> An integer, 1-4.
<X> An integer, 1-4, identifying the crosstalk waveform.
<B> An integer, 1-4
<M> An integer, 0-15.
POD<L> refers to the two digital channel pods - one that includes all of the
activated digital channels in the D0-D7 range and the other that includes all of the
activated digital channels in the D8-D15 range.
Returned Format [:STATus] {0 | 1}<NL>
Example This example returns and prints the current status of channel 1.
myScope.WriteString ":STATus? CHANnel1"
strCurrent = myScope.ReadString
Debug.Print strCurrent
:STOP
Command :STOP
The :STOP command causes the oscilloscope to stop acquiring data. To restart the
acquisition, use the :RUN or :SINGle command.
Example This example stops the current data acquisition.
myScope.WriteString ":STOP"
:STORe:JITTer
Command :STORe:JITTer <file_name>
The :STORe:JITTer command saves all of the RJ/DJ jitter measurement data to the
specified file name. The file that is created has a header section followed by the
RJ/DJ measurement results section. After the RJ/DJ measurement results section
is the data for each of the measurements. Each data section has a header showing
what the measurement data is that follows.
<file_name> A character-quoted ASCII string which can include subdirectories with the name of
the file.
Example This example stores the RJ/DJ jitter measurements to a file.
myScope.WriteString _
":STORe:JITTer ""C:\Users\Public\Documents\Infiniium\jitter"""
:STORe:SETup
Command :STORe:SETup <setup_memory_num>
:STORe:WAVeform
Command :STORe:WAVeform {{CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | EQUalized<L> | XT<X> | MTRend | MSPectrum},
{WMEMory<R>}}
The :TERegister? query reads the Trigger Event Register. A "1" is returned when an
acquisition is complete. A "0" is returned when an acquisition has not completed.
The autotrigger does not set this register.
The register is set to a value of 1 only when the waveform meets the trigger criteria
and the acquisition completes.
Returned Format {1 | 0}<NL>
Example This example checks the current status of the Trigger Event Register, places the
status in the string variable, strCurrent, then prints the contents of the variable to
the computer's screen.
Dim strCurrent As String ' Dimension variable.
myScope.WriteString ":TERegister?"
strCurrent = myScope.ReadString
Debug.Print strCurrent
Once this bit is set, you can clear it only by reading the register with the
:TERegister? query, or by sending a *CLS common command. After the Trigger
Event Register is read, it is cleared.
History Legacy command (existed before version 3.10).
:VIEW
Command :VIEW {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| HISTogram | WMEMory<R> | MSTrend | MSPectrum | BUS<B>
| DIGital<M> | POD<P>}
The :SBUS<N> subsystem commands control the serial decode bus viewing,
mode, and other options.
These commands are only valid when the corresponding serial decode option has been
N OT E
licensed.
1255
34 Serial Bus Commands
:SBUS<N>[:DISPlay]
Command :SBUS<N>[:DISPlay] <display>
This command is only valid when a serial decode option has been licensed.
N OT E
Query :SBUS<N>[:DISPlay]?
The :SBUS<N>[:DISPlay]? query returns the current display setting of the serial
decode bus.
Returned Format [:SBUS<N>[:DISPlay]] <display><NL>
<display> ::= {0 | 1}
:SBUS<N>:MODE
Command :SBUS<N>:MODE <mode>
The :SBUS<N>:MODE command determines the decode mode for the serial bus.
This command is only valid when a serial decode option has been licensed.
N OT E
Query :SBUS<N>:MODE?
The :SBUS<n>:MODE? query returns the current serial bus decode mode setting.
Returned Format [:SBUS<N>:MODE] <mode><NL>
:SBUS<N>:SEARch:ENABle
Command :SBUS<N>:SEARch:ENABle {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:SBUS<N>:SEARch:TRIGger
Command :SBUS<N>:SEARch:TRIGger {{0 | OFF} | {1 | ON}}
When enabled, the trigger (time = 0) position is set to the center of the first packet that is
N OT E
found. The trigger position is not at the actual hardware trigger point.
<setting> ::= {0 | 1}
:SBUS<N>:CAN Commands
• ":SBUS<N>:CAN:FDSPoint" on page 1262
• ":SBUS<N>:CAN:SAMPlepoint" on page 1263
• ":SBUS<N>:CAN:SIGNal:BAUDrate" on page 1264
• ":SBUS<N>:CAN:SIGNal:DEFinition" on page 1265
• ":SBUS<N>:CAN:SIGNal:FDBaudrate" on page 1266
• ":SBUS<N>:CAN:SOURce" on page 1267
• ":SBUS<N>:CAN:TRIGger (9000 Series, 9000H Series, S-Series)" on
page 1268
• ":SBUS<N>:CAN:TRIGger:PATTern:DATA (9000 Series, 9000H Series,
S-Series)" on page 1271
• ":SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth (9000 Series, 9000H Series,
S-Series)" on page 1272
• ":SBUS<N>:CAN:TRIGger:PATTern:ID (9000 Series, 9000H Series, S-Series)"
on page 1274
• ":SBUS<N>:CAN:TRIGger:PATTern:ID:MODE (9000 Series, 9000H Series,
S-Series)" on page 1275
• ":SBUS<N>:CAN:TYPE" on page 1276
These commands are only valid when the automotive CAN serial decode option has been
N OT E
licensed.
:SBUS<N>:CAN:FDSPoint
Command :SBUS<N>:CAN:FDSPoint <value>
The :SBUS<N>:CAN:FDSPoint 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 beginning and end of the
bit time.
<value> Percentage values in the range of 30 and 90 in NR3 format. Values are rounded off
to nearest 0.5 resolution.
Query :SBUS<n>:CAN:FDSPoint?
:SBUS<N>:CAN:SAMPlepoint
Command :SBUS<N>:CAN:SAMPlepoint <value>
<value><NL>
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.
<N> An integer, 1-4.
Query :SBUS<N>:CAN:SAMPlepoint?
:SBUS<N>:CAN:SIGNal:BAUDrate
Command :SBUS<N>:CAN:SIGNal:BAUDrate <baudrate>
:SBUS<N>:CAN:SIGNal:DEFinition
Command :SBUS<N>:CAN:SIGNal:DEFinition <value>
:SBUS<N>:CAN:SIGNal:FDBaudrate
Command :SBUS<N>:CAN:SIGNal:FDBaudrate <baudrate>
:SBUS<N>:CAN:SOURce
Command :SBUS<N>:CAN:SOURce <source>
The :SBUS<N>:CAN:SOURce command sets the source for the CAN signal.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:CAN:SOURce?
The :SBUS<N>:CAN:SOURce? query returns the current source for the CAN signal.
Returned Format <source><NL>
Query :SBUS<N>:CAN:TRIGger?
<condition> ::= {SOF | DATA | ERR | IDD | IDE | IDR | ALL | OVER | ACK}
<condition> ::= {FDD | IDFD | EBA | EBP | CRCD| BRSB | STUF | FORM
| CRC | EOF} for CAN FD
:SBUS<N>:CAN:TYPE
Command :SBUS<N>:CAN:TYPE <cantype>
:SBUS<N>:FLEXray Commands
• ":SBUS<N>:FLEXray:BAUDrate" on page 1278
• ":SBUS<N>:FLEXray:CHANnel" on page 1279
• ":SBUS<N>:FLEXray:SOURce" on page 1280
• ":SBUS<N>:FLEXray:TRIGger" on page 1281
• ":SBUS<N>:FLEXray:TRIGger:ERRor:TYPE" on page 1282
• ":SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase" on page 1283
• ":SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition" on page 1284
• ":SBUS<N>:FLEXray:TRIGger:FRAMe:ID" on page 1285
• ":SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE" on page 1286
These commands are only valid when the automotive FLEXray serial decode option has been
N OT E
licensed.
:SBUS<N>:FLEXray:BAUDrate
Command :SBUS<N>:FLEXray:BAUDrate <baudrate>
:SBUS<N>:FLEXray:CHANnel
Command :SBUS<N>:FLEXray:CHANnel <channel>
<channel> ::= {A | B}
<channel> ::= {A | B}
:SBUS<N>:FLEXray:SOURce
Command :SBUS<N>:FLEXray:SOURce <source>
The :SBUS<N>:FLEXray:SOURce command sets the source for the FlexRay signal.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:FLEXray:SOURce?
:SBUS<N>:FLEXray:TRIGger
Command :SBUS<N>:FLEXray:TRIGger <condition>
The FlexRay trigger is a software-based protocol trigger which operates on data that has
N OT E
acquired (using an available hardware-based trigger) and decoded. In other words, you are
triggering on protocol search. Therefore, the :SBUS<n>:FLEXray:TRIGger commands are valid
only when protocol decode is turned on.
:SBUS<N>:FLEXray:TRIGger:ERRor:TYPE
Command :SBUS<N>:FLEXray:TRIGger:ERRor:TYPE <error_type>
Selects the FlexRay error type to trigger on. The error type setting is only valid
when the FlexRay trigger mode is set to ERRor.
• ALL — triggers on ALL errors.
• HCRC — triggers on only Header CRC errors.
• FCRC — triggers on only Frame CRC errors.
<N> An integer, 1-4.
Query :SBUS<N>:FLEXray:TRIGger:ERRor:TYPE?
:SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase
Command :SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase <cycle_count_base>
:SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition
Command :SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition <cycle_count_repetition>
:SBUS<N>:FLEXray:TRIGger:FRAMe:ID
Command :SBUS<N>:FLEXray:TRIGger:FRAMe:ID <frame_id>
:SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE
Command :SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE <frame_type>
:SBUS<N>:GENRaw Commands
• ":SBUS<N>:GENRaw:SOURce" on page 1288
• ":SBUS<N>:GENRaw:WSIZe" on page 1289
See Also • ":SBUS<N>:MODE" on page 1258
:SBUS<N>:GENRaw:SOURce
Command :SBUS<N>:GENRaw:SOURce <source>
The :SBUS<N>:GENRaw:SOURce command sets the source for the Generic Raw
signal.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
NONE}
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Query :SBUS<N>:GENRaw:SOURce?
:SBUS<N>:GENRaw:WSIZe
Command :SBUS<N>:GENRaw:WSIZe <word_size>
:SBUS<N>:HS Commands
• ":SBUS<N>:HS:DESCramble" on page 1291
• ":SBUS<N>:HS:FORMat" on page 1292
• ":SBUS<N>:HS:IDLE" on page 1293
• ":SBUS<N>:HS:SOURce<S>" on page 1294
These commands are valid only when the high-speed (HS) serial decode type has been set
N OT E
with the :BUS:B<N>:TYPE command.
:SBUS<N>:HS:DESCramble
Command :SBUS<N>:HS:DESCramble {{0 | OFF} | {1 | ON}}
This command is only valid when a serial decode option has been licensed.
N OT E
Query :SBUS<N>:HS:DESCramble?
:SBUS<N>:HS:FORMat
Command :SBUS<N>:HS:FORMat <value>
Query :SBUS<N>:HS:FORMat?
:SBUS<N>:HS:IDLE
Command :SBUS<N>:HS:IDLE {{0 | OFF} | {1 | ON}}
This command is only valid when a serial decode option has been licensed.
N OT E
Query :SBUS<N>:HS:IDLE?
The :SBUS<N>:HS:IDLE? query returns the current ".electrical idles are present"
setting.
Returned Format [:SBUS<N>:HS:IDLE] {0 | 1}<NL>
:SBUS<N>:HS:SOURce<S>
Command :SBUS<N>:HS:SOURce<S> <source>
Query :SBUS<N>:HS:SOURce<S>?
:SBUS<N>:IIC Commands
• ":SBUS<N>:IIC:ASIZe" on page 1296
• ":SBUS<N>:IIC:SOURce:CLOCk" on page 1297
• ":SBUS<N>:IIC:SOURce:DATA" on page 1298
• ":SBUS<N>:IIC:TRIGger:PATTern:ADDRess (9000 Series, 9000H Series,
S-Series)" on page 1299
• ":SBUS<N>:IIC:TRIGger:PATTern:DATA (9000 Series, 9000H Series, S-Series)"
on page 1301
• ":SBUS<N>:IIC:TRIGger:TYPE (9000 Series, 9000H Series, S-Series)" on
page 1302
These commands are only valid when the low-speed IIC and SPI serial decode option has been
N OT E
licensed.
:SBUS<N>:IIC:ASIZe
Command :SBUS<N>:IIC:ASIZe <size>
The :SBUS<N>:IIC:ASIZe? query returns the current IIC address width setting.
Returned Format [:SBUS<N>:IIC:ASIZe] <size><NL>
:SBUS<N>:IIC:SOURce:CLOCk
Command :SBUS<N>:IIC:SOURce:CLOCk <source>
The :SBUS<N>:IIC:SOURce:CLOCk command sets the source for the IIC serial
clock (SCL).
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Example This example selects channel 2 as the source for IIC serial clock.
myScope.WriteString ":SBUS1:IIC:SOURce:CLOCk CHANnel2"
Query :SBUS<N>:IIC:SOURce:CLOCk?
The :SBUS<N>:IIC:SOURce:CLOCk? query returns the current source for the IIC
serial clock.
Returned Format [:SBUS<N>:IIC:SOURce:CLOCk] <source><NL>
:SBUS<N>:IIC:SOURce:DATA
Command :SBUS<N>:IIC:SOURce:DATA <source>
The :SBUS<N>:IIC:SOURce:DATA command sets the source for IIC serial data
(SDA).
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Example This example selects channel 1 as the source for IIC serial data.
myScope.WriteString ":SBUS1:IIC:SOURce:DATA CHANnel1"
Query :SBUS<N>:IIC:SOURce:DATA?
The :SBUS<N>:IIC:SOURce:DATA? query returns the current source for IIC serial
data.
Returned Format [:SBUS<N>:IIC:SOURce:DATA] <source><NL>
You must set :SBUS<N>:MODE to IIC before you can send other :SBUS<N>:IIC:TRIGger
N OT E
commands.
Query :SBUS<N>:IIC:TRIGger:PATTern:ADDRess?
You must set :SBUS<N>:MODE to IIC before you can send other :SBUS<N>:IIC:TRIGger
N OT E
commands.
Query :SBUS<N>:IIC:TRIGger:PATTern:DATA?
You must set :SBUS<N>:MODE to IIC before you can send other :SBUS<N>:IIC:TRIGger
N OT E
commands.
The short form of READ7 (READ7), WRITe7 (WRIT7), WRITe10 (WRIT10), RESTart7 (REST7),
N OT E
and RESTart10 (REST10) do not follow the defined long form to short form truncation rules.
:SBUS<N>:LIN Commands
• ":SBUS<N>:LIN:SAMPlepoint" on page 1305
• ":SBUS<N>:LIN:SIGNal:BAUDrate" on page 1306
• ":SBUS<N>:LIN:SOURce" on page 1307
• ":SBUS<N>:LIN:STANdard" on page 1308
• ":SBUS<N>:LIN:TRIGger" on page 1309
• ":SBUS<N>:LIN:TRIGger:ID" on page 1310
• ":SBUS<N>:LIN:TRIGger:PATTern:DATA" on page 1311
• ":SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth" on page 1312
These commands are only valid when the automotive LIN serial decode option has been
N OT E
licensed.
:SBUS<N>:LIN:SAMPlepoint
Command :SBUS<N>:LIN:SAMPlepoint <value>
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.
The sample point values are not limited by the baud rate.
N OT E
:SBUS<N>:LIN:SIGNal:BAUDrate
Command :SBUS<N>:LIN:SIGNal:BAUDrate <baudrate>
:SBUS<N>:LIN:SOURce
Command :SBUS<N>:LIN:SOURce <source>
The :SBUS<n>:LIN:SOURce command sets the source for the LIN signal.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:LIN:SOURce?
The :SBUS<n>:LIN:SOURce? query returns the current source for the LIN signal.
Returned Format <source><NL>
:SBUS<N>:LIN:STANdard
Command :SBUS<N>:LIN:STANdard <std>
:SBUS<N>:LIN:TRIGger
Command :SBUS<N>:LIN:TRIGger <condition>
:SBUS<N>:LIN:TRIGger:ID
Command :SBUS<N>:LIN:TRIGger:ID <string>
:SBUS<N>:LIN:TRIGger:PATTern:DATA
Command :SBUS<N>:LIN:TRIGger:PATTern:DATA <string>
:SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth
Command :SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth <length>
:SBUS<N>:SPI Commands
• ":SBUS<N>:SPI:BITorder" on page 1314
• ":SBUS<N>:SPI:CLOCk:SLOPe" on page 1315
• ":SBUS<N>:SPI:CLOCk:TIMeout" on page 1316
• ":SBUS<N>:SPI:FRAMe:STATe" on page 1317
• ":SBUS<N>:SPI:SOURce:CLOCk" on page 1318
• ":SBUS<N>:SPI:SOURce:DATA" on page 1320
• ":SBUS<N>:SPI:SOURce:FRAMe" on page 1322
• ":SBUS<N>:SPI:SOURce:MISO" on page 1323
• ":SBUS<N>:SPI:SOURce:MOSI" on page 1324
• ":SBUS<N>:SPI:TRIGger:PATTern:DATA (9000 Series, 9000H Series, S-Series)"
on page 1326
• ":SBUS<N>:SPI:TRIGger:PATTern:WIDTh (9000 Series, 9000H Series,
S-Series)" on page 1328
• ":SBUS<N>:SPI:TRIGger:TYPE (9000 Series, 9000H Series, S-Series)" on
page 1330
• ":SBUS<N>:SPI:TYPE" on page 1332
• ":SBUS<N>:SPI:WIDTh" on page 1333
These commands are only valid when the low-speed IIC and SPI serial decode option has been
N OT E
licensed.
:SBUS<N>:SPI:BITorder
Command :SBUS<N>:SPI:BITorder <order>
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.
<N> An integer, 1-4.
Query :SBUS<N>:SPI:BITorder?
The :SBUS<N>:SPI:BITorder? query returns the current SPI decode bit order.
Returned Format [:SBUS<N>:SPI:BITorder] <order><NL>
:SBUS<N>:SPI:CLOCk:SLOPe
Command :SBUS<N>:SPI:CLOCk:SLOPe <slope>
:SBUS<N>:SPI:CLOCk:TIMeout
Command :SBUS<N>:SPI:CLOCk:TIMeout <time_value>
:SBUS<N>:SPI:FRAMe:STATe
Command :SBUS<N>:SPI:FRAMe:STATe <value>
:SBUS<N>:SPI:SOURce:CLOCk
Command :SBUS<N>:SPI:SOURce:CLOCk <source>
The :SBUS<N>:SPI:SOURce:CLOCk command sets the source for the SPI serial
clock.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:SPI:SOURce:CLOCk?
The :SBUS<N>:SPI:SOURce:CLOCk? query returns the current source for the SPI
serial clock.
Returned Format [:SBUS<N>:SPI:SOURce:CLOCk] <source><NL>
:SBUS<N>:SPI:SOURce:DATA
Command :SBUS<N>:SPI:SOURce:DATA <source>
The :SBUS<N>:SPI:SOURce:DATA command sets the source for the SPI serial
MOSI data.
This command is the same as the :SBUS<N>:SPI:SOURce:MOSI command.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:SPI:SOURce:DATA?
The :SBUS<N>:SPI:SOURce:DATA? query returns the current source for the SPI
serial MOSI data.
Returned Format [:SBUS<N>:SPI:SOURce:DATA] <source><NL>
:SBUS<N>:SPI:SOURce:FRAMe
Command :SBUS<N>:SPI:SOURce:FRAMe <source>
:SBUS<N>:SPI:SOURce:MISO
Command :SBUS<N>:SPI:SOURce:MISO <source>
The :SBUS<N>:SPI:SOURce:MISO command sets the source for the SPI serial
MISO data.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:SPI:SOURce:MISO?
The :SBUS<N>:SPI:SOURce:MISO? query returns the current source for the SPI
serial MISO data.
Returned Format [:SBUS<N>:SPI:SOURce:MISO] <source><NL>
:SBUS<N>:SPI:SOURce:MOSI
Command :SBUS<N>:SPI:SOURce:MOSI <source>
The :SBUS<N>:SPI:SOURce:MOSI command sets the source for the SPI serial
MOSI data.
You can also use the equivalent :SBUS<N>:SPI:SOURce:DATA command to set the
MOSI data source.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:SPI:SOURce:MOSI?
The :SBUS<N>:SPI:SOURce:MOSI? query returns the current source for the SPI
serial MOSI data.
Returned Format [:SBUS<N>:SPI:SOURce:MOSI] <source><NL>
You must set :SBUS<N>:MODE to SPI before you can send other :SBUS<N>:SPI:TRIGger
N OT E
commands.
Query :SBUS<N>:SPI:TRIGger:PATTern:DATA?
You must set :SBUS<N>:MODE to SPI before you can send other :SBUS<N>:SPI:TRIGger
N OT E
commands.
Query :SBUS<N>:SPI:TRIGger:PATTern:WIDTh?
You must set :SBUS<N>:MODE to SPI before you can send other :SBUS<N>:SPI:TRIGger
N OT E
commands.
Query :SBUS<N>:SPI:TRIGger:TYPE?
:SBUS<N>:SPI:TYPE
Command :SBUS<N>:SPI:TYPE <value>
Query :SBUS<N>:SPI:TYPE?
:SBUS<N>:SPI:WIDTh
Command :SBUS<N>:SPI:WIDTh <word_width>
The :SBUS<N>:SPI:WIDTh? query returns the current SPI decode word width.
Returned Format [:SBUS<N>:SPI:WIDTh] <word_width><NL>
:SBUS<N>:UART Commands
• ":SBUS<N>:UART:BAUDrate" on page 1335
• ":SBUS<N>:UART:BITorder" on page 1336
• ":SBUS<N>:UART:DIRection" on page 1337
• ":SBUS<N>:UART:EOF:HEX" on page 1338
• ":SBUS<N>:UART:IDLE" on page 1339
• ":SBUS<N>:UART:PARity" on page 1340
• ":SBUS<N>:UART:SOURce:RX" on page 1341
• ":SBUS<N>:UART:SOURce:TX" on page 1342
• ":SBUS<N>:UART:WIDTh" on page 1343
These commands are only valid when the Low-Speed Protocol Decode and Trigger option has
N OT E
been licensed.
:SBUS<N>:UART:BAUDrate
Command :SBUS<N>:UART:BAUDrate <baudrate>
The :SBUS<N>:UART:BAUDrate command selects the bit rate (in bps) for the serial
decoder and/or trigger when in UART mode.
<N> An integer, 1-4.
<baudrate> Bits/second in NR3 format.
Query :SBUS<N>:UART:BAUDrate?
The :SBUS<N>:UART:BAUDrate? query returns the bit rate (in bps) setting.
Returned Format <baudrate><NL>
:SBUS<N>:UART:BITorder
Command :SBUS<N>:UART:BITorder {LSB | MSB}
:SBUS<N>:UART:DIRection
Command :SBUS<N>:UART:DIRection {RXTX | RX | TX}
:SBUS<N>:UART:EOF:HEX
Command :SBUS<N>:UART:EOF:HEX <value>
:SBUS<N>:UART:IDLE
Command :SBUS<N>:UART:IDLE {LOW | HIGH}
:SBUS<N>:UART:PARity
Command :SBUS<N>:UART:PARity {EVEN | ODD | NONE}
:SBUS<N>:UART:SOURce:RX
Command :SBUS<N>:UART:SOURce:RX <source>
:SBUS<N>:UART:SOURce:TX
Command :SBUS<N>:UART:SOURce:TX <source>
:SBUS<N>:UART:WIDTh
Command :SBUS<N>:UART:WIDTh <width>
35 Self-Test Commands
:SELFtest:CANCel / 1346
:SELFtest:SCOPETEST / 1347
The SELFtest subsystem commands set up the self-test dialog and run the
Infiniium-Series Oscilloscopes Self-Tests.
1345
35 Self-Test Commands
:SELFtest:CANCel
Command :SELFtest:CANCel
:SELFtest:SCOPETEST
Command :SELFtest:SCOPETEST
Query :SELFtest:SCOPETEST?
36 System Commands
:SYSTem:DATE / 1350
:SYSTem:DEBug / 1351
:SYSTem:DIMPedance — (9000 Series, 9000H Series, S-Series) / 1353
:SYSTem:DONTtabmeas / 1354
:SYSTem:DSP / 1355
:SYSTem:ERRor? / 1356
:SYSTem:GUI / 1357
:SYSTem:HEADer / 1358
:SYSTem:HLED (90000 Q-Series, S-Series, V-Series, Z-Series) / 1359
:SYSTem:LOCK / 1360
:SYSTem:LONGform / 1361
:SYSTem:MENU? / 1362
:SYSTem:PERSona / 1363
:SYSTem:PRESet / 1364
:SYSTem:SETup / 1366
:SYSTem:TIME / 1368
SYSTem subsystem commands control the way query responses are formatted,
send and receive setup strings, and enable reading and writing to the advisory line
of the oscilloscope. You can also set and read the date and time in the oscilloscope
using the SYSTem subsystem commands.
1349
36 System Commands
:SYSTem:DATE
Command :SYSTem:DATE <day>,<month>,<year>
The :SYSTem:DATE command sets the date in the oscilloscope, and is not affected
by the *RST common command.
<year> Specifies the year in the format <yyyy> | <yy>. The values range from 1992 to 2035.
<month> Specifies the month in the format <1, 2, . . . 12> | <JAN, FEB, MAR . . .>.
<day> Specifies the day in the format <1 . . . 31>.
Example This example sets the date to December 1, 2002.
myScope.WriteString ":SYSTem:DATE 1,12,02"
Query :SYSTem:DATE?
:SYSTem:DEBug
Command :SYSTem:DEBug {{ON|1}[,<output_mode>[,"<file_name>" [,<create_mode>]]] |
{OFF|0}}
The :SYSTem:DEBug command turns the debug mode on and off. This mode
enables the tracing of incoming remote commands. If you select CREate mode, a
new file is created, and/or an existing file is overwritten. If you select APPend
mode, the information is appended to an existing file. The :SYSTem:DEBug
command shows any header and/or parameter errors.
The default create mode is CREate, the default output mode is FileSCReen, and
the default file name is "C:\Users\Public\Documents\Infiniium\debug.txt". In
debug mode, the File View button lets you view the current debug file, or any other
debug file. This is a read-only mode.
<output_mode> {FILE | SCReen | FileSCReen}
<file_name> An MS-DOS compatible name of the file, a maximum of 254 characters long
(including the path name, if used). The file name assumes the present working
directory if a path does not precede the file name.
<create_mode> {CREate | APPend}
Examples This example turns on the debug/trace mode and creates a debug file.
myScope.WriteString ":SYSTem:DEBUG ON,FILE,
""C:\Users\Public\Documents\Infiniium\pacq8xx.txt"",CREate"
? ^
?-113, Undefined header
>:syst:err? string$<NL>
<:SYSTem:ERROR -113,"Undefined header"$
>:syst:err? string$<NL>
<:SYSTem:ERROR 0,"No error"$
Model: DSO90804A
Serial#: sn ?
>:syst:err? string$<NL>
<:SYSTem:ERROR 0,"No error"$
>:ACQuire:BEST FLATness$<NL>
? ^
?-113, Undefined header
>:syst:err? string$<NL>
<:SYSTem:ERROR -113,"Undefined header"$
>:syst:err? string$<NL>
<:SYSTem:ERROR 0,"No error"$
? ^
?-113, Undefined header
>:syst:err? string$<NL>
<:SYSTem:ERROR -113,"Undefined header"$
Query :SYSTem:DEBug?
:SYSTem:DONTtabmeas
Command :SYSTem:DONTtabmeas {{0 | OFF} | {1 | ON}}
The :SYSTem:DONTtabmeas? query returns the Never tab Measurement Results user
preference setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
:SYSTem:DSP
Command :SYSTem:DSP "<string>"
Query :SYSTem:DSP?
The :SYSTem:DSP? query returns the last string written to the advisory line. This
may be a string written with a :SYSTem:DSP command, or an internally generated
advisory.
The string is actually read from the message queue. The message queue is cleared
when it is read. Therefore, the displayed message can only be read once over the
bus.
Returned Format [:SYSTem:DSP] <string><NL>
Example This example places the last string written to the advisory line of the oscilloscope
in the string variable, strAdvisory. Then, it prints the contents of the variable to the
computer's screen.
Dim strAdvisory As String ' Dimension variable.
myScope.WriteString ":SYSTem:DSP?"
strAdvisory = myScope.ReadString
Debug.Print strAdvisory
:SYSTem:ERRor?
Query :SYSTem:ERRor? [{NUMBer | STRing}]
The :SYSTem:ERRor? query outputs the next error number in the error queue over
the remote interface. When either NUMBer or no parameter is specified in the
query, only the numeric error code is output. When STRing is specified, the error
number is output followed by a comma and a quoted string describing the error.
Table 21 lists the error numbers and their corresponding error messages.
Returned Format [:SYSTem:ERRor] <error_number>[,<quoted_string>]<NL>
Infiniium Oscilloscopes have an error queue that is 30 errors deep and operates on
a first-in, first-out (FIFO) basis. Successively sending the :SYSTem:ERRor? query
returns the error numbers in the order that they occurred until the queue is empty.
When the queue is empty, this query returns headers of 0, "No error." Any further
queries return zeros until another error occurs. Note that front-panel generated
errors are also inserted in the error queue and the Event Status Register.
See Also The "Error Messages" chapter for more information on error messages and their
possible causes.
History Legacy command (existed before version 3.10).
:SYSTem:GUI
Command :SYSTem:GUI {ON | OFF | LOCK}
The :SYSTem:GUI OFF command enables or disables the front panel user
interface.
• ON — Enables the front panel user interface.
• OFF — Disables the front panel user interface and places a Remote Operations
In Progress dialog box on the oscilloscope's screen. The front panel knobs,
keys, and graphical user interface are disabled. Graphical user interface
updates are also disabled.
The :SYSTem:GUI OFF command lets Infiniium oscilloscopes behave like other
Keysight instruments by locking out the GUI (graphical user interface) and the
front panel while remote scripts are running. On Infiniium oscilloscopes, the GUI
and front panel do not lock automatically during remote operation (as most
other instruments do) to preserve the integrity and timing of legacy customer
scripts. The recommendation is, however, that all scripts begin with
:SYSTem:GUI OFF when convenient and possible to run more like other
Keysight instruments and likely improve performance.
The :SYSTem:GUI OFF command is similar to the :SYSTem:LOCK ON command,
except the :SYSTem:LOCK ON command does not disable the graphical user
interface (just the knobs and keys).
• LOCK — Disables the front panel graphical user interface as well as the front
panel knobs and keys. A Remote Operations In Progress dialog box on the
oscilloscope's screen. However, graphical user interface updates are not
disabled.
The front panel user interface can be re-enabled by:
• Sending the :SYSTem:GUI ON command.
• Clicking Enable in the Remote Operations In Progress dialog box.
Example This example disables the oscilloscope's front panel user interface.
myScope.WriteString ":SYSTem:GUI OFF"
Query :SYSTem:GUI?
:SYSTem:HEADer
Command :SYSTem:HEADer {{ON|1} | {OFF|0}}
Query :SYSTem:HEADer?
The :SYSTem:HLED command turns the "hide front panel LEDs" setting ON or OFF.
When ON, all LEDs on the front panel (except the power button LED) will turn off.
You may want to hide front panel LEDs when making measurements in a
light-sensitive environment.
Query :SYSTem:HLED?
<setting> ::= {0 | 1}
:SYSTem:LOCK
Command :SYSTem:LOCK {{ON | 1} | {OFF | 0}}
The :SYSTem:LOCK ON command disables the front panel knobs and keys.
The front panel knobs and keys can be re-enabled by sending the :SYSTem:LOCK
OFF command.
This :SYSTem:LOCK ON command is similar to the :SYSTem:GUI OFF command,
except the :SYSTem:GUI OFF command also disables the graphical user interface
and GUI updates.
Example This example disables the oscilloscope's front panel.
myScope.WriteString ":SYSTem:LOCK ON"
Query :SYSTem:LOCK?
:SYSTem:LONGform
Command :SYSTem:LONGform {{ON | 1} | {OFF | 0}}
The :SYSTem:LONGform command specifies the format for query responses. If the
LONGform is set to OFF, command headers and alpha arguments are sent from
the oscilloscope in the short form (abbreviated spelling). If LONGform is set to ON,
the whole word is output.
Example This example sets the format for query responses from the oscilloscope to the
short form (abbreviated spelling).
myScope.WriteString ":SYSTem:LONGform OFF"
Query :SYSTem:LONGform?
Example This example checks the current format for query responses from the oscilloscope,
and places the result in the string variable, strResult. Then, it prints the contents
of the variable to the computer's screen.
Dim strResult As String ' Dimension variable.
myScope.WriteString ":SYSTem:LONGform?"
strResult = myScope.ReadString
Debug.Print strResult
:SYSTem:MENU?
Query :SYSTem:MENU? <menu_string>
The :SYSTem:MENU? query returns front panel graphical user interface (GUI)
menu strings.
This query is intended to list GUI menu strings that launch other executable programs.
N OT E
Currently, these appear in the "Analyze" menu only. For other menus, this query may return
strings that do not actually appear in the GUI.
Example This example shows queries and responses from the Keysight Interactive IO's
Instrument Session History:
-> :SYSTem:MENU? "Analyze"
<- Histogram..., Mask Test..., Automated Test Apps,
Measurement Analysis (EZJIT)..., Jitter/Noise (EZJIT Complete)...,
RTEye/Clock Recovery (SDA)..., Equalization...
-> :SYSTem:MENU? "Analyze\Automated Test Apps"
<- N8829A 100GBASE-KR4 Test App, N8830A 100GBASE-CR4 Test App
:SYSTem:PERSona
Command :SYSTem:PERSona {<manufacturer_string>, <model_string> | <manufacturer_s
tring> | DEFault}
The :SYSTem:PERSona command sets the manufacturer string and the model
number string returned by the *IDN? query.
Query :SYSTem:PERSona?
The :SYSTem:PERSona? query returns the manufacturer string and the model
number string.
Returned Format [:SYSTem:PERSona] <manufacturer_string>, <model_string><NL>
:SYSTem:PRESet
Command :SYSTem:PRESet [ {DEFault | FACTory} ]
On Infiniium Z-Series and 90000 Q-Series oscilloscopes, if Real-Edge channels are turned on
N OT E
when the front panel [Default Setup] key is pressed, Real-Edge channels remain on after the
default setup. However, with the remote ":SYSTem:PRESet DEFault" command, Real-Edge
channels are turned off before the default setup and remain off after.
• Default Setup does not change any of the control settings found in the User
Preferences dialog box, display color settings, screen options, probe skew,
probe external adapter settings for differential probes, or probe internal
attenuation and gain settings for differential probes.
Factory Default The Factory Default selection returns the oscilloscope to the settings it had when
it left the factory. This places the oscilloscope in a known operating condition. You
can use Factory Default when you want to set all values (even the ones not
defaulted by Default Setup) back to their default values.
These controls are reset during a factory default (but are not reset during a Default
Setup):
• User Preferences dialog box settings
• Customize Multipurpose settings
• Tabbed window layout
• Digital memory size
• Waveform memories
• Channel skew
• Display colors
• Waveform intensity and grid line intensity settings
• Probe skew
• Probe external adapter settings for differential probes
• Probe internal attenuation and gain setting for differential probes
• Lock Display Results (not selected)
Example This example performs an oscilloscope default setup.
myScope.WriteString ":SYSTem:PRESet"
:SYSTem:SETup
Command :SYSTem:SETup <binary_block_data>
CAUTION Setups saved from Infiniium software versions prior to 2.00 may not load correctly in
software versions 4.30 and greater.
You can remedy this by re-saving any pre-2.00 setups using any version of software
from version 2.00 to version 4.20.
Setups saved from software versions between 2.00 and 4.20 should load correctly into
version 4.30 and greater.
<binary A binary block of data, consisting of bytes of setup information. The number of
_block_data> bytes is a dynamic number that is read and allocated by oscilloscope's software.
Example This example reads setup information from a file and restores it to the oscilloscope.
' Read setup from a file:
Dim strPath As String
strPath = "c:\scope\config\setup.dat"
Dim hFile As Long
hFile = FreeFile
Dim varSetup As Variant
Open strPath For Binary Access Read As hFile ' Open file for input.
Get hFile, , varSetup ' Read data.
Close hFile ' Close file.
Query :SYSTem:SETup?
The first character in the setup data block is a number added for disk operations.
Example This example stores the current oscilloscope setup to the variable, varSetup, and
then saves it to a file.
' Get setup from the oscilloscope.
Dim varSetup As Variant
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":SYSTem:SETup?"
varSetup = myScope.ReadIEEEBlock(BinaryType_UI1)
:SYSTem:TIME
Command :SYSTem:TIME <hour>,<minute>,<second>
The :SYSTem:TIME command sets the time in the oscilloscope and is not affected
by the *RST common command.
<hour> 0...23
<minute> 0...59
<second> 0...59
Example This example sets the oscilloscope time to 10:30:45 a.m.
myScope.WriteString ":SYSTem:TIME 10,30,45"
Query :SYSTem:TIME?
1369
37 Time Base Commands
:TIMebase:POSition
Command :TIMebase:POSition <position_value>
The :TIMebase:POSition command sets the time interval between the trigger event
and the delay reference point. The delay reference point is set with the
:TIMebase:REFerence command.
<position _value> A real number for the time in seconds from trigger to the delay reference point.
Example This example sets the delay position to 2 ms.
myScope.WriteString ":TIMebase:POSition 2E-3"
Query :TIMebase:POSition?
Example This example places the current delay value in the numeric variable, varValue, then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:POSition?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:TIMebase:RANGe
Command :TIMebase:RANGe <full_scale_range>
Query :TIMebase:RANGe?
Example This example places the current full-scale horizontal range value in the numeric
variable, varSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:RANGe?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:TIMebase:REFClock
Command :TIMebase:REFClock {{ON | 1} | {OFF | 0} | HFRequency}
Query :TIMebase:REFClock?
The :TIMebase:REFClock? query returns the current state of the reference clock
mode control.
Returned Format [TIMebase:REFClock] {1 | 0 | HFR}<NL>
Example This example places the current value of the reference clock mode control in the
variable, varSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:REFClock?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:TIMebase:REFerence
Command :TIMebase:REFerence {LEFT | CENTer | RIGHt}
Query :TIMebase:REFerence?
:TIMebase:REFerence:PERCent
Command :TIMebase:REFerence:PERCent <percent>
Query :TIMebase:REFerence:PERCent?
Example This example places the current horizontal reference position in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":TIMebase:REFerence:PERCent?"
strSetting = myScope.ReadString
Debug.Print strSetting
:TIMebase:ROLL:ENABLE
Command :TIMebase:ROLL:ENABLE {{ON | 1} | {OFF | 0}}
Roll mode is not available when RealEdge channels are enabled in the 90000 Q-Series and
N OT E
Z-Series oscilloscopes.
Query :TIMebase:ROLL:ENABLE?
The :TIMebase:ROLL:ENABLE? query returns the current state of the roll mode
enable control.
Returned Format [:TIMebase:ROLL:ENABLE] {1 | 0}<NL>
Example This example places the current value of the roll mode enable control in the
variable, varSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:ROLL:ENABLE?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:TIMebase:SCALe
Command :TIMebase:SCALe <time>
The :TIMebase:SCALe command sets the time base scale. This corresponds to the
horizontal scale value displayed as time/div on the oscilloscope screen.
<time> A real number for the time value, in seconds per division. The timebase scale is
5 ps/div to 20 s/div.
Example This example sets the scale to 10 ms/div.
myScope.WriteString ":TIMebase:SCALe 10E-3"
Query :TIMebase:SCALe?
Example This example places the current scale value in the numeric variable, varSetting,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:SCALe?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:TIMebase:VIEW
Command :TIMebase:VIEW {MAIN | WINDow}
The :TIMebase:VIEW command turns the horizontal zoom mode on and off. This is
the same as using the front panel [Zoom] key.
Example This example turns the horizontal zoom mode on.
myScope.WriteString ":TIMebase:VIEW WINDow"
Query :TIMebase:VIEW?
Example This example places the current view in the string variable, strState, then prints
the contents of the variable to the computer's screen.
Dim strState As String ' Dimension variable.
myScope.WriteString ":TIMebase:VIEW?"
strState = myScope.ReadString
Debug.Print strState
:TIMebase:WINDow:DELay
Command :TIMebase:WINDow:DELay <delay_value>
<delay_value> A real number for the time in seconds from the trigger event to the delay reference
point. The maximum position depends on the main sweep range and the main
sweep horizontal position.
Example This example sets the time base window delay position to 20 ns.
myScope.WriteString ":TIMebase:WINDow:DELay 20E-9"
Query :TIMebase:WINDow:DELay?
Example This example places the current horizontal position in the delayed view in the
numeric variable, varSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:WINDow:DELay?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
See Also The :TIMebase:WINDow:POSition command performs the same function as this
command and should be used in new programs.
History Legacy command (existed before version 3.10).
:TIMebase:WINDow:POSition
Command :TIMebase:WINDow:POSition <position_value>
Query :TIMebase:WINDow:POSition?
Example This example places the current horizontal position in the delayed view in the
numeric variable, varSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:WINDow:POSition?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:TIMebase:WINDow:RANGe
Command :TIMebase:WINDow:RANGe <full_scale_range>
Query :TIMebase:WINDow:RANGe?
Example This example reads the current full-scale range of the delayed view into the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:WINDow:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:TIMebase:WINDow:SCALe
Command :TIMebase:WINDow:SCALe <time>
Query :TIMebase:WINDow:SCALe?
38 Trigger Commands
General Trigger Commands / 1385
Comm Trigger Commands / 1401
Delay Trigger Commands / 1407
Edge Trigger Commands / 1417
GBSerial Trigger Commands / 1421
Glitch Trigger Commands / 1432
Pattern Trigger Commands / 1436
Pulse Width Trigger Commands / 1439
Runt Trigger Commands / 1445
Sequence Trigger Commands / 1450
Setup and Hold Trigger Commands / 1459
State Trigger Commands / 1466
Timeout Trigger Commands / 1471
Transition Trigger Commands / 1475
TV Trigger Commands / 1480
Window Trigger Commands / 1491
Advanced Comm Trigger Commands / 1496
Advanced Pattern Trigger Commands / 1503
Advanced State Trigger Commands / 1508
Advanced Delay By Event Trigger Commands / 1514
Advanced Delay By Time Trigger Commands / 1523
Advanced Standard TV Trigger Commands / 1530
Advanced User Defined TV Mode and Commands / 1536
Advanced Violation Trigger Modes / 1542
Advanced Pulse Width Violation Trigger Commands / 1544
Advanced Setup Violation Trigger Commands / 1550
Advanced Transition Violation Trigger Commands / 1576
1383
38 Trigger Commands
The oscilloscope trigger circuitry helps you locate the waveform you want to view.
There are several different types of triggering, but the one that is used most often
is edge triggering. Edge triggering identifies a trigger condition by looking for the
slope (rising or falling) and voltage level (trigger level) on the source you select.
Any input channel, auxiliary input trigger, or line can be used as the trigger source.
The commands in the TRIGger subsystem define the conditions for triggering.
Many of the commands in the TRIGger subsystem are used in more than one of the
trigger modes. The command set has been defined to closely represent the
front-panel trigger menus. As a trade-off, there may be less compatibility between
Infiniium Oscilloscopes and command sets for previous oscilloscopes. Infiniium
Oscilloscopes still accept some commands for compatibility with previous
instruments. An alternative command that is accepted by the oscilloscope is noted
for a particular command.
Summary of Make sure the oscilloscope is in the proper trigger mode for the command you
Trigger Modes and want to send. One method of ensuring that the oscilloscope is in the proper trigger
Commands mode is to send the :TRIGger:MODE command in the same program message as
the parameter to be set.
For example, to place the instrument in the proper triggering mode you select:
:TRIGger:MODE <Trigger_mode>
<Trigger_mode> The trigger modes include COMM, DELay, EDGE, GLITch, PATTern, PWIDth, RUNT,
SEQuence, SHOLd, STATe, TIMeout, TRANsition, TV, WINDow, SBUS<N>, and
ADVanced. Each mode is described with its command set in this chapter.
To place the instrument in the advanced triggering mode you select:
:TRIGger:MODE ADVanced
:TRIGger:ADVanced:MODE <Advanced_trigger_mode>
<Advanced Advanced trigger modes include COMM, DELay, PATTern, STATe, TV, and
_trigger_mode> VIOLation. Each mode is described with its command set in this chapter.
:TRIGger:AND:ENABle
Command :TRIGger:AND[{1 | 2}]:ENABle {{ON | 1} | {OFF | 0}}
:TRIGger:AND:SOURce
Command :TRIGger:AND[{1 | 2}]:SOURce CHANnel<N>,{HIGH | LOW | DONTcare}
The :TRIGger:AND:SOURce command sets the logic value used to qualify the
trigger for the specified channel. The TRIGger:LEVel command determines what
voltage level is considered a HIGH or a LOW logic value. If you set more than one
channel to a HIGH or a LOW, then the multiple channels are used to qualify the
trigger.
The optional [{1 | 2}] parameter sets whether the AND qualifier goes with the
TERM1 or TERM2 state if sequential triggering is being used.
<N> An integer, 1-4.
Query :TRIGger:AND:SOURce? CHANnel<N>
The query returns the logic value for the designated channel.
Returned Format [:TRIGger:AND:SOURce CHANnel<N>] {HIGH | LOW | DONTcare}<NL>
:TRIGger:FORCe
Command :TRIGger:FORCe
:TRIGger:HOLDoff
Command :TRIGger:HOLDoff <holdoff_time>
The query returns the current holdoff value for the current mode.
Returned Format [:TRIGger:HOLDoff] <holdoff><NL>
:TRIGger:HOLDoff:MAX
Command :TRIGger:HOLDoff:MAX <holdoff_time>
This command is only used when you set the :TRIGger:HOLDoff:MODe command
to RANDom. The RANDom mode varies the trigger holdoff from one acquisition to
another by randomizing the time values between triggers. The randomized values
can be between the values specified by the :TRIGger:HOLDoff:MAX and
:TRIGger:HOLDoff:MIN commands.
The Random holdoff mode ensures that the oscilloscope re-arms after each
acquisition in a manner that minimizes or eliminates the likelihood of triggering at
the beginning of a DDR burst. Randomizing the holdoff increases the likelihood
that the oscilloscope will trigger on different data phases of a multiphase (8 data
transfer) burst. This mode mixes up the traffic pattern the oscilloscope triggers on
and is very effective when used on repeating patterns.
<holdoff_time> A real number for the maximum random holdoff time.
Query :TRIGger:HOLDoff:MAX?
The query returns the current maximum holdoff value for the random holdoff
mode.
Returned Format [:TRIGger:HOLDoff:MAX] <holdoff><NL>
:TRIGger:HOLDoff:MIN
Command :TRIGger:HOLDoff:MIN <holdoff_time>
This command is only used when you set the :TRIGger:HOLDoff:MODe command
to RANDom. The RANDom mode varies the trigger holdoff from one acquisition to
another by randomizing the time values between triggers. The randomized values
can be between the values specified by the :TRIGger:HOLDoff:MAX and
:TRIGger:HOLDoff:MIN commands.
The Random holdoff mode ensures that the oscilloscope re-arms after each
acquisition in a manner that minimizes or eliminates the likelihood of triggering at
the beginning of a DDR burst. Randomizing the holdoff increases the likelihood
that the oscilloscope will trigger on different data phases of a multiphase (8 data
transfer) burst. This mode mixes up the traffic pattern the oscilloscope triggers on
and is very effective when used on repeating patterns.
<holdoff_time> A real number for the minimum random holdoff time.
Query :TRIGger:HOLDoff:MIN?
The query returns the current minimum holdoff value for the random holdoff mode.
Returned Format [:TRIGger:HOLDoff:MIN] <holdoff><NL>
:TRIGger:HOLDoff:MODE
Command :TRIGger:HOLDoff:MAX {FIXed | RANDom}
The Fixed mode sets the amount of time that the oscilloscope waits before
re-arming the trigger circuitry. It can be used to stabilize the display of complex
waveforms.
The RANDom mode varies the trigger holdoff from one acquisition to another by
randomizing the time values between triggers. The randomized values can be
between the values specified by the :TRIGger:HOLDoff:MAX and
:TRIGger:HOLDoff:MIN commands.
The Random holdoff mode ensures that the oscilloscope re-arms after each
acquisition in a manner that minimizes or eliminates the likelihood of triggering at
the beginning of a DDR burst. Randomizing the holdoff increases the likelihood
that the oscilloscope will trigger on different data phases of a multiphase (8 data
transfer) burst. This mode mixes up the traffic pattern the oscilloscope triggers on
and is very effective when used on repeating patterns.
Query :TRIGger:HOLDoff:MODE?
:TRIGger:HTHReshold
Command :TRIGger:HTHReshold{{CHANnel<N> | AUXiliary},<level>}
This command specifies the high threshold voltage level for the selected trigger
source. Set the high threshold level to a value considered to be a high level for
your logic family; your data book gives two values, VIH and VOH.
The query returns the currently defined high threshold voltage level for the trigger
source.
Returned Format [:TRIGger:HTHReshold {CHANnel<N> | AUXiliary},] <level><NL>
:TRIGger:HYSTeresis
Command :TRIGger:HYSTeresis {NORMal | NREJect | HSENsitivity}
:TRIGger:LEVel
Command :TRIGger:LEVel {{CHANnel<N> | AUX},<level>}
The :TRIGger:LEVel command specifies the trigger level on the specified channel
for the trigger source. Only one trigger level is stored in the oscilloscope for each
channel. This level applies to the channel throughout the trigger dialog boxes
(Edge, Glitch, and Advanced). This level also applies to all the High Threshold
(HTHReshold) values in the Advanced Violation menus.
<N> An integer, 1-4.
<level> A real number for the trigger level on the specified channel or Auxiliary Trigger
Input.
Query :TRIGger:LEVel? {CHANnel<N> | AUX}
:TRIGger:LEVel:FIFTy
Command :TRIGger:LEVel:FIFTy
:TRIGger:LTHReshold
Command :TRIGger:LTHReshold CHANnel<N>,<level>
This command specifies the low threshold voltage level for the selected trigger
source. This command specifies the low threshold voltage level for the selected
trigger source. Set the low threshold level to a value considered to be a low level
for your logic family; your data book gives two values, VIL and VOL.
The query returns the currently defined low threshold for the trigger source.
Returned Format [:TRIGger:LTHReshold CHANnel<N>,] <level><NL>
:TRIGger:MODE
Command :TRIGger:MODE {EDGE | GLITch | PATTern | STATe | DELay | TIMeout | TV
| COMM | RUNT | SEQuence | SHOLd | TRANsition | WINDow
| PWIDth | ADVanced | SBUS<N>}
Mode Definition
COMM COMM mode lets you trigger on a serial pattern of bits in a waveform.
DELay Delay by Events mode lets you view pulses in your waveform that occur a
number of events after a specified waveform edge. Delay by Time mode
lets you view pulses in your waveform that occur a long time after a
specified waveform edge.
EDGE Edge trigger mode.
GLITch Trigger on a pulse that has a width less than a specified amount of time.
PATTern Pattern triggering lets you trigger the oscilloscope using more than one
channel as the trigger source. You can also use pattern triggering to
trigger on a pulse of a given width.
PWIDth Pulse width triggering lets you trigger on a pulse that is greater than or
less than a specified width and of a certain polarity.
RUNT Runt triggering lets you trigger on positive or negative pulses that are
smaller in amplitude than other pulses in your waveform.
SBUS<N> Serial triggering on SBUS1, SBUS2, SBUS3, or SBUS4.
SEQuence (Available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series,
and Z-Series oscilloscopes.) Sequential triggering lets you use multiple
events or time/pattern qualifications to define your trigger.
SHOLd Setup and Hold triggering let you trigger on Setup or Hold violations in
your circuit.
STATe State triggering lets you set the oscilloscope to use several channels as
the trigger source, with one of the channels being used as a clock
waveform.
TIMeout Timeout triggering lets you trigger when the waveform remains high too
long, low to long, or unchanged too long.
TRANsition Edge Transition triggering lets you trigger on an edge that violates a rise
time or fall time specification.
TV TV trigger mode lets you trigger the oscilloscope on one of the standard
television waveforms. You can also use this mode to trigger on a custom
television waveform that you define.
Mode Definition
WINDow Window triggering lets you define a window on screen and then trigger
when the waveform exits the window, enters it, or stays inside/outside the
window for too long/short.
ADVanced Allows backward compatibility access to the DELay, PATTern, STATe, TV,
and VIOLation modes. When this mode is selected, use the
:TRIGger:ADVanced:MODE command to select the advanced trigger mode.
Mode Definition
COMM COMM mode lets you trigger on a serial pattern of bits in a waveform.
DELay Delay by Events mode lets you view pulses in your waveform that occur a
number of events after a specified waveform edge. Delay by Time mode
lets you view pulses in your waveform that occur a long time after a
specified waveform edge.
PATTern Pattern triggering lets you trigger the oscilloscope using more than one
channel as the trigger source. You can also use pattern triggering to
trigger on a pulse of a given width.
STATe State triggering lets you set the oscilloscope to use several channels as
the trigger source, with one of the channels being used as a clock
waveform.
TV TV trigger mode lets you trigger the oscilloscope on one of the standard
television waveforms. You can also use this mode to trigger on a custom
television waveform that you define.
VIOLation Trigger violation modes: Pulse WIDth, SETup, TRANsition. When this mode
is selected, use the :TRIGger:ADVanced:VIOLation:MODE command to
select the advanced trigger violation mode.
Query :TRIGger:MODE?
:TRIGger:SWEep
Command :TRIGger:SWEep {AUTO | TRIGgered | SINGle}
:TRIGger:COMM:BWIDth
Command :TRIGger:COMM:BWIDth <bwidth_value>
The :TRIGger:COMM:BWIDth command is used to set the width of a bit for your
waveform. The bit width is usually defined in the mask standard for your waveform.
<bwidth_value> A real number that represents the width of a bit.
Query :TRIGger:COMM:BWIDth?
:TRIGger:COMM:ENCode
Command :TRIGger:COMM:ENCode {RZ | NRZ}
:TRIGger:COMM:PATTern
Command :TRIGger:COMM:PATTern <bit>[,<bit[,<bit[,<bit[,<bit[,<bit]]]]]
The :TRIGger:COMM:PATTern command sets the pattern used for triggering the
oscilloscope when in communication trigger mode. The pattern can be up to 6 bits
long. For NRZ type waveforms with positive polarity, there must be at least one
logic 0 to logic 1 transition in the pattern. For NRZ waveforms with negative
polarity there must be at least one logic 1 to logic 0 transition in the pattern. For
RZ type waveforms the pattern must have at least one logic 1 bit for positive
polarity. For RZ type waveforms the pattern must have at least one logic -1 bit for
negative polarity.
<bit> A 1, -1, or 0.
Query :TRIGger:COMM:PATTern?
:TRIGger:COMM:POLarity
Command :TRIGger:COMM:POLarity {POSitive | NEGative}
:TRIGger:COMM:SOURce
Command :TRIGger:COMM:SOURce CHANnel<N>
:TRIGger:DELay:ARM:SOURce
Command :TRIGger:DELay:ARM:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Arm On source for arming the trigger circuitry when the
oscilloscope is in the Delay trigger mode.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:DELay:ARM:SOURce?
The query returns the currently defined Arm On source for the Delay trigger mode.
Returned Format [:TRIGger:DELay:EDELay:ARM:SOURce] {CHANnel<N> | DIGital<M>}<NL>
:TRIGger:DELay:ARM:SLOPe
Command :TRIGger:DELay:ARM:SLOPe {NEGative | POSitive}
This command sets a positive or negative slope for arming the trigger circuitry
when the oscilloscope is in the Delay trigger mode.
Query :TRIGger:DELay:ARM:SLOPe?
The query returns the currently defined slope for the Delay trigger mode.
Returned Format [:TRIGger:DELay:ARM:SLOPe] {NEGative | POSitive}<NL>
:TRIGger:DELay:EDELay:COUNt
Command :TRIGger:DELay:EDELay:COUNt <edge_number>
This command sets the event count for a Delay By Event trigger event.
<edge_num> An integer from 0 to 16,000,000 specifying the number of edges to delay.
Query :TRIGger:DELay:EDELay:COUNt?
The query returns the currently defined number of events to delay before
triggering on the next Trigger On condition in the Delay By Event trigger mode.
Returned Format [:TRIGger:DELay:EDELay:COUNt] <edge_number><NL>
:TRIGger:DELay:EDELay:SOURce
Command :TRIGger:DELay:EDELay:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Event source for a Delay By Event trigger event.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:DELay:EDELay:SOURce?
The query returns the currently defined Event source in the Delay By Event trigger
mode.
Returned Format [:TRIGger:DELay:EDELay:SOURce] {CHANnel<N> | DIGital<M>}<NL>
:TRIGger:DELay:EDELay:SLOPe
Command :TRIGger:DELay:EDELay:SLOPe {NEGative | POSitive}
This command sets the trigger slope for the Delay By Event trigger event.
Query :TRIGger:DELay:EDELay:SLOPe?
The query returns the currently defined slope for an event in the Delay By Event
trigger mode.
Returned Format [:TRIGger:DELay:EDELay:SLOPe] {NEGative | POSitive}<NL>
:TRIGger:DELay:MODE
Command :TRIGger:DELay:MODE {EDELay | TDELay}
:TRIGger:DELay:TDELay:TIME
Command :TRIGger:DELay:TDELay:TIME <delay>
This command sets the delay for a Delay By Time trigger event.
<delay> Time, in seconds, set for the delay trigger, from 10 ns to 10 s.
Query :TRIGger:DELay:TDELay:TIME?
The query returns the currently defined time delay before triggering on the next
Trigger On condition in the Delay By Time trigger mode.
Returned Format [:TRIGger:DELay:TDELay:TIME] <delay><NL>
:TRIGger:DELay:TRIGger:SOURce
Command :TRIGger:DELay:TRIGger:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Trigger On source for a Delay trigger event.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:DELay:TRIGger:SOURce?
The query returns the currently defined Trigger On source in the Delay trigger
mode.
Returned Format [:TRIGger:DELay:TRIGger:SOURce] {CHANnel<N> | DIGital<M>}<NL>
:TRIGger:DELay:TRIGger:SLOPe
Command :TRIGger:DELay:TRIGger:SLOPe {NEGative | POSitive}
This command sets the trigger slope for the Delay trigger event.
Query :TRIGger:DELay:TRIGger:SLOPe?
The query returns the currently defined slope for an event in the Delay trigger
mode.
Returned Format [:TRIGger:DELay:TRIGger:SLOPe] {NEGative | POSitive}<NL>
The query returns the currently selected coupling for the specified edge trigger
source.
Returned Format [:TRIGger:EDGE:COUPling] {AC | DC | LFReject | HFReject}<NL>
:TRIGger:EDGE:SLOPe
Command :TRIGger:EDGE[{1 | 2}]:SLOPe {POSitive | NEGative | EITHer}
The query returns the currently selected slope for the specified edge trigger
source.
Returned Format [:TRIGger:EDGE:SLOPe] {POSitive | NEGative | EITHer}<NL>
:TRIGger:EDGE:SOURce
Command :TRIGger:EDGE[{1 | 2}]:SOURce {CHANnel<N> | DIGital<M> | AUX | LINE}
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the TERM1 or TERM2
N OT E
state if sequential triggering is being used. Sequential triggering is available on
90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and Z-Series oscilloscopes.
The LINE parameter is not available with the 90000 Q-Series or Z-Series oscilloscopes.
N OT E
The query returns the currently selected edge mode trigger source.
Returned Format [:TRIGger:EDGE:SOURce] {CHANnel<N> | DIGital<M> | AUX | LINE}<NL>
Query :TRIGger:GBSerial:CLOCk:FREQuency?
The :TRIGger:GBSerial:DRATe command specifies the data rate of the serial signal.
These common data rate values are supported:
• 480 Mb/s.
• 2.5 Gb/s.
• 4 Gb/s.
• 5 Gb/s.
• 6 Gb/s.
• 8 Gb/s.
• 10 Gb/s.
• 10.3125 Gb/s.
• 10.3725 Gb/s.
• 10.75 Gb/s.
• 12 Gb/s.
• 12.125 Gb/s.
• 12.5 Gb/s.
These data rates are supported in hardware using an internal reference clock and
multipliers. You can also supply an external reference clock to a BNC connector on
the oscilloscope's hardware serial trigger I/O panel. You can choose between the
internal reference clock and an external reference clock using the
:TRIGger:GBSerial:CLOCk command. When you use an external reference clock,
its frequency is specified using the :TRIGger:GBSerial:CLOCk:FREQuency
command.
Query :TRIGger:GBSerial:DRATe?
The :TRIGger:GBSerial:DRATe? query returns the specified serial signal data rate.
Returned Format [:TRIGger:GBSerial:DRATe] <bps><NL>
:TRIGger:GLITch:POLarity
Command :TRIGger:GLITch[{1 | 2}]:POLarity {POSitive | NEGative}
This command defines the polarity of the glitch as positive or negative. The trigger
source must be set using the :TRIGger:GLITch:SOURce command.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:GLITch:POLarity?
:TRIGger:GLITch:SOURce
Command :TRIGger:GLITch[{1 | 2}]:SOURce {CHANnel<N> | DIGital<M>}
This command sets the source for the glitch trigger mode.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:GLITch:SOURce?
The query returns the currently selected source for the glitch trigger mode.
Returned Format [:TRIGger:GLITch:SOURce] {CHANnel<N> | DIGital<M>}<NL>
:TRIGger:GLITch:WIDTh
Command :TRIGger:GLITch[{1 | 2}]:WIDTh <width>
This command sets the glitch width. The oscilloscope will trigger on a pulse that
has a width less than the specified width.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<width> A real number for the glitch width, ranging from the minimum detectable pulse
width to 10 s.
Query :TRIGger:GLITch:WIDTh?
:TRIGger:PATTern:CONDition
Command :TRIGger:PATTern[{1 | 2}]:CONDition {ENTered | EXITed
| {GT,<time>[,PEXits|TIMeout]}
| {LT,<time>}
| {RANGe,<gt_time>,<lt_time>}
| OR}
This command describes the condition applied to the trigger pattern to actually
generate a trigger.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<gt_time> The minimum time (greater than time) for the trigger pattern, from 10 ns to
9.999 s.
<lt_time> The maximum time (less than time) for the trigger pattern, from 10.5 ps to 10 s.
<time> The time condition, in seconds, for the pattern trigger, from 100 ps to 10 s.
When using the GT (Present >) parameter, the PEXits (Pattern Exits) or the
TIMeout parameter controls when the trigger is generated.
Query :TRIGger:PATTern:CONDition?
:TRIGger:PATTern:LOGic
Command :TRIGger:PATTern[{1 | 2}]:LOGic {CHANnel<N> | DIGital<M>},
{HIGH | LOW | DONTcare | RISing | FALLing}
The query returns the current logic criteria for a selected channel.
Returned Format [:TRIGger:PATTern:LOGic {CHANnel<N> | DIGital<M>},]
{HIGH | LOW | DONTcare | RISing | FALLing}<NL>
:TRIGger:PWIDth:DIRection
Command :TRIGger:PWIDth[{1 | 2}]:DIRection {GTHan | LTHan}
This command specifies whether a pulse must be wider or narrower than the width
value to trigger the oscilloscope.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:PWIDth:DIRection?
The query returns the currently defined direction for the pulse width trigger.
Returned Format [:TRIGger:PWIDth:DIRection] {GTHan | LTHan}<NL>
:TRIGger:PWIDth:POLarity
Command :TRIGger:PWIDth[{1 | 2}]:POLarity {NEGative | POSitive}
This command specifies the pulse polarity that the oscilloscope uses to determine
a pulse width violation. For a negative polarity pulse, the oscilloscope triggers
when the rising edge of a pulse crosses the trigger level. For a positive polarity
pulse, the oscilloscope triggers when the falling edge of a pulse crosses the
trigger level.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:PWIDth:POLarity?
The query returns the currently defined polarity for the pulse width trigger.
Returned Format [:TRIGger:PWIDth:POLarity] {NEGative | POSitive}<NL>
:TRIGger:PWIDth:SOURce
Command :TRIGger:PWIDth[{1 | 2}]:SOURce {CHANnel<N> | DIGital<M>}
This command specifies the channel source used to trigger the oscilloscope with
the pulse width trigger.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:PWIDth:SOURce?
The query returns the currently defined channel source for the pulse width trigger.
Returned Format [:TRIGger:PWIDth:SOURce] {CHANnel<N> | DIGital<M>}<NL>
:TRIGger:PWIDth:TPOint
Command :TRIGger:PWIDth[{1 | 2}]:TPOint {EPULse | TIMeout}
This command specifies whether the pulse width trigger should occur at the end
of the pulse or at a specified timeout period. This command is available only when
the pulse direction is set to GTHan.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:PWIDth:TPOint?
The query returns the currently defined trigger on point for the pulse width trigger.
Returned Format [:TRIGger:PWIDth:TPOint] {EPULse | TIMeout}<NL>
:TRIGger:PWIDth:WIDTh
Command :TRIGger:PWIDth[{1 | 2}]:WIDTh <width>
This command specifies how wide a pulse must be to trigger the oscilloscope.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<width> Pulse width, which can range from 250 ps to 10 s.
Query :TRIGger:PWIDth:WIDTh?
The query returns the currently defined width for the pulse.
Returned Format [:TRIGger:PWIDth:WIDTh] <width><NL>
:TRIGger:RUNT:POLarity
Command :TRIGger:RUNT[{1 | 2}]:POLarity {POSitive | NEGative}
This command defines the polarity of the runt pulse as positive or negative. The
trigger source must be set using the :TRIGger:RUNT:SOURce command.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:RUNT:POLarity?
:TRIGger:RUNT:QUALified
Command :TRIGger:RUNT[{1 | 2}]:QUALified {{ON | 1} | {OFF | 0}}
This command enables the time qualified runt pulse feature the polarity of the runt
pulse as positive or negative. The trigger source must be set using the
:TRIGger:RUNT:SOURce command.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:RUNT:QUALified?
The query returns the current state of the time qualified runt pulse feature.
Returned Format [:TRIGger:RUNT:QUALified] {1 | 0}<NL>
:TRIGger:RUNT:SOURce
Command :TRIGger:RUNT[{1 | 2}]:SOURce CHANnel<N>
This command sets the source for the runt trigger mode.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
Query :TRIGger:RUNT:SOURce?
The query returns the currently selected source for the runt trigger mode.
Returned Format [:TRIGger:RUNT:SOURce] CHANnel<N><NL>
:TRIGger:RUNT:TIME
Command :TRIGger:RUNT[{1 | 2}]:TIME <time>
This command sets the time qualifier. The oscilloscope will trigger on a runt pulse
that has a width greater than the specified time.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<time> A real number for the time greater than qualifier, ranging from 250 ps to 30 ns.
Query :TRIGger:RUNT:TIME?
This command specifies the trigger mode for the TERM1 state in the sequential
trigger (the Find (A) state in the Trigger Setup dialog box on the oscilloscope).
For the Pattern/State trigger mode, use STATe1 when there is an edge in the
pattern; otherwise, use PATTern1 when there are only zeros, ones, and don't cares
in the pattern.
There are five limitations associated with sequential triggering:
1 The Edge followed by Edge and Video trigger modes cannot be used in
sequential triggering.
2 The AND qualifier cannot be used when the Reset condition is based upon a
logical pattern.
3 The Pattern/State trigger mode that uses range as the When Pattern selection
can only be used for either the Term1 state or the Term2 state, but not both.
4 You can only use one long timer (>30 ns). Therefore, trigger modes that use
timers greater than 30 ns can only be used for either the Term1 state or the
Term2 state, but not both. Some examples of trigger modes where you might
use a long timer include Pulse Width, Glitch, Window, Edge Transition, and
Timeout.
5 The alternating edge trigger mode cannot be used in sequential triggering.
Limitations (3) and (4) deal with extended resources. Extended resources refer to
trigger modes or conditions that are available to either the Term1 state or the
Term2 state, but not both at the same time. The oscilloscope will figure out which
state has access to these extended resources based upon the conditions you setup
in each of these states. If you want Term2 to have a timer longer than 30 ns, you
must first change the timer associated with Term1 to be less than 30 ns.
Query :TRIGger:SEQuence:TERM1?
The query returns the currently defined trigger mode for the TERM1 state.
History Legacy command (existed before version 3.10).
This command specifies the trigger mode for the TERM2 state in the sequential
trigger (the Trigger (B) state in the Trigger Setup dialog box on the oscilloscope).
For the Pattern/State trigger mode, use STATe2 when there is an edge in the
pattern; otherwise, use PATTern2 when there are only zeros, ones, and don't cares
in the pattern.
There are five limitations associated with sequential triggering:
1 The Edge followed by Edge and Video trigger modes cannot be used in
sequential triggering.
2 The AND qualifier cannot be used when the Reset condition is based upon a
logical pattern.
3 The Pattern/State trigger mode that uses range as the When Pattern selection
can only be used for either the Term1 state or the Term2 state, but not both.
4 You can only use one long timer (>30 ns). Therefore, trigger modes that use
timers greater than 30 ns can only be used for either the Term1 state or the
Term2 state, but not both. Some examples of trigger modes where you might
use a long timer include Pulse Width, Glitch, Window, Edge Transition, and
Timeout.
5 The alternating edge trigger mode cannot be used in sequential triggering.
Limitations (3) and (4) deal with extended resources. Extended resources refer to
trigger modes or conditions that are available to either the Term1 state or the
Term2 state, but not both at the same time. The oscilloscope will figure out which
state has access to these extended resources based upon the conditions you setup
in each of these states. If you want Term2 to have a timer longer than 30 ns, you
must first change the timer associated with Term1 to be less than 30 ns.
Query :TRIGger:SEQuence:TERM2?
The query returns the currently defined trigger mode for the TERM2 state.
History Legacy command (existed before version 3.10).
This command turns the Reset feature on or off for the sequential trigger.
The Reset feature allows you to specify a length of time such that if this time is
exceeded between when the TERM1 event occurs and when the TERM2 event
occurs, the sequential trigger is reset and the oscilloscope returns to looking for
the TERM1 event without triggering. If the Delay feature (remote command :WAIT)
is used as well then the Reset timer does not start counting down until after the
delay period is complete.
You can also base the Reset condition on a logical pattern. If the specified pattern
is found between when the TERM1 occurs and the TERM2 event occurs, the
sequential trigger resets and goes back to looking for the TERM1 event without
triggering. The delay feature does not impact a logical pattern Reset as the pattern
is searched for immediately after the TERM1 event occurs regardless of whether of
not the Delay period is complete.
If the Reset feature is enabled, the AND qualifier cannot be used for the TERM1
state.
Query :TRIGger:SEQuence:RESet:ENABle?
This command specifies whether the Reset condition is based upon a length of
time or a logical pattern.
The Reset feature allows you to specify a length of time such that if this time is
exceeded between when the TERM1 event occurs and when the TERM2 event
occurs, the sequential trigger is reset and the oscilloscope returns to looking for
the TERM1 event without triggering. If the Delay feature (remote command :WAIT)
is used as well then the Reset timer does not start counting down until after the
delay period is complete.
You can also base the Reset condition on a logical pattern. If the specified pattern
is found between when the TERM1 occurs and the TERM2 event occurs, the
sequential trigger resets and goes back to looking for the TERM1 event without
triggering. The delay feature does not impact a logical pattern Reset as the pattern
is searched for immediately after the TERM1 event occurs regardless of whether of
not the Delay period is complete.
Query :TRIGger:SEQuence:RESet:TYPE?
The query returns whether the Reset condition is based upon a length of time or
an event.
History Legacy command (existed before version 3.10).
This command defines the logical pattern used for an event Reset condition.
You can specify for each channel (1-4) whether you want the value to be high (1),
low (0), or you don't care (X).
<N> An integer, 1-4.
Query :TRIGger:SEQuence:RESet:EVENt? {CHANnel<N>}
The query returns the logical pattern used for an event Reset condition.
History Legacy command (existed before version 3.10).
This command defines the length of time to use for the time-based Reset
condition.
<time> A length of time in seconds.
Query :TRIGger:SEQuence:RESet:TIME?
The query returns the length of time used for the Reset condition.
History Legacy command (existed before version 3.10).
This command turns the Delay feature on or off for the sequential trigger.
The Delay feature allows you to define a length of time for the sequential trigger
system to wait after the TERM1 event occurs before it starts searching for the
TERM2 event.
Query :TRIGger:SEQuence:WAIT:ENABle?
The query returns whether or not the Delay feature is turned on.
History Legacy command (existed before version 3.10).
This command defines the length of time to use for the Delay condition.
<time> A length of time in seconds.
Query :TRIGger:SEQuence:WAIT:TIME?
The query returns the length of time used for the Delay condition.
History Legacy command (existed before version 3.10).
:TRIGger:SHOLd:CSOurce
Command :TRIGger:SHOLd[{1 | 2}]:CSOurce CHANnel<N>
This command specifies the clock source for the clock used for the trigger setup
and hold violation. The clock must pass through the voltage level you have set
before the trigger circuitry looks for a setup and hold time violation.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
Query :TRIGger:SHOLd:CSOurce?
The query returns the currently defined clock source for the trigger setup and hold
violation.
Returned Format [:TRIGger:SHOLd:CSOurce] CHANnel<N><NL>
:TRIGger:SHOLd:CSOurce:EDGE
Command :TRIGger:SHOLd[{1 | 2}]:CSOurce:EDGE {RISing | FALLing}
This command specifies the clock source trigger edge for the clock used for the
trigger setup and hold violation. The clock must pass through the voltage level you
have set before the trigger circuitry looks for a setup and hold time violation.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:SHOLd:CSOurce:EDGE?
The query returns the currently defined clock source edge for the trigger setup and
hold violation level for the clock source.
Returned Format [:TRIGger:SHOLd:CSOurce:EDGE] {RISing | FALLing}<NL>
History Legacy command (existed before version 3.10).
:TRIGger:SHOLd:DSOurce
Command :TRIGger:SHOLd[{1 | 2}]:DSOurce CHANnel<N>
The data source commands specify the data source for the trigger setup and hold
violation.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
Query :TRIGger:SHOLd:DSOurce?
The query returns the currently defined data source for the trigger setup and hold
violation.
Returned Format [:TRIGger:SHOLd:DSOurce] CHANnel<N><NL>
:TRIGger:SHOLd:HoldTIMe (HTIMe)
Command :TRIGger:SHOLd[{1 | 2}]:HoldTIMe <time>
This command specifies the amount of hold time used to test for both a setup and
hold trigger violation. The hold time is the amount of time that the data must be
stable and valid after a clock edge.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<time> Hold time, in seconds.
Query :TRIGger:SHOLD:HoldTIMe?
The query returns the currently defined hold time for the setup and hold trigger
violation.
Returned Format [:TRIGger:SHOLD:HoldTIMe] <time><NL>
:TRIGger:SHOLd:MODE
Command :TRIGger:SHOLd[{1 | 2}]:MODE {SETup | HOLD | SHOLd}
SETup When using the setup time mode, a time window is defined where the right edge is
the clock edge and the left edge is the selected time before the clock edge. The
waveform must stay outside of the trigger level thresholds during this time
window. If the waveform crosses a threshold during this time window, a violation
event occurs and the oscilloscope triggers.
HOLD When using the hold time mode, the waveform must not cross the threshold
voltages after the specified clock edge for at least the hold time you have selected.
Otherwise, a violation event occurs and the oscilloscope triggers.
SHOLd When using the setup and hold time mode, if the waveform violates either a setup
time or hold time, the oscilloscope triggers. The total time allowed for the sum of
setup time plus hold time is 24 ns maximum.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:SHOLd:MODE?
The query returns the currently selected trigger setup violation mode.
Returned Format [:TRIGger:SHOLd:MODE] {SETup | HOLD | SHOLd}<NL>
:TRIGger:SHOLd:SetupTIMe
Command :TRIGger:SHOLd[{1 | 2}]:SetupTIMe <time>
This command specifies the amount of setup time used to test for both a setup
and hold trigger violation. The setup time is the amount of time that the data must
be stable and valid before a clock edge.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<time> Setup time, in seconds.
Query :TRIGger:SHOLd:SetupTIMe?
The query returns the currently defined setup time for the setup and hold trigger
violation.
Returned Format [:TRIGger:SHOLd:SetupTIMe] <time><NL>
:TRIGger:STATe:CLOCk
Command :TRIGger:STATe[{1 | 2}]:CLOCk {CHANnel<N> | DIGital<M>}
This command selects the source for the clock waveform in the State Trigger
Mode.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:STATe:CLOCk?
:TRIGger:STATe:LOGic
Command :TRIGger:STATe[{1 | 2}]:LOGic {CHANnel<N> | DIGital<M>},
{LOW | HIGH | DONTcare | RISing | FALLing | EITHer}
This command defines the logic state of the specified source for the state pattern.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
The RISing, FALLing, or EITHer options will make the specified source the clock
source. In mixed-signal (MSO) oscilloscopes, the EITHer option is available only
when all digital channel states are DONTcare.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:STATe:LOGic? {CHANnel<N> | DIGital<M>}
The query returns the logic state definition for the specified source.
Returned Format [:TRIGger:STATe:LOGic {CHANnel<N> | DIGital<M>},]
{LOW | HIGH | DONT | RIS | FALL | EITH}<NL>
:TRIGger:STATe:LTYPe
Command :TRIGger:STATe[{1 | 2}]:LTYPe {AND | NAND}
This command defines the state trigger logic type. If the logic type is set to AND,
then a trigger is generated on the edge of the clock when the input waveforms
match the pattern specified by the :TRIGger:STATe:LOGic command. If the logic
type is set to NAND, then a trigger is generated on the edge of the clock when the
input waveforms do not match the specified pattern.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:STATe:LTYPe?
The query returns the currently specified state trigger logic type.
Returned Format [:TRIGger:STATe:LTYPe] {AND | NAND}<NL>
:TRIGger:STATe:SLOPe
Command :TRIGger:STATe[{1 | 2}]:SLOPe {RISing | FALLing | EITHer}
This command specifies the edge of the clock that is used to generate a trigger.
The waveform source used for the clock is selected by using the
:TRIGger:STATe:CLOCk command.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
In mixed-signal (MSO) oscilloscopes, the EITHer option is available only when all
digital channel states are DONTcare.
Query :TRIGger:STATe:SLOPe?
The query returns the currently defined slope for the clock in State Trigger Mode.
Returned Format [:TRIGger:STATe:SLOPe] {RIS | FALL | EITH}<NL>
:TRIGger:TIMeout:CONDition
Command :TRIGger:TIMeout[{1 | 2}]:CONDition {HIGH | LOW | UNCHanged}
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
This command sets the condition used for the timeout trigger.
HIGH Trigger when the waveform has been high for a period time longer than the time
value which is set by the TRIGger:TIMeout:TIME command.
LOW Trigger when the waveform has been low for a period time longer than the time
value which is set by the TRIGger:TIMeout:TIME command.
UNCHanged Trigger when the waveform has not changed state for a period time longer than
the time value which is set by the TRIGger:TIMeout:TIME command.
Query :TRIGger:TIMeout:CONDition?
The query returns the currently defined trigger condition for the timeout trigger.
Returned Format [:TRIGger:TIMeout:CONDition] {HIGH | LOW | UNCHanged}<NL>
:TRIGger:TIMeout:SOURce
Command :TRIGger:TIMeout[{1 | 2}]:SOURce CHANnel<N>
This command specifies the channel source used to trigger the oscilloscope with
the timeout trigger.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
Query :TRIGger:TIMeout:SOURce?
The query returns the currently defined channel source for the timeout trigger.
Returned Format [:TRIGger:TIMeout:SOURce] CHANnel<N><NL>
:TRIGger:TIMeout:TIME
Command :TRIGger:TIMeout[{1 | 2}]:TIME <time>
This command lets you look for transition violations that are greater than or less
than the time specified.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<time> The time for the timeout trigger, in seconds.
Query :TRIGger:TIMeout:TIME?
The query returns the currently defined time for the trigger trigger.
Returned Format [:TRIGger:TIMeout:TIME] <time><NL>
:TRIGger:TRANsition:DIRection
Command :TRIGger:TRANsition[{1 | 2}]:DIRection {GTHan | LTHan}
This command lets you look for transition violations that are greater than or less
than the time specified by the :TRIGger:TRANsition:TIME command.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:TRANsition:DIRection?
The query returns the currently defined direction for the trigger transition violation.
Returned Format [:TRIGger:TRANsition:DIRection] {GTHan | LTHan}]<NL>
:TRIGger:TRANsition:SOURce
Command :TRIGger:TRANsition[{1 | 2}]:SOURce CHANnel<N>
The transition source command lets you find any edge in your waveform that
violates a rise time or fall time specification. The oscilloscope finds a transition
violation trigger by looking for any pulses in your waveform with rising or falling
edges that do not cross two voltage levels in the amount of time you have
specified.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
Query :TRIGger:TRANsition:SOURce?
The query returns the currently defined transition source for the trigger transition
violation.
Returned Format [:TRIGger:TRANsition:SOURce] CHANnel<N><NL>
:TRIGger:TRANsition:TIME
Command :TRIGger:TRANsition[{1 | 2}]:TIME <time>
This command lets you look for transition violations that are greater than or less
than the time specified.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<time> The time for the trigger violation transition, in seconds.
Query :TRIGger:TRANsition:TIME?
The query returns the currently defined time for the trigger transition violation.
Returned Format [:TRIGger:TRANsition:TIME] <time><NL>
:TRIGger:TRANsition:TYPE
Command :TRIGger:TRANsition[{1 | 2}]:TYPE {RISetime | FALLtime}
This command lets you select either a rise time or fall time transition violation
trigger event.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:TRANsition:TYPE?
The query returns the currently defined transition type for the trigger transition
violation.
Returned Format [:TRIGger:TRANsition:TYPE] {RISetime | FALLtime}<NL>
TV Trigger Commands
• ":TRIGger:TV:LINE" on page 1481
• ":TRIGger:TV:MODE" on page 1482
• ":TRIGger:TV:POLarity" on page 1483
• ":TRIGger:TV:SOURce" on page 1484
• ":TRIGger:TV:STANdard" on page 1485
• ":TRIGger:TV:UDTV:ENUMber" on page 1486
• ":TRIGger:TV:UDTV:HSYNc" on page 1487
• ":TRIGger:TV:UDTV:HTIMe" on page 1488
• ":TRIGger:TV:UDTV:PGTHan" on page 1489
• ":TRIGger:TV:UDTV:POLarity" on page 1490
:TRIGger:TV:LINE
Command :TRIGger:TV:LINE <line_number>
The :TRIGger:TV:LINE command selects the horizontal line that you want to
examine. The allowable line number entry depends on the :TRIGger:TV:MODE
selected. Once the vertical sync pulse of the selected field is received, the trigger
is delayed by the number of lines specified.
<line_number> Horizontal line number as shown below.
Query :TRIGger:TV:LINE?
:TRIGger:TV:MODE
Command :TRIGger:TV:MODE {AFIelds | ALINes | ALTernate | FIElds1 | FIElds2 | LIN
E}
:TRIGger:TV:POLarity
Command :TRIGger:TV:POLarity {NEGative | POSitive}
The :TRIGger:TV:POLarity command specifies the vertical sync pulse polarity for
the selected field used during TV mode triggering.
Query :TRIGger:TV:POLarity?
:TRIGger:TV:SOURce
Command :TRIGger:TV:SOURce CHANnel<N>
The :TRIGger:TV:SOURce command selects the source for the TV mode triggering.
This is the source that will be used for subsequent :TRIGger:TV commands and
queries.
<N> An integer, 1-4.
Query :TRIGger:TV:SOURce?
The query returns the currently selected standard TV trigger mode source.
Returned Format [:TRIGger:TV:SOURce] CHANnel<N>NL>
:TRIGger:TV:STANdard
Command :TRIGger:TV:STANdard {I1080L60HZ | I1080L50HZ | L525 | L625 | P480L60HZ
| P576L50HZ | P720L60HZ | P720L50HZ | P1080L60HZ | P1080L50HZ
| P1080L30HZ | P1080L25HZ | P1080L24HZ | UDTV}
:TRIGger:TV:UDTV:ENUMber
Command :TRIGger:TV:UDTV:ENUMber <count>
:TRIGger:TV:UDTV:HSYNc
Command :TRIGger:TV:UDTV:HSYNc {ON | 1} | {OFF | 0}}
The query returns the current state of the horizontal sync mode of triggering.
Returned Format [:TRIGger:TV:UDTV:HSYNc] {1 | 0}<NL>
:TRIGger:TV:UDTV:HTIMe
Command :TRIGger:TV:UDTV:HTIMe <time>
The :TRIGger:TV:UDTV:HTIMe command sets the time that a sync pulse must be
present to be considered a valid sync pulse.
<time> A real number that is the time width for the sync pulse.
Query :TRIGger:TV:UDTV:HTIMe?
The query returns the currently defined time for the sync pulse width.
Returned Format [:TRIGger:TV:UDTV:HTIMe] <time><NL>
:TRIGger:TV:UDTV:PGTHan
Command :TRIGger:TV:UDTV:PGTHan <lower_limit>
:TRIGger:TV:UDTV:POLarity
Command :TRIGger:TV:UDTV:POLarity {NEGative | POSitive}
The :TRIGger:TV:UDTV:POLarity command specifies the polarity for the sync pulse
used to arm the trigger in the user-defined trigger mode.
Query :TRIGger:TV:UDTV:POLarity?
The query returns the currently selected UDTV sync pulse polarity.
Returned Format [:TRIGger:TV:UDTV:POLarity] {NEGative | POSitive}<NL>
:TRIGger:WINDow:CONDition
Command :TRIGger:WINDow[{1 | 2}]:CONDition {ENTer | EXIT
| INSide [,{GTHan | LTHan}]
| OUTSide [,{GTHan | LTHan}]}
This command describes the condition applied to the trigger window to actually
generate a trigger.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:WINDow:CONDition?
:TRIGger:WINDow:SOURce
Command :TRIGger:WINDow[{1 | 2}]:SOURce CHANnel<N>
This command specifies the channel source used to trigger the oscilloscope with
the window trigger.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
Query :TRIGger:WINDow:SOURce?
The query returns the currently defined channel source for the window trigger.
Returned Format [:TRIGger:WINDow:SOURce] CHANnel<N><NL>
:TRIGger:WINDow:TIME
Command :TRIGger:WINDow[{1 | 2}]:TIME <time>
This command lets you look for transition violations that are greater than or less
than the time specified.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<time> The time for the trigger violation transition, in seconds.
Query :TRIGger:WINDow:TIME?
The query returns the currently defined time for the trigger window timeout.
Returned Format [:TRIGger:WINDow:TIME] <time><NL>
:TRIGger:WINDow:TPOint
Command :TRIGger:WINDow[{1 | 2}]:TPOint {BOUNdary | TIMeout}
This command specifies whether the window trigger should occur at the boundary
of the window or at a specified timeout period.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:WINDow:TPOint?
The query returns the currently defined trigger on point for the pulse width trigger.
Returned Format [:TRIGger:PWIDth:TPOint] {BOUNdary | TIMeout}<NL>
:TRIGger:ADVanced:COMM:BWIDth
Command :TRIGger:ADVanced:COMM:BWIDth <bwidth_value>
:TRIGger:ADVanced:COMM:ENCode
Command :TRIGger:ADVanced:COMM:ENCode {RZ | NRZ}
:TRIGger:ADVanced:COMM:LEVel
Command :TRIGger:ADVanced:COMM:LEVel CHANnel<N>,<level>
:TRIGger:ADVanced:COMM:PATTern
Command :TRIGger:ADVanced:COMM:PATTern <bit>[,<bit[,<bit[,<bit[,<bit[,<bit]]]]]
:TRIGger:ADVanced:COMM:POLarity
Command :TRIGger:ADVanced:COMM:POLarity {POSitive | NEGative}
:TRIGger:ADVanced:COMM:SOURce
Command :TRIGger:ADVanced:COMM:SOURce CHANnel<N>
:TRIGger:ADVanced:PATTern:CONDition
Command :TRIGger:ADVanced:PATTern:CONDition {ENTered | EXITed
| {GT,<time>[,PEXits|TIMeout]}
| {LT,<time>}
| {RANGe,<gt_time>,<lt_time>}
| OR}
This command describes the condition applied to the trigger pattern to actually
generate a trigger.
<gt_time> The minimum time (greater than time) for the trigger pattern, from 10 ns to
9.9999999 s.
<lt_time> The maximum time (less than time) for the trigger pattern, from 15 ns to 10 s.
<time> The time condition, in seconds, for the pattern trigger, from 1.5 ns to 10 s.
When using the GT (Present >) parameter, the PEXits (Pattern Exits) or the
TIMeout parameter controls when the trigger is generated.
Query :TRIGger:ADVanced:PATTern:CONDition?
:TRIGger:ADVanced:PATTern:LOGic
Command :TRIGger:ADVanced:PATTern:LOGic {{CHANnel<N> | <channel_list> | DIGital<
M>},{HIGH|LOW|DONTcare|RISing|FALLing}}
The query returns the current logic criteria for a selected channel.
Returned Format [:TRIGger:ADVanced:PATTern:LOGic {CHANnel<N>|<channel_list> | DIGital<M>
},] {HIGH|LOW|DONTcare|RISing|FALLing}<NL>
:TRIGger:ADVanced:PATTern:THReshold:LEVel
Command :TRIGger:ADVanced:PATTern:THReshold:LEVel {CHANnel<N>},<level>
:TRIGger:ADVanced:STATe:CLOCk
Command :TRIGger:ADVanced:STATe:CLOCk {CHANnel<N> | DIGital<M> | DONTcare
| <digital_channel>}
This command selects the source for the clock waveform in the State Trigger
Mode.
<N> An integer, 1-2, for two channel Infiniium Oscilloscope. An integer, 1-4, for all
other Infiniium Oscilloscope models.
<M> An integer, 0-15. The digital channels are available on the MSO oscilloscopes or
DSO models with the MSO license installed.
Query :TRIGger:ADVanced:STATe:CLOCk?
:TRIGger:ADVanced:STATe:LOGic
Command :TRIGger:ADVanced:STATe:LOGic {{CHANnel<N> | <channel_list>
| DIGital<M>},{LOW|HIGH|DONTcare|RISing| FALLing}}
This command defines the logic state of the specified source for the state pattern.
The command produces a settings conflict on a channel that has been defined as
the clock.
<N> An integer, 1-2, for two channel Infiniium Oscilloscope. An integer, 1-4, for all
other Infiniium Oscilloscope models.
<channel_list> The channel range is from 0 to 15 in the following format.
<M> An integer, 0-15. The digital channels are available on the MSO oscilloscopes or
DSO models with the MSO license installed.
Query :TRIGger:ADVanced:STATe:LOGic? {CHANnel<N> | <channel_list> | DIGital<M
>}
The query returns the logic state definition for the specified source.
<N> N is the channel number, an integer in the range of 1 - 4.
Returned Format [:TRIGger:ADVanced:STATe:LOGic {CHANnel<N> | <channel_list> | DIGital<M>
},]
{LOW | HIGH | DONTcare | RISing | FALLing}<NL>
:TRIGger:ADVanced:STATe:LTYPe
Command :TRIGger:ADVanced:STATe:LTYPe {AND | NAND}
This command defines the state trigger logic type. If the logic type is set to AND,
then a trigger is generated on the edge of the clock when the input waveforms
match the pattern specified by the :TRIGger:ADVanced:STATe:LOGic command. If
the logic type is set to NAND, then a trigger is generated on the edge of the clock
when the input waveforms do not match the specified pattern.
Query :TRIGger:ADVanced:STATe:LTYPe?
The query returns the currently specified state trigger logic type.
Returned Format [:TRIGger:ADVanced:STATe:LTYPe] {AND | NAND}<NL>
:TRIGger:ADVanced:STATe:SLOPe
Command :TRIGger:ADVanced:STATe:SLOPe {{RISing | POSitive} | {FALLing | NEGative
}}
This command specifies the edge of the clock that is used to generate a trigger.
The waveform source used for the clock is selected by using the
:TRIGger:ADVanced:STATe:CLOCk command.
Query :TRIGger:ADVanced:STATe:SLOPe?
The query returns the currently defined slope for the clock in State Trigger Mode.
Returned Format [:TRIGger:ADVanced:STATe:SLOPe] {RIS | FALL}<NL>
:TRIGger:ADVanced:STATe:THReshold:LEVel
Command :TRIGger:ADVanced:STATe:THReshold:LEVel {CHANnel<N> | DIGital<M>},<leve
l>
The ADVanced DELay commands define the conditions for the Delay Trigger
Mode. The Delay By Events Mode lets you view pulses in your waveform that occur
a number of events after a specified waveform edge. After entering the commands
above, to select Delay By Events Mode, enter:
:TRIGger:ADVanced:DELay:MODE EDLY
Then you can use the Event Delay (EDLY) commands and queries for ARM, EVENt,
and TRIGger on the following pages.
To query the oscilloscope for the advanced trigger mode or the advanced trigger
delay mode, enter:
:TRIGger:ADVanced:MODE? or
:TRIGger:ADVanced:DELay:MODE?
:TRIGger:ADVanced:DELay:EDLY:ARM:SOURce
Command :TRIGger:ADVanced:DELay:EDLY:ARM:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Arm On source for arming the trigger circuitry when the
oscilloscope is in the Delay By Event trigger mode.
<N> An integer, 1-4.
<M> An integer, 0-15. The digital channels are available on the MSO oscilloscopes or
DSO models with the MSO license installed.
Query :TRIGger:ADVanced:DELay:EDLY:ARM:SOURce?
The query returns the currently defined Arm On source for the Delay By Event
trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:EDLY:ARM:SOURce] {CHANnel<N>| DIGital<M>}<NL>
:TRIGger:ADVanced:DELay:EDLY:ARM:SLOPe
Command :TRIGger:ADVanced:DELay:EDLY:ARM:SLOPe {NEGative|POSitive}
This command sets a positive or negative slope for arming the trigger circuitry
when the oscilloscope is in the Delay By Event trigger mode.
Query :TRIGger:ADVanced:DELay:EDLY:ARM:SLOPe?
The query returns the currently defined slope for the Delay By Event trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:EDLY:ARM:SLOPe] {NEGative|POSitive}<NL>
:TRIGger:ADVanced:DELay:EDLY:EVENt:DELay
Command :TRIGger:ADVanced:DELay:EDLY:EVENt:DELay <edge_number>
This command sets the event count for a Delay By Event trigger event.
<edge_num> An integer from 0 to 16,000,000 specifying the number of edges to delay.
Query :TRIGger:ADVanced:DELay:EDLY:EVENt:DELay?
The query returns the currently defined number of events to delay before
triggering on the next Trigger On condition in the Delay By Event trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:EDLY:EVENt:DELay] <edge_number><NL>
:TRIGger:ADVanced:DELay:EDLY:EVENt:SOURce
Command :TRIGger:ADVanced:DELay:EDLY:EVENt:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Event source for a Delay By Event trigger event.
<N> An integer, 1-2, for two channel Infiniium Oscilloscope. An integer, 1-4, for all
other Infiniium Oscilloscope models.
<M> An integer, 0-15. The digital channels are available on the MSO oscilloscopes or
DSO models with the MSO license installed.
Query :TRIGger:ADVanced:DELay:EDLY:EVENt:SOURce?
The query returns the currently defined Event source in the Delay By Event trigger
mode.
Returned Format [:TRIGger:ADVanced:DELay:EDLY:EVENt:SOURce] {CHANnel<N> | DIGital<M>}<NL
>
:TRIGger:ADVanced:DELay:EDLY:EVENt:SLOPe
Command :TRIGger:ADVanced:DELay:EDLY:EVENt:SLOPe
{NEGative|POSitive}
This command sets the trigger slope for the Delay By Event trigger event.
Query :TRIGger:ADVanced:DELay:EDLY:EVENt:SLOPe?
The query returns the currently defined slope for an event in the Delay By Event
trigger mode.
Returned Format [:TRIGger:ADVanced:EDLY:EVENt:SLOPe] {NEGative|POSitive}<NL>
:TRIGger:ADVanced:DELay:EDLY:TRIGger:SOURce
Command :TRIGger:ADVanced:DELay:EDLY:TRIGger:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Trigger On source for a Delay By Event trigger event.
<N> An integer, 1-4.
<M> An integer, 0-15. The digital channels are available on the MSO oscilloscopes or
DSO models with the MSO license installed.
Query :TRIGger:ADVanced:DELay:EDLY:TRIGger:SOURce?
The query returns the currently defined Trigger On source for the event in the
Delay By Event trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:EDLY:TRIGger:SOURce] {CHANnel<N> | DIGital<M>}<
NL>
:TRIGger:ADVanced:DELay:EDLY:TRIGger:SLOPe
Command :TRIGger:ADVanced:DELay:EDLY:TRIGger:SLOPe
{NEGative|POSitive}
This command sets the trigger slope for the Delay By Event trigger event.
Query :TRIGger:ADVanced:DELay:EDLY:TRIGger:SLOPe?
The query returns the currently defined slope for an event in the Delay By Event
trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:EDLY:TRIGger:SLOPe] {NEGative|POSitive}<NL>
The ADVanced DELay commands define the conditions for the Delay Trigger
Mode. The Delay By Time Mode lets you view pulses in your waveform that occur a
specified time after a specified waveform edge. After entering the commands
above, to select Delay By Time Mode, enter:
:TRIGger:ADVanced:DELay:MODE TDLY
Then you can use the Time Delay (TDLY) commands and queries for ARM, DELay,
and TRIGger on the following pages.
To query the oscilloscope for the advanced trigger mode or the advanced trigger
delay mode, enter:
:TRIGger:ADVanced:MODE? or
:TRIGger:ADVanced:DELay:MODE?
:TRIGger:ADVanced:DELay:TDLY:ARM:SOURce
Command :TRIGger:ADVanced:DELay:TDLY:ARM:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Arm On source for arming the trigger circuitry when the
oscilloscope is in the Delay By Time trigger mode.
<N> An integer, 1-4.
<M> An integer, 0-15. The digital channels are available on the MSO oscilloscopes or
DSO models with the MSO license installed.
Query :TRIGger:ADVanced:DELay:TDLY:ARM:SOURce?
The query returns the currently defined channel source for the Delay By Time
trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:TDLY:ARM:SOURce] {CHANnel<N> | DIGital<M>}<NL>
:TRIGger:ADVanced:DELay:TDLY:ARM:SLOPe
Command :TRIGger:ADVanced:DELay:TDLY:ARM:SLOPe {NEGative|POSitive}
This command sets a positive or negative slope for arming the trigger circuitry
when the oscilloscope is in the Delay By Time trigger mode.
Query :TRIGger:ADVanced:DELay:TDLY:ARM:SLOPe?
The query returns the currently defined slope for the Delay By Time trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:TDLY:ARM:SLOPe] {NEGative|POSitive}<NL>
:TRIGger:ADVanced:DELay:TDLY:DELay
Command :TRIGger:ADVanced:DELay:TDLY:DELay <delay>
This command sets the delay for a Delay By Time trigger event.
<delay> Time, in seconds, set for the delay trigger, from 5 ns to 10 s.
Query :TRIGger:ADVanced:DELay:TDLY:DELay?
The query returns the currently defined time delay before triggering on the next
Trigger On condition in the Delay By Time trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:TDLY:DELay] <delay><NL>
:TRIGger:ADVanced:DELay:TDLY:TRIGger:SOURce
Command :TRIGger:ADVanced:DELay:TDLY:TRIGger:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Trigger On source for a Delay By Time trigger event.
<N> An integer, 1-4.
<M> An integer, 0-15. The digital channels are available on the MSO oscilloscopes or
DSO models with the MSO license installed.
Query :TRIGger:ADVanced:DELay:TDLY:TRIGger:SOURce?
The query returns the currently defined Trigger On source in the Delay By Time
trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:TDLY:TRIGger:SOURce] {CHANnel<N> | DIGital<M>}<
NL>
:TRIGger:ADVanced:DELay:TDLY:TRIGger:SLOPe
Command :TRIGger:ADVanced:DELay:TDLY:TRIGger:SLOPe
{NEGative|POSitive}
This command sets the trigger slope for the Delay By Time trigger event.
Query :TRIGger:ADVanced:DELay:TDLY:TRIGger:SLOPe?
The query returns the currently defined slope for an event in the Delay By Time
trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:TDLY:TRIGger:SLOPe] {NEGative|POSitive}<NL>
:TRIGger:ADVanced:TV:MODE L525 or
:TRIGger:ADVanced:TV:MODE L625
To query the oscilloscope for the advanced trigger mode or the advanced trigger
TV mode, enter:
:TRIGger:ADVanced:MODE? or
:TRIGger:ADVanced:TV:MODE?
:TRIGger:ADVanced:TV:STV:FIELd
Command :TRIGger:ADVanced:TV:STV:FIELd {1|2}
:TRIGger:ADVanced:TV:STV:LINE
Command :TRIGger:ADVanced:TV:STV:LINE <line_number>
STV Modes
525 625
Field 1 1 to 263 1 to 313
Field 2 1 to 262 314 to 625
Query :TRIGger:ADVanced:TV:STV:LINE?
:TRIGger:ADVanced:TV:STV:SOURce
Command :TRIGger:ADVanced:TV:STV:SOURce {CHANnel<N>}
The query returns the currently selected standard TV trigger mode source.
Returned Format [:TRIGger:ADVanced:TV:STV:SOURce] {CHANnel<N>|EXTernal}<NL>
:TRIGger:ADVanced:TV:STV:SPOLarity
Command :TRIGger:ADVanced:TV:STV:SPOLarity {NEGative|POSitive}
To query the oscilloscope for the advanced trigger mode or the advanced trigger
TV mode, enter:
:TRIGger:ADVanced:MODE? or
:TRIGger:ADVanced:TV:MODE?
:TRIGger:ADVanced:TV:UDTV:ENUMber
Command :TRIGger:ADVanced:TV:UDTV:ENUMber <count>
:TRIGger:ADVanced:TV:UDTV:PGTHan
Command :TRIGger:ADVanced:TV:UDTV:PGTHan <lower_limit>
:TRIGger:ADVanced:TV:UDTV:POLarity
Command :TRIGger:ADVanced:TV:UDTV:POLarity {NEGative|POSitive}
The query returns the currently selected UDTV sync pulse polarity.
Returned Format [:TRIGger:ADVanced:TV:UDTV:POLarity] {NEGative|POSitive}<NL>
:TRIGger:ADVanced:TV:UDTV:SOURce
Command :TRIGger:ADVanced:TV:UDTV:SOURce {CHANnel<N>}
The query returns the currently selected user-defined TV trigger mode source.
Returned Format [:TRIGger:ADVanced:TV:UDTV:SOURce] {CHANnel<N>}<NL>
:TRIGger:ADVanced:VIOLation:MODE
Command :TRIGger:ADVanced:VIOLation:MODE {PWIDth | SETup | TRANsition}
After you have selected the advanced trigger mode with the commands
:TRIGger:MODE ADVanced and :TRIGger:ADVanced:MODE VIOLation, the
:TRIGger:ADVanced:VIOLation:MODE <violation_mode> command specifies the
mode for trigger violations. The <violation_mode> is either PWIDth, SETup, or
TRANsition.
Query :TRIGger:ADVanced:VIOLation:MODE?
The query returns the currently defined mode for trigger violations.
Returned Format [:TRIGger:ADVanced:VIOLation:MODE] {PWIDth | SETup | TRANsition}<NL>
Set the Mode Before executing the :TRIGger:ADVanced:VIOLation:PWIDth commands, set the
Before Executing mode by entering:
Commands
:TRIGger:MODE ADVanced and
:TRIGger:ADVanced:MODE VIOLation and
:TRIGger:ADVanced:VIOLation:MODE PWIDth
To query the oscilloscope for the advanced trigger violation mode, enter:
:TRIGger:ADVanced:VIOLation:MODE?
:TRIGger:ADVanced:VIOLation:PWIDth:DIRection
Command :TRIGger:ADVanced:VIOLation:PWIDth:DIRection {GTHan | LTHan}
This command specifies whether a pulse must be wider or narrower than the width
value to trigger the oscilloscope.
Query :TRIGger:ADVanced:VIOLation:PWIDth:DIRection?
The query returns the currently defined direction for the pulse width trigger.
Returned Format [:TRIGger:ADVanced:VIOLation:PWIDth:DIRection] {GTHan | LTHan}<NL>
:TRIGger:ADVanced:VIOLation:PWIDth:POLarity
Command :TRIGger:ADVanced:VIOLation:PWIDth:POLarity {NEGative | POSitive}
This command specifies the pulse polarity that the oscilloscope uses to determine
a pulse width violation. For a negative polarity pulse, the oscilloscope triggers
when the rising edge of a pulse crosses the trigger level. For a positive polarity
pulse, the oscilloscope triggers when the falling edge of a pulse crosses the
trigger level.
Query :TRIGger:ADVanced:VIOLation:PWIDth:POLarity?
The query returns the currently defined polarity for the pulse width trigger.
Returned Format [:TRIGger:ADVanced:VIOLation:PWIDth:POLarity] {NEGative | POSitive}<NL>
:TRIGger:ADVanced:VIOLation:PWIDth:SOURce
Command :TRIGger:ADVanced:VIOLation:PWIDth:SOURce {CHANnel<N> | DIGital<M>}
This command specifies the channel source used to trigger the oscilloscope with
the pulse width trigger.
<N> An integer, 1-2, for two channel Infiniium Oscilloscope. An integer, 1-4, for all
other Infiniium Oscilloscope models.
<level> A real number for the voltage through which the pulse must pass before the
oscilloscope will trigger.
<M> An integer, 0-15. The digital channels are available on the MSO oscilloscopes or
DSO models with the MSO license installed.
Query :TRIGger:ADVanced:VIOLation:PWIDth:SOURce?
The query returns the currently defined channel source for the pulse width trigger.
Returned Format [:TRIGger:ADVanced:VIOLation:PWIDth:SOURce] {CHANnel<N> | DIGital<M>}<NL
>
:TRIGger:ADVanced:VIOLation:PWIDth:WIDTh
Command :TRIGger:ADVanced:VIOLation:PWIDth:WIDTh <width>
This command specifies how wide a pulse must be to trigger the oscilloscope.
<width> Pulse width, which can range from 1.5 ns to 10 s.
Query :TRIGger:ADVanced:VIOLation:PWIDth:WIDTh?
The query returns the currently defined width for the pulse.
Returned Format [:TRIGger:ADVanced:VIOLation:PWIDth:WIDTh] <width><NL>
You can have the oscilloscope trigger on violations of setup time, hold time, or
both setup and hold time. To use Setup Violation Type, the oscilloscope needs a
clock waveform, used as the reference, and a data waveform for the trigger source.
Setup Time Mode When using the Setup Time Mode, a time window is defined where the right edge
is the clock edge and the left edge is the selected time before the clock edge. The
waveform must stay outside of the thresholds during this time window. If the
waveform crosses a threshold within the time window, a violation event occurs and
the oscilloscope triggers.
Hold Time Mode When using Hold Time Mode, the waveform must not cross the threshold voltages
after the specified clock edge for at least the hold time you have selected.
Otherwise, a violation event occurs and the oscilloscope triggers.
Setup and Hold When using the Setup and Hold Time Mode, if the waveform violates either a
Time Mode setup time or hold time, the oscilloscope triggers.
Data Source Use the data source (DSOurce) command to select the channel used as the data,
the low-level data threshold, and the high-level data threshold. For data to be
considered valid, it must be below the lower threshold or above the upper
threshold during the time of interest.
DSOurce Use DSOurce to select the channel you want to use for the data source.
Low Threshold Use the low threshold (LTHReshold) to set the minimum threshold for your data.
Data is valid below this threshold.
High Threshold Use the high threshold (HTHReshold) to set the maximum threshold for your data.
Data is valid above this threshold.
Clock Source Use the clock source (CSOurce) command to select the clock source, trigger level,
and edge polarity for your clock. Before the trigger circuitry looks for a setup or
hold time violation, the clock must pass through the voltage level you have set.
CSOurce Use CSOurce to select the channel you want to use for the clock source.
LEVel Use LEVel to set voltage level on the clock waveform as given in the data book for
your logic family.
RISing or FALLing Use RISing or FALLing to select the edge of the clock the oscilloscope uses as a
reference for the setup or hold time violation trigger.
Time
Setup Time Use SETup to set the amount of setup time used to test for a violation. The setup
time is the amount of time that the data has to be stable and valid prior to a clock
edge. The minimum is 1.5 ns; the maximum is 20 ns.
Hold Time Use HOLD to set the amount of hold time used to test for a violation. The hold time
is the amount of time that the data has to be stable and valid after a clock edge.
The minimum is 1.5 ns; the maximum is 20 ns.
Setup and Hold Use SHOLd (Setup and Hold) to set the amount of setup and hold time used to
test for a violation.
The setup time is the amount of time that the data has to be stable and valid prior
to a clock edge. The hold time is the amount of time that the data waveform has to
be stable and valid after a clock edge.
The setup time plus hold time equals 20 ns maximum. So, if the setup time is
1.5 ns, the maximum hold time is 18.5 ns.
Available trigger conditioning includes HOLDoff and HYSTeresis (Noise Reject).
Set the Mode Before executing the :TRIGger:ADVanced:VIOLation:SETup commands, set the
Before Executing mode by entering:
Commands
:TRIGger:MODE ADVanced and
:TRIGger:ADVanced:MODE VIOLation and
:TRIGger:ADVanced:VIOLation:MODE SETup and
:TRIGger:ADVanced:VIOLation:SETup:MODE <setup_mode>
:TRIGger:ADVanced:VIOLation:SETup:MODE
Command :TRIGger:ADVanced:VIOLation:SETup:MODE {SETup | HOLD | SHOLd}
SETup When using the setup time mode, a time window is defined where the right edge is
the clock edge and the left edge is the selected time before the clock edge. The
waveform must stay outside of the trigger level thresholds during this time
window. If the waveform crosses a threshold during this time window, a violation
event occurs and the oscilloscope triggers.
HOLD When using the hold time mode, the waveform must not cross the threshold
voltages after the specified clock edge for at least the hold time you have selected.
Otherwise, a violation event occurs and the oscilloscope triggers.
SHOLd When using the setup and hold time mode, if the waveform violates either a setup
time or hold time, the oscilloscope triggers. The total time allowed for the sum of
setup time plus hold time is 20 ns maximum.
Query :TRIGger:ADVanced:VIOLation:SETup:MODE?
The query returns the currently selected trigger setup violation mode.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:MODE] {SETup | HOLD | SHOLd}<NL>
:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce {CHANnel<N>}
This command specifies the clock source for the clock used for the trigger setup
violation. The clock must pass through the voltage level you have set before the
trigger circuitry looks for a setup or hold time violation.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce?
The query returns the currently defined clock source for the trigger setup violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce]
{CHANnel<N>}<NL>
:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel {{CHANnel<N>},<lev
el>}
This command specifies the level for the clock source used for the trigger setup
violation. The clock must pass through the voltage level you have set before the
trigger circuitry looks for a setup or hold time violation.
<N> An integer, 1-4.
<level> A real number for the voltage level for the trigger setup violation clock waveform,
and depends on the type of circuitry logic you are using.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel? {CHANnel<N>}
The query returns the specified clock source level for the trigger setup violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel
{CHANnel<N>},] <level><NL>
:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:EDGE
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:EDGE {RISing | FALLing}
This command specifies the edge for the clock source used for the trigger setup
violation. The clock must pass through the voltage level you have set before the
trigger circuitry looks for a setup or hold time violation.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:EDGE?
The query returns the currently defined clock source edge for the trigger setup
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:EDGE] {RIS | FALL}<NL>
:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce {CHANnel<N>}
The data source commands specify the data source for the trigger setup violation.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce?
The query returns the currently defined data source for the trigger setup violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce] {CHANnel<N>}<NL>
:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:HTHReshold
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:HTHReshold {{CHANnel<N>}
,<level>}
This command specifies the data source for the trigger setup violation, and the
high-level data threshold for the selected data source. Data is valid when it is
above the high-level data threshold, and when it is below the low-level data
threshold.
<N> An integer, 1-4.
<level> A real number for the data threshold level for the trigger setup violation, and is
used with the high and low threshold data source commands.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce: HTHReshold? {CHANnel<N>
}
The query returns the specified data source for the trigger setup violation, and the
high data threshold for the data source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:HTHReshold {CHANnel<N>}
,] <level><NL>
:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:LTHReshold
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:LTHReshold {{CHANnel<N>}
,<level>}
This command specifies the data source for the trigger setup violation, and the
low-level data threshold for the selected data source. Data is valid when it is above
the high-level data threshold, and when it is below the low-level data threshold.
<N> An integer, 1-4.
<level> A real number for the data threshold level for the trigger setup violation, and is
used with the high and low threshold data source commands.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce: LTHReshold? {CHANnel<N>
}
The query returns the specified data source for the trigger setup violation, and the
low data threshold for the data source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:LTHReshold {CHANnel<N>}
,] <level><NL>
:TRIGger:ADVanced:VIOLation:SETup:SETup:TIME
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:TIME <time>
This command specifies the amount of setup time used to test for a trigger
violation. The setup time is the amount of time that the data must be stable and
valid prior to a clock edge.
<time> Setup time, in seconds.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:TIME?
The query returns the currently defined setup time for the trigger violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:TIME] <time><NL>
:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce {CHANnel<N>}
This command specifies the clock source for the clock used for the trigger hold
violation. The clock must pass through the voltage level you have set before the
trigger circuitry looks for a setup or hold time violation.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce?
The query returns the currently defined clock source for the trigger hold violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce] {CHANnel<N>}<NL>
:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:LEVel
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:LEVel {{CHANnel<N>},<leve
l>}
This command specifies the level for the clock source used for the trigger hold
violation. The clock must pass through the voltage level you have set before the
trigger circuitry looks for a setup or hold time violation.
<N> An integer, 1-4.
<level> A real number for the voltage level for the trigger hold violation clock waveform,
and depends on the type of circuitry logic you are using.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:LEVel? {CHANnel<N>}
The query returns the specified clock source level for the trigger hold violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:LEVel {CHANnel<N>},] <le
vel><NL>
:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:EDGE
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:EDGE {RISing | FALLing}
This command specifies the edge for the clock source used for the trigger hold
violation. The clock must pass through the voltage level you have set before the
trigger circuitry looks for a setup or hold time violation.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:EDGE?
The query returns the currently defined clock source edge for the trigger hold
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:EDGE] {RIS | FALL}<NL>
:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce {CHANnel<N>}
The data source commands specify the data source for the trigger hold violation.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce?
The query returns the currently defined data source for the trigger hold violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce] {CHANnel<N>}<NL>
:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:HTHReshold
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:HTHReshold {{CHANnel<N>},
<level>}
This command specifies the data source for the trigger hold violation, and the
high-level data threshold for the selected data source. Data is valid when it is
above the high-level data threshold, and when it is below the low-level data
threshold.
<N> An integer, 1-4.
<level> A real number for the data threshold level for the trigger hold violation, and is used
with the high and low threshold data source commands.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:HTHReshold? {CHANnel<N>}
The query returns the specified data source for the trigger hold violation, and the
high data threshold for the data source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:HTHReshold {CHANnel<N>},
] <level><NL>
:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:LTHReshold
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:LTHReshold {{CHANnel<N>},
<level>}
This command specifies the data source for the trigger hold violation, and the
low-level data threshold for the selected data source. Data is valid when it is above
the high-level data threshold, and when it is below the low-level data threshold.
<N> An integer, 1-4.
<level> A real number for the data threshold level for the trigger hold violation, and is used
with the high and low threshold data source commands.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:LTHReshold? {CHANnel<N>}
The query returns the specified data source for the trigger hold violation, and the
low data threshold for the data source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:LTHReshold {CHANnel<N>},
] <level><NL>
:TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME <time>
This command specifies the amount of hold time used to test for a trigger
violation. The hold time is the amount of time that the data must be stable and
valid after a clock edge.
<time> Hold time, in seconds.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME?
The query returns the currently defined hold time for the trigger violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME] <time><NL>
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce: {CHANnel<N>}
This command specifies the clock source for the clock used for the trigger setup
and hold violation. The clock must pass through the voltage level you have set
before the trigger circuitry looks for a setup and hold time violation.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce?
The query returns the currently defined clock source for the trigger setup and hold
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce] {CHANnel<N>}<NL>
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel {{CHANnel<N>},<lev
el>}
This command specifies the clock source trigger level for the clock used for the
trigger setup and hold violation. The clock must pass through the voltage level you
have set before the trigger circuitry looks for a setup and hold time violation.
<N> An integer, 1-4.
<level> A real number for the voltage level for the trigger setup and hold violation clock
waveform, and depends on the type of circuitry logic you are using.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel? {CHANnel<N>}
The query returns the specified clock source level for the trigger setup and hold
violation level for the clock source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel {CHANnel<N>},] <l
evel><NL>
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:EDGE
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:EDGE {RISing | FALLing}
This command specifies the clock source trigger edge for the clock used for the
trigger setup and hold violation. The clock must pass through the voltage level you
have set before the trigger circuitry looks for a setup and hold time violation.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:EDGE?
The query returns the currently defined clock source edge for the trigger setup and
hold violation level for the clock source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:EDGE] {RIS | FALL}<NL>
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce {CHANnel<N>}
The data source commands specify the data source for the trigger setup and hold
violation.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce?
The query returns the currently defined data source for the trigger setup and hold
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce] {CHANnel<N>}<NL>
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:HTHReshold
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:HTHReshold {{CHANnel<N>}
,<level>}
This command specifies the data source for the trigger setup and hold violation,
and the high-level data threshold for the selected data source. Data is valid when
it is above the high-level data threshold, and when it is below the low-level data
threshold.
<N> An integer, 1-4.
<level> A real number for the data threshold level for the trigger setup and hold violation,
and is used with the high and low threshold data source commands.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:HTHReshold? {CHANnel<N>}
The query returns the specified data source for the trigger setup and hold
violation, and the high data threshold for the data source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:HTHReshold {CHANnel<N>}
,] <level><NL>
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:LTHReshold
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:LTHReshold {{CHANnel<N>}
,<level>}
This command specifies the data source for the trigger setup and hold violation,
and the low-level data threshold for the selected data source. Data is valid when it
is above the high-level data threshold, and when it is below the low-level data
threshold.
<N> An integer, 1-4.
<level> A real number for the data threshold level for the trigger setup and hold violation,
and is used with the high and low threshold data source commands.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:LTHReshold? {CHANnel<N>}
The query returns the specified data source for the setup and trigger hold
violation, and the low data threshold for the data source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:LTHReshold {CHANnel<N>}
,] <level><NL>
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe (STIMe)
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe <time>
This command specifies the amount of setup time used to test for both a setup
and hold trigger violation. The setup time is the amount of time that the data must
be stable and valid before a clock edge.
<time> Setup time, in seconds.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe?
The query returns the currently defined setup time for the setup and hold trigger
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe] <time><NL>
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:HoldTIMe (HTIMe)
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:HoldTIMe <time>
This command specifies the amount of hold time used to test for both a setup and
hold trigger violation. The hold time is the amount of time that the data must be
stable and valid after a clock edge.
<time> Hold time, in seconds.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLD:HoldTIMe?
The query returns the currently defined hold time for the setup and hold trigger
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLD:HoldTIMe] <time><NL>
To query the oscilloscope for the advanced trigger violation mode, enter:
:TRIGger:ADVanced:VIOLation:MODE?
:TRIGger:ADVanced:VIOLation:TRANsition
Command :TRIGger:ADVanced:VIOLation:TRANsition:{GTHan | LTHan} <time>
This command lets you look for transition violations that are greater than or less
than the time specified.
<time> The time for the trigger violation transition, in seconds.
Query :TRIGger:ADVanced:VIOLation:TRANsition:{GTHan | LTHan}?
The query returns the currently defined time for the trigger transition violation.
Returned Format [:TRIGger:ADVanced:VIOLation:TRANsition:{GTHan | LTHan}] <time><NL>
:TRIGger:ADVanced:VIOLation:TRANsition:SOURce
Command :TRIGger:ADVanced:VIOLation:TRANsition:SOURce {CHANnel<N>}
The transition source command lets you find any edge in your waveform that
violates a rise time or fall time specification. The oscilloscope finds a transition
violation trigger by looking for any pulses in your waveform with rising or falling
edges that do not cross two voltage levels in the amount of time you have
specified.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:TRANsition:SOURce?
The query returns the currently defined transition source for the trigger transition
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:TRANsition:SOURce] {CHANnel<N>}<NL>
:TRIGger:ADVanced:VIOLation:TRANsition:SOURce:HTHReshold
Command :TRIGger:ADVanced:VIOLation:TRANsition:SOURce:HTHReshold {{CHANnel<N>},<
level>}
This command lets you specify the source and high threshold for the trigger
violation transition. The oscilloscope finds a transition violation trigger by looking
for any pulses in your waveform with rising or falling edges that do not cross two
voltage levels in the amount of time you have specified.
<N> An integer, 1-4.
<level> A real number for the voltage threshold level for the trigger transition violation,
and is used with the high and low threshold transition source commands.
Query :TRIGger:ADVanced:VIOLation:TRANsition:SOURce:
HTHReshold? {CHANnel<N>}
The query returns the specified transition source for the trigger transition high
threshold violation.
Returned Format [:TRIGger:ADVanced:VIOLation:TRANsition:SOURce:HTHReshold {CHANnel<N>},]
<level><NL>
:TRIGger:ADVanced:VIOLation:TRANsition:SOURce:LTHReshold
Command :TRIGger:ADVanced:VIOLation:TRANsition:SOURce:LTHReshold {{CHANnel<N>},<
level>}
This command lets you specify the source and low threshold for the trigger
violation transition. The oscilloscope finds a transition violation trigger by looking
for any pulses in your waveform with rising or falling edges that do not cross two
voltage levels in the amount of time you have specified.
<N> An integer, 1-4.
<level> A real number for the voltage threshold level for the trigger transition violation,
and is used with the high and low threshold transition source commands.
Query :TRIGger:ADVanced:VIOLation:TRANsition:SOURce:
LTHReshold? {CHANnel<N>}
The query returns the currently defined transition source for the trigger transition
low threshold violation.
Returned Format [:TRIGger:ADVanced:VIOLation:TRANsition:SOURce:LTHReshold {CHANnel<N>},]
<level><NL>
:TRIGger:ADVanced:VIOLation:TRANsition:TYPE
Command :TRIGger:ADVanced:VIOLation:TRANsition:TYPE {RISetime | FALLtime}
This command lets you select either a rise time or fall time transition violation
trigger event.
Query :TRIGger:ADVanced:VIOLation:TRANsition:TYPE?
The query returns the currently defined transition type for the trigger transition
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:TRANsition:TYPE] {RISetime | FALLtime}<NL>
39 Waveform Commands
:WAVeform:BANDpass? / 1586
:WAVeform:BYTeorder / 1587
:WAVeform:CGRade:HEIGht? / 1588
:WAVeform:CGRade:WIDTh? / 1589
:WAVeform:COMPlete? / 1590
:WAVeform:COUNt? / 1591
:WAVeform:COUPling? / 1592
:WAVeform:DATA / 1593
:WAVeform:FORMat / 1616
:WAVeform:PNOise:FREQuency / 1619
:WAVeform:POINts? / 1620
:WAVeform:PREamble? / 1621
:WAVeform:SEGMented:ALL / 1625
:WAVeform:SEGMented:COUNt? / 1627
:WAVeform:SEGMented:TTAG? / 1628
:WAVeform:SEGMented:XLISt? / 1629
:WAVeform:SOURce / 1630
:WAVeform:STReaming / 1632
:WAVeform:TYPE? / 1633
:WAVeform:VIEW / 1634
:WAVeform:XDISplay? / 1637
:WAVeform:XINCrement? / 1638
:WAVeform:XORigin? / 1639
:WAVeform:XRANge? / 1640
:WAVeform:XREFerence? / 1641
:WAVeform:XUNits? / 1642
:WAVeform:YDISplay? / 1643
:WAVeform:YINCrement? / 1644
:WAVeform:YORigin? / 1645
:WAVeform:YRANge? / 1646
:WAVeform:YREFerence? / 1647
:WAVeform:YUNits? / 1648
1583
39 Waveform Commands
Function and channel data are volatile and must be read following a DIGitize command or the
N OT E
data will be lost when the oscilloscope is turned off.
Waveform Data The waveform record consists of two parts: the preamble and the waveform data.
and Preamble The waveform data is the actual sampled data acquired for the specified source.
The preamble contains the information for interpreting the waveform data,
including the number of points acquired, the format of the acquired data, and the
type of acquired data. The preamble also contains the X and Y increments, origins,
and references for the acquired data.
The values in the preamble are set when you execute the DIGitize command. The
preamble values are based on the current settings of the oscilloscope's controls.
Data Conversion Data sent from the oscilloscope must be scaled for useful interpretation. The
values used to interpret the data are the X and Y origins and X and Y increments.
These values can be read using the :WAVeform:XORigin?, WAVeform:YORigin?,
WAVeform:XINCrement?, and WAVeform:YINCreament? queries.
Conversion from To convert the waveform data values (essentially A/D counts) to real-world units,
Data Values to such as volts, use the following scaling formulas:
Units
Y-axis Units = data value x Yincrement + Yorigin (analog channels) X-axis Units =
data index x Xincrement + Xorigin, where the data index starts at zero: 0, 1, 2,
..., n-1.
The first data point for the time (X-axis units) must be zero, so the time of the first
data point is the X origin.
Data Format for There are four types of data formats that you can select using the
Data Transfer :WAVeform:FORMat command: ASCii, BYTE, WORD, and BINary. Refer to the
FORMat command in this chapter for more information on data formats.
:WAVeform:BANDpass?
Query :WAVeform:BANDpass?
:WAVeform:BYTeorder
Command :WAVeform:BYTeorder {MSBFirst | LSBFirst}
The data transfer rate is faster using the LSBFirst byte order.
N OT E
MSBFirst is for microprocessors, where the most significant byte resides at the lower address.
LSBFirst is for microprocessors, where the least significant byte resides at the lower address.
Example This example sets up the oscilloscope to send the most significant byte first during
data transmission.
myScope.WriteString ":WAVeform:BYTeorder MSBFirst"
Query :WAVeform:BYTeorder?
The :WAVeform:BYTeorder? query returns the current setting for the byte order.
Returned Format [:WAVeform:BYTeorder] {MSBFirst | LSBFirst}<NL>
Example This example places the current setting for the byte order in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":WAVeform:BYTeorder?"
strSetting = myScope.ReadString
Debug.Print strSetting
:WAVeform:CGRade:HEIGht?
Query :WAVeform:CGRade:HEIGht?
See Also • "Getting Color Grade (Pixel) Database Count Values" on page 1635
• ":WAVeform:VIEW" on page 1634
• ":WAVeform:FORMat" on page 1616
• ":WAVeform:CGRade:WIDTh?" on page 1589
History New in version 6.00.
:WAVeform:CGRade:WIDTh?
Query :WAVeform:CGRade:WIDTh?
See Also • "Getting Color Grade (Pixel) Database Count Values" on page 1635
• ":WAVeform:VIEW" on page 1634
• ":WAVeform:FORMat" on page 1616
• ":WAVeform:CGRade:HEIGht?" on page 1588
History New in version 6.00.
:WAVeform:COMPlete?
Query :WAVeform:COMPlete?
The :WAVeform:COMPlete? query returns the percent of time buckets that are
complete for the currently selected waveform.
For the NORMal, RAW, and INTerpolate waveform types, the percent complete is
the percent of the number of time buckets that have data in them, compared to
the memory depth.
For the AVERage waveform type, the percent complete is the number of time
buckets that have had the specified number of hits divided by the memory depth.
The hits are specified by the :ACQuire:AVERage:COUNt command.
For the VERSus waveform type, percent complete is the least complete of the
X-axis and Y-axis waveforms.
Returned Format [:WAVeform:COMPlete] <criteria><NL>
:WAVeform:COUNt?
Query :WAVeform:COUNt?
The :WAVeform:COUNt? query returns the fewest number of hits in all of the time
buckets for the currently selected waveform. For the AVERage waveform type, the
count value is the fewest number of hits for all time buckets. This value may be
less than or equal to the value specified with the :ACQuire:AVERage:COUNt
command.
For the NORMal, RAW, INTerpolate, and VERSus waveform types, the count value
returned is one, unless the data contains holes (sample points where no data is
acquired). If the data contains holes, zero is returned.
Returned Format [:WAVeform:COUNt] <number><NL>
<number> An integer. Values range from 0 to 1 for NORMal, RAW, or INTerpolate types, and
VERSus type. If averaging is on values range from 0 to 65536.
Example This example places the current count field value in the string variable, strCount,
then prints the contents of the variable to the computer's screen.
Dim strCount As String ' Dimension variable.
myScope.WriteString ":WAVeform:COUNt?"
strCount = myScope.ReadString
Debug.Print strCount
:WAVeform:COUPling?
Query :WAVeform:COUPling?
On 9000 Series, 9000H Series, and Z-Series oscilloscopes, this query can return:
• AC.
• DC.
• DCFifty.
• LFReject.
On 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and Z-Series
oscilloscopes, this query always returns:
• DC — (and is provided for compatibility with other Infiniium oscilloscopes).
Example This example places the current input coupling of the selected waveform in the
string variable, strSetting, then prints the contents of the variable.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":WAVeform:COUPling?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also The :CHANnel<N>:INPut command sets the coupling for a particular channel.
You can use the :WAVeform:SOURce command to set the source for the coupling
query.
:WAVeform:DATA
Command :WAVeform:DATA <X_origin>,<X_increment>,<Y_origin>,<Y_increment>,
<IEEE_block_data>
With Infiniium Offline only, the :WAVeform:DATA command copies the waveform
points in the IEEE block data to the channel source specified by the
:WAVeform:SOURce command.
After the waveform data upload, the waveform will have a trigger count of "1".
Also, statistics are reset and will begin accumulating again with this data.
This command also enables the display state (like the ":CHANnel<N>:DISPlay ON"
command).
The :WAVeform:DATA command is not allowed when the Infiniium software is
running on an oscilloscope with active hardware.
<X_origin>, These values are 64-bit double-precision floating-point numbers.
<X_increment>,
<Y_origin>,
<Y_increment>
<IEEE_block_data> This a definite-length block of 16-bit integer (WORD format) Q (quantization) data
values, as described in "Streaming Off" below. The maximum and minimum Q
values (30720 and -32736) indicate clipped data.
Query :WAVeform:DATA? [<start>[,<size>]]
The :WAVeform:DATA? query outputs waveform data to the computer over the
remote interface. The data is copied from a waveform memory, function, channel,
bus, pod, or digital channel previously specified with the :WAVeform:SOURce
command.
The data's returned response depends upon the setting of the :WAVeform:STReaming
N OT E
command. See "Streaming Off" on page 1594 or "Streaming On" on page 1594 for more
detail.
If the waveform data is ASCII formatted, no header information indicating the number of bytes
N OT E
being downloaded is included, and the waveform data is separated by commas.
When an acquisition is made on multiple channels, the data for each channel has the same
N OT E
X origin and the same number of points.
<start> An integer value which is the starting point in the source memory which is the first
waveform point to transfer.
<size> An integer value which is the number of points in the source memory to transfer. If
the size specified is greater than the amount of available data then the size is
adjusted to be the maximum available memory depth minus the <start> value.
Streaming Off The returned waveform data response depends upon the setting of the
:WAVeform:STReaming command. When the data format is BYTE and streaming is
off, the number of waveform points must be less than 1,000,000,000 or an error
occurs and only 999,999,999 bytes of data are sent. When the data format is
WORD and streaming is off, the number of waveform points must be less than
500,000,000 or an error occurs and only 499,999,999 words of data are sent.
The returned waveform data in response to the :WAVeform:DATA? query is in the
following order.
Streaming On When streaming is on there is no limit on the number of waveform data points that
are returned. It is recommended that any new programs use streaming on to send
waveform data points. The waveform data response when streaming is on is as
follows.
Figure 6 Streaming On
Example This example places the current waveform data from channel 1 into the
varWavData array in the word format.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:SOURce CHANnel1 ' Select source.
myScope.WriteString ":WAVeform:FORMat WORD" ' Select word format.
myScope.WriteString ":WAVeform:DATA?"
varWavData = myScope.ReadIEEEBlock(BinaryType_I2)
The format of the waveform data must match the format previously specified by
the :WAVeform:FORMat and :WAVeform:BYTeorder commands.
DATA? Example for The following C example shows how to transfer WORD formatted waveform data
Analog Channels for analog channels to a computer.
/* readdata. c */
/* Prototypes */
int InitIO( void );
void WriteIO( char *buffer );
unsigned long ReadByte( char *buffer, unsigned long BytesToRead);
/* Defines */
#define MAX_LENGTH 10000000
#define INTERFACE "lan[130.29.70.247]:inst0"
#define TRUE 1
#define FALSE 0
#define IO_TIMEOUT 20000
/* Globals */
INST bus;
INST scope;
char buffer[MAX_LENGTH]; /* Buffer for reading data */
double xOrg=0L, xInc=0L; /* Values used to create time data */
double yOrg=0L, yInc=0L; /* Values used to convert data to volts */
if ( !InitIO() )
{
exit( 1 );
}
AcquireData();
CloseIO( );
/*****************************************************************
* Function name: InitIO
* Parameters: none
return TRUE;
}
/********************************************************************
* Function name: WriteIO
* Parameters: char *buffer which is a pointer to the character
* string to be output
* Return value: none
* Description: This routine outputs strings to the oscilloscope
* device session using SICL commands.
*********************************************************************/
/*******************************************************************
* Function name: ReadByte
* Parameters: char *buffer which is a pointer to the array to
* store the read bytes
* unsigned long BytesToRead which indicates the
* maximum number of bytes to read
* Return value: integer which indicates the actual number of bytes
* read
BytesRead = BytesToRead;
return BytesRead;
}
/********************************************************************
* Function name: ReadWord
* Parameters: short *buffer which is a pointer to the word array
* to store the bytes read
* int reason which is the reason that the read
* terminated
* unsigned long BytesToRead which indicates the
* maximum number of bytes to read
* Return value: integer which indicates the actual number of
* bytes read
* Description: This routine inputs an array of short values from
* the oscilloscope device session using SICL commands.
*********************************************************************/
return BytesRead;
}
/********************************************************************
* Function name: ReadDouble
* Parameters: double *buffer which is a pointer to the float
* value to read
* Return value: none
* Description: This routine inputs a float value from the
* oscilloscope device session using SICL commands.
*********************************************************************/
/********************************************************************
* Function name: close_IO
* Parameters: none
/********************************************************************
* Function name: AcquireData
* Parameters: none
* Return value: none
* Description: This routine acquires data using the current
* oscilloscope settings.
*********************************************************************/
WriteIO(":DIGitize CHANnel1");
WriteIO(":CHANnel1:DISPlay ON");
/********************************************************************
* Function name: GetVoltageConversionFactors
* Parameters: double yInc which is the voltage difference
* represented by adjacent waveform data digital codes
.
* double yOrg which is the voltage value of digital
* code 0.
* Return value: none
* Description: This routine reads the conversion factors used to
* convert waveform data to volts.
*********************************************************************/
WriteIO(":WAVeform:YINCrement?");
ReadDouble( yInc );
WriteIO(":WAVeform:YORigin?");
ReadDouble( yOrg );
/*******************************************************************
* Function name: SetupDataTransfer
* Parameters: none
* Return value: none
* Description: This routine sets up the waveform data transfer and
* removes the # and 0 characters.
********************************************************************/
do
{
ReadByte( &cData, 1L );
} while ( cData != '#' );
do
{
ReadByte( &cData, 1L );
} while ( cData != '0' );
}
/*******************************************************************
* Function name: GetTimeConversionFactors
* Parameters: double xInc which is the time between consecutive
* sample points.
* double xOrg which is the time value of the first
* data point.
* Return value: none
* Description: This routine transfers the waveform conversion
* factors for the time values.
********************************************************************/
WriteIO(":WAVeform:XINCrement?");
ReadDouble( xInc );
WriteIO(":WAVeform:XORigin?");
ReadDouble( xOrg );
/*******************************************************************
* Function name: WriteCsvToFile
* Parameters: unsigned long BytesToRead which is the number of
* data points to read
* Return value: none
* Description: This routine stores the time and voltage
* information about the waveform as time and
* voltage separated by commas to a file.
********************************************************************/
if (fp != NULL)
{
while( !done )
{
BytesRead = ReadWord( buffer, &reason, BytesToRead );
switch( reason )
{
case I_TERM_MAXCNT:
done = FALSE;
break;
case I_TERM_END:
done = TRUE;
break;
case I_TERM_CHR:
done = TRUE;
break;
default:
done = TRUE;
break;
};
{
Time = (j * xInc) + xOrg; /* calculate time */
j = j + 1;
}
else
{
printf("Unable to open file 'pairs.csv'\n");
}
}
DATA? Example for The following C example shows how to transfer both BYTE and WORD formatted
Digital Channels waveform data for digital channels to a computer. There is a file on the Infiniium
Oscilloscope Example Programs disk called readdig.c in the c directory that
contains this program.
/* readdig. c */
/* Reading Byte and Word format Example. This program demonstrates the
order of
commands suggested for operation of the Infiniium oscilloscope by LAN o
r GPIB.
This program initializes the scope, acquires data, transfers data in bo
th the
BYTE and WORD formats, converts the data into hex, octal, binary and ti
me values,
and stores the data in a file as comma-separated values. This format i
s useful
for spreadsheet applications.
*/
/* Prototypes */
int InitIO( void );
void WriteIO( char *buffer );
unsigned long ReadByte( char *buffer, unsigned long BytesToRead);
unsigned long ReadWord( short *buffer, unsigned long BytesToRead);
void ReadDouble( double *buffer );
void CloseIO( void );
void AcquireData( void );
void GetTimeConversionFactors( void );
void CreateTimeData( unsigned long AcquiredLength,
double *TimeValues );
void WriteCsvToFile( double *TimeValues, unsigned short *wordData,
unsigned char *byteData, unsigned long AcquiredLeng
th);
unsigned long SetupDataTransfer( double lTime, double rTime );
int Round( double number );
/* Defines */
#define MAX_LENGTH 8192000
#define LAN
#ifdef LAN
#define INTERFACE "lan[130.29.71.202]:hpib7,7"
#else
#define INTERFACE "hpib7"
#endif
/* Globals */
INST bus;
INST scope;
double TimeValues[MAX_LENGTH]; /* Time value of data */
unsigned short wordData[MAX_LENGTH/2];/* Buffer for reading word format
data */
unsigned char byteData[MAX_LENGTH]; /* Buffer for reading byte format
data */
double xOrg, xInc; /* Values necessary to create time
data */
int Start;
if ( !InitIO() ) {
exit( 1 );
}
AcquireData();
GetTimeConversionFactors( );
CloseIO( );
/***********************************************************************
********
* Function name: InitIO
* Parameters: none
* Return value: none
* Description: This routine initializes the SICL environment. It se
ts up
* errorhandling, opens both an interface and device ses
sion,
* sets timeout values, clears the GPIB interface card,
and
* clears the oscilloscope's GPIB card by performing a
* Selected Device Clear.
************************************************************************
*******/
#ifdef LAN
scope = bus;
#else
scope = iopen( DEVICE_ADDR ); /* open the scope device session *
/
if ( scope == 0) {
printf( "Scope session invalid\n" );
iclose( bus ); /* close interface session */
_siclcleanup(); /* required for 16-bit applications */
return FALSE;
return TRUE;
}
/***********************************************************************
********
* Function name: WriteIO
* Parameters: char *buffer which is a pointer to the character stri
ng to
* be output
* Return value: none
* Description: This routine outputs strings to the oscilloscope device
* session using SICL commands.
************************************************************************
*******/
/***********************************************************************
*******
* Function name: ReadByte
* Parameters: char *buffer which is a pointer to the array to store
* the read bytes unsigned long BytesToRead which indica
tes
* the maximum number of bytes to read
* Return value: integer which indicates the actual number of bytes re
ad
* Description: This routine inputs strings from the scope device sessi
on
* using SICL commands.
************************************************************************
******/
BytesRead = BytesToRead;
iread( scope, buffer, BytesToRead, &reason, &BytesRead );
return BytesRead;
}
/***********************************************************************
*******
* Function name: ReadWord
* Parameters: short *buffer which is a pointer to the word array to
store
* the bytes read unsigned long BytesToRead which indica
tes
* the maximum number of bytes to read
* Return value: integer which indicates the actual number of bytes re
ad
* Description: This routine inputs an array of short values from the
* oscilloscope device session using SICL commands.
************************************************************************
******/
BytesRead = BytesToRead;
iread( scope, (char *) buffer, BytesToRead, &reason, &BytesRead );
return BytesRead;
}
/***********************************************************************
*******
* Function name: ReadDouble
* Parameters: double *buffer which is a pointer to the float value
to read
* Return value: none
* Description: This routine inputs a float value from the oscillosco
pe
* device session using SICL commands.
************************************************************************
*******/
/***********************************************************************
*******
* Function name: close_IO
* Parameters: none
* Return value: none
* Description: This routine closes device and interface sessions for
* the SICL environment, and calls the routine _siclclean
up
* which de-allocates resources used by the SICL environm
ent.
************************************************************************
******/
/***********************************************************************
*******
* Function name: AcquireData
* Parameters: none
* Return value: none
* Description: This routine acquires data using the current
* oscilloscope settings.
************************************************************************
******/
WriteIO(":DIGitize POD1");
WriteIO(":POD1:DISPlay ON");
/***********************************************************************
*******
* Function name: SetupDataTransfer
* Parameters: double lTime which is the time value of the first
* waveform memory location of data.
* double rTime which is the time value of the last
* waveform memory location of data.
* Return value: Number of bytes of waveform data to read.
* Description: This routine sets up the waveform data transfer and get
s
* the number of bytes to be read. The beginning of data
* starts with the # character followed by a number which
* tells how many bytes to read for the integer which is t
he
do {
ReadByte( &cData, 1L );
} while ( cData != '#' );
/* Read the next byte which tells how many bytes to read for the numb
er
* of waveform data bytes to transfer value.
*/
ReadByte( &cData, 1L );
BytesToRead = cData - '0'; /* Convert to a number */
return BytesToRead;
/***********************************************************************
*******
* Function name: GetTimeConversionFactors
* Parameters: none
* Return value: none
* Description: This routine transfers the waveform conversion
* factors for the time values.
************************************************************************
*****/
WriteIO(":WAVeform:XINCrement?");
ReadDouble( &xInc );
WriteIO(":WAVeform:XORigin?");
ReadDouble( &xOrg );
/***********************************************************************
*******
* Function name: CreateTimeData
* Parameters: unsigned long AcquiredLength which is the number of d
ata
* points
* double TimeValues is a pointer to the array where tim
e
* values are stored
* Return value: none
* Description: This routine converts the data to time values using
* the values that describe the waveform. These values ar
e stored
* in global variables.
************************************************************************
*****/
/***********************************************************************
*******
* Function name: WriteCsvToFile
* Parameters: double *TimeValues which is a pointer to an array of
* calculated time values
* unsigned short *wordData which is a pointer to an arr
ay of
if (fp != NULL) {
fclose( fp );
}
else {
printf("Unable to open file 'digital.csv'\n");
}
/***********************************************************************
*******
* Function name: Round
Understanding Before you can understand how the WORD and BYTE downloads work, it is
WORD and BYTE necessary to understand how Infiniium creates waveform data.
Formats
Analog-to-digital The input channel of every digital sampling oscilloscope contains an
Conversion Basics analog-to-digital converter (ADC) as shown in Figure 7. The 8-bit ADC in some
Infiniium oscilloscope models consists of 256 voltage comparators. Each
comparator has two inputs. One input is connected to a reference dc voltage level
and the other input is connected to the channel input. When the voltage of the
waveform on the channel input is greater than the dc level, then the comparator
output is a 1 otherwise the output is a 0. Each of the comparators has a different
reference dc voltage. The output of the comparators is converted into an 8-bit
integer by the encoder.
Vref
Channel Input
+
. .
. . Encoder
. . 8 bits
-Vref
All ADCs have non-linearity errors which, if not corrected, can give less accurate
vertical measurement results. For example, the non-linearity error for a 3-bit ADC
is shown in the following figure.
7/8FS
1/8FS
2/8FS
3/8FS
4/8FS
5/8FS
6/8FS
7/8FS
FS
FS
0
0
FS = the full scale
voltage of the ADC
Normalized Analog Input Normalized Analog Input
The graph on the left shows an ADC which has no non-linearity errors. All of the
voltage levels are evenly spaced producing output codes that represent evenly
spaced voltages. In the graph on the right, the voltages are not evenly spaced with
some being wider and some being narrower than the others.
When you calibrate your Infiniium, the input to each channel, in turn, is connected
to the Aux Out connector. The Aux Out is connected to a 16-bit digital-to-analog
converter (DAC) whose input is controlled by Infiniium's CPU. There are 65,536 dc
voltage levels that are produced by the 16-bit DAC at the Aux Out. At each dc
voltage value, the output of the ADC is checked to see if a new digital code is
produced. When this happens, a 16-bit correction factor is calculated for that
digital code and this correction factor is stored in a Calibration Look-up Table.
Stream of
8 bit
ASCII Characters
D7
Format
D6
D5
Analog
D4 Calibration
Channel In to WORD
D3 Look-up
Digital D2 16 bits Format 16 bits
Table
Converter D1
D0
BYTE
Format 8 bits
Calibration
Aux Out Digital
to CPU
Analog 16 bits
Converter
This process continues until all 256 digital codes are calibrated. The calibration
process removes most of the non-linearity error of the ADC which yields more
accurate vertical voltage values.
During normal operation of the oscilloscope, the output of the ADC is used as an
address to the Calibration Look-up Table which produces 16-bit data for the
oscilloscope to process and display. The output of the ADC is a signed 8-bit
integer and the output of the Calibration Look-up Table is a signed 16-bit integer.
If the amplitude of the input waveform is larger than the maximum dc reference
level of the ADC, the ADC will output the maximum 8-bit value that it can (255).
This condition is called ADC clipping. When the 255 digital code is applied to the
Calibration Look-up Table, a 16-bit value, such as 30720 could be produced which
represents an ADC clipped value.
Data values for clipped portions of waveforms are the maximum and minimum Q
(quantization) values. For 16-bit waveform data, the maximum Q value is 30720
and the minimum Q value is -32736.
WORD and BYTE When downloading the waveform data in WORD format, the 16-bit signed integer
Data Formats value for each data point is sent in two consecutive 8-bit bytes over the remote
interface. Whether the least significant byte (LSB) or the most significant byte
(MSB) is sent first depends on the byte order determined by the BYTeorder
command.
Before downloading the waveform data in BYTE format, each 16-bit signed integer
is converted into an 8-bit signed integer. Because there are more possible 16-bit
integers than there are 8-bit integers, a range of 16-bit integers is converted into
single 8-bit numbers. For example, the following 16-bit numbers are all converted
into one 8-bit number.
This conversion is what makes the BYTE download format less accurate than the
WORD format.
History Legacy command (existed before version 3.10).
:WAVeform:FORMat
Command :WAVeform:FORMat {ASCii | BINary | BYTE | WORD | FLOat}
The :WAVeform:FORMat command sets the data transmission mode for waveform
data output. This command controls how the data is formatted when it is sent from
the oscilloscope, and pertains to all waveforms.
The default format is ASCii.
ASCii ASCii-formatted data consists of waveform data values converted to the currently
selected units, such as volts, and are output as a string of ASCII characters with
each value separated from the next value by a comma. The values are formatted in
floating point engineering notation. For example:
8.0836E+2,8.1090E+2,...,-3.1245E-3
The ASCii format does not send out the header information indicating the number of bytes
N OT E
being downloaded.
In ASCii format:
• The value "99.999E+36" represents a hole value. A hole can occur when you are
using the equivalent time sampling mode when during a single acquisition not
all of the acquisition memory locations contain sampled waveform data. It can
take several acquisitions in the equivalent time sampling mode to fill all of the
memory locations.
BYTE BYTE-formatted data is formatted as signed 8-bit integers. Depending on your
programming language and IO library, you may need to create a function to
convert these signed bytes to signed integers. In BYTE format:
• The value 125 represents a hole value. A hole can occur when you are using the
equivalent time sampling mode when during a single acquisition not all of the
acquisition memory locations contain sampled waveform data. It can take
several acquisitions in the equivalent time sampling mode to fill all of the
memory locations.
The waveform data values are converted from 16-bit integers to 8-bit integers
before being downloaded to the computer. For more information, see
"Understanding WORD and BYTE Formats" on page 1611.
WORD WORD-formatted data is transferred as signed 16-bit integers in two bytes. If
:WAVeform:BYTeorder is set to MSBFirst, the most significant byte of each word is
sent first. If the BYTeorder is LSBFirst, the least significant byte of each word is
sent first. In WORD format:
• The value 31232 represents a hole level. A hole can occur when you are using
the equivalent time sampling mode when during a single acquisition not all of
the acquisition memory locations contain sampled waveform data. It can take
several acquisitions in the equivalent time sampling mode to fill all of the
memory locations.
For more information, see "Understanding WORD and BYTE Formats" on
page 1611.
BINary BINary-formatted data can be used with any SOURce. When a source is any valid
source except for histogram, the data is returned in WORD format.
When the source is set to HISTogram, the data is transferred as signed 64-bit
integers in 8 bytes. The are no hole values in the histogram data.
If :WAVeform:BYTeorder is set to MSBFirst, the most significant byte of each long
word is sent first. If the BYTeorder is LSBFirst, the least significant byte of each
long word is sent first.
FLOat When the color grade waveform view is selected (:WAVeform:VIEW CGRade), the
color grade (pixel) database count values can be queried using these formats only:
• BINary — the :WAVeform:DATA? query will return a binary block of (8-byte)
uint64 values.
• FLOat — the :WAVeform:DATA? query will return a binary block of (4-byte)
single-precision floating-point values.
Example This example selects the WORD format for waveform data transmission.
myScope.WriteString ":WAVeform:FORMat WORD"
Query :WAVeform:FORMat?
The :WAVeform:FORMat? query returns the current output format for transferring
waveform data.
Returned Format [:WAVeform:FORMat] {ASCii | BINary | BYTE | WORD}<NL>
Example This example places the current output format for data transmission in the string
variable, strMode, then prints the contents of the variable to the computer's
screen.
Dim strMode As String ' Dimension variable.
myScope.WriteString ":WAVeform:FORMat?"
strMode = myScope.ReadString
Debug.Print strMode
:WAVeform:PNOise:FREQuency
Query :WAVeform:PNOise:FREQuency?
:WAVeform:POINts?
Query :WAVeform:POINts?
The :WAVeform:POINts? query returns the points value in the current waveform
preamble. The points value is the number of time buckets contained in the
waveform selected with the :WAVeform:SOURce command. If the Sin(x)/x
interpolation filter is enabled, the number of points can be larger than the
oscilloscope's memory depth setting because the waveform includes the
interpolated points.
When an acquisition is made on multiple channels, the data for each channel has the same
N OT E
X origin and the same number of points.
<points> An integer. See the :ACQuire:POINts command for a table of possible values.
Example This example places the current acquisition length in the numeric variable,
varLength, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:POINts?"
varLength = myScope.ReadNumber
Debug.Print FormatNumber(varLength, 0)
:WAVeform:PREamble?
Query :WAVeform:PREamble?
The preamble can be used to translate raw data into time and voltage values. The
following lists the elements in the preamble.
<preamble_ data> <format>, <type>, <points>, <count> , <X increment>, <X origin>, <X reference>,
<Y increment>, <Y origin>, <Y reference>, <coupling>, <X display range>,
<X display origin>, <Y display range>, <Y display origin>, <date>, <time>,
<frame model #>, <acquisition mode>, <completion>, <X units>, <Y units>,
<max bandwidth limit>, <min bandwidth limit>[,<segment count>]
Element Description
<format> Returned format values can be:
• 0 — ASCii format
• 1 — BYTE format
• 2 — WORD format
• 3 — LONG format
• 4 — LONGLONG format
• 5 — FLOat format
The format value describes the data transmission mode for waveform data
output. This command controls how the data is formatted when it is sent
from the oscilloscope. (See ":WAVeform:FORMat" on page 1616.)
<type> Returned type values can be:
• 1 — RAW
• 2 — AVERage
• 3 — VHIStogram
• 4 — HHIStogram
• 5 — not used
• 6 — INTerpolate
• 7 — not used
• 8 — not used
• 9 — DIGITAL
• 10 — PDETect
This value describes how the waveform was acquired. (See also the
":WAVeform:TYPE?" on page 1633 query.)
Element Description
<points> The number of data points or data pairs contained in the waveform data.
(See ":ACQuire:POINts[:ANALog] — Memory depth" on page 253.)
<count> For the AVERAGE waveform type, the count value is the fewest number of
hits for all time buckets. This value may be less than or equal to the value
requested with the :ACQuire:AVERage:COUNt command. For RAW and
INTerpolate waveform types, this value is 0 or 1. The count value is ignored
when it is sent to the oscilloscope in the preamble. (See
":WAVeform:TYPE?" on page 1633 and
":ACQuire[:AVERage]:COUNt" on page 240.)
<X increment> The X increment is the duration between data points on the X axis. For time
domain waveforms, this is the time between points. If the value is zero then
no data has been acquired. (See the ":WAVeform:XINCrement?" on
page 1638 query.)
<X origin> The X origin is the X-axis value of the first data point in the data record. For
time domain waveforms, it is the time of the first point. This value is treated
as a double-precision 64-bit floating-point number. If the value is zero,
then no data has been acquired. (See the ":WAVeform:XORigin?" on
page 1639 query.)
<X reference> The X reference is the data point associated with the X origin. It is at this
data point that the X origin is defined. In this oscilloscope, the value is
always zero. (See the ":WAVeform:XREFerence?" on page 1641
query.)
<Y increment> The Y increment is the duration between Y-axis levels. For voltage
waveforms, it is the voltage corresponding to one level. If the value is zero,
then no data has been acquired. (See the ":WAVeform:YINCrement?"
on page 1644 query.)
<Y origin> The Y origin is the Y-axis value at level zero. For voltage waveforms, it is
the voltage at level zero. If the value is zero, then no data has been
acquired. (See the ":WAVeform:YORigin?" on page 1645 query.)
<Y reference> The Y reference is the level associated with the Y origin. It is at this level
that the Y origin is defined. In this oscilloscope, this value is always zero.
(See the ":WAVeform:YREFerence?" on page 1647 query.)
<coupling> Returned coupling values can be:
• 0 — AC coupling
• 1 — DC coupling
• 2 — DCFIFTY coupling
• 3 — LFREJECT coupling
The input coupling of the waveform. The coupling value is ignored when
sent to the oscilloscope in the preamble. (See the
":WAVeform:COUPling?" on page 1592 query.)
Element Description
<X display range> The X display range is the X-axis duration of the waveform that is
displayed. For time domain waveforms, it is the duration of time across the
display. If the value is zero, then no data has been acquired. (See the
":WAVeform:XRANge?" on page 1640 query.)
<X display origin> The X display origin is the X-axis value at the left edge of the display. For
time domain waveforms, it is the time at the start of the display. This value
is treated as a double precision 64-bit floating-point number. If the value is
zero, then no data has been acquired. (See the ":WAVeform:XDISplay?"
on page 1637 query.)
<Y display range> The Y display range is the Y-axis duration of the waveform which is
displayed. For voltage waveforms, it is the amount of voltage across the
display. If the value is zero, then no data has been acquired. (See the
":WAVeform:YRANge?" on page 1646 query.)
<Y display origin> The Y-display origin is the Y-axis value at the center of the display. For
voltage waveforms, it is the voltage at the center of the display. If the
value is zero, then no data has been acquired. (See the
":WAVeform:YDISplay?" on page 1643 query.)
<date> A string containing the date in the format DD MMM YYYY, where DD is the
day, 1 to 31; MMM is the month; and YYYY is the year.
<time> A string containing the time in the format HH:MM:SS:TT, where HH is the
hour, 0 to 23, MM is the minutes, 0 to 59, SS is the seconds, 0 to 59, and
TT is the hundreds of seconds, 0 to 99.
<frame model #> A string containing the model number and serial number of the
oscilloscope in the format of MODEL#:SERIAL#. The frame model number
is ignored when it is sent to an oscilloscope in the preamble.
<acquisition mode> Returned acquisition mode values can be:
• 0 — RTIMe or HRESolution mode
• 1 — ETIMe mode
• 2 — SEGMented or SEGHres mode
• 3 — PDETect or SEGPdetect mode
The acquisition sampling mode of the waveform. (See ":ACQuire:MODE"
on page 251.)
<completion> The completion value is the percent of time buckets that are complete. The
completion value is ignored when it is sent to the oscilloscope in the
preamble. (See the ":WAVeform:COMPlete?" on page 1590 query.)
Element Description
<X units> <Y units> Returned type values can be:
• 0 — UNKNOWN units
• 1 — VOLT units
• 2 — SECOND units
• 3 — CONSTANT units
• 4 — AMP units
• 5 — DECIBEL units
The X-axis and Y-axis units of the waveform. (See the
":WAVeform:XUNits?" on page 1642 query and the
":WAVeform:YUNits?" on page 1648 query.)
<max bandwidth limit The band pass consists of two values that are an estimation of the
> maximum and minimum bandwidth limits of the source waveform. The
<min bandwidth limit bandwidth limit is computed as a function of the selected coupling and
> filter mode. (See the ":WAVeform:BANDpass?" on page 1586 query.)
<segment count> When segmented memory acquisitions are turned on, the
":WAVeform:SEGMented:ALL ON" command has been sent, and the
waveform source is a channel or pod and has segmented acquisitions, this
additional preamble value is returned. It specifies the number of segments
in the returned waveform data. (See the
":WAVeform:SEGMented:COUNt?" on page 1627 query.)
:WAVeform:SEGMented:ALL
Command :WAVeform:SEGMented:ALL {{ON | 1} | {OFF | 0}}
Example To turn on the :WAVeform:DATA? return of data for all segments (of the selected
waveform):
myScope.WriteString ":WAVeform:SEGMented:ALL ON"
Query :WAVeform:SEGMented:ALL?
This query returns whether the return of data for all segments is on or off.
See Also • ":ACQuire:MODE" on page 251
• ":WAVeform:SOURce" on page 1630
• ":WAVeform:DATA" on page 1593
:WAVeform:SEGMented:COUNt?
Query :WAVeform:SEGMented:COUNt?
:WAVeform:SEGMented:TTAG?
Query :WAVeform:SEGMented:TTAG?
:WAVeform:SEGMented:XLISt?
Query :WAVeform:SEGMented:XLISt? {RELXorigin | ABSXorigin | TTAG}
:WAVeform:SOURce
Command :WAVeform:SOURce {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| HISTogram | WMEMory<R> | CLOCk | MTRend | MSPectrum
| EQUalized<L> | XT<X> | PNOise | BUS<B> | POD1 | POD2 | PODALL}
Query :WAVeform:SOURce?
Example This example places the current selection for the waveform source in the string
variable, strSelection, then prints the contents of the variable to the computer's
screen.
Dim strSelection As String ' Dimension variable.
myScope.WriteString ":WAVeform:SOURce?"
strSelection = myScope.ReadString
Debug.Print strSelection
:WAVeform:STReaming
Command :WAVeform:STReaming {{ON | 1} | {OFF | 0}}
Query :WAVeform:STReaming?
:WAVeform:TYPE?
Query :WAVeform:TYPE?
The :WAVeform:TYPE? query returns the current acquisition data type for the
currently selected source. The type returned describes how the waveform was
acquired. The waveform type may be:
• RAW — data consists of one data point in each time bucket with no
interpolation.
• AVERage — data consists of the average of the first n hits in a time bucket,
where n is the value in the count portion of the preamble. Time buckets that
have fewer than n hits return the average of the data they contain. If the
:ACQuire:COMPlete parameter is set to 100%, then each time bucket must
contain the number of data hits specified with the :ACQuire:AVERage:COUNt
command.
• VHIStogram — data is a vertical histogram. Histograms are transferred using
the LONGLONG format. They can be generated using the Histogram subsystem
commands.
• HHIStogram — data is a horizontal histogram. Histograms are transferred using
the LONGLONG format. They can be generated using the Histogram subsystem
commands.
• INTerpolate — In the INTerpolate acquisition type, the last data point in each
time bucket is stored, and additional data points between the acquired data
points are filled by interpolation.
• DIGITAL — data consists of digital pod or bus values for each time bucket.
• PDETect — data consists of two data points in each time bucket: the minimum
values and the maximum values.
Returned Format [:WAVeform:TYPE] {RAW | AVER | VHIS | HHIS | INT | DIGITAL | PDET}<NL>
Example This example places the current acquisition data type in the string variable,
strType, then prints the contents of the variable to the computer's screen.
Dim strType As String ' Dimension variable.
myScope.WriteString ":WAVeform:TYPE?"
strType = myScope.ReadString
Debug.Print strType
:WAVeform:VIEW
Command :WAVeform:VIEW {ALL | MAIN | WINDow | CGRade}
The :WAVeform:VIEW command selects the view of the waveform that is selected
for data and preamble queries. You can set the command to ALL, MAIN, WINDow,
or CGRade.
The view has different meanings depending upon the waveform source selected.
The default setting for this command is ALL.
The following table summarizes the parameters for this command for each source.
Channels For channels, you may select ALL, MAIN, or WINDow views. If you select ALL, all of
the data in the waveform record is referenced. If you select MAIN, only the data in
the main time base range is referenced. The first value corresponds to the first time
bucket in the main time base range, and the last value corresponds to the last time
bucket in the main time base range. If WINDow is selected, only data in the
delayed view is referenced. The first value corresponds to the first time bucket in
the delayed view and the last value corresponds to the last time bucket in the
delayed view.
Memories For memories, if you specify ALL, all the data in the waveform record is referenced.
WINDow and MAIN refer to the data contained in the memory time base range for
the particular memory. The first value corresponds to the first time bucket in the
memory time base range, and the last value corresponds to the last time bucket in
the memory time base range.
Functions For functions, ALL, MAIN, and WINDow refer to all of the data in the waveform
record.
Example This example sets up the oscilloscope to view all of the data.
myScope.WriteString ":WAVeform:VIEW ALL"
Getting Color Before you can select the CGRade waveform view, you must enable color grade
Grade (Pixel) persistence, color grade view, or a real-time eye for the source waveform.
Database Count
Values
Getting color grade (pixel) database count values is not supported when segmented memory
N OT E
acquisitions are enabled.
After you select the CGRade waveform view, color grade (pixel) database
information is available from the following queries:
Command Description
:WAVeform:CGRade:HEIGht? Returns the color grade (pixel) database data height.
(see page 1588)
:WAVeform:CGRade:WIDTh? Returns the color grade (pixel) database data width.
(see page 1589)
:WAVeform:POINts? (see The number of count values in the database (should be the width
page 1620) times the height).
:WAVeform:XINCrement? (see The time per column of the color grade database.
page 1638)
:WAVeform:XORigin? (see The time at column 0 of the color grade database.
page 1639)
:WAVeform:YINCrement? (see The volts per row of the color grade database.
page 1644)
:WAVeform:YORigin? (see The volts at row 0 of the color grade database.
page 1645)
:WAVeform:PREamble? (see Returns the same points, X increment, X origin, Y increment, and Y
page 1621) origin information as the individual queries.
Example This example returns the current view setting to the string variable, strSetting,
then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":WAVeform:VIEW?"
strSetting = myScope.ReadString
Debug.Print strSetting
:WAVeform:XDISplay?
Query :WAVeform:XDISplay?
The :WAVeform:XDISplay? query returns the X-axis value at the left edge of the
display. For time domain waveforms, it is the time at the start of the display. For
VERSus type waveforms, it is the value at the center of the X-axis of the display.
This value is treated as a double precision 64-bit floating point number.
A "Waveform data is not valid" error occurs when there is no data available for a channel.
N OT E
When this occurs, a zero value is returned.
<value> A real number representing the X-axis value at the left edge of the display.
Example This example returns the X-axis value at the left edge of the display to the numeric
variable, varValue, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:XDISplay"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:WAVeform:XINCrement?
Query :WAVeform:XINCrement?
A "Waveform data is not valid" error occurs when there is no data available for a channel.
N OT E
When this occurs, a zero value is returned.
<value> A real number representing the duration between data points on the X axis.
Example This example places the current X-increment value for the currently specified
source in the numeric variable, varValue, then prints the contents of the variable to
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:XINCrement?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also • You can also obtain the X-increment value through the :WAVeform:PREamble?
query. See ":WAVeform:PREamble?" on page 1621.
• ":WAVeform:VIEW" on page 1634
History Legacy command (existed before version 3.10).
:WAVeform:XORigin?
Query :WAVeform:XORigin?
The :WAVeform:XORigin? query returns the X-axis value of the first data point in
the data record. For time domain waveforms, it is the time of the first point. For
VERSus type waveforms, it is the X-axis value at level zero. For voltage waveforms,
it is the voltage at level zero. The value returned by this query is treated as a
double precision 64-bit floating point number.
A "Waveform data is not valid" error occurs when there is no data available for a channel.
N OT E
When this occurs, a zero value is returned.
When an acquisition is made on multiple channels, the data for each channel has the same
N OT E
X origin and the same number of points.
<value> A real number representing the X-axis value of the first data point in the data
record.
Example This example places the current X-origin value for the currently specified source in
the numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:XORigin?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also • You can also obtain the X-origin value through the :WAVeform:PREamble?
query. See ":WAVeform:PREamble?" on page 1621.
• ":WAVeform:VIEW" on page 1634
History Legacy command (existed before version 3.10).
:WAVeform:XRANge?
Query :WAVeform:XRANge?
A "Waveform data is not valid" error occurs when there is no data available for a channel.
N OT E
When this occurs, a zero value is returned.
<value> A real number representing the X-axis duration of the displayed waveform.
Example This example returns the X-axis duration of the displayed waveform to the numeric
variable, varValue, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:XRANge?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:WAVeform:XREFerence?
Query :WAVeform:XREFerence?
The :WAVeform:XREFerence? query returns the data point or level associated with
the X-origin data value. It is at this data point or level that the X origin is defined.
In this oscilloscope, the value is always zero.
Returned Format [:WAVeform:XREFerence] 0<NL>
Example This example places the current X-reference value for the currently specified
source in the numeric variable, varValue, then prints the contents of the variable to
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:XREFerence?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also You can obtain the X-reference value through the :WAVeform:PREamble? query.
History Legacy command (existed before version 3.10).
:WAVeform:XUNits?
Query :WAVeform:XUNits?
The :WAVeform:XUNits? query returns the X-axis units of the currently selected
waveform source. The currently selected source may be a channel, function, or
waveform memory.
Returned Format [:WAVeform:XUNits] {UNKNown | VOLT | SECond | CONStant | AMP | DECibels
| HERTz | WATT}<NL>
Example This example returns the X-axis units of the currently selected waveform source to
the string variable, strUnit, then prints the contents of the variable to the
computer's screen.
Dim strUnit As String ' Dimension variable.
myScope.WriteString ":WAVeform:XUNits?"
strUnit = myScope.ReadString
Debug.Print strUnit
:WAVeform:YDISplay?
Query :WAVeform:YDISplay?
The :WAVeform:YDISplay? query returns the Y-axis value at the center of the
display. For voltage waveforms, it is the voltage at the center of the display.
A "Waveform data is not valid" error occurs when there is no data available for a channel.
N OT E
When this occurs, a zero value is returned.
<value> A real number representing the Y-axis value at the center of the display.
Example This example returns the current Y-display value to the numeric variable, varValue,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":":WAVeform:YDISplay?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:WAVeform:YINCrement?
Query :WAVeform:YINCrement?
The :WAVeform:YINCrement? query returns the y-increment voltage value for the
currently specified source. This voltage value is the voltage difference between
two adjacent waveform data digital codes. Adjacent digital codes are codes that
differ by one least significant bit. For example, the digital codes 24680 and 24681
vary by one least significant bit.
• For BYTE and WORD data, and voltage waveforms, it is the voltage
corresponding to one least significant bit change.
• For ASCii data format, the YINCrement is the full scale voltage range covered
by the A/D converter.
A "Waveform data is not valid" error occurs when there is no data available for a channel.
N OT E
When this occurs, a zero value is returned.
See Also • For more information on BYTE and WORD formats, see "Understanding WORD
and BYTE Formats" on page 1611.
• You can also obtain the Y-increment value through the :WAVeform:PREamble?
query. See ":WAVeform:PREamble?" on page 1621.
• ":WAVeform:VIEW" on page 1634
History Legacy command (existed before version 3.10).
:WAVeform:YORigin?
Query :WAVeform:YORigin?
The :WAVeform:YORigin? query returns the y-origin voltage value for the currently
specified source. The voltage value returned is the voltage value represented by
the waveform data digital code 00000.
• For BYTE and WORD data, and voltage waveforms, it is the voltage at digital
code zero.
• For ASCii data format, the YORigin is the Y-axis value at the center of the data
range. Data range is returned in the Y increment.
A "Waveform data is not valid" error occurs when there is no data available for a channel.
N OT E
When this occurs, a zero value is returned.
See Also • For more information on BYTE and WORD formats, see "Understanding WORD
and BYTE Formats" on page 1611.
• You can also obtain the Y-origin value through the :WAVeform:PREamble?
query. See ":WAVeform:PREamble?" on page 1621.
• ":WAVeform:VIEW" on page 1634
History Legacy command (existed before version 3.10).
:WAVeform:YRANge?
Query :WAVeform:YRANge?
A "Waveform data is not valid" error occurs when there is no data available for a channel.
N OT E
When this occurs, a zero value is returned.
<value> A real number representing the Y-axis duration of the displayed waveform.
Example This example returns the current Y-range value to the numeric variable, varValue,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:YRANge?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:WAVeform:YREFerence?
Query :WAVeform:YREFerence?
The :WAVeform:YREFerence? query returns the y-reference voltage value for the
currently specified source. It is at this level that the Y origin is defined. In this
oscilloscope, the value is always zero.
Returned Format [:WAVeform:YREFerence] 0<NL>
Example This example places the current Y-reference value for the currently specified
source in the numeric variable, varValue, then prints the contents of the variable to
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:YREFerence?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also For more information on BYTE and WORD formats, see "Understanding WORD
and BYTE Formats" on page 1611.
You can obtain the Y-reference value through the :WAVeform:PREamble? query.
History Legacy command (existed before version 3.10).
:WAVeform:YUNits?
Query :WAVeform:YUNits?
The :WAVeform:YUNits? query returns the Y-axis units of the currently selected
waveform source. The currently selected source may be a channel, function, or
waveform memory.
Returned Format [:WAVeform:YUNits] {UNKNown | VOLT | SECond | HITS | DECibels | CONStant
| AMP}<NL>
Example This example returns the Y-axis units of the currently selected waveform source to
the string variable, strUnit, then prints the contents of the variable to the
computer's screen.
Dim strUnit As String ' Dimension variable.
myScope.WriteString ":WAVeform:YUNits?"
strUnit = myScope.ReadString
Debug.Print strUnit
40 Waveform Memory
Commands
:WMEMory:TIETimebase / 1650
:WMEMory<R>:CLEar / 1651
:WMEMory<R>:DISPlay / 1652
:WMEMory<R>:FFT:HSCale / 1653
:WMEMory<R>:LABel / 1654
:WMEMory<R>:LOAD / 1655
:WMEMory<R>:SAVE / 1656
:WMEMory<R>:SEGMented:COUNt? / 1657
:WMEMory<R>:SEGMented:INDex / 1658
:WMEMory<R>:SEGMented:PLAY / 1659
:WMEMory<R>:XOFFset / 1660
:WMEMory<R>:XRANge / 1661
:WMEMory<R>:YOFFset / 1662
:WMEMory<R>:YRANge / 1663
The Waveform Memory Subsystem commands let you save and display
waveforms, memories, and functions.
1649
40 Waveform Memory Commands
:WMEMory:TIETimebase
Command :WMEMory:TIETimebase {{ON | 1} | {OFF | 0}}
Query :WMEMory:TIETimebase?
:WMEMory<R>:CLEar
Command :WMEMory<R>:CLEar
:WMEMory<R>:DISPlay
Command :WMEMory<R>:DISPlay {{ON | 1} | {OFF | 0}}
Query :WMEMory<R>:DISPlay?
:WMEMory<R>:FFT:HSCale
Command :WMEMory<R>:FFT:HSCale {LINear | LOG}
:WMEMory<R>:LABel
Command :WMEMory<R>:LABel <quoted_string>
:WMEMory<R>:LOAD
Command :WMEMory<R>:LOAD <file_name>
This example loads waveform memory 3 with a file that has the internal waveform
format and is stored on drive U:.
myScope.WriteString ":WMEMory3:LOAD ""U:\waveform.wfm"""
Related :DISK:LOAD
Commands :DISK:STORe
:WMEMory<R>:SAVE
Command :WMEMory<R>:SAVE {CHANnel<N> | DIFF<D> | COMMonmode<C> | CLOCk
| FUNCtion<F> | EQUalized<L> | MTRend | MSPectrum | WMEMory<R>
| XT<X> | PNOise}
:WMEMory<R>:SEGMented:COUNt?
Query :WMEMory<R>:SEGMented:COUNt?
:WMEMory<R>:SEGMented:INDex
Command :WMEMory<R>:SEGMented:INDex <number>
:WMEMory<R>:SEGMented:PLAY
Command :WMEMory<R>:SEGMented:PLAY {{0 | OFF} | {1 | ON}}
<status> ::= {0 | 1}
:WMEMory<R>:XOFFset
Command :WMEMory<R>:XOFFset <offset_value>
Query :WMEMory<R>:XOFFset?
:WMEMory<R>:XRANge
Command :WMEMory<R>:XRANge <range_value>
Query :WMEMory<R>:XRANge?
:WMEMory<R>:YOFFset
Command :WMEMory<R>:YOFFset <offset_value>
The :WMEMory<R>:YOFFset command sets the Y-axis (vertical axis) offset for the
selected waveform memory.
<R> The memory number is an integer from 1 to 4.
<offset_value> A real number for the vertical offset value.
Example This example sets the Y-axis (vertical) offset of waveform memory 2 to 0.2V.
myScope.WriteString ":WMEMory2:YOFFset 0.2"
Query :WMEMory<R>:YOFFset?
The :WMEMory<R>:YOFFset? query returns the current Y-axis (vertical) offset for
the selected waveform memory.
Returned Format [:WMEMory<R>:YOFFset] <offset_value><NL>
:WMEMory<R>:YRANge
Command :WMEMory<R>:YRANge <range_value>
The :WMEMory<R>:YRANge command sets the Y-axis, vertical range for the
selected memory. The vertical scale is the vertical range divided by 8.
<R> The memory number is an integer from 1 to 4.
<range_value> A real number for the vertical range value.
Example This example sets the Y-axis (vertical) range of waveform memory 3 to 0.2 volts.
myScope.WriteString ":WMEMory3:YRANge 0.2"
Query :WMEMory<R>:YRANge?
The :WMEMory<R>:YRANge? query returns the Y-axis, vertical range for the
selected memory.
Returned Format [:WMEMory<R>:YRANge]<range_value><NL>
1665
41 Xtalk (Crosstalk Analysis) Commands
:XTALk<X>:SOURce / 1699
:XTALk<X>:STYPe / 1701
The XTALk commands and queries control the Crosstalk Analysis application. This
application helps you troubleshoot and characterize crosstalk on up to four
simultaneously-acquired signals.
:XTALk:ENABle
Command :XTALk:ENABle {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:XTALk:PAADeskew
Command :XTALk:PAADeskew {{0 | OFF} | {1 | ON}}
The :XTALk:PAADeskew? query returns the "auto deskew" setting for power supply
aggressors (amplitude).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
:XTALk:PAIFilter
Command :XTALk:PAIFilter <time_span>
The :XTALk:PAIFilter? query returns the specified ISI filter time span.
Returned Format <time_span><NL>
:XTALk:PAISi
Command :XTALk:PAISi {{0 | OFF} | {1 | ON}}
The :XTALk:PAISi? query returns the "auto limit ISI filter time" setting for power
supply aggressors (amplitude).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
:XTALk:PASLimit
Command :XTALk:PASLimit <time_limit>
:XTALk:PAXFilter
Command :XTALk:PAXFilter <time_span>
The :XTALk:PAXFilter? query returns the specified XSI (crosstalk) filter time span.
Returned Format <time_span><NL>
:XTALk:PAXSi
Command :XTALk:PAXSi {{0 | OFF} | {1 | ON}}
The :XTALk:PAXSi? query returns the "auto limit XSI filter time" setting for power
supply aggressors (amplitude).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
:XTALk:PJADeskew
Command :XTALk:PJADeskew {{0 | OFF} | {1 | ON}}
The :XTALk:PJADeskew? query returns the "auto deskew" setting for power supply
aggressors (jitter).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
:XTALk:PJIFilter
Command :XTALk:PJIFilter <time_span>
The :XTALk:PJIFilter? query returns the specified ISI filter time span.
Returned Format <time_span><NL>
:XTALk:PJISi
Command :XTALk:PJISi {{0 | OFF} | {1 | ON}}
The :XTALk:PJISi? query returns the "auto limit ISI filter time" setting for power
supply aggressors (jitter).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
:XTALk:PJSLimit
Command :XTALk:PJSLimit <time_limit>
:XTALk:PJXFilter
Command :XTALk:PJXFilter <time_span>
The :XTALk:PJXFilter? query returns the specified XSI (crosstalk) filter time span.
Returned Format <opt><NL>
:XTALk:PJXSi
Command :XTALk:PJXSi {{0 | OFF} | {1 | ON}}
The :XTALk:PJXSi? query returns the "auto limit XSI filter time" setting for power
supply aggressors (jitter).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
:XTALk:RESults?
Query :XTALk:RESults?
:XTALk:SAADeskew
Command :XTALk:SAADeskew {{0 | OFF} | {1 | ON}}
The :XTALk:SAADeskew? query returns the "auto deskew" setting for serial data
aggressors.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
:XTALk:SAIFilter
Command :XTALk:SAIFilter <time_span>
The :XTALk:SAIFilter? query returns the specified ISI filter time span.
Returned Format <time_span><NL>
:XTALk:SAISi
Command :XTALk:SAISi {{0 | OFF} | {1 | ON}}
The :XTALk:SAISi? query returns the "auto limit ISI filter time" setting for serial data
aggressors.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
:XTALk:SASLimit
Command :XTALk:SASLimit <time_limit>
:XTALk:SAXFilter
Command :XTALk:SAXFilter <time_span>
The :XTALk:SAXFilter? query returns the specified XSI (crosstalk) filter time span.
Returned Format <time_span><NL>
:XTALk:SAXSi
Command :XTALk:SAXSi {{0 | OFF} | {1 | ON}}
The :XTALk:SAXSi? query returns the "auto limit XSI filter time" setting for serial
data aggressors.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
:XTALk<X>:AENable<X>
Command :XTALk<X>:AENable<X> {{0 | OFF} | {1 | ON}}
:XTALk<X>:ENABle
Command :XTALk<X>:ENABle {{0 | OFF} | {1 | ON}}
The :XTALk<X>:ENABle? query returns whether the signal has been added to the
crosstalk analysis.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
:XTALk<X>:IAGGressor
Command :XTALk<X>:IAGGressor {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:XTALk<X>:IVICtim
Command :XTALk<X>:IVICtim {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:XTALk<X>:PAUTo
Command :XTALk<X>:PAUTo {{0 | OFF} | {1 | ON}}
When the crosstalk analysis signal type is DIGital (serial data), the
:XTALk<X>:PAUTo command specifies whether the pattern length is automatically
determined.
<X> An integer from 1-4.
Query :XTALk<X>:PAUTo?
<setting> ::= {0 | 1}
:XTALk<X>:PLENgth
Command :XTALk<X>:PLENgth <number_of_bits>
When the crosstalk analysis signal type is DIGital (serial data) and the pattern
length is not automatically determined (:XTALk<X>:PAUTo OFF), the
:XTALk<X>:PLENgth command specifies the pattern length.
<X> An integer from 1-4.
Query :XTALk<X>:PLENgth?
:XTALk<X>:PTYPe
Command :XTALk<X>:PTYPe <pattern_type>
When the crosstalk analysis signal type is DIGital (serial data), the
:XTALk<X>:PTYPe command specifies whether the pattern is periodic or arbitrary.
<X> An integer from 1-4.
Query :XTALk<X>:PTYPe?
:XTALk<X>:RIDeal
Command :XTALk<X>:RIDeal {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:XTALk<X>:RISI
Command :XTALk<X>:RISI {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:XTALk<X>:ROTHer
Command :XTALk<X>:ROTHer {{0 | OFF} | {1 | ON}}
The :XTALk<X>:ROTHer? query returns the "remove unknown crosstalk and noise"
setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
:XTALk<X>:SOURce
Command :XTALk<X>:SOURce <source>
The :XTALk<X>:SOURce? query returns the specified source of the crosstalk signal.
Returned Format <source><NL>
:XTALk<X>:STYPe
Command :XTALk<X>:STYPe <signal_type>
You cannot have both a power supply victim and a power supply aggressor in the same setup
N OT E
because these require different algorithms.
Obsolete commands are deprecated, older forms of commands that still work but
have been replaced by newer commands.
1703
42 Obsolete and Discontinued Commands
Discontinued Discontinued commands are commands that were supported in previous versions
Commands of the Infiniium oscilloscope software, but are not supported by this version of the
Infiniium oscilloscope software. Listed below are the Discontinued commands and
the nearest equivalent command available (if any).
:ANALyze:CLOCk:METHod:PAM:B03
Command :ANALyze:CLOCk:METHod:PAM:B03 {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:ANALyze:CLOCk:METHod:PAM:B12
Command :ANALyze:CLOCk:METHod:PAM:B12 {{0 | OFF} | {1 | ON}}
<setting ::= {0 | 1}
:ANALyze:CLOCk:METHod:PAM:NONSymmetric
Command :ANALyze:CLOCk:METHod:PAM:NONSymmetric {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:CHANnel<N>:PROBe
Command :CHANnel<N>:PROBe <attenuation_factor>[,{RATio | DECibel}]
The :CHANnel<N>:PROBe command sets the probe attenuation factor and the
units (ratio or decibels) for the probe attenuation factor for a user-defined probe.
The DECibel and RATio parameters also set the "mode" for the probe attenuation.
These parameters, along with attenuation factor, determine the scaling of the
display and affect automatic measurements and trigger levels.
This mode also determines the units (ratio or decibels) that may be used for a
subsequent command.
<N> An integer, 1-4
<attenuation A real number from 0.0001 to 1000 for the RATio attenuation units or from -80 dB
_factor> to 60 dB for the DECibel attenuation units.
Example This example sets the probe attenuation factor for a 10:1 probe on channel 1 in
ratio units.
myScope.WriteString ":CHANnel1:PROBe 10,RAT"
Query :CHANnel<N>:PROBe?
Example This example places the current attenuation setting for channel 1 in the string
variable, strAtten, then the program prints the contents.
Dim strAtten As String ' Dimension variable.
myScope.WriteString ":CHANnel1:PROBe?"
strAtten = myScope.ReadString
Debug.Print strAtten
If you use a string variable, the query returns the attenuation value and the factor
(decibel or ratio). If you use an integer variable, the query returns the attenuation
value. You must then read the attenuation units into a string variable.
History Legacy command (existed before version 3.10).
Version 6.73: This command has been deprecated and replaced by the
":CHANnel<N>:PROBe:USER" on page 409 command.
:DISPlay:COLumn
Command
This command is deprecated. It is accepted but ignored. Bookmarks are now the method used
N OT E
to place text strings or annotations on screen. The closest command equivalent is
":DISPlay:BOOKmark<N>:XPOSition" on page 520.
:DISPlay:COLumn <column_number>
Query :DISPlay:COLumn?
The :DISPlay:COLumn? query returns the column where the next :DISPlay:LINE or
:DISPlay:STRing starts.
Returned Format [:DISPlay:COLumn] <value><NL>
Example This example returns the current column setting to the string variable, strSetting,
then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:COLUMN?"
strSetting = myScope.ReadString
Debug.Print strSetting
:DISPlay:LINE
Command
This command is deprecated. It is accepted but ignored. Bookmarks are now the method used
N OT E
to place text strings or annotations on screen. The closest command equivalent is
":DISPlay:BOOKmark<N>:SET" on page 517.
:DISPlay:LINE "<string_argument>"
The :DISPlay:LINE command writes a quoted string to the screen, starting at the
location specified by the :DISPlay:ROW and :DISPlay:COLumn commands.
<string Any series of ASCII characters enclosed in quotation marks.
_argument>
Example This example writes the message "Infiniium Test" to the screen, starting at the
current row and column location.
myScope.WriteString ":DISPlay:LINE ""Infiniium Test"""
When using the C programming language, quotation marks within a string are
escaped using the backslash (\) character as shown in the next example. This
example writes the message "Infiniium Test" to the screen.
printf("\"Infiniium Test\"");
You may write text up to column 94. If the characters in the string do not fill the
line, the rest of the line is blanked. If the string is longer than the space available
on the current line, the excess characters are discarded.
In any case, the ROW is incremented and the COLumn remains the same. The next
:DISPlay:LINE command will write on the next line of the display. After writing the
last line in the display area, the ROW is reset to 0.
History Legacy command (existed before version 3.10).
Obsoleted in version 5.00.
:DISPlay:ROW
Command
This command is deprecated. It is accepted but ignored. Bookmarks are now the method used
N OT E
to place text strings or annotations on screen. The closest command equivalent is
":DISPlay:BOOKmark<N>:YPOSition" on page 521.
:DISPlay:ROW <row_number>
The :DISPlay:ROW command specifies the starting row on the screen for
subsequent :DISPlay:STRing and :DISPlay:LINE commands. The row number
remains constant until another :DISPlay:ROW command is received, or the row is
incremented by the :DISPlay:LINE command.
<row_number> An integer representing the starting row for subsequent :DISPlay:STRing and
:DISPlay:LINE commands. The range of values is 9 to 23.
Example This example sets the starting row for subsequent :DISPlay:STRing and
:DISPlay:LINE commands to 10.
myScope.WriteString ":DISPlay:ROW 10"
Query :DISPlay:ROW?
Example This example places the current value for row in the string variable, strSetting,
then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:ROW?"
strSetting = myScope.ReadString
Debug.Print strSetting
:DISPlay:STRing
Command
This command is deprecated. It is accepted but ignored. Bookmarks are now the method used
N OT E
to place text strings or annotations on screen. The closest command equivalent is
":DISPlay:BOOKmark<N>:SET" on page 517.
:DISPlay:STRing "<string_argument>"
The :DISPlay:STRing command writes text to the oscilloscope screen. The text is
written starting at the current row and column settings. If the column limit is
reached, the excess text is discarded. The :DISPlay:STRing command does not
increment the row value, but :DISPlay:LINE does.
<string Any series of ASCII characters enclosed in quotation marks.
_argument>
Example This example writes the message "Example 1" to the oscilloscope's display starting
at the current row and column settings.
myScope.WriteString ":DISPlay:STRING ""Example 1"""
:DISPlay:TAB
Command :DISPlay:TAB <tab>
The :DISPlay:TAB command displays the corresponding tab indicated by the <tab>
parameter.
<tab> MEASurement | MARKer | DIGital | LIMittest | JITTer | NOISe | HISTogram |
MASKtest | EYE | COLorgrade | NAVigation | STATus | SCALe | BOOKmark |
CROSstalk | FAILuretable | FFTPeaks | EQSettings
Example This example sets the Status tab as the displayed one.
myScope.WriteString ":DISPlay:TAB STATus"
Query :DISPlay:TAB?
Example This example places the currently displayed tab into the string variable, strTab,
then prints the contents of the variable to the computer's screen.
Dim strTab As String ' Dimension variable.
myScope.WriteString ":DISPlay:TAB?"
strTab = myScope.ReadString
Debug.Print strTab
:DISPlay:TEXT
Command
This command is deprecated. It is accepted but ignored. Bookmarks are now the method used
N OT E
to place text strings or annotations on screen. The closest command equivalent is
":DISPlay:BOOKmark<N>:DELete" on page 516.
:DISPlay:TEXT BLANk
The :DISPlay:TEXT command blanks the user text area of the screen.
Example This example blanks the user text area of the oscilloscope's screen.
myScope.WriteString ":DISPlay:TEXT BLANK"
:HOSTed:CALibrate:ALIGn (MultiScope)
Command :HOSTed:CALibrate:ALIGn {{0 | OFF} | {1 | ON}}
As of software version 5.60, acquired data is always aligned, and this command has no effect.
N OT E
<setting> ::= {0 | 1}
:MEASure:CLOCk
Command :MEASure:CLOCk {{{ON|1},CHANnel<N>} | {OFF|0}}
The :MEASure:CLOCk command turns the recovered clock display on or off and
sets the clock recovery channel source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example turns the recovered clock display on for channel 1.
myScope.WriteString ":MEASure:CLOCk ON,CHANnel1"
Query :MEASure:CLOCk?
The :MEASure :CLOCk? query returns the state of the recovered clock display.
Returned Format [:MEASure:CLOCk] {1 | 0}<NL>
Example This example places the current setting of the recovered clock display in the
variable varSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCK?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:MEASure:CLOCk:METHod
Command :MEASure:CLOCk:METHod
{FC,{FC1063 | FC2125 | FC425}}
| {EXPlicit,<source>,{RISing | FALLing | BOTH}[,<multiplier>]}
| {FIXed,{AUTO | {SEMI[,<data_rate>]} | <data_rate>}}
| {FLEXR,<baud_rate>}
| {FLEXT,<baud_rate>}
Query :MEASure:CLOCk:METHod?
You can use the :MEASure:CLOCk:METHod? query when phase-locked loop (PLL) clock
N OT E
recovery methods are set up. The format returned will be that of the
:MEASure:CLOCk:METHod:OJTF? query. See ":MEASure:CLOCk:METHod:OJTF" on
page 1735.
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCk:METHod?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:CLOCk:METHod (deprecated)
Command
Some of these command options have been deprecated — options for specifying clock
N OT E
recovery PLL options have been moved to the new commands
":MEASure:CLOCk:METHod:JTF" on page 1733 and
":MEASure:CLOCk:METHod:OJTF" on page 1735. See also
":MEASure:CLOCk:METHod" on page 1725.
:MEASure:CLOCk:METHod {FOPLL,<data_rate>,<loop_bandwidth>}
| {EQFOPLL,<data_rate>,<loop_bandwidth>}
| {SOPLL,<data_rate>,<loop_bandwidth>, <damping_factor>}
| {EQSOPLL,<data_rate>,<loop_bandwidth>, <damping_factor>}
| {FC,{FC1063 | FC2125 | FC425}}
| {EXPFOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<loop_bandwidth>}
| {EXPSOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<loop_bandwidth>,<damping_fact>}
| {EXPlicit,<source>,{RISing | FALLing | BOTH}[,<multiplier>]}
| {FIXed,{AUTO | {SEMI[,<data_rate>]} | <data_rate>}}
| {FLEXR,<baud_rate>}
| {FLEXT,<baud_rate>}
<damping_ factor> A real number for the damping factor of the PLL in bits per second.
<loop_ A real number for the cutoff frequency for the PLL to track.
bandwidth>
<multiplier> An integer used as the multiplication factor.
<clock_freq> A real number used for the clock frequency of the PLL.
<track_freq> A real number used for the tracking frequency of the PLL.
<damping_fact> A real number used for the damping factor of the PLL.
<baud_rate> A real number used for the baud rate.
Example This example sets the clock recovery method to phase-locked loop.
myScope.WriteString ":MEASure:CLOCK:METHOD FOPLL,2E9,1.19E6"
Query :MEASure:CLOCk:METHod?
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCK:METHOD?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:CLOCk:METHod:ALIGn
Command :MEASure:CLOCK:METHod:ALIGn {CENTer | EDGE}
Query :MEASure:CLOCK:METHod:ALIGn?
Example This example places the current edge alignment setting of the clock recovery
method in the variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCK:METHOD:ALIGn?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:CLOCk:METHod:DEEMphasis
Command :MEASure:CLOCk:METHod:DEEMphasis {OFF | ON}
Query :MEASure:CLOCk:METHod:DEEMphasis?
Example This example places the current setting of the de-emphasis mode in the string
variable strDeemph, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCK:METHod:DEEMphasis?"
strDeemph = myScope.ReadString
Debug.Print strDeemph
:MEASure:CLOCk:METHod:EDGE
Command :MEASure:CLOCk:METHod:EDGE {RISing | FALLing | BOTH}
Query :MEASure:CLOCK:METHod:EDGE?
Example This example places the current edge setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCk:METHod:EDGE?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:CLOCk:METHod:JTF
Command :MEASure:CLOCk:METHod:JTF
{FOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<jtf_loop_bandwidth>, <peaking>}
| {EQSOPLL,<data_rate>,<jtf_loop_bandwidth>, <peaking>}
| {EXPFOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>}
| {EXPSOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>,<peaking>}
<clock_freq> A real number used for the clock frequency of the PLL.
Example This example sets the clock recovery method to Second Order PLL, a nominal data
rate of 4 Gb/s, and a peaking value of 1.25 dB.
myScope.WriteString ":MEASure:CLOCk:METHod:JTF SOPLL,4E9,3.822E6,1.25"
Query :MEASure:CLOCk:METHod:JTF?
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCk:METHod:JTF?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:CLOCk:METHod:OJTF
Command :MEASure:CLOCk:METHod:OJTF
{FOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<ojtf_loop_bandwidth>, <damping_factor>}
| {EQSOPLL,<data_rate>,<ojtf_loop_bandwidth>, <damping_factor>}
| {EXPFOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>}
| {EXPSOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>,<damping_factor>}
<clock_freq> A real number used for the clock frequency of the PLL.
Example This example sets the clock recovery method to Second Order PLL, a nominal data
rate of 4 Gb/s, and a damping factor of 1.0.
myScope.WriteString ":MEASure:CLOCk:METHod:OJTF SOPLL,4E9,2.4E6,1.0"
Query :MEASure:CLOCk:METHod:OJTF?
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCk:METHod:OJTF?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:CLOCk:METHod:PLLTrack
Command :MEASure:CLOCk:METHod:PLLTrack {OFF | ON}
Query :MEASure:CLOCk:METHod:PLLTrack?
Example This example places the current setting of the Transition Density Dependent
setting in the string variable strTDD, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCK:METHod:PLLTrack?"
strTDD = myScope.ReadString
Debug.Print strTDD
:MEASure:CLOCk:METHod:SOURce
Command :MEASure:CLOCk:METHod:SOURce {ALL | <source>}
:MEASure:CLOCk:VERTical
Command :MEASure:CLOCk:VERTical {AUTO | MANual}
Query :MEASure:CLOCk:VERTical?
Example This example places the current setting of the recovered clock vertical scale mode
in the string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCK:VERTICAL?"
strSetting = myScope.ReadString
Debug.Print strSetting
:MEASure:CLOCk:VERTical:OFFSet
Command :MEASure:CLOCk:VERTical:OFFSet <offset>
Query :MEASure:CLOCk:VERTical:OFFSet?
:MEASure:CLOCk:VERTical:RANGe
Command :MEASure:CLOCk:VERTical:RANGe <range>
Query :MEASure:CLOCk:VERTical:RANGe?
This command is available only when the Jitter Analysis Software license is installed.
N OT E
:MEASure:DDPWS <source>
The :MEASure:DDPWS? query returns the measured data dependent pulse width
shrinkage.
Returned Format [:MEASure:DDPWS] <value><NL>
<value> Data dependent pulse width shrinkage in seconds for the selected source.
Example This example places the current data dependent pulse width shrinkage value of
the channel 1 waveform in the numeric variable, varValue, then prints the contents
of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:DDPWS? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
:MEASure:FFT:PEAK1
Command :MEASure:FFT:PEAK1 <1st_peak_number>
The :MEASure:FFT:PEAK1command sets the peak number of the first peak for FFT
measurements. The source is specified with the :MEASure:SOURce command as
FUNCtion<F> or WMEMory<R>.
<1st_peak An integer, 1 to 100 specifying the number of the first peak.
_number>
<N> An integer, 1-4.
<F> An integer, 1-16.
<R> An integer, 1-4.
Query :MEASure:FFT:PEAK1?
The :MEASure:FFT:PEAK1? query returns the peak number currently set as the first
peak.
Returned Format [:MEASure:FFT:PEAK1] <1st_peak_number><NL>
:MEASure:FFT:PEAK2
Command :MEASure:FFT:PEAK2 <2nd_peak_number>
The :MEASure:FFT:PEAK2 command sets the peak number of the second peak for
FFT measurements. The source is specified with the :MEASure:SOURce command
as FUNCtion<F> or WMEMory<R>.
<2nd_peak An integer, 1 to 100 specifying the number of the second peak.
_number>
<N> An integer, 1-4.
<F> An integer, 1-16.
<R> An integer, 1-4.
Query :MEASure:FFT:PEAK2?
The :MEASure:FFT:PEAK2? query returns the peak number currently set as the
second peak.
Returned Format [:MEASure:FFT:PEAK1] <2nd_peak_number><NL>
:MEASure:FFT:THReshold
Command :MEASure:FFT:THReshold <threshold_value>
:MEASure:JITTer:STATistics
Command :MEASure:JITTer:STATistics {{ON|1} | {OFF|0}}
Query :MEASure:JITTer:STATistics?
Example This example places the current setting of the jitter statistics mode in the variable
varSetting, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:STATistics?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
:MEASure:TIEData
Command :MEASure:TIEData <source>,{SECond | UNITinterval}, {AUTO
| CUSTOM,<data_rate> | VARiable,<data_rate>,<bandwidth>
| CLOCk}
The :MEASure:TIEData command measures data time interval error. You can set
the units of the measurement by selecting SECond (seconds) or UNITinterval.
If AUTO is selected, the oscilloscope selects the ideal data rate. If CUSTom is
selected, you can enter your own ideal constant data rate. If VARiable is selected,
a first order PLL clock recovery is used at a given data rate and loop bandwidth. If
CLOCk is given, clock recovery as specified with the :MEASure:CLOCk:METHod is
used.
<source> {CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend |
MSPectrum | EQUalized<L> | XT<X>}
The MTRend and MSPectrum sources are available when the Jitter Analysis
Software license is installed and the features are enabled.
The CLOCk source is available when the recovered clock is displayed.
The EQUalized<L> source is available when the Advanced Signal Integrity
Software license is installed and the equalized waveform is displayed as a
function.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscope
(MSO) models.
<R> An integer, 1-4.
<data_rate> A real number for the ideal data rate for clock recovery.
<bandwidth> A real number for the loop bandwidth of the PLL clock recovery method.
Example This example measures the data time interval error on channel 1, ideal data rate
set to automatic, units set to seconds.
myScope.WriteString ":MEASure:TIEData CHANnel1,SECond,AUTO"
The :MEASure:TIEData? query returns the current value of the data time interval
error.
Returned Format [:MEASure:TIEData] <value>[,<result_state>]<NL>
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value of the data time interval error in the variable
strValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:TIEData? CHANnel1,SECond,CUSTOM,1E9"
strValue = myScope.ReadString
Debug.Print strValue
:MTESt:FOLDing:COUNt?
Query :MTESt:FOLDing:COUNt? [<source>]
:SPRocessing:CTLequalizer:ACGain
Command :SPRocessing:CTLequalizer:ACGain <ac_gain>
Query :SPRocessing:CTLequalizer:ACGain?
:SPRocessing:CTLequalizer:DCGain
Command :SPRocessing:CTLequalizer:DCGain <dc_gain>
Query :SPRocessing:CTLequalizer:DCGain?
:SPRocessing:CTLequalizer:DISPlay
Command :SPRocessing:CTLequalizer:DISPlay {(OFF | 0) | (ON | 1)}
Query :SPRocessing:CTLequalizer:DISPlay?
:SPRocessing:CTLequalizer:NUMPoles
Command :SPRocessing:CTLequalizer:NUMPoles {{P2Z1 | POLE2} | {P3Z1 | POLE3}
| P3Z2 | P4Z1 | {P2ACG | USB31}}
Query :SPRocessing:CTLequalizer:NUMPoles?
:SPRocessing:CTLequalizer:P1
Command :SPRocessing:CTLequalizer:P1 <pole1_freq>
The :CTLequalizer:P1 command sets the Pole 1 frequency for the Continuous Time
Linear Equalization.
<pole1_freq> A real number
Example This example sets the CTLE Pole 1 frequency to 1GHz.
myScope.WriteString ":SPRocessing:CTLequalizer:P1 1e9"
Query :SPRocessing:CTLequalizer:P1?
:SPRocessing:CTLequalizer:P2
Command :SPRocessing:CTLequalizer:P2 <pole2_freq>
The :CTLequalizer:P1 command sets the Pole 2 frequency for the Continuous Time
Linear Equalization.
<pole2_freq> A real number
Example This example sets the CTLE Pole 2 frequency to 4 GHz.
myScope.WriteString ":SPRocessing:CTLequalizer:P2 4e9"
Query :SPRocessing:CTLequalizer:P2?
:SPRocessing:CTLequalizer:P3
Command :SPRocessing:CTLequalizer:P3 <pole3_freq>
The :CTLequalizer:P1 command sets the Pole 3 frequency for the Continuous Time
Linear Equalization.
<pole3_freq> A real number
Example This example sets the CTLE Pole 3 frequency to 4 GHz.
myScope.WriteString ":SPRocessing:CTLequalizer:P3 4e9"
Query :SPRocessing:CTLequalizer:P3?
:SPRocessing:CTLequalizer:P4
Command :SPRocessing:CTLequalizer:P4 <pole4_freq>
The :CTLequalizer:P4 command sets the Pole 4 frequency for the Continuous Time
Linear Equalization.
<pole4_freq> A real number
Example This example sets the CTLE Pole 4 frequency to 4 GHz.
myScope.WriteString ":SPRocessing:CTLequalizer:P4 4e9"
Query :SPRocessing:CTLequalizer:P4?
:SPRocessing:CTLequalizer:RATe
Command :SPRocessing:CTLequalizer:RATe <data_rate>
The :CTLequalizer:RATe command sets the data rate for the CTLE equalizer.
<data_rate> A real number.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), a symbol rate (baud)
is specified instead of a data rate (b/s).
Example This example sets the CTLE data rate to 3e9.
myScope.WriteString ":SPRocessing:CTLequalizer:RATe 3e9"
Query :SPRocessing:CTLequalizer:RATe?
:SPRocessing:CTLequalizer:SOURce
Command :SPRocessing:CTLequalizer:SOURce {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
The :CTLequalizer:SOURce command sets the source for the Continuous Time
Linear Equalization.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example sets the CTLE source to Channel 1.
myScope.WriteString ":SPRocessing:CTLequalizer:SOURce CHANnel1"
Query :SPRocessing:CTLequalizer:SOURce?
:SPRocessing:CTLequalizer:VERTical
Command :SPRocessing:CTLequalizer:VERTical {AUTO | MANual}
Query :SPRocessing:CTLequalizer:VERTical?
Example This example places the current setting of the CTLE signal's vertical scale mode in
the string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":SPRocessing:CTLequalizer:VERTical?"
strSetting = myScope.ReadString
Debug.Print strSetting
:SPRocessing:CTLequalizer:VERTical:OFFSet
Command :SPRocessing:CTLequalizer:VERTical:OFFSet <offset>
Query :SPRocessing:CTLequalizer:VERTical:OFFSet?
:SPRocessing:CTLequalizer:VERTical:RANGe
Command :SPRocessing:CTLequalizer:VERTical:RANGe <range>
Query :SPRocessing:CTLequalizer:VERTical:RANGe?
:SPRocessing:CTLequalizer:Z1
Command :SPRocessing:CTLequalizer:Z1 <zero_freq_1>
The :SPRocessing:CTLequalizer:Z1 command sets the first zero frequency for the
3-pole Continuous Time Linear Equalization.
<zero_freq_1> A real number in NR3 format.
Example This example sets the 3-pole CTLE's first zero frequency to 900 MHz.
myScope.WriteString ":SPRocessing:CTLequalizer:Z1 650e6"
Query :SPRocessing:CTLequalizer:Z1?
:SPRocessing:CTLequalizer:Z2
Command :SPRocessing:CTLequalizer:Z2 <zero_freq_2>
Query :SPRocessing:CTLequalizer:Z2?
:SPRocessing:CTLequalizer:ZERo
Command :SPRocessing:CTLequalizer:ZERo <zero_freq>
The :CTLequalizer:ZERo command sets the zero frequency for the Continuous
Time Linear Equalization.
<zero_freq> A real number.
Example This example sets the CTLE zero frequency to 900 MHz.
myScope.WriteString ":SPRocessing:CTLequalizer:ZERo 9e6"
Query :SPRocessing:CTLequalizer:ZERo?
:SPRocessing:DFEQualizer:NTAPs
Command :SPRocessing:DFEQualizer:NTAPs <number>
The :DFEQualizer:NTAPs command sets the number of taps to be used in the DFE
algorithm.
DFE tap indices always begin with 1 and extend to the number of taps.
<number> An integer between 1 and 40
Example This example sets the number of DFE taps to 3.
myScope.WriteString ":SPRocessing:DFEQualizer:NTAPs 3"
Query :SPRocessing:DFEQualizer:NTAPs?
:SPRocessing:DFEQualizer:SOURce
Command :SPRocessing:DFEQualizer:SOURce {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R> | EQUalized}
The :DFEQualizer:SOURce command sets the source for the Decision Feedback
Equalization.
Setting the source to EQUalized means the Feed-Forward Equalized (FFE)
waveform is used as the DFE source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example sets the DFE source to Channel 1.
myScope.WriteString ":SPRocessing:DFEQualizer:SOURce CHANnel1"
Query :SPRocessing:DFEQualizer:SOURce?
:SPRocessing:DFEQualizer:STATe
Command :SPRocessing:DFEQualizer:STATe {(OFF | 0) | (ON | 1)}
Query :SPRocessing:DFEQualizer:STATe?
:SPRocessing:DFEQualizer:TAP
Command :SPRocessing:DFEQualizer:TAP <tap>, <value>
The :DFEQualizer:TAP command sets the tap value for each DFE tap. For example,
when <tap> is equal to 1 then the 1st tap is set to <value>.
DFE tap indices always start at 1 and extend to the number of taps.
<tap> The tap number.
<value> The tap value
Example This example sets the DFE Tap 1 to 0.432.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP 1,0.432"
:SPRocessing:DFEQualizer:TAP:AUTomatic
Command :SPRocessing:DFEQualizer:TAP:AUTomatic
:SPRocessing:DFEQualizer:TAP:DELay
Command :SPRocessing:DFEQualizer:TAP:DELay <delay>
:SPRocessing:DFEQualizer:TAP:DELay:AUTomatic
Command :SPRocessing:DFEQualizer:TAP:DELay:AUTomatic
:SPRocessing:DFEQualizer:TAP:GAIN
Command :SPRocessing:DFEQualizer:TAP:GAIN <gain>
The eye diagram drawn after DFE is applied is attenuated. To amplify the eye back
to its original size (so you can directly compare the eye at the receiver to the eye at
the transmitter), a gain factor needs to be applied. The :DFEQualizer:TAP:GAIN
command allows you to set this gain. For more information on this parameter,
refer to the Infiniium Serial Data Equalization User's Guide.
<gain> A real number
Example This example sets the gain to 3.23.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP:GAIN 3.23"
Query :SPRocessing:DFEQualizer:TAP:GAIN?
:SPRocessing:DFEQualizer:TAP:LTARget
Command :SPRocessing:DFEQualizer:TAP:LTARget <lower_target>
The Lower Target field dictates the logical low value used in the DFE algorithm. For
example, in DFE, when a bit is determined to be a logical low, its value will be
equal to Lower Target. The :DFEQualizer:TAP:LTARget command allows you to set
this value.
<lower_target> A real number
Example This example sets the Lower Target to 1.0.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP:LTARget 1.0"
Query :SPRocessing:DFEQualizer:TAP:LTARget?
:SPRocessing:DFEQualizer:TAP:MAX
Command :SPRocessing:DFEQualizer:TAP:MAX <max_tap_value>
Some standards have upper and lower limits on the tap values. The
:DFEQualizer:TAP:MAX command sets the upper limit on taps determined through
optimization.
<max_tap_value> A real number
Example This example sets the Upper Limit field to 3.23.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP:MAX 3.23"
Query :SPRocessing:DFEQualizer:TAP:MAX?
:SPRocessing:DFEQualizer:TAP:MIN
Command :SPRocessing:DFEQualizer:TAP:MIN <min_tap_value>
Some standards have upper and lower limits on the tap values. The
:DFEQualizer:TAP:MIN command sets the lower limit on taps determined through
optimization.
<min_tap_value> A real number
Example This example sets the Lower Limit field to 3.23.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP:MIN 3.23"
Query :SPRocessing:DFEQualizer:TAP:MIN?
:SPRocessing:DFEQualizer:TAP:NORMalize
Command :SPRocessing:DFEQualizer:TAP:NORMalize {{0 | OFF} | {1 | ON}}
<setting> ::= {0 | 1}
:SPRocessing:DFEQualizer:TAP:UTARget
Command :SPRocessing:DFEQualizer:TAP:UTARget <upper_target>
The Upper Target field dictates the logical high value used in the DFE algorithm.
For example, in DFE, when a bit is determined to be a logical high, its value will be
equal to Upper Target. The :DFEQualizer:TAP:UTARget command allows you to set
this value.
<upper_target> A real number
Example This example sets the Upper Target to 1.0.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP:UTARget 1.0"
Query :SPRocessing:DFEQualizer:TAP:UTARget?
:SPRocessing:DFEQualizer:TAP:WIDTh
Command :SPRocessing:DFEQualizer:TAP:WIDTh <width>
The :DFEQualizer:TAP:WIDTh command sets the Eye Width field for the DFE tap
optimization. Setting the width to 0.0 means the optimization is only preformed at
the location of the clock. Setting the width to 1.0 means the entire acquisition is
used in the optimization. The default value for DFE is 0.0. For more information on
this parameter, refer to the Infiniium Serial Data Equalization User's Guide.
<width> A real number between 0.0 and 1.0.
Example This example sets the eye width to 0.0.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP:WIDTh 0.0"
Query :SPRocessing:DFEQualizer:TAP:WIDTh?
The :SPRocessing:DFEQualizer:TAP? query returns the eye width used in the DFE
tap optimization.
History Legacy command (existed before version 3.10).
:SPRocessing:FFEQualizer:BANDwidth
Command :SPRocessing:FFEQualizer:BANDwidth <bandwidth>
:SPRocessing:FFEQualizer:BWMode
Command :SPRocessing:FFEQualizer:BWMode {TSBandwidth | TTDelay | CUSTom}
Query :SPRocessing:FFEQualizer:BWMode?
:SPRocessing:FFEQualizer:DISPlay
Command :SPRocessing:FFEQualizer:DISPlay {(OFF | 0) | (ON | 1)}
Query :SPRocessing:FFEQualizer:DISPlay?
:SPRocessing:FFEQualizer:NPRecursor
Command :SPRocessing:FFEQualizer:NPRecursor <number>
Query :SPRocessing:FFEQualizer:NPRecursor?
:SPRocessing:FFEQualizer:NTAPs
Command :SPRocessing:FFEQualizer:NTAPs <number>
The :FFEQualizer:NTAPs command sets the number of taps to be used in the FFE
algorithm.
The indices of your FFE taps depend on the number of precursor taps being used.
For example, if you are using zero precursor taps then your FFE tap indices would
range from 0 to (NTAPs - 1). If you are using two precursor taps then your FFE tap
indices would range from -2 to (NTAPs - 1 - 2).
<number> an integer between 2 and 40
Example This example sets the number of FFE taps to 3.
myScope.WriteString ":SPRocessing:FFEQualizer:NTAPs 3"
Query :SPRocessing:FFEQualizer:NTAPs?
:SPRocessing:FFEQualizer:RATe
Command :SPRocessing:FFEQualizer:RATe <data_rate>
The :FFEQualizer:RATe command sets the data rate for the FFE equalizer.
<data_rate> A real number.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), a symbol rate (baud)
is specified instead of a data rate (b/s).
Example This example sets the FFE data rate to 3e9.
myScope.WriteString ":SPRocessing:FFEQualizer:RATe 3e9"
Query :SPRocessing:FFEQualizer:RATe?
:SPRocessing:FFEQualizer:SOURce
Command :SPRocessing:FFEQualizer:SOURce {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R>}
Query :SPRocessing:FFEQualizer:SOURce?
:SPRocessing:FFEQualizer:TAP
Command :SPRocessing:FFEQualizer:TAP <tap>, <value>
The :FFEQualizer:TAP command sets the tap value for each FFE tap. For example,
when <tap> is equal to 0 then the 0th tap is set to <value>.
The indices of your FFE taps depend on the number of precursor taps being used.
For example, if you are using zero precursor taps then your FFE tap indices would
range from 0 to (NTAPs - 1). If you are using two precursor taps then your FFE tap
indices would range from -2 to (NTAPs - 1 - 2).
<tap> The tap number; when <tap> == 0, Tap 0 is set
<value> The tap value
Example This example sets the second FFE tap to -1.432.
myScope.WriteString ":SPRocessing:FFEQualizer:TAP 2,-1.432"
:SPRocessing:FFEQualizer:TAP:AUTomatic
Command :SPRocessing:FFEQualizer:TAP:AUTomatic
:SPRocessing:FFEQualizer:TAP:DELay
Command :SPRocessing:FFEQualizer:TAP:DELay <delay>
:SPRocessing:FFEQualizer:TAP:WIDTh
Command :SPRocessing:FFEQualizer:TAP:WIDTh <width>
The :FFEQualizer:TAP:WIDTh command sets the Eye Width field for the FFE tap
optimization. Setting the width to 0.0 means the optimization is only preformed at
the location of the clock. Setting the width to 1.0 means the entire acquisition is
used in the optimization. The default value for FFE is 0.33. For more information on
this parameter, refer to the Infiniium Serial Data Equalization User's Guide.
<width> A real number between 0.0 and 1.0.
Example This example sets the eye width to 0.0.
myScope.WriteString ":SPRocessing:FFEQualizer:TAP:WIDTh 0.0"
Query :SPRocessing:FFEQualizer:TAP:WIDTh?
:SPRocessing:FFEQualizer:TDELay
Command :SPRocessing:FFEQualizer:TDELay <delay_value>
The :SPRocessing:FFEQualizer:TDELay? query returns the current value for the tap
delay.
History Legacy command (existed before version 3.10).
:SPRocessing:FFEQualizer:TDMode
Command :SPRocessing:FFEQualizer:TDMode {TBITrate | CUSTom}
The :FFEQualizer:TDMode command sets Tap Delay field to either Track Data Rate
or Custom. If you are using one tap per bit, use the TBITrate selection. If you are
using multiple taps per bit, use CUSTom and then use the FFEQualizer:TDELay
command to set the value. To understand more about this parameter, consult the
Infiniium Serial Data Equalization User's Guide.
Example This example sets the FFE Tap Delay mode to TBITrate.
myScope.WriteString ":SPRocessing:FFEQualizer:TDMode TBITrate"
Query :SPRocessing:FFEQualizer:TDMode?
:SPRocessing:FFEQualizer:VERTical
Command :SPRocessing:FFEQualizer:VERTical {AUTO | MANual}
Query :SPRocessing:FFEQualizer:VERTical?
Example This example places the current setting of the FFE signal's vertical scale mode in
the string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":SPRocessing:FFEQualizer:VERTical?"
strSetting = myScope.ReadString
Debug.Print strSetting
:SPRocessing:FFEQualizer:VERTical:OFFSet
Command :SPRocessing:FFEQualizer:VERTical:OFFSet <offset>
Query :SPRocessing:FFEQualizer:VERTical:OFFSet?
:SPRocessing:FFEQualizer:VERTical:RANGe
Command :SPRocessing:FFEQualizer:VERTical:RANGe <range>
Query :SPRocessing:FFEQualizer:VERTical:RANGe?
43 Error Messages
Error Queue / 1800
Error Numbers / 1801
Command Errors / 1802
Execution Errors / 1803
Device- or Oscilloscope-Specific Errors / 1804
Query Errors / 1805
List of Error Messages / 1806
This chapter describes the error messages and how they are generated. The
possible causes for the generation of the error messages are also listed in the
following table.
1799
43 Error Messages
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 error queue overflows, the oldest errors
remain in the queue, and the most recent error is discarded. The length of the
oscilloscope's error queue is 30 (29 positions for the error messages, and 1
position for the "Queue overflow" message).
Reading an error from the head of the queue removes that error from the queue,
and opens a position at the tail of the queue for a new error. When all errors have
been read from the queue, subsequent error queries return 0,"No error".
The error queue is cleared when any of the following occur:
• the instrument is powered up,
• a *CLS command is sent,
• the last item from the queue is read, or
• the instrument is switched from talk only to addressed mode on the front panel.
Error Numbers
The error numbers are grouped according to the type of error that is detected.
• +0 indicates no errors were detected.
• -100 to -199 indicates a command error was detected
• -200 to -299 indicates an execution error was detected.
• -300 to -399 indicates a device-specific error was detected.
• -400 to-499 indicates a query error was detected.
• +1 to +32767 indicates an oscilloscope specific error has been detected.
Command Errors
An error number in the range -100 to -199 indicates that an IEEE 488.2 syntax
error has been detected by the instrument's parser. The occurrence of any error in
this class sets the command error bit (bit 5) in the event status register and
indicates that one of the following events occurred:
• An IEEE 488.2 syntax error was detected by the parser. That is, a
computer-to-oscilloscope message was received that is in violation of the IEEE
488.2 standard. This may be a data element that violates the oscilloscope's
listening formats, or a data type that is unacceptable to the oscilloscope.
• An unrecognized header was received. Unrecognized headers include incorrect
oscilloscope-specific headers and incorrect or unimplemented IEEE 488.2
common commands.
• A Group Execute Trigger (GET) was entered into the input buffer inside of an
IEEE 488.2 program message.
Events that generate command errors do not generate execution errors,
oscilloscope-specific errors, or query errors.
Execution Errors
An error number in the range -200 to -299 indicates that an error was detected by
the instrument's execution control block. The occurrence of any error in this class
causes the execution error bit (bit 4) in the event status register to be set. It also
indicates that one of the following events occurred:
• The program data following a header is outside the legal input range or is
inconsistent with the oscilloscope's capabilities.
• A valid program message could not be properly executed due to some
oscilloscope condition.
Execution errors are reported by the oscilloscope after expressions are evaluated
and rounding operations are completed. For example, rounding a numeric data
element will not be reported as an execution error. Events that generate execution
errors do not generate command errors, oscilloscope specific errors, or query
errors.
Query Errors
An error number in the range -400 to -499 indicates that the output queue control
of the instrument has detected a problem with the message exchange protocol. An
occurrence of any error in this class should cause the query error bit (bit 2) in the
event status register to be set. An occurrence of an error also means one of the
following is true:
• An attempt is being made to read data from the output queue when no output
is either present or pending.
• Data in the output queue has been lost.
44 Example Programs
VISA COM Examples / 1814
VISA Examples / 1853
VISA.NET Examples / 1903
SICL Examples / 1925
SCPI.NET Examples / 1944
Example programs are ASCII text files that can be cut from the help file and pasted
into your favorite text editor.
1813
44 Example Programs
Option Explicit
'
' Main Program
' -------------------------------------------------------------------
Sub Main()
Exit Sub
VisaComError:
MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End
End Sub
'
' Initialize the oscilloscope to a known state.
' -------------------------------------------------------------------
Exit Sub
VisaComError:
MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End
End Sub
'
Exit Sub
VisaComError:
MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End
End Sub
'
' Analyze the captured waveform.
' -------------------------------------------------------------------
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"
dctUnits.Add 0, "UNKNOWN"
dctUnits.Add 1, "VOLT"
dctUnits.Add 2, "SECOND"
dctUnits.Add 3, "CONSTANT"
dctUnits.Add 4, "AMP"
dctUnits.Add 5, "DECIBEL"
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)
intCoupling = Preamble(10)
dblXDispRange = Preamble(11)
dblXDispOrigin = Preamble(12)
dblYDispRange = Preamble(13)
dblYDispOrigin = Preamble(14)
strDate = Preamble(15)
strTime = Preamble(16)
strFrameModel = Preamble(17)
intAcqMode = Preamble(18)
intCompletion = Preamble(19)
intXUnits = Preamble(20)
intYUnits = Preamble(21)
dblMaxBwLimit = Preamble(22)
dblMinBwLimit = Preamble(23)
", " + _
FormatNumber((lngDataValue * sngYIncrement) + sngYOrigin)
Next lngI
Exit Sub
VisaComError:
MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End
End Sub
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
Exit Sub
VisaComError:
MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _
Err.Source + ", " + _
Err.Description, vbExclamation, "VISA COM Error"
End
End Sub
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
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
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
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
myScope.WriteString query
DoQueryIEEEBlock_I2 = myScope.ReadIEEEBlock(BinaryType_I2)
CheckInstrumentErrors
Exit Function
VisaComError:
MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _
Err.Source + ", " + _
Err.Description, vbExclamation, "VISA COM Error"
End
End Function
End If
Exit Sub
VisaComError:
End Sub
For more information, see the VISA COM Help that comes with Keysight IO
Libraries Suite 15.
/*
* Keysight VISA COM Example in C#
* -------------------------------------------------------------------
* This program illustrates a few commonly used programming
* features of your Keysight Infiniium Series oscilloscope.
* -------------------------------------------------------------------
*/
using System;
using System.IO;
using System.Text;
using System.Collections.Generic;
using Ivi.Visa.Interop;
using System.Runtime.InteropServices;
namespace Infiniium
{
class VisaComInstrumentApp
{
private static VisaComInstrument myScope;
myScope.SetTimeoutSeconds(10);
// Capture data.
Capture();
/*
* Initialize the oscilloscope to a known state.
* --------------------------------------------------------------
*/
private static void Initialize()
{
string strResults;
// Clear status.
myScope.DoCommand("*CLS");
/*
* Capture the waveform.
* --------------------------------------------------------------
*/
private static void Capture()
{
// Set probe attenuation factor.
myScope.DoCommand(":CHANnel1:PROBe 1.0");
Console.WriteLine("Channel 1 probe attenuation factor: {0}",
myScope.DoQueryString(":CHANnel1:PROBe?"));
myScope.DoCommand(":TRIGger:LEVel CHANnel1,-2E-3");
Console.WriteLine("Trigger level, channel 1: {0}",
myScope.DoQueryString(":TRIGger:LEVel? CHANnel1"));
myScope.DoCommand(":TRIGger:EDGE:SLOPe POSitive");
Console.WriteLine("Trigger edge slope: {0}",
myScope.DoQueryString(":TRIGger:EDGE:SLOPe?"));
myScope.DoCommand(":CHANnel1:OFFSet 0.0");
Console.WriteLine("Channel 1 vertical offset: {0}",
myScope.DoQueryString(":CHANnel1:OFFSet?"));
myScope.DoQueryString(":TIMebase:SCALe?"));
myScope.DoCommand(":TIMebase:POSition 0.0");
Console.WriteLine("Timebase position: {0}",
myScope.DoQueryString(":TIMebase:POSition?"));
/*
* Analyze the captured waveform.
* --------------------------------------------------------------
*/
private static void Analyze()
{
byte[] ResultsArray; // Results array.
int nLength; // Number of bytes returned from instrument.
string strPath;
// Make 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);
{
{"0", "RTIMe"},
{"1", "ETIMe"},
{"3", "PDETect"},
};
Dictionary<string, string> dctCoupling =
new Dictionary<string, string>()
{
{"0", "AC"},
{"1", "DC"},
{"2", "DCFIFTY"},
{"3", "LFREJECT"},
};
Dictionary<string, string> dctUnits =
new Dictionary<string, string>()
{
{"0", "UNKNOWN"},
{"1", "VOLT"},
{"2", "SECOND"},
{"3", "CONSTANT"},
{"4", "AMP"},
{"5", "DECIBEL"},
};
string strPreamble;
string[] strsPreamble;
strPreamble = myScope.DoQueryString(":WAVeform:PREamble?");
strsPreamble = strPreamble.Split(',');
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;
return fResult;
}
{
// Check for instrument errors.
string strInstrumentError;
bool bFirstError = true;
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,"));
}
try
{
Marshal.ReleaseComObject(m_IoObject);
}
catch { }
try
{
Marshal.ReleaseComObject(m_ResourceManager);
}
catch { }
}
}
}
For more information, see the VISA COM Help that comes with Keysight IO
Libraries Suite 15.
'
' Keysight VISA COM Example in Visual Basic .NET
' -------------------------------------------------------------------
' This program illustrates a few commonly used programming
' features of your Keysight Infiniium Series oscilloscope.
' -------------------------------------------------------------------
Imports System
Imports System.IO
Imports System.Text
Imports System.Collections.Generic
Imports Ivi.Visa.Interop
Imports System.Runtime.InteropServices
Namespace Infiniium
Class VisaComInstrumentApp
Private Shared myScope As VisaComInstrument
End Sub
myScope.DoQueryString(":CHANnel1:PROBe?"))
myScope.DoCommand(":TRIGger:LEVel CHANnel1,-2E-3")
Console.WriteLine("Trigger level, channel 1: {0}", _
myScope.DoQueryString(":TRIGger:LEVel? CHANnel1"))
myScope.DoCommand(":TRIGger:EDGE:SLOPe POSitive")
Console.WriteLine("Trigger edge slope: {0}", _
myScope.DoQueryString(":TRIGger:EDGE:SLOPe?"))
myScope.DoCommand(":CHANnel1:OFFSet 0.0")
Console.WriteLine("Channel 1 vertical offset: {0}", _
myScope.DoQueryString(":CHANnel1:OFFSet?"))
myScope.DoCommand(":TIMebase:POSition 0.0")
End Sub
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)
nLength = ResultsArray.Length
dctCoupling.Add("3", "LFREJECT")
strPreamble = myScope.DoQueryString(":WAVeform:PREamble?")
strsPreamble = strPreamble.Split(","c)
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)
End Sub
End Sub
End Sub
Public _
Function _
DoQueryIEEEBlock_UI1(ByVal strQuery As String) As Byte()
' Send the query.
m_IoObject.WriteString(strQuery, True)
Public _
Function _
DoQueryIEEEBlock_I2(ByVal strQuery As String) As Short()
' Send the query.
m_IoObject.WriteString(strQuery, True)
Try
Marshal.ReleaseComObject(m_IoObject)
Catch
End Try
Try
Marshal.ReleaseComObject(m_ResourceManager)
Catch
End Try
End Sub
End Class
End Namespace
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
#
# Keysight VISA COM Example in Python using "comtypes"
# *********************************************************
# This program illustrates a few commonly used programming
# features of your Keysight Infiniium Series oscilloscope.
# *********************************************************
# =========================================================
# Initialize:
# =========================================================
def initialize():
# Get and display the device's *IDN? string.
idn_string = do_query_string("*IDN?")
print("Identification string '%s'" % idn_string)
# =========================================================
# Capture:
# =========================================================
def capture():
do_command(":TRIGger:LEVel CHANnel1,336E-3")
qresult = do_query_string(":TRIGger:LEVel? CHANnel1")
print("Trigger level, channel 1: %s" % qresult)
do_command(":TRIGger:EDGE:SLOPe POSitive")
qresult = do_query_string(":TRIGger:EDGE:SLOPe?")
print("Trigger edge slope: %s" % qresult)
do_command(":CHANnel1:OFFSet 0.0")
qresult = do_query_number(":CHANnel1:OFFSet?")
print("Channel 1 offset: %f" % qresult)
do_command(":TIMebase:POSition 0.0")
qresult = do_query_string(":TIMebase:POSition?")
print("Timebase position: %s" % qresult)
# =========================================================
# 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)
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, coupling,
x_display_range, x_display_origin, y_display_range,
y_display_origin, date, time, frame_model, acq_mode,
completion, x_units, y_units, max_bw_limit, min_bw_limit
) = preamble_string.split(",")
# =========================================================
# Send a command and check for errors:
# =========================================================
def do_command(command):
# =========================================================
# Send a command and check for errors:
# =========================================================
def do_command_ieee_block(command, data):
myScope.WriteIEEEBlock(command, VARIANT(array.array('B', 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_UI1(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 string:
# =========================================================
def do_query_ieee_block_I2(query):
myScope.WriteString("%s" % query, True)
result = myScope.ReadIEEEBlock(VisaComLib.BinaryType_I2, \
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
# =========================================================
# Check for instrument errors:
# =========================================================
def check_instrument_errors(command):
while True:
myScope.WriteString(":SYSTem:ERRor? STRing", True)
error_string = myScope.ReadString()
if error_string: # If there is an error string value.
# =========================================================
# Main program:
# =========================================================
rm = CreateObject("VISA.GlobalRM", \
interface=VisaComLib.IResourceManager)
myScope = CreateObject("VISA.BasicFormattedIO", \
interface=VisaComLib.IFormattedIO488)
myScope.IO = \
rm.Open("TCPIP0::141.121.231.13::hislip0::INSTR")
myScope.IO.Close()
print("End of program")
sys.exit()
VISA Examples
• "VISA Example in C" on page 1853
• "VISA Example in Visual Basic" on page 1862
• "VISA Example in C#" on page 1872
• "VISA Example in Visual Basic .NET" on page 1884
• "VISA Example in Python 3" on page 1896
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
* ------------------------------------------------------------------
/* Function prototypes */
void initialize(void); /* Initialize to known state. */
void capture(void); /* Capture the waveform. */
void analyze(void); /* Analyze the captured waveform. */
/* 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(). */
signed short ieeeblock_data_words[IEEEBLOCK_SPACE]; /* Result from
do_query_ieeeblock_words(). */
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();
/* Capture data. */
capture();
do_command(":TRIGger:LEVel CHANnel1,-2E-3");
do_query_string(":TRIGger:LEVel? CHANnel1");
do_command(":TRIGger:EDGE:SLOPe POSitive");
do_query_string(":TRIGger:EDGE:SLOPe?");
printf("Trigger edge slope: %s\n", str_result);
do_command(":CHANnel1:OFFSet 0.0");
do_query_string(":CHANnel1:OFFSet?");
printf("Channel 1 offset: %s\n", str_result);
do_command(":TIMebase:POSition 0.0");
do_query_string(":TIMebase:POSition?");
printf("Timebase position: %s\n", str_result);
FILE *fp;
int num_values; /* Number of bytes returned from instrument. */
int i;
/* Make 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);
do_query_number(":WAVeform:XORigin?");
x_origin = num_result;
printf("Waveform X origin: %e\n", x_origin);
do_query_number(":WAVeform:YINCrement?");
y_increment = num_result;
printf("Waveform Y increment: %e\n", y_increment);
do_query_number(":WAVeform:YORigin?");
y_origin = num_result;
printf("Waveform Y origin: %e\n", y_origin);
strcpy(message, command);
strcat(message, "\n");
err = viPrintf(vi, message);
if (err != VI_SUCCESS) error_handler();
check_instrument_errors();
}
strcpy(message, command);
strcat(message, " #8%08d");
err = viPrintf(vi, message, num_bytes);
if (err != VI_SUCCESS) error_handler();
check_instrument_errors();
return(data_length);
}
strcpy(message, query);
strcat(message, "\n");
check_instrument_errors();
}
* --------------------------------------------------------------- */
void do_query_number(query)
char *query;
{
char message[80];
strcpy(message, query);
strcat(message, "\n");
check_instrument_errors();
}
strcpy(message, query);
strcat(message, "\n");
check_instrument_errors();
}
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: ");
check_instrument_errors();
return(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, "%#hb\n", &data_length, ieeeblock_data_words);
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);
}
if (strcmp(str_out, "") != 0)
{
printf("INST Error%s\n", str_out);
err = viFlush(vi, VI_READ_BUF);
Option Explicit
' Declare fixed length string variable to hold string value returned
' by viVScanf/viVQueryf.
Public strQueryResult As String * 200
'
' Main Program
' -------------------------------------------------------------------
Sub Main()
End Sub
'
' Initialize the oscilloscope to a known state.
' -------------------------------------------------------------------
End Sub
'
' Capture the waveform.
' -------------------------------------------------------------------
' Set trigger mode (EDGE, PULSe, PATTern, etc., and input source.
DoCommand ":TRIGger:MODE EDGE"
Debug.Print "Trigger mode: " + _
DoQueryString(":TRIGger:MODE?")
End Sub
'
' Analyze the captured waveform.
' -------------------------------------------------------------------
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"
dblXIncrement = DoQueryNumber(":WAVeform:XINCrement?")
Debug.Print "Waveform X increment: " + _
Format(dblXIncrement, "Scientific")
dblXOrigin = DoQueryNumber(":WAVeform:XORigin?")
Debug.Print "Waveform X origin: " + _
Format(dblXOrigin, "Scientific")
dblYIncrement = DoQueryNumber(":WAVeform:YINCrement?")
Debug.Print "Waveform Y increment: " + _
Format(dblYIncrement, "Scientific")
dblYOrigin = DoQueryNumber(":WAVeform:YORigin?")
Debug.Print "Waveform Y origin: " + _
FormatNumber(dblYOrigin, 0)
Next lngI
End Sub
CheckInstrumentErrors
End Sub
retCount = lngBlockSize
DoCommandIEEEBlock = retCount
CheckInstrumentErrors
End Function
DoQueryString = strResult
CheckInstrumentErrors
End Function
DoQueryNumber = dblResult
CheckInstrumentErrors
End Function
CheckInstrumentErrors
End Function
CheckInstrumentErrors
End Function
CheckInstrumentErrors
End Function
Wend
End If
Exit Sub
ErrorHandler:
End Sub
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 15.
/*
* Keysight VISA Example in C#
* -------------------------------------------------------------------
* This program illustrates a few commonly used programming
* features of your Keysight Infiniium Series oscilloscope.
* -------------------------------------------------------------------
*/
using System;
using System.IO;
using System.Text;
using System.Collections.Generic;
namespace Infiniium
{
class VisaInstrumentApp
{
private static VisaInstrument myScope;
myScope.SetTimeoutSeconds(10);
// Capture data.
Capture();
}
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;
// Clear status.
myScope.DoCommand("*CLS");
/*
* Capture the waveform.
* --------------------------------------------------------------
*/
private static void Capture()
{
// Set probe attenuation factor.
myScope.DoCommand(":CHANnel1:PROBe 1.0");
Console.WriteLine("Channel 1 probe attenuation factor: {0}",
myScope.DoQueryString(":CHANnel1:PROBe?"));
myScope.DoCommand(":TRIGger:LEVel CHANnel1,-2E-3");
Console.WriteLine("Trigger level, channel 1: {0}",
myScope.DoQueryString(":TRIGger:LEVel? CHANnel1"));
myScope.DoCommand(":TRIGger:EDGE:SLOPe POSitive");
Console.WriteLine("Trigger edge slope: {0}",
myScope.DoQueryString(":TRIGger:EDGE:SLOPe?"));
myScope.DoCommand(":CHANnel1:OFFSet 0.0");
Console.WriteLine("Channel 1 vertical offset: {0}",
myScope.DoQueryString(":CHANnel1:OFFSet?"));
myScope.DoCommand(":TIMebase:POSition 0.0");
Console.WriteLine("Timebase position: {0}",
myScope.DoQueryString(":TIMebase:POSition?"));
/*
* Analyze the captured waveform.
* --------------------------------------------------------------
*/
private static void Analyze()
{
byte[] ResultsArray; // Results array.
short[] WordResultsArray; // Results array for WORD data.
int nLength; // Number of bytes returned from instrument.
string strPath;
// Make 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);
{"1", "ETIMe"},
{"3", "PDETect"},
};
Dictionary<string, string> dctCoupling =
new Dictionary<string, string>()
{
{"0", "AC"},
{"1", "DC"},
{"2", "DCFIFTY"},
{"3", "LFREJECT"},
};
Dictionary<string, string> dctUnits =
new Dictionary<string, string>()
{
{"0", "UNKNOWN"},
{"1", "VOLT"},
{"2", "SECOND"},
{"3", "CONSTANT"},
{"4", "AMP"},
{"5", "DECIBEL"},
};
string strPreamble;
string[] strsPreamble;
strPreamble =
myScope.DoQueryString(":WAVeform:PREamble?").ToString();
strsPreamble = strPreamble.Split(',');
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;
nLength = DataArray.Length;
strCommandAndLength = String.Format("{0} #8%08d",
strCommand);
return nBytesWritten;
}
VisaSendCommandOrQuery(strQuery);
return strResults;
}
return fResults;
}
return fResultsArray;
}
return length;
}
return length;
}
{
// Check for instrument errors.
StringBuilder strInstrumentError = new StringBuilder(1000);
bool bFirstError = true;
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,"));
}
strError);
throw new ApplicationException(strError.ToString());
}
}
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
"Infiniium.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 15.
'
' Keysight VISA Example in Visual Basic .NET
' -------------------------------------------------------------------
' This program illustrates a few commonly-used programming
' features of your Keysight Infiniium Series oscilloscope.
' -------------------------------------------------------------------
Imports System
Imports System.IO
Imports System.Text
Namespace Infiniium
Class VisaInstrumentApp
Private Shared myScope As VisaInstrument
'
' Initialize the oscilloscope to a known state.
' --------------------------------------------------------------
End Sub
'
' Capture the waveform.
' --------------------------------------------------------------
myScope.DoCommand(":TRIGger:LEVel CHANnel1,-2E-3")
Console.WriteLine("Trigger edge level: {0}", _
myScope.DoQueryString(":TRIGger:LEVel? CHANnel1"))
myScope.DoCommand(":TRIGger:EDGE:SLOPe POSitive")
Console.WriteLine("Trigger edge slope: {0}", _
myScope.DoQueryString(":TRIGger:EDGE:SLOPe?"))
myScope.DoCommand(":CHANnel1:OFFSet 0.0")
Console.WriteLine("Channel 1 vertical offset: {0}", _
myScope.DoQueryString(":CHANnel1:OFFSet?"))
myScope.DoCommand(":TIMebase:POSition 0.0")
Console.WriteLine("Timebase position: {0}", _
myScope.DoQueryString(":TIMebase:POSition?"))
End Sub
'
' Analyze the captured waveform.
' --------------------------------------------------------------
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)
dctAcqMode.Add("0", "RTIMe")
dctAcqMode.Add("1", "ETIMe")
dctAcqMode.Add("3", "PDETect")
strPreamble = _
myScope.DoQueryString(":WAVeform:PREamble?").ToString()
strsPreamble = strPreamble.Split(","c)
dctUnits(strsPreamble(21)))
Console.WriteLine("Max BW limit: {0}", strsPreamble(22))
Console.WriteLine("Min BW limit: {0}", strsPreamble(23))
Next
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
End Sub
nLength = DataArray.Length
strCommandAndLength = [String].Format("{0} #8{1:D8}", _
strCommand, nLength)
Return nBytesWritten
End Function
Return strResults
End Function
Return fResults
End Function
CheckVisaStatus(nViStatus)
Return fResultsArray
End Function
' Write and read buffers need to be flushed after IEEE block?
nViStatus = visa32.viFlush(m_nSession, visa32.VI_WRITE_BUF)
CheckVisaStatus(nViStatus)
Return length
End Function
' Write and read buffers need to be flushed after IEEE block?
nViStatus = visa32.viFlush(m_nSession, visa32.VI_WRITE_BUF)
CheckVisaStatus(nViStatus)
Return length
End Function
visa32.viClose(m_nResourceManager)
End If
End Sub
End Class
End Namespace
#!python3
# *********************************************************
# This program illustrates a few commonly-used programming
# features of your Keysight Infiniium Series oscilloscope.
# *********************************************************
# Import modules.
# ---------------------------------------------------------
import pyvisa
import string
import struct
import sys
# =========================================================
# Initialize:
# =========================================================
def initialize():
# Clear status.
do_command("*CLS")
# =========================================================
# Capture:
# =========================================================
def capture():
do_command(":TRIGger:LEVel CHANnel1,330E-3")
qresult = do_query_string(":TRIGger:LEVel? CHANnel1")
print("Trigger level, channel 1: %s" % qresult)
do_command(":TRIGger:EDGE:SLOPe POSitive")
qresult = do_query_string(":TRIGger:EDGE:SLOPe?")
print("Trigger edge slope: %s" % qresult)
f = open("setup.set", "wb")
f.write(setup_bytes)
f.close()
print("Setup bytes saved: %d" % len(setup_bytes))
do_command(":CHANnel1:OFFSet 0.0")
qresult = do_query_number(":CHANnel1:OFFSet?")
print("Channel 1 offset: %f" % qresult)
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)
# =========================================================
# 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)
preamble_string = do_query_string(":WAVeform:PREamble?")
(
wav_form, acq_type, wfmpts, avgcnt, x_increment, x_origin,
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)
Infiniium.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)
Infiniium.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:
print("Qys = '%s'" % query)
result = Infiniium.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 = Infiniium.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("Qyb = '%s'" % query)
result = Infiniium.query_binary_values("%s" % query, datatype='s', cont
ainer=bytes)
check_instrument_errors(query, exit_on_error=False)
return result
# =========================================================
# Check for instrument errors:
# =========================================================
def check_instrument_errors(command, exit_on_error=True):
while True:
error_string = Infiniium.query(":SYSTem:ERRor? STRing")
if error_string: # If there is an error string value.
# =========================================================
# Main program:
# =========================================================
rm = pyvisa.ResourceManager("C:\\Windows\\System32\\visa64.dll")
Infiniium = rm.open_resource("TCPIP0::141.121.231.13::hislip0::INSTR")
Infiniium.timeout = 20000
Infiniium.clear()
Infiniium.close()
print("End of program.")
sys.exit()
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 1903
• "VISA.NET Example in Visual Basic .NET" on page 1910
• "VISA.NET Example in Python 3" on page 1917
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 Infiniium Series oscilloscope.
* -------------------------------------------------------------------
*/
using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
using Ivi.Visa;
using Ivi.Visa.FormattedIO;
namespace Example
{
class Program
{
session.TimeoutMilliseconds = 20000;
// Clear status.
myScope.WriteLine("*CLS");
// Capture data.
// ==============================================================
// Set probe attenuation factor.
myScope.WriteLine(":CHANnel1:PROBe 1.0");
myScope.WriteLine(":CHANnel1:PROBe?");
strResults = myScope.ReadLine();
Console.WriteLine("Channel 1 probe attenuation factor: {0}",
strResults);
// 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);
myScope.WriteLine(":TRIGger:LEVel CHANnel1,-2E-3");
myScope.WriteLine(":TRIGger:LEVel? CHANnel1");
strResults = myScope.ReadLine();
Console.WriteLine("Trigger level, channel 1: {0}", strResults);
myScope.WriteLine(":TRIGger:EDGE:SLOPe POSitive");
myScope.WriteLine(":TRIGger:EDGE:SLOPe?");
strResults = myScope.ReadLine();
Console.WriteLine("Trigger edge slope: {0}", strResults);
myScope.WriteLine(":CHANnel1:OFFSet 0.0");
myScope.WriteLine(":CHANnel1:OFFSet?");
strResults = myScope.ReadLine();
Console.WriteLine("Channel 1 vertical offset: {0}", strResults);
myScope.WriteLine(":TIMebase:POSition 0.0");
myScope.WriteLine(":TIMebase:POSition?");
strResults = myScope.ReadLine();
Console.WriteLine("Timebase position: {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);
{"4", "LONGLONG"},
};
Dictionary<string, string> dctAcqType =
new Dictionary<string, string>()
{
{"1", "RAW"},
{"2", "AVERage"},
{"3", "VHIStogram"},
{"4", "HHIStogram"},
{"6", "INTerpolate"},
{"10", "PDETect"},
};
Dictionary<string, string> dctAcqMode =
new Dictionary<string, string>()
{
{"0", "RTIMe"},
{"1", "ETIMe"},
{"3", "PDETect"},
};
Dictionary<string, string> dctCoupling =
new Dictionary<string, string>()
{
{"0", "AC"},
{"1", "DC"},
{"2", "DCFIFTY"},
{"3", "LFREJECT"},
};
Dictionary<string, string> dctUnits =
new Dictionary<string, string>()
{
{"0", "UNKNOWN"},
{"1", "VOLT"},
{"2", "SECOND"},
{"3", "CONSTANT"},
{"4", "AMP"},
{"5", "DECIBEL"},
};
string strPreamble;
string[] strsPreamble;
myScope.WriteLine(":WAVeform:PREamble?");
strPreamble = myScope.ReadLine();
strsPreamble = strPreamble.Split(',');
double fXorigin;
myScope.WriteLine(":WAVeform:XORigin?");
fXorigin = myScope.ReadLineDouble();
double fYincrement;
myScope.WriteLine(":WAVeform:YINCrement?");
fYincrement = myScope.ReadLineDouble();
double fYorigin;
myScope.WriteLine(":WAVeform:YORigin?");
fYorigin = myScope.ReadLineDouble();
}
}
}
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 Infiniium Series oscilloscope.
' -------------------------------------------------------------------
Imports System
Imports System.IO
Imports System.Collections.Generic
Imports System.Text
Imports Ivi.Visa
Imports Ivi.Visa.FormattedIO
Namespace Example
Class Program
' 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)
' 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
' ==============================================================
Dim strResults As String
Dim fStream As FileStream
' 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)
myScope.WriteLine(":TRIGger:LEVel CHANnel1,-2E-3")
myScope.WriteLine(":TRIGger:LEVel? CHANnel1")
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)
myScope.WriteLine(":SYSTem:SETup?")
ResultsArray = myScope.ReadLineBinaryBlockOfByte()
nLength = ResultsArray.Length
myScope.WriteLine(":CHANnel1:OFFSet 0.0")
myScope.WriteLine(":CHANnel1:OFFSet?")
strResults = myScope.ReadLine()
Console.WriteLine("Channel 1 vertical offset: {0}", strResults)
myScope.WriteLine(":TIMebase:POSition 0.0")
myScope.WriteLine(":TIMebase:POSition?")
strResults = myScope.ReadLine()
Console.WriteLine("Timebase position: {0}", strResults)
myScope.WriteLine(":MEASure:VAMPlitude")
myScope.WriteLine(":MEASure:VAMPlitude?")
fResult = myScope.ReadLineDouble()
Console.WriteLine("Vertical amplitude: {0:F2} V", fResult)
strResults = myScope.ReadLine()
Console.WriteLine("Waveform source: {0}", strResults)
myScope.WriteLine(":WAVeform:PREamble?")
strPreamble = myScope.ReadLine()
strsPreamble = strPreamble.Split(","c)
If File.Exists(strPath) Then
File.Delete(strPath)
End If
End Sub
End Class
End Namespace
#!python3
#
# Keysight VISA.NET Example in Python.NET
# *********************************************************
# This program illustrates a few commonly used programming
# features of your Keysight InfiniiVision oscilloscope.
# Global variables.
# ---------------------------------------------------------
visa_addr = "TCPIP0::lab-myst-lp2-41.cos.is.keysight.com::inst0::INSTR"
io_timeout_ms = 60000
input_channel = "CHANnel2"
waveform_format = "WORD" # "BYTE" also supported
# =========================================================
# Check for instrument errors:
# =========================================================
def check_instrument_errors(when):
errors_found = False
while True:
# Keep reading errors until "No error".
myScope.WriteLine(":SYSTem:ERRor? STRing")
error_string = myScope.ReadLine().strip()
if error_string: # If there is an error string value.
if errors_found:
print(f"Exited because error(s) found when: '{when}'")
sys.exit(1)
# =========================================================
# Initialize:
# =========================================================
def initialize():
# =========================================================
# Capture:
# =========================================================
def capture():
myScope.WriteLine(f":TRIGger:LEVel {input_channel},1.75")
myScope.WriteLine(f":TRIGger:LEVel? {input_channel}")
qresult = myScope.ReadLine().strip()
print(f"Trigger level, {input_channel}: {qresult}")
myScope.WriteLine(":TRIGger:EDGE:SLOPe POSitive")
myScope.WriteLine(":TRIGger:EDGE:SLOPe?")
qresult = myScope.ReadLine().strip()
print(f"Trigger edge slope: {qresult}")
myScope.WriteLine(f":{input_channel}:OFFSet 0.0")
myScope.WriteLine(f":{input_channel}:OFFSet?")
qresult = myScope.ReadLine().strip()
print(f"{input_channel} offset: {qresult}")
myScope.WriteLine(":TIMebase:POSition 0.0")
myScope.WriteLine(":TIMebase:POSition?")
qresult = myScope.ReadLine().strip()
print(f"Timebase position: {qresult}")
# =========================================================
# Analyze:
# =========================================================
def analyze():
# Make measurements.
# --------------------------------------------------------
myScope.WriteLine(f":MEASure:SOURce {input_channel}")
myScope.WriteLine(":MEASure:SOURce?")
qresult = myScope.ReadLine().strip()
print(f"Measure source: {qresult}")
myScope.WriteLine(":MEASure:FREQuency")
myScope.WriteLine(":MEASure:FREQuency?")
qresult = myScope.ReadLineDouble()
print(f"Measured frequency on {input_channel}: {qresult}")
myScope.WriteLine(":MEASure:VAMPlitude")
myScope.WriteLine(":MEASure:VAMPlitude?")
qresult = myScope.ReadLineDouble()
print(f"Measured vertical amplitude on {input_channel}: {qresult}")
if waveform_format == "WORD":
# Use the LSB first byte ordering.
myScope.WriteLine(":WAVeform:BYTeorder LSBFirst")
myScope.WriteLine(":WAVeform:BYTeorder?")
qresult = myScope.ReadLine().strip()
print(f"Waveform byte order: {qresult}")
myScope.WriteLine(":WAVeform:PREamble?")
(
wav_form, acq_type, wfmpts, avgcnt, x_increment, x_origin,
x_reference, y_increment, y_origin, y_reference, coupling,
x_display_range, x_display_origin, y_display_range,
y_display_origin, date, time, frame_model, acq_mode,
completion, x_units, y_units, max_bw_limit, min_bw_limit
) = myScope.ReadLine().strip().split(",")
# =========================================================
# Main program:
# =========================================================
session = GlobalResourceManager.Open(visa_addr)
session.TimeoutMilliseconds = io_timeout_ms
myScope = MessageBasedFormattedIO(session)
SICL Examples
• "SICL Example in C" on page 1925
• "SICL Example in Visual Basic" on page 1934
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, under Projects and Solutions, select VC++ Directories.
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 Infiniium Series oscilloscope.
*/
/* Function prototypes */
void initialize(void); /* Initialize to known state. */
void capture(void); /* Capture the waveform. */
void analyze(void); /* Analyze the captured waveform. */
/* 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(). */
signed short ieeeblock_data_words[IEEEBLOCK_SPACE]; /* Result from
do_query_ieeeblock_words(). */
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);
if (id == 0)
{
printf ("Oscilloscope iopen failed!\n");
}
else
{
printf ("Oscilloscope session opened!\n");
}
/* Capture data. */
capture();
do_command(":TRIGger:MODE EDGE");
do_query_string(":TRIGger:MODE?");
printf("Trigger mode: %s\n", str_result);
do_command(":TRIGger:LEVel CHANnel1,-2E-3");
do_query_string(":TRIGger:LEVel? CHANnel1");
printf("Trigger level, channel 1: %s\n", str_result);
do_command(":TRIGger:EDGE:SLOPe POSitive");
do_query_string(":TRIGger:EDGE:SLOPe?");
printf("Trigger edge slope: %s\n", str_result);
do_command(":CHANnel1:OFFSet 0.0");
do_query_string(":CHANnel1:OFFSet?");
printf("Channel 1 offset: %s\n", str_result);
do_command(":TIMebase:POSition 0.0");
do_query_string(":TIMebase:POSition?");
printf("Timebase position: %s\n", str_result);
FILE *fp;
int num_values; /* Number of bytes returned from instrument. */
int i;
/* Make 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);
do_query_number(":WAVeform:XORigin?");
x_origin = num_result;
printf("Waveform X origin: %e\n", x_origin);
do_query_number(":WAVeform:YINCrement?");
y_increment = num_result;
printf("Waveform Y increment: %e\n", y_increment);
do_query_number(":WAVeform:YORigin?");
y_origin = num_result;
printf("Waveform Y origin: %e\n", y_origin);
strcpy(message, command);
strcat(message, "\n");
iprintf(id, message);
check_instrument_errors();
}
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);
}
strcpy(message, query);
strcat(message, "\n");
iprintf(id, message);
check_instrument_errors();
}
strcpy(message, query);
strcat(message, "\n");
iprintf(id, message);
check_instrument_errors();
}
strcpy(message, query);
strcat(message, "\n");
iprintf(id, message);
check_instrument_errors();
}
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);
}
strcpy(message, query);
strcat(message, "\n");
iprintf(id, message);
data_length = IEEEBLOCK_SPACE;
iscanf(id, "%#wb", &data_length, ieeeblock_data_words);
if (data_length == IEEEBLOCK_SPACE )
{
printf("IEEE block buffer full: ");
printf("May not have received all data.\n");
}
check_instrument_errors();
return(data_length);
}
if (strcmp(str_out, "") != 0)
{
printf("INST Error%s\n", str_out);
iflush(id, I_BUF_READ | I_BUF_WRITE);
}
}
Option Explicit
' Declare fixed length string variable to hold string value returned
' by ivscanf.
Public strQueryResult As String * 200
'
' Main Program
' -------------------------------------------------------------------
Sub Main()
Exit Sub
ErrorHandler:
End Sub
'
' Initialize the oscilloscope to a known state.
' -------------------------------------------------------------------
Exit Sub
ErrorHandler:
End Sub
'
' Capture the waveform.
' -------------------------------------------------------------------
' -----------------------------------------------------------------
Exit Sub
ErrorHandler:
End Sub
'
' Analyze the captured waveform.
' -------------------------------------------------------------------
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"
dblXIncrement = DoQueryNumber(":WAVeform:XINCrement?")
Debug.Print "Waveform X increment: " + _
Format(dblXIncrement, "Scientific")
dblXOrigin = DoQueryNumber(":WAVeform:XORigin?")
Debug.Print "Waveform X origin: " + _
Format(dblXOrigin, "Scientific")
dblYIncrement = DoQueryNumber(":WAVeform:YINCrement?")
Debug.Print "Waveform Y increment: " + _
Format(dblYIncrement, "Scientific")
dblYOrigin = DoQueryNumber(":WAVeform:YORigin?")
Debug.Print "Waveform Y origin: " + _
FormatNumber(dblYOrigin, 0)
Print #hFile, _
FormatNumber(dblXOrigin + (lngI * dblXIncrement), 9) + _
", " + _
FormatNumber((lngDataValue * dblYIncrement) + dblYOrigin)
Next lngI
Exit Sub
ErrorHandler:
End Sub
CheckInstrumentErrors
Exit Sub
ErrorHandler:
End Sub
CheckInstrumentErrors
Exit Function
ErrorHandler:
End Function
CheckInstrumentErrors
Exit Function
ErrorHandler:
End Function
CheckInstrumentErrors
Exit Function
ErrorHandler:
End Function
CheckInstrumentErrors
Exit Function
ErrorHandler:
End Function
CheckInstrumentErrors
Exit Function
ErrorHandler:
End Function
End If
Exit Sub
ErrorHandler:
End Sub
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.
45 Reference
HDF5 Example / 1946
CSV and TSV Header Format / 1947
BIN Header Format / 1949
1945
45 Reference
HDF5 Example
Here is an example of a captured HDF5 file.
Channel 1(6576)
Group Size = 1
Number of Attributes = 17
Waveform Type = 1
Start = 1
NumPoints = 1000000
NumSegments = 0
Count = 1
XDispRange = 1.0E-6
XDispOrigin = -5.0E-7
XInc = 5.0E-11
XOrg = -2.4999999E-5
XUnits = Second
YDispRange = 8.0
YDispOrigin = 0.0
YInc = 1.327218738E-4
YOrg = 0.11645629362732
YUnits = Volt
MinBandwidth = 0.0
MaxBandwidth = 6.0E9
YDispRange The number of Y display range columns (n) depends on the number of sources
being store. The Y display range is the Y-axis duration of the waveform which is
displayed. For voltage waveforms, it is the amount of voltage across the display. If
the value is zero then no data has been acquired.
YDispOrg The number of Y display origin columns (n) depends on the number of sources
being store. The Y-display origin is the Y-axis value at the center of the display. For
voltage waveforms, it is the voltage at the center of the display. If the value is zero
then no data has been acquired.
YInc The number of Y increment columns (n) depends on the number of sources being
store. The Y increment is the duration between Y-axis levels. For voltage
waveforms, it is the voltage corresponding to one level. If the value is zero then no
data has been acquired.
YOrg The number of Y origin columns (n) depends on the number of sources being store.
The Y origin is the Y-axis value at level zero. For voltage waveforms, it is the
voltage at level zero. If the value is zero then no data has been acquired.
YUnits The number of Y units columns (n) depends on the number of sources being
stored. The Y units is the unit of measure of each voltage value of the acquired
waveform.
Frame A string containing the model number and serial number of the scope in the
format of MODEL#:SERIAL#.
Date The date when the waveform was acquired. The default value is 27 DEC 1996.
Time The time when the waveform was acquired. The default value is 01:00:00:00.
Max bandwidth An estimation of the maximum bandwidth of the waveform. The default value is 0.
Min bandwidth An estimation of the minimum bandwidth of the waveform. The default value is 0.
Time Tags The Time Tags only occur when the data was acquired using the Segmented
acquisition mode with time tags enabled and the file format is YValues. The
number of columns depends on the number of Segments being saved.
Data The data values follow this header entry.
File Header
There is only one file header in a binary file. The file header consists of the
following information.
Cookie Two byte characters, AG, which indicates that the file is in the Keysight Binary
Data file format.
Version Two bytes which represent the file version.
File Size An integer (4 byte signed) which is the number of bytes that are in the file.
Number of An integer (4 byte signed) which is the number of waveforms that are stored in the
Waveforms file.
Waveform Header
The waveform header contains information about the type of waveform data that is
stored following the waveform data header which is located after each waveform
header. Because it is possible to store more than one waveform in the file, there
will be a waveform header and a waveform data header for each waveform.
Header Size An integer (4 byte signed) which is the number of bytes in the header.
Waveform Type An integer (4 byte signed) which is the type of waveform that is stored in the file.
The follow shows what each value means.
0 = Unknown
1 = Normal
2 = Peak Detect
3 = Average
4 = Horizontal Histogram
5 = Vertical Histogram
6 = Logic
Number of An integer (4 byte signed) which is the number of waveform buffers required to
Waveform Buffers read the data. This value is one except for peak detect data and digital data.
Points An integer (4 byte signed) that is the number of waveform points in the data.
Count An integer (4 byte signed) which is the number of hits at each time bucket in the
waveform record when the waveform was created using an acquisition mode like
averaging. For example, when averaging, a count of four would mean every
waveform data point in the waveform record has been averaged at least four
times. The default value is 0.
X Display Range A float (4 bytes) which is the X-axis duration of the waveform that is displayed. For
time domain waveforms, it is the duration of time across the display. If the value is
zero then no data has been acquired.
X Display Origin A double (8 bytes) which is the X-axis value at the left edge of the display. For time
domain waveforms, it is the time at the start of the display. This value is treated as
a double precision 64-bit floating point number. If the value is zero then no data
has been acquired.
X Increment A double (8 bytes) which is the duration between data points on the X axis. For
time domain waveforms, this is the time between points. If the value is zero then
no data has been acquired.
X Origin A double (8 bytes) which is the X-axis value of the first data point in the data
record. For time domain waveforms, it is the time of the first point. This value is
treated as a double precision 64-bit floating point number. If the value is zero then
no data has been acquired.
X Units An integer (4 byte signed) which is the number of X units columns (n) depends on
the number of sources being stored. The X units is the unit of measure for each
time value of the acquired data. X unit definitions are:
0 = Unknown
1 = Volt
2 = Second
3 = Constant
4 = Amp
5 = Decibel
6 = Hz
Y Units An integer (4 byte signed) which is the number of Y units columns (n) depends on
the number of sources being stored. The Y units is the unit of measure of each
voltage value of the acquired waveform. Y units definitions are:
0 = Unknown
1 = Volt
2 = Second
3 = Constant
4 = Amp
5 = Decibel
6 = Hz
Date A 16 character array which is the date when the waveform was acquired. The
default value is 27 DEC 1996.
Time A 16 character array which is the time when the waveform was acquired. The
default value is 01:00:00:00.
Frame A 24 character array which is the model number and serial number of the scope in
the format of MODEL#:SERIAL#.
Waveform Label A 16 character array which is the waveform label.
Time Tags A double (8 bytes) which is the time tag value of the segment being saved.
Segment Index An unsigned integer (4 byte signed) which is the segment index of the data that
follows the waveform data header.
/* Defines */
#define MAX_LENGTH 10000000
#define INTERFACE "lan[130.29.70.247]:inst0" /* Change the IP address
* to the one found in
* the Remote Setup
* dialog box.
*/
#define TRUE 1
#define FALSE 0
#define IO_TIMEOUT 20000
/* Type definitions */
typedef unsigned _int64 UINT64; /* This defines a 64-bit unsigned
* integer for Microsoft platforms.
*/
typedef struct
{
char Cookie[2];
char Version[2];
int FileSize;
int NumberOfWaveforms;
} FileHeader;
#define DATE_TIME_STRING_LENGTH 16
#define FRAME_STRING_LENGTH 24
#define SIGNAL_STRING_LENGTH 16
typedef struct
{
int HeaderSize;
int WaveformType;
int NWaveformBuffers;
int Points;
int Count;
float XDisplayRange;
double XDisplayOrigin;
double XIncrement;
double XOrigin;
int XUnits;
int YUnits;
char Date[DATE_TIME_STRING_LENGTH];
char Time[DATE_TIME_STRING_LENGTH];
char Frame[FRAME_STRING_LENGTH];
char WaveformLabel[SIGNAL_STRING_LENGTH];
double TimeTag;
unsigned int SegmentIndex;
} WaveformHeader;
typedef struct
{
int HeaderSize;
short BufferType;
short BytesPerPoint;
int BufferSize;
} WaveformDataHeader;
typedef enum
{
PB_UNKNOWN,
PB_NORMAL,
PB_PEAK_DETECT,
PB_AVERAGE,
PB_HORZ_HISTOGRAM,
PB_VERT_HISTOGRAM,
PB_LOGIC
} WaveformType;
typedef enum
{
PB_DATA_UNKNOWN,
PB_DATA_NORMAL,
PB_DATA_MAX,
PB_DATA_MIN,
PB_DATA_TIME,
PB_DATA_COUNTS,
PB_DATA_LOGIC
} DataType;
/* Prototypes */
void GetTimeConversionFactors( WaveformHeader waveformHeader,
/* Globals */
double xOrg=0L, xInc=0L; /* Values necessary to create time data */
union DATATYPE WaveFormData; /* Used to input and output data */
FILE *InputFile = NULL;
FILE *OutputFile;
errno_t err;
char *buffer;
float Volts[MAX_LENGTH];
float MaxVolts[MAX_LENGTH];
float MinVolts[MAX_LENGTH];
UINT64 HistogramData[MAX_LENGTH];
if( InputFile )
{
OutputFile = fopen( argv[2], "wb" );
if( OutputFile )
{
/* Read the File Header */
fread( &fileHeader, 1, sizeof( FileHeader ), InputFile );
switch( waveformHeader.WaveformType )
{
case PB_NORMAL:
case PB_AVERAGE:
OutputNormalWaveform( waveformHeader );
break;
case PB_PEAK_DETECT:
OutputPeakDetectWaveform( waveformHeader );
break;
case PB_HORZ_HISTOGRAM:
case PB_VERT_HISTOGRAM:
OutputHistogramWaveform( waveformHeader );
break;
default:
case PB_UNKNOWN:
printf( "Unknown waveform type: %d\n" );
break;
}
}
}
else
{
printf( "Unable to open output file %s\n", OutputFile);
}
}
else
{
printf( "Unable to open input file %s\n", argv[1] );
}
fclose( InputFile );
fclose( OutputFile );
}
else
{
printf( "Usage: bintoascii inputfile outputfile\n" );
}
/*********************************************************************
* Function name: GetTimeConversionFactors
* Parameters: double xInc which is the time between consecutive
* sample points.
* double xOrg which is the time value of the first
* data point.
* Return value: none
* Description: This routine transfers the waveform conversion
* factors for the time values.
*********************************************************************/
void GetTimeConversionFactors( WaveformHeader waveformHeader,
double *xInc, double *xOrg )
{
*xInc = waveformHeader.XIncrement;
*xOrg = waveformHeader.XOrigin;
/*******************************************************************
* Function name: OutputNormalWaveform
* Parameters: WaveformHeader *waveformHeader which is a structure
* that contains the waveform header information.
* Return value: none
* Description: This routine stores the time and voltage information
* about the waveform as time and voltage separated by
* commas to a file.
********************************************************************/
/*********************************************************************
* Function name: OutputHistogramWaveform
* Parameters: WaveformHeader *waveformHeader which is a structure
* that contains the waveform header information.
* Return value: none
* Description: This routine stores the time and hits information
* as time and hits separated by commas to a file.
**********************************************************************/
void OutputHistogramWaveform( WaveformHeader waveformHeader )
{
WaveformDataHeader waveformDataHeader;
int done = FALSE;
unsigned long i;
unsigned long j = 0;
size_t BytesRead = 0L;
fread( &waveformDataHeader, 1,
sizeof( WaveformDataHeader ), InputFile );
GetTimeConversionFactors( waveformHeader, &xInc, &xOrg );
while( !done )
{
BytesRead = fread( (char *) HistogramData, 1, MAX_LENGTH,
InputFile );
/*********************************************************************
* Function name: OutputData
* Parameters: FILE *PeakFile which is the pointer to the file
* to be written.
* WaveformDataHeader waveformDataHeader
* which is a structure that contains the waveform
* header information.
* Return value: none
* Description: This routine stores the time, minimum voltage, and
* maximum voltage for the peak detect waveform as comma
* separated values to a file.
**********************************************************************/
void OutputData( FILE *PeakFile, WaveformDataHeader waveformDataHeader )
{
int done = FALSE;
size_t BytesRead = 0L;
int NumberToRead;
NumberToRead = waveformDataHeader.BufferSize;
while( !done )
{
BytesRead = fread( (char *) Volts, 1, NumberToRead, InputFile ) +
BytesRead;
/*********************************************************************
* Function name: OutputPeakDetectWaveform
* Parameters: WaveformHeader waveformHeader which is a
* structure that contains the waveform header
* information.
* Return value: none
* Description: This routine stores the time, minimum voltage, and
* maximum voltage for the peak detect waveform as comma
* separated values to a file.
**********************************************************************/
void OutputPeakDetectWaveform( WaveformHeader waveformHeader )
{
WaveformDataHeader waveformDataHeader;
int done = FALSE;
unsigned long i;
unsigned long j = 0;
fread( &waveformDataHeader, 1,
sizeof( WaveformDataHeader ), InputFile );
GetTimeConversionFactors( waveformHeader, &xInc, &xOrg );
fclose( MaxFile );
fclose( MinFile );
while( !done )
{
BytesRead = fread( (char *) MaxVolts, 1, MAX_LENGTH, MaxFile );
fread( (char *) MinVolts, 1, MAX_LENGTH, MinFile );
fclose( MaxFile );
fclose( MinFile );
}
}
:XTALk:PAISi command/query, 1671 9.99999E+37, Infinity Representation, 166 address field size, IIC serial decode, 1296
:XTALk:PASLimit command/query, 1672 ADDRess,
:XTALk:PAXFilter command/query, 1673 :CHANnel<N>:SIMulation:FILTer:ISIM:A
:XTALk:PAXSi command/query, 1674 A DDRess command/query, 421
:XTALk:PJADeskew command/query, 1675 ADDRess,
:XTALk:PJIFilter command/query, 1676 Aborting a digitize operation, 179 :CHANnel<N>:SIMulation:FLOad:ADDRe
:XTALk:PJISi command/query, 1677 aborting a digitize operation, 153 ss command/query, 424
:XTALk:PJSLimit command/query, 1678 absolute voltage, and VMAX, 1189 ADDRess,
:XTALk:PJXFilter command/query, 1679 absolute voltage, and VMIN, 1191 :SBUS<N>:IIC:TRIGger:PATTern:ADDRes
:XTALk:PJXSi command/query, 1680 ABSolute, :FUNCtion<F>:ABSolute s command/query, 1299
:XTALk:RESults? query, 1681 command, 574 address, GPIB default, 175
:XTALk:SAADeskew command/query, 1683 ABSolute, :MEASure:THResholds:ABSolute ADDStats, :LTESt:ADDStats
:XTALk:SAIFilter command/query, 1684 command/query, 1119 command/query, 768
:XTALk:SAISi command/query, 1685 ABSolute, ADEMod, :FUNCtion<F>:ADEMod
:XTALk:SASLimit command/query, 1686 :MEASure:THResholds:GENeral:ABSolut command, 576
:XTALk:SAXFilter command/query, 1687 e command/query, 1122 Advanced PLL for closed eyes, 58, 288
:XTALk:SAXSi command/query, 1688 ABSolute, advanced trigger violation modes, 1542
:XTALk<X>:AENable<X> command, 1689 :MEASure:THResholds:GENeral:TOPBas advanced trigger violation modes, pulse
:XTALk<X>:ENABle command/query, 1690 e:ABSolute command/query, 1134 width violation mode, 1544
:XTALk<X>:IAGGressor ABSolute, advanced trigger violation modes, setup
command/query, 1691 :MEASure:THResholds:RFALl:ABSolute violation mode, 1550
:XTALk<X>:IVICtim command/query, 1692 command/query, 1141 advanced trigger violation modes, transition
:XTALk<X>:PAUTo command/query, 1693 ABSolute, violation mode, 1576
:XTALk<X>:PLENgth command/query, 1694 :MEASure:THResholds:RFALl:TOPBase:A ADVanced,
:XTALk<X>:PTYPe command/query, 1695 BSolute command/query, 1149 :TRIGger:ADVanced:COMM:BWIDth
:XTALk<X>:RIDeal command/query, 1696 ABSolute, command/query, 1497
:XTALk<X>:RISI command/query, 1697 :MEASure:THResholds:SERial:ABSolute ADVanced,
:XTALk<X>:ROTHer command/query, 1698 command/query, 1153 :TRIGger:ADVanced:COMM:ENCode
:XTALk<X>:SOURce command/query, 1699 ABSolute, command/query, 1498
:XTALk<X>:STYPe command/query, 1701 :MEASure:THResholds:SERial:TOPBase: ADVanced, :TRIGger:ADVanced:COMM:LEVel
..., Ellipsis, 132 ABSolute command/query, 1160 command/query, 1499
(Event Status Enable (*ESE) ABSolute, ADVanced,
command/query, 452 :MEASure:THResholds:TOPBase:ABSolu :TRIGger:ADVanced:COMM:PATTern
*CLS (Clear Status) command, 451 te command/query, 1163 command/query, 1500
*ESE (Event Status Enable) ABUJ, ADVanced,
command/query, 452 :CHANnel<N>:SIMulation:JITTer:ABUJ :TRIGger:ADVanced:COMM:POLarity
*ESR? (Event Status Register) query, 454, command/query, 432 command/query, 1501
458 ACCAL, :CHANnel<N>:PROBe:ACCAL ADVanced,
*IDN? (Identification Number) query, 455 command/query, 377 :TRIGger:ADVanced:COMM:SOURce
*LRN? (Learn) query, 456 accuracy and probe calibration, 330 command/query, 1502
*LRN?, and SYSTem SETup?[LRN], 1367 ACGain, :LANE<N>:EQUalizer:CTLE:ACGain ADVanced,
*OP?T (Option) query, 460 command/query, 718 :TRIGger:ADVanced:DELay:EDLY:ARM:SL
*OPC (Operation Complete) ACGain, :SPRocessing:CTLequalizer:ACGain OPe command/query, 1517
command/query, 458 command/query, 1752 ADVanced,
*OPC? (operation complete) query, 217 ACHannels, :TRIGger:ADVanced:DELay:EDLY:ARM:S
*PSC (Power-on Status Clear) :HOSTed:FOLLower<N>:ACHannels? OURce command/query, 1516
command/query, 469 query, 683 ADVanced,
*RCL (Recall) command, 470 ACHannels, :HOSTed:LEADer:ACHannels? :TRIGger:ADVanced:DELay:EDLY:EVENt:
*RST (Reset) command, 471 query, 687 DELay command/query, 1518
*SAV (Save) command, 472 Acquire Commands, 237 ADVanced,
*SRE (Service Request Enable) Acquire Commands, SRATe, 268 :TRIGger:ADVanced:DELay:EDLY:EVENt:
command/query, 473 acquiring a waveform, 222 SLOPe command/query, 1520
*STB? (Status Byte) query, 475 acquisition state, 1221 ADVanced,
*TRG (Trigger) command, 477 acquisition synchronization, 224 :TRIGger:ADVanced:DELay:EDLY:EVENt:
*TST? (Test) query, 478 acquisition, ACQuire AVER and SOURce command/query, 1519
*WAI (Wait-to-Continue) command, 479 completion, 245 ADVanced,
+width - +width measurement, 926 acquisition, points, 253 :TRIGger:ADVanced:DELay:EDLY:TRIGge
acquisition, record length, 253 r:SLOPe command/query, 1522
acquisition, sample rate, 266, 268 ADVanced,
Numerics ADD, :CHANnel<N>:PROBe:HEAD:ADD :TRIGger:ADVanced:DELay:EDLY:TRIGge
command, 391 r:SOURce command/query, 1521
82350A GPIB interface, 5 ADD, :FUNCtion<F>:ADD command, 575
CAN trigger, 1268, 1272 CGRade, :MEASure:CGRade:EWIDth clock recovery methods, JTF, 284
CAN trigger data pattern, 1271 command/query, 907 clock recovery methods, OJTF, 286
CAN trigger ID pattern, 1274 CGRade, clock timeout, SPI, 1316
CAN trigger pattern id mode, 1275 :MEASure:CGRade:EWIDth:THReshold CLOCk, :ANALyze:CLOCk
CAN, :SBUS<N>:CAN:FDSPoint command/query, 909 command/query, 274
command/query, 1262 CGRade, :MEASure:CGRade:EWINdow CLOCk, :ANALyze:CLOCk:METHod
CAN, :SBUS<N>:CAN:SAMPlepoint command/query, 910 command/query, 275
command/query, 1263 CGRade, :MEASure:CGRade:JITTer CLOCk, :ANALyze:CLOCk:METHod:ALIGn
CAN, :SBUS<N>:CAN:SIGNal:BAUDrate command/query, 912 command/query, 279
command/query, 1264 CGRade, :MEASure:CGRade:OLEVel CLOCk,
CAN, :SBUS<N>:CAN:SIGNal:DEFinition command/query, 914 :ANALyze:CLOCk:METHod:DEEMphasis
command/query, 1265 CGRade, :MEASure:CGRade:QFACtor command/query, 280
CAN, :SBUS<N>:CAN:SIGNal:FDBaudrate command/query, 915 CLOCk, :ANALyze:CLOCk:METHod:EDGE
command/query, 1266 CGRade, :MEASure:CGRade:ZLEVel command/query, 281
CAN, :SBUS<N>:CAN:SOURce command/query, 916 CLOCk, :ANALyze:CLOCk:METHod:IDLe
command/query, 1267 CGRade, :WAVeform:CGRade:HEIGht? command/query, 283
CAN, :SBUS<N>:CAN:TRIGger query, 1588 CLOCk, :ANALyze:CLOCk:METHod:JTF
command/query, 1268 CGRade, :WAVeform:CGRade:WIDTh? command/query, 284
CAN, :SBUS<N>:CAN:TRIGger:PATTern:DATA query, 1589 CLOCk, :ANALyze:CLOCk:METHod:OJTF
command/query, 1271 Channel Commands, 341 command/query, 286
CAN, CHANnel, :HOSTed:CALibrate:CHANnel CLOCk, :ANALyze:CLOCk:METHod:PAM:B03
:SBUS<N>:CAN:TRIGger:PATTern:DATA: command/query, 670 command/query, 1710
LENGth command/query, 1272 CHANnel, :SBUS<N>:FLEXray:CHANnel CLOCk, :ANALyze:CLOCk:METHod:PAM:B12
CAN, :SBUS<N>:CAN:TRIGger:PATTern:ID command/query, 1279 command/query, 1712
command/query, 1274 CHANnels, :AUToscale:CHANnels CLOCk,
CAN, command, 1224 :ANALyze:CLOCk:METHod:PAM:NONSy
:SBUS<N>:CAN:TRIGger:PATTern:ID:MO CHANnels, mmetric command/query, 1714
DE command/query, 1275 :HOSTed:CALibrate:DESKew:CHANnels CLOCk,
CAN, :SBUS<N>:CAN:TYPE command, 671 :ANALyze:CLOCk:METHod:PLLadvanced
command/query, 1276 CHANnels, command/query, 288
CANCel, :SELFtest:CANCel command, 1346 :HOSTed:CALibrate:STATus:CHANnels? CLOCk, :ANALyze:CLOCk:METHod:PLLTrack
CCBase, query, 678 command/query, 289
:SBUS<N>:FLEXray:TRIGger:FRAMe:CC channels, and VIEW, 1634 CLOCk, :ANALyze:CLOCk:METHod:SKEW
Base command/query, 1283 channel-to-channel skew factor, 337 command/query, 290
CCRepetition, character program data, 140 CLOCk,
:SBUS<N>:FLEXray:TRIGger:FRAMe:CC CHARge, :MEASure:CHARge :ANALyze:CLOCk:METHod:SKEW:AUTom
Repetition command/query, 1284 command/query, 917 atic command, 291
CDIRectory, :DISK:CDIRectory CLASsic color grade scheme, 527 CLOCk, :ANALyze:CLOCk:METHod:SOURce
command, 491 Clear method, 149 command/query, 292
CDRRate, :MEASure:CDRRate Clear Status (*CLS) command, 451 CLOCk, :ANALyze:CLOCk:TIME? query, 293
command, 901 CLEar, :ANALyze:SIGNal:PATTern:CLEar CLOCk, :ANALyze:CLOCk:VERTical
center screen voltage, 376, 388 command, 306 command/query, 295
CFRequency, CLEar, :BUS<B>:CLEar CLOCk, :ANALyze:CLOCk:VERTical:OFFSet
:ANALyze:SIGNal:MMWave:CFRequency command/query, 322 command/query, 296
command/query, 302 CLEar, :MEASure:CLEar command, 918 CLOCk, :ANALyze:CLOCk:VERTical:RANGe
CGRade, :DISPlay:CGRade CLEar, :MEASurement<N>:CLEar command/query, 297
command/query, 522 command, 1205 CLOCk, :BUS<B>:CLOCk
CGRade, :DISPlay:CGRade:LEGend CLEar, :WMEMory<R>:CLEar command/query, 323
command/query, 524 command, 1651 CLOCk, :BUS<B>:CLOCk:SLOPe
CGRade, :DISPlay:CGRade:LEVels? Clearing, Buffers, 179 command/query, 324
query, 525 clearing, DONE bit, 201 CLOCk, :MEASure:CLOCk
CGRade, :DISPlay:CGRade:SCHeme clearing, error queue, 205, 1800 command/query, 1724
command/query, 527 Clearing, Pending Commands, 179 CLOCk, :MEASure:CLOCk:METHod
CGRade, :MEASure:CGRade:CROSsing clearing, registers and queues, 208 command/query, 1725, 1727
command/query, 902 clearing, Standard Event Status CLOCk, :MEASure:CLOCk:METHod:ALIGn
CGRade, :MEASure:CGRade:DCDistortion Register, 195, 454 command/query, 1729
command/query, 903 clearing, status data structures, 451 CLOCk,
CGRade, :MEASure:CGRade:EHEight clearing, TRG bit, 194, 203 :MEASure:CLOCk:METHod:DEEMphasis
command/query, 904 clipped waveform data values, 1614 command/query, 1730
CGRade, :MEASure:CGRade:ELOCation clipped waveforms, and measurement CLOCk, :MEASure:CLOCk:METHod:EDGE
command/query, 906 error, 893 command/query, 1731
clock recovery methods, 275
GENeral, H HISTogram,
:MEASure:THResholds:GENeral:METHod :MEASure:HISTogram:RESolution
command/query, 1126 command/query, 975
GENeral, H5 data saved as floats, 511 HISTogram, :MEASure:HISTogram:STDDev
:MEASure:THResholds:GENeral:PAMAut H5 data saved as integers, 511 command/query, 976
omatic command/query, 1130 Halting bus activity, 179 HISTogram, :MEASure:JITTer:HISTogram
GENeral, Hardcopy Commands, 645 command/query, 979
:MEASure:THResholds:GENeral:PAMCus Hardcopy Commands, AREA, 646 HITS, :MEASure:HISTogram:HITS
tom command/query, 1128 hardcopy of the screen, 645 command/query, 962
GENeral, hardcopy output and message HITS, :MTESt:MARGin:AUTO:HITS
:MEASure:THResholds:GENeral:PERCen termination, 183 command/query, 860
t command/query, 1132 HEAD, :CHANnel<N>:PROBe:HEAD:ADD HLED, :SYSTem:HLED
GENeral, command, 391 command/query, 1359
:MEASure:THResholds:GENeral:TOPBas HEAD, :CHANnel<N>:PROBe:HEAD:DELete HOLD,
e:ABSolute command/query, 1134 command, 392 :TRIGger:ADVanced:VIOLation:SETup:H
GENeral, HEAD, :CHANnel<N>:PROBe:HEAD:SELect OLD:CSOurce command/query, 1561
:MEASure:THResholds:GENeral:TOPBas command/query, 393 HOLD,
e:METHod command/query, 1136 HEAD, :CHANnel<N>:PROBe:HEAD:VTERm :TRIGger:ADVanced:VIOLation:SETup:H
GENRaw serial bus commands, 1287 command/query, 394 OLD:CSOurce:EDGE
GENRaw, :SBUS<N>:GENRaw:SOURce HEADer, :SYSTem:HEADer command/query, 1563
command/query, 1288 command/query, 1358 HOLD,
GENRaw, :SBUS<N>:GENRaw:WSIZe header, within instruction, 128 :TRIGger:ADVanced:VIOLation:SETup:H
command/query, 1289 headers, 129 OLD:CSOurce:LEVel
GETFILE, :DISK:GETFILE? query, 495 headers, types, 136 command/query, 1562
GLAYout, :DISPlay:GRATicule:GLAYout HEIGht, :WAVeform:CGRade:HEIGht? HOLD,
command/query, 535 query, 1588 :TRIGger:ADVanced:VIOLation:SETup:H
GLITch, :TRIGger:GLITch:POLarity HEX, :SBUS<N>:UART:EOF:HEX OLD:DSOurce command/query, 1564
command/query, 1433 command/query, 1338 HOLD,
GLITch, :TRIGger:GLITch:SOURce HIDE, :ISCan:ZONE:HIDE :TRIGger:ADVanced:VIOLation:SETup:H
command/query, 1434 command/query, 709 OLD:DSOurce:HTHReshold
GLITch, :TRIGger:GLITch:WIDTh HIGHpass, :FUNCtion<F>:HIGHpass command/query, 1565
command/query, 1435 command, 611 HOLD,
GLOBal, :FUNCtion<F>:GATing:GLOBal HiSLIP protocol, 121 :TRIGger:ADVanced:VIOLation:SETup:H
command, 608 Histogram Commands, 651 OLD:DSOurce:LTHReshold
GPIB interface, 119 HISTogram, :MEASure:HISTogram:FWHM command/query, 1566
GPIB, Interface Connector, 171 command/query, 961 HOLD,
GRAPh, :DISPlay:PAM:GRAPh HISTogram, :MEASure:HISTogram:HITS :TRIGger:ADVanced:VIOLation:SETup:H
command, 551 command/query, 962 OLD:TIME command/query, 1567
GRATicule, :DISPlay:GRATicule HISTogram, :MEASure:HISTogram:M1S HOLDoff, :TRIGger:HOLDoff
command, 538 command/query, 963 command/query, 1389
GRATicule, :DISPlay:GRATicule HISTogram, :MEASure:HISTogram:M2S HOLDoff, :TRIGger:HOLDoff:MAX
command/query, 531 command/query, 964 command/query, 1390
GRATicule, HISTogram, :MEASure:HISTogram:M3S HOLDoff, :TRIGger:HOLDoff:MIN
:DISPlay:GRATicule:AREA<N>:HSCale command/query, 965 command/query, 1391
command/query, 532 HISTogram, :MEASure:HISTogram:MAX HOLDoff, :TRIGger:HOLDoff:MODE
GRATicule, command/query, 966 command/query, 1392
:DISPlay:GRATicule:AREA<N>:STATe HISTogram, :MEASure:HISTogram:MEAN HoldTIMe (HTIMe),
command/query, 533 command/query, 967 :TRIGger:ADVanced:VIOLation:SETup:SH
GRATicule, HISTogram, :MEASure:HISTogram:MEDian OLd:HoldTIMe (HTIMe)
:DISPlay:GRATicule:AREA<N>:VSCale command/query, 968 command/query, 1575
command/query, 534 HISTogram, :MEASure:HISTogram:MIN HoldTIMe (HTIMe),
GRATicule, :DISPlay:GRATicule:GLAYout command/query, 969 :TRIGger:SHOLd:HoldTIMe (HTIMe)
command/query, 535 HISTogram, :MEASure:HISTogram:MM3S command/query, 1463
GRATicule, :DISPlay:GRATicule:INTensity command/query, 970 HOLDtime, :MEASure:HOLDtime
command/query, 536 HISTogram, :MEASure:HISTogram:MODE command/query, 977
GRATicule, :DISPlay:GRATicule:NUMBer command/query, 972 horizontal position, default setup, 1364
command/query, 537 HISTogram, :MEASure:HISTogram:MP3S horizontal scale, default setup, 1364
GRATicule, HARDcopy AREA, 646 command/query, 971 horizontal scaling, functions, 571
grid line intensity, default setup and, 1365 HISTogram, :MEASure:HISTogram:PEAK HORizontal, :FUNCtion<F>:HORizontal
Group Execute Trigger (GET), 179 command/query, 973 command/query, 612
GUI, :SYSTem:GUI command/query, 1357 HISTogram, :MEASure:HISTogram:PP
command/query, 974
RESet, :TRIGger:SEQuence:RESet:EVENt RJ, :MEASure:RJDJ:SCOPe:RJ RQS (Request Service), and *STB, 475
command, 1455 command/query, 1101 RQS (Request Service), Default, 172
RESet, :TRIGger:SEQuence:RESet:TIME RJ, :MEASure:RJDJ:SCOPe:RJ:CALibrate RQS/MSS bit, 475
command/query, 1456 command, 1102 RSSC, :MEASure:PN:RSSC
RESet, :TRIGger:SEQuence:RESet:TYPE RJDJ, :MEASure:RJDJ:ALL? query, 1085 command/query, 1061
command/query, 1454 RJDJ, :MEASure:RJDJ:APLength? RTIMe acquisition mode, 251
Resetting the Parser, 179 query, 1087 RTIMe, :CALibrate:OUTPut:AUX:RTIMe
RESolution, :FUNCtion<F>:FFT:RESolution RJDJ, :MEASure:RJDJ:BANDwidth command/query, 335
command/query, 596 command/query, 1088 RTIMe,
RESolution, RJDJ, :MEASure:RJDJ:BER :CHANnel<N>:SIMulation:FUNCtion:SQ
:MEASure:HISTogram:RESolution command/query, 1089 Uare:RTIMe command/query, 430
command/query, 975 RJDJ, :MEASure:RJDJ:CLOCk rule of truncation, 162
RESolution, command/query, 1091 rules of traversal, 163
:MEASure:JITTer:SPECtrum:RESolution? RJDJ, :MEASure:RJDJ:CREFerence RUMode, :LTESt:RUMode:SOFailure
query, 985 command/query, 1092 command/query, 774
resource session object, 149 RJDJ, :MEASure:RJDJ:EDGE RUMode, :MTESt:RUMode
ResourceManager object, 148 command/query, 1093 command/query, 868
RESPonse, :ACQuire:RESPonse RJDJ, :MEASure:RJDJ:INTerpolate RUMode, :MTESt:RUMode:SOFailure
command/query, 259 command/query, 1094 command/query, 869
response, data, 157 RJDJ, :MEASure:RJDJ:METHod run state, 1243
response, generation, 167 command/query, 1095 RUN, and GET relationship, 179
responses, buffered, 167 RJDJ, :MEASure:RJDJ:MODE Run/Stop, default setup, 1364
RESPonsivity, command/query, 1096 RUNT, :ISCan:RUNT:HYSTeresis
:CHANnel<N>:PROBe:RESPonsivity RJDJ, :MEASure:RJDJ:PAMThreshold command/query, 703
command/query, 405 command/query, 1097 RUNT, :ISCan:RUNT:LLEVel
result state code, and SENDvalid, 1109 RJDJ, :MEASure:RJDJ:PLENgth command/query, 704
RESults, :DISPlay:PROPortion:RESults command/query, 1098 RUNT, :ISCan:RUNT:SOURce
command/query, 557 RJDJ, :MEASure:RJDJ:REPort command/query, 705
RESults, :DISPlay:RESults:LAYout command/query, 1099 RUNT, :ISCan:RUNT:ULEVel
command/query, 561 RJDJ, :MEASure:RJDJ:RJ command/query, 706
RESults, :XTALk:RESults? query, 1681 command/query, 1100 RUNT, :TRIGger:RUNT:POLarity
results, retrieving, 223 RJDJ, :MEASure:RJDJ:SCOPe:RJ command/query, 1446
RESults?, :LTESt:RESults? query, 773 command/query, 1101 RUNT, :TRIGger:RUNT:QUALified
RESults?, :MEASure:RESults? query, 1079 RJDJ, :MEASure:RJDJ:SCOPe:RJ:CALibrate command/query, 1447
Returning control to system computer, 179 command, 1102 RUNT, :TRIGger:RUNT:SOURce
RFALl, RJDJ, :MEASure:RJDJ:SOURce command/query, 1448
:MEASure:THResholds:RFALl:ABSolute command/query, 1103 RUNT, :TRIGger:RUNT:TIME
command/query, 1141 RJDJ, :MEASure:RJDJ:STATe command/query, 1449
RFALl, :MEASure:THResholds:RFALl:METHod command/query, 1104 RX, :SBUS<N>:UART:SOURce:RX
command/query, 1143 RJDJ, :MEASure:RJDJ:TJRJDJ? command/query, 1341
RFALl, query, 1105
:MEASure:THResholds:RFALl:PAMAutom RJDJ, :MEASure:RJDJ:UNITs
atic command/query, 1145 command/query, 1107 S
RFALl, RLIMit, :HISTogram:WINDow:RLIMit
:MEASure:THResholds:RFALl:PERCent command/query, 664 SAADeskew, :XTALk:SAADeskew
command/query, 1147 RMS voltage, and VRMS, 1195 command/query, 1683
RFALl, RN, :MEASure:NOISe:RN SAIFilter, :XTALk:SAIFilter
:MEASure:THResholds:RFALl:TOPBase:A command/query, 1009 command/query, 1684
BSolute command/query, 1149 RN, :MEASure:NOISe:SCOPe:RN SAISi, :XTALk:SAISi command/query, 1685
RFALl, command/query, 1010 SAMPlepoint, :SBUS<N>:CAN:SAMPlepoint
:MEASure:THResholds:RFALl:TOPBase: ROLL, :TIMebase:ROLL:ENABLE command/query, 1263
METHod command/query, 1151 command/query, 1375 SAMPlepoint, :SBUS<N>:LIN:SAMPlepoint
RIDeal, :XTALk<X>:RIDeal Root level commands, 1217 command/query, 1305
command/query, 1696 ROTHer, :XTALk<X>:ROTHer sampling mode, 251
rise time measurement setup, 891 command/query, 1698 SASLimit, :XTALk:SASLimit
RISetime, :MEASure:RISetime ROW, :DISPlay: ROW command command/query, 1686
command/query, 1083 query, 1719 saturation, 562
RISI, :XTALk<X>:RISI ROW, :DISPlay:STATus:ROW command Save (*SAV) command, 472
command/query, 1697 query, 565 SAVE, :DISK:SAVE:COMPosite
RJ, :MEASure:RJDJ:RJ RQC (Request Control), 187 command, 501
command/query, 1100 RQC (Request Control), bit, 453, 454 SAVE, :DISK:SAVE:IMAGe command, 502
RQS (Request Service), 187 SAVE, :DISK:SAVE:JITTer command, 503
ZONE<Z>, :ISCan:ZONE<Z>:MODE
command/query, 711
ZONE<Z>, :ISCan:ZONE<Z>:PLACement
command/query, 712
ZONE<Z>, :ISCan:ZONE<Z>:STATe
command/query, 714
Zoom To Max, 1203, 1209
Zoom To Min, 1204, 1210
zoom, default setup, 1364
ZSRC,
:CHANnel<N>:PROBe:PRECprobe:ZSRC
command, 402
ZTMAX, :MEASure:ZTMAX command, 1203
ZTMAX, :MEASurement<N>:ZTMAX
command, 1209
ZTMIN, :MEASure:ZTMIN command, 1204
ZTMIN, :MEASurement<N>:ZTMIN
command, 1210